Category: 개인 프로젝트

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

0

게시판 디자인

게시글을 쓰거나 수정하는 화면을 디자인했다. html과 css는 구현할 때마다 직접 찾아서 구현하다보니 이제는 어느정도 레이아웃 개념에 대해서 알아가지만 제일 어려운 것은 grid system인 것 같다. 그리고 게시글의 카테고리 중에 공지가 있는데 다른 게시판을 참고해보면 공지 글들은 다른 색으로 되어있고 항상 최상단에 배치되어 있는데 이걸 다음에 구현

0

게시글 수정 및 디자인

게시글이 수정될 때는 제목과 내용이 그대로 나오듯이 앱 데이터도 그대로 나와야 한다. 그래서 다음과 같이 JQuery로 구현했다. hidden 옵션이 적용된 input 태그 안에 id_app_name에 value 값으로 조건을 잡았다. 그리고 있다면 게시글을 생성할 때와 마찬가지로 마크업 문법을 쓰려고 append()와 attr()를 찾아서 구현했다. 12

0

forms.HiddenInput()

view에 다음과 같이 해당 스팀 앱의 id를 적으면 json 형식으로 해당 앱의 정보를 받을 수 있게 구현했다. 123456789101112131415161718192021222324252627282930313233343536373839404142def steam_app(request): app_id = request.GET.get('search',

0

CORS jQuery Plugin!

오늘도 역시 게임 검색 구현 중이다. 그런데 다음과 같은 jQuery Plugin을 찾아냈다! http://www.ajax-cross-origin.com 그래서 얼른 추가해서 해봤는데 잘 받아왔다. 그런데 바로 막혔다… 찾아보니 너무 많은 요청을 단 시간에 해서 차단된 것 같았다. 그리고 위 사이트에서 다음과 같은 주의를 보았다. Note: Google l

0

jsonp?

오늘도 게임 검색 기능을 구현해본다. 계속 삽질(?)을 하면서 ‘동일출처정책’이라는 것과 관련되있다는 것을 알았다. Cross Domain 관련 issue인데 이것은 나중에 자세하게 정리하려한다. 일단은! 이것을 우회(?)하려고 여러가지 방법을 쓰다가 jsonp라는 것을 알게 되었다. ajax 호출은 동일한 도메인에서만 호출이 가능하다는 점을 알게 되었다.

0

Search 글자 수 제한!

검색 기능을 테스트해보면서 한 글자로 찾으니까 문제가 있다는 것을 알았다. 예를 들어, ‘a’로 찾으면 원하는 검색 결과가 제대로 나오지 않았다. 두 글자 이상에서만 문제가 없는 것을 발견하여 JQuery를 이용하여 다음과 같이 해결했다. 123456789101112131415161718192021{% block extra_script %}