본문 바로가기

TIL

내일배움캠프 4기_mypage PUT, flask mySQL 비밀번호 암호화, GIT 19일차 TIL

728x90

내일배움캠프 4기_mypage PUT, flask mySQL 비밀번호 암호화,GIT 19일차 TIL


📌 mypage PUT

mypage 수정

목요일인데, 기능이 많이 구현되지 않아 오전에 회의하고 나는 mypage 수정을 맡기로 했다.

뉴스피드 CRUD는 팀원들이 구현하고 계신다!

 

SIGN UP 했던대로 파일 넣어가게 구현!


📌 flask mySQL 비밀번호 암호화

 

튜터님이 주신 블로그 자료를 참조해 해쉬 비밀번호로!!!

 

    password_receive = request.form['password_give']
    password_hash = hashlib.sha256(password_receive.encode('utf-8')).hexdigest()
지금 해쉬로 변환한 비번이 318aee3fed8c9d040d35a7fc1fa776fb31303833aa2de885354ddf3d44d8fb69
(64Byte?) user table에 password 스키마를 varchar(50)으로 해서 발생한 오류였다!!
 
    sql = """
		insert into user (email, password, name, regdate, filename)
         values (%s,%s,%s,%s,%s)
		"""

    curs.execute(sql, (email_receive, password_hash, name_receive, mytime, save_to))
이게 자꾸 sql저장하려니
pymysql.err.DataError: (1406, "Data too long for column 'password' at row 1") 오류떠서 스키마 변경...
근데도 자꾸 오류떠서 bcrypt로 해야하나 막 이것저것하다가
db가 mysql 테이블있는 db가 아닌 다른 db로 접근해서 작업하고 있었다..
(여러번 수정하다보니...뻘짓 수정을 하다가 해결했다.)
 
CREATE TABLE `user` (
  `user_id` int NOT NULL AUTO_INCREMENT COMMENT '유저ID',
  `email` varchar(200) NOT NULL COMMENT '이메일. 유니크',
  `password` varchar(1000) NOT NULL COMMENT '비밀번호',
  `name` varchar(200) NOT NULL COMMENT '이름',
  `regdate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일자',
  `filename` varchar(1000) DEFAULT NULL COMMENT '파일',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='사용자';

비밀번호 용량 크게 해주면 잘 작동된다.

 


📌 협업할 때, GIT 사용법

 

처음에 나는 BACKEND 쪽 필수 구현기능 안될걸 계속 해야해서 FRONTEND를 아예 신경 안쓰고 작업.

근데 결국에는 GIT를 써야했다.

 

팀원들과 시도!

GIT MERGE

꽤 성공적인 GIT 협업!!

이번 프로젝트를 하면서 어떤 식으로 GITHUB를 활용하는지 조금은 알것같다.


< 정확하진 않지만, git 협업 사용법 >

나는 내 브랜치에서만 작업해야 함!!

1. dev최종적으로 올라온 자료  pull이나 clone

2. dev 브랜치에서 작업하지 말고 내 브랜치로 이동.
(혹시나 잘못하고 add 했다면 stash에다 올려두고 내 브랜치로 이동...)
소스트리 상단 터미널 클릭해 
git bransh -a
모든 브랜치 살펴보고 본인 브랜치로 이동
git branch -t remotes/origin/DSB
git checkout DSB

3.  소스트리에서 내 브랜치로 체크아웃 되어 있는거 확인 후,
탐색기 접근한 상태에서 실행해보고 코드 수정 저장. 
추가하거나 수정한 상황 팀원들한테 보여주고
add-commit-push

4. 깃허브 들어가서 pull request(merge)시도
dev ← 내가 작업한 브랜치

5. 거의 대부분 충돌 발생
소스트리 상단 터미널 이용해
git pull origin develop 해 충돌된 파일 받기

6. 충돌난 부분 수정, 혹시 모르겠으면 팀원들과 상의 후 수정.
다시 저장하고 add-commit-push 한 뒤
github 홈페이지 들어가서 다시 pull request 시도!
충돌 다 제거하면 merge 가능