2018 Summer let us: Go!
안녕하세요 :) 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!는 역시나 자극을 많이 받게 되네요.