Coder Social home page Coder Social logo

jongman / algospot Goto Github PK

View Code? Open in Web Editor NEW
141.0 141.0 43.0 4.72 MB

algospot.com, forum + online judge for Korean programming contestants

Home Page: https://algospot.com

Makefile 0.05% Shell 1.11% HTML 26.13% CSS 7.60% JavaScript 44.14% Python 20.93% TeX 0.03%

algospot's People

Contributors

abattery avatar atomaths avatar beingryu avatar corea avatar eonj avatar hhjeong avatar hodduc avatar hyunhwan-bcm avatar imyoyo avatar jeehoonkang-cla avatar jongman avatar kcm1700 avatar quadr avatar riceluxs1t avatar thelibe avatar wookayin avatar xhae avatar yhpark avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

algospot's Issues

로그인 후 이전 페이지로 Redirect 되도록

지금 로그인 하면 메인페이지로 가는데, 리다이렉트 되면 좋겠어영
문제 보다가 로그인 하면 메인으로 가서...

해결방법은 아마 sign in 버튼에다 ?next={주소} 를 달아주면 될 것 같은데,
제가 지금 하고 싶지만 지금은 바빠서...

사진 중복 업로드 문제

사진 추가 시 같은 이름의 파일을 올리면 사진 선택 메뉴에는 사진이 추가되지만 실제 파일 경로는 동일합니다. 같은 이름으로 내용은 다른 파일을 올려도 처음 업로드된 사진이 변경되지는 않습니다. 저장시에는 업로드 파일 이름에 관계 없는 경로 혹은 파일 이름을 사용해야 할 것 같습니다.

ACE 끌 수 있는 버튼 만들기

기본 에디터 사용 / ACE 에디터 사용 으로 토글되는 버튼이 있으면 좋을 듯. 모바일 등 ACE가 골치아픈 환경이 좀 있는 듯..

vagrant 환경에 postfix 설치 (?)

암호 초기화 메일을 보내는 기능에서 에러가 발생했습니다. 디버깅을 해보니 단순히 메일 서버가 설치되지 않아서 발생하는 에러였습니다.

ansible 설정을 봤는데 chicago.playbook에는 postfix 설치가 있지만 dev.playbook에는 없네요. 현재 Vagrantfile에서는 dev.playbook을 사용하는 것으로 되어 있고요.

의도한 것인지 버그인지 잘 모르겠지만 일단 이슈를 남깁니다. 감사합니다.

위키, 문제 내용에 대한 API

위키 페이지나 문제 디스크립션 내용을 가져올 수 있는 API 가 있으면 좋을것 같습니다.
다른 기능들도 제공하는 일반적인 RESTful API 를 만들기에는 너무 공수가 크기 때문에 먼 미래에 하기로 하고..

목적: 문제 조판 작업이나 위키를 가져와서 스태틱 사이트에서 보여주는 등의 용도로 사용할 수 있음.

API 인증같은건 매우 번거로운 일이긴 한데 뭐 일단 그냥 세션기반 회원 인증이라도 [...]

댓글에서 URL과 함께 < > 사이에 문자를 넣는 경우 없어지는 문제

예를 들어 다음의 댓글을 달았다고 하면,

다음 링크를 참조하세요 : http://stackoverflow.com/questions/3559344/error-no-matching-function-for-call-to-make-pairint-quest
일단 19번째 Line을 다음과 같이 고치면 정상적으로 컴파일 되는 것 같습니다 :)
    int& ret = cache[make_pair<string,string>(string(pattern), string(input))];

실제 내용은 다음과 같이 보입니다!

다음 링크를 참조하세요 : http://stackoverflow.com/questions/3559344/error-no-matching-function-for-call-to-make-pairint-quest
일단 19번째 Line을 다음과 같이 고치면 정상적으로 컴파일 되는 것 같습니다 :)
    int& ret = cache[make_pair(string(pattern), string(input))];

AYAH 모듈 에러

USE_AYAH가 False임에도 불구하고 모듈 임포트를 시도하다가 실패하므로 수정.

