wiki
-
Optional 이란 무엇인지 설명하시오.
-
TableView.reloadSections(_:with:)
-
테이블뷰 셀 터치 후, 다른 뷰로 이동한 뒤에 다시 돌아왔을 때 포커스 없애기
-
MVC 구조에 대해 블록 그림을 그리고, 각 역할과 흐름을 설명하시오.
-
Delegate 패턴을 활용하는 경우를 예를 들어 설명하시오.
-
Delegates와 Notification 방식의 차이점에 대해 설명하시오.
-
Fast Enumeration 이란 무엇인지 설명하시오.
-
KVO 동작 방식에 대해 설명하시오.
-
멀티 쓰레드로 동작하는 앱을 작성하고 싶을 때 고려할 수 있는 방식들을 설명하시오.
-
프로토콜이란 무엇인지 설명하시오.
-
Singleton 패턴을 활용하는 경우를 예를 들어 설명하시오.
-
Struct 가 무엇이고 어떻게 사용하는지 설명하시오.
-
instance 메서드와 class 메서드의 차이점을 설명하시오.
-
Hashable이 무엇이고, Equatable을 왜 상속해야 하는지 설명하시오.
-
탈출 클로저에 대하여 설명하시오.
-
Extension에 대해 설명하시오.
-
접근 제어자의 종류엔 어떤게 있는지 설명하시오.
-
defer가 호출되는 순서는 어떻게 되고, defer가 호출되지 않는 경우를 설명하시오.
-
defer란 무엇인지 설명하시오.
-
Bounds 와 Frame 의 차이점을 설명하시오.
-
실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하시오.
-
앱이 foreground에 있을 때와 background에 있을 때 어떤 제약사항이 있나요?
-
상태 변화에 따라 다른 동작을 처리하기 위한 앱델리게이트 메서드들을 설명하시오.
-
NSOperationQueue 와 GCD Queue 의 차이점을 설명하시오.
-
GCD API 동작 방식과 필요성에 대해 설명하시오.
-
토이 프로젝트 하면서 알게된 점
-
Foundation Kit은 무엇이고 포함되어 있는 클래스들은 어떤 것이 있는지 설명하시오
-
NotificationCenter 동작 방식과 활용 방안에 대해 설명하시오.
-
하나의 View Controller 코드에서 여러 TableView Controller 역할을 해야 할 경우 어떻게 구분해서 구현해야 하는지 설명하시오.
-
App Bundle의 구조와 역할에 대해 설명하시오.
-
View 객체에 대해 설명하시오.
-
UIView 에서 Layer 객체는 무엇이고 어떤 역할을 담당하는지 설명하시오.
-
앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체는 무엇인가?
-
모든 View Controller 객체의 상위 클래스는 무엇이고 그 역할은 무엇인가?
-
앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체를 무엇이라고 하는가?
-
앱 화면의 콘텐츠를 표시하는 로직과 관리를 담당하는 객체를 무엇이라고 하는가?
-
Swift의 클로저와 Objective-C의 블록은 어떤 차이가 있는가?
-
스토리보드를 이용했을때의 장단점을 설명하시오.
-
App thinning에 대해서 설명하시오.
-
Global DispatchQueue 의 Qos 에는 어떤 종류가 있는지, 각각 어떤 의미인지 설명하시오.
-
hugging, resistance에 대해서 설명하시오.
-
[iOS] Understanding Auto Layout
-
Left Constraint 와 Leading Constraint 의 차이점을 설명하시오.
-
ARC란 무엇인지 설명하시오.
-
Anatomy of a Constraint
-
Strong 과 Weak 참조 방식에 대해 설명하시오.
-
Contacts 프레임워크 톺아보기
-
ARC 대신 Manual Reference Count 방식으로 구현할 때 꼭 사용해야 하는 메서드들을 쓰고 역할을 설명하시오.
-
retain 과 assign 의 차이점을 설명하시오.
-
강한 순환 참조 (Strong Reference Cycle) 는 어떤 경우에 발생하는지 설명하시오.
-
Autorelease Pool을 사용해야 하는 상황을 두 가지 이상 예로 들어 설명하시오.
-
특정 객체를 autorelease 하기 위해 필요한 사항과 과정을 설명하시오.
-
mutating 키워드에 대해 설명하시오.
-
앱이 In-Active 상태가 되는 시나리오를 설명하시오.
-
scene delegate에 대해 설명하시오.
-
Delegate란 무언인가 설명하고, retain 되는지 안되는지 그 이유를 함께 설명하시오.
-
UIKit 클래스들을 다룰 때 꼭 처리해야하는 애플리케이션 쓰레드 이름은 무엇인가?
-
오토레이아웃을 코드로 작성하는 방법은 무엇인가? (3가지)
-
오토 레이아웃 기반 뷰에 cornerRadius 적용하기
-
코드로 버튼에 이미지와 텍스트 넣기
-
UIView.clipToBounds와 layer.masksToBounds
-
컬렉션뷰 최상단으로 이동하기
-
커스텀 셀 적용하기
-
layoutMarginsGuide, safeAreaLayoutGuide
-
네비게이션 타이틀 변경
-
뷰의 그림자 만들기
-
스토리보드없이 코드로 개발하기
-
긍정적인 Guard 사용
-
학습 정리
-
RxSwift.Completable
-
RxSwift.Maybe
-
RxSwift.Single
-
UITextField.text의 변경을 감지하지 못할 때
-
Meet async/await in Swift
-
UIMenu 사용해보기
-
오디오 녹음, 재생, 저장하기
-
UserDefaults, KeyChain, Core Data
-
UIStackView
-
리눅스 입문자를 위한 명령어 사전
-
터미널에서 명령어로 마크다운 파일 만들기
-
Repository 패턴
-
RxSwiftExt 일부 연산자 정리
-
처음 배우는 플라스크 웹 프로그래밍
-
Making Apps with Core Data
-
함께 자라기
-
비동기 메서드 테스트하기
-
제대로 배우는 수학적 최적화
-
컬렉션뷰에 뱃지 추가하기
-
사진 촬영 기능 구현하기
-
커스텀 폰트 적용하기 with Dynamic Type
-
원하는 위치의 셀로 이동
-
중첩 클로저의 캡처 리스트
-
시뮬레이터가 표시되지 않을 때
-
throttle, debounce
-
포스터의 생성 시간, 마지막 수정 시간 구하기
-
Moya 사용법
-
특정 커밋 삭제하기
-
동시성 프로그래밍
-
Writing High Performance Swift Code
-
화면 탭했을 때 키보드 내려가게 하기
-
Swift Package 만들기
-
회사 프로젝트에 SwiftGen 도입기
-
기업의 성공을 이끄는 Developer Relations
-
회사 프로젝트에 SwiftLint 도입기
-
ReactorKit
-
Live Activity
-
특정 커밋 보기
-
피, 땀, 리셋
-
DateFormatter 는 비싸다.
-
적정 소프트웨어 아키텍처
-
한 컴퓨터에 GitHub 계정 여러개 쓰기
-
02장. URL과 리소스
-
03장. HTTP 메시지
-
04장. 커넥션 관리
-
05장. 웹 서버
-
06장. 프락시
-
07장. 캐시
-
10장. HTTP/2.0
-
11장. 클라이언트 식별과 쿠키
-
12장. 기본 인증
-
14장. 보안 HTTP
-
01장. HTTP 개관
-
15장. 엔터티와 인코딩
-
16장. 국제화
-
17장. 내용 협상과 트랜스코딩
-
특정 브랜치로 클론하기
-
외부 Cocoapods 라이브러리 SPM 으로 배포하기
-
Identifiable
-
thread safety한 싱글톤
-
Safe area 를 변경하려면
-
SPM 패키지 dependency 설정하기
-
GitHub Action 에서 특정 Label 이 붙은 PR 건너뛰기
-
자식 뷰 컨트롤러에 이벤트가 전파되지 않음
-
TabView + ScrollView
-
HTTP 완벽 가이드
-
하기 싫은 일은 작게 나누기
-
@_exported
-
애플 트레이드인
-
Git Submodule SSH 연결
-
wiki
blog posts