최고의 개발자가 되는 지름길

클린아키텍처 - 입사 1개월 차의 시선으로 다시 읽어보다
·
도서관
예 맞아요 그 유명한 로버트 C, 마틴님이 작성한 그 책입니다. 사실 저번에 SOLID 관련된 내용은 https://codeisfuture.tistory.com/86 클린아키텍처 - (좋은벽돌까지만이라도 만들어보자) 로버트C.마틴왜 설계와 아키텍처를 고민해야 할까?작년 이맘때 처음 클린 아키텍처 책을 읽었는데, 이번에 다시 펼쳐본 이유는 명확했습니다.객체지향 설계에 대해 생각하는 기회가 생겼거든요 🤔로버트 C.codeisfuture.tistory.com이미 1편에서 썻어요.. 그러면 왜 2편을 또 쓰냐??1. 사실 뒷 부분 이해가 잘 안갔어요..정확히 1년2개월전에 읽고 쓸때 뭔말인지. 공감도 안됐어요2. 입사 한달차가 되어가는데....네이버 부캠에서 완벽하게 정의내리지 못한 Usecase의 여파가 다..
ProtoBuf - 이게 뭔데 사람들은 환호성을 지를까?
·
SWIFT개발일지
우버나 카카오 네비 앱을 켜면 뭐가 보이나요? 지도 위에 내 위치가 표시되고, 주변 차량들이 실시간으로 움직이고, 예상 도착 시간이 계속 업데이트되죠.실시간 위치 서비스, 얼마나 많은 데이터가 오갈까요?가정을 하며 생각을 해볼게요.1초마다:내 GPS 위치 → 서버주변 운전자 10명의 위치 ← 서버예상 도착 시간 재계산 ← 서버도로 교통 상황 ← 서버한 명의 사용자만 봐도 이 정도인데, 동시에 100만 명, 아니 그 이상이 사용한다면? 🤯🧐 REST API로 실시간 위치를 추적한다면? -> 폴링 방식// 1초마다 서버에 요청Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { _ in fetchDriverLocations { locations..
아 지겹다 복붙! Xcode 커스텀 템플릿 만들기
·
SWIFT개발일지
TCA로 프로젝트를 진행하면서 정말 지긋지긋했던 순간이 있어요. 새 Feature를 추가할 때마다:// 1. Feature 파일 만들고@Reducerpublic struct UserLoginFeature { @ObservableState public struct State: Equatable { // ... } // 이하 생략}// 2. View 파일 만들고public struct UserLoginView: View { @Bindable var store: StoreOf // ...}// 3. 파일명을 UserLogin으로 일일이 바꾸고...음 벌써 파일을 두개 만들었죠..?? 10번째쯤 되니까 너무 귀찮더라고요. 그래서 찾아본 게 Xcode 커스텀 템플릿이었..
BLE 완전 기초: CoreBluetooth를 이해하기 위한 필수 개념
·
SWIFT개발일지
블루투스 기기와 통신하는 iOS 앱을 만들려면 CoreBluetooth를 써야 해요. 그런데 막상 문서를 열어보면 Service, Characteristic, GATT... 생소한 용어들이 쏟아지죠. 이 글에서는 CoreBluetooth를 제대로 이해하기 위한 기초 지식을 다룰 거예요. BLE가 왜 탄생했고, 어떻게 동작하는지 알고 나면 CoreBluetooth를 다루는데 쉬울거라고 생각합니다:)Classic Bluetooth: 어떤 한계가 있었나?초기 블루투스는 "케이블을 없애자"라는 목표로 탄생했습니다. 지속적인 연결과 높은 데이터 전송률에 최적화됐죠.하지만 시대가 변했습니다. 에어팟, 혈당 측정기, 스마트워치 같은 센서 기기들이 폭발적으로 늘어났어요. 이런 기기들은 한 번 충전으로 며칠, 심지어 몇..
SwiftUI Instruments 하기
·
카테고리 없음
왜 SwiftUI 성능 디버깅이 어려울까?UIKit에서는 Time Profiler로 백트레이스 찍어보면 viewDidLoad에서 뭘 너무 많이 했나, tableView(_:cellForRowAt:)에서 뭘 건드리고 있나 단계별로 명령들을 볼 수 있었어요 그런데 SwiftUI로 넘어오면서 상황이 달라졌어요. 스크롤이 버벅대는데, Time Profiler를 열어보면 뭔가 알기가 어려워요. 선언형 패러다임의 양날의 검일 수도 있는데 이전과 달리 무엇에 집중하다 보니 어떻게는 뛰어넘어 그 어떻게를 보기 힘든거죠!!! 그래서 이번 WWDC26에서는 Instruments를 업데이트 해줬습니다:)(사실 원래도 있긴 했어요)먼저, SwiftUI의 렌더링 루프를 이해해야 해요요즘 아이폰은 대부분 120fps이기에 초당 ..