Skip to content

데일리 스크럼 | 3주차

jeongmin edited this page Feb 2, 2024 · 1 revision

기간: 24.01.15 ~ 24.01.21

1월 15일

어제 한 일

  • 🦊 github 설정
    • github label 설정하기
    • github issue, PR 제목 형식 수정
  • 🦊 github 테스트 환경 구축
    • kqueue가 FreeBSD 환경에서만 작동하여 github 및 도커를 통한 테스트가 불가
    • kqueue 함수들에 대한 정의만 있는 mock 헤더를 만들어 진행할 계획 → 우선 보류
  • 🐶 현재까지 파싱한 것 repo에 있는 코드랑 합치고 PR 날리기
  • 🦊🐶 로직 흐름 회의
    • 파싱을 하면서 Location 블록 정보가 필요한 경우가 있음
    • header 파싱이 끝났을 때 그 값을 바탕으로 Server 블록과 Location 블록 할당 후 추가 파싱 진행 필요

오늘 할 일

  • 🦊 Request 파싱 파트 리뷰
  • 🦊 서버 코드 구조 개선
    • uri와 Host 정보를 토대로 Server 블록과 Location 블록을 할당하도록 개선
    • ServerManager에서 Request 파싱단의 예외를 잡도록 하기
    • 파싱에 필요한 정보를 제공할 수 있도록 최우선적으로 처리
  • 🦊 서버 코드 리팩토링
  • 🐶 body 파싱 - chunked(Text-Encoding 헤더 포함)
    • RFC 추가로 읽기 - chunked
    • 코드 구현
  • 🐶 buffer에 담긴 값 처리
    • 현재는 requestLine에 냅다 넣었는데, buffer에 담긴 값에 CRLF가 들어있을 수 있기 때문에 다른 값과 동일하게 검사가 필요함
  • 🦊🐶

1월 16일

어제 한 일

  • 🦊 Request 파싱 파트 리뷰
  • 🦊 서버 코드 구조 개선
    • uri와 Host 정보를 토대로 Server 블록과 Location 블록을 할당하도록 개선
    • ServerManager에서 Request 파싱단의 예외를 잡도록 하기
  • 🐶 body 파싱 - chunked(Text-Encoding 헤더 포함)
    • RFC 추가로 읽기 - chunked
  • 🦊🐶 회의
    • body를 content-length만큼 다 읽고 남은 버퍼에 여러 요청이 포함되는 경우에 대한 처리

오늘 할 일

  • 🦊 서버 코드 리팩토링
  • 🐶  buffer에 담긴 값 처리
    • 현재는 requestLine에 냅다 넣었는데, buffer에 담긴 값에 CRLF가 들어있을 수 있기 때문에 다른 값과 동일하게 검사가 필요함
  • 🦊🐶 버퍼 요청 처리 Connection 객체 로직 수정

1월 17일

어제 한 일

  • 🐶  buffer에 담긴 값 처리
    • 현재는 requestLine에 냅다 넣었는데, buffer에 담긴 값에 CRLF가 들어있을 수 있기 때문에 다른 값과 동일하게 검사가 필요함
  • 🐶  개발일지 틀 만들어두기
  • 🦊🐶 버퍼 요청 처리 Connection 객체 로직 수정

오늘 할 일

  • 🦊🐶 전반적인 흐름 정리
  • 🦊 서버 코드 리팩토링
  • 🦊 클라이언트가 연결을 끊었을 때 처리
  • 🦊 Location 블록 할당 → 🐶 path(uri) 관련 파싱 필요
    • 🐶 RFC 7230 5장 읽기
    • 🐶 Location 블록에서 가져올 수 있는 정보 정리하고 client_max_body_size 예외 추가
  • 🐶 body 파싱 - chunked(Text-Encoding 헤더 포함)
  • 🐶 자잘한 수정
    • u_int8_t → uint8_t 변경 여부 조사

1월 18일

어제 한 일

  • 🦊 클라이언트가 연결을 끊었을 때 처리
  • 🦊 서버 코드 리팩토링
    • 하는 중, PR만 쓰면 돼용
  • 🐶 RFC 7230 5장 읽기 (path(uri) 관련)
  • 🐶 body 파싱 - chunked(Text-Encoding 헤더 포함)
    • 하는 중, PR 써야돼용

오늘 할 일

  • 🦊 서버 코드 리팩토링 PR 작성 후 리뷰
  • 🐶 body 파싱 - chunked PR 작성 후 리뷰
  • 🦊🐶 전반적인 흐름 정리
    • 응답 처리 설계
  • 🦊💤 원석이 낮잠 시간😴 30분
  • 🦊 kqueue 이벤트 관리 기능 추가
  • 🐶 path(uri) 쿼리 스트링 파싱
  • 🐶 cgi 구현 예제 탐색
  • 🐶🍪 간식시간: 3시 반 / 저녁시간: 7시 / 퇴근: 10시

1월 19일

어제 한 일

  • 🦊 서버 코드 리팩토링 PR 작성 후 리뷰
  • 🐶 body 파싱 - chunked PR 작성 후 리뷰
  • 🦊🐶 전반적인 흐름 정리
    • 응답 처리 설계
    • 🐶 cgi 구현 설계 탐색
  • 🐶 path(uri) 쿼리 스트링 파싱
  • 🦊 Location 블록 할당

오늘 할 일

  • 🦊🐶 전반적인 흐름 리뷰
  • 🦊 kqueue 이벤트 관리 기능 추가
  • 🦊 CGI 예제 코드 만들기
  • 🐶 Response 객체 설계 및 구현
  • 🐶 디렉토리 인덱싱
  • 🐶 기본 에러 페이지 구현
  • 🦊💤 원석이 낮잠 시간😴 30분
  • 🐶🍪 간식시간: 4시 / 저녁시간: 7시 / 퇴근: 10시

1월 20일

어제 한 일

  • 🦊🐶 전반적인 흐름 리뷰
  • 🦊 kqueue 이벤트 관리 기능 추가
  • 🦊 CGI 예제 코드 만들기
  • 🐶 Response 객체 설계 및 구현
  • 🐶 기본 에러 페이지 구현
  • 🦊🐶 ResponseGenerator
    • ResponseGenerator 추상 클래스 설계
    • ErrorGenerator 클래스 설계

오늘 할 일

  • 🦊 event 재설계
  • 🦊 서버 재시작 기능
  • 🦊💤 원석이 낮잠 시간😴 30분
  • 🐶 디렉토리 인덱싱 분기점 확인
    • NGINX autoindex 동작 정리
  • 🐶 ErrorBuilder 로직 구현
    • 상태 코드에 맞는 에러 페이지가 설정되어있지 않은 경우
    • 상태 코드에 맞는 에러 페이지가 설정되어 있는 경우

1월 21일

어제 한 일

  • 🦊 event 재설계
  • 🦊 서버 재시작 기능
  • 🦊💤 원석이 낮잠 시간😴 30분
  • 🐶 디렉토리 인덱싱 분기점 확인
    • NGINX autoindex 동작 정리
  • 🐶 ErrorBuilder 로직 구현
    • 상태 코드에 맞는 에러 페이지가 설정되어있지 않은 경우 기본 에러 페이지 반환

오늘 할 일

  • 🦊🐶 ErrorBuilder 로직 구현 짝코딩
    • 분기 부분은 제외 (무조건 ErrorBuilder로 가도록)
    • 상태 코드에 맞는 에러 페이지가 설정되어 있는 경우

Clone this wiki locally