프론트엔드 코드 다시 쓰기

#63 을 닫고 다시 씁니다.

어차피 테마 정리라는 게 보통 일이 아니다 보니, 프론트엔드 코드를 싹 다시 쓰려 합니다.

목적

  • 다양한 디스플레이 환경에 대응 (특히 모바일)
  • 프론트엔드 코드가 스파게티라 유지보수가 어려울 지경 (제가 좀..)
  • 현재 테마를 외부에서 사온것이다보니 테마에 대한 이해가 부족해 기능 확장에 어려움 있음
  • CDN 관련 문제 대응: https://algospot.com/forum/read/1794/#c11745
  • 쓰이지 않는 스타일/자바스크립트 코드, 가져온 스타일시트 내에서 잘못된 이미지 참조로 인한 404 등등 가려운 부분을 해소할 필요 있음
  • 테마 중 계속된 수정을 거쳐 일부분 부자연스럽게 된 부분 수정

방법

  • 현재 스타일링을 최대한 유지하며 Bootstrap 기반의 레이아웃으로 변경
  • 템플릿 코드들 새로 작성 (haml-ish한 마크업 도입 검토)
  • 자바스크립트 코드를 모듈 단위로 나누어 리팩토링

고민이 필요한 부분

  • IE 서포트 어느 정도까지 할 것인가(...)

문제별 해법 섹션 추가

문제의 해법을 문제별로 적을 수 있고 (위키처럼) 이를 볼 수 있는 페이지 만들기.

  • 정책: 안 풀어도 볼수 있음, 맞아야만 볼수 있음, 비공개 (운영진 전용)
  • 권한: 누구나 편집 가능, 맞은 사람만 편집 가능, 문제 출제자만 수정 가능

댓글 수정 기능

근데 어떻게 만들지?

  • 댓글(코멘트) 수정 기능
  • 히스토리/리비전 저장?

README 수정

README가 불친절한 부분들이 조금 있으므로 수정.

개발 환경에서 새 사용자가 글을 쓸 수 없음

#83 고치려다가 발견한 사실인데.. make init && make runserver 띄우고 새 사용자 가입해서 글 쓰려고 하면, 퍼미션이 없어서 글이 안 써짐.

fixture에 해당 퍼미션을 넣어 주는 것으로 해결 가능할 듯..

