본문 바로가기

전체 글44

[iOS] About 동시성 동시성여러 작업을 동시에 실행되는 것 처럼 보이게 하는 것  프로그램 / 프로세스 / 스레드 프로그램- 단순한 코드 덩어리 프로세스- 프로그램이 실제로 실행되어 메모리에 올라가 실행 중인 것 스레드- 프로세스 내에서, 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것  멀티 프로세스멀티 프로세스- 하나의 운영체제에서 동시에 프로세스를 여러개 실행시킬 수 있는 기술 멀티 프로세스 환경에서의 메모리 구조- 하나의 운영체제에서 여러 프로세스들이 각각의 독립적인 공간을 할당받음- 하나의 프로세스 내부에 코드, 데이터, 힙, 스택 영역들이 각각 존재  멀티 스레드멀티 스레드- 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것 멀티 스레드 환경에서의 프로세스의 메모리 구조- 하나의 운영체제에.. 2024. 11. 10.
[iOS] About WidgetKit - 2(App Group) 지난번 위젯킷 블로그에서 위젯킷을 사용해 위젯을 구현하고 설정까지 완료했다고 생각했지만, 가장 중요한 부분이 남아있었습니다. 2024.10.24 - [Swfit] - [iOS] About WidgetKit - 1 바로 앱의 데이터와 위젯 데이터의 공유 문제입니다. 이번 글에서는 앱과 위젯 간의 데이터 동기화에 대해 자세히 알아보겠습니다. 현재 상태로는 위젯이 정상적으로 표시될 수는 있지만, 앱에서 데이터가 변경되었을 때 위젯에 해당 정보가 반영되지 않는 문제가 발생할 수 있습니다. 이 부분을 해결하기 위한 방법을 하나씩 살펴보겠습니다.  App GroupApp Group은 애플이 제공하는 샌드박스 환경을 기반으로 한 데이터 공유 메커니즘입니다.- Extension의 Bundle은 Container번들에 .. 2024. 11. 2.
[iOS] About Notification & Delegation 이번 글에서는 객체 간 데이터의 상태 변화 혹은 정보 전달이 일어나야할 때 사용하는Notification 과 Delegation에 대해 알아보려 합니다! NotificationNotification은 NotificationCenter라는 싱글턴 객체 를 통해서 데이터의 상태 변화나 정보 전달이 일어나야 할 때 이를 관찰하는 객체에 알림을 보내는 시스템입니다. Notification의 구성을 살펴보면 1) 알림 등록 NotificationCenter.default.addObserver(self, selector: #selector(memoRecievedNotification), .. 2024. 10. 26.
[iOS] About WidgetKit - 1 WidgetKit - iOS8 ~ iOS13 Today Extension 을 통해 위젯 지원- iOS14부터 WidgetKit 도입 > Widget Extension을 통해 위젯 개발 가능- SwiftUI로만 개발 가능 (UIViewRepresentable로도 개발 불가능)- iOS14 소개 당시, 홈 화면과 오늘 보기 두 군데만 지원- iOS16부터 잠금 화면 지원- iOS17부터 Mac Desktop, iPad Lock Screen, Watch Smart Stack, StandBy 까지 네 군데 추가 지원  Widget 구성요소1. Widget Extension 추가 ( Activate “WidgetExtensionˮ Scheme? > Activate 로 설정)  - Include Live Activ.. 2024. 10. 24.
[iOS] About JWT(Jason Web Token) JWT • 유저를 인증하고 식별하기 위한 토큰 기반 인증 방식 • 주로 인증 및 정보 전달을 위해 사용 • 토큰을 클라이언트에 저장하고 요청 시 HTTP 헤더에 토큰을 첨부하는 것만으로 간단하게 데이터를 요청하고 응답 가능  JWT 구성 1. Header • 토큰의 타입과 해싱 알고리즘 정보 기입 • kid: 서명 시 사용하는 키를 식별하는 값 • typ: 토큰 유형 • alg: 해싱 알고리즘 2. Payload  • 토큰에서 사용할 정보의 조각들인 클레임(key-value 형태)이 담겨 있음 • Registered Claim: exp(만료시간), sub(제목), iss(발급자) 등 표준 클레임 • Public Claim: 사용자 정의 데이터 • Private Claim: 비공개 데이터 3. Signat.. 2024. 10. 17.
[iOS] About Cookie/Session 이번 글에선 서버 인증 방식 중, 쿠키와 세션에 대해서 알아보려고 합니다!  🍪 Cookie😄 개념- 클라이언트의 브라우저에 저장되는 작은 데이터 - 주로 세션 ID와 같은 정보 저장😄  특성- 쿠키가 생성된 이후엔 모든 요청마다 서버로 전송- 이름, 값, 만료 날짜, 전송할 경로, HTTPOnly여부 등으로 구성- Key - Value 쌍으로 구성- 하나의 쿠키는 4KB(= 4096바이트 = 512비트 )까지 저장 가능- 도메인 당 20개의 쿠키😄  사용목적- 세션관리: 로그인, 닉네임, 접속 시간 등 저장- 개인화: 유저마다 다르게 유저에게 적절한 페이지 로드- 트래킹: 유저의 행동패턴 분석, 기록🥶  단점- 보안성: 브라우저에 저장되기 때문에, 쿠키 탈취 위험성이 있음- 저장 용량 제한: .. 2024. 10. 13.