SWIFT(87)
-
[CoreML] Apple도 AI 한다고 (1) - CoreML의 기본 개념을 배워보자
내 블로그에서 올라오는 글의 비중을 보면 알겠지만, 현재는 iOS 개발을 공부하는 비중이 내 개발 공부의 8할 이상을 차지하고 있다. 지금 나는 릴리즈 프로젝트도 진행해 보고, 다양한 라이브러리와 문서들을 참고하고, RxSwift, 디자인 패턴, 아키텍처 등을 공부하면서 iOS 개발자가 되기 위한 지식을 조금씩 길러가는 중이다. 그럼에도 불구하고, 나는 항상 인공지능(AI), 머신러닝(ML), 딥러닝(DL) 분야에 대한 배움의 갈증을 느낀다. 우선 전역 후 복학을 하면, 학교에서는 소프트웨어융합학과 "데이터 사이언스 트랙" 커리큘럼을 따라가야 하기에, 지금 내가 주로 하고 있는 클라이언트 개발보다는 데이터 사이언스, 머신러닝 분야에 대한 공부가 자의든 타의든 더 주축이 돼야 한다는 이유가 크다. 하지만 ..
2023.04.14 -
[KakaoSDK] 사업자 번호가 없을 때, 비즈 앱 전환방법을 알아보자
이번에는 짧게 카카오톡 소셜 로그인을 구현할 때, 있었던 한 이슈에 대해서 정리해볼까 한다.(카카오톡 소셜 로그인 정리 글은 아래에👇🏻) [Social Login] 소셜 로그인을 구현해보자! 1탄 - 카카오톡 로그인오늘은 최신 어플이라면, 빠지지 않고 가장 기본적으로 들어가는 기능 "소셜 로그인"에 대해 시리즈로 글을 다루어보려 한다. 오늘은 그 첫 번째로, 카카오톡 간편 로그인에 대해 다뤄보겠다. Kakmini-min-dev.tistory.com문제는 이랬다.나다 앱은 jwt 토큰 서버통신을 할 때, 카카오 유저의 이메일 값을 필수로 넘겨줘야 했기 때문에 - 사용자로부터 이메일 계정을 동의를 받을 때, 필수로 받아야 했다.하지만, 처음 동의 항목을 수정할 때는 아래에서 보이는 것과 같이 카카오계정 ..
2022.01.29 -
[Swift] 고차함수 개념 완전 정복하기: map, filter, reduce
오늘 글에서는 Swift의 고차 함수(Higher-order function)에 대해서 배워보도록 하자.고차 함수(Higher-order function)는 다른 함수를 전달인자(매개변수)로 받거나, 함수 실행의 결과를 함수로 반환하는 함수를 의미한다.어 잠깐, 함수를 인자로 전달될 수 있고, 함수의 반환값이 될 수 있다는 말,,, 어디서 들어본 적이 있지 않는가....?예전 내가 올린 글을 읽었으면 알겠지만, 이 부분은 클로저와 Swift의 일급객체(first-class object)라는 특성과 연관되어 있다!(오랜만에 아래 글을 참고해서 읽어볼까..?) [Swift] Closure 완전 정복하기: 일급 객체부터 작성법, 그리고 @escaping까지1. 클로저(Closure)란? 솝트에서 서버 통신을 ..
2022.01.24 -
[Swift] 구조체(Struct)와 클래스(Class) 완전 정복하기: 기본 개념부터 프로퍼티, 인스턴스, 상속까지
이번 글에서는 구조체(Struct)와 클래스(Class)에 대해 아주 자세하게 다뤄보려 한다. 처음 Swift를 배우는 입장도 아닌데, 이제 와서 이 내용을 포스팅하는 이유가 뭐냐고 물어본다면... 음... 몇 번 반복에서 강조해도 아깝지 않을 만큼 정말 중요하기 때문이랄까.....? 본격적으로 들어가기 전에, 객체지향 프로그래밍에서의 중요한 4가지 특성을 먼저 간단하게 살펴보겠다. 왜냐고? 구조체와 클래스를 배우는 내용이 객체지향 프로그래밍에서의 중요한 특징에 많이 해당하기 때문이다. 얼만큼 해당하는지 한번 살펴볼까? 1️⃣ 추상화 : 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 [오늘 배울 클래스, 구조체와 관련] 2️⃣ 캡슐화, 은닉화 : 목적에 따라 데이터 구조 및 처리 방법을 결합시키고,..
2022.01.22 -
[UITableView] 아무 데이터가 없을 때 나오는 화면,엠티뷰(empty view) 만들기
iOS 개발을 하면, 가장 자주 만들어야 할 화면이 바로 테이블 뷰와 컬렉션 뷰일 거다. 테이블 뷰(TableView)와 컬렉션 뷰(CollectionView)는 모두 같은 형태의 데이터를 표출할 때 큰 틀만 만들어두고, 그 안에 들어가는 데이터의 세부 내용만 바꿔주는 식으로 사용한다는 점에서 두 뷰가 공통점을 가졌다. 즉, 다시 말하자면, 이 두 화면은 모두 1개 이상의 데이터가 존재할 때 그 데이터들을 반복해서 보여주기 위한 화면이라는 거다. 그렇다면, 만약에 데이터가 한 개도 없을 때는 어떤 화면이 나오게 될까? 당연히 아무런 데이터가 없기 때문에, 아래 왼쪽 사진처럼 빈 화면이 나오게 된다. 이렇게 빈 화면을 사용자에게 보여줄 수 있지만, 보통은 이 화면을 그대로 노출시키지는 않는다. 이 상황에,..
2022.01.16