일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙토링
- Clean Code
- Refactoring
- collectionview
- tableView
- RxCocoa
- Protocol
- ios
- MVVM
- uiscrollview
- clean architecture
- Xcode
- map
- 클린 코드
- SWIFT
- combine
- 스위프트
- 리펙터링
- rxswift
- swiftUI
- Human interface guide
- uitableview
- HIG
- UITextView
- 리팩토링
- ribs
- 애니메이션
- Observable
- UICollectionView
- swift documentation
- Today
- Total
목록분류 전체보기 (1644)
김종권의 iOS 앱 개발 알아가기
BDD TDD는 개발 시간이 짧은 경우 불리한 단점 BDD는 사용자의 행동을 기준으로 테스트하여 개발 테스트 기능 명시 -> Given(시나리오 정의) -> When (시나리오 조건) -> Then (시나리오를 완료했을 때 보장되는 결과 명시) Nimble과 Quick 프레임워크를 이용한 테스트 참고: ios-development.tistory.com/338?category=962580

TDD 테스트 주도 개발 Unit test구조가 잡혀있으면 추후에 리팩토링 후 확인이 쉬워, 변경이 쉬움 -> unit test구조를 먼저 잡기위해 TDD방법 존재 보통 기획서가 있으면, 그 기획서에 나와있는 내용들을 테스트케이스로 만들며 개발 협업 - 개발자 한명은 테스트를 작성, 나머지는 테스트를 통과하는 코드를 작성 TDD 사용 Red-Green-Refactor - Red: 테스트가 실패하는 코드 작성 (실패를 확인) - Green: 테스트를 통과하기위한 최소한의 구현 - Refacrtor: 코드를 정리하고 최적화 TDD 준비 Numero 코드 - 숫자와 로마 숫자 맞추기 (플레이어가 맞는지 체크 -> 10번 시도) Unit Test Case Class파일 생성 세팅 - 디바이스는 simulator..

Git에 쓰이는 SSH git 리모트 저장소에 push할 경우 아무나 push되지 않고 사용자 인증이 필요 git에 사용되는 사용자 인증 방법은 두 가지 존재 (HTTPS, SSH) 컴퓨터에 종속적이지 않고 key값만 알고있으면 복붙해서 사용할 수 있는 HTTPS사용 권장 - HTTPS는 username, password를 입력 후 접근 - git에서는 access token을 발급하여 username, password필요없게끔 할수있음 (gitlab -> settings -> 토큰발급 -> 복사 -> git remote정보에 입력) SSH란 Secure Shell Protocol: 네트워크 프로토콜 중 하나이며, 통신할 때 사용되는 규약 쓰임: 두 가지 (데이터 전송, 원격 제어) git 리모트에서는 ..

Unit test 단위 테스트: 프로그램의 기본 단위인 모듈을 테스트 모듈이 제대로 구현되어 정해진 기능을 정확히 수행하는지를 테스트 프로그램의 각 부분을 고립시켜서 각각의 부분이 정확하게 동작하는지 확인 Unit test구조가 잡혀있으면 추후에 리팩토링 후 확인이 쉬워, 변경이 쉬움 -> unit test구조를 먼저 잡기위해 TDD방법 존재 Xcode에서 Unit test 환경 세팅 "Test navigation" 클릭 Unit Test target생성: 하단에 '+' 버튼 클릭 -> New Unit Test Target 클릭 단, navigator에서 테스트 탭을 눌러야 보이므로 주의 ~Tests.swift 파일 - 1. setUpWithError(): 테스트 코드 시작 전 실행 (값을 세팅하는 부분..
retry() 연산자를 사용하여 에러처리 retry() 가장 간단한 방법, 에러가 발생할 경우 시퀀스를 재생성하여 Error가 나지않도록 처리 func retry() -> Observable retry(_ maxAttemptCount:) 횟수를 제한할 수 있는 에러처리 func retry(_ maxAttemptCount:) -> Observable retryWhen(_ notificationHandler:) notificationHandler의 타임은 TriggerObservable (= Observable이거나 Subject 형) func retryWhen(_ notificationHandler:) -> Observable 사용방법 만약 RxSwift를 쓰지 않는다면, NSOperation이나 GCD를..
초 정보 -> 시, 분 표현 TimeParts 구조체 정의 public struct TimeParts: CustomStringConvertible { public var hours = 0 public var minutes = 0 public var description: String { return NSString(format: "%02d:%02d", hours, minutes) as String } } Int를 extension하여 TimeParts 모델을 리턴하는 코드 정의 extension Int { public func toTimeParts() -> TimeParts { let seconds = self let mins = (seconds % 3600) / 60 let hours = seconds..

개념 array값에 enumerated()함수를 사용하면, (index, value) 튜플형식으로 구현된 리스트형이 리턴 예제) for문과 사용 let arr = ["one", "two", "three"] print(arr.enumerated()) // EnumeratedSequence(_base: ["one", "two", "three"]) for (index, number) in arr.enumerated() { print("\(index), \(number)") } /* 0, one 1, two 2, three */

reset 내용 참고: ios-development.tistory.com/120?category=905996 [git] 6. branch, reset, merge의 원리 1. branch의 원리 파일 구성도 .git파일 -> refs파일 -> HEAD파일 -> 최신 커밋한 브랜치 파일 -> object(최신 커밋) -> tree, parent object * HEAD : 현재 사용하고 있는 btanch를 가리킴 ex) 브랜치 파일 git.. ios-development.tistory.com Revert란? revert는 롤백할 때 롤백한 커밋이 새로 찍히며, commit point가 과거로 되돌아가지 않음 reset은 롤백하면 commit point가 과거로 돌아가며, 롤백 내역 삭제 revert 사용 ..