Archive/패캠(올인원) 26

ch19 🤖 CreateML 사용 및 코드리뷰

✅ 이번 시간에는 마지막 CreateML 만드는 법과 코드리뷰를 함께 보도록 하자 우선 Xcode에서 CreateML을 눌러서 열어보도록 하자. 누르면 이렇게 열리게 되는데 내가 이미 모델 소스에 만들어 두었는데, 새로 열면 이런식으로 만들어지게 된다. 이후 트레이닝 데이터 부분에 데이터를 추가하면 된다. 트레이닝 데이터에는 pets-100을 넣어주고, Testing Data쪽에는 pets-testing 데이터 넣어준다. pets-prctice는 나중에 우리가 학습을 마친 후에 사용하는 것이다. ❗️pets-100 폴더를 넣어야지 하위의 dog만 넣으면 에러가 발생하니 주의하도록 한다. 트레이닝을 시키면 돼!!! 아주 간단하다. ✅ 파라미터 (Maximum Iteratoins) : 여러 번 반복하는 건데..

ch19 🤖 CoreML

✅ CoreML은 애플에서 제공해주는 프레임워크 기계학습 = 딥러닝 딥러닝이 ML시대를 활짝 열어줌 응용분야 또한 상당히 넓은데, 상품 추천, 자율 주행, 병 진단 등 너무 많은 범위에서 뛰어난 성능을 보여주고 있음. 여러 분야에서 검증되고 있고 산업에서는 뛰어난 성능 -> 사용자 가치로 변환되고 있음 앱 내에서 ML의 적용이 시급하다. Apple과 Google이 이 분야의 선두주자이며, 프레임워크를 지속적으로 업데이트하고 있다. CoreML은 크게는 이미지 분석, 자연어 처리, 오디오 분석에서 사용하고 있다. 앞의 두개의 영역이 머신러닝 엔지니어가 담당하는 부분이고, 이후의 3가지 부분이 우리가 담당하는 부분이다. 때로는 우리가 앞단의 일을 조금 더 자세히 보면은 여기 부분을 혼자 혹은 여럿이서 할 수..

📸 ch18 FullScreen 카메라 앱 코드리뷰

✅ 이번시간에는 FullScreen 카메라 앱에 대해서 알아볼 생각이야. FullScreen 카메라는 생각보다 많이 어렵다.. 기존에 시스템 카메라를 이용하는 서비스를 만들기도 했었는데, 카메라 자체를 만들어서 쓰는 것또한 코드가 완전히 달라, 쉽지 않은 과정이었던 것 같아. ✊ 그래서 이번시간에는 그 어떤 시간보다 더 꼼꼼하게 학습해서 나만의 카메라 앱을 시장에 내놓아 보자!! 코드리뷰에 사용한 코드주소 https://github.com/lgvv/fastCampus/tree/main/FullScreenCamera lgvv/fastCampus Contribute to lgvv/fastCampus development by creating an account on GitHub. github.com 우선 시..

📸 ch 18 AVFoundation 카테고리 별로 탐구

✅ 카메라 앱을 만들기 위한 개념들을 한번 볼까? 카메라 앱을 만들때 필요한 요소들을 가져와야하는데 이게 바로 AVFoundation 이다. AVFoundation은 비디오, 오디오 등에 특화된 공구함이다. 쉽게 생각해서 멀티미디어 관련한 것은 이거 사용한다라고 생각하기! 캡쳐링, 프로세싱, 합성, 추출 등... 을 제공하고 있다. 1. Playback and Editing : 미디어 파일의 실행과 편집을 제공. 2. Media Capture : 사진을 찍거나 저장할 수 있게 해주는 기능을 갖고 있다. 3. Audio : 오디오 기능도 특화되서 Garage Band 같은 것들도 지원하고 있다. 4. Speech : 우리들의 목소리를 텍스트로 전환해주는 도구도 갖고 있어 (Speech to Text) 여기..

ch 18 공짜 계정으로 앱 폰에 설치하기

✅ 맥북이랑 케이블로 디바이스랑 연결하면 xcode에 실행기기가 내 디바이스가 뜨는데, 거기로 연결한다는 의미 -> 사이드 로딩 iOS10 이전에는 개발자 계정을 99달러를 내고 사용했어야 했다. 개발자 계정을 등록하지 않아도 우리가 가진 디바이스에 사이드 로딩을 할 수 있다. Xcode를 열어서 - Accounts에 개발자 등록하지 않은 계정을 추가해서 사용할 수 있다. 이 부분에서 에러가 자주 나는데, 빨간색으로 표시되니 스스로 수정할 것! 타겟이랑 프로젝트 그리고 제너럴부터 쭉쭉 봐주기 다음은 서드파티 앱에 대한 에러인데, 외부 라이브러리를 설치할 때, 크래쉬가 나는 에러가 종종 있다. Podfile에서 use_framework! --> use_modular_headers! 로 바꾸고 SPM 부분에..

