전체 글
-
Combine 구성요소 PublisherIOS/Combine 2024. 3. 10. 20:07
지난 1편은 Combine의 맛보기를 보았고 이제 본격적으로 Combine의 Publisher , Subscription, Subscriber, Operator부터 시작해 다양한 Operator를 공유하려 합니다. 1편은 요기 링크 걸어둘게요!!! 못 보신분은 보고 오시는 걸 추천드립니다. 2024.03.03 - [IOS/Combine] - Combine Framework란? Combine Framework란? 최근 Swift Combine에 대해서 관심이 생겼고 정리겸 지식을 공유하고자 이렇게 글을 작성합니다. 앞으로 주 단위로 콤바인에 대해 알아보는 시간을 가져볼태니 궁금한 점이나 오타, 잘못된 부분은 jjunbbang.tistory.com Combine은 "시간의 흐름에따라 방출되는 'Value'를..
-
Clean Architecture 1(Layer 알아보기)IOS/아키텍처 2024. 3. 10. 19:01
어떻게 하면 관심사 분리부터 유지보수에 용이한 구조를 만들 수 있을까 고민이 들어 Clean Architecture에 대해 공부한 걸 정리하려 합니다. Clean Architecture를 보면 기본 컨샙은 다음과 같습니다. Dependency Rule: 1. 바깥 영역(소스코드 영역)에서 Domain 영역으로 의존성을 가지며 절대 의존성 방향이 반대가 되면 안 되는 Rule을 가집니다. 이게 클린아키 택처의 핵심입니다.2. 내부 코드에서 외부 코드에서 사용한 클래스나, 메소드, 변수를 언급하는 것도 의존성 방향의 위배됩니다. 예로 iOS ViewModel이 비즈니스 로직에 따라 뷰가 업데이트되는 것처럼 말입니다. 그 반대가 되면 뷰 Layer에 의해 비즈니스 규칙이 변경되는 즉, 내부..
-
Combine Framework란?IOS/Combine 2024. 3. 3. 08:51
최근 Swift Combine에 대해서 관심이 생겼고 정리겸 지식을 공유하고자 이렇게 글을 작성합니다. 앞으로 주 단위로 콤바인에 대해 알아보는 시간을 가져볼태니 궁금한 점이나 오타, 잘못된 부분은 댓글에 남겨주시면 감사하겠습니다 ㅎㅎ Combine은 무엇일까요? Definition 애플에선 Combine framework는 시간에 따라 매번 방출하는 값을 처리하기 위한 선언형 Swift API를 제공한다라고 하는데요, 쉽게 와닿지 않지만 최대한 쉽게 설명을 해보겠습니다. 0초 1초 2초마다 4, 8, 12 란 값을 방출하는 스트림이 있다고 가정한 그림인데요, Combine은 4, 8, 12란 값을 한 번에 받아 처리할 수 있고 아니면 방출 즉시 값들을 받아 작업을 진행 할 수 있습니다. 또한 이런 결과..
-
멋쟁이사자처럼 IOS 앱스쿨 2기를 마치며스터디/멋쟁이사자처럼iOS앱스쿨 2023. 10. 25. 21:40
2023.10.25 기준 오늘 멋쟁이사자처럼 IOS 앱스쿨 2기가 마무리 되었습니다! 9.19 ~ 10.25일 까지 약 한달동안 밤낮 없이 마지막 프로젝트 작업에 몰두 했고 오늘 발표를 마지막으로 교육 기간이 끝났네요. 부트캠프를 수료 했지만, 뭔가 끝났다는 느낌은 들지 않고 "Apple developer가 되기 위한 여러 관문중 문 하나를 넘었다."란 느낌입니다. 마지막 프로젝트를 진행하면서 오랜만에 재밌는 개발을 했습니다. 팀원들이 의견도 많고 의욕도 넘쳐 저도 최선을 다한거 같네요. 거두절미 하고, 프로젝트를 진행하면서 느꼈던 점이 있어 이렇게 글을 남기고자 합니다. 이번 Yedi 프로젝트에서 제가 담당했던 역할은 다음과 같습니다. 아래 기능들을 간략하게 설명하고 고민했던점과 아쉬웠던 점을 말씀 드..
-
멋쟁이사자 앱스쿨 iOS2기 중간회고스터디/멋쟁이사자처럼iOS앱스쿨 2023. 9. 16. 11:40
백엔드 개발자에서 프론트 엔드 개발자로 도전... 그것이 바로 앱스쿨에 합격하고 교육을 진행하는 게 시작이었습니다. 23년 5월 말 시작으로 지금까지 계속 달려왔던 거 같아 잠깐 되돌아보고 프로젝트를 진행하며 느낀 점이 있어 글을 남깁니다. 나이키앱 클론 프로젝트를 진행하며 User의 정보를 표출하고 관리하는 영역(로그인/회원가입/계정 설정 등) 팀장을 맡게 되었고 팀장역할을 수행하며 생각하는 점과 못했다고 느낀 경험을 기록하려 합니다. 잘한 부분 팀원들의 의견들을 적극적으로 수용해 다 같이 의논하도록 유도 낙오자 없이 팀원 모두 맡은 역할을 잘 수행할 수 있도록 유도 Git branch 전략 수립 앱스쿨에선 많은 실패를 경험하고자 했습니다. 가능한 팀원들 의견들을 적극적으로 듣고 같이 의논해 다양한 시..
-
could not dequeue a view of kind: UICollectionElementKindCell with identifier ... - must register a nib or a class for the identifier or connect a prototype cell in a storyboard 이슈IOS/UIKit 2022. 2. 13. 15:38
컴포넌트를 dequeueReusable 메소드를 사용해 배치할때 reusable view identifier를 설정하지 않아 발생하는 오류 해결방법 본 글에선 스토리보드 기준으로 설명한다. 1. 문제가 된 컴포넌트를 찾는다. 2. dequeueReusable에서 정의한 식별자로 inspector영역에서 설정한다. collectionView.dequeueReusableCell(withReuseIdentifier: "DiaryCell", for: indexPath) as?
-
[IOS]UICollectionViewDataSource 필수 메소드 cellForItemAt doesn't called 이슈IOS/UIKit 2022. 2. 13. 15:29
IOS 개발 공부를 하며 프로젝트를 진행하던 추적하기 힘든 이슈가 발생해 리포팅한다. 프로젝트는 FastCampus 온라인강의 Diary앱을 만들던 중 다음과 같은 오류가 발생했다. https://storage.googleapis.com/static.fastcampus.co.kr/prod/uploads/202110/123023-24/[패스트캠퍼스]-교육과정소개서-30개-프로젝트로-배우는-ios-앱-개발-with-swift--1-.pdf Delegate를 위임받고, collection view의 cell들을 배치시키는데 부분에 있어 UICollectionViewDataSource protocol 필수 구현 method인 func ...(_ collectionView: UICollectionView, cel..
-
Index에 관해서CS/데이터베이스 2021. 12. 6. 22:17
RDBMS의 Index란 Index, 우리가 책을 볼 때 가장 앞에서 목차를 보게된다. 그 때 각각의 항목들이 정렬돼서 원하는 주제의 내용페이지 (DB로 따지자면 특정 테이블의 데이터)를 손쉽게 찾게된다. DB도 마찬가지로 Index란 별도의 목차를 가지고 데이터를 접근하게 된다. Select문 즉 테이블의 검색속도를 향상시키기 위해 사용되는 메커니즘으로 별도의 저장공간에 정렬돼서 저장된다. Where, Order by, Join을 빈번하게 사용하는 테이블 혹은 컬럼일 경우 자주 사용된다. 자주 바뀌는 컬럼(Update, Insert, Delete)은 Index로 만들게 되면 오히려 성능이 저하될 수 있다. Index를 사용하게 되면 Full scan을 피할 수 있게 된다. full scan은 이번 주제..