본문 바로가기

전체 글99

[TIL]내일배움캠프 - SQL / null 값, pivot Table, Rank, sum, date 이미 심화 팀별과제에서 내가 담당한 부분을 완료하여 3일간의 연휴료 내가 무엇을 해야 할까 고민을 많이 했다. 목표 1. 지금까지 완료 못한강의 듣기2. django REST Framework 복습겸 과제 다시 하기 3. js - Ajax 공부 / 심화과제 선택 프론트엔드 부분   이번 연휴동안 최대한 복습하고 다음 주부터 팀원들과 할 프런트앤드 부분을 조금이나마 대화는 가능하게 준비를 해가야겠다고 생각했다. 최대한 집중 할 수 있게 3일간 파이팅이다!!  SQL 5주 차  null 값 변환  데이터베이스에 'not given'이나 'null' 값으로 들어가 있는 경우가 있다.예를 들어 모든 column에 평균 average를 구한다고 생각해 보자 'not given'은 평균을 구할 시 0으로 계산되어 .. 2024. 5. 5.
[TIL]내이배움캠프 - django 심화 팀 과제 DRF를 이용한 팀 심화과제가 시작됐다. news 홈페이지인데 GeekNews의 레퍼런스대로 만드는 것이 과제이다https://news.hada.io/      API를 추출하고 설계 API를 팀원들과 의논하여 API를 설계하고 문서로 작성래 줬습니다. DB 설계https://dbdiagram.io/home을 이용해서 제작  와이어프레임은 https://www.figma.com/ 을 사용해서 제작  API 만들기  각자 원하는 기능을 담당하고 기본적인 models.py를 제작 git에 올라온 내용을 받아 사용했습니다. BISE_DIR도 따로 팀원 간에 설정해 주고 secrets.json파일을 만들어 줬습니다.  좋아요 기능과 comment의 추천 기능을 담당하여 제작을 완료했습니다.class LikeyA.. 2024. 5. 4.
[TIL]내일배움캠프- Django 심화과제 마무리 며칠간의 django 심화과제가 끝났다. 그래도 대부분의 선택기능을 재외 하고는 기능을 구현했다. 과제가 끝나고 튜터님의 풀이를 들었는데 4일 넘게 걸린 나의 과제를 3시간 정도설명과 함께 끝내시는 것을 나 자신에게 화가 났다. 아무리 나보다 몇 배의 시간을 투자하고 공부해서 얻은 것이라는 것을 알지만... 뭐랄까... 나 자신에게 짜증 난다고나 할까?? 좀 더 공식문서와 Github 코드를 유심히 봐야겠다.  그리고 아무리 serializers.py와 forms.py를 사용해서 코드를 짤 수 있어도 사용 안 하고 짜보는 것이 좋다고 말씀하셨다. 로직에 대해 이해를 못 하는데 저런 도구를 가져다가 사용한다면 좋은 개발자가 될 수 없다는 것을 느꼈다.   장고 기초과제 수정 git https://githu.. 2024. 5. 3.
[TIL]내일배움캠프- Django 심화 과제 , 로그아웃 로그아웃 기능 구현  여러 방법을 생각했다.로그인 때 저장된  refresh token을 찾아야 하나 여러 방법을 생각해 봤다. 하지만 그냥 blacklist에 집어넣어 로그아웃을 진행하는 방법을 선택했다. @api_view(['POST'])@permission_classes([IsAuthenticated])def logout(request): token = request.data.get('refresh') if token: try: re_token = RefreshToken(token) re_token.blacklist() return Response({'message': 'logout'}) except: .. 2024. 5. 2.
[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.