201X 년 부터 사용하기 시작한 라이브러리...
Youtube API 를 가져다 Parsing 해서 재생 영상 주소를 얻어오는 라이브러리이다.
최근 이 라이브러리가.... 동작하지.. 정확히 말하면 Youtube API 사용법? 이 바뀐 상태라
라이브러리가 동작하지 않고 있다.
최근 1달전쯤 수정 가이드가 나오긴 했지만 역시나...
그래서 youtube 를 분석하고 있다.
분석하여 사용가능한 정보를 알아 내려 하는게 목표 이다.
201X 년 부터 사용하기 시작한 라이브러리...
Youtube API 를 가져다 Parsing 해서 재생 영상 주소를 얻어오는 라이브러리이다.
최근 이 라이브러리가.... 동작하지.. 정확히 말하면 Youtube API 사용법? 이 바뀐 상태라
라이브러리가 동작하지 않고 있다.
최근 1달전쯤 수정 가이드가 나오긴 했지만 역시나...
그래서 youtube 를 분석하고 있다.
분석하여 사용가능한 정보를 알아 내려 하는게 목표 이다.
최근 다시 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 문법 체계를 가지고 있는걸 보면 말이다.