- Today
- Total
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 정렬 알고리즘
- 디자인패턴
- 알고리즘
- 스위프트
- programmer
- 프로그래머스 swift
- 코딩테스트
- Algorithm
- datastructure
- 자료구조
- 코테
- 명언
- sort
- 프로그래머스 레벨2
- 정렬알고리즘
- rxswift
- 스위프트디자인패턴
- coding test
- 다트
- swift
- 감성에세이
- swift 알고리즘
- 정렬
- swift 코딩테스트
- dart
- programmers
- Design Pattern
- 프로그래머스
- 인생 명언
- swift split
목록DEV Tips (28)
Bill Kim's Life...
본 글은 GitHub에서 복잡한 설정 없이 AI로 코드 리뷰 자동화를 가장 쉽게 만드는 방법만 딱 정리했습니다.핵심 목표: “PR 올리면 자동으로 리뷰 달리는 환경 만들기” 핵심 구조 GitHub PR 생성 → AI가 자동 리뷰 → 코멘트 생성 왠만한 코드는 사람이 굳이 리뷰 안 해도 기본 품질 자동 체크 가능 적용 방법 (3단계) 1. GitHub Actions 생성 .github/workflows/ai-review.yml (해당 폴더와 파일 신규 생성)name: AI Code Reviewon: pull_request: types: [opened, synchronize]jobs: review: runs-on: ubuntu-latest steps: - uses: actions..
개요앱 실행 후 첫 화면이 느리게 나타나거나 스플래시가 오래 걸리는 문제는 사용자 경험을 크게 저하시킵니다.👉 주로 무거운 초기화 작업을 메인 스레드에서 실행하거나, launch storyboard 최적화가 되지 않은 경우 발생문제 코드override func viewDidLoad() { heavyTask() // ❌ 메인 스레드에서 실행, UI 블로킹}👉 문제 포인트:메인 스레드에서 무거운 작업 수행UI가 바로 렌더링되지 않아 첫 화면 지연 발생해결 코드override func viewDidLoad() { DispatchQueue.global().async { self.heavyTask() // 백그라운드에서 실행 DispatchQueue.main...
개요iOS 13 이상에서 Dark Mode가 도입되면서, 색상과 이미지가 다크 모드에서 깨지는 문제가 자주 발생합니다.👉 앱 UI를 Light Mode 전용으로만 설계하면 다크 모드에서 버튼, 배경, 텍스트가 보이지 않거나 시각적으로 불편해짐문제 코드view.backgroundColor = UIColor.white // ❌ 다크모드에서는 밝은 배경 고정label.textColor = UIColor.black // ❌ 다크모드에서 가독성 문제👉 문제 포인트:UIColor, 이미지 asset을 Light Mode 전용으로만 사용TraitCollection 변경을 반영하지 않음해결 코드view.backgroundColor = UIColor { traitCollection in traitCo..
개요iOS에서 가장 흔하게 발생하는 크래시 중 하나는 **옵셔널 강제 언래핑(!)**입니다.👉 값이 nil인 상태에서 강제로 언래핑하면 앱이 즉시 크래시 발생문제 코드var name: String?print(name!) // ❌ nil이면 크래시👉 문제 포인트:옵셔널 변수를 강제 언래핑(!)초기값이 없는 경우 앱이 즉시 종료됨해결 코드var name: String?if let name = name { print(name) // ✅ 안전하게 값 사용} else { print("값 없음")}또는 nil 병합 연산자 활용:print(name ?? "값 없음") // ✅ 기본값 사용👉 해결 포인트:강제 언래핑(!) 대신 안전한 옵셔널 바인딩 사용기본값 활용으로 크래시 예방한 줄 정리👉 옵셔널은..
개요iOS에서 TextField, TextView 사용 시 키보드가 올라오면 입력 UI가 가려지는 문제가 자주 발생합니다.👉 특히 ScrollView나 Auto Layout을 제대로 처리하지 않으면 사용자 입력 필드가 키보드 뒤에 숨겨짐문제 코드textField.frame.origin.y = 100// 키보드 올라와도 위치 변화 없음 ❌👉 문제 포인트:키보드 이벤트를 감지하지 않고 UI 위치를 고정함ScrollView나 Constraint 조정 누락으로 입력 필드 가림 발생해결 코드NotificationCenter.default.addObserver( self, selector: #selector(keyboardWillShow), name: UIResponder.keyboardWill..
개요다양한 iPhone 기기에서 notch, 홈 인디케이터, 또는 safe area 미반영 시 UI가 깨지는 문제가 자주 발생합니다.👉 특히 iPhone X 이후 모델에서 상단 notch와 하단 홈 인디케이터를 고려하지 않으면 버튼, 라벨, 이미지 등이 화면에 겹칠 수 있음문제 코드let button = UIButton()button.frame = CGRect(x: 0, y: 0, width: 100, height: 50)view.addSubview(button) // ❌ notch 있는 기기에서 겹침👉 문제 포인트:frame 직접 지정으로 safe area 무시notch 있는 기기에서 UI가 상단/하단에 겹침해결 코드let button = UIButton()button.translatesAutore..
개요iOS에서 앱을 실행했는데 print()가 안 보이거나 코드가 실행되지 않는 경우가 있습니다.대부분 SceneDelegate / AppDelegate 초기화 순서 문제에서 발생하며, 특히 iOS 13 이상에서 SceneDelegate가 도입된 프로젝트에서 자주 나타납니다.👉 루트 뷰 컨트롤러가 연결되지 않으면 코드 실행이 일부 누락될 수 있음문제 코드class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.Connectio..
개요iOS에서 자주 겪는 문제:👉 값을 저장했는데 다시 가져오면 그대로임의미저장은 했는데 반영이 안 됨또는 앱 재실행 후 값이 사라짐👉 주요 원인:key 불일치동기화 타이밍 문제잘못된 타입 사용문제 코드UserDefaults.standard.set(true, forKey: "isLogin")let value = UserDefaults.standard.bool(forKey: "isLoggedIn") // ❌ key 다름print(value) // false👉 문제:저장 key와 조회 key가 다름해결 코드방법 1: key 통일 (가장 중요)let key = "isLogin"UserDefaults.standard.set(true, forKey: key)let value = UserDefaults.sta..
