[항해99] WIL #1

김헤일리·2022년 11월 20일
0

TIL

목록 보기
5/46

WIL Part 1 - 일주일을 끝내고 쓰는 일기.

사전스터디 기간과 프리온보딩 기간을 제외하면 드디어 항해 1주차가 끝이났다!
1주인듯 1주아닌 1주차지만, 그 동안 정말 많은 TIL을 작성했지만, 처음으로 WIL을 작성해보려고 한다!

본과정 1주일동안 나는 무엇을 배웠을까?
사실 풀스택 미니 프로젝트도 사전 스터디때 토이 프로젝트를 진행하면서 엄청나게 새롭진 않았고,
언어 스터디, 알고리즘 문제 풀이도 결은 달랐지만 책으로 공부하던 것과 크게 다르진 않았다.

그래도 아 진짜 달라졌다 라고 느낀 점은 절대적인 공부시간과 내가 실제로 성장을 했구나...였다.

지금까지 작성한 벨로그 글에 종종 나온 말이지만, 당장 한달 전 나에게 개발은 먼 얘기였고, 아무것도 몰랐고, 내가 할거라고 예상조차 하지 못 한 일이었다.

원래 나는 프로토타이핑만 살짝 공부해보려고 했는데 어쩌다 개발을 배우는지 모르겠지만, 그래도 코딩 공부는 내 생각보다 어려우면서 쉬웠고, 싫었지만 재밌었다.

내가 하나를 해결하면 성취감이 컸지만, 하나를 해결하면 10개의 새로운 문제가 생겼었다.
이제 1주일이 끝난거고 배울건 한참 있고 많이 힘들겠지만 정말 즐기지 않으면 하루 평균 15~16시간 공부는 못 하겠지. 정말 즐겁다. 진짜로 힘들지만 즐겁긴 하다.


WIL Part 2 - 뿌듯했던 순간

성장을 크게 느낀 부분 중 하나는 이해하지 못 했던 API와 JWT 로그인 방식을 드디어 이해했다는 점이다!

JWT의 경우 사전스터디 조원이 코드를 짚어가면서 설명해줬었지만 이해 못했었다.
API도 개념은 알고 책을 읽었었지만 온전히 이해할 순 없었다.
하지만 그래도 이제는 설명을 알아들을 수 있는 수준까지 왔다. 그리고 내 스스로가 정보를 찾아봤을 때 그 정보를 흡수할 수 있는 수준이 되었다.

누군가는 미미하다고 하겠지만 이런 작은 순간순간들이 나한텐 정말 뿌듯한 순간이었다.


WIL Part 3 - 내가 새롭게 알게된 핵심 부분

새롭게 배운건 너무나도 많지만, 그래도 내가 직접 만들어본 API와 JWT를 이용한 회원가입 부분이 기억에 남는다.
특히 JWT 회원가입은 따로 글도 작성했었다! (자랑자랑)

1. API

  • 서버와 클라이언트가 서로 통신하는 방식을 의미한다.
  • 보통 클라이언트가 요청을 보내면 서버가 요청을 받고 응답을 하는데, 옳바를 응답과 요청을 구성하는 것이 API다.
  • 이전에 같이 일하던 개발자 동료에게서 API는 전화번호 부와 비슷하다는 설명을 들었다.
    • 번호가 틀리면 (요청이 옳바르지 않으면) 옳바르지 않다는 안내(에러 응답)이 돌아온다.
    • 번호가 바뀌면 (요청 방식이 변경되면) 이전 번호 (기존 요청 방식)이 변경되고, 옳바른 번호로 연결해주겠다는 응답이 돌아온다.
    • 맞는 번호를 입력했을 때 원하는 상대방과 연결된다. (요청과 응답이 통해야 프로세스가 돌아간다.)
  • 이런 설명은 전혀 기술적이거나 상세한 설명은 아니었지만, 적어도 무엇이 API며 어떤 역할을 하는지 알 수 있었다.

2. JWT vs Cookie/Session

  • JSON Web Token의 줄임말로, 인증을 할 때 필요한 정보들을 암호화하여 토큰을 만드는 방식을 의미한다.
  • Cookie/Session과 같이 HTTP 헤더에 담아 클라이언트를 서버가 구분할 수 있는 방식이지만, 단방향 암호화를 하기 때문에 쿠키/세션보다 보안성이 더 높다는 특징을 갖고있다.
  • 또한 토큰 자체에 사용자 인식에 필요한 정보를 전부 담고 있어서 세션 메모리를 사용하지 않는다.
  • Header/Payload/Signature로 구분된다.
    • Header엔 토큰 형식에 대한 정보와 서명 생성에 사용된 알고리즘에 대한 정보가 담겨있다.
    • Payload엔 토큰에서 사용할 정보를 key-value 형식으로 담고있다..
    • Signature는 토큰을 인코딩하거나 유효성 검증을 할 때 사용하는 고유한 암호화 코드다.
  • Cookie/Session을 사용할 경우, cookie 자체에 사용자에 대한 민감한 정보를 담고있지 않지만, 도중에 쿠키를 탈취해도 서버는 클라이언트를 구분할 수 없다는 점과, 세션 메모리를 사용하기 때문에 요청이 많은 경우 서버에 부하가 심해서 효율성이 떨어지는 문제가 있다.

일기처럼 두서없이 작성한 WIL이지만, 나중에 보면 재밌는 또 다른 일기가 생겼다.
그러고보니 이전에 정리한 글들을 복습삼아 다시 읽었을 때 틀린 부분이 몇개 있다는 것을 깨달았다.

그때는 그게 잘 이해한 것이라고 생각했겠지?
내가 성장했다는 점을 이렇게도 알 수 있어서 기쁘다.

내가 작성한 모든 글이 내 노력에 대해 설명할 수 있다니... 앞으로 더 열심히 회고글과 공부 내용을 정리하도록 해야겠다.

profile
공부하느라 녹는 중... 밖에 안 나가서 버섯 피는 중... 🍄

0개의 댓글