본문 바로가기

전체 글

[GitHub] 커피가 식기 전에 git clone을.. 2024년 4월 15일 월요일 그간 gitHub desktop에 의존해왔기에.. 낯선 명령어 사용에는 겁이 났지만.. 해롤드 선생님을 의지하여 용감하게 명령어라는 알을 쪼아 보았다. like., 줄탁동시? iterms에서 이름과 메일을 확인하고 당당하게 git init으로 초기화 해주었다. 하지만 이는 대불행의 서막.. wishList 폴더를 올리려고 git add를 하니 아래와 같은 경고가 뜨며, git rm -- cached wishList/wishList 를 하라며 힌트를 쏟아내는데.. (눈을 동그랗게 뜨고 다시 읽어보니 다 알려주고 있다아.. ) adding embeded git repository You've added another git repository inside your current.. 더보기
[iOS] Framework와 Library 차이점 (Framework Vs. Library) 라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게 / 어디에게 있는가에 있습니다. 즉, 애플리케이션의 Flow(흐름)을 누가 쥐고 있느냐에 달려있다고 생각하면 됩니다. 프레임워크는 그 스스로 제어 흐름의 주도성을 갖는 반면, 라이브러리는 개발자가 가지고 있다.프레임워크는 집(뼈대)이고, 라이브러리는 그 집 안의 가구이다.라이브러리와 달리 프레임워크는 이미 프로그래밍에 대한 규칙을 가지고 있다. 예를 들면 설정파일의 태그설정이나, DB연동 방법등에 대한 규칙을 가지고 있고 개발자는 이를 따라야한다.      Framework(프레임워크)소프트웨어의 특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합 → 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업을 해야한다. 객.. 더보기
[Algorithm] 추억 점수 (w/ Swift) 추억 점수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. [name: yearning] Dictionary 생성 (string 타입 key 값은 그리운 사람의 이름, Int 타입 value 값은 그리움 점수 ) 2. 사진마다 dict에 대입 3. 합산한 점수들의 배열(yeon)을 출력 func solution(_ name: [String], _ yearning: [Int], _ photo: [[String]]) -> [Int] { var dict = [String: Int]() // 이름과 그리움 값을 저장하는 딕셔너리 for i in 0.. 더보기
[Python] Max Heap Max Heap(최대 힙)의 삽입 알고리즘과 시간복잡도에 대해 공부해 봅니다. Heap은 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree)이다. 항상 최대/최소의 값들이 필요한 연산이 있다면? 바로 힙을 쓰면 된다. 힙은 항상 큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있도록 하는 자료구조로, 다시 말하면 부모 노드의 값이 자식 노드의 값보다 항상 커야 한다. 그러면 가장 큰 값은 모든 자식보다 커야 하기 때문에 가장 위로 가게되고, 그래서 최대의 값들을 빠르게 구할 수 있게 된다. 8 Level 0 6 3 Level 1 2 1 Level 2 # -> 이진 트리 O 완전 이진 트리 X 이므로 힙이 아니다! 8 Level 0 6 3 Leve.. 더보기
[iOS] WishList App (feat. CoreData) coreData를 사용하여 만든 wishList App gitHub : https://github.com/NY-Chae/wishListProject.git      | AppDelegate하단에 아래와 같이 Core Data stack 과 Core Data Saving support 추가되어 있음을 확인할 수 있다. // MARK: - Core Data stack lazy var persistentContainer: NSPersistentContainer = { /* The persistent container for the application. This implementation creates and returns a container, having l.. 더보기
[iOS] DataManager & ViewController (relationship) 2024년 4월 14일 일요일 과제 코드를 보며 좀더 업데이트 할 예정.. 📌 DataManager 역할 데이터 처리: 앱의 데이터 관련 로직을 처리한다. (데이터베이스 접근, 네트워크 요청, 데이터 변환 등) 데이터 제공: ViewController에 필요한 데이터를 제공 → ViewController는 UI 업데이트를 위한 데이터에 접근 📌 ViewController 역할 UI 관리: 화면에 보여지는 UI 요소들을 관리한다. (사용자 입력을 받고, 화면에 데이터 표시하기 등) DataManager와의 상호작용: 필요한 데이터를 DataManager로부터 요청하고, 받은 데이터로 UI를 업데이트 한다. 📌 DataManager와 ViewController를 연결 방법 1. 직접 참조를 통한 연결: Da.. 더보기
[iOS] Decodabe, Encodable, Codable 2024년 4월 13일 토요일 Make your data types encodable and decodable for compatibility with external representations such as JSON. Encoding and Decoding Custom Types | Apple Developer Documentation Make your data types encodable and decodable for compatibility with external representations such as JSON. developer.apple.com 📌 Decodable 프로토콜 Decodable 프로토콜과 CodingKeys 열거형을 사용하면, JSON과 같은 외부 데이터 소스로부터 데이터.. 더보기
[iOS] error: Multiple commands produce 2024년 4월 13일 토요일 아래와 같은 에러 메시지가 떴는데 Multiple commands produce .. ? 세모눈을 하고 끝까지 읽어보니 Info.plist가 보였다. custom으로 추가했던 font가 말썽인가보다.. 기억을 더듬어보니 font를 delete하고 다시 추가했었는데 이때 파일명이 중복되어 문제가 된 듯 하다. Multiple commands produce '/Users/chaenayeon/Library/Developer/Xcode/DerivedData/wishList-dcuoincyngbkxvgehzlqrlaagsug/Build/Products/Debug-iphonesimulator/wishList.app/Info.plist' 이런 경우에는 아래와 같이 project targ.. 더보기