TIL(Today I Learned)

3월 29일(월)

학습내용

  • Kahoot
    • OAuth 소비자는 사전에 서비스 제공자에게 요청토큰을 받급 받아야한다.
    • OAuth 소비자는 사용자에게 인가받은 기능에만 접근할 수 있다.
    • SNS로그인은 OAuth를 활용한 서비스의 일부이다.
    • OAuth는 특정 기능의 접근을 허가받기 위한 인가 프로토콜이다.
    • URLCache는 디스크 캐시를 지원한다. (NSCache는 메모리 캐시만 지원한다.)
    • 국제화 축약표현은 i18n, 지역화 축약 표현은 L10N이다.
    • UIKit환경에서 지역화할 수 있는 요소는 날짜형식, 화폐단위, 이미지 등이 있다. (Data assets은 아니다.)
    • Xcode에서 제공하는 도구로, 접근성 기능을 시험해볼 수 있는 도구는 Accessibility Inspector이다.
  • Core Graphics
    • Graphics Context은 도화지 역할을 하며, UIGraphicsGetCurrentContext()를 통해서 객체를 얻을 수 있다.
    • @IBDesignable을 통해서 draw 결과를 스토리보드에서 바로 확인할 수 있다.
    • Path는 context.beginPath, context.drawPath, context.closePath의 순서로 메서드를 호출함으로써 그릴 수 있다.
    • 두 선의 접합부분의 모양변경은 setLineJoin을 통해서 가능하다.
    • 선 끝부분의 모양 변경은 setLineCap을 통해서 가능하다.
    • Transform(변형)는 회전, 크기조절, 비율조절이 가능하며, CGAffineTransform을 이용한다.
    • 회전 각도는 radian으로 표현한다.
    • UIView의 transform 프로퍼티를 설정함으로써 뷰 모양을 변형 할 수 도 있다.

문제점/고민한점

  1. OAuth의 요청토큰과 접근토큰의 차이는?
  2. Interface Builder와 Storyboard의 차이는?
  3. @IBInspectable 이란?
  4. ClipsToBounds란?
  5. View와 Layer의 차이점은?

해결방법

  1. 요청토큰은 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있으며 후에 접근 토큰으로 변환되는 토큰이다. 접근토큰은 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값이다.
  2. Interface Builder는 Drag & Drop으로 사용자 인터페이스를 구성할 수 있도록 하는 도구고, Storyboard는 Interface Builder 내에서 뷰의 관계 및 뷰 전환 등을 저장하고 있는 영역이다.
  3. @IBInspectable을 Property 앞에 붙이면 Xcode의 Interface Builder의 Inspector panel에서 수정할 수 있게 된다.
  4. ClipsToBounds는 subview들이 부모뷰 bound 바깥으로 삐져나올수 없게 하는 프로퍼티이다.
  5. Layer는 View의 프로퍼티이다. 그리고 Layer는 sublayers 프로퍼티를 갖고 있다. 실제로 화면에서 그려지고 눈으로 보이는 것들은 View의 Layer라고 한다. Layer를 통해 View의 애니메이션을 나타낼 수 있다.

참고

https://ko.wikipedia.org/wiki/OAuth

https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html

https://www.raywenderlich.com/10317653-calayer-tutorial-for-ios-getting-started