전체 글
-
ML 세션 : 애플 생태계에서 ML 기술 활용하기Apple Developer Academy @ POSTECH🍍 2024. 9. 27. 22:04
애플 디벨로퍼 아카데미에서 ML 스터디를 진행하며 애플 생태계에서 ML 기술을 활용하는 방법에 대한 세션을 진행하게 되었습니다. 다들 안녕들하신지요? 아임 파인입니다.오늘은 애플 생태계에서 AI 모델을 어떻게 활용할 수 있는지 코드와 함께 알아보려고 합니다.다들 평소에 AI를 어떻게 활용하고 계시나요?저는 모든 일상속에서 AI와 함께하고 있는데요.코드를 짤때는 물론이고 글을 적기전 내용을 구성할 때, 새로운 기술을 학습할때 등다양한 상황에서 gpt와 같은 생성형 ai의 도움을 받고 있습니다.혹시 얼마전에 gpt의 새로운 모델이 또 나왔다는 사실을 알고 계셨나요?새로 나온 모델의 이름은 o1으로 현재는 o1-preview라는 미리보기 형태로 체험이 가능합니다.한동안 인터넷상에서 한국인만 해석할 수 있는 리..
-
SwiftUI와 UIKit 뷰 구성하는 법 비교하기 ( 선언형, 절차형 패러다임 비교)Apple🍎 2024. 9. 19. 23:52
SwiftUI - 선언형 프로그래밍선언형 프로그래밍에서는 "무엇"을 원하는지를 코드로 작성합니다.개발자는 원하는 결과를 설명하고, 시스템이 그 결과를 어떻게 달성할지 결정합니다.SwiftUI 예제다음 코드에서 개발자는 어떠한 컴포넌트들이 어떤 형태가 되어야하는지 결과 상태를 코드로 명시합니다.각 컴포넌트들이 어떻게 그 상태에 도달할지에 대한 설명은 하지 않습니다.VStack(spacing: 20) { Text("Hello, World!") Image(systemName: "star.fill") Spacer() Button("Tap me") { print("Button tapped") }}.padding()수직으로 요소들을 쌓고 싶다 (VStack)요소들 사이에 20..
-
UIKit에서 delegate 패턴이 어떻게 활용될까?Apple🍎/UIKit 2024. 9. 18. 22:39
Delegate 패턴이란 객체가 어떤(What)일들을 하는지를 정의해두고 해당 객체를 사용할 때앞서 정의해놓은 사항들을 바탕으로 그 일들을 어떻게(How) 할지를 구현하여 실제 객체가 동작하는 방식을 결정합니다. Protocol 이란?프로토콜이란 특정 작업이나 기능을 수행하기 위해 어떠한 것들이 필요한지를 사전에 정의해놓은 것을 의미합니다.Drivable 한 객체가 되기 위해서는 start()와 stop()을 할 수 있어야합니다.이와 같이 객체가 어떠한 기능을 수행하기 위해서 할 수 있어야하는 목록들을 사전에 정해놓은 것을 프로토콜이라고 합니다.protocol Drivable { func start() func stop()}struct Car: Drivable { func start() ..
-
마지막 출발선에 서서 뒤를 바라보다.Apple Developer Academy @ POSTECH🍍 2024. 9. 9. 12:25
회고 : 지금 내 상태를 알아야 성장할 수 있다. 애플 아카데미 내에서는 정말 자주 회고를 한다. 멘토팀이 러너들 각자의 성장을 위하여 했던 고민의 흔적이 느껴질 정도로 정말 다양한 방법으로 자신에 대해 또 서로에 관해 이야기한다. 매일 일기를 통해 생각을 정리하기는 하지만 KPT(Keep, Problem, Try)나 CSS(Continue, Stop, Start)와 같은 정제된 템플릿을 이용해 본 적은 한 번도 없었다. 이러한 방법론들에 익숙하지가 않으니 “그냥 각자가 배운 점을 정리하면 되지 왜 이렇게까지 하나”라고 생각했었다. 하지만 서로 잘한 점, 개선할 점, 시도해보면 좋을 만한 점을 찾아주면서 팀원들의 성향과 함께 앞으로 프로젝트를 같이 하며 내가 좀 더 어떻게 하면 좋을지에 대해 많이 생..
-
오늘 하루가 새로운 대답이 될 수 있도록Bull-shit🐶 2024. 9. 1. 23:50
인생의 진리나 법칙 따위를 찾아 액자 속 문구로 걸어두면 미처 남지 못하고 쫓아온미련을 돌려보낼 작별의 말로 도저히 기다리지 못하고 찾아온 불안에 곧 간다는 편지의 글귀로 스쳐 가는 공백의 한켠을 지켜주며 이 자리에 단단히 메어줄 기둥이 되어줄 것만 같았다. 또 하루가 가차 없이 꺼지고 오늘따라 넘친 검은색에 무거운 어둠이 귓등을 지긋이 누른 날 얕은 언덕에 고개가 가까워지자 뻗어 나온 두 다리 주인을 찾았고 뒤편, 서 있는 그림자에 기대기보다길모퉁이, 묻어나온 흔적을 헤아리며 매일 어제들에 다른 이름 불러주고 내일들에 새로운 질문을 하며 멈추지 않는 이야기를함께 쓰고 싶다.
-
String Catalog를 이용한 LocalizationApple🍎 2024. 8. 26. 18:21
Localization 관련 설정Project > Info Localization 섹션Use Base Internationalization 옵션 사용 과정Use Base Internationalization 를 선택하면 개발시 사용한 문자열을 기초로해서 Localization 파일을 구성할 수 있습니다.다음과 같이 여러 View에서 사용한 String 문자열들에 대하여 Localization을 하기 위해서는먼저 String Catalog를 만들어야합니다.String Catalog 란? : 각 String에 대해서 각 언어별 번역을 제공하는 File 입니다.XCode의 Navigator 에서 Command + N (or 우클릭 + New File)String Catalog 선택 Localizable을 ..
-
열대 - "내 열대만이 진짜랍니다"Library📓 2024. 8. 25. 13:55
맺어지지 않고 쉴새 없이 뻗어 나가는 이야기들현실과 마술 세계 사이에서 재귀하는 소용돌이는 끝에 닿을 듯한 순간 공간을 뒤집어버리고 윤곽이 보일듯한 지점에서 시계열을 섞어버린다. 어느 순간부터 나도 지금 ‘열대’라는 이야기 독에 중독된 것이 아닐까? 또 다른 열대의 이본에 이미 들어온 게 아닐 가라는 착각(아닐 수도?)에문고리를 열어젖히면 소금기 가득한 바람에 훌쩍 빨려들어가 익어가는 모래사장 위에 던져지진 않을까?라는 긴장감 속 서려 있는 약간의 설렘이 감돈다. 물고 물리는 이야기 속 다르지만 같고, 비슷하지만 이질적인 이들이 들려주는 진실은 그대들에게는 모두 사실이오, 또 하나의 터무니 없는 기억들이기에 분별하려 하지 않고 회상이라는 마술로 “아무것도 없다는 것은 뭐든 있다”는 주문을 속삭이며 ..
-
SOLID한 코드를 써보자Apple🍎/Architecture pattern 2024. 7. 25. 22:36
단일 책임 원칙 (SRP)class AccountManager { func createAccount(for user: User) -> Account { /* ... */ } func closeAccount(_ account: Account) { /* ... */ }}class TransactionProcessor { func deposit(amount: Decimal, to account: Account) { /* ... */ } func withdraw(amount: Decimal, from account: Account) throws { /* ... */ }}class AuthenticationService { func login(username: String, passwo..