css 관련 (issue #75 bug fix)

article header가 게시글 표시하는 페이지 외에도 사용되고 있었군요. 다른 페이지에 대해서는 확인을 못 했는데, 두 번 일하시게 해서 죄송합니다 ㅠㅠ

display 옵션이 디비젼의 크기를 내용에 딱 맞추는데 width 옵션이 없어서

  • 제목의 아래 테두리가 제목 길이에 맞춰서 표시됨
  • 게시판의 글쓰기 버튼이 게시판 이름 바로 옆에 배치

와 같은 변경점이 발생했는데, article header에

width: 100%;

옵션을 추가로 걸어 주면 해결됩니다.

검색기능에서 권한 없는 게시물 검색되지 않도록

권한이 세분화되어있으면 어려운 task이겠지만 현재는 admin only or public 둘중 하나밖에 없으므로..

  • 인덱싱 시 제외(?)하거나
  • 어드민 권한이 있는 사람이 private 게시판 검색할때는 보이도록

인덱싱 시 필드를 넣어야.. 그런데 검색 모듈 구조상 이런 추가 필드를 넣을 수 있어야 하나.. (한숨)

새 플로팅 라이브러리/환경

지금까지 Google Charts API를 써서 문제별 통계/사용자별 통계의 차트를 보여주고 있었는데, 이미지 API가 2012년부로 deprecate 됨.... 2015년 언젠가부턴 안된다는데 1년안엔 고치겠지? ^^

글 제목이 두 줄 이상일 때 글 내용이 제대로 표시되지 않는 문제

Firefox 34에서 게시판의 글 제목이 두 줄 이상일 경우 글 내용이 표시되지 않습니다.

article header의 height가 27px로 고정되어서 생기는 문제로 보이며, 이 부분(style.css 358번째 줄)을

display: inline-block;

로 수정했을 때 Firefox와 IE에서 정상적으로 나타나는 것을 확인했습니다.

런타임 오류 스택 트레이스 출력

원래는 런타임 오류 디버깅하는 것도 문제의 하나라고 생각해서 숨겼는데, 자바 같은 경우엔 런타임 오류 질문 줄이는 좋은 방법일 듯..

알림 (Notification) 기능

BOJ나 페이스북의 그것처럼 알림기능 만들기

  • 얼마나 유지할 것인지?
  • 웹페이지에서만 보여준다?
  • 대상 및 알림 조건
    • 리저지 됐을때 (!?)
    • 누군가가 자신의 activity가 있는 글에 댓글을 달았을 때

범람하면 어쩌지
왠지 이런거 해주는 장고 모듈이 있을거같은데

통계 메뉴에 특정 언어로 제출된 채점 필터링 뷰 추가

이를테면 현재 https://algospot.com/judge/problem/stat/ZEROONE/ 에서는 한 사용자에 대하여 그 사용자가 짠 가장 짧은 코드, 가장 빠르게 작동하는 코드, 만 보여주도록 되어 있는데 ...

한 사용자가 여러 프로그래밍 언어를 써서 채점을 받는 경우를 고려하여, 특정 언어에 대한 필터링 옵션을 줄 수 있도록 확장하면 재미있을 것으로 봅니다.

JS cleanup

JS 파일이 상당히 많은데, 정리를 좀 해 보겠습니다.

avatar 사진 갱신 문제

새로이 avatar사진을 올릴 경우 이것이 제대로 갱신이 아니되어 caching 되어있는 사진을 보여주는 것 같습니다.

확인 해보니 settings.py내의 다음과 같이 특정 크기에 대해 자동으로 avatar image를 갱신하는 부분의 경우에 문제가 발생하는 것으로 확인했습니다.

AUTO_GENERATE_AVATAR_SIZES = (45, 80, 120) # 45, 80, 120 사이즈에 대해 이전에 저장된 이미지가 보임
AVATAR_STORAGE_DIR = "avatars"
AVATAR_GRAVATAR_BACKUP = False
AVATAR_DEFAULT_URL = "/images/unknown-user.png"

AUTO_GENERATE_AVATAR_SIZES를 아예 empty로 비워두거나 해당 부분에 대해 확인이 필요할 것 같습니다.

뉴스피드 권한 연계

지금은 public read access가 있는 경우만 뉴스피드에 표시하고 있는데, 이를 개선해서 개인화된 뉴스피드를 제공한다

"튜토리얼" 페이지

위키 말고, 탑코더 튜토리얼같이 토픽 신청받고, 작성자가 작성하면 운영진이 큐레이션해서 올리고.. 이런거 하면 튜토리얼이나 강좌를 활성화하는 데 도움이 될까?

scala 설치 안되어 있을 때 프로비저닝 실패

TASK: [checking wheter scala exists ...] **************************************
failed: [default] => {"cmd": "scalac -version", "failed": true, "rc": 2}
msg: [Errno 2] No such file or directory
...ignoring

TASK: [download scala 2.11.1] *************************************************
fatal: [default] => error while evaluating conditional: scala_version.stderr.find('2.11.1') == -1

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
           to retry, use: --limit @/home/hodduc/dev.playbook.retry

default                    : ok=13   changed=4    unreachable=1    failed=0

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

scala가 아예 설치가 안 되어 있는 초기 세팅 상황에서 프로비저닝이 실패하는 문제가 있습니다.
download scala, install scala 태스크의 when 조건을 scala_version|failed or scala_version.stderr.find('2.11.1') 로 바꾸니 잘 동작하네요~

글쓰기 가이드 제공

  • 템플릿을 통해 질문과 답변 게시판에는 질문 가이드라인을 표시
  • md 파싱해서 특정 키워드가(#include 등) 본문에 쌩으로 있으면 제출 불가능하도록
  • 무조건 preview -> submit으로 변경....?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.