본문 바로가기

전체 글86

[TIL]내일배움캠프- DRF , pagination 기본적인 기능들은 다 구현을 성공했는데 Pagination부분에서 시간이 많이 걸렸다. Pagination 페이지를 호출해 주는 것인데 밑에와 같이 JSON형식으로 보여준다. HTTP 200 OK{ "count": 1023, "next": "https://api.example.org/accounts/?page=5", "previous": "https://api.example.org/accounts/?page=3", "results": [ … ]} https://www.django-rest-framework.org/api-guide/pagination/?q=ListAPIView%29#pagenumberpagination     DFR pagination을 보며 문제를 .. 2024. 5. 1.
[TIL]내일배움캠프- DRF 개인과제 user model coustom 이번에 DRF를 가지고 개인과제를 진행한다. 과제를 진행하면 기억해 두면 좋을 거 같은 부분을 작성한다.  models.py  User Model을 coustom을 설정 초반 세팅에 진행한다. 회원가입 기능을 나중에 구현하려 했으나 다른 기능들을 구현하고 회원기능을 추가하려 했으나 Fireingnkey 부분이나 걸리는 부분들이 있어 다음에는 차음부터 진행하는 해야겠다. class User( ): pass models.py 에 나의 유저 모델을 정의 하고 settings.py 에 등록을 해준다. AUTH_USER_MODEL = "myapp.MyUser" 여기서 중요한 부분은AbstractUserAbstractBaseUser두가지 값을 상속받아 User model를 coustom 할 수 있는데  중요한다.. 2024. 4. 30.
모의 면접 준비를 1도 못하고 모의 면접을 보게 됐다. 아직 django 심화강의를 다 듣지도 못해서 듀터님의 질문이 대부분 많이 모르는 내용이었다. 뭐라고 떠들었는지... 기억이 가물하지만 중요한 부분 몇가지를 적어본다.  1. 인증받기 시스템 공부 (면접에서 자주 질문)2. 데이터베이스를 안 쓰는 방법 (면접에서 자주 질문)3. Django 속도 저하 생기는 이유와 해결 방법 (시리얼라이저)4. aws 경험해 보기5. 자기소개 간단하게 준비 (미팅에서 자기소개하듯이 같이 일할 사람을 뽑는 것이기 때문에 대화를 하고 싶게끔)6. 모르 거는 '모르겠다' 말하는 대신 나의 생각을 더해서 모르겠다고 말하기 다음 모의 면접이 있다면 위의 6개는 꼭꼭 준비해서 가자 2024. 4. 29.
[TIL]내일배움캠프 - Django, Redis 한 명의 clients가 데이터를 요청하면 server에 다시 응답해 주는 구조인데 만약에 한 명이 아닌 수백 명 많게는 몇만 명이 server에 요청을 보낸다면 우리의 server는 시간도 많이 걸리고 다운될 가능성이 높다.  우리는 이것을 방지하기 위해 Redis를 사용하면 된다.  Redis  빈번하게 발생하는 데이터 기능을 미리 메모리 데이터를 사용해 담아 주는 방식이다.빠른 조회가 가능하지만 단점으로는 용량이 적어 곡 필요한 데이터 반족적으로 발생하는 데이터만 캐싱하여 사용한다. key : value로 이루어져서 보낸다.  Redis 설치  brew --versionbrew install redisredis-server --versionredis-server #mec은 자동 실행redis-cli.. 2024. 4. 27.
[TIL]내일배움캠프 - Django JWT, ORM JWT Json Web Token으로 Cookie와 Session을 대신하여 사용이 가능하다.  Sesstion은 Cookie를 통해 데이터베이스에 저장하고 기억하는 방법이지만 JWT는 데이터베이스가 따로 필요가 없이 인증이 가능하다.하지만 단점으는 Token 자체에 데이터를 담고 있기 때문에 탈취당하면 보안이 취약한다.  보안에 취약한 부분을 보안하기 위해 Access Token, Refresh Token을 사용하여 보안한다. JWT 구조   Header, Payload, Signature 구조로 나누어져 있는데Header은 타입과 서명에 어떤 알고리즘을 사용하는지 나타나 있고 Payload는 토큰의 발급일자, 토근의 대상자, 만료 시간 등 여러 데이터가 담겨있다.Sifnature은 Header + P.. 2024. 4. 26.
[TIL]내일배움캠프 - Django DRF, FBV, CBV 어떤 형태로든 view를 작성해도 된다. 코드 재사용이 높거나 유지보수성을 높이기 위해서는 CBV를 사용하고간단한 로직이라면 FBV로도 충분하다.FBVfunction Based View 함수형 뷰로 function으로 정의된 형태이이다.from rest_framework.decorators import api_view@api_view(['method'])꼭 위의 데코레이더 ap_view()와 같이 사용해 줘야 한다.  CBV Class Based View 클래스형 뷰로 Class로 정의된 형태이다.from rest_framework.views import APIViewclass CBV naem(APIView):이런 식으로 기본으로 APIView를 상속받아 사용해야 하며 APIView 이외에도 몇 가지가 .. 2024. 4. 25.
[TIL]내일배움캠프 -Django DRF, Serializers DRF를 공부하기 전 API에 공부할 필요가 있다. DRF는 Django REST Framework는 Django를 이용해서 API를 구축하는 기능을 제공하는 라이브러리이다. 그러면 API는 무엇일까?? API API는 Application Progrmming Interface이다. 즉 소프트웨어끼리 프로그래밍 언어를 통해 통신하는 방법이다. 우리는 이제 RESTful API를 통해 Json형식으로 서버와 클라이언트와 소통할 것이다. REST는 사람들 마다 정의가 다 다른데 나는 유저가 보낸 보청에 따라 보여주는 방식?? 이 부분은 따로 더 공부를 해보고 찾아봐야겠다. https://ics.uci.edu/~fielding/pubs/dissertation/top.htm RESR논문 규칙도 존제하는데 RES.. 2024. 4. 24.
Django 기본 setting Django를 이용해어 기본적인 setting을 반복적으로 학습하여 손에 익히려 한다. 완전하게 내 걸로 만들기 전까지 내용을 정리하려고 한다. 1. 가상환경 설정 가상환경 파일을 terminer에서 만들어준다. python -m venv venv 가상환경 활성화 source venv/bin/activate 2. django 설치 pip install django=='version' #협업을 위해 파일 공유 pip freeze > requirements.txt 설치시에는 pip install -r requirements.txt 3. Django Project django-admin startproject . 현제 파일에 프로젝트 생성 4. App python manage.py startapp app을 생.. 2024. 4. 23.
[TIL]내일배움캠프- Django DRF 지금 까지는 Django를 사용하여 web application을 제작하고 MTV를 제작했다. 이번 주부터는 요청에 대해 처리한 결과 데이터를 응답하는 형태의 DRF( Django REST Framwork)를 공부하려고 한다. 주로 백앤드 부분을 공부하기 위한 방법이다. 그러기 위해서는 다시 한번 HTTP와 URI에 관해 공부해야 한다. 어떻게 데이터를 보내고 받는지를 알아야 우리가 데이터를 어떻게 처리행 할지 알아야 하기 때문이다. HTTP HTTP는 Hyper Text Trnasfer Protocol로 web에서 이루어지는 데이터 교환의 기초이다. request 요청과 response응답이 존재하며 특성으로는 Stateless무상태 서버가 클라이언트의 상태를 보존하지 않으며 모든 요청과 응답에 독립적.. 2024. 4. 22.