본문 바로가기

스파르타코딩클럽

(13)
23.05.01 TIL 오늘은... 1. 개인과제 해설 강의 2. 페어프로그래밍(링크) 를 하고 밀린 강의 내용등을 정리하였다. 1. 개인과제 해설 강의 정리 1-1. 글 상세보기/리스트보기 같이 처리하기 def get(self, request, todo_id=None) default parameter를 이용하면, 해당 인자를 넘겨주지 않는 경우에도 에러가 발생하지 않고 처리가 가능하다. 이후 if문을 이용해 None이면 전체 글의 리스트를 조회하고 todo_id가 자연수이면 해당 글을 상세보기하는 식으로 구현할 수 있다. 1-2. View 작성 팁: 주석과 return response로 시작하기 class UserView(APIView): def post(self, request): ''' 회원 가입(email, passwo..
23.04.25 TIL - 프로젝트 생성 및 기본설정(poetry) 요약: poetry설치, 사용. DRF, simplejwt, cors-headers,yasg 설치 및 초기설정 오늘은 개인과제를 위한 셋팅을 했다. 처음으로 poetry를 이용해 의존성관리 및 가상환경 설정을 하면서 django프로젝트를 만들어 보기로 했다. 1. Poetry 설치 및 사용 1-0. Poetry란.. Poetry는 파이썬 의존성 관리를 위한 툴이다. poetry.lock을 이용해 서로 다른 환경에서도 동일한 패키지를 유지할 수 있고, 자동으로 poetry.toml과 poetry.lock을 갱신하고, 직접 패키지를 만들고(build) 배포(publish)할 수 있는 등 다양한 기능을 제공하며 가상환경도 함께 관리할 수 있는 아주 편리한 툴이다. 기존에 사용하는 requirements.txt..
23.04.24 TIL - DRF: serialize, renderer, response 오늘 한 것 강의를 듣다가 궁금한 것이 생겨서 하루 꼬리에 꼬리를 물고 찾아다녔다. 아래 내용이 오늘자 탐색의 결과이다. 21:00 현재 선발대 강의 내용 정리중 문제: test.py에서 response 까보기 문제상황은 다음과 같다. test.py에서 회원가입 API를 검증하려고 한다. 회원가입 API는 유효한 입력일 때 DB에 유저 데이터를 생성하고 응답에 생성된 유저데이터를 함게 실어 보낸다. 나는 test.py에서 입력된 user의 email과 응답에 실려온 유저데이터의 email을 비교해ㅗ고자 한다. 시도 1. response를 parse 해보기 우리가 까보려고 하는 email값은 response에 존재하며 이는 serializer에 의해 직렬화된 데이터일 것이다. 왜냐하면 우리가 views.p..
23.04.18 TIL (장고에서 PUT 쓰기) 오늘 한 것 DRF 1강 수강 및 정리(링크) 페어프로그래밍 장고에서 PUT 쓰기 def view(request): if request.method=="PUT": data_a=requset.PUT.get("data_a","") 위와 같이 Django에서 PUT을 POST 처럼 써서 데이터를 뽑아내려하면 아래와 같은 에러를 볼 수 있다. 'WSGIRequest' object has no attribute 'PUT' 시도: 헉 장고에서는 PUT 못쓰나바 그럼 걍 포스트 쓰지 모 delete는 get 쓰고 put은 그냥 post 쓰고 실제 DB동작만 맞추면 되지 ㄹㅇㅋㅋ 그렇게 팀 프로젝트를 마치고서 피드백 시간때 회초리 맞았다(비유적 표현이다). 장고에서 PUT을 처리하지 못하는 어쩌구, DRF도 PUT이 ..
23.04.12 TIL 오늘 한 것 팀장 위임받기-내 레포지토리로 옮기기 regex를 이용해 회원가입 기능 보완하기 로그인 기능 만들기 PR조율 및 오류 해결 레포지토리 옮기기 팀장분이 건강 문제로 잠시 떠나셨다. 그래서 이제부터 내가 선장이다. 근데 콜라보레이터를 받긴했는데, 떠난 분의 레포지토리서 계속 PR을 하는건 뭔가 모양새가 영 아니다. 최대한 커밋로그를 살리면서 내 계정으로 옮겨보자. 1. 포크 최신화 원본 레포지토리에 있던 main이 아닌 브랜치이 중요한 변경사항들을 일단 모두 merge하여 main에 반영하였다. 그렇게 하고서 이전에 포크했던 내 계정의 포크 레포지토리를 sync fork로 최신화 하였다. 2. git pull 이후 이전에 원격 레포지토리와 연결되어있던 로컬 레포지토리 main 브랜치에서 변경사항..
23.04.11 TIL(팀플개발일지) 오늘 한 것 팀 과제 기능 구현 팀 과제 기능 테스팅 코딩테스트 풀이 팀 과제 기능 구현: 프로필 조회 및 수정 0. 협업 환경 조성 본격적으로 시작하기 전에 협업을 위한 환경을 조성하기로 하였다. 가상 환경 만들기 및 requirements.txt로 패키지관리 먼저 가상환경(venv)를 생성한 뒤, 가상환경에서 Django를 비롯한 필요한 패키지 들을 설치하였다. 이후 requirements.txt 파일을 이용하여 venv를 깃헙에 올리지 않고도 손쉽게 가상환경 셋팅을 공유할 수 있게 하였다. pip freeze >requirements.txt # 작성 pip install -r requirements.txt #사용 .gitignore 미리 작성 처음부터 우리 팀원들이 사용중인 개발환경을 고려하여 gi..
23.04.10 TIL(팀플 개발일지) 오늘 한 것 팀 프로젝트 회의 개인 과제 해설 수강 학습법 강의 수강(링크) 개인 과제 해설 튜터님이 해주신 개인과제 해설로부터 새롭게 알게된 것들을 정리하였다. 1. makemigrations Vs. migrate 두 명령어는 모델을 DB에 적용할 때 순차적으로 실행되는 명령어다. 전자는 DB에 실제로 아무런 변화도 생기지 않는다. 대신 migrations 폴더에 모델의 변경사항을 반영한 스키마 파일을 생성한다. 스키마는 DB의 논리구조에 대해 정의하는 개념이다. 개체와 속성, 개체와 개체간의 관게와 제한사항을 정의한다.(자세한 것은 추가학습 필요) 마이그레이트: 생성된 변경사항들을 실제 디비에 적용하는 명령이다. 2. filter() Vs. get() 모델.objects.filter 와 .get은 둘..
학습법 특강(04.10) 학습의 어려움 극복하는 방법 늦게 시작한 만큼 열심히 하기: 당연하다. 선택과 집중: 꾸준히 채용공고를 보며 자주 나오는 키워드에 집중하기: 나중가서 하려면 늦다. 좋은 코드에 많이 노출되기(repo, 코드리뷰 등): 좋은 코드에 노출되지 않으면 시행착오가 더 늘어난다. 취업을 위한 필수사항 발전의 증명: 단순히 기술을 써봤다, 구현해봤다가 아니라, 얼만큼 파고들고 얼만큼 집중했는가. 얼마나 완성도 있게 무언갈 해봤는가?? 백엔드의 덕목 > 은 고도화 시킬 여지가 크다. 테스트 코드를 많이 써보자. 2번의 출발점으로 좋다. 테스트하기 좋은 코드를 짜는 습관과도 연관이 있다. 내가 쓰는 툴에 대한 이해: 동작에 대한 깊은 이해는 절대 낭비가 아니다. FAQ AI로 인한 개발 취업 시장의 변화: AI로 인해..