let us go 2019 Summer review

2019-08-05
Seminar

안녕하세요. 도미닉입니다.

저번주 토요일에 let us: go 2019 summer 세미나에 참석했습니다.

처음으로 참석한 Swift 관련 세미나였고 긴 시간의 세미나였습니다.

새로운 분들을 만나 자극도 받고 새로운 기술들을 알 수 있는 유익한 시간이었습니다.

그에 대한 후기를 작성하고자 합니다.

B 트랙

첫번째 발표

카우님이 발표해주셨습니다.

alamofire 와 moya 을 이용해 네트워킹을 하는 실습을 하셨습니다.

저는 네트워킹을 해본적이 없어서 실습을 따라가지는 못했습니다.

조금 더 천천히 코어적인 부분 위주로 실습을 했으면 더 따라가기 쉬웠을 것 같습니다.

mac os 를 카탈리나 베타 5 로 업그레이드하면서 cocoaPod 이 동작하지 않아서 소스를 따라치지도 못했네요.

써야하는 프로그램이 있다면 미리 공지해주시면 실습을 따라하는데 도움이 될 것 같습니다.

“Moya 는 네트워크를 담당하는 파일을 만들어야 한다.” 라고 말하셨는데 조만간 alamofire 와 moya 를 이용해 보면 이해할 수 있을 것 같습니다.

두번째 발표

keyWindow 님이 발표해주셨습니다.

스위프트 UI 의 기본적인 내용부터 꼼꼼하게 발표해주셔서 쉽게 이해하면서 들을 수 있었습니다.

말씀하신 부분을 요약해봤습니다.

  • AppKit, UIKit 등의 UI 소스가 기존에는 플랫폼 별로 셋팅을 해주어야한다. 반면에 Swift UI 로 작성을 하면 어느 플랫폼에 가져가도 다 쓸 수 있다.

  • UI 객체들이 기존에는 클래스로 구성되어 있었다. 스위프트 UI 에서는 UI 객체가 구조체로 구성되어 있다.

  • UIKit 은 명령형 UI 이고 SwiftUI 는 선언형 UI라는 점도 차이점이다. 선언형은 상태가 어떤지 등은 말하지 않고 표현하라고만 한다.

  • Swift UI 는 MVVM 에 용이하게 설계되어 있다. View 와 view model 이 바인딩(싱크)되기 때문이다. 위와 같은 이유로 기존의 흐름이 엇갈리는 등의 문제가 발생하지 않는다.

  • some : Opaque Return Type 이며 프로토콜에 해당하는 뭔가를 리턴할 것이다(불투명 리턴타입)

  • 스위프트 5.0 부터 메소드 안에 소스가 한줄만 있으면 앞에 return 이 생략 가능하다.

  • 앞에 @ 가 붙어있으면 Property Wrapper 이다. (매직박스)

  • 파이프의 역할을 Combine 이 한다. (Publisher - Subscriber)

  • Publisher 는 데이터를 쥐고 있는 사람.

  • 다크모드와 라이트모드에서 사용할 색상을 따로 설정할 수 있다.

세번째 발표

구범모님께서 발표해주셨습니다.

시간이 촉박해서 인지 다소 빠르게 진행됬습니다.

아이패드 스케치북 앱을 만들었는데 카메라로 사진을 찍으면 스캔이 되는 등의 기능들이 간단하게 코드 한두줄로 작성되는 것이 신기했습니다.

이번에도 너무 여러 기능들을 구현하기 위해서 자세한 설명없이 코드 따라치는 식으로 진행이 되서 아쉬웠습니다.

중간에 하나라도 놓치면 전체를 따라가기가 힘들었습니다.

이번에 새로 나온 기능들과 여러 윈도우를 띄어보는 경험을 해봐서 좋았습니다.

네번째 발표

RxSwift 를 해보지 않은 상태에서 저번 Let Us: Go 에서 발표하신 Observable 세션만 보고 발표을 들었습니다.

아무래도 RxSwift 에 대한 이해가 없는 상태라 Observable 세션과 이번 발표 또한 이해가 많이 가지는 않았습니다.

하지만 RxSwift 가 어떻게 구성되있는지 조금이라도 익숙해질 수 있었습니다.

주말동안 발표 처음에 말씀하신 곰튀김님의 “RxSwift 4시간만에 끝내기” 을 보았습니다.

RxSwift 에 대해서 이해가 생겼고 어떻게 공부할지도 알 수 있었습니다.

곰튀김님의 영상을 본 상태에서 저번에 엉덩숭아님이 발표하신 Observable 세션을 보니 더 이해가 됬습니다.

비록 발표는 많이 못알아들었지만 말로만 듣던 RxSwift 에 대한 공부의 자극도 받고 익숙해질 수 있었던 세션이었습니다.

다섯번째 발표

giftbot 님께서 발표해주셨습니다.

view life cycle 에 대한 발표인지 알았는데 App 의 라이프 사이클에 대한 발표였습니다.

시간이 없었음에도 불구하고 개념들 설명과 따라하기 쉬운 예제 소스까지 깔끔하게 발표해주셨습니다.

commit 을 남겨주셔서 따라서 안치더라도 다음 소스가 완성된 상태로 이동할 수 있어서 좋았습니다.

아래는 발표해주신 내용 요약한 내용입니다.

  • 맥os 카탈리나부터 64비트 만 지원한다.

  • Int 가 32비트였으면 4바이트였는데 64비트면 8바이트이다.

  • iTunes Connect 가 App Store connect 로 바뀌었다.

  • 낮은 버전의 OS 는 런타임 복사본이 필요하다.

  • Tester Onboarding 은 어떤걸 테스트할지 등을 안내함

  • 앱 이름 최대 30자, 부제목 최대 30자 앱 아이콘은 PNG

  • Fullscreen != Sheet

  • 내리면 View will disappear 로 바뀜

  • Print 대신에 OSLog 쓰는게 더 좋음

  • isModalInPresentation 을 true 로 하면 (기본값은 false) 내려서 dismiss 못함

  • presentationControllerDidAttemptToDismiss : 제스처로 인한 디스미스가 실패했을 때 호출되는 메소드

정리

처음갔던 스위프트 세미나였습니다.

너무나 좋은 시간이었고 발표하시는 분들 보고 자극을 많이 받았습니다.

다음 가을 세미나도 갈 수 있도록 신청해야겠습니다.

나중에는 발표도 할 수 있도록 더 공부하고 연구해야겠습니다.

읽어주셔서 감사합니다.