관리 메뉴

이 세계에선 내가 개발자?

KWDC 2023에 참여하다! 본문

이모저모

KWDC 2023에 참여하다!

민디고 2023. 7. 24. 14:23

WWDC가 열리고 몇개월 후, KWDC 라는 컨퍼런스가 열렸다.

카카오톡 iOS 오픈 채팅방에서도 2개월 전부터 홍보하는 등 많은 관심을 받은 만큼 나도 기대가 많이 되었다.

 

아직까지도 나오는 아쉬운 점 중에 하나는 너무 비싸다는 것이었고, 세션을 미리 공개하지 않았다는 것이다. 

세션이 만족스러우면 그 만큼의 돈을 투자할 가치가 있었을 것 같은데 세션이 공개되지 않은 상황에서 결제 먼저 하려니 조금 주저하게 되었던 것 같다.

 

그러나, 유명한 커뮤니티들의 합작이고 이런 대형 컨퍼런스를 참여할 기회가 많이 없을 것 같아서 흔쾌히 6만 8천원이라는 거금을 들여 신청을 해두었다.

 

드디어 타임테이블과 세션이 공개되었다. 자세한 내용은 kwdc.dev 에서 확인할 수 있다.

 

 

이 중에서 내가 들었던 세션은 이랬다.

11:00 ~ 11:45 여의도 트랙 <라이노 : Swift 언어 히스토리 탐방>

12:00 ~ 12:30 가로수길 트랙 <GREEN : SwiftUI Animation이라는 바다를 헤엄쳐 봅시다!>

13:30 ~ 14:00 명동 트랙 <김윤재 : Swift Concurrency>

14:15 ~ 15:00 여의도 트랙 <날진/소들이 : 매크로 부수고 부서지기>

15:15 ~ 15:35 여의도 트랙 <토브 : SwiftData 언박싱 대신해드립니다!>

 

이렇게 하나 하나 놓고 보니까 궁금했는데 들어보지 못한 세션도 많고, 들었는데 너무 어려워 이해하지 못한 세션들도 있어서 조금 아쉬웠다.

하지만 그래도 들었을 때 후회는 없었다.

 

10시 30분 쯤 삼성역에 도착하여 그랜드볼룸 쪽으로 가자 사람이 무척이나 많았다. iOS 개발자가 많이 늘었다고는 하나, 한 공간에 이렇게 많은 iOS 개발자를 볼 기회는 많이 없었기 때문에 놀랍기도 했고 신기했다.

 

길다란 줄을 기다려서 체크인을 무사히 마쳤다. 

체크인 때 준 굿즈는 KWDC 뱃지와 방수 가방이었다. 뱃지는 예뻤다. 아쉽게도 사진을 찍진 못했지만 그래도 마음에 드는 것 중에 하나였다. 그리고.. 방수 가방은... 음.. 잘 모르겠다. 수영장 갈 때 유용할 것 같다.

 

그래도 이왕 왔으니까 들어가기 전에 왔다는 인증 정도는 남겨야 하니까 사진 한 장 찰칵해주고

 

 

사실 좀 늦게 도착해서 앞 부분은 못 듣거나, 사람이 너무 많아서 자리에도 못 앉는거 아닌가 조금 걱정했는데. 예상 외로 내가 들으려고 했던 첫 세션은 조금 늦게 시작했다.

 

첫번째로 들었던 세션은 라이노님의 Swift 언어 히스토리 탐방 이라는 세션이었다.  

말 그대로 지금까지의 Objective-C 부터 시작해서 Swift 5.9 까지의 주요 변화 내용들을 소개해주셨다.

 

사실 이 세션을 들으려고 결심한 이유는 내가 iOS에 입문한지 얼마 안됐을 때가 Swift 5.5 가 나왔던 때 였던 것 같아서, 그래도 내가 지금 Swift를 이용해 개발을 하고 있는데 지금까지 무슨 일이 있었는지는 알아야하지 않을까? 하는 생각에서 듣기로 결심했던 것이었다.

 

물론 들었을 때 내가 원하던 느낌의 세션은 아니었지만, 그래도 어느정도 각 버전마다 무슨 일이 있었고, 어떤 것들이 새로 나왔고, 어떤 것이 활용하기 좋고 이런 내용들이 있어서 어느 정도 목표에 들어맞았다고 볼 수 있었다.

 

내용 중 가장 인상 깊었던 건 Swift DocC 라는 것이었는데 말 그대로 Document를 만들 수 있도록 도와주는 친구였다.

이런 게 있었다니...! 되게 유용해보여서 나중에 써먹어 보려고 하는데, 진짜로 써먹게 되면 포스팅 한 번 해봐야겠다.

 

이런 식으로 몰랐던 내용들을 알 수 있는 경험이 되어서 좋았다.

 

첫 번째 세션이 끝나고 쉴 틈도 없이 자리를 이동해서 두번째 들을 세션인 GREEN님의 SwiftUI Animation이라는 바다를 헤엄쳐 봅시다! 라는 세션을 들으러 갔다.

 

