
CI/CD CI 와 CD 는 여러 DevOps 단계를 아우르는 포괄적인 용어입니다. CI 는 지속적 통합으로써 하루에도 여러 차례 발생하는 코드 변경 사항을 저장소에 통합하는 방식입니다. CD 는 지속적 제공을 통해 코드 통합을 자동화하거나 지속적 배포를 통해 최종 빌드를 최종 사용자에게 자동으로 릴리즈한다는 두 가지 의미가 있습니다. CI/CD 에서 수행되는 테스트로 코드 오류와 결함을 줄일 수 있습니다. CI(Continous Intergration) 지속적인 통합이라는 뜻입니다. 하루에도 여러 차례 발생하는 코드 변경 사항을 레포지토리에 머지 되는 것을 의미합니다. 이때 발생하는 문제는 머지할 때마다 발생하는 충돌에 대해서 신경을 써야 하는 것입니다. 이러한 과정을 자동화하면 개발자는 빌드와 테스트..
git forking workflow 적용 팀 프로젝트 레포 포크한다.(이하 팀 레포) 포크한 개인 레포(이하 개인 레포)를 클론한다. 개인 레포에서 작업하고 개인 레포의 원격저장소로 푸시한다. 풀리퀘스트를 통해서 팀 레포로 머지한다. 풀받아야 할때는 팀 레포에서 풀 받는다. 위와 같이 팀 레포에서 포크를 한 개인 레포에 푸시하게 되면 feature/#16 브랜치는 팀 레포에 브랜치가 남지 않아서 지저분하지 않습니당! 포크한 개인레포에서 풀리퀘를 만들게 되면 위 처럼 개인:브랜치 와 같이 표시가 됩니당! 다른 개발자들의 코드를 리뷰해줄때나 코드를 보고 싶을 때 팀 레포 를 포크한 개인의 레포를 원격 저장소로 등록하고 풀 받으면 됩니다.

💨 Swift Package Manager 를 사용해보자 Xcode 11 부터 애플에서 공식으로 지원하고 Xcode 에 내장된 패키지 매니저이다. 우선 Swift Package Manager(SwiftPM) 를 사용해서 SnapKit 를 설치해보자 1️⃣ [Targets] → [General] → [Frameworks, Libraries, and Embedded Content] → [+] 2️⃣ Add Package Dependency... 3️⃣ 사용하고 싶은 라이브러리의 주소를 기입한다.(깃허브 주소를 기입해주었다.) 4️⃣ 설치 시 원하는 버전, 브랜치 및 커밋을 설정할 수 있다. 5️⃣ 원하는 package product 를 골라서 [Finish] SnapKit 이 제대로 설치된 것을 확인할 수 ..

프로젝트 초기 설정 때 Info.plist 를 이동하고자했는데 이때 에러가 발생했다. 다른 파일은 문제가 없었는데 Info.plist 를 폴더링을 적용하기 위해서 경로를 변경했더니 문제가 발생했던 것이다. 다음과 같이 설정된 경로를 바꿔주면된다. 나같은 경우는 Resource 폴더 하위에 위치하기 때문에 KakaoQRcode-iOS-CloneCoding/Resource/Info.plist 라고 설정해주었다.

SwiftLint 오픈라이브러리를 프로젝트에 적용해보려고 합니다. 먼저 SwiftLint 는! 코딩 컨벤션을 모아둔 가이드 라인입니다. 이를 통해 swift 코드가 일관성을 가지도록 도와줍니다. 사용법 1.podfile 에 추가해준 후 pod install 진행한다. pod 'SwiftLint' 2.TARGETS > Build Phase 에서 + 를 통해 새로운 Run Script 를 생성해준다. 3.Run Script 에 다음과 같이 적어준다. ${PODS_ROOT}/SwiftLint/swiftlint 프로젝트 바로 아래에 Empty 파일로 .swiftlint.yml 파일을 생성해준다. 주의: 아래와 같이 폴더 안이 아니라 프로젝트 바로 아래에 생성해준다. 4.원하는 disabled_rules 를 적어..
iOS 프로젝트 폴더링 Foldering Structure ├── Info.plist ├── Resource │ ├── Assets │ └── Assets.xcassets │ ├── Constants │ ├── Extensions │ ├── Fonts │ └── Storyboards ├── Source │ ├── AppDelegate │ ├── SceneDelegate │ ├── Cells │ ├── Classes │ ├── Models │ ├── Network │ ├── Protocols │ ├── ViewControllers │ └── Views └──

Issue 다루기 make project, issue, milestone make feature branch merge #1 pull request 되면 자동으로 close 된다.(default branch 에 merge 할 경우만 가능) local #1 branch 에서 commit 과 push 를 remote #1 로 하고 깃허브에서 풀리퀘를 통해 코드리뷰하고 develop remote branch 를 선택해서 merge 하면된다. 그렇지 않고 develop remote branch 로 push 하면 풀리퀘없이 머지 되었다. Fork 프로그램을 사용할 경우에도 동일하게 진행하였다. 이와 같은 방식으로 해줘야 pull request가 등장한다. 졸작 포포 협업을 연습하기 위해서 한동안 깃허브에 프로젝트..
Commit,Issue,PR Commit Type feat: 새로운 기능 추가 (new feature) fix: 버그 수정 (bug fix) docs: 문서 작성, 수정 (documentation) style: 코드 포맷팅, 세미콜론 누락 등 코드 변경이 없는 경우 refactor: 코드 리팩토링 (refactoring) test: 테스트 코드, 리팩토링 테스트 코드 추가 chore: 빌드 업무 수정, 패키지 매니저 수정 등 (production code 변경이 없는 경우) perf: 성능 개선 issue title [Commit Type] 이슈 제목 Commit type label 과 개발자 각자의 label 추가하기로 함. issue body 는 checklist type 으로 작성하기로 함. com..
- 2022 KAKAO TECH INTERNSHIP
- RxCocoa
- rxswift
- Widget
- SwiftUI
- containerBackground
- Objective-C
- watchOS
- projectsetting
- WidgetKit
- CloneCoding
- YPImagePicker
- 서버통신
- async/await
- Protocol
- urlsession
- Firebase
- UserDefaults
- Swift
- OpenSourceLibrary
- github
- MVVM
- Algorithm
- configurable widget
- WWDC22
- WWDC
- APNS
- IOS
- MOYA
- Notification
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Total
- Today
- Yesterday