본문 바로가기

전체 글45

[2019-07-01] 멀티모듈 설계 이야기 with Spring, Gradle 멀티 모듈 프로젝트란? 멀티 모듈 프로젝트를 처음 알게된 건 2017년 초였습니다. 당시에 저는 단일 프로젝트를 사용하고 있었습니다. 예를 들어 제가 회원 시스템을 개발 한다고 하면 member internal api member external api member batch 와 같이 서로 독립된 프로젝트 단위로 가지고 있었습니다. 이런 구조를 가지고 있을 때 가장 큰 문제점은 시스템의 중심 Domain 이 가져야할 구조와 규칙 등을 동일하게 보장해주는 메커니즘 이 없다는 것 입니다. {: style="width:75%; display:block; margin:40px auto 0;"} 개발자는 동일한 Domain 을 가지고 있는 위 3가지 어플리케이션을 열심히 복&붙하며 개발을 하게 됩니다. 매우 귀찮.. 2019. 12. 29.
[2019-02-03] 3년차 웹 개발자 개발관 3년차에는 내가 어떤 개발자가 되고 싶은지 명확한 개발관이 생겼다. 나는 기술에 매몰되어 가는 개발자였다고 생각한다. 그동안의 나는 기술을 쫓았고, 트렌드를 따라가려 했으며, 깊이를 더하기 위해 노력을 해왔던 것 같다. 물론 이것은 개발자로서는 당연한 것들이다. 올해 많이 깨져버린 것은, 이것보다 중요한 것이 있다는 것이다. 3년차에서 가장 머리 속에 깊게 남는 말은 팀장님께 들었던 이 말이다. (정확하지는 않지만 이런 뉘앙스?) "용근님이 처음 작성하신 코드가 더 효율적이고, 더 좋은 기술로 안정적일 수도 있다. 하지만 우리는 구성원 모두 함께 할 수 있는 개발을 해야한다." 처음에는 많이 아이러니 했다. 왜냐하면 팀장님은 내가 알고 있는 실력 있는 개발자 중에서도 탑급이였기 때문이다. 기술력이.. 2019. 12. 29.
[2018-11-08] 스프링 원 투어 서울 컨퍼런스 중 정윤진님의 Spring Cloud Gateway 세션 2018년 11월 8일 스프링 원 투어 서울 컨퍼런스 중 정윤진님의 Spring Cloud Gateway 세션 Spring Cloud Gateway SPEC Spring 5 + Spring Boot 2 + API Gateway Pattern What is an API Gateway? 하나로 요청을 받아, 요청을 분리. Routing Canary-ing Security Monolith Strangling Monitoring Resiliency Spring Cloud Gateway Type Appliance SAAS (ex: ELB) Web Server Mesh Side Car Pattern + Proxy Pattern Developer Oriented History 초기 버전인 spring-cloud-zu.. 2019. 12. 29.
[2018-06-08] 스프링캠프 2018-Consumer Driven Contract 요즘 기존 프로젝트의 일부를 새로운 프로젝트로 떼어내는 작업을 하고 있다. 노후된 프로젝트인 점과 내가 알고있는 프로젝트가 아니라는 점이 지옥을 맛보게 해주고 있다. 정리를 하다보니 기능이 중복된, 프로젝트의 성격 이상으로 많은 정보를 제공하는, 불필요하게 많은 정보를 요구하는 등 이상한 End Point들이 발견되었다. 아마 오랜시간 요구사항이 점점 늘어나면서 불가피하게, 혹은 요구했었지만 이제는 다르게 사용하는 API가 되었지 않을까 생각한다. 정리를 위해 이 API들을 사용하는 서비스들에 대해서 전부 조사를 해야했고, 굉장히 많은 시간을 소비해야 했다. 정리를 하고난 후 보니 중복된 것, 사용되지 않는 것, 불필요한 요구, 제공 스펙, 그리고 그것들을 위한 테스트 코드들이 보였다. 현재와 미래의 모.. 2019. 12. 29.