본문 바로가기

분류 전체보기140

[백엔드] logging 및 api 관련 기록 logging 에서 일단 받도록은 만들어놨었다. 이제 프론트가 어느정도 가동이 가능해서 프론트로 보내고 로깅을 찍어봤다.더보기todos.logging_middleware ERROR 2024-08-05 11:34:03,245 logging_middleware 57976 6124974080 Request : /auth/api/token/verify/, POST, 401, user_id : None, id : Nonetodos.logging_middleware INFO 2024-08-05 11:34:18,328 logging_middleware 57976 6124974080 Request : /auth/login/google/, POST, 200, user_id : None, id : Nonetodos.log.. 2024. 8. 5.
[백엔드] fat model 적용기 2 + 테스트케이스(pytest) 어제 다 못한 delete 를 완료했다.일단 의문점이 생겼는데 카테고리를 삭제하면 안에 포함된 모든 투두를 다 지워야하나? 아니면 카테고리를 이전할 수 있도록 해주어야 하나? 아니면 아무 카테고리도 없는 곳을 만들어야하나? 난 일단 살려놓는 방식으로 선택했는데 나중에 mvp 가 끝나면 이야기해봐야 할 것 같다.  이제 post 를 진행해볼예정이다!일단 이렇게 생겼다.order 에 대한 validation 진행, start_date와 end_date 가 들어왔다면 end_date 가 start_date 보다 같거나 나중 날짜가 맞는지 확인의 과정이 포함되어 있다. 이런 validation 과정을 serializer의 is_valid 함수를 통해서 구현해볼 예정이다. 그런데 일단 그전에 테스트를 먼저 작성해.. 2024. 8. 2.
[백엔드] manager 넣어보기! Fat Models 를 잘 써보자!일단 https://www.softkraft.co/django-best-practises/ 이 링크를 참고했을 때 느낀점은 다음과 같다.-> 우선 manager 를 통해 view 에 있는 코드를 잘 관리하도록 바꿔보자!, view 에 너무 많은 로직이 들어갔다...그래서 후보군 model methods, classmethods, properties, manager methods 인데.. view 가 아닌 manager 나 models 에 로직을 넣는 방식으로 가도록 코드를 개편해보겠다!!일단 내가 작성한 코드는 전부 이렇게 views.py 에 모든 로직이 들어가있다.바꿔보자!! https://docs.djangoproject.com/en/5.0/topics/db/mana.. 2024. 8. 1.
[백엔드] django chatgpt prompting + api 제작기 우리 서비스에서 사용할 상위 투두를 보고 하위 투두를 자동으로 생성해주는 걸 만들어볼거다!!근데 아직 지원을 못 받은 상태라 일단 내 지피티랑 얘기를 나눠볼 생각이다. 일단 이런 식으로 진행해볼 예정이다. 엄 예시와 너무 똑같이 나와서 좀 슬프긴한데 일단 대략 이런식으로 진행해 볼 것이다! 데이터가 없으니 어쩔수없징..더보기자 너는 퍼스널 매니저야.너가 하는 일은 이 사람이 할 이야기를 듣고 약 1시간안에 끝낼 수 있도록 작업을 나눠주는 식으로 진행할 거야.아래는 너가 나눠줄 사람이 지금까지 해왔던 작업과 나눈 작업이야.{ id : 1, content: "3학년 2학기 운영체제 중간고사 준비", start_date="2024-09-01", end_date="2024-09-24"}- { "content":.. 2024. 8. 1.
[백엔드] 코드의 미를 위하여 (fat model) + django logging Fat models 에 대한 고찰_ 멘토님께서 백엔드의 코드에 대해 피드백을 주셨다! 팀원분과 얘기해 본 결과 views.py 에 모든 로직이 들어가있어 너무 방대해진 것이라는 의견에 도달했다! (맞는지는 아직 모르겠다) 그래서 한번 보내주신 링크를 참고해서 공부를 진행해봤다. 참고 자료https://www.softkraft.co/django-best-practises/ + Two scoops of Django 3.X (https://product.kyobobook.co.kr/detail/S000001033038) 일단 일차적으로 Fat models 에 대해 매우 라이트하게 읽었을 때 배운 점1. business logic 을 모델에 넣을 수 있다!(예를 들어 create 하는 함수나, validatio.. 2024. 7. 31.
[백엔드] django serializer 관련 여러가지 요청사항 지금까지 보내왔던 리퀘스트 방식이 방식을 보고 프론트에서 요청이 들어왔다. subtodos나 todos가 아닌 children으로 보내달라는 요청이였다.그래서 아래의 2가지 방식으로 일단 적용해봤다.https://gaussian37.github.io/python-rest-nested-serializer/ DRF에서 Nested Serializer 사용법gaussian37's bloggaussian37.github.io 일단 아래의 블로그를 참고해서 위의 subtodos 를 작성했는데.. 모델을 바꾸지 않는 선에서 serailizer 의 subtodos 를 모두 children으로 바꿔본다. -> 실패, 아예 children 이 없는 형태로 보임model에 있는 Related_name을 바꾸고 한번 도전해.. 2024. 7. 30.
[개발관련] Lexorank 적용기 종장 히히 validation 을 완료했다!!근데 백엔드에서만 오더를 계산하는 것도 좋을 듯 보인다고 하시는 피드백을 들었다그래서.. 열심히 찾았다..https://github.com/DibyaranjanSathua/lexorank/tree/main GitHub - DibyaranjanSathua/lexorank: LexoRank using PythonLexoRank using Python. Contribute to DibyaranjanSathua/lexorank development by creating an account on GitHub.github.comhttps://github.com/hhk7734/lexorank.py GitHub - hhk7734/lexorank.pyContribute to hhk.. 2024. 7. 28.
[백엔드] lexorank 적용기 4 (mono 실패) 어제 했던 걸 바탕으로 validation 을 진행하려 한다! 일단 적당히 되었던 코드를 변형해서 validation을 만들어줬다간단하게 validation 하는 코드! 자 이제 돌리려는데 도커에서 계속 오류가 떴다.확인해보니 mono 깔라고 해서 아래의 링크를 따라 설치했다.https://www.mono-project.com/download/stable/#download-lin Download - Stable | Mono1 Add the Mono repository to your system The package repository hosts the packages you need, add it with the following commands. Note: the packages should work .. 2024. 7. 25.
[백엔드] django serializer 문제 상황우리 모델의 경우 대략 아래와 같은 모델이다1. 책장이 있다.2. 책이 있다 (책장의 아이디를 가진다)3. 페이지가 있다 (책의 아이디를 가진다) 이런 상황인데 get요청을 보내는 경우 문제가 있었다일단 나는 nested로 대략 아래와 같이 보낸다{ 책장 아이디 : 1 책들 : [ 책 아이디 : 1 페이지들 : [ 페이지 아이디 : 1 ], 책 아이디 : 2 .... ]근데 이 경우에 문제가 있었다..뭔가 특정 조건인 친구들이 나오면 안되는데, 계속 나오는거다...그래서 일단 필터를 걸었다! 그랬더니 문제는 책장은 필터에 잘 걸리는데 책들과 페이지들은 해당 필터가 안걸리고 나온다!! 그.. 2024. 7. 24.