분류 전체보기
-
[UIKit] UIKit의 스토리보드 Preview 적용하기(Storyboard, Preview, 미리보기)/iOS 📱 2024. 12. 8. 14:35
안녕하세요 아렉스입니다 :> WWDC 23 이후로 프리뷰를 하는 방식은 2가지가 되었습니다. UIKit 환경에서도 Preview를 이용하니 매우 편한 개발 경험이 생겼습니다. 코드베이스로 된 경우에는 잘 사용하셨는데, 스토리보드로 된 뷰컨에서는 활용 못하는 분들이 있어서 글을 작성해봅니다. 스토리보드로 된 뷰컨을 Preview 하기 전 현재 사용되는 방법들에 대해서 간략히 설명하겠습니다. Preview 방식 - 1매크로가 소개 되기 전 사용했던 방식입니다.UIViewControllerRepresentable 를 SwiftUI 뷰로 통합하기 위해 사용되는 프로토콜입니다.결과적으로만 보면 간단해보이지만, 처음 이 코드를 접했을 때, Preview에 활용하는 아이디어에 놀랐던 기억이 있네요import Swif..
-
[git] git squash - 커밋 기록 깔끔하게 관리하기개발 관련/GitHub 2024. 12. 6. 22:28
안녕하세요 아렉스입니다. git squash라고 불리는 것은 보통 대화형 rebase 를 진행할 때 사용할 수 있는 rebase의 옵션입니다.# HEAD 기준으로 최근 커밋 3개를 rebase 하겠다는 뜻$ git rebase -i HEAD~3 작업 진행시에 커밋은 자주, PR 전에는 커밋을 정리해서 올린다면, 작업자에게는 효율적인 코드관리와 깔끔한 히스토리 유지를 리뷰어에게는 리뷰의 용이성과 집중도를 높여줍니다. squash를 사용하면 어떤게 좋아지는가에 대해서는 아래 squash 전후 비교 사진을 보고 판단하시면 되겠습니다.전 히스토리 관리하는데 매우 편리하고 매력적이었습니다. How to$ git rebase -i e3c18b4^e3c18b4^는 e3c18b4 바로 이전 커밋을 지정하는..
-
[Tuist] tuist 프로젝트에 App Extension 추가하기Tuist 2024. 9. 26. 11:49
App Extension에 관한 프로퍼티에 대해서 얘기를 해볼게요 product 타입에서 appExtension으로 지정해야합니다NSExtensionPointIdentifier 는 App Extension의 타입을 결정합니다.이 키는 모든 App Extension에 필요하며, NSExtension 키의 즉각적인 자식으로 배치되어야 합니다. tuist의 Manifests 파일을 아래 예시코드처럼 작성하게됩니다.해당 예제는 Share Extension 을 사용했습니다.(설명에 포함되지않는 속성을 제외되었습니다.)let project = Project( name: appName, targets: [ ... // app target // ✅의존성 추가 ..
-
[iOS] Share Extension - NSExtensionActivationRule카테고리 없음 2024. 9. 25. 18:10
Share Extension 사용시 NSExtensionActivationRule 을 정의해야합니다.최초 생성시 TRUEPREDICATE 로 스텁되어있습니다. 개발시에는 상관없지만, 특정한 제약을 주기 위해서는 Dictionary 타입으로 변경 후, NSExtensionActivationRule 에 사용 가능한 Key 값으로 교체해야합니다.TRUEPREDICATE을 포함 하는 경우, 해당 앱은 심사 거부됩니다. 키설명NSExtensionActivationSupportsAttachmentsWithMaxCount첨부 파일의 최대 갯수를 나타냅니다NSExtensionActivationSupportsAttachmentsWithMinCount첨부 파일의 최소 갯수를 나타냅니다NSExtensionActivatio..
-
[Github] 이슈 템플릿(issue template) 사용하기개발 관련/GitHub 2024. 9. 12. 13:44
안녕하세요 아렉스입니다.이슈를 통해서 프로젝트 관리를 진행해보셨나요 ?개인 혹은 팀으로 진행하더라도, 반복되는 문서 작업은 매우 귀찮습니다.이런 경우에 이슈 템플릿을 사용을 하면, 반복적인 작업을 개선 및 이슈 내용에 대한 일관성을 가질 수 있습니다. 파일 확장자로는 .md, .yml 두가지 선택해서 만들 수 있습니다.github에서 제공하는 기능을 통해 GUI 환경에서 만들 수 있고, 양식과 경로를 알고 있다면, CLI 환경에서 만들고 직접 push 해도 상관없습니당 ㅇㅅㅇ github에서 생성을 위한 경로는 Settings -> General - Features 과 같습니다. 영어를 몰라도 할 수 있게끔 초록색 버튼으로 클릭을 유도하고있습니다 ㅎㅎ 만들어진 이슈 템플릿을 사용한 모습입니다. gi..
-
GitBook과 Github저장소 연동하기개발 관련/GitHub 2024. 9. 3. 14:17
안녕하세요 아렉스입니다.GitBook이란, 공식문서에 따르면 제품에서 내부 지식 기반 및 API에 이르기까지 모든 것을 문서화 할 수 있는 최신 문서 플랫폼 이라고 한다.Obsidian을 통해서 정리한 마크다운 문서들을 Publish 하기 위해 사용하려고합니다 🚪Github저장소와 연동하는 방법연동하는 방법은 매우 간단해요GitBook에 들어가 로그인 한 후 대시보드에 진입합니다.아래와 같이 왼쪽 상단에 있는 플러스 버튼을 클릭해 New Space를 생성합니다. 3. New Space를 통해 생성 된 페이지 오른쪽 상단에 있는 버튼을 클릭해 Synchronize With Git 메뉴로 진입 4. Intergrations 메뉴로 이동, Github Sync 설치 및 활성화를 시켜줍니다. 5. Config..
-
[Server/Swift] Vapor 디렉토리 구조/Vapor 2024. 8. 16. 12:21
디렉토리 구조 .├── Public├── Sources│ ├── App│ │ ├── Controllers│ │ ├── Migrations│ │ ├── Models│ │ ├── configure.swift │ │ ├── entrypoint.swift│ │ └── routes.swift│ ├── Tests│ └── AppTests└── Package.swift Public이 폴더에는 FileMiddleware가 활성화된 경우 앱에서 제공할 공개 파일이 포함되어 있습니다. 이것은 보통 이미지, 스타일 시트 및 브라우저 스크립트입니다. 예를 들어, localhost:8080/favicon.ico에 대한 요청은 Public/favicon.ico가 존재하..