| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- javascript
- 인증
- next.js
- 아키텍처
- 마이그레이션
- contextBridge
- playwright
- React
- 도메인설계
- github actions
- FastAPI
- typescript
- 메일자동화
- 상태관리
- 백엔드
- 크롤링
- REST API
- Android
- electron
- JWT
- Kotlin
- 보안
- php
- python
- 프론트엔드
- sqlite
- Vite
- 배포
- 온디바이스AI
- 소셜로그인
- Today
- Total
목록2026/06 (75)
HM소프트
Laravel 모놀리스로 취향 큐레이션 커머스의 골격을 잡은 기록. 구매자·큐레이터·관리자 멀티롤 권한을 enum과 미들웨어로 나누고, 퀴즈 답을 무드 프로필로 환산하는 추천 엔진, 결제 위젯 v2 키 함정, 금액 위·변조 차단과 정산 어댑터 설계를 다룬다.시리즈를 시작하며취향과 감성을 입력받아 상품을 추천하고, 사람 큐레이터가 직접 상품을 골라 코멘트를 붙이는 — 그런 취향 큐레이션 커머스를 만들었다. 같은 제품 컨셉을 다른 스택으로 구현해 본 적도 있는데, 이번 시리즈는 Laravel + Blade 모놀리스 구현 관점의 기록이다. SPA 프레임워크를 따로 두지 않고, 서버 사이드 렌더링 한 코드베이스에서 구매자·큐레이터·관리자 세 화면을 전부 처리했다.특정 서비스명·브랜드명·결제사·정산사 실명은 전부..
전화 금융사기 탐지 앱을 완전 온디바이스로 설계해 통화 내용이 기기 밖으로 나가지 않게 한 기록. 녹음 감지부터 오디오 정규화, Whisper STT, 경량 LLM 판정까지 JNI로 붙이고, JSON 실패 시 키워드 폴백과 SQLCipher 암호화로 안전망을 친 파이프라인을 담았다.통화가 끝난 뒤에야 깨닫는다 — 무엇을, 왜 만들었나전화 금융사기(보이스피싱)의 가장 고약한 점은, 당하는 그 순간에는 좀처럼 의심이 들지 않는다는 것이다. "검찰입니다", "고객님 계좌가 범죄에 연루됐습니다", "지금 바로 안전계좌로 옮기셔야 합니다" — 이 흐름은 상대를 긴장시켜 판단력을 마비시키도록 정교하게 설계돼 있다. 그래서 피해자 대부분은 통화가 끝나고 한참 뒤, 혹은 송금까지 마치고 나서야 "뭔가 이상했다"를 깨닫..
Next.js 14 App Router와 TypeScript로 전력 엔지니어링 기업 홈페이지 시안을 만든 기록. 다국어는 URL 라우팅 대신 Context 토글로 단순화하고, GitHub Actions로 정적 배포하며, as const가 만든 리터럴 유니온 타입 충돌을 정적 빌드에서 잡아 푼 과정을 담았다.하룻밤 만에 "이런 톤으로 갑니다"를 만들어야 했다한 전력 설비 분야 엔지니어링 기업의 공식 홈페이지 프로토타입 시안을 만들었다. 본 구축 계약 전에 "이런 구조와 이런 분위기로 갑니다"를 의사결정자에게 보여주는 단계라, 완성도보다 속도와 첫인상이 중요했다. 회사명·연락처 같은 실제 정보는 이 글에서 전부 일반화했지만, 작업 자체는 운영을 전제로 한 진짜 코드였다.이 글의 재미있는 점은 커밋 로그가 곧..
Next.js 14 App Router와 TypeScript로 전력 엔지니어링 기업 홈페이지 시안을 만든 기록. 다국어는 URL 라우팅 대신 Context 토글로 단순화하고, GitHub Actions로 정적 배포하며, as const가 만든 리터럴 유니온 타입 충돌을 정적 빌드에서 잡아 푼 과정을 담았다.하룻밤 만에 "이런 톤으로 갑니다"를 만들어야 했다한 전력 설비 분야 엔지니어링 기업의 공식 홈페이지 프로토타입 시안을 만들었다. 본 구축 계약 전에 "이런 구조와 이런 분위기로 갑니다"를 의사결정자에게 보여주는 단계라, 완성도보다 속도와 첫인상이 중요했다. 회사명·연락처 같은 실제 정보는 이 글에서 전부 일반화했지만, 작업 자체는 운영을 전제로 한 진짜 코드였다.이 글의 재미있는 점은 커밋 로그가 곧..
AdMob 보상형 광고를 안드로이드 게임에 붙이며 콜백 지옥을 가드 네 겹으로 길들인 기록. 광고 로직을 AdManager 한 곳에 모으고 준비 상태를 StateFlow로 노출해 버튼을 제어하며, 보상 지급은 원자적 SQL UPDATE로, 광고 빈도 정책은 상수로 모았다.마지막 편, 그리고 가장 미뤄둔 편시리즈 마지막이다. 1편에서 Compose + Hilt + Room + MVVM 아키텍처를 세웠고, 2편에서 게임 시스템과 재화 정합성을, 3편에서 Room 마이그레이션과 테스트를 다뤘다. 이번엔 수익화 — AdMob 보상형 광고를 붙이고 게임 재화와 연동한 이야기다.솔직히 광고는 개인 개발 게임에서 가장 미뤄두기 쉬운 작업이다. 재미와 직접 관련이 없고, 잘해야 본전이며, 잘못 붙이면 사용자 경험만 망..
ㄴ콘텐츠 정합성 작업의 첫 단계는 비교가 아니라 기준 정하기였다. 검증 지시문·기획 원본·구현 3자가 어긋난 상황을 페이지×표기 매트릭스로 전수 점검하고, 깨진 이미지는 참조 대조로 0건임을 사실로 증명한다. 1편의 멱등 마이그레이션으로 문서 카피를 정합화하고, 이미지는 교체 대신 crop과 object-fit으로 의도한 프레이밍을 맞춘다.2편: 코드가 아니라 "정합성"이 일이었다1편에서 PHP + SQLite 구조와 콘텐츠 관리 시스템(c() 헬퍼, 멱등 마이그레이션, DB-override)을 다뤘다. 그런데 이 브랜드 사이트를 만들며 시간이 가장 많이 든 작업은 기능 구현이 아니었다. "기획 문서가 지정한 콘텐츠가 화면에 정확히 그대로 나오는가"를 맞추는 일 — 즉 정합성(integrity) 문제였다..