본문 바로가기

DEV235

Web 개발 :: DRF 리뷰 _TIL#50 ■ JITHub 개발일지 50일차 □ TIL(Today I Learned) :: Django Rest Framework 코드 리뷰 - 유저 정보 유효성 검사(validation) - UserSerializer에서 비밀번호를 재확인하기 위해서 repassword라는 변수를 생성했다. - 임의의 인자를 추가로 받기 위해서 DRF에서 제공하는 extra_kwargs를 통해 error_messages를 지정해주었다. 항목은 required, invaild, blank를 지정했다. --------------------------------------------------------------------------------------- class Meta: ... extra_kwargs = { # write_on.. 2022. 11. 15.
Web 개발 :: DRF 리뷰 _TIL#49 ■ JITHub 개발일지 49일차 □ TIL(Today I Learned) :: Django Rest Framework 코드 리뷰 - 지난 프로젝트에 대한 DRF 코드리뷰를 훑어보는 작업을 진행했다. - 유저 부분부터, 게시글, 댓글에 대한 코드를 살펴보았다. - 아래 코드는 회원정보를 수정하는 view이다. 정보수정시 put방식을 사용하기 때문에 함수 이름도 put으로 지정하였다. - 여기서 partial = True는 정보 수정시 모든 정보가 아니라 부분적으로 수정이 가능토록 하기위해 사용되는 옵션이다. # 회원정보 수정 def put(self, request): user = get_object_or_404(User, id=request.user.id) if user == request.user: s.. 2022. 11. 14.
Web 개발 :: AWS 인스턴스에 도커(Docker) 셋팅 _TIL#48 ■ JITHub 개발일지 48일차 □ TIL(Today I Learned) :: AWS 인스턴스에 Docker 셋팅 - EC2에서 인스턴스를 생성한 후 터미널과 연결할 때에는 아래와 같은 명령어를 사용한다. 여기서 ubuntu는 EC2에서 인스턴스를 생성하면 기본적으로 생성되는 계정이다. pem파일 경로는 터미널에 저장된 pem 파일을 drag&drop하면 자동으로 입력된다. - 첫 연결시에는 아래와 같이 yes/no를 묻는 창이 나온다. yes를 해서 넘어가면 된다. (이후 연결시에는 나오지 않는다.) ssh -i ubuntu@ - 서버에 접속하면 apt 업데이트를 먼저 해준다. sudo apt update - 아래 명령어로 도커를 설치할 수 있다. sudo apt install docker.io -y.. 2022. 11. 11.
Web 개발 :: Django DRF Test Code 활용하기 Django DRF Test Code 활용하기 01. 테스트 코드 - Django에서 startapp을 통해 만들어진 앱에는 test.py라는 파일이 자동으로 생성된다. 이 파일에 임의의 테스트코드를 적고 터미널에서 아래와 같이 입력하면 테스트 결과를 출력해준다. python manage.py test - 임의로 아래와 같이 test.py에 작성하고 위의 명령어를 통해 test하면 결과를 출력해주는 것을 확인할 수 있다. # test.py from django.test import TestCase # Create your tests here. class TestView(TestCase): def test_two_is_three(self): self.assertEqual(2,3) def test_two_i.. 2022. 11. 9.
Web 개발 :: 프로젝트 완료 및 KPT 회고록 ■ JITHub 개발일지 47일차 □ TIL(Today I Learned) :: 추천 서비스 프로젝트 완료, KPT 회고 - 팀 프로젝트를 잘 마쳤다. 팀 프로젝트를 마무리하면서 팀원들과 아래와 같이 회고록을 작성하여 공유해보았다. ※ 손상훈님 😀 - KEEP : 하루에 2번 회의시간 정한 것. : Github를 이용해서 협업한 점 - PROBLEM : 회의할 때 서로 말이 많이 없던 점( 말이 다들 적어서 화났거나 걱정이 많아보임.) : 기능별로 branch를 잘 나눠서 협업하지 못한 점 : 날,시간대비 프로젝트 진행 높낮이 조절이 부족한 점 - TRY : 회의할 때 왠만하면 마이크를 켜기. : 각자 파트별로 branch를 나누고 PR할 때 전부 댓글을 달고 확인하면 merge를 하기. : 프로젝트의 .. 2022. 11. 8.
Web 개발 :: Django rest framework, 추천 시스템 _TIL#46 ■ JITHub 개발일지 46일차 □ TIL(Today I Learned) :: 파이썬 Django Rest Framework, Front-end, 추천서비스 기능 구현 - html 프론트엔드 작업을 할 때 전날과 같이 여전히 버튼을 눌렀을 때 로드하는 데 문제가 있었다. 버튼은 a태그이거나, button으로 구성했었다. 또, 링크는 onclick을 통해 함수를 호출하거나, href를 통해 템플릿을 불러왔다. 버튼01 버튼02 - 실행했을 때 콘솔창을 보면, 새로 페이지를 로드할 때 전혀 변화가 없었고, F5키를 누르거나, 주소창에 url을 다시 입력 후 로드할 때에 동작하게 되었다. 아마도 자바스크립트 문법 또는 템플릿과의 충돌일 가능성이 높은데 정확하게 어떤 부분인지는 확인하지 못했다. 하지만 아래 .. 2022. 11. 8.
파이썬/머신러닝 웹 프로그래밍 :: 11월 첫째주 WIL #10 ■ 개발일지 WIL #10 1. FACTS - Django Rest Framework(DRF) 프로젝트 진행 : Django Rest Framework 강의를 마무리하고 추천서비스 프로젝트를 진행한다. : 추천 서비스 주제는 '사용자가 원하는 노래 리스트를 추천하는 서비스' 이다. : 추천받은 노래는 플레이리스트로 관리할 수 있다. : 이번에는 프론트엔드와 백엔드를 구분하여 json 파일을 serializer를 통해 변형하여 자료를 전달하는 방식으로 진행될 예정이다. - 추천 시스템 : 추천 시스템을 활용한다. 유저기반 협업 필터링/아이템 기반 협업필터링으로 구분하여 사용한다. : 판다스, 넘파이를 통해 추천시스템을 구성할 때 데이터프레임을 활용하고, 사이킷런을 불러와서 코사인 유사도를 사용하였다. 노래.. 2022. 11. 7.
Web 개발 :: Django rest framework, 추천 시스템 _TIL#45 ■ JITHub 개발일지 45일차 □ TIL(Today I Learned) :: django restframework - 추천 리스트 가져오기 추천리스트를 가져오기 위해 ajax 문법을 사용하였다. 이는 for문을 통해 html 템플릿을 반복하기 위해서였다. 잊었던 부분인데 다시 사용해보니 새록새록했다. function songrecommend() { $('#songs-box2').empty() const song_id = 10 $.ajax({ type:"POST", url: "http://127.0.0.1:8000/songs/"+song_id+"/recommend/", data: {}, success: function (response) { let rows = response for (let i = 0.. 2022. 11. 7.
Web 개발 :: 파이썬 Django Rest Framework(14) _ 피드 DRF(Django Rest Framework)(14) _ 피드 01. 프로필 페이지 - 이제 유저가 팔로우하고 있는 사람들의 글들을 볼 수 있는 Feed 화면을 생성해본다. 먼저 urls.py에 사용할 url과 view를 연결해준다. # articles/urls.py urlpatterns = [ ... path('feed/', views.FeedView.as_view(), name='feed_view'), ... ] - Feed는 로그인 되어있을 때 보여주기 위해 permission_classes를 추가해주었다. - 그리고 for문을 이용해서 사용자가 following하고 있는 사람들을 차례로 돌 것이다. 이 때 사용되는 것이 Q objects인데 참고 링크를 확인해본다. (※ 참고 링크) Q obje.. 2022. 11. 7.
Web 개발 :: 파이썬 Django Rest Framework(13) _ 프로필 페이지 DRF(Django Rest Framework)(13) _ 프로필 페이지 01. 프로필 페이지 - 사용자 프로필 페이지를 만들기 위해 정보를 가져오는 기능을 구현해보려고 한다. - 아래와 같이 view에서 사용할 serializer를 먼저 정의해준다. # users/serializers.py class UserProfileSerializer(serializers.ModelSerializer): class Meta: model = User fields = '__all__' - 정의한 UserProfileSerializer를 사용하여 아래와 같이 ProfileView를 만들어주고 포스트맨으로 확인해본다. # users/views.py class ProfileView(APIView): def get(self,.. 2022. 11. 6.
반응형