Zero to Hero
article thumbnail
데이터 중심 애플리케이션 설계
Review 2022. 3. 28. 22:12

모든 내용을 이해하고 넘어가기에는 지금에 나에겐 어려운 책이었고, 읽는 속도가 잘 나질 않아서 키워드 중심으로 훑어 읽었다. 이 책은 서버 개발자가 개발 시 고려해야 하는 다양한 개념에 대해 다루고 있다. 시스템 디자인 시 고려해야 하는 트랜잭션, 파티셔닝, 일관성, 선형성 등 중요한 개념들을 다이어그램과 사례를 통해 설명한다. 우리가 사용하고 있는 RDB, 메시지 브로커 등 다양한 인프라성 도구들이 대신 구현하고 있는 그 원리와 개념이 무엇인지 알 수 있었다. 어려운 개념을 애플리케이션 레벨에서 코드로 구현하는 것이 올바른 방향인가라는 생각이 들었다. 코드 레벨에서 쉽게 구현할 수 없는 것을 구현해서 사용했을 때 성능과 신뢰성을 동시에 잡을 수 있을까? 2PC와 같은 어려운 개념의 실제 로직을 구현한 ..

article thumbnail
[springdoc-openapi 전환기 01] Spring Boot 2.6.x 버전에서 springfox와의 충돌 관련 이슈 & 임시 해결책
Programming 2022. 3. 20. 18:27

이 글은 springdoc-openapi 전환기 1편에 해당하는 글입니다. 이 글을 작성하는 시점 기준 최신 Spring Boot 버전은 2.6.4이다. Spring Boot 2.6 Release note를 보면 다음과 같은 변경 사항이 눈에 들어온다. 기본 PathPattern 매칭 전략이 AntPathMatcher → PathPatternParser로 변경되었다. Release note에도 springfox를 사용하고 있다면 정상적으로 프로젝트가 실행되지 않을 것이라고 언급하고 있다. springfox는 Spring Web Component를 기반으로 별다른 설정 없이 지원하는 API를 기반으로 Swagger-ui를 그려주는 의존성이다. 관련 이슈 링크 https://github.com/springf..

article thumbnail
클린 아키텍처
Review 2022. 3. 6. 22:39

클린 코드랑 같이 굉장히 유명한 책. 어쩌다 보니 2번 읽게 되었다. 소프트웨어 아키텍트 관점에서 어떻게 아키텍처를 구성해야 하는가, 무엇을 고려해야 하는가에 다루는 책이다. 사실 아키텍트는 좀 먼 미래긴 한데 굳이 인프라 레벨의 것에 접목시키지 않아도 개발할 때 패키지 구조 짜거나 할 때 고려하거나 적용해볼 만한 내용들이 많이 있었다. 지난번에 읽은 오브젝트도 그렇고, 아무튼 잘 쪼개서 추상화를 하는 것이 견고하고 확장성 있는 프로그램을 만들 수 있다는 것을 다양한 방법과 예시를 통해 전달한다. 이런 류의 책들이 어떻게 보면 좀 뻔한 이야기를 한다고 생각이 들 수 있다. 그런데 그 뻔한 걸 지키면서 개발하는 것이 굉장히 어려운 것 같다. 실제 현업에선 사람, 시간, 환경 등을 포함한 다양한 조건이 다르..

article thumbnail
IntelliJ와 build.gradle을 사용하는 Spring 프로젝트를 개발할 때 Gradle runner를 사용하는 이유
Programming 2022. 2. 24. 13:58

IntelliJ로 Spring 베이스의 프로젝트를 개발하거나 공부해본 경험이 있는 분들이 있다면 한 번쯤은 검색해보았을 키워드가 바로 테스트 속도, 빌드 속도일 것이다. 검색 결과의 내용은 거의 대부분 아래와 같은 방법으로 속도를 올릴 수 있다고 나온다. 프로젝트 빌드 툴을 Gradle로 사용하고 있는 경우, IntelliJ의 Preference -> Build, Execution, Deployment -> Gradle -> Build and run 탭을 확인한다. Build and run using과 Run tests using을 전부 Gradle이 아닌 IntelliJ로 변경한다. 하지만 왜 이렇게 하면 속도가 빨라지는지, 그리고 Gradle, IntelliJ의 두 Runner가 무엇이 다른지에 대한..

article thumbnail
오브젝트
Review 2022. 2. 20. 22:44

이 책을 한번 훑을 때까지 몇 번이나 책을 빌렸는지 모르겠다. 처음 빌려서 읽을 때는 이해가 안 되어서 반납했고, 두 번째 빌려서 읽을 때는 잘 안 와닿아서 반납했다. 시간이 좀 지났고 다시 한번 도전해봐야겠다 싶어서 주말을 이용해서 드디어 한 번을 훑었다. 이 책은 OOP라는 콘셉트를 가지고 개발을 할 때 지키면 좋을 가이드라인을 제시한다. 뭔가 기술 면접 때 나올법한 의존성 역전, SOLID, IOC 등의 개념을 코드 예시와 함께 설명한다. 책이 굉장히 두껍고 코드 양이 많아서 중간에 휙휙 넘기고 싶은 욕구가 계속 들 텐데 꾹 참고 차근차근 읽어보면 좋을 것 같다. 순서가 반대일 수도 있겠지만 이 책을 읽고 기존에 가지고 있던 모호했던 개념이나 프레임워크(특히 Spring)의 개발 철학 등에 대해 많..

22.02.01.
Diary 2022. 2. 1. 20:59

글 쓰기가 어렵다. 제목이 곧 내용. 글 쓰기가 어렵다. 내가 쓴 글을 누군가가 읽을 수 있다고 생각을 하니 더 쓰기가 어렵다. 기술적으로 유익한 글을 작성하기엔 내가 가지고 있는 지식의 깊이가 빈약하다. 무엇보다 나보다 훨씬 잘 정리해서 공유해주시는 분들이 많다. 그렇다고 내 개인적인 신변잡기를 풀어내는 것도 영 내키지 않는다. 사실 이 두 문장을 작성하기 위해서 수십 번을 쓰고 지우고를 반복했는데 이 또한 너무 화가 난다. 내 머릿속에 있는 내용을 논리 정연하고 깔끔하게 글로 작성해내는 AI 솔루션 있으면 참 좋겠다는 쓸데없는 생각이나 하고... 그럼에도 쓰려고 한다. 제목이 곧 내용(2). 그렇다고 글을 쓰는 행위가 재미가 없냐면 전혀 아니다. 단지 좋은, 내가 만족할 수 있는 글을 쓰는데 시간과 ..