🎬 ch17 Netflix 확장앱 코드리뷰(firebase, kingfisher) + ch15

✅ 이번 시간에는 ch17 Netflix 확장앱에 대해서 코드리뷰를 해볼 생각이야 여기에는 ch15 Netflix도 리뷰도 함께 포함하고 있어. 그리고 이번시간엔 외부 라이브러리에 대한 내용 및 비동기 처리에 대한 내용도 담고 있음으로 꼭 보고 넘어가자! ✅ ch 15 Netflix 주소 https://github.com/lgvv/fastCampus/tree/main/MyNetflix lgvv/fastCampus Contribute to lgvv/fastCampus development by creating an account on GitHub. github.com ✅ ch 17 Netflix 확장앱 주소 https://github.com/lgvv/fastCampus/blob/main/MyNetflix-..

ch17 SPM과 CocoaPod 충돌시 해결

✅ 이번시간에는 스위프트 패키지 매니저(SPM)과 CocoaPod 충돌날 때에 대해서 어떻게 해결하는지 알아보자. 나의 경우에는 kingfisher 를 받아온 상태에서 CocoaPod을 통해 파이어베이스를 연결하니 문제가 발생하였다. 해결법 -> 스위프트 패키지 매니저를 다시 다운 받기 Version Rules을 클릭해서 버전을 왔다갔다 해준다. 그럼 끝!

ch17 나의 ScrollView Guide! 상하좌우!!

✅ 이번시간에는 스크롤 뷰에 대해서 알아보자. 사실 예전에 스크롤 뷰를 급하게 사용할 일이 있어서 구글링해서 사용했던 적이 있는데, 그때 정확하게 이해한 것이 아니라서 다른곳에 적용할때 안되었던 기억이... 그럼 아무튼 다시 공부해보도록 할까? (들어가기 앞서...) 강의에서는 Nested ScrollView(네스티드 스크롤 뷰) 라는 용어를 많이 사용하는데, 네스티드 스크롤 뷰란, 이중 스크롤 뷰라는 의미로, 스크롤 뷰에서 스크롤 뷰를 하나 더 추가한 것을 의미한다. 스크롤 뷰가 즉, 2개 있다고 생각하면 편할듯 하다. ✅ 목차 1. 스크롤 뷰 기본 가이드 - 상하로 움직이기 (Vertical Scroll View) 2. 스크롤 뷰 Advanced - 좌우로도 움직이기 (Horizontal Scroll..

😼 ch15 검색을 이용해 서버에서 데이터를 받아와 파싱까지!

✅ 이번시간에는 서버에서 API를 받아와서 파싱까지 하는 것을 알아보자! ✅ 이번시간에 알아볼 코드는 아래와 같은 코드이다. class SearchAPI { static func search(_ term: String, completion: @escaping ([Movie]) -> Void) { // completion 클로저를 사용하기 위한 방법 // 이스케이핑이 있으면 함수가 종료되고 나서 실행 let session = URLSession(configuration: .default) // 1. 세션 만들기 var urlComponents = URLComponents(string: "https://itunes.apple.com/search?")! let mediaQuery = URLQueryItem(n..

ch15 escaping과 non-escaping 클로저에 대해서 알아보자

✅ 이번시간에는 escaping과 관련한 지식에 대해서 알아볼 예정이야. 왜 이걸 찾아보게 되었는가? 예전에 책으로 공부할 때도 보았는데, 그때는 이런게 있다~~ 정도로만 알았어. 그런데 이번에 completion이 존재하는 함수를 만들면서 escaping에 대해서 알 필요가 있어서 정리하게 되었어. ✅ 그럼 escaping과 non-escaping의 정의는 무엇일까? -> escaping 클로저는 클로저가 함수의 인자로 전달됐을 때, 함수의 실행이 종료된 후 실행되는 클로저 -> non-escaping 클로저는 이와 반대로 함수의 실행이 종료되기 전에 실행되는 클로저 이스케이핑과 논이스케이핑을 사용하면, 둘다 사용할 수 있는데, 왜 둘이 나눌까? 이유 !!! 참고 - https://jusung.gith..