제2회 Kakao Tech Meet 후기

스프링캠프 2023 을 다녀온 후 기회가 있다면 컨퍼런스에 자주 참여해야겠다고 생각하고 있던 와중에 우연찮게 Kakao 에서 주관하는 Tech Meet 이 열린다는 것을 알게 되어 신청하였고 당첨되어 2023.07.18 에 다녀왔다.

 

제2회 kakao tech meet에 초대합니다!

kakao tech meet kakao tech meet은 카카오의 공개 기술 세미나로, 최신 기술 트렌드와 경험 및 노하우를 자주, 지속적으로 공유하며 개발자 여러분과 함께 성장을 도모하고 긴밀한 네트워크를 형성하고

tech.kakao.com

총 923장 판매, 그 중 140명 추첨

티켓은 무료이며 티켓에 응모할때 몇가지 질문지들을 작성해야했다. 이번 세미나에 지원한 이유, 기대되는 세션, 발표자에게 할 질문 이정도였던것 같다.

 

나는 실제했던 업무 중 레거시 코드 리팩토링이 있었기 때문에 첫번째 세션인 "카카오톡 Java App Server Refactoring 후기" 가 가장 기대되는 세션이었으며 성능 향상이나 애자일에 대해서도 관심이 컸기때문에 지원하는 이유를 좀 길게 썼다. 그렇게 지원하고 발표를 기다리던 와중 길게 운 좋게 당첨되었다는 이메일을 받았다.

감격의 초대 이메일
사진기준 오른쪽 앞에서 세번째줄 흰티가 본인이다

카카오톡 Java App Server Refactoring [@soo.lee(이상우)]

가장 기대되는 세션이었던만큼 눈이 초롱초롱해진 상태로 세미나를 듣기 시작했다. 나도 실무에서 레거시 코드를 리팩토링을 진행한적이 있다. 스파게티 코드였을뿐만 아니라 이해할 수 없는 난해한 코드였던것들이 많았는데 가장 큰 문제는 테스트 코드가 없다는 점 이었다. 나는 리팩토링을 위해 하나씩 테스트 코드를 붙이기 시작했고 테스트코드를 다 작성하고 난 뒤에 리팩토링을 시작하였다. 그 리팩토링을 하면서 정말 많은것들을 배울 수 있었는데 이 세션에서 색다른 접근 방식을 몇가지 더 알 수 있어서 좋았다.

 

가장 기억에 남는것은 고차 함수로 의존성 줄이기 이다. 실제 리팩토링했던 코드 중 Service 끼리 순환하며 서로의 메서드를 끌어다 쓰는 형태가 있었다. 나는 그것을 분리하기 위해 하나의 클래스를 더 만들고 책임을 분리시킨 뒤, 의존방향이 한쪽방향으로 흐를 수 있게끔 만들기 위해 노력했지만 역부족인 부분이 몇가지 있어서 마음에 썩 들지는 않았었다. 이 세션에서 나온 고차함수를 활용하는 부분은 정말 "와" 소리가 절로 나왔다.. Javascript 에서 고차함수를 자주 사용하고 Java 에서도 종종 사용하고는 있지만 의존관계를 고차함수로 풀어내는 방법은 신선한 충격이었다. 해당 코드를 보고 빨리 훔쳐 적어서 적용해보고 싶다고 생각했지만 발표세션이 너무 짧아 훅 지나가서 아쉬웠다. 다행히 발표 자료가 8월 1일에 제공되어 확인 해볼 수 있었다.

 

그 외에는 앤서블이나 JShell, NPath 복잡도, TieredStopAtLevel 등 처음 들어보는 키워드들이 많아 흥미로웠다.

 

Spring Batch 애플리케이션 성능 향상을 위한 주요 팁 [@yun.cheese(김남윤)]

이 세션의 발표자는 불과 몇 달전에 다녀온 스프링캠프 2023 에서 실무에서 적용하는 테스트 코드 작성 방법과 노하우 를 발표하신 김남윤님이었다. 이번 발표는 Spring Batch 사용시 성능을 높이는 법에 대한 발표였는데, 발표내용은 Batch 뿐만아니라 어플리케이션에서도 항상 신경써야 하는 부분이었다고 생각한다. 나는 Spring Batch 를 제대로 써본적이 없다. 가볍게 새벽에 돌며 불필요한 파일을 지우거나, 사용자들의 정보를 업데이트 하거나, 등등에서만 써보았으며 실행되는 양은 절대적으로 적은 숫자고 코드도 간단한것밖에 없었다. 하지만 언제나 관심이 있는 분야이기에 집중있게 들었다. 

 

해당 발표의 가장 큰 키워드는 "어플리케이션이 느려지는 가장 큰 원인 중 하나인 I/O 작업"이다. 성능을 향상시키기 위해서는 I/O 작업을 최소화 해야하는데 그 대표적인 예로는 JPA 의 Dirty Checking 보단 Bulk Update, DB 의 update 는 in 절 이나 JDBC executeBatch 를 이용해 한번의 요청으로 가능한 적은 I/O 를 발생기키게 하는것이다. 해당 부분은 그룹웨어 프로젝트를 할때 고민하며 적용했던 부분들이라 크게 공감하며 세션을 볼 수 있었다.

 

처음들어보는 키워드는 Spring Cloud Data Flow(SCDF), Kafka Streams 등이 있었는데 정말 알아야 할게 많고 재미있는 기술들이 많구나 느낄 수 있었다.

 

애자일로 개발하면 빨리 끝난다던데? [@jazz.k(김지훈)]

마지막 세션은 애자일 방법론에 대한 발표였다. 현재 다니는 회사도 대표님이 애자일 방법론 특히 XP(eXtreme Programming) 을 엄청 좋아하시며 Mob Programming 을 회사에 적용하기위해 노력하신다. 하지만 실제로 몇번 진행해본 나는 약간 회의감이 드는부분들이 몇개 있었는데 과연 카카오는 이 애자일을 어떻게, 어떤식으로 적용하고 있는지 엄청 궁금했다.

 

해당 세션에서는 기억에 남는 키워드들은 "좋아보이는 팀들의 공통점은 역량이 뛰어난 팀", "변화를 위한 조건 세가지는 사람들, 목표, 에너지", "고객의 말을 전부 믿지 말라",  세가지 이다. 아직 다른 회사를 가보진 않아서 잘 모르지만 흔한 좀 큰 기업에서 하는 애자일의 개발 방법론과 현 회사의 애자일의 개발 방법론은 약간 결이 다르다고 생각한다. 애자일 방법론은 개발자에게 정말 좋은 방향이라 생각한다. 이직을 하게된다면 이직한 회사에서는 스크럼 같은 개발방법도 경험해보고 서로간 코드리뷰도 하며 발전하는 기회를 가져보고 싶다.

 

두번째 방문해본 기술 컨퍼런스도 흡족스러웠다. 카카오 건물도 들어가 경험해보고, 모각코 모임에서 우연히 알게된 카카오 개발자와 만나 얘기도 나눠보고 좋은 경험이었다. 인프콘 2023 도 신청했으나 당첨되지 못해 참석하지 못해 아쉽다. 또 관심있는 기술 컨퍼런스가 있다면 참석해보자.

 

해당 컨퍼런스 다시보기는 여기서 확인할 수 있다.

'잡담' 카테고리의 다른 글

스프링캠프 2024 기술 컨퍼런스 후기  (0) 2024.06.01
제4회 Kakao Tech Meet 후기  (0) 2023.12.25
스프링캠프 2023 기술 컨퍼런스 후기  (0) 2023.07.31
드디어 블로깅 시작..  (1) 2023.07.04