개발일지
-
Django Channels 사용법 - 공식 문서개발일지 2022. 6. 21. 23:06
Django Channels 사용법 - 공식문서 내용정리 필요한 패키지 django, channels, channels-redis, Docker OR Elastic Cache 1. Django Django Cannels 이기 때문에 당연히 기본 베이스인 Django가 필요 최신 버전이면 상관없다고 들었지만 공식문서상 Django 3.0보다 작은 경우 해당 버전에 대한 문서를 참조! 2. Channels. Channels 를 사용하기 위한 패키지 3. channels-redis 소켓을 열고 닫을 때 캐시 데이터를 사용하는데 이때 접근할 수있도록 해주는 라이브러리(?) 메세지를 주고 받을 때 필요하다고 Error가 떴음 ( 없어도 Django 실행은 됨) 4. Docker OR Elastic Cache Do..
-
DRF - VIEW 종류개발일지 2022. 6. 20. 23:17
DRF를 사용하다가 다른사람코드에서 View class중 신기한걸 봤다 가장 기본적이라고 알고 있는 View 는 Django의 View를 DRF에서 커스텀한 APIView 였는데 class StoreView(APIView): def get(self, request): ... pass def post(self, request): ... pass 오늘 본 ViewClass는 class StoreView(RetrieveUpdateAPIView): def get(self, request): ... pass def post(self, request): ... pass 이런식으로 APIView앞에 단어들이 붙는 것들이다. 당연히 처음에는 API 앞에 생성된 함수들을 적어주는 건가 싶었는데 DRF의 수많은 View ..
-
DRF - Serializer custom create개발일지 2022. 6. 19. 14:26
Django DRF 사용시 Serializer에서 custom create를 실행할때 input 값을 id 값으로 받아도 ForeignKey의 경우 그대로 모델을 가져온다. models.py class Product(models.Model): # 작성자, 썸네일, 상품 설명, 등록일자, 노출 종료 일자, 가격, 수정 일자, 활성화 여부 writer = models.ForeignKey(User, on_delete=models.CASCADE) thumbnail = models.ImageField() desc = models.CharField(max_length=1000) expose_end = models.DateTimeField() cost = models.IntegerField() created_at =..
-
Django - OneToOneField, ForeignKey, ManyToManyField개발일지 2022. 6. 16. 01:42
Django ORM 중 다른 테이블과의 관계 Django ORM은 Django에서 정해준 대로 작성을 하면 알아서 SQL 과 같은 관계형 DataBase에 적용이 되는 매직과도 같은 기능이다. 해당 기능 들 중 테이블간의 관계를 정의 하기 위한 것이 바로 아래의 해당 메소드들이라고 한다. OneToOneField ForeignKey ManyToManyField ForeignKey - 외래키 우선 가장 많이 사용하는 ForeKeyField 부터 보면 예를들어 가게와 사장님 이라는 모델이 있을 때 하나의 가게에는 한명의 사장님이 존재할 수있지만 한 사장님은 여러개의 가게를 가질수 있다 라고 가정을 한다면 가게와 사장님의 관계는 일 대 다 의 관계이다. ( 사장님이 일, 가게는 다 ) 이를 코드로 표현하자면 ..
-
문제 - 라면 공장개발일지/알고리즘 2021. 12. 27. 23:01
# 문제 Q. 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니다. 해외 공장에서는 향후 밀가루를 공급할 수 있는 날짜와 수량을 알려주었고, 라면 공장에서는 운송비를 줄이기 위해 최소한의 횟수로 밀가루를 공급받고 싶습니다. 현재 공장에 남아있는 밀가루 수량 stock, 밀가루 공급 일정(dates)과 해당 시점에 공급 가능한 밀가루 수량(supplies), 원래 공장으로부터 공급받을 수 있는 시점 k가 주어질 때, 밀가루가 떨어지지 않고 공장을 운영하기 위해서 최소한 몇 번 해외 공장으로부터 밀가루를 공급받아야 하는지를 반환 하시오. dates[i]에는 i번째 공급 가능일..
-
문제 - 베스트 앨범개발일지/알고리즘 2021. 12. 27. 22:46
# 문제 Q. 멜론에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 한다. 노래는 인덱스 구분하며, 노래를 수록하는 기준은 다음과 같다. 1. 속한 노래가 많이 재생된 장르를 먼저 수록한다. (단, 각 장르에 속한 노래의재생 수 총합은 모두 다르다.) 2. 장르 내에서 많이 재생된 노래를 먼저 수록한다. 3. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록한다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 인덱스를 순서대로 반환하시오. # 예시 # 1 genres = ["classic", "pop", "classic", "classic", "pop..
-
문제 - 올바른 괄호개발일지/알고리즘 2021. 12. 27. 22:35
# 문제 Q. 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻이다. 예를 들어 ()() 또는 (())() 는 올바르다. )()( 또는 (()( 는 올바르지 않다. 이 때, '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 True 를 반환하고 아니라면 False 를 반환하시오. # 예시 "(())()" # True "((((" # False # 문제풀이 해당 문제는 짝을 맞춰야하는 것이 키포인트 였다. 괄호의 경우 한번 열었다면 닫힘이 나올때까지 기억하고 있다가 수를 세어야하고 여는 괄호를 2개를 열었다면 해당 괄호에 맞게 하나씩 늦게 들어온 것부터 맞춰 나가야한다. 따라서 이런 구조에는 Stack 구조가 어울..
-
문제 - 쓱 최대로 할인개발일지/알고리즘 2021. 12. 27. 20:57
# 문제 [30000, 2000, 1500000] # 상품의 가격 [20, 40] # 쿠폰, 할인율의 단위는 % 입니다. 다음과 같이 숫자로 이루어진 배열이 두 개가 있다. 하나는 상품의 가격을 담은 배열이고, 하나는 쿠폰을 담은 배열이다. 쿠폰의 할인율에 따라 상품의 가격을 할인 받을 수 있다. 이 때, 최대한 할인을 많이 받는다면 얼마를 내야 하는가? 단, 할인쿠폰은 한 제품에 한 번씩만 적용 가능하다. # 풀이 과정 해당 문제는 보자마자 푸는 방법이 떠오를 정도로 일상생활에서 가깝에 느끼던 문제였다. 할인율을 최대로 적용하고 싶다면 가장 큰 가격에 높은 할인을 적용해아 한다라는 생각을 하니 정렬을 이용해야겠다는 생각을 했다 . 가격과 할인율을 내림차순으로 정렬 한 뒤 각 원소에서 한개씩 뽑아 곱해주..