[인프런 X VMware Tanzu] Spring Boot 밋업 with Josh Long

[인프런 X VMware Tanzu] Spring Boot 밋업 with Josh Long

 

이번 인프런 퇴근길 밋업은 시작부터 활기가 넘쳤습니다. Josh Long 특유의 유머 넘치는 발표 스타일은 참가자들을 끊임없이 웃게 했고, Java와 Spring에 대한 이야기도 재미있고 친근하게 전달하며, 모두에게 깊은 인상을 남겼습니다.

발표가 끝난 후 현장 질의응답에서는 많은 질문이 쏟아졌습니다. 어떤 질문이 오고 갔는지 궁금하지 않으신가요? 여러분들에게 현장에서 오간 질문들과 함께 인프런 퇴근길 밋업이 어떤 분위기에서 진행되었는지, 그리고 참가자들이 왜 그렇게 긍정적인 반응을 보였는지, Josh Long과 함께 한 인프런 퇴근길 밋업 현장을 보여드릴게요!


Inflearn x VMware Tanzu
인프런 퇴근길 밋업 with Josh Long 🌱

9월 9일에 진행된 인프런 퇴근길 밋업은 VMware Tanzu와 협업하여 아주 특별한 손님을 모셔봤는데요.
바로 Spring Developer Advocate이자 Java Champion인 Josh Long입니다. 🥳

이번 발표는 영어로 진행되었지만, 번역 파트너인 플리토가 있어 부담없이 발표를 즐기고 Josh Long과 원활하게 소통할 수 있었습니다.

인프런 퇴근길 밋업 with Josh Long 


인프런 퇴근길 밋업 체크인

이번 인프런 퇴근길 밋업은 400여 명이 신청해 큰 관심을 보이며, Java와 Spring을 사용하는 개발자들에게 놓칠 수 없는 기회였습니다. Josh Long의 인기를 반영하듯, 무려 200여 명이 참석해 인프런 퇴근길 밋업 사상 역대급 규모로 진행되었습니다. 

월요일 저녁, 바쁜 일과를 마치고 판교까지 찾아온 참가자들의 체크인을 돕기 위해 인프랩 팀원들도 함께 해주었습니다. 

체크인을 담당하는 인프랩 팀원의 모습.

발표 시간이 다가올수록 서서히 빈자리가 채워졌는데요.
월요일 퇴근길을 이겨내고 Josh Long의 발표를 듣기 위해 밋업에 모인 참가자들의 열정이 아주 뜨거웠습니다. 🔥 

발표가 진행될 현장 모습


발표 세션
Bootiful Spring Boot: A DOGumentary 📸

발표 세션은 영어로 진행되었지만, 참가자들은 영어에 대한 거부감 없이 발표를 들을 수 있어 온전히 발표에 집중할 수 있었습니다. 🤩

Josh Long은 강아지 입양 서비스 구축 방법을 예시로 들며 발표를 진행하였는데, 중간중간 재치 있는 농담을 섞어가며 발표를 더욱 흥미롭게 만들었습니다.

강아지 입양 서비스 구축 예제 코드를 만들며 발표를 진행하는 Josh Long

Java 21의 성능뿐만 아니라 Spring AI의 활용법, Java 21의 Virtual Thread가 기존 스레드보다 더 나은 점이 무엇인지, Java의 효율성과 속도 등에 대해 이야기하면서 1시간 30분이 정말 짧게 느껴질 정도로 시간이 빠르게 흘러갔습니다. 

라이브 데모를 통해 Spring AI의 기능 시연


질의응답 세션
Josh Long과 함께하는 현장 질의응답🎤

발표가 마무리된 후, 이어진 현장 질의응답에서도 실시간 통번역을 통해 영어로 질문하지 않아도 누구나 Josh Long과 소통할 수 있었습니다.

Josh Long은 질의응답 도중 재치 있게 사진을 찍어주며 참가자들에게 큰 웃음을 안겨주었습니다. Josh Long의 유머러스한 모습 덕분에 질의응답 시간은 더욱 유쾌하고 활기차게 진행되었으며, 마지막 순간까지 현장에는 웃음이 가득했습니다. 

재치있는 Josh Long의 모습질의응답 세션은 오늘 발표에서 다뤄진 내용뿐만 아니라 Java, Spring을 사용하면서 생긴 다양한 궁금증도 해결할 수 있었습니다. 그중 질문 일부를 공개합니다.

Q1. Virtual Thread가 항상 더 나은 성능을 보이기 때문에 모든 상황에서 Virtual Thread를 사용하는 것이 더 나은가요?

CPU에 바인딩된 작업을 처리할 때는 Virtual Thread를 사용하는 것이 약간의 오버헤드가 있어서 덜 효율적일 수 있지만 입출력(I/O)에 바인딩된 작업, 예를들어 서버 사용의 99%가 I/O 작업, 데이터베이스나 다른 서비스와 데이터를 읽고 쓰는 작업일 경우라면, Virtual Threads를 사용하는 것이 더 나을 것입니다. 그렇지 않은 경우에는 일반 Threads를 사용하면 됩니다. 

Q2. Spring 생태계에는 WebFlux라는 강력한 논블로킹 비동기 프레임워크가 있습니다. Virtual Threads가 WebFlux를 대체할 것이라고 보시나요, 아니면 두 기술이 서로 보완하며 함께 발전할 수 있을까요? 이에 대한 생각은 어떠신가요?

리액티브 프로그래밍에는 세 가지 주요 이점이 있습니다.