이거 들으러 가기 전에 스폰서 부스에서 이벤트를 진행하고 있길래 슬쩍 끼어서 이벤트를 참여했고, 사실 도장을 모을 생각이 없었는데 어쩌다보니까 도장도 받고 굿즈도 받고 그래서 기분이 좋았다.

 

아무튼 저거 하느라 두 번째 세션을 조금 늦게 들어갔는데 다행이 뒷자리가 남아있어서 중간부터 내용을 듣기 시작했다.

 

요즘 SwiftUI에 관심이 많아져서 관련 세션을 듣고 싶었는데 그 중에서도 Animation 이라는 주제가 나에게 흥미롭게 다가왔던 것 같다.

회사에서 모 프로젝트에 서포트로 참여할 때 SwiftUI를 이용했고, Animation을 이용하는 부분이 많았기 때문에 그것 때문에도 관심이 갔었다.

 

세션을 들으니, 와 정말 나 아는 거 없구나! 이 생각 밖에 안들었다. 

그래도 프로젝트 참여하면서 SwiftUI에 대해서 조금은 알게 되었다고 생각했는데, 알게 되기는 무슨 내가 한 건 새 발의 피였다.

일단 이해는 안되지만 모두 다 메모장에다 적어놓고, 정리하면서 공부해 볼 생각이었는데, 나는 무슨 생각으로 이렇게 정리한건지 모르겠다.

 

ㅋㅋㅋ 이게 뭐야

다급하게 메모장에 써서 그런가 오타도 많고, 이게 대체 무슨 내용인지 모르겠지만 그래도 나중에 SwiftUI를 더 공부하게 되고, 또 Animation을 공부하게 되면 참고자료로 사용할 수 있지 않을까..?

나중에 유튜브로 발표 영상도 다시 올라온다고 하니 다시 한 번 봐야겠다...

 

이 다음은 점심시간이었다. 많은 사람이 참여한 만큼, 또 주말의 코엑스는 사람이 미어터지기 일보직전의 상황이었다.

그래서 그냥 근처에서 간단하게 점심을 떼우고 다음 세션을 들으려 가려 했는데,

 

사실 나는 다음 세션을 뭘 들어야할지 몰라서 그냥 도장이나 모을까 생각하고 있었다. 그런데 아시는 분이 Swift Concurrency 세션을 듣는다고 하시길래 마침 첫 번째 세션에서도 저 이야기가 나왔겠다. 같이 들으러 갔다.

 

... 그리고 난 엄청난 벽에 막혔다. 이게 무슨 말이야 대체, 내가 배경지식이 없어서 그런가 진짜 세션을 듣는 내내, 한 개도 이해를 못했다.

내 앞쪽에 앉으신 분들은 엄청나게 고개를 끄덕이시던데, 그래서 나도 일단 따라서 끄덕였다.

 

네.. 네 언니...

일단 끄덕였지만, 메모장에 적을 엄두도 하지 못하고 이번 세션이 끝나게 되었다.

에효 공부 더 열심히 해야지

 

다음 세션은 진짜 내가 KWDC 에 이 분들 보고 신청했을 정도인 날진님과 소들이님의 매크로 부수고 부서지기 라는 세션이었다.

이번 Let us Go: 찍먹톤 에서도 되게 궁금했던 내용이 있었는데 바로 매크로 였다. 이번 WWDC 2023 에 새로 나온 이 매크로는 

진짜. 완전. 마법. 같았다. 그래서 언젠가 한번 파보고 싶었는데 이 내용을 심지어 날진님과 소들이님이 소개해주신다니! 

(솔직히 내 코드의 절반은 날진님과 소들이님 코드다.)

 

 

진짜 기대하는 마음으로 세션을 듣기 시작했는데 아니 이게 뭐야 진짜 마법인가?! 싶을 정도로 엄청난 기능을 가진 아이였다.

그리고 이 세션이 이번 KWDC 내가 들었던 세션 중 가장 재미있었던 이유는 발표자 분들이 재치만점이었기 때문이었다.

 

이런 발표를 하시다니 역시 날진님과 소들이님!

 

매크로 내용을 들었을 때 진짜 이게 된다고? 생각까지 들 정도였다. 물론 이해하는 거랑은 별개지만 그래도 진짜 재미있게 들었던 세션이었다.

 

아니 만약에 (1 + 1, "1 + 1") 의 튜플을 만들어서 출력하면 1 + 1의 결과는 2 입니다 의 결과가 나오도록 만들고 싶은데

이 내용을 배열로 만들어서 뿌리고자 하면 이렇게 될 것이다.

 

let caculations = [
(1 + 1, "1 + 1"),
(2 - 3, "2 - 3"),
(3 * 5, "3 * 5")
]

솔직히 이 정도 코드 가지고 매크로를 만들기란 조금 .. 조금... 낭비 일 수도 있다. 하지만 생각해봐라 만약 3 * 5 의 결과가 나오는데 String이 "3 + 5" 로 오타가 생긴다면? 와 이거 에러 잡느라 화나겠는걸~

 

