본문 바로가기

All

(130)
[Git] CLI로 .gitignore 생성하기 문제 .gitignore 파일을 만드는 사람들의 행동이 몇 가지 존재합니다. gitignore.io 사이트에 가서 키워드 입력 후 생성된 내용을 .gitignore 파일에 붙여넣는다. 자주 사용하는 내용과 형식을 만들어놓고 복사/붙여넣기 한다. 프로젝트 템플릿을 사용한다면 템플릿으로 프로젝트를 생성한다.(.gitignore 파일 포함) CLI로 만든다. 프로젝트를 자주 하다보면 똑같은 gitignore 파일 만드는 게 생각보다 귀찮습니다. 제가 그렇습니다. 오히려 Command-Line으로 만드는 게 훨씬 편하다는 생각이 듭니다. 실제로 Toptal 사이트에 가보면 Document에 방법이 정리되어 있습니다. 사용 저는 여러 Shell 중에서 fish-shell을 사용하기 때문에 터미널에 다음과 같이 입..
[iOS] 이미지 요청 취소하기 이미지 또 너냐? 거의 모든 어플리케이션에서 이미지를 표시합니다. 사실상 이미지가 없는 앱은 없다고 볼 수 있죠. 그리고 아이콘, 로고 등을 제외한 이미지는 원격 서버에서 가져오는 경우가 대부분입니다. 이미지가 원격 서버에 있다는 의미는 어떤 의미일까요? 결국 그 역시 네트워크 요청이기 때문에 일정 시간이 소요되고 비용이 든다는 이야기입니다. 시간과 비용이 드는 작업이기 때문에 우리는 요청 횟수를 최소화하거나, 적절한 타이밍에 요청을 해야 합니다. 이미지 요청 취소(Cancel) 작업의 필요성 그리고 이미지 요청의 경우 시간이 걸리는 비동기 작업이기 때문에 애플리케이션 내에서 경쟁 조건이 발생할 수 있습니다. 어떤 요청 작업이 먼저 끝날지 예측하기도 어렵죠. 테이블 뷰나 컬렉션 뷰 처럼 많은 셀을 가질 ..
[iOS] commit hitch 제거하기 문제 비마이플랜 1.4.3 버전의 메인 화면에서 스크롤 시 끊김 현상이 발생합니다. 1. 코드에 문제일 것이다. 2. 렌더링 문제일 것이다. iOS 어플리케이션의 UI 렌더링 과정에 대해서 알아보기로 했습니다. Render Loop, Hitch 등등의 키워드가 나오더군요. 키워드에 대해서 알아보던 중 관련 있는 것 같은 WWDC 세션이 몇 개 나왔습니다. 우선 영상부터 보기로 했습니다. 다음 영상을 찾아보면 좋을 것 같습니다: Explore UI animation hitches and the render loop Demystify and eliminate hitches in the render phase Find and fix hitches in the commit phase 영상을 찾아보면 알겠지만 우..
[iOS] 반나절동안 메모리 사용량 91% 감소시키기 들어가며 https://apps.apple.com/kr/app/%EB%B9%84%EB%A7%88%EC%9D%B4%ED%94%8C%EB%9E%9C-%EC%97%AC%ED%96%89-%EC%BD%94%EC%8A%A4-%EC%8A%A4%ED%86%A0%EC%96%B4/id1627682568 (👇 앱 스토어 링크) ‎비마이플랜 - 여행 코스 스토어 ‎여행 코스 스토어, 비마이플랜 현지인 크리에이터들이 만든 다양한 컨셉의 여행 코스 콘텐츠로 여행 계획 시간을 확 줄여보세요! 크리에이터가 엄선한 장소들을 효율적인 루트로 구성하여 일 apps.apple.com 나는 현재 여행 코스 스토어 비마이플랜의 유지, 보수, 신규 기능 개발을 맡고 있다. . 그동안 팀에 합류하고 크고 작은 5-6차례의 업데이트를 해왔는데, 짧..
[Note] #1 [ 기록 ] 개인적으로 학습하면서 기록한 것이라 틀린 내용이 있을 수 있습니다. ▪️ Hash table 복습 - 해시 테이블, 버킷, 슬롯, 해시 함수, 해싱, 해시 충돌, 해시 충돌 해결 ▪️ 비트와 바이트 - 비트란 컴퓨터가 데이터를 처리하기 위한 데이터의 최소 단위 - 컴퓨터는 2진수(0과 1)로 동작 - 바이트(byte)란 비트(bit)가 8개 모여서 구성, 일반적으로 한 문자를 표현할 수 있는 최소 단위 ▪️ 바이트 저장 순서 컴퓨터는 데이터를 메모리에 저장할 때 바이트(byte) 단위로 나누어 저장한다. 컴퓨터가 저장하는 데이터는 대개 32bit, 64bit로 구성된다. 연속되는 바이트를 순서대로 저장해야 하는데, 이것을 바이트 저장 순서라고 한다. 바이트가 저장되는 순서에 따라 다음 두 가..
슬라이딩 윈도우 알고리즘(Sliding window algorithm) 인사말 안녕하세요 태끼입니다 올해의 첫 포스팅이네요. 작년은 유독 기억에 남는 해가 아닐까 싶습니다. 생각해보면 참 열심히 살았고 그에 따라 얻는 것도 많았지만, 체력적/심적으로 많이 지치기도 했던 한 해였던 것 같아요. 작년에 대한 회고는 스스로 차분히 잘 해봤는데요. 작년을 거름 삼아 올해를 더 잘 보내는 데에 집중해보도록 하겠습니다 :) 올해에 저에게는 몇 가지 목표가 있는데요. 그중 한 가지는 코딩테스트(여러 가지 형태가 될 것 같아요!)에 응시해서 한 번이라도 통과하는 것입니다. 코딩테스트마다 조건이나 기준이 다를 테지만 공부한 만큼 성과를 이뤄내고 싶고 동기부여를 받고 싶어요. 여느 해보다는 좀 더 코딩테스트 준비에 힘쓸 예정이에요. 알고리즘 이론이나 새롭게 알게된 문법이나 스킬 등등도 종종 ..
[Swift] Stored Property vs Computed Property vs Method Stored Property vs Computed Property vs Method 최근에 기초가 부족하다는 것을 느껴 틈틈히 평소에 궁금했던 것이나 문법들을 다시 보고 있는데 생각보다 재밌다.. (자, 일단 자신을 속여..!!) 연산 프로퍼티를 언제 쓰는 것이 좋을지 고민을 하다가 괜찮다고 느낀 관점의 글이 있어서 메모해놓는다. 저장 프로퍼티(Stored Property) - 값의 변화가 없고, 정기적으로 접근(Read)해서 쓰려고 할 때 - 만들어놓고 거의 읽지 않게되는 저장 프로퍼티인 경우 lazy 키워드를 사용해서 성능을 개선해볼 수 있을 것 같다. - 마찬가지로 Property Observer를 통해서도 성능을 개선해볼 수 있지 않을까? (- 요 부분은 살짝 와닿지 않는다.) 연산 프로퍼티(Co..
[iOS] 네트워크 통신 톺아보기를 시작하기 전에(0) 요즘 공부의 어느 정도 시간은 네트워크 통신 부분에 대한 학습, 네트워크 레이어 추상화에 대한 것을 연구해보고 있다. 그리고 나만의 네트워크 라이브러리 선택 기준도 고민해보는 중 네트워크 통신은 정말 요청(Request)과 응답(Response)이 다라는 것을 요즘 더 강하게 느낀다. 스스로 정리가 얼추 되면, 네트워크 통신에 대해서 내 나름대로 정리해보려고 한다. 자원(리소스)이 있는 서버 쪽에 요청할 요청서를 만들고, 가져온 자원을 앱의 상황에 맞게 적절히 해독하고 가공해서 쓰는 것 이것이 다라고 생각한다. 요청을 통해 자원을 생성하는 경우도 있지만 대부분의 경우 데이터를 받아쓰는 클라이언트의 입장에서는 요청이 특히나 중요하다고 본다. 요청서에 필요한 정보는 크게 다음과 같다. URL(Path, Qu..