201X 년 부터 사용하기 시작한 라이브러리...
Youtube API 를 가져다 Parsing 해서 재생 영상 주소를 얻어오는 라이브러리이다.
최근 이 라이브러리가.... 동작하지.. 정확히 말하면 Youtube API 사용법? 이 바뀐 상태라
라이브러리가 동작하지 않고 있다.
최근 1달전쯤 수정 가이드가 나오긴 했지만 역시나...
그래서 youtube 를 분석하고 있다.
분석하여 사용가능한 정보를 알아 내려 하는게 목표 이다.
201X 년 부터 사용하기 시작한 라이브러리...
Youtube API 를 가져다 Parsing 해서 재생 영상 주소를 얻어오는 라이브러리이다.
최근 이 라이브러리가.... 동작하지.. 정확히 말하면 Youtube API 사용법? 이 바뀐 상태라
라이브러리가 동작하지 않고 있다.
최근 1달전쯤 수정 가이드가 나오긴 했지만 역시나...
그래서 youtube 를 분석하고 있다.
분석하여 사용가능한 정보를 알아 내려 하는게 목표 이다.
RxSwift, MVVM... 먼가... 공부하며 정리한 내용을... 적어 보려 한다.
이게 먼가... 봐도 봐도 모르겠는..
이제야... 음... 놓친게 무엇인지...
알겠다 ㅎㅎㅎ
근데... 이건 진짜... 시퀀셜 이라고 해야 할까....
이걸 하고 / 이걸 하고 / 이걸 해야 RxSwift, MVVM이 먼지 감이 오는 상황이 되는 것이다.
자! 그럼 윗줄에 내가 쓴 1번 이걸 하고, 2번 이걸 하고, 3번 이걸 해야에 대해서
아주 디테일하게 잘 써주신 분들이 계셔 그분들의 글을 퍼오면 예의가 아니니
링크를 붙여 두려 한다.
1번 이걸 하고
https://pilgwon.github.io/blog/2017/10/09/RxSwift-By-Examples-2-Observable-And-The-Bind.html
2번 이걸 하고
http://blog.naver.com/tmondev/221064638672
3번 이걸 하면
https://blog.nerdfactory.ai/2019/03/12/rx-swift-service.html
그리고 나서 아래 예제 소스 코드를 보면!!!!
https://github.com/yokurin/RxSwift-MVVM-iOS
그래도 이해가 안 갈 수도 있다.
RxSwift와 RxCocoa가 각각 무슨일을 하는지, 어떤 개념인지 우선 이해를 하고
그걸 바탕으로 예제를 참고 하면
계속 반복하고 계속 찾아 보면 마침내 우리는 퍼즐이 맞추게 될 것이다.
우리에게 퍼즐을 맞추는 방법을 시간 내어 글 써주신 블로거 분들께 다시한번 감사의 인사를 드리며
다음엔... MVVM을 하려면 RxSwift가 필수 인가?? 에 대해서 적어 보려 한다.
최근 다시 RxSwift, MVVM을 공부하고 있다.
그냥 글만 보니 멍....
멍한 상태가 계속 되기에
그래서... 안되겠다 싶어 스터디 목적으로 텀 프로젝트를 진행 하고자
열심히 자료를 찾아서 보기 시작 했다
첫번째 본 글
PilGwonKim 님이 영어 원문으로 되어 있는 글을 한국어로 번역해서 올려주신 글
( 뵌적은 없지만 내공이 꽤 있으신 분 같아 보인다. 일단 영어를 잘하시니 그걸로 투 따봉! )
https://pilgwon.github.io/blog/2018/10/09/Creating-an-iOS-app-with-MVVM-and-RxSwift-in-Minutes.html
따라 해보는데... 으잉?.... 내가 공부를 덜했나 싶어... 하다 중간에 막혔다.
게다가 RxSwift만 있어야 하는게 아니라 RxCocoa도 필요 하더라 (이건 머야...)
그래서 다시 구글링..
아 이걸 봐야 겠구나 하게 되서 찾은 링크
http://minsone.github.io/programming/reactive-swift-observable-vs-driver
민소네 님 블로그 포스트 이다. 무려 2016년도 글.... 나는 2016년도에 머했나... (
OTL... 아마 스타트업 창업 준비하느라 정신 없던 시절인듯... )
보고서 아하! 인지 했다.
그리고 다시 저기 위에 필권님이 번역해 주신 걸 따라 하다... 결국 깃허브 가서 플젝 다운 받았다.
https://github.com/NavdeepSinghh/MVVM_RxSwift_Starter
이게 아니잖아 (쿨럭... )
그래서 다시 따라 할만한걸 찾아 본 글
1번.
https://mrgamza.tistory.com/502?category=574448
역시 실패 ㅜㅜ
2번.
또 실패 ㅜㅜ
코딩에 소질이 없나? 싶을 정도의 ㅜㅜ
그러다 다시 이글을 보고
3.
https://eunjin3786.tistory.com/29?category=706836
아 먼가 어렵다. 라는 느낌이 들었다.. 역시 실패
내가 너무 기술 습득해 안일함이 있었구나 느끼며 ㅜㅜ
( 1,2,3번 같은 좋은 글을 써주신 분들께 죄송스러운데 제가 내공이 부족해서 그런지 어려워서 못따라 가겠네요 ㅜㅜ )
( 그리고 마음속 한 구석에선 ... 몰라 배째~! 라는 마음도 있었다.. )
그래 이론을 다시 이해해 보자 하며
이 글을 보게 되고
https://brunch.co.kr/@tilltue/37
그리고 이 글도 보게 되었다
https://brunch.co.kr/@tilltue/10
보고 나서 느낀건... 먼가... 싶은 느낌이........
도통 이해가 안간다.
그래서 흔히 많이 가는 사이트 ( 난 여기 정기구독 중인데 동영상을 이제서야 제대로 본다... )
https://www.raywenderlich.com/4743-beginning-rxswift/lessons/5
여기도 초기 예제가 구성이 안되서 결국 여기서 제공해주는 샘플 받아서
거기에 덮어 쓰며 진행 하고 있다.
자 그럼 멀 해보고 싶은 것인가...
API 데이터를 내려 받는걸 기존 alamofire를 통해 api 하니씩 찌르고 응답받고 하는 과정을
새로운? RxSwift 에 MVVM 기법을 써보고 싶었다.
일단 raywenderlich 를 참고해서 따라가 보고
이론 자료좀 더 봐야 할 것 같다.
추가로 필권님?이 알려주신 github 관련 api 접근을 위해 github api 페이지 링크를 적어둔다.
https://developer.github.com/v3/repos/#list-all-topics-for-a-repository
RxSwift, MVVM, RxCocoa 이런것에 대한 개념 이해를 하고 #2 글을 적도록 하겠다.
MVVM 이 무엇인지 알고 싶고 궁금해서 수많은 자료를 찾아 보았다.
Model, View, ViewModel? 의 줄임말 같은데...
서비스 기반에서 많이 사용하는 기법 같아 보인다.
관련해서 Reactive, RxSwift 머 기타등등 나오는데..
내 개인적 결론은 어짜피 다 Event Driven Programming 기법으로 밖에 안보인다.
아래 이해 할려고 찾아 본 mvvm 정보가 있는 페이지 주소 이다.
1. https://github.com/ClintJang/sample-swift-mvvm
2. https://www.raywenderlich.com/34-design-patterns-by-tutorials-mvvm
3. https://hackernoon.com/mvvm-rxswift-on-ios-part-1-69608b7ed5cd
4. http://minsone.github.io/programming/better-mvvm-architecture-from-kickstarter-oss
5. https://blog.pusher.com/mvvm-ios/
6. https://medium.com/flawless-app-stories/how-to-use-a-model-view-viewmodel-architecture-for-ios-46963c67be1b
7. https://www.appcoda.com/mvvm-vs-mvc/
8. https://flawlessapp.io/blog/advanced-mvvm-tableview-tutorial/
9. https://incoffee.tistory.com/10
10. https://wnstkdyu.github.io/2018/04/20/mvvmdesignpattern/
11. https://medium.com/@azamsharp/practical-mvvm-in-ios-d1dc10506924
12. https://riptutorial.com/ko/ios/example/27354/mvvm
최근 진행중이던 프로젝트에서 일부를 Swift 4.0을 도입했다.
공식적인 처음 상용화 Swift이기도 하다.
(물론 작년에도 공식적으로 쓰긴 했다 클래스 1개 여서.... 어디다 말하기도... )
기존 Objective-C의 프로젝트에 Swift Bridge는 많이 했으니 부담은 적었다.
다만.... 하면서 느낀 것이 몇가지 있었다.
1. Swift는 4.0 부터 해야 할지 4.2 부터 해야 할지 대략 난감한....
-> Swift 관련 예제 소스 파일을 찾아 보려고 구글 및 여러 사이트를 조사하면 구버전의 Swift 2.0, Swift 3.0의 코드가
대부분이면 4.0이상인 코드 찾기가 어렵다.
-> 물론 자비스급인 Xcode가 알아서 코드를 바꾸라고 가이드를 해주신다.
-> 심지어 5.0 도 나왔다. 쿨럭
2. Debugging -> Break Point 를 걸어두면..... 너어어어어무 느리다
-> 속터진다. 값 하나 볼려면 환장 한다.
3. 일부 문법은... 실무에 적용하기 너어어무 어렵다.
-> guard let ? : 참 좋은 문법인데 현재 내가 개발하는 시나리오 상에서는 guard let을 쓰면 시나리오 홀이 생긴다. (쿨럭)
-> defer : guard let 하고 같이 쓰면 동작 안한다고 함.
-> Objective-C의 nil 처리를 스위프트에서는 애매 함...
4. extension? 과 그 외 문법...
-> 자바 같은 느낌이 강함.
느낀건 여기까지~!!!
아직은 내가 Swift로 코딩을 많이 안해 봐서 그런건가? 아님 Objective-C 에 아직도 최적화 되어 있는지.
3번의 경우 애매하다. 좀더 해 보면 알겠지....
그런데 Swift에서 nil 또는 null 처리는 참 애매하다.
더 봐야 할듯 싶다.
그리고 느낀건....... Objective-C는 .... 한 10년은 더 갈듯 싶다.....
아직도 Swift에서 극히 일부 Objective-C 문법 체계를 가지고 있는걸 보면 말이다.