전체 글
-
SchedulerRxSwift 2021. 8. 10. 15:41
Scheduler 간단 개념 우리가 아는 GCD의 개념과 유사하다. Cocoa -> GCD RxSwift -> Scehduler Scheduler 는 Thread/ Dispatch Queue/ Operation Queue 가 모두 될 수 있다. 하나의 Thread에 두개의 Scheduler가 있을수도, 하나의 Scheduler에 두개의 Thread가 연결되어 있을 수 있다. Global Queue = Background Scheduler Serial Scheduler Concurrent Scheduler 기본 : CurrentThreadScheduler(미 지정시) ConcurrentDispatchQueueScheduler MainScheduler = Main Thread OperationQueueSch..
-
Combining OperatorsRxSwift 2021. 8. 6. 17:13
startWith Operator let bag = DisposeBag() let numbers = [1,2,3,4,5] Observable.from(numbers) .startWith(0) // .startWith(-1, -2) .subscribe{ print($0) } .disposed(by: bag) // 주로 기본값 저장할때 사용함 // 연산자라고 보면됨 // next(0) ~ (5) 까지 방출됨 // 주석 해제하면 -2부터 나옴 concat Operatoer let bag = DisposeBag() let numbers = Observable.from([1,2,3,4,5]) let numbers2 = Observable.from([1,2,3,4,5]) Observable.concat([numbe..
-
Transforming OperatorsRxSwift 2021. 8. 5. 14:58
toArray Operator map Operator flatMap, flatMapFirst, flatMapLatest Operator https://kkimin.tistory.com/40?category=955083 자주 쓰여 따로 정리해 두었다. let disposeBag = DisposeBag() let a = BehaviorSubject(value: 1) let b = BehaviorSubject(value: 2) let subject = PublishSubject() subject .flatMap { $0.asObservable() } // subject to Observable .subscrie { print($0) } .dispose(by: disposeBag) subject.onNext(a..
-
tcpdump 보기iOS 2021. 7. 30. 16:13
Tcp Dump란 네트워크 인터페이스를 거치는 패킷들의 헤더를 출력해주는 프로그램이다. 애플리케이션과 서버사이의 데이터가 정상적으로 암호화 처리 되는지 확인 rvictl -s 등록과정이 필요(한번도 안해본 경우) 해당 UUID는 아래 방법으로 확인 - connected Devices -> identifier (파란 부분) rvictl -l 등록된 이름 확인 (보통 rvi0) ifconfig rvi0 : 네트워크로 등록되어있는지 이름으로 확인하는 과정 (아래 있음) 패킷캡쳐 (아스키) sudo tcpdump -n -t -i rvi0 -q -A tcp 위를 쳤을때 지금 하고 있는 통신 내용이 터미널에 쭈우우우욱 나오면 성공! 잘 보안되어있는지는 내용을 확인해보면 알 수 있다.
-
ios 웹뷰와 통신 (Native <-> JavaScript 통신)Swift 2021. 7. 21. 18:24
WKWebView https://developer.apple.com/documentation/webkit/wkwebview Apple Developer Documentation developer.apple.com WKWebView before IOS 11.0 (NSCoding support was broken in previous versions) 이 오류는 stackoverflow에서 찾아보니 iOS 11 이전 버전인 경우 storyboard에서 WebKit View를 사용못하는거 같습니다. 아래처럼 코드로 작성해주면 된다. override func loadView() { let webConfiguration = WKWebViewConfiguration() webView = WKWebView(frame..
-
CombineSwift 2021. 7. 20. 18:22
WWDC 2019에서 발표했던 Combine 최소버전이 ios 13 이기때문에 아직 바로 사용할 순 없지만, 무엇인지 알아보자. Combine이란? https://developer.apple.com/documentation/combine Combine은 비동기적인 이벤트 event-processing연산자를 조합함으로써 사용자 정의할 수 있는 프레임워크이다. 시간에 따라 값을 처리하기 위한 선언적(declarative) API이다. 발생한 이벤트를 어떻게 가공하고, 소비할지에 초점을 맞춘다. Publisher프로토콜은 시간이 지남에 따라 값의 시퀀스를 제공 할 수있는 유형을 선언합니다. Publishers 업스트림 게시자로부터 받은 값에 대해 조치를 취하고 이를 다시 게시하는 연산자(operattors)..
-
Swift SwizzlingSwift 2021. 7. 16. 17:35
ios Developer 오픈 채팅방에서 Swizzling에 대한 내용이 나와, 프로젝트에 살짝 도입해본적이 있는 해당 내용을 적어보도록 하겠다. Method Swizzling : 런타임에 정적으로 메소드를 호출할때 중간에 가로채서 커스텀 한 뒤 호출할 수 있게 한다. 쓰는 경우? - 앱에 분석 기능을 통합할때(? 우리 앱에 GA(Google Analytics)를 붙인다고 할때, 화면을 시작하는 viewWillAppear 메소드 안에 GA API를 호출한다. 수백개의 viewController에 직접 넣을 수 없으니 method 를 커스텀 하겠다는 것이다. - 로그를 넣거나, 급하게 UILabel에 어떤 값을 공통으로 해야된다던지 등등,,, - 무언가 동일한 동작 사용방법 아래는 viewWillDisap..
-
ionic ios 설정하이브리드 App 2021. 7. 15. 14:25
https://ionicframework.com/getting-started/ Free Mobile App Development: Getting Started with Ionic Apps Get started with your ionic mobile app development. Start building amazing cross platform mobile, desktop, and Progressive Web Apps with the web tech you know and love today. ionicframework.com 위의 링크를 참고해 샘플 앱으로 시작해 볼 수도 있고, 아래 링크에 올라온걸로 처음 시작 해볼 수 도 있다.(가장 많이 보이는 예제, tutorial-photo-gallery-a..