WIL

kim JeongWon·2022년 8월 7일
0

WIL

목록 보기
1/2

<이노베이션 캠프 첫째 주.>

Git공부하기.

Git으로 할 수 있는 일 :

1.버전관리.
2. 작업 단위 나누기.
3. 협업해서 하나의 프로젝트를 만드는데 유용하다.

➡ 한마디로 작업 히스토리를 볼 수 있다. 따라서 에러 수정도 쉽다.

Git 용어

commit(커밋) : 현재 프로젝트 상태 저장.( 누가, 언제, 현재 프로젝트 파일 내용) + 이전 프로젝트 상태와 현재 프로젝트 상대의 차이를 자동으로 알려줌. (빨간색: 삭제 내용, 초록색: 추가된 내용.)

Github : Git의 원격 저장소 + Git으로 할 수 있는 커뮤니티 기능 서비스.
sourcetree : Git 도구.

<팀플하면서 배운 용어.>

PR : pull request(PR). (Git Hub 용어)
➡branch를 만들어 pull했을 때, 바로 합쳐지지 않고 PR을 보낸다.
➡PR이 승인 되어야 defalt branch에 변경된 git이 업데이트 된다.

[새로운 branch생성 -> 변경된 파일 commit -> git push origin{branch} -> local에서 만든 branch이름 입력 (remote에서도 같은 이름의 branch 생성됨.) => Git Hub에 PR도착! => PR accept => master에 merge하기.]

.env : 환경변수 파일.



# 로그인 기능 구현하기#

Bulma와 jinja2를 이용하여 구현.

패키지 설치(3가지) :
flask, pymongo, pyJWT
[directory -> 'static, templates' 생성.]

templates :'jinja2' templates 엔진 사용.
['설정' -> 'template language'( 찾기 너무 어려웠네...
'언어 및 프레임 워크'->'템플릿 언어'에서 변경!!)를 'jinja2'로 변경.]

Bulma : CSS 프레임 워크.

Bootstrap과 다른점 : 순수 css프레임 워크. 커스터 마이징이 쉬움.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Bulma 쓰는 법 연습하기</title>          
        <!-- Bulma CSS 링크 -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css">
    </head>
    <body>
    </body>
</html>

인증방식.(보안)

서버에 접속할 때, 필요한 입장권 같은 존재.
'부여 받은 KEY를 어디에 저장할 것인가?'

-Token : '클라이언트'에서 관리.
➡'쿠키' or 'localstorage'에 저장.

ex) JWT
클라이언트가 token을 가지고 있다가 서버에 요청을 할 때 이 토큰을 넘겨준다.

-Session : '서버'에서 관리.

JWT ( JSON WEB TOKEN )

서버와 클라이언트 간 정보를 주고 받을 때, Http 리퀘스트 헤더에 JSON 토큰을 넣은 후, 서버는 별도의 인증 과정없이 헤더에 포함되어 있는 JWT 정보를 통해 인증한다.

JWT는 세 파트로 나누어지며, 각 파트는 점으로 구분하여 "xxxxx.yyyyy.zzzzz" 이런식으로 표현한다.
'헤더 (Header), 페이로드 (Payload), 서명 (Sinature)'으로 구성.

  1. Header는 토큰의 타입과 해시 암호화 알고리즘으로 구성.
    첫째는 토큰의 유형 (JWT)을 나타내고, 두 번째는 HMAC, SHA256 또는 RSA와 같은 해시 알고리즘을 나타냄.
  2. Payload는 토큰에 담을 클레임(claim) 정보를 포함.
    Payload 에 담는 정보의 한 ‘조각’ 을 클레임이라고 부르고, 이는 name / value 의 한 쌍으로 이뤄짐. 토큰에는 여러개의 클레임 들을 넣을 수 있음.
    클레임의 정보는 '등록된 (registered) 클레임, 공개 (public) 클레임, 비공개 (private) 클레임'으로 세 종류가 있다.
  3. Signature는 secret key를 포함하여 암호화되어 있다.
    출처 : https://i1.wp.com/www.opennaru.com/wp-content/uploads/2018/08/jwt_process_image_v2.png?zoom=1.25&fit=1920%2C1080

API

API란 무엇인가?

: Application Programming Interface.
서버와 데이터베이스에 대한 출입구 역할.
(쉽게 말해 은행의 창구. 허용된 사람들에게만 접근성을 부여해준다.)

출처 : https://blog.wishket.com/wp-content/uploads/2019/10/API-%EC%89%BD%EA%B2%8C-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0.png

profile
개발자의 길로 가쟈아~

0개의 댓글