코딩
-
[DJANGO] ORM : Aggregation, AnnotateDEV/🟢 DJANGO 2021. 11. 10. 20:34
Aggregation : 집합 Annotate : 주석을 달다. 기업협업 프로젝트 기간 Django ORM을 통해 데이터 베이스에서 일차원적으로 나타난 데이터를 가져오는 것이 아니라, 데이터를 가공해서 원하는 값을 찾아야하는 챌린지가 발생했다. 🚨 물론 쿼리로 직접 처리하는 것이 데이터 효율면에서 뛰어날지 모르나, 쿼리에 대한 이해와 함께 장고 ORM에서 데이터를 어떻게 처리하는지 중요하다. 우선 테이블을 살펴보자. User id bigint email varchar(300) appname char(10) register_datatime datetime social_type varchar(32) country varchar(32) phonenum varchar(30) - 앱별 가입자 수 - 월별 가입자 ..
-
[PROJECT] METABOXDEV/🔍 PROJECT 2021. 10. 4. 17:35
🟪 METABOX PROJECT MEGABOX 홈페이지를 모티브로 한 사이트입니다. 사이트에 접속한 모든 유저들은 상영중인 영화리스트와 각 영화에 대한 사용자들의 포스트를 볼 수 있습니다. 메타박스 회원만 예매를 할 수 있으며, 관람한 영화에 대해서 포스트를 작성할 수 있습니다. 🚀 Back-end : Github-Repository 🚀 Front-end : Github-Repository 1. 팀원 소개 📦김영현님, 김동준님, 이송현님 📦윤현묵님, 송치헌님, 주종민 2) 작업기간 2021.09.13 - 2021.10.1 3) 시연영상 METABOX PROJECT 4) 실행환경 MacOSX Ubuntu Conda 4.10.3 version Django 3.2.6 version MySQL 5.7 versi..
-
[DJANGO] 카카오 소셜로그인 구현DEV/🟢 DJANGO 2021. 10. 3. 18:34
여태까지 배웠던 로그인과 회원가입 기능은 자신의 서버에 직접 회원정보와 암호화된 비밀번호를 로컬 데이터 베이스에 저장하는 거였다면, 소셜 로그인은 어떤 방식으로 회원가입이 이뤄지고 로그인이 이뤄지는 것일까? 수많은 소셜 로그인 중 3700만 회원을 가진 카카오 소셜 로그인에 대해서 알아보도록 하자. 1. 공식문서 읽어보기 Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 공식문서를 천천히 살펴보면 OAuth2.0 개념이 나온다. OAuth 2.0 이 무엇일까? 공식문서를 확인해보자 OAuth 2.0 정리하면, 공개 API(Open API)로 제공되..
-
[DJANGO] 인증과 인가(4) : Login decoratorDEV/🟢 DJANGO 2021. 9. 25. 22:24
로그인 데코레이터 HTTP 통신의 성질 중 상태를 저장하지 않는다는 stateless 라는 성질때문에 로그인한 회원인지 아닌지를 판단할 수 없다. 이때, @데코레이터를 이용해서 사용자가 회원인지 비회원인지 판단해서 로그인한 사용자만 컨텐츠를 이용할 수 있도록 할 수 있다. @데코레이터 데코레이터를 이용해서 기능이 수행될때마다 회원과 비회원의 판단을 할 수 있도록 하자. 함수를 Wrapping 하는 기법으로 반복되는 코드를 줄일 수 있다는 장점이 있다. ** Wrapping이란 ? 함수내부에서 함수를 선언하는 구조를 말함 test_function 이 실행되기 전에 먼저 login_required를 검사할 수 있도록 할 수 있다. 즉, login_required(test_function)이 실행된다는 것이다..
-
알고리즘 성능평가DEV/🤦 ALGORITHM 2021. 9. 19. 23:32
복잡도 - 알고리즘 성능을 나타내는 척도시간복잡도 : 알고리즘의 수행시간분석공간복잡도 : 알고리즘의 메모리 사용량 분석동일한 기능을 수행하는 알고리즘이 있다면, 일반적으로 복잡도가 낮을 수록 좋은 알고리즘. 복잡도 표시 - 빅오 표기법(Big-O Notation)가장 빠르게 증가하는 항만을 고려하는 표기법.ex) 3N^3 + 5N^2 + 10000000차수가 가장 큰 것만 남김 ⇒ **O**(N^3) 알고리즘 설계 TIP!!일반적으로 CPU 기반의 개인 컴퓨터나 채점용 컴퓨터에서 연산 횟수가 5억을 넘어가는 경우 :👉C언어를 기준으로 통상 1~3초 가량 시간소요👉Python을 기준으로 통산 5~15초가량 시간소요O(N^3)의 알고리즘을 설계한 경우 N의 값이 5000이 넘는다면?👉코딩 테스트 문제에..
-
[PROJECT] LAFESTA COMMERCE SITEDEV/🔍 PROJECT 2021. 9. 19. 23:01
🐊 LAFESTA PROJECT LACOSTE 모티브로 커머셜 사이트 구현 🚀 Back-end : Github-Repository 🚀 Front-end : Github-Repository 1. 팀원 소개 🐊최파란별님, 주종민, 하예준님 🐊이송현님, 정도영님, 박지원님 2) 작업기간 2021.08.30 - 2021.09.10 (12일) 3) 기술스택 Git & Github Django, MySQL 4) 역할 FE • 이송현 : Main page, Nav, Footer • 정도영 : 상품리스트, 장바구니 페이지 • 최파란별 : 회원가입 & 로그인, 상품 상세페이지 BE • 박지원 : 회원가입 & 로그인 API • 주종민 : 제품리스트 페이지 API + 로고제작 • 하예준 : 제품 상세 페이지, 장바구니 AP..
-
[LAFESTA] 수정사항들DEV/🟢 DJANGO 2021. 9. 13. 01:19
1. 수정전 for product in products: colors = product.colors.all() images = Image.objects.filter(product=product.id) A. product 와 image 의 참조관계 파악하신 후에 _set의 사용법을 확인할 것. Q. Image 객체에 접근하는 것보단 set을 이용해서 이미 불러온 product를 활용하는 것이 데이터 통신에서 효율적인가? A. 가독성을 높이고자 하는 이유와 추후 효율적인 데이터 통신을 위해 지금과 같은 방식으로 어떠한 쿼리를 호출하는지 파악하기 위한 이유 수정 후 for product in products: colors = product.colors.all() images = product.image_set..
-
[REST API] Path Prameter & Query PrameterDEV/🟢 DJANGO 2021. 9. 13. 00:26
REST API 란? API 또는 애플리케이션 프로그래밍 인터페이스는 애플리케이션이나 디바이스가 서로 간에 연결하여 통신할 수 있는 방법을 정의하는 규칙 세트 즉, API 시스템을 구현하기 위한 아키텍처(구조) 중에 가장 널리 사용되는 형식을 말한다. 가장 기본 레벨에서, API는 하나의 애플리케이션이나 서비스가 다른 애플리케이션이나 서비스 내의 리소스에 액세스할 수 있도록 해주는 메커니즘이다. 액세스를 수행하는 애플리케이션이나 서비스를 클라이언트라고 하며, 리소스가 포함된 애플리케이션이나 서비스를 서버라고 한다. REST API 형식 기준은? ✅ 페이지 기준이 아니라 기능 기준 ✅ 동사는 쓰지말고 명사로 쓰자 ✅ 검색을 하는 건 GET method! ✅ 여기서 주목해야하는 것은 '?' : 어떤 기준으로..