TIL(Today I Learned)

3월 8일(월)

학습내용

  • Kahoot
    • 알고리즘의 복잡도를 나타날 때 사용하는 대표적인 점근표기법 중 최대 경우의 수를 나타낼 때 사용하는 접근 표기법은 Big-O 표기법이다.
    • Swift에서 오버플로 연산자는 기본연산자 앞에 & 기호를 붙여 표현한다.
    • 메모리에서 지역변수와 매개변수는 Stack에 저장된다.
    • Swift에서 지원하는 Method Dispatch 방식은 Static Dispatch, Table Dispath, Message Dispatch, Direct Dispatch가 있다.
    • 함수 콜스택의 부하를 줄이기 위하여 컴파일 시점에 함수의 코드를 호출부분에 끼워 넣는 방식을 inline이라고 한다.
    • iOS 환경에서 가장 기본적인 애니메이션 기능을 제공하는 클래스는 UIView 이다.
    • UIView의 애니메이션 메서드는 비동기적으로 동작한다.
    • UIView의 애니메이션을 동적으로 편집할 수 있도록 도와주는 클래스는 UIViewPropertyAnimator이다.
    • UIView의 key frame 애니메이션의 상대적 시간은 0과 1까지의 수로 표현한다.
  • Client-Server-DB 동작 관계 역할 체험
    • 손님 - 사용자
    • 소매상(과일 쥬스 가게) - 앱
    • 도매브로커(소매상과 도매상을 이어주는 역할) - 로드밸런서
    • 도매상(과일 판매 업자) - 서버
    • 과일 창고 - DB
  • Github Projects
    • Github Projects은 Todo, In progress, Done 3개 섹션으로 구분되어 있다.
    • Template은 Basic kanban, Automated kanban, Automated kanban with reviews 등이 있다.
    • Issues를 등록하면 Projects의 Todo로 자동으로 등록된다.
    • 이슈: 해야될 일, 버그 등
    • 마일스톤: 기한을 설정하는 것
    • 칸반보드: 작업 흐름을 관리하기 위한 방법론

문제점/고민한점

  1. Static Dispatch와 Direct Dispatch의 차이점은?
  2. Commit Message로 이슈를 닫는 방법은?

해결방법

  1. Direct Dispatch은 컴파일 타임에 함수를 호출하는 코드를 실제 함수 코드로 치환(inline) 하는 방식이다. 그래서 런타임에 함수의 코드를 찾지 않고 바로 코드를 실행하면 되기 때문에 가장 빠르다. Direct Dispatch을 Static Dispatch라고 부르기도 한다. (Swift에서는 Direct Dispatch라는 말을 더 많이 쓰는 것 같다.)
  2. 커밋 메세지에 close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved 키워드와 이슈 넘버를 추가하면 자동으로 깃헙의 이슈가 close 된다. 예를 들어, “Closes: #123”라고 커밋메세지를 남기면 123번 이슈가 자동으로 닫히게 된다.

참고