웹 서버발행일 2025. 10. 2.원본 https://blog.naver.com/jword_/224029915227 ↗

Markdown 파싱기를 탑재한 JAVA 웹 서버 프로젝트 기획안

Markdown 파싱기를 탑재한 JAVA 웹 서버 프로젝트 기획안 — #JAVA #웹서버만들기 #JAVA웹서버 #개발자의도구들 #markdown파싱 #마크다운 #마크다운파싱기 프로...

#webserver#Naver Blog

#JAVA #웹서버만들기 #JAVA웹서버 #개발자의도구들 #markdown파싱 #마크다운 #마크다운파싱기

​

​

프로젝트 동기 및 목적

개발 블로그를 새로 만들고 싶어서 전용 웹서버를 만들기로 하였다. Spring Boot로 빠르게 완성이 가능하기는 하지만, 이력서에 포트폴리오로 넣고 싶어서 프레임워크 없이 직접 웹서버를 구현해 보고 싶었다.

​

이왕 하는거 빡세게 공부하면 좋을 것 같다. 그래서 컴파일러를 공부해서 Mark down 파싱기를 제작하여 완전 커스터 마이징한 블로그를 만들어 볼 것이다.

프로젝트 목표 설정

MVP로 적용 https://blog.naver.com/jword\_/224004045716

​

Q. 해결하고 싶은 것

  1. 완전 커스터마이징한 나만의 웹 서버를 구동하고 싶다.
  1. 마크다운 파싱기를 넣어서 블로그의 질을 올리고 싶다.

​

​

Q.핵심 기능 정의

  1. 글 쓰기, 수정, 삭제하기
  2. 마크다운 파싱하기

​

Q. 빠르고 간단하게 시작하기

  1. TCP 소켓 통신에 대해 공부하기
  2. HTTP1.1 프로토콜에 대해 공부하기
  1. CRUD로 글을 작성해보기

​

사전지식 점검

TCP 소켓통신

  • Data Stream : 연결이 끊어지기 전까지 모든 데이터를 흘려보낸다.
  • 🤔 연결을 어떻게 관리하는가?

​

HTTP 1.1

  • Stream에 프로토콜을 사용하기 위해서는 HTTP 패킷에 header와 body 길이를 명시해야 한다.
  • 해당 패킷은 클라이언트에서 만들거라서 상관 쓰지 말자
  • HTTP 1.1 프로토콜은 Keep-Alive를 사용하여 TCP 연결을 지속한다.

​

컴파일러

  • 토큰 -> 트리 만들고... 해석하고..
  • 이건 잘 모르겠다.

​

오래전에 공부해서 잘 기억에 나지 않는다. 기름칠을 할 때가 왔다..

프로젝트 이후 기대할 수 있는 것

기대효과:

  • TCP 소켓 통신에 대해 더 깊은 이해
  • HTTP 1.1에 대한 준수한 수준의 이해
  • 컴파일러에 대한 기본 수준의 이해
  • 직접 mark down 파싱기는 만들 수 있다.

학습 도메인

익혀야할 도메인 지식들

Claude에게 학습 방향을 점검받았다. 공부를 진행하면서 충분히 변경될 수 있다.

​

Phase1.네트워크 & HTTP 기초​​

  • TCP/IP 소켓 프로그래밍
  • ServerSocket, Socket
  • HTTP/1.1 프로토콩 상세(메서드, 헤더, 상태코드)
  • HTTP 요청/응답 파싱 및 생성
  • Keep-Alive, Chunked Transfer Encoding
  • MIME타입과 Content Negotiation

​

Phase2. 멀티스레딩 & 동시성 처리

  • Thread Pool 패턴
  • NIO
  • 동시성 제어
  • Virtual Threads

​

Phase3. 컴파일러

  • Lexical Analysis (Tokenization)
  • Parsing(AST 생성) - Recursive Descent Parser
  • AST Traversal & Transformation
  • Code Generation (HTML 출력)

​

마크다운 특화:

  • 블록 레벨 요소
  • 인라인 요소
  • Nested 구조 처리

프로세스

지속적인 업데이트 필요하다

  1. TCP 소켓통신 복습 및 알아야할 지식들 정리하기
  1. HTTP 1.1 프로토콜 파싱기 만들기
  1. Database 연결 및 CRUD 기본 API 처리하기

​

-> 일단 여기까지 바로 시작 10.02

​

🎯 Basic

  • TCP 소켓 통신에 대한 이해 및 서버-클라이언트 연결 ✅
  • HTTP/1.1 request parsing ✅
  • RequestLine ✅
  • Essential Headers ✅
  • Body ✅
  • HTTP/1.1 response generation

​

  • Database
  • Design
  • Board
  • connector
  • String to Json
  • JPA

​

  • Client
  • React simple page
  • network (Http request)
  • response

​

🎯 Advanced

  • Cloud
  • EC2
  • S3
  • Route 53

​

  • Client
  • Makrdown request formating
  • Server
  • Markdown parser
  • Markdown to HTML

결과보고

자격증 공부와 병행해서 진행

  • 추석기간내에 완성하면 좋다.

​

예상기간

한달?

​

​

실제 진행기간

25.10.02~ (진행중)

​

​

얻은 도메인 지식들#

​

​

인사이트#