
iOS 초보자의 글이므로 틀린 부분이 있다면 댓글로 바로잡아 주시면 감사하겠습니다. 🙇🏻♂️ 저희 앱은 기본적으로 클린 아키텍처를 채택했습니다. GitHub - boostcampwm-2022/iOS05-Segno: 다시 이곳의 추억에서부터🎧, 세뇨(Segno) 다시 이곳의 추억에서부터🎧, 세뇨(Segno). Contribute to boostcampwm-2022/iOS05-Segno development by creating an account on GitHub. github.com 이는 앱의 개발 뿐 아니라 추후 진행할 유닛 테스트까지 염두해 두었기 때문이었습니다. 일반적으로 테스트하려는 객체가 모호할 때 대신 테스트를 진행할 테스트 더블을 만들어주어야 하는데요. 클린 아키텍처 구조로 코드를 작성하면..

Keychain Keychain Service API는 Keychain이라고 부르는 암호화된 데이터베이스 안에 user data를 저장하는 메카니즘을 제공한다. 위에서 보는 것처럼 키체인은 비밀번호로 한정되지 않는다. 신용카드 정보나 짧은 노트들도 저장 가능! 위 뿐 아니라 유저가 평소엔 잘 인지하지 못하지만 일상생활에 필요한 아이템들을 저장할 수 있다. 이렇게 저장한 cryptographic key나 인증서로 다른 유저들과 암호화된 커뮤니케이션을 할 때 신뢰를 받을 수 있다. Keychain Items 패스워드나 암호화된 키 같이 secret을 저장하고 싶을 때, 그것을 keychain item으로 패키징해야 한다. 아이템의 접근성을 제어하기 위해, 그리고 아이템을 검색할 수 있게 하기 위해 data와..

그룹프로젝트 2주차(= 멤버십 10주차)에 들어서 본격적인 개발을 시작했다. 1주차는 주로 기획에 힘썼기에 본격적인 개발은 이번 주부터였다. RxSwift 공부는 다시 처음부터, 역시나 멤버십 7-8주차에 진행되었던 학습 스프린트 프로젝트에서 RxSwift 사용과 클린 아키텍처 적용에 많은 애를 먹고, 완전히 소화를 못했다보니, 유즈케이스, 뷰모델의 메서드 리턴 타입을 어떻게 해야할지에 대해 많은 고민이 되었다. 레포지토리에서 데이터를 받아온 뒤 로그인 성공 여부를 유즈케이스 -> 뷰모델 -> 뷰컨트롤러 -> 코디네이터 과정에 따라 전달해야 했는데, '성공 여부를 전달하는 거니 단순히 Single 타입으로 리턴하면 되지 않을까?' '그럼 성공하면 .success(true) 실패하면 .failure(Err..

텍스트필드에 특정 텍스트를 작성하고, ViewController의 "다음" 버튼을 클릭하기만 하면 되는 간단한 UITest를 구현하던 중 아래와 같은 오류가 발생했다. 잘 생각해보니, 위와 같은 화면에서 TextField에 커서를 대면 위처럼 키보드가 표시되어 버튼이 나타나지 않아 발생한 오류 로 받아들였다. 구글링을 하다 도저히 찾지 못하던 중 무작정 여러시도를 해봤다. 다른 버튼을 추가적으로 등록하여 이를 클릭하면 키보드가 사라지지 않을까 생각도 했는데, 버튼을 등록하다가 실수로 변수의 identifier 선언을 잘못 설정하던 중 아래와 같은 오류가 떴다. 내가 사용할 수 있는 버튼의 목록이 떴다. (이 목록을 이렇게 강제로 오류를 띄우지 않고 볼 수 있는 방법을 아직 찾지 못했다.) 'Return'..
- Total
- Today
- Yesterday
- BeautifulSoup
- 클린 아키텍처
- 2024년
- IOS
- UITest
- 2023년
- 부스트캠프
- 네트워킹
- 웹모바일
- Clean Architecture
- IntrinsicContentSize
- http/1
- dismiss
- snapkit
- swift
- CollectionView
- 유즈케이스
- 스위프트
- KeyChain
- 회고
- 오토레이아웃
- CRAWL
- Kotlin
- http/1.1
- equaltosuperview
- XCTest
- Info.plist
- Realm
- collectionViewCell
- Autolayout
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |