목록분류 전체보기 (76)
슈코딩
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cDMEVT/btrFLBAeWct/OuEAi2UtFG0WI7sihb3ml1/img.png)
이번 유화제작 프로젝트에서 이미지를 유화스타일로 변경하여 저장하는 기능이 있는데 이전 프로젝트 처럼 백엔드와 프론트엔드 파일이 하나로 되어있지 않고 분리되어서 작업이 진행이 되기도 하고, 로컬 파일이나 프로젝트 파일에 이미지가 저장되게 되면 EC2에 배포했을때, 유저가 많아졌을때 서버용량에는 한계가 있다고 생각을 해서 S3로 저장을하고 이미지를 가져오는 방식으로 진행을 했다. 우선 AWS에서 S3를 검색하고 버킷페이지로 온다. 버킷페이지에서 버킷생성을 누르게 되면 보이는 설정사항들이다. 버킷이름은 프로젝트 이름이랑 비슷하게 프로젝트+bucket 이나 images 이렇게 지으면 알기 쉬울것 같아서 네이빙은 그렇게 했다. 이 버킷에 관한 소유권을 지정하는 부분인 것같다. 일단은 S3에서 작업을 나만 하니까 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cQyDZY/btrF3YvboJG/a4gwhiKJJK6fYPrxbY5Mz1/img.png)
이번에 시작한 프로젝트는 딥러닝을 활용한 유화 제작 프로젝트이다. 우리팀은 프로젝트 기획을 노션으로 만들었고, 메인 주제는 경매가 될것같다. 경매로 선정한 이유는, 우선 포인트제도가 들어가고 유저간의 포인트를 주고받는 트레이딩 시스템을 백엔드로 구현해보고 싶었던 마음이 있어서 그렇게 선정을 했다. 물론 유화니까 미술작품은 경매로도 많이 거래가 되는 품목이라 떠오른것도 있었다. 자세한 프로젝트의 개요와 기능명세서, API설계까지 모두 노션에 있으니 노션 주소로 들어가면 이번 프로젝트에 대한 내용들을 자세하게 볼 수 있다. https://www.notion.so/12-df4f63382fb146e69b3b5b96231bb792 머선12조 딥러닝 유화제작 프로젝트 🧾Project S.A www.notion.so..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DFwVC/btrFKGoiA0g/LDFWY2oEHH3wiWLxkl8070/img.jpg)
https://peps.python.org/pep-0008/ PEP 8 – Style Guide for Python Code | peps.python.org PEP 8 – Style Guide for Python Code Author: Guido van Rossum , Barry Warsaw , Nick Coghlan Status: Active Type: Process Created: 05-Jul-2001 Post-History: 05-Jul-2001, 01-Aug-2013 Table of Contents This document gives coding conventions for the Python co peps.python.org PEP8 은 파이썬에서 사용하는 코드 컨벤션이다. 코드를 어떻게 구상할..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kzqQR/btrFImWXA8j/i2mg3SByi4qyYjtzhZdek0/img.jpg)
오늘은 추천시스템 프로젝트에서도 검색기능을 만들때 썼었고, 이번 DRF과제에서도 사용을 한 Q 에 대해서 정리를 해보려고 한다. 우선 Q는 간단하게 쿼리 그자체를 객체로 다룰수 있게 하는 class이다. Django 에서 사용하는 filter(), get()같은 ORM안의 옵션을 Q()를 사용하여 동일하게 적용 시킬 수 있다. 특징으로는 and, or 를 적용 시킬수 있다는 점이다. 글로만 설명하면 와닿질 않으니 예제를 보면서 알아봐야겠다. from django.db.models.query_utils import Q from rest_framework.views import APIView class UserView(APIView): def get(self, request): #취미 중 산책이 있거나, 나..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YLNfC/btrFGPlcqxG/35FNtggrgEhxUyUJbfHCn0/img.png)
지금까지 Git을 사용할때 나는 소스트리를 사용해왔었다. 그 이유는 첫째, Git을 배울 때 처음으로 배운 GUI가 소스트리였기도 했다. 둘째, 터미널을 활용하는 것은 익숙하지 않기 때문에 프로젝트때 협업하는데에 있어서 실수하거나 Git에러 때문에 버리는 시간을 최소화 하기위한것도 있었다. 그래서 이제는 소스트리로 여러 프로젝트를 진행하면서 Git에 관한 이해도가 높아졌다고 판단을 하고 터미널을 활용해서 Git을 사용하는것을 익숙해지기로 생각을 했다. 우선은 터미널을 활용 하려면 커맨드를 알아야 하는데, 종류가 많고 외워서 하기는 어려울것 같아서 직접 사용하면서 자연스럽게 외워지도록 Git을 사용할때 쓰는 커맨드들을 정리해놓으려고 한다. $ git init .git 하위 디렉토리 생성 (폴더를 만든 후,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/N52nH/btrFNGA1ae5/kCsgjBhuPZ24H1SVd1Px7k/img.png)
1. 이번주 한 일🕊 DRF serializer 특강 3일 DRF 과제 및 1일차부터 6일차까지 복습 저번 주에는 DRF를 배우기에 앞서 기존에 배웠던 Django에 관한 내용들을 복습 하고 넘어가는 시간이었다면 이번주에는 드디어 DRF의 꽃이라 불리는 serializer를 배워서 사용해봤다. 이번에 특강을 준비 해주신 튜터님이 잘 알려주셔서 그런가 굉장히 어렵게 다가올 만한 내용들이라고 생각했는데, 과제를 풀어나가고 처음부터 다시 복습해보는식으로 반복학습을 하다보니 어느정도 DRF를 사용해 백엔드를 구축하는데에는 익숙해진것같다. 그래서 한편으로는 정말 익숙해진것이 맞는지 빨리 프로젝트를 시작해서 배운것들을 적용해보고 싶었다. serializer를 사용해서 데이터들을 프론트로 json형태로 보내는것 까지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xefwi/btrFyRw5vkO/HhkzvT9TcFg9FAlRN76VyK/img.jpg)
1. DRF (Django Rest Framework) 🤔 DRF란? DRF는 Python으로 개발된 대표적인 웹 프레임워크중 하나인 Django 안에서 RESTful API 서버를 쉽게 만들 수 있게 도와주는 라이브러리이다. 특징 중에서 가장 대표적인 것은 Serialize 기능이 존재한다는 것이다. 그렇다면 Serializer는 무엇일까? #기본설정 pip install django pip install djangorestframework # settings.py INSTALLED_APPS = [ ... , ... , ... , (app_name), 'rest_framework',
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0URS1/btrFz3DvaGD/rxwwiWz1suPKlkZxkbTMAK/img.png)
오늘은 Django에서 기본으로 제공하는 Admin페이지를 커스텀해서 더 활용도가 높게 바꿔주는 법에 대해서 기록하려고 한다. 이번 DRF특강때 배운내용인데, Admin페이지를 꾸밀수있다는게 신기했고 나중에도 활용을 하기 위해서 정리를 해본다. 우선 코드부터 보면, user APP의 admin.py 에 이런식으로 작성을 했다. 사용 방법은 TabulaInline과 StackedInline 모두 동일 / 스택은 세로로 표시 , 타불라는 가로로 표시 # class UserProfileInline(admin.TabulaInline): class UserProfileInline(admin.StackedInline): model = UserProfileModel def formfield_for_manytomany..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/A5tQj/btrFfZOG2Pa/KYPi8JWL7j5ihWATDo3PRk/img.webp)
1. Stacktrace 에러 발생했을때, a함수안에 -> b함수안에 -> c함수에서 에러가 났다. 위 에러이미지처럼 어디서 에러가 났는지 보여준다. 이처럼 스택 추적(stacktrace)은 프로그램에서 예외가 발생했을 때 어떻게 함수가 호출되었는지, 어디서 오류가 발생했는지를 특정할 수 있는 수단이다. 문제 발생시 원인 규명에 도움이 된다. 2. 가상환경 설치 venv 가상환경은 패키지들의 버전을 통일해서 개발 할 수 있게 하기위해서 사용한다. 버전이 다르게되면 어떤 컴퓨터에서는 기능이 작동하고 , 어떤 컴퓨터에서는 작동하지 않는 경우가 발생한다. 설치 : python -m venv venv 실행 : venv/Scripts/activate #실행 권한이 없을때 권한 리스트 조회 : Get-Executi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bRMpmi/btrEZeMRWRs/cFeJKt5p1rDsnjxDB1a04K/img.png)
1. 이번주 한 일✨ 프로젝트 마무리 : 애니메이션 추천 웹사이트 10Taku DRF 특강 3일 : 장고의 기본을 배우고 난 후 DRF를 배우며 장고 기술의 깊이를 더 다지게 된 시간 2. 한 주를 돌아보며🎫 이번주는 정말 정신없이 지나갔다. 시간이 이렇게 빨리 지나갈수가 있나 싶을정도로 요즘 코딩에만 빠져서 살고 있는것 같다. 이게 다 내일배움캠프의 영향?! 나 스스로도 코딩에 흥미를 느끼고 열심히 올라가고 싶은 욕심이 생겨서 더 뒤쳐지지 않으려고 발악하고 있는 것 같다. 저번 프로젝트를 하면서 첫 장고프로젝트를 해봤고, 컨텐츠기반 모델, 유저기반 모델 등을 접해보고 연결도 시켜봤으며 MySQL을 다뤄도 보고 반응형 웹도 처음으로 만들어보기도 하고, 마지막에는 배포까지 성공 시켰다. 많은것을 이루고 빠..