[Tuist] Resolved cache profile 'Development' from Tuist's defaults Manifest not found at path 오류 해결
·
🍎 iOS/Tuist
tuist generate 시 이런 오류가 발생하였다. Resolved cache profile 'Development' from Tuist's defaults Manifest not found at path /Users/ganghyeonjun Consider creating an issue using the following link: https://github.com/tuist/tuist/issues/new/choose 해결방법 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
[Swift] 백트래킹
·
💻 CS/알고리즘
백트래킹 모든 경우의 수를 고려하는 알고리즘. 답이될 수 없는 후보는 더이상 탐색하지 않고 다시 돌아가는 알고리즘 백트래킹 절차 DFS - 유망한 노드 검토 - 서브트리 이동 - 백트래킹 수행 DFS 수행 : 재귀를 호출하면서 DFS를 그대로 수행 유망한 노드 검토 : 유망한 노드면 서브트리로 이동하고, 그렇지 않으면 백트래킹을 수행해야함 서브트리 이동 : 방문한 노드의 하위 노드로 이동하여 다시 재귀를 통해 DFS 수행 백트래킹 수행 : 더이상 유효한 노드라고 생각되지 않으면 상위 노드로 백하여 백트래킹 수행 백트래킹 대표 예제 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러..
코디네이터 패턴
·
🍎 iOS/디자인패턴
Coordinator Pattern ViewController가 보유한 책임 중 Navigation과 관련된 부분을 다른 인스턴스에서 책임지도록 하는 패턴 기존의 ViewController에서 직접적으로 화면전환을 시행하는 방식은 다음에 띄워질 다른 ViewController에 대해 기존 ViewController가 알고 있어야하는 구조다. 이렇게 하면 ViewController 인스턴스 간에 심한 커플링을 발생시킨다. (커플링: 두 요소간의 상호의존성) 이를 해결한 것이 Coordinator 패턴이다. 모든 VIewController는 Coordinator 인스턴스만 보유할 뿐, 다른 ViewController의 인스턴스를 직접적으로 보유하지 않는다. 그저 Coordinator에 요청할 뿐이다. 이런 ..
[Swift] 프로그래머스 12941 최솟값 만들기
·
📝 코테/프로그래머스
import Foundation func solution(_ A: [Int], _ B: [Int]) -> Int { var ans = 0 let a = A.sorted(by: ) for i in 0..
[Swift] 프로그래머스 12951 JadenCase 문자열 만들기
·
📝 코테/프로그래머스
func solution(_ s: String) -> String { var first = true var res = "" for c in s { if c == " "{ res += " " first = true continue } if first { if let test = Int(String(c)) { res += String(c) } else { res += String(c).uppercased() } first = false } else { res += String(c).lowercased() } } return res } 쉬울 줄 알았는데 생각보다 막혔다. 추가하면 좋은 테케 입력 : " for the last week " 출력: " For The Last Week " 공백을 고려해야해서 반복을..
Dependency Injection (의존성 주입)
·
🍎 iOS/Swift
Dependency(의존성) 객체 지향 프로그래밍에서 Dependency, 의존성은 서로 다른 객체 사이에 의존 관계가 있다는 것을 말한다. 즉, 의존하는 객체가 수정되면, 다른 객체도 영향을 받는다는 것이다. import UIKit struct Eat { func coffee() { print("아메리카노") } func meal() { print("피자") } } struct Person { var todayEat: Eat func coffee() { todayEat.coffee() } func meal() { todayEat.meal() } } Person객체는 Eat객체를 인스턴스로 사용하고 있으므로, Eat객체에 의존성이 생긴다. 즉, Person객체는 Eat객체에 의존하고 있다. 만약 이때, ..
5. 2. 면접후기
·
🧑🏻‍💼 후기/면접후기
중소기업 - 회사규모 : 200여명 - 교육업(영어교육) 잘못 대답했던 질문 MVC와 MVVM의 차이가 무엇이라고 생각하나요? MVVM은 뷰와 비즈니스로직의 역할을 분리하기 위해 사용하는 것으로 알고 있습니다. MVC는 .. 잘 모르겠습니다. 죄송합니다 해야했을 답변 MVC는 Model, View, Controller로 구성되어 사용자 입력과 비즈니스 로직을 분리합니다. 반면, MVVM은 Model, View, ViewModel로 구성되어 데이터 바인딩을 중심으로 하며, View와 ViewModel 사이의 통신을 관리합니다. UICollectionView와 ListView의 차이점이 무엇이라고 생각하나요? UITableView와 UICollectionView의 차이는 배열 방식이라고 생각합니다. UITa..
스타트업 사전과제 후기
·
🧑🏻‍💼 후기/과제후기
스타트업 A 집에서 도보 8분 식대 및 각종 복지 시리즈 A 투자 유치 첫 사전과제 후기를 간단하게 올려보려고 한다. 과제 내용은 유출하면 안되서 간단하게 기록해보겠다. 과제는 3일 동안 할 수 있었고 그동안 구현했었던 것들을 바탕으로 필수 조건들은 모두 충족시켜서 제출하였다. 우대사항을 모두 충족시키지 못해서 많이 아쉬웠다. 우대사항을 충족시키려면 처음 접해보는 정보들을 학습할 시간이 필요했는데.. 나는 빠르게 습득하고 응용하기에 시간이 부족하다고 판단했다. 사전 과제를 하면서 컴퓨터 공학지식을 코드에 처음 사용해봤다. 그러면서 앞으로도 해야할 공부가 굉장히 많이 남아있다는 것을 느꼈다... 결과 불합격 이 기업에서는 감사하게도 아쉬운 부분을 말해주셨다. - 외부 의존성을 주입할 수 없어 테스트 환경을..
Clean Architecture
·
🍎 iOS/디자인패턴
Clean Architecture 소프트웨어 시스템을 특정 목적과 책임을 가진 계층으로 분리하는 디자인 접근방식 클린 아키텍처의 주요 목표는 각 계층을 독립적으로 개발, 테스트 및 배포할 수 있도록하여 유연하고 유지 보수가 용이한 시스템을 만드는 것이다. 왼쪽의 그래프를 보면 여러개의 레이어들이 존재하는 것을 볼 수 있다. 이 그래프에서 핵심은 안쪽 레이어들은 바깥 레이어에 있는 것들을 몰라야 한다. 즉 안쪽 레이어에서 바깥 쪽에 의존하지 말아야한다.는 것이다. 다시말하면, 바깥쪽 레이어의 객체를 내부에서 생성하면 안된다는 말이다. 그래서 Dependency Rule 화살표가 안쪽을 향하고 있다. 안쪽 레이어에 의존해야 한다는 의미다. Layers 이렇게 레이어를 나눴는데, 여기서 그룹을 지을 수 있다...
RxSwift #1 시작하기
·
🍎 iOS/RxSwift
RxSwift 코드를 새로운 데이터에 반응하며 순차적으로 처리하게 함으로써 비동기 프로그래밍을 쉽게 하도록 도와주는 라이브러리 위의 정의로만 보면 어렵다. 상황을 통해 살펴보자 한 화면에서 3번 네트워킹하여 각 데이터를 한번에 표현하고자 한다면 어떻게 처리해야할까? 일반적인 방법으로는 GCD를 이용해서 처리했을 것 같다. 하지만 이런 상황에서 RxSwift를 사용한다면 더 쉽고 효과적으로 처리할 수 있다. RxSwift를 시작하기 전에 이해를 위한 기본적인 내용을 알아보자 비동기 프로그래밍 용어들 1. State (Shared mutable state) iOS 개발을 할 때 비동기적인 State를 관리하는 것은 어렵다. ex) 좋아요 기능을 구현할 때 TabBar로 구성되어 있다면 한 화면에서 좋아요를 ..
JerryiOS
'분류 전체보기' 카테고리의 글 목록 (6 Page)