전체 글133 Linked List Linked List메모리 상에 원소들을 불연속적으로 배치한 선형 자료구조불연속적인 대신 이전이나 다음 노드의 위치를 알고 있음리스트의 각 원소를 노드라고 부름노드는 데이터와 다른 노드에 대한 참조를 가짐맨 앞/뒤 노드를 head/tail 노드라고 부름어떤 노드에 대한 참조를 갖느냐에 따라 크게 3가지 종류로 나눌 수 있음 Singly Linked List각 노드는 데이터와 다음 노드에 대한 링크(참조)를 가짐 Doubly Linked List각 노드는 이전, 다음 노드에 대한 링크(참조)를 가짐 Circular Linked List마지막 노드가 헤드 노드에 대한 링크(참조)를 가짐 성질1. 헤드 노드에 대한 참조만 가지고 있기 때문에 임의의 원소에 접근/변경하려면 O(n)의 시간이 소요2. 다른 노드.. 2024. 7. 21. 면접 후기 07월 18일 어제, 면접을 다녀왔다.어제 바로 글을 쓰면 좋았겠지만.. 싱싱미역 상태라서 글을 쓸 수가 없었다.그래서 오늘이라도 글을 남겨보려고 한다. 채용 절차사전 과제 -> 면접 진행3년차의 공고였고, 나는 신입이지만 자격요건에 어느 정도 부합해서 지원하게 되었다.그리고 감사하게도 사전 과제의 기회를 주셔 열심히 진행하게 되었다. 사전 과제사전 과제는 그리 어렵지 않은, iOS 개발자라면 가장 일반적으로 구현하게 되는 미션이었다.짧은 기간이지만, 나의 모든 역량을 보여주기 위해 노력했다.아키텍처로는 MVVM-C와 Clean Architecture를 사용했다. 이외에도 코드는 일관성있게, 깔끔하게 정리했고, 이해하기 쉽게 주석을 열심히 달아주었다.모든 구현을 마치고 리드미에 사용한 기술과 각 객체의.. 2024. 7. 19. Troubleshooting - DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead - 프로젝트 빌드 중 해당 에러가 발생 - 'LIBRARY_SEARCH_PATHS' 설정에 'DT_TOOLCHAIN_DIR' 환경 변수가 사용되었다는 내용. 원인 - 'LIBRARY_SEARCH_PATHS' 는 라이브러리 파일을 찾기 위한 경로를 정의. - 'DT_TOOLCHAIN_DIR'은 Xcode와 관련된 변수 중 하나로 ToolChain 디렉토리를 나타내는 경로를 포함. (Toolchain: 컴파일러, 링커, 등 프로그래밍 도구들의 모음으로 소스 코드를 컴파일하고 빌드하는 데 필요) - 'DT_TOOLCHAIN_DIR' 은 일반적으로 .. 2024. 2. 1. Troubleshooting - Registering simulator runtime with CoreSimulator failed. Registering simulator runtime with CoreSimulator failed. -Xcode 15.2 로 업데이트 했는데, 시뮬레이터 다운로드 중 다음과 같은 에러가 등장했다. 시뮬레이터 런타임 등록에 실패했다는 내용이다. 추정 원인 1. 디스크 공간 부족: 이를 다운로드 받는데는 상당한 양의 디스크 공간이 필요하고, 부족할 경우 오류가 발생할 수 있음 2. 소프트웨어 결함: 관련 서비스의 소프트웨어 결함이나 일시적인 문제로 인해 오류가 발생할 수 있음 3. 네트워크 문제: 다운로드 중 네트워크 중단 등의 문제로 인해 오류가 발생할 수 있음 해결 - 저장공간을 확인 후, 몇몇 파일들을 정리해주니 다운로드를 성공적으로 마칠 수 있었다. 대부분의 원인은 디스크 공간 부족으로 인해 나타난.. 2024. 2. 1. 캐시정책에 관하여 왜 필요한가? - 이전 시간에 이미지 캐싱에 대해 학습했다. (2024.01.18 - [개린이 이야기] - 이미지 캐싱에 관하여) - 이미지 캐싱은 네트워크 요청을 최소화함으로써 사용자 경험을 크게 향상시킨다. 하지만 캐싱으로 인한 메모리 사용량 증가는 시스템 리소스에 부담을 줄 수 있다. 따라서 NSCache나 cachesDirectory의 자동 삭제(auto-eviction)기능에 의존하기보다는, 앱의 상황에 맞는 적절한 캐시 정책을 수립하여 적용하는 것이 중요하다. 캐시 만료 정책 - 각 데이터에 만료일을 설정하고, 정기적으로 만료된 데이터를 제거하는 방법 - KingFisher 라이브러리 코드를 참고하여, 캐시 관리 기능을 구현! 저장할 객체 선언 final class StorageObject {.. 2024. 1. 24. Downsampling(다운샘플링)에 관하여 - 다운샘플링에 관해 알아 볼 예정으로 이 글을 읽기 전에 "https://developer.apple.com/videos/play/wwdc2018/416/" 를 보는 것을 추천합니다. Downsampling(다운샘플링) - 이미지의 해상도를 줄이는 과정 iOS에서 이미지와 메모리 사용량 - WWDC에 의하면, 이미지의 메모리 사용량은 파일 크기가 아닌 이미지의 dimensions(이미지 너비와 높이)에 있다. 즉, 이미지를 메모리에 로드할 때, 해당 이미지가 차지하는 픽셀의 총량이 메모리 사용량을 결정한다. iOS에서 이미지 처리 단계 1. 로드 단계 - 압축된 JPEG 파일을 메모리로 불러온다. 2. 디코드 단계 - 이미지 파일을 실제 픽셀 데이터로 변환하는 과정이다. ex) JPEG 파일을 GPU가.. 2024. 1. 20. 이전 1 2 3 4 5 6 ··· 23 다음