백엔드 생존코스 1주차 회고

bluesky·2023년 2월 5일
0
post-thumbnail

회고 방식.

잘한 것은 무엇인가?

  • 과제 측면에서
    • 우선 첫번째 과제를 성공적으로 끝마쳐서 너무 뿌듯했다.
    • 과제를 효율적으로 끝내기위해 나만의 방식들(top 다운 방식으로 개발하기, 일단 한번에 다 작성해보기(잦은 테스트 금지), 즉각적인 결과 확인이 필요한 부분은 디버깅 모드에서 확인해보기)가 적절히 조화를 이뤄 6시간만에 과제를 완성한 것이 뿌듯하다.
    • 이러한 고민과, 그 경험이 앞으로의 업무나 개발에서도 빛을 발해서 좀더 효율적으로, 생산적인 개발을 할 것이다.
  • 1주차 강의와 관련하여
    • 일단 이러한 백엔드 데브코스를 신청하길 정말 잘했다(다양한 자극을 받을 수 있다..!)
    • 1주차 강의 진도가 늦어 DM이 왔었지만, 끝까지 포기하지 않고 완수한것!
    • 나만의 방식의 데브노트를 작성하며, 지식을 내것으로 만든 것!

잘못한 것은 무엇인가?

  • 과제 측면에서
    • 요청 메시지를 파싱할때, 전적으로 정규표현식에 의존했다. 하지만 더 좋은 방식이 나중에 떠올라서 아쉬웠다.
      • 그것은 일단 시작 / 헤더 / 요청 바디로 정규표현식으로 구분한 후, 헤더는 ": "로 파싱하여, 맵 형태로 데이터를 꺼낼수 있었다.
    • 나만의 단위 테스트 코드를 작성하지 않았다.
      • 물론, 아직 숙달이 필요하지만, 그럼에도 계속 적용하는 연습을 해야할텐데, 빠른 수행이란 이유로 안했다. 반성한다. 다음 기회에는 1개라고 단위테스트를 작성해보려 한다. 이번 과제에서는 파싱부분은 단위테스트를 작성하면 좋을 듯 하다.
  • 강의 측면에서
    • 나중에 몰아서 강의를 수강했다.
      • 이러한 삶의 태도는 지양하고 싶다. 이번에 올라온 강의가 5개 였다면, 월, 화, 수에 5강을 끝낸다는 생각으로 작업했어야 했다.
      • 현재 벌려둔 일들에 비해 시간이 현저히 부족한것 같은 느낌이 있다. 이런 상황에서 할수 있는 것은 스스로 작은 목표와 데드라인을 작성하고, 최선을 다하는 것이다.

무엇을 배웠는가?

  • HTTP란 무엇인가? 그중에 필수 개념은 무엇인가?
  • 소켓은 무엇인가? 서버와 클라이언트는 로우 레벨에서 어떻게 소통하는 가?
  • Http server와 spring boot로 웹프로젝트 만들기.

해결해야할 문제/남아있는 의문은 무엇인가?

  • 남은 시간, 어떻게 복습할 것인가?
    • 일단, 주간 월간 복습을 기존 데로 유지.
  • 좀더 개선할 수 있는 학습 방식이 있을까?
    • 강의 노트 보기 -> 강의 내용 이수하며 필기 하기 -> 실습이 있을 경우, 빠르게 해보기. -> 데브노트 작성, 키워드 중심으로 패러프레이징 하기 -> 필기본과 강의 내용 참고하여, 데브 노트 수정
    • 위 방식으로 하고 있는데, 더 개선할 포인트가 있을까?

어떻게 개선할 것인가?

  • 위에서 언급 일부 함.
  • 개념을 공부할때, 어떠한 상황에서 적용할 수 있을 지도 데브노트에 함께 작성하자.

기타.

  • 이번 과제는 나에게 정말 인상 깊었다.
  • 하루전에 있던 면접에서 자바를 얼마나 다룰수 있냐는 질문을 받았다.
    • 그래서 어떠한 식의 답을 원하시는 지 몰라, 예시를 요청드렸는데, 프레임워크없이 웹서버를 만드는 것? 이런 예시를 면접관이 들어주셨다.
    • 그 당시에 프레임워크 없이는 힘들지만, 스프링 부트를 이용한다면 간단한 was를 빠르게 만들수 있다고 답을 했었다.
    • 그런데 이번 과제가 소켓만으로 웹서버를 만드는 것이였다. 데자뷰 느낌이 들었고, 아 정말 중요한 이야기였구나 싶었다.
  • 이제는 말할수 있을것 같다.
  • 저 소켓 라이브러리 이용하면 간단한 웹서버는 만들수 있습니다. 라고

스스로 뿌듯함

  • 과제의 테스트를 모두 통과함.
profile
SMART https://github.com/dongseoki?tab=repositories

0개의 댓글