분류 전체보기 110

커머스 프로젝트 7주차 WIL + 인코스런 수료 소감

Python 정규표현식 re 모듈 컴파일 메소드 re.compile('정규식'): 패턴 객체(p)를 반환 문자열 검색 메소드 p.match('정규식') : 문자열의 처음부터 검색, match 객체 또는 None 반환 p.search('정규식') : 문자열 전체를 검색 p.findall('정규식') : 정규식과 매치되는 모든 문자열을 리스트 형태로 반환 p.finditer('정규식') : 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 반환 컴파일과 검색을 한 번에 수행하는 방법 : re.match('정규식', '문자열')과 같이 사용 메타 문자(meta characters) : 특별한 용도로 사용되는 문자 [] : 문자 클래스, [ ] 사이의 문자들과 매치 [ ] 안의 두 문자 사이에 하이픈(-)을 ..

인코스런 2기 2022.07.31

커머스 프로젝트 5주차 WIL

Django Queryset Filter Not Null 필터 null인 object만: 모델명.objects.filter(필드명__isnull=True) null인 object 제외: 모델명.objects.exclude(필드명__isnull=True) null이거나 빈 문자열인 object 제외 모델명.objects.exclude(필드명__isnull=True).exclude(필드명__exact='') django.db.models.Q: OR 연산 가능하게 해 줌 → 모델명.objects.exclude(Q(필드명__isnull=True) | Q(필드명__exact='') https://stackoverflow.com/questions/844556/how-to-filter-empty-or-null-nam..

인코스런 2기 2022.07.16

커머스 프로젝트 4주차 WIL

DRF perform_create() Django Generic View에서 제공하는 메소드 serializer의 create() 메소드의 일부분을 오버라이딩할 때 사용 serializer.save()가 호출될 때 perform_create()가 호출됨 object의 특정 속성을 자동으로 설정해야 할 때 유용 https://www.django-rest-framework.org/api-guide/generic-views/ https://jomuljomul.tistory.com/entry/Django-REST-Framework-create-vs-performcreate lookup_field id 말고 다른 필드로 오브젝트를 찾고 싶을 때 사용 View랑 Serializer 둘 다 설정해줘야 함 https:..

인코스런 2기 2022.07.10

커머스 프로젝트 3주차 WIL

외부 URL로부터 이미지 다운받아서 ImageField에 저장하기 from tempfile import NamedTemporaryFile from django.core.files import File from urllib.request import urlopen # Serializer def create(self, validated_data): img_temp = NamedTemporaryFile(delete=True) img_temp.write(urlopen('이미지 URL').read()) img_temp.flush() [모델명].[이미지필드].save('파일명', File(img_temp)) https://stackoverflow.com/questions/16381241/django-save-ima..

인코스런 2기 2022.07.03

Day4 - 장고 온보딩 프로젝트 4

학습한 내용 FilterSets NumberFilter https://django-filter.readthedocs.io/en/stable/guide/rest_framework.html#adding-a-filterset-with-filterset-class NumberFilter: 숫자 값 기준으로 필터 gte: 이상(greater than or equal) lte:이하(less than or equal) gt: 초과(greater than) lt: 미만(less than) from django_filters import rest_framework as filters class MovieFilter(filters.FilterSet): avg_rating_filter = filters.NumberFilte..

인코스런 2기 2022.06.10

Day3 - 장고 온보딩 프로젝트 3

학습한 내용 Validation https://www.django-rest-framework.org/api-guide/serializers/#validation Serializer의 validate() 메소드 작성 validate() 메소드를 통해 검증된 데이터가 create(), update() 메소드의 validated_data로 전달된다. Annotate Field annotate(): 파생변수 추가할 때 사용 https://docs.djangoproject.com/en/4.0/ref/models/querysets/#annotate Aggregation Function 종류: Avg, Count, Max, Min, Sum 등 하나의 값을 반환 Coalesce: aggregate가 None을 반환하는..

인코스런 2기 2022.06.09

Day2 - 장고 온보딩 프로젝트 2

원래 어제 썼어야 하는데 피곤해서 일찍 잠들어버리는 바람에 오늘 쓴다. 오늘은 본격적으로 Django Rest Framework 사용법을 익혔다. 학습한 내용 DRF Generic View & Serializer Generic View https://www.django-rest-framework.org/api-guide/generic-views/ 빠르게 뷰를 생성할 수 있다. 패키지 추가: from rest_framework import generics Generic View는 기본 클래스인 GenericAPIView와 Mixin의 결합 Mixin: Generic View와 함께 상속받아서 필요한 기능 추가 ListModelMixin: Read(GET), 여러 개(List View) RetrieveMod..

인코스런 2기 2022.06.09

Day 1 - OT & 장고 온보딩 프로젝트 1

오늘은 인코스런 첫 번째 날이었다. 설레는 마음으로 교육 장소인 똑똑한개발자 사옥에 도착했다. 먼저 간단한 OT가 있었다. 대표님과 매니저님께서 똑똑한개발자와 인코스런에 대해 설명을 해 주셨고 멘토님들과 참가자들이 한 명씩 돌아가며 자기소개를 했다. 그리고 슬랙이랑 노션 계정도 만들었고 팀 빌딩을 위해 개별 면담도 진행했다. 이번주는 본격적인 프로젝트를 시작하기 전에 필요한 기술을 익히기 위해 프론트엔드/백엔드별로 각자 주어진 과제를 해결하는 식으로 진행된다. 나는 백엔드라서 장고 온보딩 프로젝트를 하는 중인데 Django Rest Framework는 처음 사용해봐서 헤맸다. 그래도 기본적인 장고 사용법을 미리 복습하고 가길 잘 한 것 같다. 학습한 내용 깃 브랜치 생성 및 전환: git branch 브..

인코스런 2기 2022.06.07

Flask에 SQLite 연동하기

예전에 채용공고를 크롤링하는 JobScrapper라는 사이트를 만들었었다. 기존에는 검색 결과를 임시로 딕셔너리에 저장하는 방식을 사용했는데, 이를 SQLite에 저장하는 방식으로 바꿔보기로 했다. 데이터 모델링 우선 ERDCloud를 사용해서 다음과 같이 데이터베이스를 설계했다. Keywords 검색된 키워드들을 저장 키워드는 중복되지 않는 고유한 값이므로 Primary key로 설정 Results 검색 결과를 저장 자동으로 아이디 부여 키워드를 Foreign Key로 설정 (Keywords 테이블에서 참조) SQLite 사용법 SQLite의 자료형은 5가지이다. 동적 자료형 시스템을 사용하고 있기 때문에, 특정 타입의 칼럼을 선언했더라도 해당 칼럼에는 모든 종류의 자료를 저장할 수 있다. NULL: ..

개발일지 2022.05.23

T아카데미 - 데이터 엔지니어링 기초 (6)Google Kubernetes Engine

강의영상 강의 요약 Google Kubernetes Engine https://subicura.com/2019/05/19/kubernetes-basic-1.html 실습 Docker 설치 Window: https://blog.sapzil.org/2019/06/09/docker-desktop-for-windows-home/ Mac: https://daeson.tistory.com/290 Dockerfile, requirements.txt 작성 Dockerfile: Docker 설정 requirements.txt: 필요한 모듈 정보 Docker 실행: docker run -d -p 80:80 docker/getting-started 이미지 빌드: docker build -t tweet . gcloud: Do..