| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- Android
- 아키텍처
- python
- 메일자동화
- 백엔드
- FastAPI
- Vite
- sqlite
- 크롤링
- 소셜로그인
- 인증
- electron
- playwright
- javascript
- 보안
- github actions
- React
- 마이그레이션
- typescript
- 프론트엔드
- contextBridge
- 온디바이스AI
- JWT
- next.js
- 배포
- 상태관리
- REST API
- 도메인설계
- php
- Kotlin
- Today
- Total
목록WebSocket (3)
HM소프트
알림톡 1차 발송과 SMS 자동 대체를 대행사 failover 파라미터로 위임하고, 발송 실패는 예약과 분리한다. SMS 길이는 글자 수가 아니라 EUC-KR 바이트로 재서 LMS로 분기하고, 슬롯 잠금은 메모리 Map과 타임아웃으로 다룬다. POS 연동을 폴링에서 푸시로 바꿔 Socket.IO와 plain WebSocket을 공존시키고 좀비 연결을 heartbeat로 솎는다.2편: 예약을 통지하고, 현장과 잇다1편에서 예약 도메인을 다뤘다. 슬롯·정책·동시성·락커까지. 하지만 예약은 "DB에 레코드가 생겼다"로 끝나는 게 아니다. 사용자에게 닿아야 하고(알림), 현장 결제 단말과 실시간으로 이어져야 한다(POS). 이번 편은 그 두 개의 연결선이다.두 연결은 성격이 정반대다. 알림은 외부 발송 대행사로..
임베디드 보드 위에 상주하는 조작 패널 웹 서버를 만든다. 화면(aiohttp 웹 서버)과 기계(제어 프로세스)를 분리하고, 40바이트 헤더 바이너리 프레임 IPC로 둘을 잇는다. 매직 넘버 재동기화 디코더, 와이파이 AP와 OS별 캡티브 포털, 부팅 자동기동을 박제한 Yocto/BitBake 레시피까지 다룬다.데모가 아니라, 기기 안에 들어가는 버전한 커피머신 제조사의 신형 머신에 들어갈 조작 패널 UI를 만들고 있다. 머신 전면에 붙는 작은 터치 디스플레이에서, 사용자는 레시피를 고르고 추출을 시작하고 진행률을 지켜보고 알람을 끈다. 앞서 나는 같은 화면을 서버 없이 링크 하나로 보여주는 정적 데모 버전으로 먼저 만들어 따로 기록했다. 이번 글은 그 반대편 — 실제 머신 보드 위에서 상주하며 도는 버..
임베디드 기기의 키오스크 UI에서 WebSocket 푸시와 HTTP 폴링을 한 화면에 충돌 없이 공존시킨 기록. 이벤트 봉투 펍/섭 버스, 지수 백오프 재연결과 포기 가드, 소유권 집합으로 라이브·정적 필드를 분담시킨 인계 로직, mock WS 서버와 Playwright E2E 검증까지 다룬다.시리즈를 시작하며 — 기기 상태가 곧 화면인 UI여러 개의 추출구(스테이션)를 가진 음료 추출 기기의 터치 키오스크 UI를 만들었다. 임베디드 보드 위에서 웹(EJS 템플릿 + 바닐라 JS + CSS)으로 서빙되는 태블릿 화면이고, 화면에 보이는 거의 모든 것이 기기의 현재 상태다. 어느 추출구가 비어 있고, 어디서 추출이 진행 중이고, 진행률이 몇 퍼센트이고, 알람이 떴는지. 사용자가 입력하는 폼이 주인공인 보통..