😂 [팀플] 인스타그램 클론코딩
😭 발제
- 개인별 프로젝트로 진행했던 인스타그램 클론코딩의 결과물에서 더 나아가 인스타그램의 추가적인 기능들을 구현하는 팀 프로젝트를 진행하게 되었다.
😭 S.A
- link
https://velog.io/@nikevapormax/S.A-insta-clone-coding
😭 협업을 위한 깃헙 데스트탑 사용법
- 팀의 협업을 위해 organizatoins
생성
- 팀원들을 초대한 후 repository
생성
- 깃헙 데스크탑과 깃헙의 repository 연결
- 상단 사진의 초록색
Code
버튼을 누르면 해당 repository의 url을 얻을 수 있다. 해당 url을 깃헙 데스크탑에 입력해 연결한다.
- 깃헙과 연결된 로컬 파일에 내 파일 업로드
- 깃헙 데스크탑과 깃헙을 연결하면서 파일을 하나 선택하게 되는데, 해당 폴더로 내가 코딩한 파일을 올리면 깃헙 데스크탑에 자동으로 업로드가 된다.
- 오른쪽 화면에서 내용을 확인한 후, 커밋 메세지를 작성하고 커밋을 진행한다.
- 커밋을 진행한 후, 푸시를 진행하게 되면 나의 파일이 깃헙(저장소)에 저장된다.
- 만약 팀원이 푸시한 내용이 있거나, 파일의 내용이 수정되어 최신화가 필요한 경우에는 패치를 진행하고 풀을 진행해 업데이트를 진행하면 된다. (말로하면 어려워보이지만 생각보다 버튼들이 가시성 있게 나열되어 있어 순서만 알고 버튼을 누르면 자동으로 처리가 된다.)
- 충돌 시 해결 방안
- 가장 좋은 방법은 팀원과의 소통을 통해 충돌을 피하는 것이다. 팀원 또는 내가 먼저 파일을 푸시하고 그 다음 사람이 패치와 풀을 진행해 자신의 파일에 변경사항을 업데이트한 후 최종적으로 서버에 푸시하는 것이다.
- 충돌이 난 파일에서 충돌로 인한 메세지가 써져 있는 부분을 수정해 다시 올린다.
😭 비밀번호 알고리즘
- hashlib를 사용
- sha-256 알고리즘을 사용하며, 해당 알고리즘을 통해 비밀번호를 생성하게 된다면 복호화는 불가능하다.
- 한 자리를 입력하든 여러 자리를 입력하든 sha-256 알고리즘을 통해 나오는 암호화된 결과물의 길이는 동일하다.
import hashlib
pw = input()
print(pw)
hashed_pw = hashlib.sha256(pw.encode('utf-8')).hexdigest()
print(hashed_pw)
- jwt 사용
- jwt는 선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 인터넷 표준으로, payload는 몇몇 클레임 표명을 처리하는 JSON을 보관
- token은 비공개 시크릿 키 또는 공개/비공개 키를 사용하여 서명되며, 최근 토큰을 사용한 로그인의 경우가 많아졌다. (카카오톡을 통한 로그인 등)
import jwt
import datetime
SECRET_KEY = 'SPARTA'
payload ={'id': 'daugeun',
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=1800) }
token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
print(token)
decoded_token = jwt.decode(token, SECRET_KEY, algorithms=['HS256'])
print(decoded_token)