SCNGeometry를 상속받은 친구들 중, SCNText, SCNBox, SCNSphere 를 화면에 띄워보자 : ) 일단 프로젝트를 만들면 scene에 기본으로 넣어져있는 ship.scn을 지우고 scene에 아무 것도 없게 해준다 let scene = SCNScene(named: "art.scnassets/ship.scn")! 즉 이렇게 시작한다 class ViewController: UIViewController, ARSCNViewDelegate { @IBOutlet var sceneView: ARSCNView! override func viewDidLoad() { super.viewDidLoad() // Set the view's delegate sceneView.delegate = self /..
이 책은 개발자 필독서인 것 같다...!! 👍 다양한 예제와 함께 설명을 해주시는데, 예제를 같이 쓰기는 너무 방대해서 간단히... 아주 간단히... 기억하고 싶은 것들 정리해보려고 한다 : ) 이 포스팅은 거의 수박 겉핥기(?) 수준이다. 예제와 함께 책을 읽는 것을 강력히 추천한다 이 책에서 말하는 것처럼 나도 프로그램을 풀어갈 이야기로 여기고, 코드를 신문기사처럼 작성해서 술술 잘 읽히는 코드를 짜고 싶다 그러기 위해서는 사소한 것 부터 노력해야겠다 ( 한꺼번에 많은 시간과 노력을 투자해 코드를 정리할 필요가 없다. 변수 이름 하나를 개선하고, 조금 긴 함수 하나를 분할하고, 약간의 중복을 제거하고, 복잡한 if문 하나를 정리하면 충분하다 ) 추천사 “사소한 곳에서 발휘하는 정직은 사소하지 않다” ..
새로운 프로젝트를 선택하고 다음과 같이 선택해주면 -! 이렇게 구성된 샘플 AR프로젝트가 생성된다 이렇게 ViewController 코드가 설정되어있다 import UIKit import SceneKit import ARKit class ViewController: UIViewController, ARSCNViewDelegate { @IBOutlet var sceneView: ARSCNView! override func viewDidLoad() { super.viewDidLoad() // Set the view's delegate sceneView.delegate = self // Show statistics such as fps and timing information sceneView.showsSta..
Swift5의 Result Type을 사용하면 비동기 API쪽 코드(데이터 받아와서 디코딩해주는..)를 간단하고 명확하게 만들 수 있다 [ 1 ] 그전에는.. 1) 옵셔널로 구분 func fetchModel(completion: @escaping (T?) -> Void) { let url = URL(string: "...")! URLSession.shared.dataTask(with: url) { data, response, error in guard let data = data else { return completion(nil) } guard let model = try? JSONDecoder().decode(T.self, from: data) else { return completion(nil) }..
Combining Operators 중 대표적인 두가지를 살펴보자 [ 1 ] withLatestFrom ObservableType extension에 가보면 public func withLatestFrom(_ second: SecondO) -> Observable { return WithLatestFrom(first: asObservable(), second: second.asObservable(), resultSelector: { $1 }) } 이렇게 구현되어있다 어떤 옵져버블 뒤에 withLatestFrom(Observable) 해주면 어떤 옵져버블의 이벤트가 발행될때마다 매개변수로 넘겨준 observable의 the latest element를 얻는다 예제를 보는 게 이해가 빠르다 --! let b..
- Total
- Today
- Yesterday
- ribs
- flutter build mode
- github actions
- flutter 앱 출시
- 플러터 싱글톤
- DRF APIException
- drf custom error
- 장고 Custom Management Command
- Watch App for iOS App vs Watch App
- Flutter Text Gradient
- 구글 Geocoding API
- Dart Factory
- cocoapod
- Sketch 누끼
- flutter deep link
- flutter dynamic link
- 장고 URL querystring
- METAL
- Django FCM
- Flutter Clipboard
- PencilKit
- ipad multitasking
- Python Type Hint
- 플러터 얼럿
- Django Heroku Scheduler
- Flutter getter setter
- SerializerMethodField
- Flutter 로딩
- Flutter Spacer
- Django Firebase Cloud Messaging
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |