AVAssetTrack
·
iOS/Framework
👋 들어가기 전 요즘 개발할 때 나의 가장 큰 다른점은 앞에 NS, 또는 Core 같이 C가 붙어있는 내용,더 나아가 objc 부분을 해석하는 것을 생각보다 즐긴다는 것이다. 이전에 나는 위와 같은 코드가 있으면, 지레 겁을 먹고"아 이제 애플에서 swift로 바꿔줬거나, 굳이 알지 않아도 사용할 수 잇게 만들었겠지"라며 그 자리를 피했다. 요즘도 겁을 안 먹는 것은 아니다.다만 포기를 하더라도, 내가 파악할 수 있는 부분까지 내려가보고아 이부분은 이런느낌으로 사용하게 만들었구나 또는 아 이런식으로 동작을 하는구나라고 파악은 하고 지나간다는 것이다. 서두가 길어졌지만 간단히 정리하면 swift보다 깊숙히 들어간다는 것은메타데이터를 알고 싶다는 의미와 비슷하다가 생각한다. 요즘은 모르는 코드를 보면 내부..
아핀 변환(Affine Transformation)
·
CS/이론
👋 들어가기 전 우리는 이전 시간에 선형 변환을 간단하게 학습했다. 사실 최종 목적지는 아핀 변환을 학습하기 위한 빌드업! iOS 개발을 하다보면 특히, 보기 좋은 효과를 위해 알게 모르게 사용했던 AffineTransform 객체가 있다. AffineTransform | Apple Developer DocumentationA graphics coordinate transformation.developer.apple.com여기에 깔려있는 기본적인 이론을 오늘 정리하고 해당 객체는 iOS 카테고리로 다시 정리해보자.✊homogenous coordinates(동차 좌표)먼저 Homogeneous 좌표계를 먼저 알아보자. Homogeneous 좌표계는 위에 2가지 조건으로 설명이 가능하다. 1) (x,y)와..
선형 변환
·
CS/이론
👋 들어가기 전 대학교 때 수강신청을 하지 않은 과목 중 가장 후회되는 과목이 바로 컴퓨터 그래픽스다. 행렬과 친하지 않았고 내가 UI 관련 개발로 나간다고 예상하지 못했다. 좋아하는 개그맨인 박명수님이 말했던가..  "늦었다고 생각했을 때가 진짜 늦었다.. "평생을 관통하는 말인 것 같다.그렇다고 포기는 할 수 없으니 .. 컴퓨터 그래픽스 관련 내용을 접하게되면 피하지는 말아보자.이번 포스팅은 컴그에서 기본적인 선형 변환으로 먼저 시작해보자.✊ 변환이란선형 변환에서 먼저 변환의 의미부터 생각해보자. 가장 간단한 예는 바로 함수이다 우리는 프로그래밍에서 함수를 어떻게 이용하고 있을까?Input이 함수를 거쳐 output으로 변환 된다.마찬가지로 입력 벡터가 변환을 통해 출력 벡터가 나오는게 변환이다. ..
컨커런시 문법 정리
·
iOS/Swift Concurrency
✊프로퍼티계산 프로퍼티에서 async는 get에서 만 사용 가능하다.☝️프로토콜비동기 속성은 get only만 가능하다.✌️함수비동기 함수는  async throw -> return Type 순이다.func asyncFun() async throws -> Int { try await Task.sleep(nanoseconds: 1000) return 1}생성자 역시 함수이기 때문에 비동기가 가능하다. 👍 왜 set에 비동기 적용이 안될까?개인적인 생각으로는 값을 세팅할 때 비동기적으로 동작하면그 값을 사용할 때 어떤 상태인지 신뢰성을 보장할 수 없어 set을 하지 못하게 막는 것 같다.😀 소감 및 마무리정리할만한 내용이 다시 생기면 추가하겠다.
@TaskLocal
·
iOS/Swift Concurrency
👋 들어가기 전정말 오랜만에 컨커린시 관련 포스팅이다.최근에 현생이 정말 정신이 없다.주말은 쉬는 날인데 현재는 평일에 없는 학습시간을 위한 날인 것 같다.정말 침대에 눕고 싶다. ㅋㅋㅋ  잡소리는 그만하고 오늘의 주제로 들어가기 전 간단한 사전 지식을 알아보자.✊@property wrapper프로퍼티 래퍼 정말 무의식적으로 많이 썼고 특히, SwiftUI를 사용할 때많이 쓴 것 같다. 한번 구조를 간단하게 정리해보자.전체적인 내용인 출처 첫번 째 링크를 참고했다.목적프로퍼티 래퍼의 목적은 반복적인 로직을 담당하는 하나의 타입처럼 선언하여프로퍼티의 타입처럼 쉽게 사용할 수 있게 만들어주는 것이다.구조property wrapper는 크게 2가지 프로퍼티를 제공한다.wrappedValue wrappedVa..
.xctemplate
·
iOS
👋 들어가기 전항상 RIBs의 개념에서 필요한 것만 갔다 썼기때문에 쓰지 않은 것에 대해서는그 때 그 때 알아봤다. 그런데 공식문서에서 눈이 가는 한가지 사진이 있다.항상 Xcode에서 제공해주는 내용만 있을 줄 알았는데 저기를 건드릴 수가 있네 ?? 더 늦으면 인생 절반 손해볼뻔 했다.. 당장 알아보자.✊무엇일까?제목을 보면 대충 유추할 수 있다.  바로 파일을 만드는 템플릿이다.☝️그래서 어디에 있는데?~/Library/Developer/Xcode 일단 여기가 시작 포인트! 이후 Templates 폴더를 만들어준다.mkdir -p ~/Library/Developer/Xcode/Templates✌️.xctemplate 디렉토리 만들기일단 RIBS를 만드는 느낌으로 가보자.RIBs.xctemplate으..