Python(5)
-
20200630 programmers print
def max_count(priorities): max_num = 0 max_idx = 0 length = len(priorities) for i in range(length): if priorities[i] > max_num: max_num = priorities[i] max_idx = i return max_num, max_idx def solution(priorities, location): answer = 0 while True: max_num, max_idx = max_count(priorities) if location > max_idx: priorities = priorities[max_idx+1:] + priorities[:max_idx] location = location - max_id..
2020.06.30 -
20200329 django-graphql 디렉토리 구조
https://stackoverrun.com/ko/q/12417969 python - Graphene-Django 파일 이름 짓기 규약 이전 Django REST API 프로젝트를 GraphQL 객체로 재 구축하고 있습니다. 나는 이제 & 돌연변이가 제대로 작동하는지 질의합니다. 대부분의 학습은 기존 Graphene-D 장고 & 그래 핀 - 파이썬 코드 샘플을 살펴 보았습니다. 그 (것)들의 사이에 많은 불일치가있는 것을 보인다. Graphick 쿼리는 schema.py에 ... stackoverrun.com 개발을 하면 할수록 디렉토리구조를 잘짜는 것도 상당히 중요함을 알게 된다...(사실상 하나하나 다 중요해서 너무 버겁다ㅠㅠ) 위와 같은 구조 참고하며 계속 만들어봐야겠다... 개인플젝하는데 에너지가..
2020.03.29 -
20200327 graphql 전반
여태까지 회사에서 django와 graphql을 활용하며 코드를 수정하고 기능들을 추가해왔지만 django에서 보내는 정보들을 정확히 어떻게 graphql에서 갖고 오는지 잘 알아보지 못했었다. 최근의 개인프로젝트를 진행하며 알게 된 것들과 회사에서 새로 기능들을 추가하며 알아낸 것들을 간단하게 정리해보겠다. 우선 graphene, graphene_django 등을 import 해놔야 한다. 그리고 나서, django에서 일반적으로 그렇듯이 table을 model.models로 정의한다. 다음과 같이. class TableOne(models.Model): u_id = UUIDField(editable=False, unique=True, null=False, default=uuid.uuid4) create..
2020.03.27 -
20200327 postgresql unnest
1.Postgresql unnest 전에 postgres의 executemany에 관해 포스트한 적이 있는데, ( with psycopg2.connect(host=~~~~) as conn: with conn.cursor() as cur: 에서 cur.executemany()...) 알고보니 exectuemany가 query를 한번에 날리는 것이 아닌 connection을 한번만 할 뿐 query는 똑같이 여러번 한다고 한다. 그럼 더 빠른 query 실행문은 뭘까? 바로 unnest를 활용한 실행문이다. 다음을 보자. def pg_cur(auto_commit=False): with pg2.connect(database=settings.POSTGRES_VECTOR_DB, user=settings.POSTG..
2020.03.27 -
postgres, django_rq.enqueue, collections.counter, 그리고 docker로 환경설정..
1.postgres postgres에서 여러개의 row를 다룰때(특히 insert into?) cur.executemany를 사용하면 한번의 쿼리로 여러개의 row를 처리할 수 있다.( 이거 검색하기전에는 for문으로 넣어야 하는 바보 같은 생각을 했다.) 2. django_rq.enqueue django_rq.enqueue를 사용하면 django 내부에서 query를 처리할 때 queue형식으로 처리하여 좀 더 효율적인 query가 가능해진다고 한다. 한국말로 비동기 작업이라고 한다. 예를 들면, 어떤 서비스에 회원가입을 할 때 인증과정이 필요하다. 이 인증까지의 과정동안에 다른 작업도 처리할 수 있게 하는 것이 비동기 작업이라고 한다. 이건 직접 써보면서 더 익혀봐야 할 것 같다. 참고: https:..
2020.02.29