티스토리 뷰
들어가는 말
- jackson 관련 내용을 훑어보면서 확인했던 문서들을 기록
- 최근에 타이핑을 너무 했더니 손가락을 쉬게 해줘야 할 것 같아서, 상세한 기록이나 분석은 다음 기회에.....
- 기본적으로는 readme 나 아티클을 위주로 접근
주의사항
- 혹시나 이 문서를 보시는 분이 계실... 지도 모르겠지만 문서를 통해서는 유익한 정보를 얻기 힘들수도 있습니다.
- 분석 작업에 대한 이정표를 남기는 느낌의 문서입니다.
왜?
- 근 몇년간 typeless 한 node.js 를 주로 만지다보니 감떨어짐
- jackson (정확히는 jackson databind) 에 꽤 많이 의존을 해야하는 상황이 기대되지만 지금까지 주로 써왔던 기본적인 사항만 인지하고 있음
- 앞으로 봐야 할 코드를 보다보니 다형성을 jackson 에 의존해서 매우 재미있게 푸는 과정들이 보이는데 코드를 읽을 수는 있지만 그래도 좀 알고 싶음
jackson 문서
- https://github.com/FasterXML/jackson
- 역시 메인 프로젝트 README를 읽는게 좋다
- 3개의 코어 모듈로 구성
- jackson-core
- jackson-annotations
- jackson-databind
- 서드파티
- Hibernate, Java 8 Modules 라던가 ...
- 잊고 있긴 했지만 jackson 의 관심사항은 JSON만 있는것은 아님 (JSON 라이브러리는 맞음)
- e.g. https://github.com/FasterXML/jackson-dataformat-xml
- Hibernate, Java 8 Modules 라던가 ...
기본 접근 방법
- https://github.com/FasterXML/jackson-docs
- 친절하게 문서를 모아두셨으니.... 순서대로 읽으면 됨
우선 궁금했던 부분 진행
- https://github.com/FasterXML/jackson-databind/
- 오히려 접근하기 편한 문서 (readme.md 에서의 Use It! 항목들)
- 일단 따라가봄
- @Builder를 통해 lombok 이 만들어주는 builder 를 이용하며 @JsonDeserialize, @JsonPOJOBuilder 를 통해 jackson 이 deserialize 를 수행
- 서브클래싱을 풀 수 있는 방법
- https://www.tutorialspoint.com/jackson_annotations/jackson_annotations_jsonsubtypes.htm
- https://www.tutorialspoint.com/jackson_annotations/jackson_annotations_jsontypename.htm
- 사실은 이 부분이 정말 궁금했어서 파보기 시작한 건데, 답을 찾음
- 어느정도 사용하는 방법이 정형화 되어 있어 보이기는 하는데 조금 더 보다보면 알 듯
추가 문서 확인
- https://github.com/FasterXML/jackson-docs/wiki/JacksonAnnotations
- 어노테이션들 정리된건데... 이렇게 어노테이션 자체만 리스트업 된 목록을 훑어보는건 그다지 와닿지는 않아서...
- https://www.baeldung.com/jackson-annotations
- 차라리 이런 형태의 문서가 좋음 (어떻게 쓰는지, 왜 쓰는지 고민해볼 여지가 있으니)
- https://www.baeldung.com/jackson-annotations#7-jsonserialize
- https://www.baeldung.com/jackson-annotations#5-jsondeserialize
- https://www.baeldung.com/jackson-annotations#jackson-polymorphic-type-handling-annotations
- https://www.baeldung.com/jackson-annotations#2-jsonformat
- https://www.baeldung.com/jackson-advanced-annotations
- https://www.baeldung.com/jackson-advanced-annotations#jsonpojobuilder
- 당장은 안 와닿는 기능들이 많으므로 일단 패스
처음 궁금했던걸 이해한듯한 느낌같은 느낌이 드니...
- https://www.baeldung.com/jackson
- baeldung 의 jackson 관련 아티클들, deep dive 성격이나 특정 문제를 해결하기 위한 아티클 다수
- 이걸 다 읽는건 다음 기회에
- 나머지는 깃헙에 올려놨으니 필요할때마다 계속 테스트 해보면 될 듯
'개발관련 > 뻘팁-작업노트' 카테고리의 다른 글
Observer Pattern (0) | 2021.09.13 |
---|---|
JHipster (맛보기 + 소견) (0) | 2021.05.11 |
java - java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 (0) | 2021.05.10 |
reactor - groupedFlux 의 키 개수 제한 (0) | 2021.04.29 |
CompletableFuture async (0) | 2021.04.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- opensearch
- 기술블로그
- WebSocket
- 만들면서 배우는 클린 아키텍처
- Generic
- 개발자
- 클린 아키텍처
- Kafka
- PatternSyntaxException
- fsync
- jhipster
- 전설로떠나는월가의영웅
- kafka 2.8.0
- completablefuture
- 에픽테토스
- elasticsearch
- percolate
- Dangling
- Spring
- meta character
- Java
- pecs
- AWS
- 사기꾼증후군
- 기술센싱
- flush
- Async
- 기술사이트
- 말의품격
- COMMIT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함