1. 구성의 용이성
리액티브 세계에서는 모든 것이 리액티브 퍼블리셔로 처리됩니다. WebSocket을 다루든, 데이터 레이어를 다루든, REST API를 호출하든, 또는 Kafka를 처리하든 모두 퍼블리셔입니다. 이 방식은 시스템 통합을 매우 단순하게 만들어줍니다. 다양한 퍼블리셔들을 손쉽게 조합하고 전환할 수 있기 때문에, 특히 Scatter-Gather 패턴이나 마이크로서비스 호출 같은 복잡한 통합 작업도 매우 간편하게 모델링할 수 있습니다. 리액티브 프로그래밍은 통합 작업에서 뛰어난 성능을 발휘합니다.

2. 데이터로서의 에러 처리
리액티브 프로그래밍에서 에러 처리는 좀 더 함수형 스타일로 이루어집니다. 에러는 데이터 스트림의 일부로서 처리되기 때문에 에러 처리가 자연스럽고 직관적입니다. 명령형 프로그래밍에서 사용하는 try-catch와는 대조적입니다. 많은 개발자들이 이러한 통합된 에러 처리 방식을 선호하고 있으며, 저도 이에 전적으로 동의합니다.

3. 확장성
리액티브 프로그래밍은 스레드를 매우 효율적으로 재사용하여 뛰어난 확장성을 제공합니다. Spring 팀 내부에서 벤치마크를 진행한 결과, Tomcat에서 Virtual Threads와 리액티브 프로그래밍의 처리량을 비교해보니 성능은 거의 동일했습니다. 성능 측면에서 Virtual Threads와 리액티브 프로그래밍은 매우 비슷합니다.그러나, Virtual Threads는 두 가지 이점(구성의 용이성, 데이터로서의 에러 처리)을 제공하지 않습니다.

그래서 두 기술은 경쟁 관계가 아닌 상호보완적인 관계라고 생각합니다. 이미 리액티브 프로그래밍을 사용 중이라면 그대로 유지하셔도 좋습니다. 변경할 필요가 없습니다. Virtual Threads는 리액티브 프로그래밍으로 전환하지 않았거나 그럴 필요가 없는 사람들을 위한 훌륭한 대안입니다.

우리는 계속해서 리액티브 스택을 개선하고 있습니다. 예를 들어, 캐시 지원이 더 강화되었고 앞으로도 새로운 기능을 추가할 예정입니다. 따라서 리액티브 프로그래밍은 앞으로도 오랫동안 사용될 것입니다. 

Virtual Threads 역시 훌륭하며 더 많은 확장성을 원한다면 두 가지 선택지가 있습니다.
이미 리액티브 프로그래밍을 사용 중이시라면 그대로 사용하십시오. 충분히 좋습니다. 리액티브 프로그래밍을 사용하지 않으신다면 Java 21로 업그레이드하십시오. 간단하고 무료입니다.

Q3. 팀에서 Java 6, 8 버전을 쓰고 있을 때 한번에 전환하는게 좋을까요? 아니면 단계적으로 전환하는게 좋을까요?

그냥 바로 21로 가세요. 사실 23으로 가도 괜찮아요.
만약 Java 8을 사용 중이라면, 8에서 9로 전환할 때 몇 가지 문제가 있을 수 있지만, 이제 대부분 해결됐습니다. 9에서 21로 가는 건 거의 무료나 다름없어요. 굉장히 쉽습니다. 어려웠던 부분은 Java 8에서 9로 전환하는 것이었죠.

그런데 Java 9부터는 6개월마다 새로운 버전이 나오기 때문에 앞으로 나아가는 것이 훨씬 수월해졌습니다. 그래서 저는 그냥 Java 23으로 바로 가라고 권장할 거예요. Java 23은 몇 주 안에 출시될 예정입니다.

정말 부럽습니다. 저는 2020년에 Apple Silicon 노트북을 샀어요. 그 전에 Apple Intel 노트북을 사용했는데, 2019년에 Apple Intel 노트북을 쓰다가 2020년에 Apple Silicon으로 전환했습니다. 그 차이는 엄청났어요. 마치 밤과 낮처럼 완전히 다른 하드웨어였고, 성능도 엄청나게 뛰어났습니다.
아마 그런 경험은 제 인생에서 다시는 못 할 것 같아요. 그 정도의 큰 차이를 느끼는 건 정말 드문 일이죠. 그리고 이제 당신이 그런 경험을 하게 될 거예요.

마치 구시대의 Java에서 최신 Java로 단 하루 만에 이동하는 것과 같은 느낌일 겁니다. 정말 부럽습니다! 분명 그 경험을 좋아하게 될 거예요. 아마도 더 일찍 해보지 않은 것을 후회할 겁니다.


퇴근길 밋업 마무리
Josh Long과 마지막 순간📸

Josh Long과 함께한 인프런 퇴근길 밋업
Josh Long과 함께한 2시간이 마치 한 편의 영화를 본 듯 빠르게 흘러갔는데요. 이번 인프런 퇴근길 밋업을 통해, 많은 개발자들이 Java와 Spring에 얼마나 깊은 관심과 애정을 갖고 있는지 다시 한 번 느낄 수 있었습니다.

인프런 퇴근길 밋업은 앞으로도 다양한 주제로 여러분과 함께할 예정이니, 다음 인프런 퇴근길 밋업에도 많은 관심과 참여 바랍니다. 🥰 

(+)
Java, Spring에 관심 있으신가요?
흥미로운 Java, Spring 관련 강의 들어보세요!
이미 많은 분들이 수강하고 있답니다. 😉

 

 

#인프런 #

#인프런 #인프런퇴근길밋업
#JoshLong

채널톡 아이콘