개발의 원동력, 젯브레인…젯브레인 데이 서울 2018 참관기
11월 22일 서울 세종대학교 컨벤션센터에서 젯브레인 데이(JetBrains Day) 서울 2018이 열렸습니다. ‘개발의 원동력(The Drive to Develop)’이란 주제로 진행된 이 행사는 구글이 선택한 언어 코틀린(Kotlin), 자바 IDE 인텔리제이(IntelliJ IDEA), 깃허브(GitHub) 워크숍 등 개발자를 위한 다양한 세션이 진행됐습니다. 이 행사는 젯브레인 한국 총판 단군소프트 주최로 진행됐습니다.
젯브레인 데이 서울 2018에 개발하는 기자, 개기자가 다녀왔습니다.
세종대학교 컨벤션센터는 굉장히 큰 공간인데요. 젯브레인 데이에 개발자들이 행사장을 가득 채웠습니다. 마소콘 2018을 기획하고 있는 시기에 젯브레인 데이에 몰린 개발자 수를 보며 굉장히 놀랐는데요. 깃허브, MS 등 굵직한 글로벌 기업들도 부스에 참여했습니다.
안드로이드 개발을 6년간 했던 개기자는 코틀린에도 관심이 있었고, 깃허브에서도 어떤 이야기가 나올지 궁금했습니다. 또한, 마소 395호 데이터사이언스호(마소 395호 ‘데이터 사이언스와 데이터 엔지니어링’ 원고를 모집합니다)를 준비하고 있어 캐글뽀개기 데이터 워크샵도 가고 싶었는데요. 개발자로서 선택하기 쉽지 않은 탐나는 스케줄이었습니다.
고민 끝에 깃허브 워크숍을 선택했지만, 정시에 도착했을 땐 이미 자리를 가득 채운 상태였습니다. 눈물을 머금고 인텔리제이 팁을 들으러 트랙 #1로 돌아왔습니다.
하디 하리리가 진행한 인텔리제이 팁 세션에서는 개발자들의 놀라운 집중력을 볼 수 있었습니다. 이 정도 규모의 행사장에서는 집중하지 않는 참가자들을 흔히 볼 수 있는데요. 인텔리제이 팀 세션에서는 대부분의 참가자가 화면을 쳐다보고 있었습니다. 개발자는 ‘코드로 말한다’는 명언이 생각났습니다.
많은 팁을 알려줬지만, 가장 기억나는 팁은 고양이 프로그레스바인데요. 하디 하리리는 “고양이 프로그레스바는 귀엽다. 고양이 프로그레스바를 오래 보기 위해 인텔리제이를 느리게 만들었다”며 “그러니 고양이 프로그레스바 플러그인을 깔고 인텔리제이를 느리다고 말하는 것을 그만둬라”고 농담을 던졌습니다.
하디 하리리의 홍보에 넘어간 개기자는 10개월 만에 안드로이드 스튜디오를 켜서 고양이 프로그레스바를 설치했습니다.
고양이 프로그레스바의 정식 명칭은 “Nyan Progress Bar”입니다.
하디 하리리는 이어지는 코틀린 세션에서 코리안 바비큐를 먹겠다고 텍스트를 입력했었는데요. 그날 밤 정말 코리안 바비큐를 먹는 사진을 트윗에 올리며 언행일치를 보여줬습니다.
라이브 코딩을 하면서도 유쾌함을 유지할 수 있다는 것을 보여준 하디 하리리의 세션이었습니다.
이동욱 우아한형제들 개발자 – 코드리뷰 소프트웨어 Upsource
코틀린 세션을 마치고 코드리뷰 소프트웨어 업소스(Upsource)를 소개하는 룸으로 이동했습니다. 업소스 세션은 이동욱 우아한형제들 개발자가 진행했습니다. 이동욱 개발자는 마이크로소프트웨어 394호에 기고한 필진입니다. ([마소 394호] AWS EC2와 트래비스CI를 활용한 무중단 배포 서비스)
마이크를 비스듬히 잡은 이동욱 개발자는 40분 동안 빠른 속도로 스피치를 진행했습니다.
업소스는 코드리뷰를 전문적으로 도와주는 소프트웨어인데요. 깃허브 등 코드저장소에서도 코드리뷰 기능을 제공하고 있지만, 업소스는 코드리뷰만을 제공하는 젯브레인 도구입니다.
▲설치형 소프트웨어로 ▲코드분석이 지원되고 ▲젯브레인 IDE에 최적화돼 있으며 ▲10인 이하는 무료로 사용할 수 있는 이 도구를 이동욱 개발자는 사내에서 1년 가까이 사용했다고 합니다.
이동욱 개발자는 세션 시간 40분이 훌쩍 지날 정도로 정말 많은 기능을 소개했는데요. ▲인텔리제이를 켤 필요 없이 업소스 내에서 코드 주석까지 다 볼 수 있고 ▲변수 생성 클래스로 바로 이동 ▲강력한 검색기능 등 흥미로운 기능이 많았습니다. 하지만 개기자가 가장 눈길이 간 기능은 ‘정적분석 기능’입니다.
SI에서는 개발이 끝난 뒤 코드 정적분석 도구를 사용해 코드를 다듬는 과정을 갖는데요. 프로젝트 철수 전 개발이 완료된 상태에서 진행하기 때문에 잘못하면 버그를 만들 위험성이 있습니다. 코드 정적분석은 실제 실행 없이 컴퓨터 소프트웨어를 분석하는 것을 말하는데요. ▲사용하지 않는 변수를 제거해라 ▲for 문보다 foreach문을 써라 ▲죽은 if문이다 등의 가이드를 줍니다.
정적분석을 코드를 머지(Merge)하기 전 사용한다면, 개발자는 도메인 로직(Domain Logic)에 좀 더 집중할 수 있는 장점이 있습니다.
업소스에 대한 더 자세한 내용은 이동욱 개발자의 블로그를 참조하면 좋습니다. (https://jojoldu.tistory.com/256)
인텔리제이 외에도 코틀린 언어, 업소스 등 젯브레인의 다양한 ‘개발의 원동력’을 확인할 수 있던 젯브레인 데이 서울 2018이었습니다.
마소콘 2018
12월 15일 오전 10시부터 열리는 마소콘 2018 ‘글쓰는 개발자’ 세션에서 이동욱 개발자를 만나보실 수 있습니다.
글쓰는 개발자
진행: 오세용(마이크로소프트웨어)
패널: 유동환(LG전자), 이기곤(기술저자), 이동욱(우아한형제들), 정원희(트레바리)
자세한 내용은 링크를 참조하세요. (https://www.imaso.co.kr/masocon2018/)