Home

    [미니터] unit-test 시 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 오류

    1. 간단한 unit-test 구현 후 사용자 생성과 로그인 트윗올리기 등 다른 test의 코드를 작성하고 실행중 오류 발생. 2. 비밀번호도 틀리지 않았는데 이전에도 실행이 됐는데 구글을 쥐잡듯이 뒤졌지만 해결하지 못했음. 부팅도 2번이나 함. 3. root로 들어갈 수 조차 없었음. Mysql user가 2개 있었는데 그 어떤 것도 계속 제목과 같은 에러가 났음. 4. 그 결과 터미널에서도 workbench에서도 sql명령어를 실행할 방법이 없었음. 5. 어떤분이 docker를 사용해서 mysql을 실행한 후 명령창에 접근한 방법을 보았음. -> 참고 : https://velog.io/@uoayop/ERROR-1045-28000-Access-denied-for-user-rootlocalhost-usi..

    [미니터] test - 미니터 unit test

    [미니터] test - 미니터 unit test

    Flask의 엔드포인트는 함수로 구현되어 있어 unit test를 직접 할 수 있는 장점이 있다. 1. test_endpoint.py 파일 생성 2. test용 DB 만들기 3. test 코드 작성 import pytest import config from app import create_app # test할 플라스크 앱 호출 (미니터 API가 있는 코드파일) @pytest.fixture # fixture 데코레이터가 적용된 함수와 같은 인자가 test 함수에 있으면 pytest 알아서 실행 def api() : # fixture의 함수명 app = create_app(config.test_config) app.config['TEST'] = True api = app.test_client() return..

    [미니터] Test - 테스트 자동화

    [미니터] Test - 테스트 자동화

    1. 테스트의 종류 매뉴얼 테스트 : 사람이 직접 실행 장점 : 누구나 직관적으로 계획없이 가능 단점 : 실행 속도가 느리고 시간이 오래걸림. 자주 하기가 힘들고 정확도가 떨어진다. 테스트 자동화 : 반복적이고 자주 실행될 수 있도록 함 2. 테스트 방법 UI test / End-To-End test : 사용자가 실제로 사용하는 방식과 동일하게 시스템의 UI를 통해서 테스트한다. - 단점 : 프론트엔드에서 백엔드 까지 모든 시스템을 실행해야 할 수 있음. 시간이 많이 걸리며 속도도 느리다. 화면 렌더링을 모두 자동화 시키기 까다롭다. -> 자동화에 어려움이 있다. integration test : 테스트 하는 서버를 실제로 실행하며 테스트 HTTP 요청이나 서버 실행 요청 명령 등을 실행하여 테스트 - ..

    인증완료! 프론트엔드 구현!

    인증하는데 계~속 decode에러의 연속.. 덕분에 bcrypt가 암호화 하는 과정도 알게되었고 DB에 어떻게 들어가야되는지 비밀번호 확인은 어떤식으로 하는지도 알게 되었다. 에러는 오히려 공부에 도움이 된다! (하지만 만나고싶지 않다) 지난 프로젝트가 또 생각나는 하루였..다. 토큰과 쿠키에 대해서 잘 와닿지 않았는데 직접 요청 날리고 생성되는거 보니까 신기했다.! http 통신에 대해서 좀 더 알아봐야겠다. 그리고 네트워크도 공부해야지. 프론트엔드는 부트스트랩과 js로 만들어놓은 소스가 있어서 로컬 서버와 연결만 해주었다. 버튼을 계속 눌렀는데 내가 생각했던 것 처럼 되지 않아서 왜그런가 했더니 그냥 엔드포인트로 연결만 해주는거였고 데이터를 불러오지는 못했다. 앞으로 구현하는 방법이 나오지 않을까 싶..

    [미니터] 인증 구현시 ValueError : Invalid salt과 AttributeError: 'str' object has no attribute 'decode'에러

    1. ValueError : Invalid salt 에러 sign-up(회원가입) 후 로그인에서 비밀번호를 확인하는 과정에서 에러가 났다. # sign-in 엔드포인드 # json으로 들어온 값 중 password를 해시해서 DB insert new_user['password'] = bcrypt.hashpw(new_user['password'].encode('UTF-8'), bcrypt.gensalt()) # 사용자 로그인 엔드포인트 password = credential['password'] # 입력으로 들어온 비밀번호 저장 bcrypt.checkpw(password.encode('UTF-8'), user_credential['hashed_password'].encode('UTF-8')) hashpw(..

    [미니터] 인증 - tweet, follow, unfollow에 decorator 추가

    [미니터] 인증 - tweet, follow, unfollow에 decorator 추가

    app.py 코드 수정하기 # 트윗올리기 @app.route('/tweet', methods = ["GET","POST"]) @login_required # 인증 데코레이터 추가 def tweet() : user_tweet = request.json user_tweet['id'] = g.user_id # flask 객체 g tweet = user_tweet['tweet'] if len(tweet) > 300 : return '300자를 초과했습니다', 400 insert_tweet(user_tweet) return " " , 200 # 팔로우 @app.route('/follow', methods = ["GET","POST"]) @login_required # 인증 데코레이터 추가 def follow() ..