목록2020/08 (21)

수학과의 좌충우돌 프로그래밍

byebug 팟캐스트 출연 후기, 세상에 나같은 개발자는 없다

아는 지인들이 운영하고 있는 팟캐스트에 참여했습니다! http://www.podbbang.com/ch/1772616 byebug - 우리들의 개발 이야기 힙스터 개발자 영슨, 모범생 개발자 마루, TMI 개발자 원노와 함께 스타트업, 개발자들에 대한 우리들의 개발 이야기를 합니다. www.podbbang.com 팟캐스트 채널에 대해서 간단히 소개를 하자면 힙스터 개발자 영슨, 모범생 개발자 마루, TMI 개발자 원노 세 명의 개성 넘치는 개발자들과 함께 개발과 관련된 여러 소식을 들을 수 있는 유익한 채널입니다. 최신 이슈들이나 공부법, 스타트업 이야기 등 재미난 이야기도 많이 있으니 한 번 들어보시는 걸 추천드립니다. 그러면 다들 관심 없으시겠지만! 제가 출연한 #025 [세나개] 추월보다 초월을 꿈꾸..

카테고리 없음 2020. 8. 29. 05:35
[Django] ORM Cookbook, 항목을 생성·갱신·삭제하는 방법

해당 포스팅은 Django ORM CookBook 을 공부하며 새로 알게된 사실이나 더 나아가 추가적으로 같이 알면 좋을 내용을 정리하고 있습니다. 1. 여러 개의 행을 한 번에 생성하기 여러 개의 데이터를 저장하기 위해서 create() 함수를 여러 번 쓰는 것은 비효율적입니다. DB와 연결 후 저장을 하고 연결을 끊게 되는데 쿼리가 여러 개면 이 과정을 무의미하게 반복됩니다. 따라서 저장할 데이터가 많을 경우 한 번에 저장하는게 좋습니다. Django에서는 bulk_create 를 제공해줍니다. 이 함수는 아직 저장되지 않은 객체를 담은 리스트를 인자로 받습니다. categories = [Category(name='a'), Category(name='b')] category = Category.obj..

웹프로그래밍/Django 2020. 8. 27. 19:39
[Django] ORM Cookbook, 정보를 조회하고 필요한 항목을 선별하는 방법(2)

해당 포스팅은 Django ORM CookBook 을 공부하며 새로 알게된 사실이나 더 나아가 추가적으로 같이 알면 좋을 내용을 정리하고 있습니다. 10. JOIN SQL에서는 JOIN문을 이용해 동일한 값을 가진 열을 기준으로 두 테이블을 결합할 수 있습니다. django에서도 JOIN을 할 수 있는 방법이 존재합니다. select_related 모든 Post를 가져오는 간단한 쿼리를 살펴봅시다. post_all = Post.objects.all() 이에 대한 SQL 질의문입니다. 놀랍게도 Post에 대한 질의문과 Post와 OneToOne으로 연결되어 있는 User에 대한 질의가 함께 이루어집니다. Post가 N개 있다면 각 Post에 해당하는 User를 조회하기 위해 N번의 추가적인 질의가 이루어집..

웹프로그래밍/Django 2020. 8. 27. 19:34
[Algorithm] 위상정렬

위상정렬이란? 위상 정렬은 순서가 정해져있는 작업 차례로 수행해야 할 때, 그 순서를 결정해주는 알고리즘입니다. 그림을 보며 이해해봅시다. 다음과 같은 그래프에서 앞선 작업 2,3이 끝나야 뒤 작업 4가 이루어질 수 있으며 이 때 둘 중 무엇을 먼저 끝내던 규칙에 위배 되지 않기 때문에 경로는 여러 개가 나올 수 있습니다. 단 위상정렬이 성립하기 위해서는 DAG여야 합니다. DAG란? Directed Acyclic Graph의 줄임말로 사이클이 존재하지 않는 방향 그래프입니다. 만일 위 그림에서 5이 1에 연결되었다면 시작점이 존재하지 않기 때문에 위상정렬이 성립할 수 없습니다. 위상 정렬 원리 위상 정렬이 어떤 원리로 동작하는지 살펴봅시다. 위상 정렬을 스택이나 큐를 사용하여 구현할 수 있지만 큐를 사..

알고리즘/이론 2020. 8. 27. 00:17