SpringCamp 2024

날짜: 2024-05-25 ~ 2024-05-25

장소: 서울 강남구 남부순환로 3104 SETEC 컨벤션센터

웹사이트: https://springcamp.ksug.org/2024/

컨퍼런스 소개

* 소프트웨어 설계 및 개발 효율화에 대한 심도 있는 탐구

* 주요 테마 및 트렌드

이번 컨퍼런스에서는 소프트웨어 설계와 코드 정리의 중요성이 강조되었습니다. 켄트 백은 소프트웨어 설계가 코드의 단순한 작성이 아니라, 전략적으로 접근하여 코드의 가치를 극대화하는 방법임을 설명했습니다. 또한 마이크로서비스 아키텍처(MSA)의 도입과 운영 전략, 특히 데이터베이스 분리 및 트랜잭션 관리 전략이 주요 주제로 다뤄졌습니다. 이와 함께 코루틴과 버추얼 스레드를 활용한 비동기 프로그래밍의 효율적인 방법이 대규모 시스템에서의 안정적 운영을 위한 핵심 트렌드로 부각되었습니다. 이러한 트렌드들은 팀 간 협업을 촉진하고, 시스템의 확장성과 유연성을 높이는 데 기여하며, 지속 가능한 개발 문화를 형성하는 데 중요한 역할을 하고 있습니다.

* 새로운 기술 및 혁신

컨퍼런스에서는 새로운 기술과 도구들이 많이 소개되었습니다. 가장 주목받은 기술 중 하나는 Fixture Monkey로, 이는 Java 및 Kotlin 환경에서 테스트 객체를 쉽게 생성하고 조작할 수 있도록 지원합니다. Naver에서 시작된 이 라이브러리는 복잡한 테스트 코드를 간소화하여 개발자들이 보다 안정적이고 효율적인 테스트를 수행할 수 있게 도와줍니다. 또한, JDK 21에서 도입된 버추얼 스레드는 경량 스레드를 제공하여 대규모 동시성 작업을 효율적으로 처리할 수 있도록 합니다. 이러한 기술들은 소프트웨어 개발의 생산성과 안정성을 높이는 데 있어 중요한 혁신을 제공하고 있으며, 특히 복잡한 비즈니스 환경에서의 테스트 및 성능 최적화에 기여하고 있습니다.

* 결론 및 향후 전망

컨퍼런스의 결론에서는 소프트웨어 설계와 개발 효율화가 미래의 경쟁력을 결정짓는 중요한 요소임이 강조되었습니다. 특히 마이크로서비스 아키텍처와 같은 구조적 접근법을 통해 시스템의 확장성과 유지보수성을 높이는 것이 중요하다는 점이 강조되었습니다. 또한, Fixture Monkey와 같은 테스트 자동화 도구의 발전은 향후 개발 프로세스의 효율성을 더욱 높일 것으로 기대됩니다. 이러한 방향성에 따라 차기 컨퍼런스에서는 더 나은 소프트웨어 설계 방법론과 최신 기술의 도입 전략, 그리고 지속 가능한 개발 문화 형성을 위한 다양한 사례와 연구들이 다뤄질 것으로 예상됩니다.

발표 영상 (총 10개)

스프링캠프 2024 [Track 1] 4.실전! MSA 개발 가이드 (김용욱)

스프링캠프 2024 [Track 1] 4.실전! MSA 개발 가이드 (김용욱)

[초급] 마이크로서비스를 개발할 때 가장 어려워하는 부분은 서비스 별로 데이터베이스를 분리한다는 점입니다. SQL JOIN을 REST API로 대체하려니 성능이 느릴 것 같고 데이터베이스의 트랜잭션 보장이 없어지니 정합성이 깨지지 않을까 걱정합니다. 마이크로서비스와 함께 API Composition, Event Sourcing, CQRS, SAGA 같은 반짝이는 기술들이 함께 소개되었지만, 실전에선 이보다는 평범한 기술을 사용하는 경우가 많습니다. 관련해서 마이크로서비스를 개발할 때의 구현 이슈를 소개하고, 실전에서는 어떻게 풀어내는지 소개합니다.

스프링캠프 2024 [Track 2] 4.데이터를 스케치 하기 (황영)

스프링캠프 2024 [Track 2] 4.데이터를 스케치 하기 (황영)

[초급] MSA가 대세가 되어진 세상입니다. 하지만 여전히 제한된 리소스에서 데이터를 처리해야하는 경우도 존재합니다. Data Sketch를 통하여 작은 리소스를 이용해서도 높은 성능을 낼수 있습니다. bloom filter, count min sketch, hyperloglog 같은 대표적인 Data Sketch에 대해 알아보고 상황에 따른 활용에 대해 이야기 해보자 합니다.

스프링캠프 2024 [Track 1] 3.왜 나는 테스트를 작성하기 싫을까? (조성아)

