Archive: 2019/7

0

완전 탐색(Brute-force Search)

완전 탐색(Brute-force Search) 알고리즘 문제알고리즘 해결 전략 1권 p.157 소풍을 간 학생들을 두 명씩 짝 지어 행동하게 하려 한다. 서로 친구인 경우에만 짝을 지어야 한다. 서로 친구인 경우의 쌍이 주어질 때, 학생들을 짝 지을 수 있는 방법의 수를 구현해보자. 데이터 개수 n은 항상 짝수이다.12345678910111213141516

0

MAX HEAP

MAX HEAP 완전이진트리 배열, heapsize(배열의 개수가 아닌 데이터의 개수) Priority Queue 때문에 구현한다. ADT 1) is_empty() -> bool 2) is_full() -> bool 3) push(data) -> 반환없음 4) pop() -> 삭제된 원소 반환 5) top() -> 다음 번에 반환

0

동적 배열 vs 연결 리스트

동적 배열(Dynamic array) vs 연결 리스트(Linked list) 동적 배열(Dynamic array) 장점 : search - O(1) = Indexing 단점 : insert, delete - O(n) python의 동적배열은 list이다. append, pop - O(1)123456789다음과 같이 이미 할당된 배열의 공간이 있을 경

0

트리 순회(Tree traversal)

순회 재방문을 허용하지 않고 트리를 구성하는 모든 노드에 다해서 반드시 한번씩 방문하는 것 Queue 계열의 알고리즘 BFS(Breadth First Search) : 너비 우선 탐색 레벨 순서 순회(levelorder traversal) root를 시작으로 다음 레벨 왼쪽부터 방문123456789101112131415161718192021222324252

0

JQuery의 Autocomplete

지금의 게임 검색 기능은 스팀 앱의 id를 정확하게 알아야만 검색이 된다. 내가 원하는 것은 검색에 한글자씩 칠 때마다 앱 데이터가 바뀌도록 하는 것이었다. 찾아보니 JQuery에 Autocomplete 기능이 있었다. 일단 이 기능을 적용하려고 예제를 가져와서 해보기로 했다. 12345678910111213141516171819202122<link

0

Main Data Crawling에 관해

STEAM IC.의 메인 화면에는 스팀 사이트에서 인기가 있거나 할인하는 제품을 크롤링해서 뿌리고 싶었다. 스팀비비가 그러기도 했고… 근데 막상 크롤링을 해서 뿌렸더니 페이지가 로딩하는 데에도 시간이 꽤 걸렸다. 처음에는 동적인 데이터에 대해서 크롤링하려다보니 selenium을 사용했다. 그랬더니 로딩하는 데에만 7초가 걸렸다. 그래서 다시 beautifu

0

공지 카테고리 분류 하기 - 2

게시글의 목록을 보여주는 view에서 queryset에 대한 filter을 많이 써서 ordering이 되지 않았던 것 같다. 그래서 filter을 다 거치고 나서 마지막에 template로 넘겨주기 전에 order_by를 사용해서 정렬했다. 1paginator = Paginator(documents.order_by('doc_sort', '-create_d

0

공지 카테고리 분류 하기 - 1

공지라는 것은 관리자만 쓸 수 있어야 하고 모든 사람이 잘 볼 수 있게 해야 했다. 일단 게시글의 순서를 정하는 것은 model에서 ordering할 수 있고, view에서도 order_by를 할 수 있다. 일단 게시글 자체는 생성 순서로 해야 했다. 하지만 생성 순서 자체로 하면 공지글도 섞여버리기 때문에 차별해야 했다. 그래서 생각한 것이 trello

0

추천 기능

게시판에서도 빠질 수(?) 없는 것이 바로 추천 기능이다. 인스타그램 클론을 만드는 과정에서 해봤기 때문에 많이 어렵진 않았다. 일단 Document 모델 안에 추천 관련 필드를 만들었다. 게시글은 여러 개가 될 수 있고, 그 게시글을 추천하는 사람도 여러 명이 될 수 있기 때문에 ManyToMany를 사용했다. 12# 추천recommend = models