23.05.05 rawValue
23.05.08 MVC https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html Model-View-Controller(MVC) 디자인
revertresetamendrebase
Key-value observing은 객체 간에 속성이 변경될 때 다른 객체가 직접 알림을 받을 수 있게 하는 메커니즘입니다. Key-value observing 또는 KVO는 Model-View-Controller 디자인 패턴을 준수하여 설계된 애플리케이션의 일관성에
23.05.12
피곤할때 일어나는시간이 같으면 좋다(수면의 질이 중요하다) feat.dasanUI Component의 값을 가져오고 싶을때 사용UI Component가 event가 생길때 반응하기 위해 사용사용자 Action 기반 코드, 프로그래밍UIKit 컴포넌트 중 하나.value
23.05.16 IBOutlet에 weak을 쓰는이유 메모리 누수 방지 var testBool: Bool = Bool() // false var testInt: Int = Int() // 0 print(testBool) print(testInt)
싱글톤(메모리 낭비 방지) solid원칙을 위배하게 됨..사례 : 얼럿컨트롤러, 네트워크폼에서 사용객체가 자신의 책임을 다른 객체에게 위임(delegate)하는 디자인 패턴delegate 선언, 구현: 데이터가 필요한 곳delegate 실행: 데이터를 주는 곳
UIViewController 클래스는 모든 뷰 컨트롤러에 공통적인 동작을 정의뷰의 내용을 업데이트사용자의 뷰와의 상호작용에 응답뷰의 크기 조정 및 전체 인터페이스의 레이아웃 관리앱 내 다른 객체(다른 뷰 컨트롤러 포함)와의 조정UIResponder 클래스를 상속받는
23.05.19
23.05.22 가변 매개 변수
unwind
jump to definition커맨드Apperances SettingalignmentDistributionhttps://zeddios.tistory.com
private : 같은 클래스fileprivate : 같은 소스 파일(.swift)internal : 같은 모듈(framework) or 같은 프로젝트public : 모듈 외부까지 가능open : 모듈 외부, 상속 및 override가능(확장 가능)https:
23.05.27 parameter 반환값 --> 의존 property ---> 연관
소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차
작업을 동기적으로 실행하지 않고, 별도의 스레드 또는 작업 큐에서 비동기적으로 실행되는 메서드메인 스레드에서 블로킹되지 않고 비동기적으로 작업을 수행사용자 경험을 향상시킬 수 있음비동기 작업은 보통 백그라운드 스레드에서 실행비동기 메서드는 비동기적으로 실행되기 때문에
문구 그대로 결과값을 discardable(버릴 수 있는) 의미함수의 return값을 discadable시킬 수 있다는 의미return 값을 사용하지 않아도 warning 메세지를 나오지 않도록 설정
SOLID
23.06.02 Protocol protocol로 선언된 메서드는 기본값을 가질 수 없다 extension을 이용해 기본 메서드를 구현
호출 대상이 고정된 경우에 사용컴파일 타임에 메서드 호출의 실제 구현을 결정하는 디스패치 방식컴파일러가 호출할 메서드를 컴파일 시점에 정확히 알고 있음호출 대상의 타입이 정적으로 결정컴파일러는 호출 대상의 타입을 통해 정적으로 해당 타입의 메서드를 호출하는 코드를 생성
23.06.06
23.06.07 git stash 변경사항 들고 checkout하는법
https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.htmlc길이=할당의 개념이 아니다Width(크기)가로 길이Heigh(크기)
정렬
🗓️ 23.06.12
🗓️ 23.06.13 저장프로퍼티
🗓️ 23.06.15
23.06.16 옵셔널 체이닝
🗓️23.06.19
🗓️23.06.20
🗓️23.06.22
🗓️23.06.23
🗓️23.06.26
🗓️23.06.27 container
🗓️23.06.28
🗓️23.06.29
커맨드+N
비동기
🗓️23.07.04
UITableView의 데이터 소스와 델리게이트 메서드는 테이블 뷰의 동작에 따라 호출됩니다. 각 메서드의 호출 시점은 다음과 같습니다:numberOfSections(in:): 테이블 뷰의 섹션 수를 반환하는 메서드입니다. 테이블 뷰를 초기화할 때 한 번 호출되고, 이
🗓️23.07.06
https://gyuios.tistory.com/85
프로젝트와 외부 라이브러리의 상관관계를 용이하게 관리해주는 도구내부 모듈을 분리하여 관리할 때도 사용Java -> Maven, Javascript -> Yarn or NPM, Python -> pyenvApple -> Cocoapods, Carthage, Swift P
discardableresult 분리
1️⃣ Serial단일 스레드 환경.main2️⃣ Concurrent다중 스레드 환경global()1️⃣ main.async메인스레드 비동기2️⃣ global().async글로벌스레드 비동기3️⃣ global().sync글로벌스레드 동기4️⃣ main.sync코드 블록
Swift의 디자인은 객체 지향 프로그래밍에 대한 강력한 대안인 프로토콜 지향 프로그래밍을 강조합니다. 프로토콜은 암시적 공유를 피하고 타입 관계를 보존하며 더 나은 추상화 메커니즘을 제공하는 장점을 가지고 있습니다.🎶 Swift는 프로토콜 지향적이며 객체 지향 프로
스위치문 Default는 case의 모든 것이 구현 됐을때 (문한테 알려주기) 사용안해도 됨
HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜HTTP를 통해 전달되는 자료는 http:로 시작하는 URL(인터넷 주소)로 조회할 수 있음예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페
🗓️23.07.18 클로저를 이용한 UILabel 인스턴스 생성
메인에서 호출한 함수에서는 델리게이트로 일을 시켜도 UI를 그릴 수 있음
real location클로저가 만들어지는 시기 캡처를 함heap에 간다
타이머 메서드 시그니처Timer.scheduledTimer(timeInterval:target:selector:userInfo:repeats:)은 Swift의 Timer 클래스의 클래스 메서드로, 지정된 간격에 따라 반복적으로 작업을 실행하기 위해 타이머를 생성하는데
🗓️23.07.24
URL 세션에서 데이터 작업(data task)을 생성URLSessionDataTaskURLSessionDownloadTask필요이상의 세션을 만들지 마라dataTask() 메서드 중 하나를 사용하여 데이터 작업(data task)을 생성작업은 일시 중단된 상태로 생성
error가 nil인지 확인reponse가 성공인지 확인, MIME타입이 원하는 타입인지 확인data 인스턴스 사용Delegate는 전송이 진행됨에 따라 다른 종류의 이벤트도 수신가능주로 응답 상태 코드를 확인하여 요청이 성공적으로 처리되었는지를 판단하고, MIME 타
🗓️23.07.27
무슨에러를 던지는지 명시
🗓️23.07.31
🗓️23.08.01
🗓️23.08.02
🗓️23.08.03
String(describing: BoxOfficeCollectionViewCell.self)컬렉션뷰를 처음 init할때 layout을 넣어줘야함flowlayout x, delegateflowout x 둘다 안씀Section 그룹 바구니Group 아이템 바구니Item
Protocol Type 전까지값 또는 참조 의미 체계가 더 적절합니까?WWDC - Understanding Swift Performance디스패치: 어떤 메서드를 호출 할 것인지를 결정하여, 그것을 실행하는 메커니즘(호출될 함수를 런타임에 결정할것이냐, 컴파일타임에
Truth는 각각의 시스템이나 개체가 가지고 있는 자신만의 현재 상태나 데이터를 말함중앙 집중화
🗓️23.08.09
사용자를 대신하여 작은 데이터 조각을 안전하게 저장사용자는 복잡한 비밀번호를 선택할 수 있게 됨암호화 키를 키체인에 저장하고 접근키체인은 비밀번호와 암호화 키와 같은 작은 비밀 정보를 저장하기에 가장 적합한 장소키체인 서비스 API의 함수를 사용하여 키체인 항목을 추가
https://nemecek.be/blog/71/using-background-decoration-views-with-compositional-layout
KeyChain에 Data를 저장하기 위해 필요한 요소에는 무엇이 있는지 확인해봅시다.Data, Attribute, KeychainItem은 서로 어떤 관계일까요? : Data는 저장하고 싶은 정보, Attribute는 데이터에 대한 접근성을 제어하고 검색을 위한 공
🗓️23.08.15
🗓️23.08.16
🗓️23.08.17
🗓️23.08.18
인스턴스를 계속 살려놓고 써야되나?계속 살려놓을 필요는 없는데, 자주는 쓰나?인스턴스가 갖고 있는 연관 객체들이 많나?연관 객체들이 많으면 생성에서 생기는 오버로드가 많아지네? 이걸 생성하고 내리는 과정에서의 비용이 더 많지 않을까?많다 생각하면 싱글톤, 열거형 / 그
🗓️23.08.22
🗓️23.08.23
🗓️23.08.24
🗓️23.08.25
🗓️23.08.28
🗓️23.08.29
현지화 적용을 위해 해야하는 것1️⃣ 코드에서 수동으로 어플리케이션 언어를 설정하면 안됨2️⃣ 언어를 전환하기 위해 앱 내 옵션을 추가 해야하는 경우 사용자가 앱 언어를 전환 할 수 있게 하는게 좋음3️⃣ 사용자가 앱의 언어를 변경하면 앱이 대상 언어로 다시 실행되야함
🗓️23.09.04
🗓️23.09.05
🗓️23.09.06
https://terry-some.tistory.com/88
백 번째 틸 입니다!!!!https://developer.apple.com/documentation/uikit/uiscenedelegate/3197917-scenedidenterbackground원래는 다음과 같이 노티피케이션을 사용해야하지만 uikit 자체
🗓️23.09.11
🗓️23.09.12
🗓️23.09.13 Memory Safety https://ios-development.tistory.com/642
UseCase
https://medium.com/@hennamulla/top-50-ios-interview-questions-for-senior-software-engineer-august-2023-c1ac7762740bhttps://developer.apple.c
🗓️23.09.18
🗓️23.09.19
🗓️23.09.25
🗓️23.09.27
Behavioral design pattern템플릿 메서드(Template Method)는 super 클래스에서 여러 메서드로 이루어진 알고리즘 틀을 정의함이러한 알고리즘 틀을 Template Method 라고 하며, sub 클래스는 Template Method 에서
🗓️23.10.04
🗓️23.10.05 Sticky Header
🗓️23.10.06
🗓️23.10.09
🗓️23.10.10
🗓️23.10.11
🗓️23.10.12
🗓️23.10.13
🗓️23.10.16
🗓️23.10.17
🗓️23.10.18
🗓️23.10.19
🗓️23.10.20
JSP 컨테이너, Servlet 컨테이너 무엇인가✨
자바 어떻게 컴파일 되고 어떻게 실행되는가✨
자바에서 생성자도 상속 되는가✨
REST 무엇인가✨
TIL 005✨
클린코드 왜 억지로라도 해야할까✨
TIL 007✨
TIL 008✨
TIL 009✨
TIL 010✨
TIL 011✨
TIL 012✨
TIL 013✨
DTO 왜 쓰고 어떻게 써야 하는가✨
N:M을 쓰면 안 되는 이유✨
Exception에 관하여✨
ExceptionHandler에 관하여✨
JPA에 관하여✨
AOP에 관하여✨
Spring 동작원리에 대해 알아보자✨
제네릭이 뭔가요❓✨
유효성 검사❓✨
MSA가 뭔데❓✨
RabbitMQ에 대해서✨
Reflection API에 대해서✨
CIDR❓ ✨
부동소수점 연산❓ ✨