본문 바로가기

NEWS

Let'Swift 18

KeyNote (Slide)

1. Swift5

2. Swift NIO server-side networking

3. Swift Syntax

4. LSP language server process

( * 서버사이드쪽을 강화하는 쪽으로 변경점이 집중되는 듯 )


* 설문을 바탕으로 한 iOS 개발자 풀 분석

- 2년 미만의 개발자가 50% 이상

- 혼자 또는 3명 미만의 개발팀이 대부분

- objc와 혼용하거나 Only Swift로 개발하는 건 이미 주류

- 코드리뷰, 짝코딩 문화는 계속 커지는 중

- TDD는 꼭!!

Side project로 앱스토어 1위 공략하기 (Slide)

* 보안카드 위젯앱을 4년 동안 유지보수 하면서 했던 경험.


1. 작고 재미있는 아이디어에서 출발

2. 다양한 커뮤니티 채널을 통해 마케팅

3. 꾸준한 유지보수를 해야 입소문도 타고 사용자 증가를 만들어냄

- 아이폰 출시때 필수앱으로 설치 급증

4. Reedem code 배포는 별도 뿌리는 사이트 이용

(**카드 보안은 키체인 암호화 + 아이클라우드)

- 보안적으로 좀 더 복잡하거나 어려울꺼라 생각했는데 생각보다 간단해서 이게 정말 보안적으로 괜찮을까 하는 생각이 듬.


그 외 팁

1. 핫픽스 업데이트의 경우 이전 업데이트 문구를 혼합해 작성해준다.

2. 기존 버전에 추가된 사항을 다시 한번 알리는 효과

3. 리뷰에 개발자 답변을 작성할 수 있어 꾸준하게 소통

4. 사용자는 UI 변경에 매우 민감함.

5. "구매내역 삭제"나 원색적인 비난의 리뷰는 "신고"를 통해 해결 가능

- 평점을 높게 유지하는게 설치에 큰 영향을 준다.


Clean Code / Review (Slide)

- 설계 -> 구현

- Swift Style 도서 (원문)

- 애자일 설계

- 큰 개념부터 세부 개념으로 들어가며 설계

* The Clean Architecture


객체 설계 원칙

1. SRP - Single Responsibility Principle

- Method 구현시 전역으로 선언된 값을 가지고 구현하기 보단 parameter로 받아서 처리

2. OCP - Open Close Principle

- View에서 데이터 접근시 model보다는 Model들을 가지고 있는 Protocol을 선언, 접근하도록

3. DIP - Dependency-Inversion Principle

- ViewController가 가진 View에 대한 의존성은 없애고 View에 추상화된 인터페이스에 접근 구현되도록.

4. ISP - Interface Separate Principle

- 각 object가 가진 인터페이스도 역할에 따라 구분되어야.

짝 프로그래밍



Debugging with Xcode, LLDB with Chisel workshop#2.Debugging With Xcode, LLDB and Chisel.pdf

- 디버깅시 일일히 빌드를 하지 않아도 명령어를 통해 곧바로 코드의 변화를 테스트 해볼 수 있다는 점

- 자주 쓰면서 익숙해지면 개발 속도 향상에 큰 도움이 될듯

- Chisel은 페북에서 만든 라이브러리로 조금 더 쉽게 LLDB 디버깅이 가능해지도록 해줌


* 대부분 슬라이드에 내용이 다 있지만 유용할꺼라 생각되는 내용만 필기.



AI in iOS

- 개인적으로 기대하던 세션이었으나 대부분 샘플 코드를 설치, 실행하는데 초점이 맞춰져 있어 집중도는 떨어지는 편이었다.

- ML을 학습시키는 방법이나 ML을 앱에서 어떻게 사용하지는지에 대한 간략한 설명이 더 좋았을꺼란 아쉬움.

- 필요한 타입의 ML샘플 코드를 받아 어떻게 사용하는지 따로 분석해봐야 할 필요가 있음.


- 구현방식이 복잡하기 보단 테스트를 하는 목적을 좀 더 확실히 정해야 하는, 생각하는 방식의 변화가 필요해 보임.

- UI Test는 Unit Test에 비해 중요도가 낮다고 판단 Unit Test에 집중하고 있다고 함.

- Mock Data를 이용해 네트워크 없이도 테스트 가능하도록