Skip to content

김현우

mirageoasis edited this page Jul 19, 2024 · 8 revisions

#1주차

구현한 것

  • 평범하게 체스를 구현하였다.

시작

image

움직임

image

에러 처리

image

이렇게 말을 움직이면 체스가 움직이는 방식을 사용했다.

기물 클래스

image

이번 프로젝트에서 자바의 다형성의 개념을 제일 잘 서술할 수 있는 클래스는 체스 기물을 표현 Piece 클래스와 하위 구현체다. 하위 클래스에서 abstract 키워드를 단 함수를 구현해서 다형성을 살리는 방식을 사용. 또한, null 값을 그냥 null로 하지 않고 클래스로 구현해서 다형성에 부합하게 구현할 수 있었다.

느낀 점

  • 이번 과제는 설명을 그대로 따라가서 구현한 느낌이 강하다.
  • 처음부터 적합한 구조를 생각하기 보다는 그 때 그 때 최선인 구조를 찾고, 시간이 오면 해당 구조를 뜯어 고치는 방향으로 코딩은 하였다.
  • 이 때, 테스트 코드가 적절했다고 생각한다. 다시 한번 테스트 코드의 중요성을 깨닫게 된다.

2주차

구현한 것

image

/index.html 이라는 입력을 받으면 index.html이라는 정적인 파일을 return하는 프로그램을 만들었음

image

이렇게 등록하는 폼에 형식을 채워넣고 회원가입을 하면 회원가입 처리를 할 수 있다.

느낀 점

HTTP 요청을 받는 곳과 해당 요청을 처리할 Handler를 배치하는 것을 분리하면서 스프링이나 톰캣은 어떻게 하는지 궁금해서 찾아보았다. 그러면서 이해가 조금 늘었다. 귀찮긴했어도 이 때 아니면 언제 톰캣 구조를 뜯어보나 생각이 들었다.

4주차

구현한 것

CleanShot 2024-07-19 at 22 03 45@2x

CleanShot 2024-07-19 at 22 05 20@2x

글을 쓰는 기능을 구현하였고, 없는 페이지, 권한이 없는 페이지 접근했을 때 각각 알맞은 에러를 리턴하는 페이지를 만들었다. 그리고 권한이 없으면 로그인 페이지를 띄우기도 한다.

느낀 점

  • multi-part를 하면서 이진 자료형을 받기 위해 기존의 buffered reader를 뜯어 고치면서 배운 점이 많았다.
  • 톰캣도 실제로 바이트 하나하나 읽으면서 입력을 처리하는 것 같아 보인다.
  • 또한, InputStreamReader는 한번에 모든 바이트를 읽을 수 없어 나눠서 읽는 행동을 보인다. 이 때, 몇 바이트를 읽는지 확인하고 끝까지 입력을 읽어야한다.

👼 개인 활동을 기록합시다.

개인 활동 페이지

🧑‍🧑‍🧒‍🧒 그룹 활동을 기록합시다.

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally