
기능구현
맞춤법 검사
1. AI (LLM) API 활용 방식
- Gemini나 OpenAI(ChatGPT) 같은 LLM 모델의 API를 사용하여
- 맞춤법과 띄어쓰기뿐만 아니라 문맥에 맞는 자연스러운 교정까지 요청하는 방법
- 장점
- 한국어는 형태소가 복잡해 기존 맞춤법 검사기들의 한계가 명확한데
- 결과를 제공 문장 다듬기(어조 변경 등) 기능으로 확장하기도 좋음
- 단점
- API 호출 비용이 발생할 수 있으며, 응답 속도가 일반 맞춤법 검사기보다 1~2초 정도 더 걸릴 수 있음
- 구현 로직
- Django 백엔드에 /api/post/spell-check/ 같은 엔드포인트를 만들고
- 프론트엔드에서 텍스트를 보내면 백엔드(Service 레이어)에서 프롬프트를 조합해
- AI API를 호출한 뒤 교정된 텍스트를 반환
2. 오픈소스 라이브러리 활용 방식
- 네이버나 다음의 맞춤법 검사기 기반 비공식 오픈소스(예: py-hanspell)를 사용하는 방법
- 장점
- 별도의 API 키나 비용 없이 무료로 사용가능
- 단점
- 포털 사이트의 비공식 API를 스크래핑하는 방식이라, 네이버나 다음에서 웹페이지 구조를 바꾸면
- 라이브러리가 갑자기 작동하지 않는(에러 발생) 리스크가 큼 / 유지보수가 까다로움
3. 프론트엔드 에디터 플러그인 방식
- 현재 블로그 글 작성 페이지(write.html)에서 CKEditor, Toast UI Editor, Quill 등의
- 위지윅(WYSIWYG) 에디터를 사용 중이시라면, 해당 에디터에서 지원하는
- 맞춤법 검사 플러그인이나 브라우저 내장 맞춤법 검사(spellcheck="true")를 활용하는 방식
- 장점
- 백엔드(Django) 서버에 부하를 주지 않고, 프론트엔드에서 즉각적으로 처리됨, 구현이 매우 간단
- 단점
- 브라우저 내장 검사기는 한국어 교정 능력이 매우 떨어짐
- 정교한 맞춤법 검사를 원하신다면 만족스럽지 않을 수 있음
선정 고민
- ai 방식을 채용하고 싶은데 이렇게 되면 내가 원하지 않는 부분까지 수정되고 문맥도 수정될것같아서 고민
- 오픈소스를 사용하면 편하긴한데 의존하는건 싫음
- 일단 3번을 채택하고 좀더 고민해야할듯
프론트 에디터 플러그인
- 블로그 글 작성(write.html)과 수정(edit.html) 페이지에서 Toast UI Editor를 사용중
- Toast UI Editor 내부에 브라우저 내장 맞춤법 검사(spellcheck)를 강제로 활성화
있으면 좋다 이기 때문에 굳이 깊게 안함 (빨간줄생김)

기능고민
게시글 검색 기능 고도화 (Search)
- 도전 과제
- 제목+내용+태그를 동시에 검색하는 복잡한 Q 객체 쿼리 작성, 검색 성능 최적화(DB 인덱스 활용)
- 혹은 더 나아가 PostgreSQL의 Full-Text Search를 적용해 보는 것도 백엔드적으로 아주 훌륭한 주제
조회수 기능과 어뷰징 방지 (View Count & Redis)
- 도전 과제:
- 한 유저가(혹은 동일 IP가) 짧은 시간에 조회수를 조작하지 못하도록 막아야 함
- Redis 같은 인메모리 DB를 사용해 캐싱하거나, 쿠키/세션을 활용해 '동시성 문제'와 'DB 부하 최소화'를
- 도전 과제
- 일반적인 1차원 댓글이 아니라, 댓글에 답글을 다는 '계층형(Tree) 구조'를
- 데이터베이스에 어떻게 설계할 것인가? (Self-referential ForeignKey 활용)
- N+1 문제를 발생시키지 않고 댓글과 대댓글을 효율적으로 조회하는 쿼리(Prefetch_related 등)를 짜기
- 도전 과제
- 유저가 글을 작성할 때 이미지를 올리면
- 백엔드에서 이미지 크기를 적절히 리사이징(압축)하여 서버 용량을 아끼고
- AWS S3 같은 클라우드 스토리지로 업로드하는 파이프라인을 구축