PyTest 라이브러리를 활용해 이 때까지 개발했던 서비스 코드들에 대한 테스트 코드를 작성해보겠습니다. 서비스 코드에 몇 가지 변경사항이 있으니, 그대로 따라해보실 분들께서는 레포지토리의 test-puzzle_auth 브랜치를 참고해주시길 바랍니다. 1. Pyte
이번 포스트에서는 FastAPI 서버에 회원가입/로그인과 소셜 로그인을 구현하고 JWT로 인증하는 기능을 작성해보도록 하겠습니다. JWT와 쿠키를 사용하는 이유 참고 링크 잘 정리되어있는 블로그 글이 있어서 링크를 걸어두도록 하겠습니다. 프로젝트 구조 변경 역할
지난 포스트에서는 십자말풀이 게임판을 만드는 작업까지 진행했습니다. 이번 포스트에서는 생성된 십자말풀이 게임판을 DB에 삽입하고, 이를 검색해보는 작업까지 진행해보도록 하겠습니다. DB에 게임판 삽입 퍼즐과 정답을 저장할 테이블 구조를 먼저 정의해보겠습니다. Pu
작업 레포지토리 : https://github.com/fnzksxl/word-puzzle지난 번 포스트에서 단어 데이터 추출 후 데이터베이스 삽입까지 했습니다.이번 포스트에서는 단어 데이터들을 데이터베이스에서 선택해 십자말풀이 퍼즐을만들어보도록 하겠습니다.시작
지난 번에 정제했던 데이터를 데이터베이스에 삽입해보도록 하겠습니다.프론트엔드까지 구현해볼지는 모르겠지만 백엔드 서비스 형태로게임을 제공해보기 위해서 FastAPI 프레임워크를 사용하기로 했습니다.MySQL이 설치가 되어있다는 전제하에 진행해보겠습니다.코드 전역에서 사용
십자말풀이 게임을 한 번 토이프로젝트로 진행해보고자 합니다.게임을 진행하려고 할 때마다 새로운 게임판을 생성해주는 형식을 취해보기 위해단어 데이터들을 수집해서 데이터베이스에 넣어두려합니다.국립국어원의 우리말샘의 사전 데이터를 로우 데이터로 삼았습니다.그 중 JSON 형
개발중인 서비스에서 이메일 인증 서비스를 한 번 도입해보기로 했다. 널리 쓰이는 Gmail을 통해서 보내볼거고, 꽤나 오래 걸리는 작업이므로 Celery에 Task를 보내 백그라운드에서 처리할 것이다. Gmail 설정하기 장고와 같은 외부 앱에서 Gmail을 사용하
초간단 구현 간단하게 포스트 디테일 페이지로 유저가 접근할 때마다 포스트의 조회수를 1씩 늘려주는 방법이 있다. 문제점 API에 접근할 때마다 조회수를 무조건 올려주게 되어 있으므로 유저가 마음만 먹으면 무한정으로 조회수가 올라간다! 어떻게 해결해볼 수 있을까?
프로젝트를 진행하던 도중, 데이터베이스의 blob 필드를 사용해야 할 일이 생겼습니다.처음에는 클라이언트가 작성한 글을 저장하려고 할 때 장고에서 CharField로 생성한 필드에 저장하려고 했으나, CharField는 max_length를 반드시 명시해줘야 하기 때문
프론트와 로그인 기능 관련해서 API 연동 중에 도메인이 다름에 따라서 쿠키가 전달이 잘 안 됐다.Chrome기본적으로 크롬에서는 쿠키의 samesite 설정을 "Lax"로 해놓기 때문에 현 상황에서는 samesite를 None으로 지정해줄 필요가 있다!빠르게 구글링을
이번에 새로운 프로젝트를 진행하고 있습니다! FastAPI를 사용하다가 장고도 한 번 써보고 싶은 마음에 무작정 돌입하게 됐는데, 건드는게 생각보다 쉽지 않아 여기저기 공부하면서 하고 있네요.. 장고가 처음이다보니 부족한 지식으로 잘못 기술되거나 보셨을 때 개선의 여지
이번 글을 마지막으로 학교에서 진행했던 캡스톤 디자인 프로젝트 관련 포스트를 마무리 짓도록 하겠다! Trouble Shooting 1. 백엔드..? 학부생 수준에서 AI를 조금 더 깊이 알아봤다고 할 정도의 얕은 지식과 더불어 백엔드 웹프레임워크에 대한 지식은 전
Test 코드 작성에 앞서 - 환경 설정 변경 테스트는 서비스에 활용되는 DB가 아닌 TEST용 DB를 사용하는 것이 좋다. 따라서, 테스트와 서비스 상황을 구분해서 환경 설정을 따로 해주도록 하자. config.py 환경설정을 좀 더 깔끔하게 해보고 싶어서 py
방명록 Database Table 생성 models.py message: 방명록에 남길 메세지 message_owner: 방명록에 남길 이름 owner_id: (외래키) 추가한 회원의 식별 ID 기능 controller.py 1. 방명록 작성 GuestBo
번역된 문장 관리 Database 생성 models.py 사투리 표준어 영어 중국어 일본어 (외래키) 추가한 회원의 식별 ID 기능 controller.py service.py 1. TsItem 추가 2. TsItem들 반환 3. TsItem 삭제 u
지난 포스트에서는 회원가입 및 로그인 부분을 진행했다. > 이번에는 사투리를 번역하는 엔드포인트를 작성해보자. 기능 개발에 앞서 - 몇 가지 변경점이 있다. 1. user/utils.py 에 함수 추가 토큰 정보를 추출한다. JWT 토큰을 서버의 SECRET_K
회원가입 및 로그인 왜 회원가입이..? > 경상도 사투리를 번역해서 보여주는 웹사이트에 회원가입 및 로그인 기능이 반드시! 필요하냐라고 물어보면 자신있게 예쓰라고 대답하긴 힘들지만, 추가하고자 하는 기능 중에 하나(아직 구현하지 않았다)가 사용자의 피드백을 통해서 추
뒤에 내용들을 블로그에 게시하기 전에, 너무 코드들이 깔끔하지 못하고 더러워보여서 미약하게나마 리팩토링을 진행한다고 조금 글이 늦어졌다. Pre-Commit Pre-Commit이란? 깃허브와 같은 코드 저장소에 커밋을 수행하기 전에 포맷팅이나 린팅이 잘 되어 있는
BACKEND 지난 번 게시글까지 해서 프로젝트에 사용될 AI모델을 학습하였다. 이제부터는 AI모델을 파이썬 백엔드에 붙여서 간단하게 API화 해보도록 하자. FastAPI 이번에 내가 선택한 웹프레임워크는 FastAPI이다! Django를 사용해서 이번 프로젝트
학습 모델 파라미터 설정 모델 학습 코드 예전에 작성 했던 코드들을 다시 되돌아보며 velog에 작성하고 있는데, 왜 이랬지? 싶은 부분들은 수정해서 업로드하고 있지만 기능적으로 빠진 부분들은 당장 추가하기에 어렵다. 또한 모델 학습 중 Evaluation 되