전체 글
-
빚쟁이가 되어버린 코더들Programming🧑💻 2025. 5. 29. 20:31
🤔 당신의 코드는 안녕하신가요?개발자에게 "우리 회사의 자산은 어떤 것들이 있지?"라고 묻는다면 다음과 같은 답변이 올 수 있습니다."우리가 만들고 있는 코드베이스 아닐까요?" 하지만 정말 그럴까요? 코드가 진짜 황금 알을 낳는 거위일까요? 손 때가 탄 코드에서 잠시 멀어져서 냉정하게 다시 따져보면. 사실 코드는 자산이 아니라 부채가 아닐까요? 📊 잠깐, 회계 얘기부터 해볼게요"갑자기 뭔 회계?" 라고 생각하실 수도 있는데, 잠깐만 들어보세요. 우리도 결국 비즈니스를 하는 사람들이니까요.회계에서 말하는 자산과 부채를 간단히 말하면 자산이란? 앞으로 돈을 벌어다 줄 것들현금, 건물, 장비, 특허 같은 것들예를 들어 카페 에스프레소 머신 → 커피 만들어서 돈 벌어줌부채란? 앞으로 돈을 내야 할 것들대출..
-
인간으로서 살아남기Bull-shit🐶 2025. 5. 25. 23:18
AI가 모든 직업을 대체할 것이다.FOMO(Fear Of Missing Out)를 자극하는 문구들에 강한 반항심을 가지고 있는 나지만, 매번 새로운 AI 모델이 나올 때마다 체감되는 성능 향상에 놀라워하면서도 이 칼의 날이 어느 순간 손잡이까지 미칠 것 같다는 서늘함을 함께 느낀다. 인터넷, 스마트폰 등 다양한 변화와 함께하며 살아왔지만 이번 점프는 단순한 도구의 발전이 아니라 인간의 인지 범위 확장을 강제할 엄청난 압력으로 작용하고 있다. 도구는 아무리 정교하게 만들어져도 다루는 인간의 능력을 뛰어넘지 못하지만 AI는 단순한 챗봇을 넘어서 Agent라는 형태로 사용자 통제를 벗어나 스스로 일을 하기 시작했다. 그래도 아직까지는 AI가 허락을 구하는 형태로 어느 정도 '관리'할 수 있다는 인상을 주지만 ..
-
SwiftUI 뷰 계층 형성의 모든 것Apple🍎/SwiftUI 2025. 5. 25. 16:02
SwiftUI를 처음 접하면서 가장 직관적이면서도 헷갈리는 부분 중 하나는 뷰가 어떻게 구성되고 계층이 형성되는지입니다. 겉보기에는 단순해 보이는 코드가 실제로는 복잡한 뷰 계층 구조를 만들어내는 마법 같은 일이 일어나죠. 오늘은 이 마법의 비밀을 함수형 빌더 패턴부터 차근차근 풀어보겠습니다.함수형 빌더 패턴이란 무엇인가?SwiftUI의 뷰 계층을 이해하기 위해서는 먼저 함수형 빌더 패턴(Functional Builder Pattern)을 이해해야 합니다. 이 패턴은 객체지향 프로그래밍에서 사용하는 빌더 패턴과는 근본적으로 다른 접근 방식입니다.전통적인 빌더 패턴 vs 함수형 빌더 패턴먼저 전통적인 빌더 패턴이 어떻게 작동하는지 살펴보겠습니다.// 전통적인 빌더 패턴 (객체지향적 접근)class UIVi..
-
DSL과 SwiftUI: 도메인 특화 언어의 이해와 활용Apple🍎/Swift 2025. 5. 24. 23:02
들어가며우리가 일상적으로 사용하는 프로그래밍 언어들은 대부분 범용적인 목적으로 설계되었습니다. Swift, Java, Python 같은 언어들은 웹 개발부터 모바일 앱, 데이터 분석까지 다양한 분야에서 활용할 수 있죠. 하지만 때로는 특정 분야에서 더 직관적이고 효율적으로 문제를 해결할 수 있는 전용 언어가 필요합니다. 이것이 바로 DSL(Domain Specific Language)의 개념입니다.SwiftUI는 이러한 DSL의 훌륭한 예시입니다. UI 구성이라는 특정 도메인에 특화되어 설계된 언어로, 개발자가 더 직관적이고 선언적인 방식으로 사용자 인터페이스를 구성할 수 있게 해줍니다. 이 글에서는 DSL의 기본 개념부터 시작해서 SwiftUI가 어떻게 DSL로 작동하는지, 그리고 이를 가능하게 하는 ..
-
Swift 개발자를 위한 Objective-C 문법 요약Apple🍎/Objective-C 2025. 5. 23. 15:34
1. 기본 구문 차이파일 확장자와 구조Swift와 Objective-C는 파일 구조부터 차이가 있습니다.Swift파일 확장자: .swift단일 파일에 모든 코드 포함 가능Objective-C헤더 파일(.h) - 인터페이스 선언구현 파일(.m) - 실제 구현 코드예를 들어 Person 클래스를 생성할 때Objective-C 헤더 파일 (Person.h)#import @interface Person : NSObject@property (nonatomic, strong) NSString *name;@property (nonatomic, assign) NSInteger age;- (void)introduceYourself;@endObjective-C 구현 파일 (Person.m)#import "Person.h"..
-
Objective-C의 Selector와 Dispatch TableApple🍎/Objective-C 2025. 5. 21. 22:12
Selector의 개념과 역할Selector는 Objective-C 메시지 전달 시스템의 핵심 요소로, 간단히 말해 메서드의 이름을 식별하는 타입입니다. 기술적으로는 SEL 타입으로 표현되며, 내부적으로는 C 문자열에 대한 특별한 포인터로 구현되어 있습니다.셀렉터의 가장 중요한 특성은 그것이 단순한 문자열이 아니라, 런타임 시스템에 의해 관리되는 고유한 식별자라는 점입니다. 이 고유성은 메서드 검색 과정을 매우 효율적으로 만들어 줍니다.Selector의 핵심 특성메서드 식별자: Selector는 메서드의 이름과 매개변수 레이블을 포함한 식별자입니다.문자열 기반: 내부적으로는 문자열이지만, 런타임 시스템에 의해 관리되는 고유한 식별자로 변환됩니다.타입 정보 없음: Selector는 매개변수 타입이나 반환 ..
-
Objective-C: Small Talk과 Message 전달 패러다임Apple🍎/Objective-C 2025. 5. 21. 16:51
Objective-C의 스몰톡과 메시지 전달 패러다임Objective-C는 Smalltalk에서 큰 영감을 받은 언어로, 객체지향 프로그래밍의 핵심 개념 중 하나인 '메시지 전달(message passing)' 패러다임을 채택했습니다. 이 패러다임은 Swift를 포함한 다른 많은 현대 언어들과는 다른 접근 방식을 취합니다.메시지 전달 패러다임의 기본 개념Objective-C에서는 객체에 메서드를 '호출(call)'하는 것이 아니라, 객체에 '메시지를 보낸다(send a message)'는 개념을 사용합니다. 이 차이점은 단순한 용어의 차이가 아닌 근본적인 실행 모델의 차이입니다.일반적인 객체지향 언어에서는object.method(parameters); // 메서드 직접 호출반면 Objective-C에서..
-
좀 더 Low 하게 가보자~ Swift 저수준 메모리 관리Apple🍎/Swift 2025. 4. 25. 20:25
ARC(Automatic Reference Counting)의 작동 원리ARC는 Swift에서 메모리를 자동으로 관리하는 메커니즘입니다.참조 카운팅 기본 원리: 각 참조 타입 객체(클래스 인스턴스)는 자신을 가리키는 참조의 개수를 추적하는 참조 카운트를 가집니다.카운트 증감 동작객체에 새 참조가 생성될 때 → 카운트 증가참조가 범위를 벗어날 때 → 카운트 감소카운트가 0이 되면 → 메모리에서 해제참조 타입강한 참조(strong): 기본값, 참조 카운트를 증가시킴약한 참조(weak): 참조하는 객체가 메모리에서 해제될 수 있음, 참조 카운트 증가 안 함, 자동으로 nil이 됨미소유 참조(unowned): weak과 유사하지만 nil이 되지 않음, 참조 객체가 반드시 자신보다 오래 살아있다고 가정순환 참조 ..