1주차 WIL

김도엽·2022년 5월 15일
0

항해

목록 보기
1/5
post-thumbnail

_FIN

기다리던 첫 주가 시작 되었다.
미니 프로젝트 한개를 완성하게 되었고, 팀 배정이 되었다.
첫 인사와 함께 팀 회의에서 어떤 프로젝트를 해야할지 의논하게 되었고,
내가 발의한 아이템은 내가 평소 좋아하던 서핑에 관련해서 각 지역의 날씨정보를 보여주고, 새롭게 내가 추천하는 장소가 있으면 추천 할 수 있는 웹을 만들자였는데 팀원분들이 선택해주셨다.
그리고는 팀원분들의 독려에 바로 기능 정리에 들어갈 수 있었다.

필요한 기능은 크게 아래와 같다.
1. JWT 토큰을 이용한 회원가입/로그인 기능
2. 공공데이터 기상청 API를 이용하여 실시간 날씨정보 Update
3. 게시글 저장 기능
필요한 페이지
1.Index (Main Page)
2.한국 주요 서핑 장소 Page
3.추천 게시판 Page


프로젝트 이름은 FIN[끌] 이다. 서핑 데크 조향을 담당하는 FIN 을 90도 세우면 한글로 '끌'이고, 우리 웹 사이트의 정보로 사용자를 Fin 처럼 서핑 장소로 이'끌'어드린다는 의미이다.

이렇게 프로젝트 큰 틀을 정하고 이제 뼈대를 만들었다.

  1. Index Page

  2. 서핑 장소 page

  3. 서핑 장소 디테일 페이지

  4. 추천 게시판 Page

  5. 추천 게시글 디테일 Page

여기서 내가 맡은 부분은 게시글 저장->디테일 페이지, 댓글이고,
프로젝트 진행하면서 사전 프로젝트를 해본 경험이 많은 도움이 되었다.

로그인/회원가입을 구현할 수 있는 방법 중 우리는 JWT방식을 사용하게 되었는데,
JWT를 간단히 들여다보자.

JWT(Json Web Token)

인증에 필요한 정보들을 Token에 담아 암호화시켜 사용하는 토큰

JWT는 서명된 토큰이고, 공개/개인 키를 쌍으로 사용하여 토큰에 서명할 경우 서명된 토큰은 개인 키를
보유한 서버가 이 서명된 토큰이 정상적인 토큰인지 인증할 수 있다

이러한 JWT의 구조 때문에 인증 정보를 담아 안전하게 인증을 시도하게끔 전달할 수 있는 것

JWT는 각각의 구성요소가 점(.)으로 구분이 되어있으며 구성 요소이다

  • Header

  • Payload

  • Signature

아래처럼 각각의 구성 요소가 .으로 구분되어있는 형태

xxxxx.yyyyy.zzzzz




다음으로 API에 대해서 살펴보자

API

프로그램들이 서로 상호작용하는 것을 도와주는 매개체

  • 서버 <----> 데이터베이스에 대한 출입구
  • 접속 표준화

API 유형

  • Private API
    • 내부 API로서 회사 개발자가 자체 제품과 서비스를 개선하기 위해 내부적으로 발행, 따라서 제 3자에게 노출되지 않음
  • Public API
    • 개발형 API로서, 모두에게 공개. 누구나 제한 없이 API를 사용할 수 있음
  • Partner API
    • 데이터 공유에 동의하는 특정인들만 사용 가능. 비니지스에서 사용되는 편, 종종 파트너 회사간의 소프트웨어 통합에서 사용

API 작동박식 4가지

  • SOAP API
    • 단순 객체 접근 프로토콜 사용, 클라이언트와 서버는 XML을 사용하여 메시지를 교환
      과거에 더 많이 사용되었으며 유연성이 떨어지는 API
  • RPC API
    • 원격 프로시저 호출
      클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송
  • Websocket API
    • JSON 객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 API
      WebSocket API는 클라이언트 앱과 서버 간의 양방향 통신을 지원하고
      서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적이다
  • REST API
    • 웹에서 볼 수 있는 가장 많이 사용되고 유연한 API.
      클라이언트가 서버에 요청을 데이터로 전송, 서버가 이 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환

이 밖에 너무도 많은 공부를 해야했다.
일단은 필요한 정보만 이해한 뒤 차차 다시 공부하기로 하기로 했다.
프로젝트 진행을 하며 로고도 만들어보고, CSS부분도 작성해보고 했지만 아직 공부해야 할 부분이 너무도 많은 것 같다.

팀원분들과 깃허브로 같이 작업을 하는 중이었는데 어느 이유에선지 코드도 날라가보고.....
시간이 많지 않아서 서둘러 작업하다보니 놓치는 부분도 있고.....
하지만 다행히 팀원분들이 좋은 분들이셔서 모르는 부분 있으면 팀원들에게 물어도 보고, 팀원분들이 모르는 부분이 있으면 알려도 드리고 하면서 한 분도 빠짐 없이 열심히 하시는 모습에 조금 더 힘내서 완료하게 되었다.

조금씩 조금씩 꾸준히 공부하다보면 조금 더 조금 더 실력이 늘겠지!

첫 WIL를 작성해보았는데 너무 두서없이 진행된 것 같다
다음 WIL은 조금 더 정리해서 작성할 수 있도록 하루하루마다 내용 정리를 어느정도 해두어야겠다.

이만 오늘도 화이팅 !!!

profile
즐거운

0개의 댓글