2026/03/06 Blog - 16

김기훈·2026년 3월 6일

TIL

목록 보기
156/194
post-thumbnail

코딩테스트(2775)


기능구현

맞춤법 검사

  • 1. AI (LLM) API 활용 방식

    • Gemini나 OpenAI(ChatGPT) 같은 LLM 모델의 API를 사용하여
      • 맞춤법과 띄어쓰기뿐만 아니라 문맥에 맞는 자연스러운 교정까지 요청하는 방법
    • 장점
      • 한국어는 형태소가 복잡해 기존 맞춤법 검사기들의 한계가 명확한데
        • AI는 문맥을 파악하여 훨씬 자연스러운 교정
      • 결과를 제공 문장 다듬기(어조 변경 등) 기능으로 확장하기도 좋음
    • 단점
      • 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)를 강제로 활성화
  • 있으면 좋다 이기 때문에 굳이 깊게 안함 (빨간줄생김)


기능고민

  • 도전 과제
    • 제목+내용+태그를 동시에 검색하는 복잡한 Q 객체 쿼리 작성, 검색 성능 최적화(DB 인덱스 활용)
    • 혹은 더 나아가 PostgreSQL의 Full-Text Search를 적용해 보는 것도 백엔드적으로 아주 훌륭한 주제

조회수 기능과 어뷰징 방지 (View Count & Redis)

  • 도전 과제:
    • 한 유저가(혹은 동일 IP가) 짧은 시간에 조회수를 조작하지 못하도록 막아야 함
    • Redis 같은 인메모리 DB를 사용해 캐싱하거나, 쿠키/세션을 활용해 '동시성 문제'와 'DB 부하 최소화'를
      • 고민해 볼 수 있는 아주 좋은 백엔드 주제

댓글 및 대댓글 기능 (Nested Comments)

  • 도전 과제
    • 일반적인 1차원 댓글이 아니라, 댓글에 답글을 다는 '계층형(Tree) 구조'를
      • 데이터베이스에 어떻게 설계할 것인가? (Self-referential ForeignKey 활용)
    • N+1 문제를 발생시키지 않고 댓글과 대댓글을 효율적으로 조회하는 쿼리(Prefetch_related 등)를 짜기

썸네일/이미지 업로드 및 최적화 (Media Handling)

  • 도전 과제
    • 유저가 글을 작성할 때 이미지를 올리면
      • 백엔드에서 이미지 크기를 적절히 리사이징(압축)하여 서버 용량을 아끼고
      • AWS S3 같은 클라우드 스토리지로 업로드하는 파이프라인을 구축

profile
안녕하세요.

0개의 댓글