SQLite 2

[Midnight 스터디 카페 #12] 두꺼비집을 내려도 기억은 남는다 — 크래시, 60초 저장, 그리고 SIGKILL

가장 무서운 건 손님이 아니었다진상 손님을 다 막고 나니 마음이 놓이는 듯했습니다. 그런데 곰곰이 생각해보니, 이 카페에서 가장 끔찍한 사고는 나쁜 손님이 아니었어요. 아무 잘못 없이 두 시간을 성실하게 앉아 공부하던 손님이, 어느 순간 자기 기록이 통째로 사라진 걸 발견하는 것. 그게 진짜 재앙이었습니다.서버는 언젠가 반드시 죽어요. 새 기능을 올리다가, 메모리가 부족해서, 클라우드가 서버를 옮기면서. 문제는 죽느냐 마느냐가 아니라 죽는 순간에 무엇을 잃느냐였습니다. 카페로 치면 갑자기 정전이 됐을 때, 손님들이 오늘 쌓아온 게 촛불 꺼지듯 사라지느냐 마느냐의 문제였어요.이번 편의 목표는 딱 하나였습니다. 언제 불이 꺼져도 손님의 하루가 남아 있게 만들 것. 그리고 저는 이걸 말로만 다짐하지 않고, 실..

[Midnight 스터디 카페 #5] 서버가 죽어도 원두는 남는다 — node:sqlite로 만든 영속성

휘발되는 성취감이 게임의 두 기둥은 연결감과 성취감입니다. 그런데 4화까지 만든 상태에서 성취감 쪽에 치명적인 구멍이 하나 있었어요. 원두도, 좌석 등급도, 누적 집중 시간도 전부 서버 메모리 위에만 있었던 겁니다.이게 무슨 뜻이냐면, 서버를 한 번 재시작하는 순간 모두가 쌓아 올린 게 전부 0으로 돌아간다는 얘기예요. 코드를 고쳐 서버가 재시작될 때마다, 배포할 때마다, 혹은 서버가 한 번 죽을 때마다. 세 시간을 집중해서 번 원두가 그렇게 사라지면 아무도 다시 안 옵니다. 성취감의 전제 조건은 내 노력이 사라지지 않는다는 신뢰거든요.DB, 그런데 최대한 가볍게해결책은 당연히 데이터베이스입니다. 문제는 어떤 걸 쓰느냐였어요.Postgres 같은 걸 붙이는 건 이 단계에선 과합니다. 별도 서버를 띄우고 ..