전체보기(297)
-
[Swift] Dispatch / Static Dispatch / Dynamic Dispatch
Dispatch ? "어떤 메서드를 호출할지 언제 결정하느냐"의 문제player.move()이 코드에서 실제로 어떤 move가 실행될지컴파일 타임에 결정되면 -> 정적 디스패치런타임에 결정되면 -> 동적 디스패치정적 디스패치(Static Dispatch)컴파일 시점에 호출될 함수가 결정되는 방식빠름 (함수 주소가 이미 결정됨)인라이닝 가능오버헤드 거의 없음다형성 X// 값 타입 (struct / enum)struct Player { func move() { print("move") }}// final class 메서드final class Player { func move() {}}// private / fileprivate 메서드class Player { private ..
2026.02.11 -
[SwiftUI] View modifier(onChange, onReceive...
View modifier계열대표 API트리거 기준값 변화onChangeSwiftUI 상태 비교이벤트onReceivePublisher emit생명주기onAppearView 등장비동기task(id:)id 변경앱 상태scenePhase시스템 상태입력onSubmit유저 입력레이아웃Geometry / Preference레이아웃 변화제스처onTap / gesture사용자 액션뷰 모디파이어는 위와 같은 API들이 있으며, 이번 포스팅에서는 onChange, onReceive에 대해서 알아보려고 합니다. onChange의 개념 (SwiftUI 값-기반 변화 감지)트리거 기준: “이 뷰가 업데이트되는 과정에서” 관찰 중인 value를 다시 읽었을 때, 직전 값과 !=(Equatable 비교) 이면 실행.“값(value..
2026.02.04 -
행렬 회전
#include using namespace std;// 시계방향 90도 회전vector> rotate_array_90(const vector>& array) { int n = array.size(); int m = array[0].size(); vector> rotated(m, vector(n)); for (int i = 0; i > rotate_array_180(const vector>& array) { int n = array.size(); int m = array[0].size(); vector> rotated(n, vector(m)); for (int i = 0; i > rotate_array_270(const vector>& array)..
2025.09.22 -
[Vibe coding] Cursor, GPT와 함께하는 42과제(Swifty-Companion)
들어가기 앞서.요즘 실무 프로젝트를 진행하면서 부분 부분으로 Cursor, GPT를 굉장히 많이 쓰고 있는데, 갑자기 이 AI들의 한계가 궁금해져서, 42 과제를 처음부터 끝까지 AI에 맡겨 프로젝트 하나를 통째로 만들어 보고 싶어서 해보게 되었습니다.1. 참고로 저는 iOS 앱 개발자입니다.2. 42Outer에는 Swifty-Companion이라는 과제가 있습니다. 요약하자면 학생을 검색하는 과제. 계획Subject를 GPT에게 보내 요약정리를 한다.해당 내용을 바탕으로 Cursor에게딸-깍 진행Xcode로 앱을 생성.README.md 작성 (subject에 도도새 내용 있길래 이게 왜 적혀있을까 하면서 해석한 내용 적음... 내용정리한 거 안 올림..)PDF를 그냥 넣는 게 좋을 거 같아서, 프로젝트..
2025.09.03 -
42
보호되어 있는 글입니다.
2025.08.21