전체 글(91)
-
바이바이
하이하이~https://slashpage.com/madein MadeIn - 구멍가게 - MadeIn저는 구멍가게 사장 지망생 입니다 🛍️ 구멍가게 진열대 iOS 다운로드 → 안드로이드 다운로드 → iOS 다운로드 → 외주작업물slashpage.com
2026.03.19 -
[네트워크] 실시간 통신 개념 정리 4 - STOMP
WebSocket이 해결해 준 것웹소켓(WebSocket)은 HTML5에서 정의된 실시간 통신 프로토콜 기존 HTTP가 요청 → 응답 → 연결 종료 방식이었다면,웹소켓은 한 번 연결되면 연결을 끊지 않고 클라이언트 ↔ 서버가 동시에 메시지를 주고받음 즉, 실시간 양방향 통신을 가능하게 만듦 WebSocket이 해주는 역할연결 유지프레임 단위 데이터 송수신메시지 순서 보장 (TCP 기반)지연 없는 양방향 통신 WebSocket의 한계웹소켓은 통신 규칙(연결 유지, 양방향 통신, 프레임 단위 송수신)일뿐 메시지의 구조, 의미, 라우팅 방식과 같은 메시리 레벨 규칙은 정의하지 않음 예를 들어 클라이언트가 웹소켓으로 이런 데이터를 보낸다고 가정{ "opcode": 1, "body": "hi"}이 데이터는 ..
2026.01.03 -
[네트워크] 실시간 통신 개념 정리 3 - 웹소켓 동작방식
웹소켓HTTP의 한계를 보완하기 위해 등장한 TCP 기반의 실시간 양방향 통신 프로토콜TCP 기반 → 신로.순서 보장최초 연결은 HTTP로 시작하지만 성공 후 웹소켓 프로토콜로 업그레이드연결이 한 번 수립되면 명시적으로 종료되기 전까지 지속적으로 유지클라이언트 ↔ 서버 동시에 메시지 주고받음 웹소켓 연결 흐름[1] HTTP 요청으로 먼저 접속[2] 프로토콜 업그레이드(Upgrade)[3] 서버가 101 Switching Protocols 응답[4] 이후부터 WebSocket 전용 프레임으로 양방향 통신 유지 1️⃣ 연결 시작 - 웹소켓 생성let url = URL(string: "wss://example.com/chat")!let webSocketTask = URLSession.shared.webSoc..
2026.01.03 -
[네트워크] 실시간 통신 개념 정리 2 - 웹소켓
소켓 & 웹소켓→ 이름이 비슷해서 헷갈리지만, 가장 큰 차이점 작동하는 레이어 자체가 다름 소켓프로그램이 네트워크를 통해 데이터를 보내고 받을 수 있도록 OS가 제공하는 통로전송 계층(TCP/UDP)을 사용하는 OS 레벨 인터페이스앱이 단순히 소켓에 write() 하면 OS가 나머지(TCP 세크먼트 생성, IP패킷화 등)를 모두 처리[ Application ] ↓ (소켓 API) [ OS Kernel (TCP/IP Stack) ] ↓ [ 네트워크 ] 웹소켓웹 전용 실시간 프로토콜웹 브라우저 ↔ 서버 사이의 지속적인 양방향 통신을 위해 만들어진 응용 계층 프로토콜응용 계층에서 동작하며 HTTP를 기반으로 시작처음엔 HTTP 요청으로 시작연결 방식1. Client가 HTTP..
2026.01.03 -
[네트워크] 실시간 통신 개념 정리 1 - Socket
소켓(Socket) 네트워크에서 데이터를 주고 받을 수 있는 통로 (왼쪽그림은 TCP/IP 4계층에 대한 그림이고,오른쪽은 TCP/IP 4계층은 동일한데 소켓의 위치에 대해 확인하기 위해 과장해서 그린 그림입니다. )소켓은 응용 계층과 전송 계층 사이에 위치앱은 TCP/UDP 프로토콜을 직접 구현할 필요 없음OS가 제공하는 소켓 API를 사용해 데이터를 보내면 OS가 TCP/IP 처리 1️⃣ 소켓의 역할역할설명TCP/UDP를 사용하기 위한 입구(통로)앱이 write()로 데이터를 넣으면 TCP/IP 처리는 OS가 수행End-Point 역할IP + Port + 연결정보(4-tuple)를 통해 통신 상대를 식별프로토콜이 아닌 인터페이스WebSocket, HTTP 같은 프로토콜은 응용 계층에서 정의됨. 소..
2026.01.03 -
[iOS] 숏폼 비디오 무한루프 구현 방법
이 글에서는 iOS에서 비디오 무한 루프를 구현하는 4가지 방법(오피셜은 아니고 제가 이런것들이 있겠다~ 생각한 것들입니다 ^0^)과 그중에서도 왜 AVPlayerLooper를 활용했는지에 대해 적어보려합니다. 1. iOS 비디오 무한 루프 구현 방법 4가지NotificationCenter + seekPeriodic Time ObserverAVQueuePlayer 수동 큐 관리AVPlayerLooper2. NotificationCenter + seek (가장 기본적인 방식)재생이 끝났다는 알림을 감지해, 다시 처음으로 되돌리는 가장 단순한 방식class BasicLoopingPlayer { private var player: AVPlayer? private var observer: NSObje..
2025.12.10