본문 바로가기

분류 전체보기140

[Swift] NSCache 이해하기 활용 개념 Cache CPU와 HDD의 속도 차이를 메꾸기 위해 고안된 개념으로, Cache라는 임시 메모리를 두어 CPU에서 자주 사용하는 데이터를 임시 저장한 후, 필요할 때 사용한다. 컴퓨터 과학에서는 데이터나 값을 미리 복사해두는 임시 저장소를 의미하며, 위에서 CPU와 HDD 간의 속도 간극을 메우기 위해 사용한 것처럼 데이터 접근 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우 사용한다. Memory Cache(메모리 캐시) vs Disk Cache(디스크 캐시) Memory Cache Disk Cache 종류 NSCache 등 FileManager, UserDefaults, CoreData 등 특징 휘발성 - 앱 종료 시 메모리에서 해제 비휘발성(영속성) - 파일 형.. 2024. 3. 17.
[SwiftUI] CustomTabView 구현 구현하게 된 이유 진행 중인 프로젝트 디자인은 기본 TabView와 유사했음에도, 기본 TabView로는 구현할 수 없었습니다. 'SwiftUI에서 TabView item들의 속성은 조정할 수 있게 해주지' 라는 생각이 많이 들었던.. 동시에 앞으로의 프로젝트가 험난하겠구나(?)가 느껴진 순간이었습니다. 기능 및 디자인 1. 기능: item 클릭 시, 추가 동작 제어 2. 디자인: 기본 CustomView와 유사. (이미지 사이즈만 조정) Model 코드 Enum으로 다음과 같은 모델을 만들었고, 필요한 Property를 추가했습니다. // // CustomTabView.swift // // Created by Eddy on 2/19/24. // import SwiftUI public enum TabIt.. 2024. 3. 4.
코딩테스트 준비를 위한, 코드트리 후기 꾸준한 블로그 글쓰기를 위해 참여한 글또에 `코드트리`라는 코딩테스트 학습 플랫폼에서 협업 제의를 해준 덕분에, 나같은 코딩테스트 유랑민도 코드트리 커리큘럼에 참여할 수 있게 되었고, 한 달동안 사용하면서 느낌 장단점을 가볍게 정리해봤습니다. 장점 문제집 사실 지금까지 코딩테스트를 공부하는 게 어려웠던 점은, 내가 잘 하고 있는건가,, 라는 모호함이 컸습니다. 고등학교를 넘어서부터는 커리큘럼이나 개념의 깊이에 대해 본인 스스로 찾아가야하는데, 매번 스스로 찾다보면 쉽게 지치기 마련이죠. 그런 의미에서 정해진 커리큘럼과 단계가 있고, 개념을 알고 문제를 풀 수 있다면? 이라는 생각을 적극 반영한 플랫폼이라는 생각이 들었습니다. 특히 내가 인터넷을 통해 찾은 개념이 불확실하거나, 이해하기 어려울 수 있는데 .. 2024. 3. 2.
[Github] 우리는 왜 Squash & Merge와 No Fast-forward Merge 방식을 채택했을까? 서론 DDD 개발 동아리에서 진행 중인 프로젝트에서, 브랜치 전략과 함께 어떻게하면 커밋기록을 깔끔하게 관리할 수 있을까 라는 고민으로 Merge 방식에 대해 생각해보게 되었습니다. Commit History 관리를 잘해야 한다. 라는 얘기는 들어봤지만, 막상 프로젝트를 하면 잘 확인하지도 않는 Commit History가 왜 중요하지 라는 의문을 갖고 있었습니다. 이번 글에서는 프로젝트에서 Squash & Merge와 No Fast-Forward Merge를 사용하기까지 공부했던 내용들과 사용하면서 느낀 바를 정리하고자 합니다. 단순하게 Merge를 해왔다면 지금까지 저는 단순히 Conflict만을 피하기 위해 Rebase 후, Default Merge 방식만을 채택해왔습니다. 그에 따른 결과는 아래의.. 2024. 2. 4.