Youngkyu`s Devlog

[SwiftUI]Demystify SwiftUI - Identify SwiftUI는 어떻게 뷰를 갱신할까

SwiftUI는 어떻게 뷰를 갱신할까? SwiftUI는 이전 뷰의 상태와 현재 뷰의 상태를 비교하여 재렌더링이 필요한 뷰만 다시 그린다고 알고 있습니다. 그렇다면 어떻게 이전 뷰의 상태와 현재 뷰의 상태를 비교하는걸까요? SwiftUI는 현재 뷰의 상태가 이전 뷰의 상태와 달라졌는지를 어떻게 구분할까? SwiftUI는 정체성(Ident...

[Network]Socket vs WebSocket

소켓(Socket)이란? 소켓(Socket) 은 네트워크를 경유하는 프로세스 간 통신의 종착점. OSI 7계층 중 응용 계층에 속하는 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야한다. 즉, 소켓은 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해준다. 소켓은 아래의 요...

[Swift]애플 로그인 서버부터 클라이언트까지Swift + Nest.js + TypeScript

iOS 앱을 개발할 때 소셜 로그인 기능을 구현한다면, 애플 로그인은 사실상 필수적인 기능입니다. 그렇기에 프로젝트를 할 때마다 애플 로그인을 구현하게 되는데, 매번 ‘어떻게 구현하더라’ 하며 다시 찾아보는 일이 반복되곤 했습니다. “애플로부터 토큰을 발급받아 서버에 넘기면 서버가 알아서 로그인 또는 회원가입 처리를 진행하고, 그 후 액세스 토큰과 ...

[AVFoundation]테스트 가능한 오디오 관리 객체 설계하기

문제 소리가 정상적으로 입, 출력되는지 테스트하기 위해선 오디오 인터페이스부터 기타까지 실제로 연결해야만 테스트 할 수 있는 환경이었고, 그 결과 비효율적인 작업이 반복되었습니다. 원인 분석 AudioManager가 너무 많은 역할을 하다보니 필연적으로 코드가 길어지게 되었습니다. mark 주석으로 역할을 구분해두었지만 함수 내에서 다른 함수를 ...