💭 동시성 프로그래밍, 왜 필요할까? 개발을 하다보면 '동시성'이라는 개념을 자주 접하게 되는데요. 동시성은 단어 그대로, '동시'에 작업을 시키기 때문에시스템의 성능 향상과 반응성을 개선해 줄 수 있습니다. 동시성 프로그래밍을 사용하지 않는다면 어떻게 될까요? 핀터레스트를 예를 들어봅시다. 스크롤을 내릴 때마다 많은 양의 사진을서버에서 불러오고, 화면에 보여주어야 하는데요. 이미지가 로드되는 작업은 무겁기 때문에,동시에 진행하지 않고 하나씩.. 순서대로 1번 사진 로드되고 그 다음 2번.. 그 다음 3번 ..과 같이, 먼저의 작업이 끝날 때까지 기다려야다음 작업이 진행되면 화면이 버벅일 거예요. 아무래도 동시에여러 개의 사진을 한꺼번에 로드하면끊김없이 자연스럽게 스크롤 화면이 구현되겠죠?..
✅ 들어가기 카카오톡에는 제가 정말 좋아하는 기능이 있습니다. 바로바로... 오늘의 운세를 점쳐볼 수 있는오늘의 포춘쿠키 기능인데요. 줄바꿈을 살짝 살펴보면 .. 포춘쿠키의 문구가 컴포넌트 너비의 최대가 넘어가면,딱 그 너비만큼 채운 뒤 줄바꿈을 해주고 있어요. 어색하다 .ㅋ 어떻게 하면 사용자가 읽기 편리한 개행을 할 수 있을지는UX적인 관점이 들어가야 할 것 같은데요. 저는 UX에 대해 지식이 깊지 않아서 잘 알지는 못하지만, 그냥 한국인 입장에서...우리말에서 자연스럽게 진행되는 개행은의미 중점적으로 되기 때문에 알고리즘으로 구현하기는 어려울 거라 생각했습니다. 예를 들어, "나는 학원에 가기 싫은데 엄마가 화를 내서 어쩔 수 없다."와 같은 문장이 있다면 나는 학원에 가기 싫은데엄마..
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..
- Total
- Today
- Yesterday
- iSP
- navigationbar
- SWIF
- DIP
- Tabbar
- OOP
- 채팅화면
- 동시성
- messagekit
- Solid
- OCP
- lsp
- UDP
- 개행
- SWIFT
- Di
- linebreak
- 애플워치
- tuist4
- ios
- SwiftUI
- Vision
- c
- Tuist
- SRP
- 줄바꿈
- network software
- watchOS
- Localization
- Concurrency
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |