일상

2018 Summer let us: Go!

Zedd0202 2018. 7. 21. 21:52

안녕하세요 :) Zedd입니다.

오늘은 6번째...let us: Go!를 다녀왔습니다.

요새 글이 너무 뜸하죠 ㅠㅠㅠㅠ 시간이 없어서..제대로 집중에서 공부를 못하고 있는 것 같아요. 하지만 이것도 다 핑계...겠지만 ㅋ_ㅋ

쓰고 싶은 글은 너무 만흥ㄴ데 ㅎㅎ..


암튼;; 오늘 let us: Go!는


이런 세션들로 진행이 되었는데요,

역시나 각 세션별로 저의 메모와 소소한 후기를......


● Xcode에서 디버깅 시작하기.- 이재성님

정말 유용했던...!!!!

이건 저도 한번 정리해서 제대로 공부하고 싶어요,..!!

Symbolicate는 처음들어봤는데..Xcode에는 아직도 제가 모르는 내용이 너무 많은 것 같아요.

오늘진행한건, 

Breakpoint의 사용법


각각의 옵션(?)들이 어떤 기능을 가지고 있는지.

lldb 명령어들! 뭐 p나 po, expr들의 차이점이나 뭐 어떻게 쓰는지..!

Symbolicate. 아카이브 했을 때나 아이튠즈 커넥트에서 dSYM파일?을 받아서 그걸 뭐 커맨드로 돌리면 우리가 알아볼 수 있는 크래쉬 로그를 볼 수 있다고 합니다.

정말...음..아직 제가 모르는것들이 너무많아서 한번 제대로 공부를 해야겠다고 생각한 세션이었어요. 


● 코드 응집도 높히기

발표자료에 보느라 딱히 메모를 해놓은게 없네요....

파편화되어있는 코드를 한곳으로 모으는? 그런 방법들. 여러가지 상황을 예시로 들어주셔서 오....했었어요 마지막은 Rx로 끝나서 1도 못알아 들었지만 ^_ㅠ...

오늘 거의 모든 세션에서 Rx이야기가 나왔던거 같네용.

SlideShare에 오늘 발표자료가 올라와있던데..........................링크를 남겨도 되는 거겠죠?..

https://www.slideshare.net/ChiwonSong/20180721-code-defragment-106434267


● Observable Operator 적재적소 사용하기

....

네.. 제가 대상이 아니었습니다.


~피자타임~ 


● iOS TDD실무에 적용하기

TDD를 하려면 동료들을 설득해야하는데, 먼저 내 자신을 돌아보자.

설득에 필요한 역량을 가지고 있는지? 

그 역량이 동료들에게 신뢰를 주고 있는지?

가르치는 느낌이 들면 안됨. 존중받는 느낌이 들게 ㅇㅇ

내가 가르쳐줄게!!!!ㄴㄴ 

(철저한 준비를 다 해놓고) TDD를 적용하고 싶은데, 같이 찾아보자 ㅎ0ㅎ 함께 best practice를 찾아보자고 제안.


좋은점?

일정이 정확해질 수 있음.

동료들간의 코드 이해도가 높아 내가 없어도 돌아간다.

대외적인 팀의ㅡ 실력 어필 가능.

기술적 완성도가 높하짐. -> 코드가 유연해짐. side effect적어지고 결합률도 낮아짐.


<다른 직군 설득하기>

- 같은버그가 같은원인으로 반복되지 않을것이다.

- 다른 곳을 고쳤을 때, 이전버그가 재발생하지 않을 것이다. (해당 버그에 대해 테스트를 작성했을것이기 때문)

- 다른직군과도 신뢰하는 관계여야한다. 


신뢰가 기본이 되어야함. 동기 / 역량에 대한 신뢰.

저 사람이 내 의견에 계속 토달아도 저 사람은 나를 나쁜의도로 대하는게 아닐거라는 신뢰 ㅇㅇ

우리 동료개발자는 개발을 진자 잘함, 우리 기획자는 프로젝트 전반을 잘 관리하고 있음, 우리 디자이너는 미려한 디자인을 잘 뽑아냄 ㅇㅇ

이러한 신뢰가 있어야함. 

그럼 신뢰는 어디서 오는가? 

오랜기간 서로 열심히 해야함. 솔직한 태도로 일관성 있게.


<신뢰 유지하기>

- 끊임없는 커뮤니케이션.

- 프로젝트 중간공유 잘 할 것. 어느정도 보여줄게 생겼으면 바로바로 보여주셈


<평소에 신뢰를 쌓는 방법>

- 일관성을 가지는 것이 중요.

- 인간관계.

- 뻥치지 말것

- 다른 직군에게도 가능하면 자세하게 설명하기. 자세히 알수록 공포는 줄어든다. 기획자 / 디자이너가 못알아듣더라도 충분한 설명을 해주자.


<TDD하는 방법>

- 주기가 빨라야함

- 프로젝트가 클 수록 유닛테스트 실행이 느리니 테스트타겟을 메인타겟에서 분리하자. (none으로 설정)

- 각 테스트는 연관성이 없게 만들어져야함. 


등등..

메모한걸 적어보았습니당.

실습도 같이 해보고싶다고 하셨는데 시간이 부족해서...!!!

그래서 코드는 https://github.com/vbmania/CountdownTimerTddExam 에 있다고..!!


● Texture Reactive wrapper 만들고 응용하기

Texture? UIKit를 베이스로해서 퍼포먼스를 높힌. Run loop를 가속화.

Thread safe. 쓰레드 사용에 엄격.

복잡한 UI를 렌더링하는데 메인쓰레드를 가급적 사용하지 않음.


● 미리보는 Marzipan

WWDC 2018 Keynote중, 마지막이었던 macOS에서 


이거 기억나시나용

Apple이 iOS의 UIKit일부를 mac으로 가져오는 것을 계획하고 있는데요, News, Stock, Voice Memo, Home앱들이 이미 모하비에 들어갔고, 이걸로 Apple은 테스트 중이죠!

이 4개의 앱은 AppKit을 전혀사용하지 않고, UIKit으로만 만들어졌다고 합니다.

Marzipan은 뭐냐?라고 하실 수 있는데, Apple의 universal framework의 이름이라고 생각하시면 됩니다. 키노트는 봤지만 marzipan이라는 이름은 몰랐었네용

데모가 엄청나게 간지났..


let us: Go!는 역시나 자극을 많이 받게 되네요.