23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요. 지난 4/22 토요일, DEVOCEAN에서 초대권을 받아 을지로 SKT타워에서 진행된 Spring Camp 2023 행사에 다녀왔습니다.
Spring Camp 2023 에서 진행한 세션에 대한 간략한 소개와 후기를 적어보겠습니다.
행사는 오전 11시에 접수를 시작하여, 12시부터 18시까지 총 7개의 세션이 진행되었습니다.
세션 영상은 가까운 시일 내에 유튜브 채널로 업로드된다고 하니 오프라인에 참여하지 못하신 분들도 아래 내용을 참고하셔서 필요한 내용은 들어보시길 추천드립니다.
또한, 일부 발표 자료들은 이미 KSUG 페이스북 그룹에 업로드되어 있으니 관심 있는 분들은 참고하시면 좋을 거 같습니다..
![]()
첫 번째 세션을 한 문장으로 요약하자면, "Spring 6 와 Spring Boot 3 는 이전 버전과 어떤 게 다른가?" 입니다.
이 세션을 통해 Java, Jakarta EE, Spring, Spring Boot 각각의 최신 버전에 포함된 기능들이 어떤 것들이 있는지 빠르게 훑어볼 수 있습니다.
무엇이 달라졌는지, 왜 달라졌는지 한눈에 보고자 하시는 분들이 계시다면 아래 세션을 보시는 걸 추천합니다.
또한, 앞으로 직접 변경 내용을 확인하고자 하신다면, 발표 중간에 언급된 것처럼 Spring Blog 의 Release Note 또는 Spring 프로젝트의 Github Wiki를 통해 직접 내용을 확인할 수 있습니다.
![]()
두 번째 세션을 한 문장으로 요약하자면, "Summer Time 에 대처하는 Java" 입니다.
다양한 Timezone 을 대상으로 하는 서비스가 아니라면 당장은 무관할 수 있지만, 글로벌 서비스를 지향하는 개발자라면 한 번쯤 정리해 볼 법한 주제라고 생각합니다.
시간 관련 용어, Java의 시간 Package 및 Class, 그리고 실무에서의 적용에 관한 내용을 확인할 수 있습니다.
다만, 이 주제는 단순히 개발자의 입장에서만 이해하기보다 서비스를 어떻게 기획하고 책임을 나눌지에 대해서도 함께 고민해볼 필요가 있습니다.
![]()
세 번째와 네 번째 세션은 같은 경험에 대해서 각각 시니어와 주니어 분이 발표를 진행했습니다. 제목 그대로 대규모 엔터프라이즈 시스템을 개선할 때 설계 전략과 구체적인 내용에 대해 들을 수 있습니다.
Ports&Adapters Architecture, Event-Driven Architecture, Domain Driven Development를 기반으로 하여 기존 시스템을 점진적으로 옮겨가는 과정에서 마주한 고민들을 생생하게 들을 수 있었습니다.
발표자 분께서 말씀하셨듯이 1부는 전체적인 방향성을 고민하는 분(보통 시니어)이, 2부는 코드단 내용이 궁금한 분이 듣는 걸 추천합니다.
![]()
다섯 번째 세션을 한 문장으로 요약하자면, "좋은 테스트를 위한 고민의 과정" 입니다.
테스트 코드를 좀 더 재사용 가능하게, 또 목적에 맞게 사용하기 위해서 HTTP Mock Server, MockBean, java-test-fixtures 를 사용하면서 알게 된 내용을 담고 있습니다.
더 나아가서 테스트를 용이하게 하기 위해서 어떤 식으로 역할을 분리했는지 볼 수 있습니다.
실제로 테스트 코드를 규모 있는 시스템에서 사용하고 있는 분들의 경우, 관심 있게 들을 수 있는 발표로 생각됩니다.
여섯 번째 세션을 한 문장으로 요약하자면, "대용량 트래픽 처리를 위한 Cache 적용 과정 및 테스트를 통한 검증" 입니다.
대용량 트래픽 처리가 가능한 시스템을 만들어 가는 과정에서 Local Cache 를 직접 개발한 내용과 성능테스트 도구로 Locust 와 Pinpoint 를 사용한 사례를 확인할 수 있습니다.
발표 환경 상의 문제로 스크립트를 보지 못하신 채 발표를 진행하셔서 중간중간 매끄럽지 않은 부분도 있지만, 오히려 그 부분을 웃음 코드로 사용해 많은 내용을 따라갈 수 있게 하신 점이 인상 깊었습니다.
![]()
일곱 번째 세션을 한 문장으로 요약하자면, "클라우드의 역사와 Spring의 변화" 입니다.
2012년 즈음부터 클라우드 기술이 등장하고, Cloud Native 를 정의하고, 12 Factor App 을 정의하고,
그 과정에서 Spring 이 AOT (Ahead-Of-Time)을 지원하고, Observability 를 위한 기술을 추가해온 과정과 이유에 대해 확인할 수 있습니다.
Spring Cloud를 도입하고 계시거나, Spring 6 와 Spring Boot 3 에서 신규로 추가된 기능의 맥락이 궁금하신 분들께 추천하는 발표입니다.
![]()
여러 세션들이 있었지만, 저는 첫 번째 세션인 "어느 #월급쟁이개발자 의 스프링 부트 따라잡기 Ver.3", 세 번째와 네 번째 세션인 "대규모 엔터프라이즈 시스템 개선 경험기",
그리고 마지막 세션인 "Journey to Modern Spring"가 특히 인상 깊게 다가왔습니다.
첫 번째와 마지막 세션은 Spring 을 사용하고 계신 분들이나 Spring 6, Spring Boot 3를 사용하려는 분들이라면 누구나 한 번쯤 들어보시길 추천드립니다.
내 문제를 푸는 것만큼 남의 풀이를 이해하는 것이 중요하고, 눈앞의 문제를 해결하는 것만큼 거시적인 흐름을 이해하는 것이 중요하다고 생각하는데,
첫 번째 세션과 마지막 세션은 Cloud 라는 거대한 흐름과 그에 따라 변화하는 Spring 에 대해 이해하는데 큰 도움이 되었습니다.
반면 세 번째와 네 번째 세션은 엔터프라이즈 단위의 업무를 참여하시는 분들이 좀 더 공감하고 이해할 수 있는 발표라고 생각했습니다.
회사와 시스템의 규모에 따라 고민하는 문제의 방향이 다르다고 생각하는데, 해당 발표는 좀 더 규모가 있는 시스템을 경험하고 계신 분들이 참고할 노하우가 많다고 생각합니다.
다른 세션들은 좀 더 특정 범위에 대해 깊게 다루는 세션들이어서, 당장 관련된 문제를 고민하고 있지 않은 저에게 내용적으로는 거리가 있었던 발표였습니다.
두 번째, 다섯 번쨰 세션은 각각 "글로벌 시간"과 "Mock 테스트"라는 부분에 집중적으로 관심이 있는 분들이 들으면 좋을 발표라고 생각하고,
여섯 번째 세션은 "Local Cache 구현"과 "Locust 와 Pinpoint 라는 테스트 도구"에 관심이 있는 분들이 들으면 좋을 발표라고 생각합니다.
결론적으로는 Spring 을 둘러싼 다양한 관점의 주제를 짧은 시간 내에 학습할 수 있었던 좋은 기회였습니다.
또한, DEVOCEAN 에서 발표를 준비하고 있는데, 발표에 대한 소소한 팁들도 생각해볼 수 있는 기회였습니다.
(eg. 적절한 짤의 사용이 발표를 굉장히 생동감 있게 만들 수 있다?)
좋은 행사에 참여할 수 있는 기회를 주신 DEVOCEAN 에도 감사의 말씀 전합니다.
끝까지 읽어주셔서 감사합니다.
#DEVOCEANxSpringCamp
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.