try! Swift Tokyo 2019 후기 #tryswiftconf

지난 3월 21일~23일에 도쿄에서 열린 try! Swift 콘퍼런스에 참가하고 왔다. 해외에서 열리는 콘퍼런스는 처음이고, 일본에서 도쿄도 처음이라 조금 설렜지만 출발하기 전까지는 잘 다녀올 수 있을까 라는 걱정이 많이 되었다.

콘퍼런스는 발표 세션으로 이루어진 이틀과 워크샵으로 진행되는 마지막 날로 구성되어 있었다. 발표 세션은 시부야에 있는 Belle Salle Shibuya First라는 이벤트홀에서 진행되었다. (구조도 비슷하고 우리나라의 코엑스 느낌이었다.)

이번에는 900명이 참여했다고 들었는데 32개 국가에서 온 사람이 많았다. 이렇게 많은 사람이 iOS, 또는 Swift로 개발을 하거나 적어도 관심이 있는 사람들이라고 생각하니 뭔가 새롭고 대단하게 느껴졌었다.

발표는 영어와 일본어로 진행되었고, 일본어의 경우는 통역기를 사용해서 동시통역으로 번역된 영어로 들을 수 있었다. 하지만 일본어는 아예 못 알아듣는다면 영어는 조금 나은 정도라서 큰 차이는 없었다. 그리고 동시통역의 경우는 듣고 번역하는 것이 아니고 스크립트가 있어서 보고 읽는 느낌이었고 그 속도가 매우 빨랐다. (랩하는 줄…)

(내가 참석했던) 다른 콘퍼런스와 다르게 트랙 구분이 없이 모두가 같은 세션을 듣는 형태로 진행되었고 이틀 동안은 중간중간에 쉬는 시간을 가지면서 계속 세션을 듣고 노트북으로 정리하기 바빴다. 점심시간에는 3가지 종류(1개는 비건을 위한 메뉴) 도시락이 준비되었다. 나는 도시락도 먹을만한 했다. 🍱

모든 세션에 대한 발표자료와 동영상은 이후에 공개될 것이기 때문에 내가 100% 알아듣지도 못하고 정리한 내용을 모두 쓸 필요는 없을 것 같고, 인상 깊었던 세션들만 정리해야겠다.

Introduction to Swift Keypaths

Keypath라는 개념이 있다는 걸 알고 있었지만, 정확히 어떤 개념인지 어떻게 활용할 수 있는지를 보여준 세션이었다. 예제로 보여준 건 앱 설정 메뉴를 Keypath를 갖는 모델로 만들어서 Provider로 관리하는 것이었고, Keypath 합성을 사용해서 하위 메뉴까지 업데이트 하는 걸 보여줬다. 그리고 Keypath 관련 라이브러리를 소개해줬는데, Kuery 라이브러리가 괜찮아 보였다.

발표자료: https://speakerdeck.com/terhechte/introduction-to-swift-keypaths

Making Portrait mode yourself

이건 10분 동안 진행되는 라이트닝 토크 중의 하나였는데, 이틀 동안 라이트닝 토크 중의 가장 인상적이었다. 아이폰 X부터 지원되는 인물사진 모드를 Depth가 없는 2D 이미지를 사용해서 구현하는 방법을 발표했다. Depth 효과를 위해서 대상과 배경으로 이미지를 구분하고 더 좋은 결과물을 위해 후보정까지 하는 과정을 설명했는데 짧은 시간 내에 임팩트 있고 과정마다 결과물도 바로 보여줘서 더 집중되었던 것 같다.

발표자료: https://speakerdeck.com/koooootake/making-portrait-mode-yourself
소스코드: https://github.com/koooootake/Portrait-without-Depth-ios

Building a Social Network in Swift

IBM에서 밀고 있는(?) Swift 서버사이드 프레임워크 Kitura를 사용해서 모바일 앱을 위한 백엔드 API 서버를 구현하는 데모를 보여줬다. Kitura OpenAPI를 사용하면 Swagger처럼 API 문서가 다 만들어지고 API 테스트까지 해볼 수 있었다. 또한 간단한 SNS를 만들면서 웹 프론트엔드와 모바일 앱 사이의 동기화는 WebSocket을 이용해서 구현했다고 했다.

발표자료: https://speakerdeck.com/dokun1/building-a-social-network-in-swift

Extending a hand to the next generation of Apple developers

(공개된 발표자료도 없고, 발표 또한 영어와 일본어로 동시에 진행해서 정확하지 않지만) 다양성에 관해 이야기했던 것 같다. 그리고 iOS 개발을 시작하기 어려운 이유와 어떻게 하면 시작하는 사람들을 도울 수 있을까? 에 대한 발표였다. 인종, 성별, 연령뿐만 아니라 각자의 가치관이나 매력도 있는 그대로 수용할 수 있는 다양성에 대해 말했던 것 같다. 그리고 슬라이드에 나온 여러 동물이 함께 모여있는 모습이 인상적이었다. 소프트웨어 개발이야말로 다양한 (직군의) 사람이 모여 협력해야 한다. 내가 할 수 있는 것, 그리고 나눌 수 있는 경험이 어떤 것이 있을지에 대해 생각해보고 되었고, 잠시 멈췄던 스위프트 강의를 다시 시작해야겠다고 생각하게 되었다. (공감하고 긍정적인 자극을 받았다.)

So,

전체적으로 매우 만족스러운 콘퍼런스였다! 그냥 내가 처음 참석하는 해외 콘퍼런스이고 모든 게 새로운 경험이어서 가산점이 많이 적용되었을지도 모르지만 말이다. 다른 한국 개발자들과 점심을 같이 먹거나 뒤풀이를 하면서 나온 이야기로는 기술적인 세션이 조금 부족해서 아쉬웠다는 이야기도 있었는데, 나는 조금 다르게 생각했다. try! Swift 라는 콘퍼런스 이름을 그대로 해석해보면 Swift를 가지고 뭔가 시도해본 모든 경험을 발표하는 콘퍼런스라고 생각했다. 그래서 iOS가 메인이 아니었고, macOS나 서버사이드, 하드웨어 등등 다양한 부분에서 다양성을 가진 발표자들이 자신의 경험을 공유했다고 생각한다. 우리는 여기에서 영감을 얻거나 긍정적인 에너지를 받았다면 그걸로 콘퍼런스 참여는 성공적이었다고 생각한다.

And.

생각보다 새로운 경험을 많이 할 수 있었다. 쉬는 시간에 우연히 아르헨티나에서 온 개발자를 만나서 서로 인사를 나누고 네트워킹을 한다거나 트위터로 팔로우만 하고 있던 개발자나 try! Swift 콘퍼런스를 운영하는 나타샤를 만난다거나 유튜브로만 보던 마유코를 만나서 함께 사진을 찍는다거나 하는 모든 게 새로운 경험이었고, 나에게는 긍정적인 자극이었다. 참석하길 정말 잘했다는 생각이 들었고, 일본에서 함께 다녀주고 가이드 해준 earl님께도 정말 고마움을 느꼈다!

Party 🎉 and Networking 🙌
/w earl @ try! Swift TOKYO