지난 포스팅에 이은, 바이브코딩을 통한 웹사이트 만들기에 대한 포스팅을 진행하겠다.
서버는 처음부터 '무료로 운영될 수 있는' 서버로 진행해달라고 요청했었고 로컬에 저장할 수 있도록 해달라고 요청했었다.
"로컬에 저장해달라"는 말로 인해 localStorage에 저장하는 기능으로 구현이 되었다.
하지만 이는 치명적인 단점이 너무 많았다.
로컬이라는 단어 때문인지 뭔진 몰라도 제미나이는 처음에 localStorage 저장 방식을 택했다..
이건 너무 아쉬운 선택이었다.
다시 파일로 저장하고 불러올 수 있는, 배포해도 괜찮은 방법을 알려달라고 했고 그 결과 json 파일에 저장하는 것으로 변경하였다.
localStorage를 쓰지 않고 저장하는 방법으로 적용해달라고 하니, JSON 파일로 저장하는 방법으로 적용해주었다.
json 파일로 DB를 운영하는 것은 아래와 같은 장단점이 있다.
지금은 단점이 부각되지 않아 JSON 파일로 진행하지만, 1. 추가되는 프로젝트가 많아지거나 2. 파일이 깨지는 현상 을 대비하기 위해서라도 SQLite로 데이터베이스를 변경하는 게 좋을 것 같다.
SQLite에 대해 간략하게 알아보자면,
작동 방식
데이터베이스 엔진이 관리
데이터 수정
데이터 전체 저장이 아닌 데이터 1개만 수정(속도 빠름)
데이터 검색
SQL 쿼리를 통한 검색 가능
안정성
트랜잭션(Transaction) 지원으로 데이터가 절대 깨지지 않음
파일 형태
data.db 또는.splite
백엔드(서버+DB) 관련된 내용을 공부해야 겠다는 생각이 들었는데, 직접 체험해볼 수 있는 경험이 되었다. 서버와 DB의 차이점도 명확하게 알 수 있었다. DB = AWS 라는 생각을 했었는데, 크게 배포할 게 아니라면 그것도 필요 없다는 게 신기했고 SQLite를 쓰면서 SQL도 공부해봐야겠다는 생각이 들었다!
바이브코딩 진짜 재밌는 것 같다.. 나에게 코딩의 재미를 다시 줬다(아님.. 이건 코딩이 아님..)
서버와 관련된 이야기는 여기까지이다. 다음에 SQLite를 적용하게 된다면 다시 가져오도록 하겠다.
자동으로 클라이언트와 서버를 구동하기 위해 배치파일 & 빌드파일을 만들어봤는데, 이와 관련된 얘기는 3편에서 다루도록 하겠다 (빡침주의*)