본문 바로가기
728x90

전체 글142

새해맞이 2021 회고 ☀️ 블로그에는 처음 작성해보는 회고록,, 👀 2021년 목표는 iOS 앱 출시, iOS 개발자로 취업하기가 제일 큰 목표였다. 추가로, 휴식이나 취미활동도 챙기는 것도 신경썼다. 🥺 👩‍💻 개발 회고 2021년에 했던 일들을 정리해봤다 (헤헤 팬톤 컬러를 이용했다.) 혼자 취업을 준비하는거라 걱정도 많고, 잘하고 있는 건지 확신이 없었지만 나름 잘하고 있었던 것 같다! 중간중간 여러 탈락소식도 있었고, 아직 부족한 점도 많지만 이제 iOS 개발자라고 얘기할 수 있다 🤔 iOS 취업을 준비하면서 처음부터 가고싶었던 회사에 합격해서 좋다. 면접때 좋게 봐주신 분들께 감사를,, ❤️ 회사의 서비스에도 애정이 있고, 기업 문화, 개발 문화도 팀원분들도 잘 맞는 것 같아 기쁘다 ☺️ 졸업과 함께 터닝포인트가 된 20.. 2022. 1. 1.
[Swift] final 키워드는 언제 사용할까? Swift 에서는 다른 언어와 비슷하게 클래스를 상속해 서브클래스를 구현할 수 있어요. 만약, 해당 클래스가 더이상 상속이 필요없거나 특정 속성은 오버라이드하지 않아야 한다면 어떻게 해야할까요?! 👀 final 키워드를 통해 더 이상 상속이 필요없음을 명시할 수 있고, 오버라이드 할 시 컴파일 에러를 발생시킬 수 있습니다! 명시적으로 상속되지 않는 것 외에 런타임 성능이 향상된다는 장점도 있다고 해요. 👀 Swift 문서에서는 다음과 같이 설명하고 있어요! 서브클래스에서 특정 method, property, subscript 가 오버라이드 되지 않도록 하기위해서 final 키워드를 사용한다. final 키워드를 붙인 method, property, subscript 를 서브클래스에서 오버라이드하면, 컴파.. 2021. 12. 12.
[해커톤] 2021 두굿해커톤 iOS 앱 개발 후기 💗 두굿 해커톤 후기 지난 8월에 참여했던 두굿해커톤 후기를 작성해보려합니다! ☺️ MVVM + RxSwift 스터디를 진행했던 건우님과 같이 참여했던 해커톤이에요. 두굿해커톤은 사업성보다는 사회에 임팩트를 주는 서비스 개발에 더 비중을 두는 해커톤이라 더 참여하고 싶었어요! 세가지 주제가 주어졌는데, 공통적으로는 코로나로 인해 힘들어진 마음을 위로할 수 있는 서비스가 메인이었어요. 💗 두굿 해커톤 아이디어 세션 & 팀빌딩 두굿 해커톤은 2박3일간 게더타운에서 비대면으로 진행됐어요.. 👀! 비대면으로 진행하는 해커톤은 처음이었지만 팀빌딩부터, 2박3일간 해커톤이 생각보다는 수월하게 진행됐던 것 같아요. 아이디어 발표를 먼저 진행하고, 마음에 드는 아이디어를 기획하신 분과 이야기를 나눠 팀빌딩을 진행했어요.. 2021. 12. 11.
[iOS] SnapKit / Then 라이브러리를 이용해 코드로 UI 구현하기 SnapKit iOS 에서 Autolayout 을 코드로 구현할 때 쉽고 편리하게 도와주는 라이브러리 작성해야하는 코드의 길이를 줄여주고, 가독성을 높여주는 장점이 있다. 뷰 계층의 depth 가 깊어지면 복잡해질 수 있다. pure autolayout 으로 Autolayout 을 적용하는 방법 view.addSubview(label) label.translatesAutoresizingMaskIntoConstraints = false let leading = label.leadingAnchor.constraint(equalTo: view.leadingAnchor) let trailing = label.trailingAnchor.constraint(equalTo: view.trailingAnchor) le.. 2021. 11. 11.
[iOS/RxSwift] RxDataSource - UITableView, UICollectionView RxSwift 에서 DataSource 를 설정하는 방법을 정리해보려고 합니다! UIKit 의 UITableView, UICollectionView 를 이용할 때에는 각 리스트에 대한 데이터를 표현하기 위해 data source 를 지정해줘야 하는데요. 기본적으로는 data source 프로토콜을 채택해, 메소드를 구현해 데이터를 표현합니다. RxSwift 와 RxDataSource 에서는 data source 메소드를 직접 구현하지 않고 쉽게 사용할 수 있도록 오퍼레이터를 제공합니다. 1. UIKit 에서 data source 를 설정하는 방법 2. RxSwift 에서 data source 를 설정하는 방법 3. RxDataSource 를 이용해 data source 를 설정하는 방법 1. UIKit .. 2021. 10. 17.
[iOS] iOS 앱 배포 :: Certificates(인증서)와 Provisioning profiles(프로비저닝 프로파일) iOS 앱을 앱 스토어에 배포하기 위해 필요한 개념 중 인증서와 프로비저닝 프로파일을 알아볼게요 👀 1. Certificates (인증서) 2. Provisioning Profiles (프로비저닝 프로파일) 지난번 개발한 Zerobin 앱을 업데이트 하기 위해 다시 인증서와 프로비저닝 프로파일을 등록했지만 무엇을 위해 필요한건지 모르겠어서 정리를 합니다 🥲 1. Certificates (인증서) 인증서는 애플이 개발자를 신뢰할 수 있는 보증서이다. “애플만이 자신의 하드웨어에 소프트웨어를 동작시킬 수 있다” -> 애플인증서를 발급받아야만 개발자는 애플 하드웨어에 소프트웨어를 동작시킬 수 있다. 애플의 실제 하드웨어(아이폰, 아이패드)에서 우리가 만든 소프트웨어를 동작하기 위해 인증서가 필요하다. - iO.. 2021. 10. 15.
[Swift] 스터디 7주차 - 그래프 알고리즘 6/1 진행했던 스위프트 데이터 구조와 알고리즘 책의 5장 '트리 구조 기반의 알고리즘' 스터디 정리입니다! 1. 그래프의 개념, 그래프의 종류 2. 그래프의 표현 방식 (코드적으로) 3. 그래프 탐색 - DFS(깊이우선탐색), BFS(너비우선탐색) 💡 그래프(Graph) 그래프는 노드(Vertex; 꼭지점)와 노드를 연결하는 간선(Edge; 모서리)의 집합으로 이루어진 데이터 구조입니다. 그래프를 통해 연결되어 있는 객체들의 관계를 표현할 수 있습니다. 그래프의 활용 예시 : SNS 에서 연결된 사람들, 지도, 지하철 노선도의 최단 경로, 선수 과목 등 .. ✔︎ 그래프(Graph)의 종류 1) 무방향 그래프(Undirected Graph) 노드를 연결하는 간선이 양방향성인 그래프입니다. 방향이 없다는.. 2021. 7. 26.
[Swift] 스터디 5주차 - 트리 구조 기반의 알고리즘 5/18 진행했던 스위프트 데이터 구조와 알고리즘 책의 5장 '트리 구조 기반의 알고리즘' 스터디 정리입니다! 🎄 1. 트리의 특징 2. 트리 vs 그래프 3. 이진 트리, 이진 트리의 종류 4. 이진 탐색 트리(BST, Binary Search Tree) 5. 트리 순회 방식 6. B 트리와 스플레이 트리 🎄 트리(Tree) 트리는 노드의 집합으로, 계층을 이루고 있는 데이터 구조를 의미합니다. 트리의 최상위 노드인 루트 노드, 그 아래로 뻗어나가는 자식 노드로 구성됩니다. 각각의 노드는 키 값, 자식 노드 집합, 부모 노드 링크 등을 포함하고 있는 데이터 구조입니다. 트리의 특징 트리는 그래프의 한 종류로, 사이클이 없는 하나의 연결 그래프입니다. 트리는 이진 트리, 이진 탐색 트리, 균형 트리(AV.. 2021. 7. 26.
[알고리즘/Swift] 그래프탐색(DFS/BFS) - 타겟넘버, 네트워크, 단어변환, 여행경로 1. 타겟 넘버 (DFS) 1을 더하거나 뺄 수 있기 때문에, 더하거나 빼는 경우에 대해 한번씩 DFS 를 수행해준다. 이를 그래프로 그려보면 이해하기 쉽다. 숫자를 하나 더하거나 빼는 것을 그래프의 깊이 탐색이라고 생각하면 된다. import Foundation func dfs(numbers: [Int], target: Int, i: Int, total: Int) -> Int { if i == numbers.count { return total == target ? 1 : 0 } let count1 = dfs(numbers: numbers, target: target, i: i+1, total: total - numbers[i]) let count2 = dfs(numbers: numbers, targe.. 2021. 7. 21.
728x90