ios개발/개념 정리 30

<아키텍처> data driven programming vs data oriented design

advanced ios app architecture를 보다 보면 data driven programming이란 말이 나온다. 사실 다른 데서도 많이 본듯. 근데 저게 궁금해서 검색하다 보면 data oriented랑 단어가 비슷해서 궁금했다. 둘다 몇시간 찾아봐도 영어로 설명되어 있어서 이해가 잘안됐지만 그나마 된 내용을 간단하게 정리하면. 일단 참고한 링크들은,[stackoverflow.com/questions/1065584/what-is-data-driven-programming], [gamesfromwithin.com/data-oriented-design], [stackoverflow.com/questions/1641580/what-is-data-oriented-design/1641615#1641..

<스위프트> Custom Operator, Generic, inout parameter

함수형 언어란?? 검색해서 텍스트를 찾는데, 자꾸 스위프트 언어 자체에 대한 것만 나와서 유트브에 functional programming + swift로 검색해 보다 아래 유트브를 보았다. [https://www.youtube.com/watch?v=estNbh2TF3E] 이 영상 전에, 단순히 functional pl에 대해 찾아 보니, 음 단계 별로 넘길 수 있다는 장점? 그것이 위주로 나왔는데, 용어와 특징을 다시 찾아보자. 그래서 해당 영상에서 본 오퍼레이터 생성이 흥미로워 공식 문서에서 다시 찾아 봤다. [https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html] operator의 infix, prefix,postfix 개념이..

<ios framework> present 2편

뷰컨트롤러에 대한 present를 계속 찾던 중 컨테이너 뷰컨에서의 present와 모달리 present가 뷰 하이어아키에서 어떻게 추가되는지 차이점이 있다는 것을 알게 되었습니다. 전자는 모든 뷰컨에서 가능하고, 푸쉬는 네뷰컨에서 가능한 메소드입니다. 결국에 이런 메소드들을 이해하는데 사전적으로 먼저 이해해야 할 점은 제가 1달동안 고민한 결과, 컨테이너 뷰 컨트롤러가 무엇인지 먼저 이해하는게 가장 중요한거 같습니다.....!!! 컨테이너 뷰컨은 아래에서 말하겠지만, 뷰컨의 뷰 일부에 다른 뷰컨들의 뷰를 보여 줄 수 있습니다. [https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/TheViewCo..

<스위프트> Parallel Programming with Swift (Target Queue, Dispatch Group, Barrier, Work Item, Semaphore & Dispatch Source)

일단 이 글이 지금 까지 본 글중 제일 설명이 잘되어 있다...... [https://medium.com/swift-india/parallel-programming-with-swift-part-2-4-46a3c6262359] 그래서 동기,비동기 정확한 차이, 비동기 안되는데 언제 비동기 되는거지 , 큐잔아. 들어온 작업 먼저 처리한다면서 비동기가 언제 의미가 있지? 그리고 콘커런트랑 시리얼은 정확히 무슨 차이인가, 이해를 해보자 이거지, 콘커런트가 병렬 처리니까, 이 방법이 병렬 처리인건 알겠는데 수행 순서상 들어온게 먼저 시작하긴 할 수 있는건가?? 프로세스의 우선순위에 관한건 시분할 시스템(라운드 로빈)상에서 우선순위에 따른 건가? async vs sync 차이는 결과물을 가져오는 순서에 초점을 두고..

<스위프트>수정중, UrlSessionTask를 resume,cancel,suspend해보자.!!!

How to stop/cancel/suspend/resume tasks on GCD queue [https://stackoverflow.com/questions/29492707/how-to-stop-cancel-suspend-resume-tasks-on-gcd-queue] You can't pause / cancel when using a GCD queue. If you need that functionality (and in a lot of general cases even if you don't) you should be using the higher level API - NSOperationQueue. This is built on top of GCD but it gives you the abili..

<ios 운영체제> 선점 스케줄링, 네트워크 멀티 태스킹, 네트워크 요청 처리 방법

결론부터 말하면, ios GCD로는 선점 스케줄링이 안되는거 같습니다. 그리고 네트워크 요청을 UrlSessionTask를 사용하는데, 그래서 이것을 resume, suspend, cancel을 통해 조절하는 방식으로 해보고자 하였습니다. 근데 문제는 async로 수행할 경우 suspend가 작동 안한다는 의견과 제 경험이 있었습니다...... [https://stackoverflow.com/questions/40662007/nsurlsessiontask-suspend-does-not-work/40663582#40663582] 그래서 cancel로 하면 그래도 된다는 의견인데, 제가 해보니 요청을 하고 중간에 cancel하면 요청했던 타임아웃으로 취소됩니다. 그런데 문제가 취소하자마자 실행한 새로운 요청..