[Git] .gitignore가 정상적으로 작동하지 않을 때
2022. 11. 18. 09:26
Git
개인 프로젝트를 진행 중에 원격 저장소에 올리지 않을 파일들을 추려서. gitignore에 추가했는데 정상적으로 작동하지 않았습니다. 제가 파일트래킹을 제대로 못했나 해서 이렇게도 써보고 저렇게도 써보고 했는데 그게 문제가 아녔더군요 해결법은 간단합니다! git rm -r --cached . git add . git commit -m "gitignore Fix" 1. 캐시를 전부 삭제합니다 2. 캐시를 전부 삭제했으니 다시 스테이지에 올려줍니다 3. 다시 커밋하시면 ignore가 정상적으로 작동하지 않던 부분이 정상적으로 작동합니다~~ 만약 이것도 문제가 아니라면... 파일 트랙킹이 잘못됐을 가능성이 높아 보입니다
[iOS] 프로젝트 모듈화 하기 - Tuist (2/4)
2022. 11. 4. 15:31
iOS
1편에서 간단하게 Tuist 사용법에 대해 알아봤습니다. Tuist에 대해 잘 모르신다면 https://cheonsong.tistory.com/14 1편을 보고 오시면 도움이 됩니다! 이번에는 Tuist를 활용하여 프로젝트를 모듈화 하는 방법에 대해 포스팅 하겠습니다. 저는 Clean Architecture을 적용해 모듈화를 진행했으며 간단하게 Domain, Presentation, Data, App, Design 프로젝트로 구성했습니다. 실직적으로 App을 실행하는 프로젝트는 App 프로젝트이며, 나머지 프로젝트는 Framework로 구성할 예정입니다. 그리고 모든 프로젝트를 하나의 Workspace로 포함해 프로젝트 구성 완성할 예정입니다. 모듈화 할 프로젝트 구분하기 위 사진처럼 Manifests하..
[iOS] 프로젝트 생성 및 관리 - Tuist (1/4)
2022. 9. 30. 14:23
iOS
Tuist 란? Tuist는 Xcode 프로젝트의 생성, 유지보수 및 상호 작용을 용이하게 하는 것을 목표로 하는 CLI(명령줄 도구)입니다. 또한 프로젝트 셋팅을 Swift로 하기때문에 iOS 개발자들에겐 다른 도구에 비해 접근성이 좋습니다. Tust Install 터미널을 실행 후 해당 명령어를 통해 Tuist를 다운로드 합니다. curl -Ls https://install.tuist.io | bash Tuist Init 먼저 Tuist를 통해 프로젝트를 생성할 디렉토리를 생성합니다. 저는 디렉토리명을 Tuist로 정했습니다. 그 후, 해당 디렉토리로 이동 후 tuist로 프로젝트 생성을 위해 초기화 해줍니다. mkdir Tuist cd Tuist tuist init --platform ios 초기화..
[Git] Git-lfs 사용, GitHub 100MB 이상 파일 업로드 하기
2022. 9. 8. 14:57
Git
Git-lfs 란? GitHub 는 한번 푸쉬할때 파일의 최대 사이즈는 100MB가 넘어가면 안된다. 그럼 100MB가 넘어가는 파일을 GitHub에 업로드 해야하는 경우는 어떻게 해야 하는가? GitHub 문서를 보면 해당 내용을 찾아볼 수 있다. https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github About large files on GitHub - GitHub Docs About size limits on GitHub GitHub tries to provide abundant storage for all Git repositories, although ther..
[iOS] Gradient Layer 적용 시 View가 잘리는 현상
2022. 2. 4. 17:03
iOS
현재 소켓통신을 이용하여 채팅방을 구현중이다. 채팅창은 테이블 뷰를 통해 구현했고 채팅이 아래서 위로 올라가는 구조이다. 채팅창의 최상단은 블러처리된다. 블러처리를 위해 테이블뷰의 SupeView에 Gradient Layer을 추가해줬다. 그런데 영상과 같이 채팅창의 하단부분이 잘려서 나오는 문제가 발생했다. 이것 때문에 꽤 많은 시간을 삽질했다. 일단 나는 XIB파일을 이용해 CustomView를 만들어 ViewController위에 올려줬다. 사진의 가장 하단을 보면 iPhone SE 버전으로 UI를 구성한것을 확인할 수 있다. 그런데 정작 실행은 iPhone 11로 실행했다. iPhone SE로 실행하면 채팅창 하단이 잘리는 현상은 사라진다. 즉, 내가 Xib파일을 이용해 UI를 구성한 시점에 fr..
[iOS] SnapKit 노치 유무에 따른 오토레이아웃 설정
2022. 2. 4. 16:15
iOS
SnapKit을 사용해 AutoLayout을 설정할 때 주의해야 할 점이 있다. 노치의 유무에 따라 SafeArea가 존재하는데 childView.snp.makeConstraints { $0.left.bottom.right.equalToSuperView() $0.height.equalTo(300) } 위와 같이 레이아웃을 설정했다면 전체 뷰를 기준으로 레이아웃이 잡히게 된다. 어떤 기준으로 개발하느냐의 차이겠지만 만약 SafeArea를 기준으로 레이아웃을 잡고 싶다면 Swift에서 제공하는 safeAreaLayoutGuide를 기준으로 오토레이아웃을 잡아주면 된다. childView.snp.makeConstraints { $0.left.bottom.right.equalTo(view.safeAreaLayo..
[Swift] 프렌즈4블록 | 프로그래머스
2021. 10. 22. 11:14
Algorithm
https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈 4블록". 같은 모양의 카카오프렌즈 블록이 2× 2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2 × 2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록..
[iOS] Hugging priority 와 Compression Resistance priority
2021. 10. 20. 23:41
iOS
iOS에서 사용되는 Hugging priority와 Comperssion Resistance priority에 대해 알아보자. 본격적으로 알아보기에 앞서 이것만 기억하고 가자. priority = 우선순위, 우선순위가 높으면 내 크기 유지 이것만 기억하면 헷갈리지 않고 쉽게 이해하고 머리속에 들어갈 것이다. Hugging priority 공간이 남을 경우 무엇이 더 커질지 우선순위를 정한다. (커져야 할 경우, 빈 공간을 채워야 할 경우) 빨간색은 우선순위가 251, 파란색은 우선순위가 250이다. 우선순위가 높은 빨간색은 형태를 유지한 채 여백을 우선순위가 낮은 파란색으로 채운다. 우선순위가 뒤바뀐 경우에는 위 그림과 같은 결과가 나온다. Compression Resistance priority 공간이..