전체 글 (82) 썸네일형 리스트형 23.04.24~28 WIL 한주간...(특강 제외) 1. 개인과제를 진행하였다. 2. 매일 페어프로그래밍을 진행하였다. 개인과제를 하며 새롭게 배운점 Poetry의 사용 - 새로운 패키지 및 가상환경 관리 도구인 poetry를 사용해 보았다. 확실히 pip 자체 기능인 requirements.txt 보다 강력함을 느낄 수 있었는데, 또 그만큼 깊이있는 사용을 위해서는 많은 것을 배워야 할 것 같다. serializer의 기능과 정의 - serialize는 데이터를 전송/저장할 수 있는 형태로 변환(직렬화)하는 것을 말하며 django에서 serializer는 입력받은 데이터를 선택하고, 입력값을 검증하고, 직렬화/역직렬화 한다. 바로 데이터 스트림으로 만들지는 않으며(이는 renderer가 담당한다) dict의 파생형 객체로 만들.. 23.04.28 TIL 오늘은... 1. 개인과제를 진행하였다. 2. 객체지향 특강을 들었다. 1. 개인과제 - 로그아웃 사용자의 회원가입과 로그인을 구현하였으니 로그아웃 및 탈퇴, 회원정보수정을 구현하기로 하였다. class UserView(APIView): permission_classes = (IsExsistDeleteXorCreateOnly,) def post(self, request): # 회원가입 ... def delete(self, request): # 탈퇴 user = request.user user = User.objects.get(id=user.id) # 유저 정보 삭제 user.delete() return Response( {"message": "delete_success"}, status=status.HT.. 객체지향 프로그래밍 객체지향 프로그래밍에 대하여 등장 배경 초기의 프로그래밍은 절차지향 패러다임하에 있었다. 프로그램은 반복문 조건문 goto문 등으로 이루어진 하나의 긴 흐름과 같았다. 이런 방식에는 문제가 많았다. 동일한 논리구조여도 값이 바뀔 때 마다 코드를 수정해야한다. 기존의 로직을 다시 사용하게 될때, 다시 코딩을 하거나 직접 복붙해야 한다. 동일한 로직의 코드가 많아지고 코드가 갈어져 유지보수가 어렵다. 이를 해결하기 위해 다익스트라가 프로그램을 우리가 익숙한 '함수' 단위로 나누고 그 함수끼리 호출하는 새로운 패러다임을 제시한다. 그러나 이 방식에도 여전히 한계가 존재했다. 메소드만 가지고는 많은 양의 로직을 처리하기에는 한계가 있다. 한 문서 내에 메소드의 수가 많아질 경우 추후 유지 보수에 많은 어려움이 .. ERD 강의 정리(04.27) ERD Entity Relationship Diagram 고연차, 숙련개발자인지 판단하는 척도 하지만 일단 ERD를 잘 그려서 프로젝트를 어필하는 자리에 넣으면 좋은 무기가 될 수 있다. 그리고 언젠가는 해야하니 배우는 게 이득이다. 0. 잘 작성하는 법 연습 많이 하기 추상화,논리,비식별관계 등의 단어에 겁먹지 말라: 이론과 실제는 다르다. 자신이 관심있는 서비스나 영역의 ERD를 그려보면서 연습 1. PK/FK 프라이머리-키는 중복된 값을 가지지 않는다.(unique) 따라서 한 레코드를 대표하여 식별할 수 있는 값을 가진 필드이다. 대개 정수형태며, 번호 혹은 유일한 값을 지정함. 외래키는 다른 테이블의 PK를 참조하는 필드이다. 즉 타 테이블의 PK 데이터를 확보한다. PK/FK를 활용하지 않으면.. 23.04.26 TIL - DRF 개인과제: model, view, serializer,url 오늘은... 페어프로그래밍 후 선발대 강의 정리를 하고 개인과제를 진행하였다. 개인과제에서 구현해야하는 사항은 DRF todo list CRUD를 구현하는 것, 사용자 회원가입/인증/로그아웃/탈퇴를 구현하는 것이다. 사용자의 인증은 조금 나중에 토큰을 이용해 구현해보기로 하고, 먼저 todo list 부터 구현해 보기로 했다. 1. todolists/models.py import time class TodoList(models.Model): class Meta: db_table = "todolist_table" title = models.CharField(max_length=50) is_complete = models.BooleanField(default=False) created_at = models... 파이썬 패키지 관리 파이선 패키지 관리 주의: 파일 이름을 모듈과 같은 이름으로 짓지 마라. 파이선, 장고등의 키워드로 이름을 짓지 말라. 모듈vs패키지vs라이브러리 모듈: 파이썬 코드의 정의와 선언이 담겨있는, 즉 실행가능한 파이썬 파일. 패키지: 모듈들이 모여있는 namespace. (.으로 타고들어가는거) 라이브러리: 미리 준비된 패키지와 모듈의 모음PIP 파이선의 패키지를 관리하는 도구 install, search, 버전지정(==), uninstallpip install SomePackage #설치 pip search SomePackage #패키지 검색 pip install SomePackage==1.0.4 #특정 버전 지정해 설치 pip uninstall SomePackage #삭제 pip freeze # 현재 설.. Asyncio, coroutine #coroutine sub-routine: 종속되어있는 루틴. 함수도 서브 루틴에 포함된다. co-roution: 협력적으로 실행되는 루틴. 비동기 실행에서 사용된다. 실행중인 함수를 잠시 멈추고 나중에 실행을 재생할 수 있다. # 서브루틴 예시 def func(a): return a+1 a=1 b=func(a) print(b) 서브루틴은 결국 순차적으로 처리되는 것이나 다름없다.(동기처리) 반대로 비동기 프로그래밍은 여러 작업을 동시에 처리할 수 있다. 코루틴 Vs. 멀티 스레딩 스레드는 운영체제에 의해 관리되면서 여러 작업을 수행하며 각 스레드는 메모리상에서 자체 스택을 가지고 있어서 독립적인 흐름을 가진다. 멀티 프로세싱에 비해 오버헤드가 적고 자원 공유가 쉽지만 공유하는 자원으로 인해 동기화 문제.. 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.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음