그래서 이런 실수를 조금 줄이고자! 코드를 조금 줄이고자! 매크로를 사용할 수 있다는 것이다.

매크로를 사용하면 아래와 같이 나타낼 수 있다.

let calculations = [
#stringify(1 + 1),
#stringify(2 - 3),
#stringify(3 * 5)
]

여기서 #stringify가 매크로다. 이렇게 쓰면 저 위의 튜플로 작성한 것과 동일한 결과가 나올 뿐더러 오타를 줄일 수 있다. 왜냐구? 우리는 1 + 1의 값을 넣으면 무조건 1 + 1의 결과와 String이 나올 테니까!

 

매크로의 Role 에는 크게 두 가지가 있는데 freestanding macro 와 attached macro 이다.

요 두개는 표현식에서 달라지는 것을 알 수 있는데 freestanding macro 는 앞에 @ 를 붙이고 attached macro 는 앞에 #을 붙인다.

 

사실 이 두개의 종류에 대해서도 많고, 자세히 설명해주셨는데 여기서 다 설명하면 케덥씨 후기가 아니라 매크로한테 부서지는 글이 될 수도 있으니 여기서 줄이기로 한다.

 

아무튼 이렇게 재미있었던 세션을 듣고 마지막은 SwiftData 에 대해서였다. 

아쉽다면 이 세션을 듣다가 갑자기 일이 생겨서 제대로 듣지 못했다는 것이다. SwiftData도 나름대로 기대했던 친구라서 제대로 못들은게 아쉽지만, 영상 올라오면.. 또 봐야지!

 

이렇게 모든 세션을 다 듣고 나서 사실 마지막 메인 이벤트가 남아있었다. 

조금 논란도 많고 말도 많았던 내용이지만 스폰서 부스를 돌면서 도장? 스티커? 을 모으면 애플 티셔츠를 준다는 것이었다.

 

나는 원래 모을 생각은 없었는데, 부스 다 돌다보니까 엥 어느새 다 모았다. 그래 돈도 냈고, 내 연차도 썼는데 이정도는 받아야지 하면서 줄 서있는데, 와 사람 진짜 많았다. 짱 많았다. 와우

 

그리고 하나 자랑할 거 있다면 줄 서 있는데 오모나 내 눈앞에 날진님이 보였다. 진짜 와 진짜 말걸고 싶어서 쭈뼛대면서 흘끔 흘끔 바라보는데 날진님이랑..! 눈이 마주쳤다! 와 그때 심쿵할 뻔

 

그때 내 기분 마치 Like this

아무튼 날진님이랑 눈 마주치고 나서 날진님께 감사 인사와 발표 멋있었고, 진짜 날진님처럼 발표하고 싶다고 말씀드렸다. 진짜 행복해...

(근데 진짜 날진님 발표 너무 잘하시고 이쁘시고 똑똑하시고 멋지시고 다함)

 

근데 또! 다시 티셔츠 줄 기다리고 있는데 날진님이 이거 찍어드릴까요? 하면서 뭔가 Swift 로고 목각 도장? 각인? 그런걸 보여주셨다. 와 진짜 행복해 나는 당연히 네!!!! 이러면서 냅다 이름표를 내밀었고, 성덕은 여기서 잠듭니다.

 

아 진짜 저거 너무 귀엽고 진짜 너무 좋고, 와 행복해

큼큼 아무튼 이렇게 다시 티셔츠 줄을 서고 있는데 점점, 티셔츠를 받을 때가 다가오니까 앞에서 환호성이 들렸다. 진짜.. 좀.. 아니 많이 무서웠다. 극 E였던 내가 쫄정도면 진짜 .. 너무 무서웠다.

(근데 최근에 다시 검사해보니까 I 나왔다 이제 잉뿌삐다. 그때 무서웠던 이유가 있었구만...)

 

티셔츠를 받으러.. 앞으로.. 가니까... 스태프 분들이 양 옆으로 쫙 줄서서 티셔츠 받은 사람들에게 지나가면서 하이파이브 해주시면서 환호해주시고 계셨다. 와 진짜. 여기 어떻게 지나가지 이 생각으로 티셔츠를 받고 앞에서 머뭇거리니까 스태프 분이 할 수 있어요! 할 수 있어요! 하시는데 죄송해요 할 수 없었어요.....

 

진짜 멋 없게 지나갔다. 맘에 안들어😬

 

아무튼 이렇게 유익하다면 유익했고, 즐거웠다면 즐거웠던 KWDC가 마무리되었다. 

첫 회라서 그런지 우여곡절이 많았지만 그래도 나름 체계적인 행사였고, 다음에도 열린다면 참여할 의사가 있다.

(대신 세션은 좀 빨리 나와줬으면..)

 

다음에 갔을 때 또 환호하는 그런 마무리가 있다면 그땐 멋있게 지나가야지! ㅋㅋㅋㅋ

라고 다짐하며 KWDC 스태프분들 너무 수고하셨습니다! 🥳

 

KWDC 후기 끝!