스프링캠프 2024 [Track 1] 3.왜 나는 테스트를 작성하기 싫을까? (조성아)

[중급] 모든 것에는 다 이유가 있습니다. 내가 테스트를 작성하기 싫은 건 테스트로 얻을 수 있는 이득에 비해 비용이 너무 크기 때문입니다. 그렇다면 비용은 왜 클까요? 네이버페이 주문서 배송비 계산, 적립포인트 계산, 할인 금액 계산, 환불 금액 계산을 테스트 가능한 구조로 개발하면서 적어내려간 개인적인 답지를 공유하고자 합니다.

스프링캠프 2024 [Track 1] 5.구해줘 홈즈! (이영규)

스프링캠프 2024 [Track 1] 5.구해줘 홈즈! (이영규)

[초급] 안정성이 중요한 은행 환경에서 트래픽이 많은 홈 서비스를 새로 개발하며, 동료들과 함께 고민하고 결정했던 경험을 공유해보려 합니다.

스프링캠프 2024 [Track 2] 1.동시성의 미래 - 코루틴과 버츄얼 스레드 (이상훈)

스프링캠프 2024 [Track 2] 1.동시성의 미래 - 코루틴과 버츄얼 스레드 (이상훈)

[중급] 현대에는 수천, 수만의 동시 요청을 처리하는 서버를 구현하기 위해 멀티 스레드, 논블로킹, 액터 모델, 리액티브 프로그래밍 등 다양한 기술 활용하고 있습니다. 그중에서 코틀린의 코루틴과 JDK 21에서 정식 릴리즈된 버추얼 스레드는 가장 우아하고 현대적인 동시성 기법으로 평가받고 있습니다. 이번 기회를 통해 두 기술의 차이점과 통합하는 방법에 대해 알아보고자 합니다.

스프링캠프 2024 [Track 2] 5.AutoParams를 사용한 Spring Boot 응용프로그램 테스트 (이규원)

스프링캠프 2024 [Track 2] 5.AutoParams를 사용한 Spring Boot 응용프로그램 테스트 (이규원)

[중급] AutoParams는 테스트에 필요한 데이터를 손쉽게 만들어주는 JUnit 5 확장 도구입니다. Spring Boot 응용프로그램을 테스트할 때 역시 AutoParams의 확장성은 유용합니다. AutoParams의 주요 기능을 설명하고 Spring Boot를 통해 구동되는 시스템의 여러 구성요소를 테스트 하기 위해 사용할 수 있는 AutoParams 기반 테스트 전략들을 소개합니다.

스프링캠프 2024 [Track 2] 2.Spring Coroutine in action (최진영)

스프링캠프 2024 [Track 2] 2.Spring Coroutine in action (최진영)

[초급] spring에서 kotlin coroutine 활용에 초첨을 맞추어, 비동기 프로그래밍과 coroutine의 동작구조부터 spring 프레임워크에서의 실제 적용까지를 이야기하려고 합니다. spring kotlin을 사용하지만 coroutine을 적용하지 않거나, coroutine이 적용되었지만 잘 사용하고있는지 고민이 되는 분들에게 어떻게 spring에서 coroutine을 in action 할 지 소개하고자 합니다.

스프링캠프 2024 [Track 2] 3.스프링 R2DBC 연동 기능을 활용한 작은 코틀린 SQL DSL 개발기 (오현석)

스프링캠프 2024 [Track 2] 3.스프링 R2DBC 연동 기능을 활용한 작은 코틀린 SQL DSL 개발기 (오현석)

[중급] 스프링의 R2DBC 클라이언트인 DatabaseClient를 코틀린에서 사용하면 Flow를 통해 간편하게 비동기 데이터베이스 프로그래밍을 즐길 수 있습니다. 또, 코틀린의 DSL 관련 기능을 활용하면 원하는 DSL을 손쉽게 정의할 수 있습니다. 제 발표에서는 스프링 DatabaseClient를 사용해 비동기 REST API 서비스를 개발하는 과정과 몇가지 팁을 함께 공유하고, DatabaseClient에 사용하기 위한 SQL 쿼리 DSL을 코틀린으로 만드는 과정을 살펴보면서 코틀린의 강력한 DSL 기능을 함께 살펴봅니다. 스프링은 잘 모르셔도 되지만, 코틀린 중급 정도의 지식이 필요합니다. 특히 Flow, 확장함수와 수신객체 지정 람다, 인라인, 제네릭스 등을 사용하는 코드를 발표 내내 보시게 됩니다.

키워드

발표자 목록 (총 10명)

호스트 정보

한국 스프링 사용자 모임(KSUG)
한국 스프링 사용자 모임(KSUG)

KSUG는 스프링을 사용하거나 관심 있는 사람들이 모여 뉴스와 정보를 공유하고 문제를 같이 해결하는 곳이며 스터디, 세미나, 컨퍼런스 참여 등의 오프라인 활동을 합니다.

웹사이트: https://www.ksug.org