이 포스팅은 6개월 iOS 개발자 챌린지 시리즈 60 편 중 3 번째 글 입니다.
목차
목표
- ~
시험 보기~ - ~
정규표현식 연습~ - ~
글쓰기 수업~ - ~
알고리즘 3강의 10, 11~ - ~
소개방 4강의 8~11~ - iOS 강의 1강 계속해서 듣기 -> ~
대신 Swift 문법 강의 듣기~ - ~
log 작성, 배운 내용 글로 작성~ - ~
1일 1 commit~
모르는 점
- 없음
배운점
- unittest, mock에 대해 배웠다.
- unit test는 필요한 함수에 대해 요구사항을 만족하는 테스트 함수를 만들고 이를 시험하는 것
- mock은 어떤 프로그램 혹은, 객체 등의 작동을 시험하기 위해 필요한 다른 함수, 혹은 모듈에 대해 가짜 객체를 만들어 리를 테스트할 수 있도록 하는 것
- TDD에 대해 배웠다.
- 확실히 요구사항에 대해서 코드를 작성하는 것이 역할이라는 것
- 그리고 알고리즘이 이를 대변한다는 것
- 그래서 열심히 할 동기가 생겼다는 것
- Agile하고 잘 맞아서 scrum 방식으로 돌아간다는 것
- sprint 단위로 작업이 된다는 것
- 테스트팀, production팀이 있다는 것
- refactoring을 하는 단계에 대해서 알았다는 것
- 너무 과한 욕심은 오히려 화를 부르고 하라는 대로 하는 것이 좋은 것
- 알고리즘도 그렇게 풀 것
- 확실히 요구사항에 대해서 코드를 작성하는 것이 역할이라는 것
- 프로파일링에 대해 배웠다.
- 코드에 대해 분석하는 것
- 성능, 콜 횟수,cpu 점유시간 등등
- 파이썬이 이미 있다는 것에 충격
- 코드를 효율적으로, 즉 이해하고 짜지 않으면 이러한 것에서 다들키게 된다.
- Git에 대해 제대로 배웠다.
- 각각의 개념과 branch 전략 등, 어떤 식으로 사용이되는지에 대해서 안 것 같다.
- cli 기반으로도 동작해보아서 편했다.
- 결과론적으로 이게 그림이 있어야 편하겠다는 생각을 했다. 그래서 github desktop에서 source tree로 변경했다.
- PR에 대해서만 실질적으로 해보면 될 것 같다.
- 이해했기 때문에 무조건 작업할 때, master, develop 브랜치를 따서 작업을 하는게 맞는 것 같다.
- source tree는 오류가 생기니 기본 repo는 웹에서 파고, 이를 연결해주는 방법으로 해결해야 할 듯 하다.
- Swift 문법
- Guard는 스코프 밖에서도 해당 변수가 값이 들어갔다면 사용이 가능하다.
- if같은 경우는
if let a = b { code }
이런식으로 쓴다면, 스코프 밖에서 동작하지 않는다. - optional은 값이 없는 경우 app이 런타임에서 죽는 것을 방지하기 위해 컴파일 타임에서 이를 검증하여 안전한 코딩을 하기 위해 존재한다.
- 이를 풀어주는 방법이 있는데, 이게 옵셔널 바인딩이다.
- 옵셔널 바인딩에는 if, Guard가 있다.
- Guard
- else와 함께 붙어다닌다.
- else안에 들어올 경우 return해야 한다. 안그러면 컴파일러가 지적한다.
- 그렇기 때문에 실행을 종료시켜버릴 수 있다는 장점이 있다.
- 스코프 밖에서 값을 사용할 수 있다.
- Guard
- nil coalescing
- 이건 값이 nil일 경우 default 값을 먹일 수 있게 하는 스위프트 고유 연산자이다.
- 요까지 들었다. 일단.
- Pull Request!!
- 야호! 드디어 알아냈다 후후..
- organization 만들기
- 팀원 초대
- 레포 만들기
- 해당 레포 fork
- clone해서 가져오기
- repository setting에서 remote origin 별명을 upstream으로 변경
- clone한 repo 주소 입력
- branch 따기
- 내 레포에 commit
- 원본 repo에 반영됨!! 야호!
- 야호! 드디어 알아냈다 후후..
- 알고리즘
- knapsack 문제
- 동적 계획법
- 백트레이킹
- N Queen
- 부분집합의 합 문제
- knapsack 문제
개선할 점
- 아침에 좀더 빨리 일어나보기.
- 일단 학교에 집중. 이거하면서 배우는게 또 있다.
- 글쓰기 수업은 라이브로 치운다.
- 다음주까지 스위프트 문법, 알고리즘에 집중하는 것이 좋아보인다.
- 알고리즘은 유성장에 있는 것을 푼다. PS 레포따로 만들어서 계속 올린다.
잡담
- 피곤하군..