본문 바로가기
OFFLINE

KSUG Spring Camp 2023 Review. (#1/2) [한국 스프링 유저 그룹, 스프링캠프 2023 후기 (#1/2) ]

by 19810721 2023. 4. 27.

10 여년 ..본격적으로 개발자의 삶을 시작할 , 구글 메일 그룹 서비스의 KSUG 에서 날아오질문과 답변 메일들 받아 때면, 멀리 어딘가 구름 넘어 엄청난 초고수(역촋) 들의 무림처럼 느껴졌다. KSUG 스프링캠프는 무릉도원에 계실 법한 분들이 1년에 (2023 코로나로 인해 3 만에 열린듯 하다) 중원으로 내려와 비법을 전수해주는 특별한 날이다. 2023 년의 역촋들을 만나러 가보자.

 

고수라고 쓰고, 먼저 고통받은 분들이라고 읽는다.

 

고속도로를 달려야 하는 광역버스도 맞춰 오고, 전용차선으로 달리니 예상 도착시간보다 1시간이나 일찍 서울시청에 도착을 해버렸다(?). 덕분에 행사 준비 하시는 분들과 부스 설치 과정까지 참관하는 영광(or 민폐) 누렸다.

 

이번 스프링캠프에서 놀라웠던 점은 고인물들의 잔치에서 새로운 주니어들의 파티로 변화된 풍경이었다. 제한된 공간으로 인해 결제 순으로 200 여명을 선착순으로 접수하니 나타나는 자연스러운 현상으로 여겨지며, 아무래도 젊은(?) 사람들이 클릭이 빠르더라~ 라는 풍문이다. 20 ~ 30 초반으로 보이는 개발자들이 대다수를 차지하고 심지어 대학생도 있다는 점에서 적지 않게 놀랐다. 코로나가 진정되고 다시 예전처럼 많은 개발자들과 다양한 세션으로 채워지는 날이 오길 바란다.

 

 

유투브 화면에서는 접할 없는 날의 분위기와 발표자의 표정을 살펴보고자 ( 조금은 변태 스럽다 ) 줄에 자리잡고 발표를 기다렸다. 발표 순서에는 크게 관심이 없었는데, 마지막 발표까지 모두 듣고 나서 행사를 준비하는 사람들이 고도의 술수를 부려 ㅎㅎ 엄청난 빌드업을 했구나 하는 깨닫게 되었다. 2023 스프링캠프 이야기 속으로 들어가보자.

 

시간은 [어느 #월급쟁이개발자 스프링 부트 따라잡기 Ver. 3] 김지헌(컬리) 발표다. 지금까지 스프링 부트 1,2,3 여정을 소개하면서 어떤 빌드도구를 선택할 것인가에 대한 의견과 언어의 속성과 기능 등을 소개하면서 spring io 생태계에서 새로운 혹은 알아야 릴리즈 항목을 체크하는 방법을 제시하였다. 공식 사이트의 릴리즈 소개, 뉴스레터, 트위터, 깃헙 릴리즈 체크할 있는 항목을 소개하면서 이에 대한 관심을 지속적으로 갖고, 새로운 feature 자신의 것으로 만들어 보길 권유했다. 물론 가장 좋은 수단은 토이 프로젝트 !

 

그에 대한 예로 텍스트 블록 (“””), 자바 16 record 형태의 클래스, 잭슨 직렬화와 자카르타 EE9 부터 네임스페이스의 변화, Http Interface Client, UUID -> TSID… 짧은 시간에 휘리릭 지나갔다. 일단 듣고 나중에 다시 정리하는 시간을 가져야한다.

 

메이저/마이너/패치(//) 순의 버전 관리와 EOL 관한 순서와 관리 요령에 대해 이야기 하고, 마지막으로는 개발자의 삶은 B D 사이라는 이야기를 재차하며 마무리 되었다.

 

BUILD – CODING – DEPLOY

  

자신의 강의가 단 돈 100 원에 팔리고 있다는 사실에 분노한 어느 개발자.

 

다음은 [ 글로벌 서비스를 위한 Timezone/DST ] 김대겸 (롯데정보통신 / 한화솔루션 / 우테) 의 발표였다. HEMS (Home Energy Mng` System) 글로벌 수준에서 개발하면서 생긴 시차 이슈를 실제 발생했던 사례와 함께 발표했다. 사실상 같은 것으로 취급?했던 GTC/UTC 개념부터 타임존의 개념, 기술적으로도 알아야 하는 offset 개념과 DST 발생시 변경되는 Offset 대한 자세한 설명이 이어졌다. 실제 데이터에서는 공백이 되는 현상과 이유에 대한 깊은 ( 아픈 ) 경험에 대한 이야기를 즐겁게 풀어냈다. 그리고 자바에서 시간을 관리하는 패키지들의 역사를 소개하는 과정에서 그래 그땐 그랬지~ 하며 흥미롭게 듣는 기회였다. 추후에라도 로컬데이트타임 -> 오프셋데이트타임 -> 존데이트타임에 대해 정리하는 시간을 갖고 특히 DST 이슈에서 해방될 있도록 timezone.useDailyLight, getOffset 대해 숙지해야겠다.

 

개발자 생태계에서 자신의 경험과 지식을 받기만 하다가 이제 발표를 통해 나누고자 한다는 이야기는 그저 줄에 앉은 어느 나이든 개발자의 얼굴을 부끄럽게 만들었다. 다음에 나도 작은 지식이나마 공유할 있는 자리가 생긴다면 기꺼이 손을 들어야겠다.

 

다음 발표는 톰과 제리의 연속 발표였다. ㅎㅎ [ 대규모 엔터프라이즈 시스템 개선 경험기 ] 형태 / 김선철 님이 주고~ 받는~ 발표.

먼저 모든 개발자의 숙제와 같은 달리는 기차의 바퀴 갈아 끼우기에 대해서 임형태님의 발표가 있었다. 누가봐도 시니어 개발자였다. ( 다음 발표를 듣고 나서는 더욱 확신했다.) 개발자에게 개발이란 두려움, 피곤함, 번아웃이라는 주제를 던지고는 이에 대해 개발자의 능력은 두려움 없이 저항감 없이 코드를 변경하는 능력이라는 화두로 시작했다.

수정이 두려워지는 단계에 대한 이야기(유사컬럼의 등장과 특이점)와 전통적인 DB 중심의 개발의 확장에서 생기는 문제 등 시니어가 아니면 잘 모를 수 있는 부분에 대한 이야기를 들려주었다. 아울러, DRY 에 대한 생각과 유지보수가 되지 않는 개발도구(공통 코드?)와의 결합도 문제에 대한 이야기와 리팩토링에는 테스트가 선행될 필요가 있음을 전달했다.

레이어드 아키텍처, 포트&아답터에 대한 예와 서비스 요구사항 달성의 선행되어야 + 개발자의 요구사항이 요구될 수 있음에 대한 이야기, 차세대의 어려움, Strangler FIG Pattern 에 대한 소개와 저수준 개발자의 고통 ( 물론 모든 개발자의 고통이라는 설명 ).

 

해결법으로는 단순함을 제시하고...  Keep It Simple Stupid.

그림으로 보면 인생은 늘 심플하다. 현장에서 일 해보기 전까지는...

 

가장 인상 깊었던 이야기는 단 한 줄의 코드에 담긴 단순한 내용은 결코 단순하지 않다는 것에 대한 생각이었다. 거기에는 설계 단계와 코드를 작성하는 단계, 수정하는 과정, 테스트 및 협의와 판단 등등 모든 맥락으로 한 줄의 코드가 완성되어 있는 것이라는 말에서 발표에 대한 집중력이 최고조에 달했다.

 

물론 집중은 30그 후에는 인터페이스와 이벤트에서의 메시지의 의미, 무결성 관리 (이벤트로 극복한 이야기), v2에서 Read -> Upsert -> Pub/Sub 으로의 단계 등 기술적인 (보통의 사람은 머리 아픈) 이야기가 이어졌다.

결론적으로 레거시에 작업 시간과 비용을 소비하여 기능을 추가하느니 신규에 아답터를 이용해야 한다는 의견과 레거시의 문제를 해결하거나 옮겨오는데 집중하는 것이 아니라 자신(서비스?)의 기능을 개선하거나 구현하는 일인가?에 대한 질문이 우선되어야 한다는 점을 전달했다.

 

톰의 발표가 끝나고 이어진 제리의 발표. 김선철 님의 발표.

어릴 땐 제리가 좋았다.... 이제는 톰이 좋다. 슬퍼서...

 

인사말이 인상 깊었다. 새로운 것을 학습하는 재미에 푹 빠져 살고 있습니다. ‘고통스럽게’ ! 와 함께, 앞에 발표하신 분과 같이 일하고 있다는 이야기를 빠트리지 않았다.

 

시스템을 운영하면서 모든 수수료가 0% 였던 사건을 중심으로 리파지토리의 책임과 헥사고날 아키텍처에 대한 이야기를 해주었다. 이벤트 드리븐 펍섭에 대한 자신의 생각과 상호 의존을 왜 피해야 하는지, 그리고 무결성이 깨지면 재발행으로 해결해야 한다는 의견과 증명을 발표했다.

 

DDD 에 대해 도메인에 대한 생각과 다양한 도메인?을 어떻게 자신의 것으로 만드는지에 대한 고민과 schema.org 에 대한 소개가 이어졌다. 도메인 정의의 어려움에 대한 고민과 의존성 방향에 대한 고민, 본래의 역할을 벗어나 역할의 혼돈에 대한 고민을 나누었다.

 

직관성과 유연성의 트레이드 오프에서는 유연성에 더 중점을 두고 역할과 책임으로 구분하고 있다는 소개와 책임을 바탕으로 구현 위치를 확인한다는 의견을 제시했다.

 

그리고 마지막에 다시 한 번, 주니어로써 어려웠던 점을 톰을 바라보며 이야기했다.

 

[2부에서 계속]

 

https://sdpark.tistory.com/86

 

KSUG Spring Camp 2023 Review. (#2/2) [한국 스프링 유저 그룹, 스프링캠프 2023 후기 (#2/2) ]

본 글은 KSUG 2023 스프링캠프 후기 2부 입니다. 1부를 못 보신 분은 먼저 보고 오시기 바랍니다. https://sdpark.tistory.com/85 6시간의 긴 발표이기에 중간에 브레이크 시간이 있었다. 행사에 참여한 각 부

sdpark.tistory.com