23년 7월 18일 카카오 아지트에서 진행한 제2회 Kakao Tech Meet에 운 좋게 당첨되어 다녀왔다. 컨퍼런스를 들으면서 느꼈던 내용들을 간단히 정리해보고자 한다.
가변 Context가 많아짐에따라 유지보수가 어려워지는 문제가 발생하고 어느 시점에서 객체가 변경되는지 확인하기 어려운 이슈가 발생하여 이 부분을 최대한 걷어내는 작업을 샘플코드를 통해 고민의 일부분을 엿볼 수 있었다.
또한, 스프링으로 개발을 하다보면 각종 Bean들이 서로서로 의존하는 의존성 관계를 가지게 되는데 이 의존관계가 점점 깊어질수록 상호간의 의존도가 높아지고 순환참조 이슈가 발생할 가능성이 높아진다. 이 부분을 풀기위한 고민을 느낄수 있었어서 추후 Refactoring이 필요할 때 좋은 자료가 될 수 있겠다 싶었다.
의존관계를 어느정도 떼어놓으면 단위테스트 구성에도 유리함을 가져간다는 모습도 볼 수 있었다.
발표를 들으면서 아직도 나에게 와닿지 않는 내용들이라고 느껴지는걸 보니 아직도 상당히 더 많은 공부를 해야겠다는 생각이 들었다.
해당 발표내용은 카카오 테크 블로그에서 더 자세한 내용을 볼 수 있다.
해당 내용을 스프링 배치를 기반으로 했지만 일반적인 어플리케이션에서도 충분히 적용될만한 내용이라 느껴졌다.
I/O가 많아질수록 성능상의 이슈가 발생하기 때문에 스프링 배치에서는 어떻게 I/O를 줄일 수 있을지를 볼 수 있었다.
예시로, 유저마다 가지는 회원등급이 있을때 한명씩 조회해서 단건으로 업데이트 하는 방식은 유저가 100만명으로 늘어나면 100만건의 업데이트가 발생한다. 그러나 유저 목록을 쭉 모아서 등급별로 유저를 나누고 한번에 업데이트를 진행하면 그만큼 발생하는 I/O는 줄어든다.
이런 방식으로 부하가 걸릴만한 포인트를 찾아내서 개선해주고 실제로 돌아가는 시간을 체크해보면 더 도움이 될 것 같았다.
해당 내용은 기술적인 내용은 아니지만 일하는 방식에 대한 이야기로 진행이 되었다.
애자일이 좋다! 최고다! 하는 내용이 아니라 애자일 방식이 도입이 필요하다면 왜 필요한지 우리 조직에 맞는 방식은 어떤 방식인지에 대한 충분한 고민이 함께 되어야 한다
가 가장 중요한 내용이었다고 생각이 들었다.
해당 발표를 들으면서 상당히 크게 공감을 했다. 요즘 일하면서 드는 생각이 어떤 작업을 한다면, 어떤 일을 진행을 해야한다면 왜 진행을 해야하는가에 대한 생각을 상당히 많이 하는데 결국 같은 내용처럼 느껴져서 더 좋았다.
춘식이 마우스패드랑 카카오 테크에서만 받을 수 있는 스티커가 생겼다...!
(카카오 캐릭터들 진짜 너무 귀엽다..)
춘식이 얼굴 그려진 티슈도 상당히 귀여웠다..!