일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- SWIFT
- 머티리얼 디자인
- 뉴모피즘
- 뉴북
- commit message
- 8 그리드 시스템
- git workflow
- 코드리팩토링
- Git Tutorial
- 입력 개수 제한
- 픽셀
- coordinator pattern
- iOS앱개발올인원패키지Online.
- Xcodebuild
- 패캠챌린지
- ios
- commit
- 패스트캠퍼스
- 아이폰
- 포인트
- 직장인자기계발
- viewDidAppear
- viewDidLoad
- 직장인인강
- 패스트캠퍼스후기
- commit messages
- 플랫디자인
- git
- 디자인 트렌드
- 스큐어모피즘
- Today
- Total
목록전체 글 (163)
왕논의 연구실
회사 일을 하면서 폰트를 적용하는 것을 하게 되었습니다. 단순히 앱에 넣어서 사용하는 것이 아니라 url에 있는 폰트 파일을 다운받아서 앱에 등록하고 적용하는 작업을 진행하였습니다.잘 마무리하였지만, 이에 관련된 정보를 다른 사람들에게 전파하는 과정에서 공부하게 된 것들을 정리해 보았습니다.🔤 정적 폰트란?정적 폰트는 각각의 스타일(예: Regular, Bold, Italic 등)이 별도의 파일로 제공되는 전통적인 폰트 형식입니다. 하나의 파일에서 하나의 굵기만 다룰 수 있습니다. 보통 이름이 폰트이름-굵기 형식으로 되어 있습니다.✅ 특징스타일별로 개별 파일 필요예: Roboto-Regular.ttf, Roboto-Bold.ttf, Roboto-Italic.ttf 등렌더링 속도가 빠름 (단순 구조)오래..
📱 Android 실기기 테스트를 위한 개발자 모드 설정 방법 (feat. Android Studio)안드로이드 앱을 개발하면서 가장 중요한 것 중 하나는 실제 기기에서 테스트하는 것입니다. 에뮬레이터만으로는 성능, 카메라, 센서 등 모든 기능을 테스트하기 어렵기 때문이죠.이번 글에서는 Android 스마트폰을 Android Studio와 연결해 실기기에서 직접 앱을 실행하는 방법을 단계별로 소개합니다.🛠️ 준비물Android 스마트폰 1대USB 케이블 (데이터 전송 가능한 케이블)Android Studio 설치된 컴퓨터스마트폰에 설정된 잠금해제 (PIN, 패턴 등)🔧 Step 1. 스마트폰에서 개발자 모드 활성화설정 앱 열기휴대전화 정보 또는 디바이스 정보로 이동**빌드 번호(Build numbe..
🌀 RunLoop와 예약된 작업 처리iOS 앱을 개발하다 보면 setNeedsLayout()이나 setNeedsDisplay() 같은 메서드를 쓰는데,이걸 호출해도 화면이 즉시 바뀌지 않는 경험을 한 번쯤 있습니다..이 글에서는 왜 즉시 반영되지 않고 '예약'만 되는지, 그리고 그걸 언제 처리하는지즉, RunLoop가 어떤 역할을 하는지를 정리해보겠습니다.📌 예약만 하고 바로 안 되는 이유?UIKit은 성능을 위해 UI 변경 작업을 즉시 처리하지 않고,한 번에 모아서 처리하는 구조를 사용합니다.이때 사용하는 시스템이 바로 RunLoop입니다.🔁 RunLoop란?RunLoop는 iOS 앱이 실행되는 동안 돌아가는 이벤트 처리 루프입니다.앱은 항상 RunLoop를 돌며 "터치, 타이머, 네트워크, UI..
🔍 두 방식의 차이 요약구분ViewModel을 ViewController에서 주입ViewModel을 View에서 직접 참조구조ViewController가 View와 ViewModel을 연결View가 ViewModel을 직접 소유장점역할 분리 명확, 테스트 용이코드가 간결하고 SwiftUI에 가까움단점코드가 장황해질 수 있음View가 똑똑해지고 재사용성 저하흔한 사례UIKit, 전통적 MVVMSwiftUI, 간단한 화면 구성아키텍처적 해석MVVM with Coordinator / Clean ArchitecturePassive MVVM or MVVM-ish🎯 각 방식의 코드 구조와 의미1. ViewModel을 ViewController에서 관리 (전통적 MVVM)class MyViewController:..
1. 왜 ‘소유권 (ownership)’이 필요할까?Swift 의 값 - 복사(copy) 기반 모델은 편리하지만, 고유-자원(파일 디스크립터, 락, GPU 버퍼 등)은 “한 번에 하나만” 소유되어야 안전합니다. 불필요한 ARC retain/release · 메모리 복사는 성능을 떨어뜨립니다.이를 해결하기 위해 Swift 5.9~5.10에서 “값의 소유권 을 코드에 표현” 하는 세 가지 키워드가 도입되었습니다.키워드의미대표 위치~Copyable (비복사/noncopyable)“이 값은 복사 불가, 이동-전용(move-only)”타입 선언borrowing“잠깐 빌려쓰기”∙읽기 전용, 끝나면 호출자 소유권 유지파라미터·메서드·클로저consuming“소유권을 넘겨받아 소비”∙끝나면 호출자에서 더 못 씀파라미..
https://2025spring.vercel.app 오랜만에 Let Us Go 컨퍼런스에 다녀왔습니다. 작년에는 프로젝트 일정과 예산 문제로 참석하지 못했는데, 올해는 흥미로운 세션과 다양한 회사의 iOS 개발자들을 만날 생각에 설레는 마음으로 참가했어요. 다른 컨퍼런스와 달리 Let Us Go는 ‘세미나’보다는 ‘네트워킹’에 초점이 맞춰져 있어서, 세션을 듣는 것만큼 뒤풀이 자리에서 나누는 대화가 큰 재미이자 소중한 정보원이 됩니다.예전에는 국내에 iOS 개발자가 지금처럼 많지 않아 회사에서도 혼자 일하는 경우가 많았고, 개발 방향이나 자기 계발의 길을 모르는 채 고민하던 분들이 많았었습니다. 그래서 이 모임이 생겼고, 저는 꼭 뒷풀이에 참석해 다른 분들의 경험을 듣는 것을 빼놓지 않습니다. 여기서 ..