코드리뷰 한 방에 JSON Schema 구조 뒤집기
지난 포스팅 Armeria(2): DocService 코드 상세분석 Armeria(4): Java SPI로 Provider를 Armeria에 꽂기 지금까지 JacksonPolymorphismTypeInfoProvider로 다형성 정보를 추출하고, SPI로 등록하는 것까지 완성했다. 남은 일은 이 정보를 실제 JSON Schema로 변환하는 것이다....
지난 포스팅 Armeria(2): DocService 코드 상세분석 Armeria(4): Java SPI로 Provider를 Armeria에 꽂기 지금까지 JacksonPolymorphismTypeInfoProvider로 다형성 정보를 추출하고, SPI로 등록하는 것까지 완성했다. 남은 일은 이 정보를 실제 JSON Schema로 변환하는 것이다....
지난 포스팅 Armeria(1): DocService 구조 이해 Armeria(3): Jackson 어노테이션으로 다형성 정보 추출하기 지난 포스팅에서 JacksonPolymorphismTypeInfoProvider를 만들었다. 하지만 이 클래스를 만들었다고 해서 DocService가 자동으로 사용하지는 않는다. DocService에게 “이런 Pr...
지난 포스팅 Armeria(1): DocService 구조 이해 Armeria(2): DocService 코드 상세분석 Armeria(1)에서 DocService 구조를 살펴보며 이런 말로 끝맺었다. “앞으로 Jackson의 애노테이션을 가지고 상속과 다형성 기능을 구현해야 하는데, --Provider를 중심으로 작업을 생각 중이다.” ...
지난 포스팅 지난 포스팅 : Armeria DocService 구조 이해 지난 포스팅에서 Armeria 프로젝트에 대한 간략한 소개와 DocService에 대한 개략적인 설명이 있었다. 현 시점엔 기능구현은 얼추 마치고 PR_DRAFT로 올려놨는데, 여기까지 오기에 앞서 코드를 분석했던 내용을 정리하기로 했다. DocService의 시작 ...
배경 Armeria라는 프로젝트에 기여하기위해 이슈를 찾아보던 중, 다음과 같은 이슈를 발견했다. #6313이슈 어떤 내용일까 싶어서 찾아보니 DocService라는 문서생성 총괄 클래스에 상속과 다형성을 추가해달라는 의미로 이해하여 기여를 해보기로 했다. Armeria의 특징 Armeria는 어떠한 상황 에서도 사용...
오늘 배운 것 Armeria 프레임워크 기여를 위해 이슈를 찾던 도중, Armeria의 DocService라는 API문서 생성기가 다형성과 상속 관계를 제대로 반영하지 못하고 있다는 이슈를 보고 관련 정보를 수집하고있다. DocService와 비교되는 주요 라이브러리로 SpringDoc같은게 있는데, OpenAPI-Swagger의 문서 작성기능을 ...
1 들어가며 7월 초 부터 SSAFY 생활을 하면서 적응을 하느라 개인공부를 할 시간을 내지 못했다. 그러다가 잠깐 시간이 남아서 Java Spring WebFlux에 관한 공부를 했고, 간단히 기록하고자 한다. 원래 목표는 Line의 Armeria라는 오픈소스에 기여하는 것이었는데, 이 프레임워크를 알아가기위해 이와 유사한 Spring WebFl...
1 들어가며 “우리조상알기” 프로젝트는 2023년 9월~12월동안 진행한 캡스톤디자인(1) 프로젝트이다. 당시 프론트 1명, 백엔드는 나를 포함한 2명으로 진행했었다. Java Spring을 배우고 처음으로 활용한 프로젝트였고 당시 프로젝트를 어떻게든 빠르게 완성하는 것을 목표로 하다보니 코드의 Quality가 낮았는데 그만큼 리팩토링을 적용할 부...
3-4. ⭐ 추상화 자세히 알아보기 (가장 중요) 우리가 사용하는 프로그래밍 언어는 기계어부터 Java, Python에 이르기까지 점점 인간이 이해하기 쉽게 진화해 왔다. 어셈블리어는 010001 같은 이진수 대신 add, jmp 같은 명령어를 사용했고, C언어는 for, if, struct 등을 통해 보다 자연스럽고 읽기 쉬운 코드를 작성할 수 있...
3. 객체지향과 Java 이전 포스팅-스프링입문을위한 자바 객체지향의 원리와 이해(1) 에서는 왜 객체지향이고 왜 Java인지 간단히 살펴봤다. 이번 포스팅에서는 객체지향프로그래밍에 대해 더 자세히 살펴보자. 3.1 객체지향의 4대 특성 캡슐화 (Encapsulation) 데이터와 메서드를 하나의 객체로 묶어 외부로부터...