Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[220803] TIL #89

Closed
Taehyeon-Kim opened this issue Aug 3, 2022 · 1 comment
Closed

[220803] TIL #89

Taehyeon-Kim opened this issue Aug 3, 2022 · 1 comment
Assignees

Comments

@Taehyeon-Kim
Copy link
Owner

Taehyeon-Kim commented Aug 3, 2022

인증키와 gitignore

  1. 항상 gitignore는 먼저 처리하자.
    이후에 인증키를 처리하려고 하면 commit에도 남아있고, 이전 기록에 남아있으므로 번거롭다.
  2. 프로젝트 내에서 empty 파일 생성 후 프로젝트 바로 밑에 .gitignore 생성 가능
  3. 협업 시에는 property list, configuration을 이용하는 식으로도 인증키를 관리한다.
  4. 숨겨야 하는 파일이 많으면 public repository가 적합한지부터 판단하자.
  5. gitignore.io에 가면 쉽게 파일에 들어갈 내용을 만들 수 있다.
  6. 숨김파일로 잘 등록하면 프로젝트 내의 파일 옆에 A(추가)/M(수정) 마크가 뜨지 않는다.

Type Inference와 Type Annotation 속도 차이

Type Annotation을 이용하기로 하자. 자세한 내용은 블로그 글 참고 바람.

날짜 계산

  • TimeInterval 이용
  • Calendar 이용 (Apple에서 권장 하는 편)
  • Date, DateFormatter, Calendar 잘 정리해보자.

네트워크 통신

  • 서버 통신에 대한 예외 처리 잘하기
  • 네트워크 속도가 느린 환경 테스트 필요, 실기기 테스트 시 condition 조절이 가능하다.
  • 한글로 쿼리를 날릴 때 인코딩 필요(utf-8방식 이용) : addingPercentEncoding , .urlQueryAllowed character set 이용

Pagination (페이지네이션)

  • 데이터가 많은 상황을 가정해보자.
  • 많은 데이터를 적당한 리소스로 분할하는 것이 필요하다.
  • 크게 offset, cursor 기반 페이지네이션으로 나뉜다.
  • iOS에서 구현하는 방법은 크게 3가지 정도가 있다. 다음 TIL에서 내용 확인 바람.

소켓 vs HTTP

  • 음악, 채팅과 같은 기능은 소켓 통신 방식을 이용해서 구현하는 편이다.
  • 연결을 끊지 않고 통신을 유지하는 것이 필요하고 실시간성이 보장되어야 하기 때문이다.
  • 또한, 양방향 통신으로 이루어진다.

First Class Object (일급 객체)

  1. 객체
  2. 함수
  3. 프로토콜

일급 객체의 특성

  1. 변수, 상수에 함수를 넣을 수 있음
  2. 반환 타입으로 함수 사용 가능
  3. 인자 값으로 함수 사용 가능
@Taehyeon-Kim
Copy link
Owner Author

swift-9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant