Markdown 파싱기를 탑재한 JAVA 웹 서버 프로젝트 기획안
Markdown 파싱기를 탑재한 JAVA 웹 서버 프로젝트 기획안 — #JAVA #웹서버만들기 #JAVA웹서버 #개발자의도구들 #markdown파싱 #마크다운 #마크다운파싱기 프로...
#JAVA #웹서버만들기 #JAVA웹서버 #개발자의도구들 #markdown파싱 #마크다운 #마크다운파싱기
프로젝트 동기 및 목적
개발 블로그를 새로 만들고 싶어서 전용 웹서버를 만들기로 하였다. Spring Boot로 빠르게 완성이 가능하기는 하지만, 이력서에 포트폴리오로 넣고 싶어서 프레임워크 없이 직접 웹서버를 구현해 보고 싶었다.
이왕 하는거 빡세게 공부하면 좋을 것 같다. 그래서 컴파일러를 공부해서 Mark down 파싱기를 제작하여 완전 커스터 마이징한 블로그를 만들어 볼 것이다.
프로젝트 목표 설정
MVP로 적용 https://blog.naver.com/jword\_/224004045716
Q. 해결하고 싶은 것
- 완전 커스터마이징한 나만의 웹 서버를 구동하고 싶다.
- 마크다운 파싱기를 넣어서 블로그의 질을 올리고 싶다.
Q.핵심 기능 정의
- 글 쓰기, 수정, 삭제하기
- 마크다운 파싱하기
Q. 빠르고 간단하게 시작하기
- TCP 소켓 통신에 대해 공부하기
- HTTP1.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 구조 처리
프로세스
지속적인 업데이트 필요하다
- TCP 소켓통신 복습 및 알아야할 지식들 정리하기
- HTTP 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~ (진행중)
얻은 도메인 지식들#