Fluent는 간단하게 서버에서 DB를 쉽게 사용할 수 있게 만드는 중간 다리 역할을 하는 프레임워크다. Fluent를 사용하면 Model을 만들어줘야 한다. - Model은 DB에 고정된 데이터 구조를 나타낸다. - Model은 codable 값을 저장할 수 있는 하나 또는 여러개의 field를 갖는다. - 모든 model은 unique identifier가 존재한다. - Property wrapper는 field,identifier들를 표시하며 복잡한 mapping을 위해 사용된다. 새로운 model을 만들기 위해서는 Model 프로토콜을 상속하는 새로운 class를 만들어야한다. 성능 향상과 요구사항을 간단하게 하기 위해서 model 클래스를 final 클래스로 만드는 것을 추천한다고한다. mode..
func tableView(_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? { return UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { (_: [UIMenuElement]) -> UIMenu? in let btn1 = UIAction(title: "좋아요", image: UIImage(systemName: "hand.thumbsup")) { (UIAction) in print("좋아요 클릭됨") } let btn2 = UIAction(title: "삭..
가장 먼저 MongoDB Altas에 들어가서 가입을 한다. 필자는 구글로 로그인함 다음으로 프로젝트를 만든 후 Create a deployment를 눌러준다. 위처럼 만들고 Create를 한 이후 위처럼 보안 설정을 마친다. 그러면 다음처럼 클러스터가 만들어진 것을 확인할 수 있다. 다음으로는 CONNECT -> Drivers를 통해 들어가면 위처럼 mongoDB서버와 연결할 수 있는 링크를 알려준다. 나는 위에 주어진 링크를 활용하여 mongoDB를 vapor와 연결할 것이다. 아래 코드 한줄만 적어주면 연결 준비 끝! 에 자신이 지정한 비밀번호를 넣어야한다
아래 링크를 통해 패키지SPM를 추가한다. https://github.com/airbnb/lottie-ios GitHub - airbnb/lottie-ios: An iOS library to natively render After Effects vector animations An iOS library to natively render After Effects vector animations - GitHub - airbnb/lottie-ios: An iOS library to natively render After Effects vector animations github.com - 에어비앤비가 후원하는 곳이라고 해서 airbnb가 붙은듯함 위에 링크를 통해 다운받았으면 import를 해서 사용할 준비를..
연락처에서 정보를 가져오기 위해서는 CNContactStore 를 이용해야한다 - CNContactStore는 유저가 소유한 연락처에 대한 정보를 데이터 베이스에서 가져오고 저장하는 객체다. 추가로 contact store는 동기적이기 떄문에 백그라운드 쓰레드로 사용되어야 한다고 한다. CNContact는 가져오고 싶은 연락처를 필터링하기 위한 조건자를 제공한다. 예를 들어, Appleseed라는 이름을 가진 연락처를 가져오려면 predicateForContacts(matchingName:)를 사용하고 Appleseed를 전달하면 된다고 한다. let predicate = CNContact.predicateForContacts(matchingName: "Appleseed") *연락처 프레임워크는 일반 및..
컴퓨터에 Vision 알고리즘을 적용하여 input 이미지와 비디오에서 다양한 작업을 수행할 수 있다. 이번에 해볼 내용은 카메라에 찍히는 물체를 실시간으로 인지하고 구분할 수 있는 앱을 만들어볼 것이다. Overview - Vision 프레임워크를 사용하면 실시간으로 찍히는 물체를 인식할 수 있다. - Core ML 모델을 이용해 만든 Vision 요청은 VNRecognizedObjectObservation 객체를 반환하여 해당 객체를 통해서 화면에 찍힌 물체를 구별할 수 있다. AV live capture는 다른 capture 앱이랑은 비슷하지만 Vision 알고리즘과 가장 잘 작동하도록 카메라를 구성하는 것은 몇 가지 미묘한 차이가 있다. 첫번째로 실시간 캡쳐를 위한 카메라를 구성해야한다. priv..
AVCaptureSession이란? - 카메라나 마이크로폰같은 캡쳐 장치들을 통해서 받은 입력 데이터를 허용하는 역할을 한다. - AVCaptureSession은 캡쳐 장치들로 받은 입력 데이터를 처리하기 위해 해당 데이터를 적절한 출력으로 처리하여 movie file이나 still photo를 만들어낸다. - AVCaptureSession의 입력(어떤 장치를 사용할지)과 출력(어떤 데이터를 출력할지)를 설정한 후 캡쳐를 시작하고 중지할 수 있게 된다.
화면에 카메라 화면을 띄우는 것을 해볼 것이다. 처음으로 할 것은 카메라 화면을 띄울 UIView를 View Controller 안에 하나 만들어야한다. 다음으로는 변수로 만들어준다. @IBOutlet var preview: UIView! 다음으로는 AVCaptureSession 변수를 만들어준다. var captureSession = AVCaptureSession() - AVCaptureSession은 iOS하고 macOS 환경에서 모든 미디어 캡쳐를 위한 클래스다. - AVCaptureSession 객체는 입력 데이터에서 미디어 출력까지의 과정과 캡처 작업을 모두 관리한다. - 추가적으로 sessionPreset을 이용하여 session의 품질을 설정할 수 있다. 다음으로는 captureDevice로..