본문 바로가기

전체 글143

[백엔드] Django logfire -> sentry logging 일단 연결은 해놨는데 하나하나 로깅을 하는게 처음이라서 어떻게 해야할지 감이 잘 잡히지 않았다.그래서 일단 공식문서를 정독하고 있었는데 fastAPI를 지원하고 있다는 사실을 파악했다..!그리고 그 쪽 읽다가 왜 django 는 지원 안해주는 거지 하고 고민하고 있었다가 나중에 검색창에 쳐봤다가 발견해버리고 말았다.!https://docs.pydantic.dev/logfire/integrations/django/?h=django Django - Pydantic Logfire Documentation docs.pydantic.dev지원해주고 있다!!그래서 일단 해본다!!pip install 'logfire[django]'설치한 후에 requirements 에 넣으려고 했는데 Logfire 의 뭔가 하위 패.. 2024. 8. 8.
[백엔드] LLM 적용기 + python ruff 적용기 LLM 적용기LLM 을 적용해야한다.더보기{"role": "system", "content": """너는 퍼스널 매니저야. 너가 하는 일은 이 사람이 할 이야기를 듣고 약 1시간 정도면 끝낼 수 있도록 작업을 나눠주는 식으로 진행할 거야. 아래는 너가 나눠줄 작업 형식이야. { id : 1, content: "3학년 2학기 운영체제 중간고사 준비", start_date="2024-09-01", end_date="2024-09-24"} 이런 형식으로 작성된 작업을 받았을 때 너는 이 작업을 어떻게 나눠줄 것인지를 알려주면 돼. Output a JSON object structured like: {id, content, start_date, end_date, order, is_completed, child.. 2024. 8. 8.
[백엔드] django logfire 연결 + test 작성기 django Logfire 적용하기로그파일을 작성했는데 멘토님 의견으로 logfire 를 적용하는게 낫다는 의견을 받았다.원래는 잘 몰랐는데 로그로 많은 내용들이 들어가는 걸 알았다. 나는 response 데이터를 넣은 것 부터가 너무 많은 내용을 로그에 담은 건가 했는데 멘토님의 의견을 들어보니 오히려 너무 적게 들어갔다는 피드백을 받았다.그리고 logfire 나 sentry 를 적용하는 것에 대한 추천을 받았다.일단 우리 팀은 sentry 를 적용할 예정인데 지원금을 받기 전까지는 일단 무료인 서비스들을 사용해볼 예정이다.그래서! django 에서 logfire 를 적용해 볼 예정이다.일단 logfire에 깃으로 회원가입을 진행한 후 프로젝트를 생성하였다. 이런식으로 잘 작성되어있어서 따라했다.이런식.. 2024. 8. 7.
[백엔드] 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.