들어가며 객체 지향 설계에서 자주 언급되는 SOLID은프로그램의 유지보수성과 확장성을 높이기 위해 꼭 필요한 원칙인데요. SOLID 원칙- SRP(Single Responsibility Principle): 단일 책임 원칙- OCP(Open Closed Priciple): 개방 폐쇄 원칙- LSP(Liskov Substitution Priciple): 리스코프 치환 원칙- ISP(Interface Segregation Principle): 인터페이스 분리 원칙- DIP(Dependency Inversion Principle): 의존성 역전 원칙 그 중에서도 이번 글에서는 SOLID 원칙 중 두번째에 해당하는 개방-폐쇄 원칙(OCP)에 대해그림과 Swift의 예시 코드로 설명해보겠습니다. ✅ OCP(개..
들어가며 객체 지향 설계에서 자주 언급되는 SOLID은프로그램의 유지보수성과 확장성을 높이기 위해 꼭 필요한 원칙인데요. SOLID 원칙- SRP(Single Responsibility Principle): 단일 책임 원칙- OCP(Open Closed Priciple): 개방 폐쇄 원칙- LSP(Liskov Substitution Priciple): 리스코프 치환 원칙- ISP(Interface Segregation Principle): 인터페이스 분리 원칙- DIP(Dependency Inversion Principle): 의존성 역전 원칙 그 중에서도 이번 글에서는 SOLID 원칙 중 첫번째 원칙에 해당하는 단일 책임 원칙(SRP)에 대해그림과 Swift의 예시 코드로 설명해보겠습니다. ✅ SR..
Tuist란? Tuist는 Xcode 프로젝트의 생성과 유지 관리를 보다 효율적으로 도와주는 CLI(커맨드 라인 인터페이스) 도구입니다. Tuist를 사용하면 복잡한 프로젝트를 진행할 때 구조와 의존성을 좀 더 정확하게 관리할 수 있고,Xcode에서 프로젝트 설정을 할 때 관련된 내용들을 자동화 할 수 있게 됩니다. Git 충돌 방지Xcode의 프로젝트 파일은 텍스트 형식이 아니라서 conflict가 자주 발생하는데, Tuist를 이용하면 이러한 문제를 줄일 수 있습니다.모듈 간의 의존성 관리 용이각 모듈 간의 의존성을 쉽게 파악할 수 있습니다.빌드 속도 단축모노리틱 앱 구조라면 코드 한 줄을 변경해도 전체 소스 코드를 다시 컴파일해야 하지만, Tuist는 모듈별로 빌드가 가능합니다. 모듈이란? 그..
들어가기 전에 TabBar 랑 NavigationBar 가 무엇인가요? 옛날에 진행했던 프로젝트의 디자인을 가져와봤는데요, 탭바 (TabBar) 는 앱 하단쪽에 위치하며, 여러 버튼들로 탭바들을 연결해 이동을 용이하게 해주는 컴포넌트구요, 네비바 (NavigationBar) 는 앱 상단쪽에 위치하며, 화면 전환과 같은 기능들을 제공하게 됩니다. TabBar 커스텀하기 ✅ TabBarController 생성 UITabBarController 를 상속 받은 TabBarController 클래스를 하나 생성합니다. final class TabBarController: UITabBarController { // MARK: - View Life Cycle override func vie..
들어가기 전에 때는 바야흐로 2023년 봄 ...🌸Chat GPT의 등장으로 전세계가 시끌벅적해지고 ..모든 전공 과목 교수님들께서 지피티의 전망에 대해 한 번 쯤은 꼭 .. 언급하실 시절 .. 저는.. 혼자 생각했습니다 .🤔 저걸로 정대만이랑 대화하는 챗봇 만들어야겠다ㅋㅋㅋ 정대만은.. 제 동생이 제일 조아하는 슬램덩크 등장인물인데요!? ⛹🏻 실제로 제 동생은 심심하면 지피티에게 정대만을 학습시켜서시간을 보내곤 한다는데요 .. 😱 이런 귀여운 동생을 위해 정대만과 대화할 수 있는 앱을 만들어주고 싶다!라는 생각을 하게 되었어유~.. 그 후로.. OpenAI에서 공식적으로 API를 지원하게 되었고?마침 방학..이라서? ChatGPT API 를 활용해 정대만 챗봇을 만들고, 앱 화면까지 구현해..
들어가기 전에 보정을 해준다거나, 귀여운 필터를 입혀주는 등요즘 사람의 얼굴을 인식하는 기능을 활용하는 카메라 앱이 많잖아요? 😎 저도 포토부스 필터 참 조아하는데요...요렇게 내 얼굴을 인식해 필터를 씌우는 기능!을 iOS에서 구현한다면어떻게 할 수 있을까요? 🤔 바로바로....Vision Framework 를 사용하면 댑니다 ㅋ 🥹 오... Vision 이 몬대요 .? "컴퓨터 비전 알고리즘을 적용하여 입력 이미지 및 비디오에서 다양한 작업을 수행"하는 프레임워크라고 나와있네용 컴퓨터 비전(Computer Vision) 은 말 그대로 눈에 보이는 것 👀 인이미지나 비디오 등에서 정보를 추출하도록 하는 인공지능 분야인데요! 이 Vision 프레임워크를 활용하여 얼굴을 인식하거나, 사..
들어가기 전에 다양한 언어를 지원하는 앱을 본 적이 있으신가요? 아이폰의 설정 → 일반 → 언어 및 지역에서 기본 언어를 변경하면,아래처럼 기기의 언어 설정에 맞게 앱 내부의 텍스트 또한 변경되는 앱들이 있는데요. 이처럼 앱 내에서 여러 언어와 지역들을 지원하게 하는 기능을 Localization 이라고 합니다. 저는 이번에 인턴을 하며 담당한 앱 개발에서 다국어를 지원하는 기능을 추가하게 되었고,localizing을 처음 진행하게 되었는데요. 제가 구현했던 방법을 복기하며,iOS 앱에서의 Localization에 대하여 정리해보았습니다.(더 좋은 방법이 있으면 추후 추가하겠습니다 🥹) Localization 흐름 localization의 순서는 간단하게 다음과 같습니다. 먼저 Localizabl..
Protocol의 정의 우리 사회에는 정치, 과학, 의료 등 수많은 나라 및 사람들 간의 소통이 이루어져야 하는 분야가 존재한다.이 때, 원활한 소통을 위해서 예로부터 Protocol이라는 공동 규약을 정해놓았다. 컴퓨터 간에도 데이터를 전달하기 위한 통신이 필요하며, 이에 따른 Protocol이 존재한다. 그렇다면 어떤 규칙을 정해야할까? 두 사람이 소통할 때,what: 소통의 주제가 무엇인지how: 무엇으로 소통하는지when: 언제 소통하는지에 대한 정의를 필수적으로 정해놓으면 성공적으로 소통할 수 있을 것이다. Protocol의 Key Elements 컴퓨터 통신 프로토콜에서도 what, how, when이 중요한 역할을 한다. what → Semantics (의미론)메시지를 주고받을 때, 각 동작..
- Total
- Today
- Yesterday
- tuist4
- c
- UDP
- 애플워치
- SWIFT
- 채팅화면
- watchOS
- Vision
- Di
- 동시성
- OOP
- ios
- Solid
- Concurrency
- Tabbar
- linebreak
- Localization
- 줄바꿈
- SRP
- messagekit
- OCP
- iSP
- DIP
- SWIF
- lsp
- Tuist
- navigationbar
- SwiftUI
- network software
- 개행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |