왜?장고의 serializer는 잘만 활용하면, 효율적으로 valid 검사부터, 쿼리셋에서 불러오는것까지 간단히 구현가능하다. 자세히 알수록 활용하기 쉬워질것같다.
장고의 form과 비슷한점이 매우많다고 생각한다.
공식문서
참고블로그
Serializer
직렬화를 하는 직렬변환기?
Serialize(직렬화)
쿼리셋,모델 인스턴스 등의 complex type(복잡한 데이터)를 JSON, XML등의 컨텐트 타입으로 쉽게 변환 가능한 python datatype으로 변환시켜줌
Serializer는 우리가 Django 에서 사용하는...
왜?DRF를 제대로 이용해보고 싶었고, 토이 프로젝트 대신 외주를 받았다. 또한 외주 내용중에 외부 API와 끊임없이 소통하며, 판매량을 통계내며, 이를 .csv파일로 다운로드가능하게하며, 또 다른 외부 API로 관련된 데이터를 보내는것이 재밋어보였다.
후기AWS+DRF로 구현하였는데, 확실히 3번째 외주니까.. 방황하지않고 차근차근 구현하고, 문제들을 해결했다.
DB는 아래와 같이 설계하고 도중에 기획자와 피드백을하며 상당부분 바뀌기도했다.
재밋었던것은 외부 API의 구조를 분석하고, 다시 정제하고 외부 API를 사용하고,...
왜?세번째 외주를 진행하는데 서버에서 몇시간, 몇분마다 작업해야하는 요청 및 관련 처리가 생겼다. 그래서 간단하게 쓸수있는 것을 찾아보니 django-crontab 이 있어서 기록해놓는다
장고 서버 데몬 실행
1sudo nohup python3 manage.py runserver 0.0.0.0:80 &
중단 방법
123ps -ef | grep pythonkill -9 <process_id_no>
Django-crontab자세히
설치1pip3 install django-crontab
setting...
포스팅을 쓰기 전
한 해를 보내며 나자신을 돌아보는것은 결국 가는 한해를 보내고 다가오는 한해를 맞이할 준비를 하게해준다는 것을 알게해준 소중한 친구 Beomi에게 고맙다. Beomi,Beomi,Beomi,Beomi,Beomi,Beomi,Beomi(정말 좋은 블로그이니 꼭 들어가보자!)
2020년 마무리 하며2019.09.26 처음으로 점프 투 파이썬으로 개발을 시작하였다.
사실 2015~2019년 8월까지 약대편입시험PEET (2022부터 폐지수순)를 준비했었다. 정말 매일 열심히 살았다.
나한테 중학교떄부터 꿈은 약사였으니...
왜?코테를 풀다보니 자연스레 자료구조를 알맞게 활용할수록,
코드 테스트에서 효율과 정확도가 뛰어난 상승을 경험하고 필요성을 느껴, 공부하게됬다.
어떤 문제를 만났을때, 알맞은 자료구조를 한번에 찾으면 얼마나 기분 좋을까?
자료구조자세히
자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 데이터 사이의 관계를 반영한 저장구조 및 그 조작 방법을 뜻한다.
이중 알고리즘 문제에 자주 활용되는것은
선형 자료구조 : 한 종류의 데이터가 선처럼 길게 나열된 자료구조.
비선형 자료구조 : 선형 자료구조가 아닌 모든 자료구조....
왜?앞으로도 서버 구성을 하며, aws 보안 설정 등의 과정을 지속적으로 해야하므로 정리해놨다
aws EC2 인스턴스 생성프리티어로 설정시 무료
인스턴스 생성시 해당하는 키-페어에 대해 .pem을 주는데 이것은 프라이빗 키라고 생각하면된다.
이를
~/.ssh 라는 폴더에 옮겨준다. (없을경우 mkdir ~/.ssh/ 생성후)
pem파일을 해당 폴더의 소유주만 읽을 수 있도록 권한변경해준다.
1$ chmod 400 ~/.ssh/[yourkeyfile].pem
해당 인스턴스에 접속1$ ssh -i <키 페어 경로>...
webroot이용 증명서 발급
sudo certbot certonly –webroot -w [접근 가능 경로] -d [도메인명]
1sudo certbot certonly -a webroot -m lostcatbox@gmail.com -w /home/lostcatbox2/proxy/data/certbot/www -d home.lostcatbox.com #내가 설정한 www폴더와 인증
생성된 인증서 위치 : /etc/letsencrypt/live/[도메인명]
해당 인증서로 접근
cd /etc/letsencrypt/live/[도...
자세히
왜?코테 준비하면서
자료구조, 시간복잡도, 정렬에 사전지식이 없으면, 내가 아무리 생각해봐도 짜낼수없는 답안들이있었다. 수준차이가 느껴진다
따라서 나도 그런 답안을 작성하고 더 나은 코드를 짜기위해, 코테를 중심으로 공부하면서 30분동안 안풀리면, 답안을 보고 내가 자연스레 작성할수있을만큼, 그 문제와 관련된 자료구조, 시간복잡도, 정렬을 공부해야되겠다란 생각이들었다.
시간 복잡도문제를 해결하는 데 걸리는 시간과 입력의 함의 관계.
Big O표기법을 사용하고 이는 이전에 읽었던 코테 책에 기반한다.
알고리즘에서 반복문을...
문제풀이하면서 놓친부분들
완전 작은 경우, 완전 큰경우, 조금큰경우를 입력해서 알고리즘의 부족한 부분을 찾아내자
아이디어중 나누고 나머지, 몫을 이용하는 것이 꽤있다
원칙첫 번째 풀고 답안지를 업로드하고 리뷰후
분석
두번째 답안지 작성(남의 것)
분석의 단계
문제를 읽고 이해한다.
(문제의 궁극적인 목적+사소한 제약 조건 모두이해)
문제를 익숙한 용어로 재정의한다
(재정의:내가아는 용어로 변경, 추상화: 문제의 본질만 남겨놓고 축약)
어떻게 해결할지 계획을 세운다
어떻게 해결할지 계획(알고리즘, 자료 구조 선택).. ...
표기방법:
< >안에있는 것들은 반드시 들어가야하는 요소
[ ]안에 있는 것들은 옵션
함수zip길이가 같은 자료형을 묶어주는 역할을 하는함수
123456Number = [1,2,3,4]Name = ['hong','gil','dong','nim']Number_Name = list(zip(Number,name))print(Number_Name)>>>[(1 ,'hong'), (2 ,'gil'), (3 ,'dong'), (4 ,'nim')]
mapmap은 반복가능한 객체의 요소를 지정된 함수로 ...