DB와 SSE로 채팅 편집 락 구현하기
·
카테고리 없음
내가 개발하고 있는 플랫폼에서는 채팅방마다 재무모델/PPT생성 등을 함께 편집할 수 있다. 여러 명이 동시에 수정하면 내용이 덮어써지므로, 채팅방 하나에는 편집 권한을 가진 사용자가 한 명만 있어야 한다.문제는 "지금 누가 갖고 있는가"만으로는 부족하다는 점이다. 탭을 닫거나 네트워크가 끊기거나 브라우저가 강제 종료되면 보유자는 사라지지만 락은 그대로 남는다. 편집 락 설계는 결국 "그 사람이 아직 살아있는가"를 어떻게 판정하느냐의 문제다.이 프로젝트는 Redis 없이 단일 PostgreSQL DB 안에서 상태를 공유해야 하는 제약이 있었다.설계: DB를 유일한 상태 출처로 두고 SSE로 전파구성요소역할소실 시 영향DB유일한 상태 출처. 획득·보유 확인·해제 모두 여기서 이루어진다.전체 장애SSE3분마다..
브라우저에서 엑셀을 렌더링하기까지
·
카테고리 없음
이번 프로젝트에서 브라우저에서 엑셀 파일을 원본 형태 그대로 미리 보여주는 기능을 맡게 되었다. 대상은 복잡한 수식과 서식, 여러 개의 시트로 구성된 재무모델(xlsx/xlsm)이었다. 다운로드 없이 화면에서 원본을 그대로 보여줘야 했지만 시트마다 구조와 양식이 달라 셀 값만 추출해 별도의 UI로 그리는 방식으로는 재현할 수 없었다.문제를 해결하려면 엑셀 파일이 실제로 어떤 구조로 저장되고, 브라우저에서는 그 구조를 어떤 과정을 거쳐 화면에 그리는지부터 이해해야 했다.이 글은 그 과정에서 엑셀 파일 포맷과 렌더링 파이프라인을 단계별로 살펴보며 정리한 기록이다.1. xlsx의 실체는 ZIP으로 묶인 XML이다xlsx는 하나의 바이너리 덩어리가 아니다. 확장자만 바꾸면 그대로 압축이 풀리는 ZIP 아카이브이..
GitHub Actions + LLM으로 진척 기록 공수 줄이기
·
카테고리 없음
배경새 프로젝트를 지난달 말에 시작했다. 최근 비개발 부서와 협업하게 되면서 플랫폼 기획까지 우리가 직접 맡게 됐다. 팀에 기획자나 PM은 따로 없다. 개발자들이 기획부터 개발, 진척 관리까지 다 같이 한다.작업 진척판은 Google Sheets로 관리한다. 구조는 단순하다. | 기능 구분 | 역할 구분 | 세부 업무 | 담당자 | 완료일 | 6월 1주차 | 6월 2주차 | ... | 완료한 작업은 해당 주차 칸을 초록색으로 칠하고 [완료] 라고 적는다.사실 일정 관리는 Jira나 Monday를 쓰면 된다. 하지만 그런 툴을 자유롭게 쓰는 IT 기업의 환경은 아니다. 게다가 이 시트는 타 부서와 부장님, 전무님께 공유하는 용도이기에 보던 양식을 바꾸는 것도 부담이었다. 그래서 툴을 바꾸는 대신 엑셀을 그..
코드 밖을 알아야 장애가 보인다.
·
카테고리 없음
2월부터 3월까지는 기존 레포지토리에서 프론트엔드 기능 개발에 집중했다. 이미 돌아가고 있는 서비스 위에 새 기능을 얹는 작업이 대부분이었다. 4월부터는 상황이 달라졌다. 우리 조직이 아닌 다른 부서 서버를 쓰게 되면서 형상관리부터 배포까지 전 과정을 GitLab에서 처음부터 새로 짜야 했다. CI/CD는 단순한 자동화가 아니다이번 프로젝트의 핵심은 GitLab 파이프라인으로 STG/PROD 배포 흐름을 잡고 트래픽 경로를 파악해 장애 대응 능력을 확보하는 것이었다. 전체 구조는 Next.js 앱을 GitLab으로 배포하고 Application Gateway → Nginx → WAS 순으로 트래픽이 흐르는 형태다.파이프라인을 직접 처음부터 구성해본 건 이번이 처음이었다. 작업하면서 느낀 건 CI/CD가 ..
점심마다 사라지는 10분이 아까워서 봇을 만들었다
·
카테고리 없음
엘베 앞에서 사라지는 10분회사에 들어온 지는 4개월차다. 프로젝트와 병행하면서 4월에 자발적으로 만들어본 게 이 런치봇이다.우리 회사는 테크 기업이 아니다. 보수적인 업계에 가깝고 자동화 봇을 자유롭게 만들어 굴리는 분위기도 아니다. 보안 정책도 까다로워서 메신저를 팀즈를 사용하고 있어, 사내 봇 만들 때 편리한 팀즈 웹훅 같은 건 막혀 있다. 그래서 이 봇은 시스템 도입이라기보다 신입이 적응 삼아 슬쩍 만들어본 사이드 프로젝트에 가깝고 구성도 회사가 막아놓지 않은 도구들로만 우회해서 짜야 했다. 발단은 점심시간이었다. 부서원이 10명 이상인데 다 같이 점심을 먹기로 약속해도 정시에 엘리베이터 앞에 모이는 사람은 늘 절반쯤이었다. 회의가 늦게 끝난 사람도 있고 외근도 있고 그냥 잊는 사람도 있다.문제는..
Agentic Workflow 2026:AI 에이전트 주도 개발 실전 컨퍼런스
·
카테고리 없음
운 좋게 회사 지원으로 'Agentic Workflow 2026' 컨퍼런스에 다녀왔다. 원래 가기로 하셨던 과장님이 고객사 미팅 때문에 못 가시게 되면서, 전부터 가고 싶다고 어필하던 나에게 바로 티켓을 토스해 주셨다. 안그래도 요즘 하네스 엔지니어링이라는 개념만 알고 정작 실무 적용 사례를 몰라 갈증이 있었는데, 딱 원하던 내용들을 들을 수 있었다. 사내 공유용으로 정리했던 내용을 가볍게 옮겨본다. 세션1: 하네스 엔지니어링 (Harness Engineering)AI 에이전트를 "팀"으로 구성·제어하는 새로운 패러다임, 하네스 엔지니어링의 개념과 실전 적용법 공유- 황민호: 카카오 수석(AI 스튜디오FDE) 패러다임 전환 흐름프롬프트 엔지니어링 → 컨텍스트 엔지니어링 → 하네스 엔지니어링. AI에게 "..