WIL | 22/07/17

개뉸·2022년 7월 17일
0

WIL

목록 보기
1/9
post-thumbnail

1주차 미니 프로젝트가 끝났다. 평소같으면 벌써 1주일이 지나갔다 라고 말하고싶지만
시간은 빨리갔는데 벌써부터 힘들다 ㅋㅋ
새벽에 자고 9시에 일어나려니까 아침이랑 점심먹고 너무 피곤하더라...

원래 WIL을 작성할 예정이었는데 겸사겸사 항해 일정에서도 필수로 작성을 해보라고 했다.
이번 WIL의 키워드 가 JWT, API 이라...
솔직히 말하면 둘의 개념조차 잘 모르겠다. 특히 API. JWT라면 로그인/회원가입 구현할때
암호화랑 쿠키에 토큰 저장할때 써봤어서 어느정도는 이해했다. 내가 맡은 부분이 이 부분이 아니라서 목요일에 프로젝트가 끝나고 혼자 영상 강의를 다시 돌려봤다. 서버가 클라이언트랑 서로 주고받으면서 아이디와 비밀번호를 쿠키에 저장하는데 중간에 JWT가 불순한 의도를 가진 이들을 차단하기 위해서 토큰값에 해시함수로 암호화 한다고 이해했다.
프로젝트 진행당시에 해당 부분을 맡아서 했던 팀원분이 이 내용을 설명해 주셨는데 부분부분은 이해가 잘되었는데 막상 설명이 끝나시니 그래서 이게 뭐지? 라고ㅋㅋㅋ
'이게 무엇이다' 가 아니라 '이것을 실현 시켜주는 개념이다' 라고 알아 들었어야 했나보다. JWT도 그렇고 API도 그렇고, 뭔가 실체를 잡으려 하니까 모르는것 같다.

이 API는 특히 이해하기 힘들었다. TIL,WIL 강의 해주신 강사님께서 우리가 API에 대해서는 알고있어야 한다고 말씀해주셔서 아 주말에 좀 찾아봐야겠다 하고 바로 오늘 아침에 찾아봤다.
그런데 이게 대체 무슨 개념인지... API에도 여러가지가 있고 심지어 ABI도 있더라.
개념 이해하는데에 오늘하루 다쓴것같다.

API. Application Programming Interface 의 약자로, 인터페이스의 개념부터 알고있어야한다. 상호간의 교류? 상호작용으로 이해하면 좋겠다. 내가 익숙한걸로는 UI가 있다. 보통 게임할때 UI를 많이 들어봤는데 그냥 화면에 떠있는 게임과 나를 도와주는 어떤 디스플레이? 정도로 이해하고 있었는데 읽어보니 뭐 그렇게 틀린말은 아닌것같다. 이건 User와의 상호작용을 의미하므로 Programming Interface는 프로그램간의 상호작용으로 생각해보는게 좋겠다. 컴퓨터 저레벨 구간에서 직접 명령할 수 없으니 중간 매체를 두고 명령하기 쉽게 만들어주는것이 API 대략적인 개념이라 하겠다. System.out.println() 이라는 코드들 부터, 이것들을 뭉쳐놓은 코드뭉치인 라이브러리나 Java 그 자체가 API의 개념을 사용하고 있다.

보통은 네트워크라고 한다면 대부분은 인터넷을 떠올리겠지. Rest API 라고 한다.
그렇다면 컴퓨터가 서버에 요청을 보내고 서버가 요청받은 데이터를 컴퓨터에게 보낼때 어떤 규약이나 법칙이 있을것이다. 트래픽을 염두해두고 요청은 몇번만 받겠다부터 시작해서, 인증된 사용자에게만 보내겠다, 데이터를 요청할때는 이러이러한 코드로 양식에 맞춰서 보내라 등등 이런 규칙들을 모두 지켜서 하는것이 Restful API 인것같다...
왜 인것같다냐? API에 대한 지식을 주변인들에게 물어보니 다들 대답이 애매하더라. 자료에 써있던대로였다. 초보자들은 물론이고 현직개발자들 까지도 API에 대해서는 개념 이해가 완벽하지 않을것이다 라고 써있었기 때문이다. 그만큼 경계가 모호한 개념이라 생각한다. 지금 당장 완전히 이해할 수 있을거라 생각하지 않는다. 내가 오늘 이해한것도 분명 잘못알고 있을수 도 있겠지.
국가기관이나 기업들에서 제공해주는 API들을 접해보면 뭔가 알것같기도 하면서 그럼 API가 뭐야? 라고 물으면 또 잘 모르겠단 말이지...역시 외우기 보다는 익숙해져야 할것이다.

아, 오늘부터 스파르타에서 준 1일1로그 책을 읽기 시작했다. 팀원분중에 읽어보기 시작했다고 알려주셔서 잊고있다가 나도 따라 읽기로 했다. 100일 완성 IT 지식이라는데 100일이면 내가 취업시장에 뛰어들 날이겠구나...

금요일부터 시작해서 다음주인 2주차는 자바 알고리즘 문제푸는 기간이다. 취업때 백엔드는 알고리즘 문제들을 많이 풀어보고 가야한다는 말을 들었기 때문에 열심히 해야겠지. 마음은 앞서는데 머리가 안따라가는게 문제지만...
도저히 처음에 풀려니까 시작도 안되더라. 문제난이도는 그냥 '하'도 아니고 '하하' 인데도 문법이 익숙치 않아서 첫발을 떼기가 힘들었다. 풀어본 문제를 다시 풀어볼려고 하니까 익숙한 코드들이 반복되다 보니까 조금은 써지긴했다. 이걸로 확실해진것은 익숙해지는것이 답인것같다. 몰라도 일단 넘어가고 익숙해지면 그때서야 자세히 알아가고 늦지 않을것이다.

오늘은 일요일이지만 조금 쉬려니까 죄책감? 부담감이 짓누르는것 같더라. 피곤해서 좀 자려다가 API 찾아보고 6시가 되어버렸다... 이제 알고리즘 공부하다가 자버리면 일요일도 끝이구나.
차라리 이게 낫다. 부담감 느끼면서 쉬어봤자 제대로 안쉬어지고, 월요일에 괜히 혼자 걱정하면서 낑낑댈바에야 몸을 좀 고생시키는게 차라리 편하다.

0개의 댓글