Я джва года хотел саит! (с) классик
http://www.codeabbey.com — а вот и он, встречайте! Ультрасовременный дизайн апеллирующий к временам когда вебсайты рисовали каменными топорами на шкурах! Множество сложнейших задач типа A+B
, и A+B+C
и даже A+B+C+D
!
...
Русская версия этого поста немного отличается от английской.
Года три назад я был одержим наивной идеей написать Online Judge на манер TopCoder, потом я хотел сделать соревнования ботов для внутрикорпоративного использования, потом ещё что-то... Все эти идеи быстро приходили в упадок :)
Прошлой осенью я решил наконец выучить PHP
и вернулся к идее сайта с задачами — хотя бы для начинающих программистов.
Однако в самом начале выяснилось что сервера для тестирования решений и нужной инфраструктуры "пока" не будет, поэтому идея поменялась и функционал сайта стал похож на ProjectEuler или Rosalind — т.е. критерием решения задачи является отправленный ответ.
Отличия от ProjectEuler в том что исходные данные к задачам всё-таки более рэндомны, нет уклона в математику — плюс решения других участников можно смотреть (после того как решил задачу сам). Кроме того сначала я хотел сделать чтобы некоторые задачи нельзя было решить прежде каких-то других, но за эту "фичу" получил негодование от пользователей и перестал её использовать. Теперь задачи просто сортируются по количеству решивших (внутри разделов) — т.е. примерно по относительной простоте — и большинство решает их сверху вниз.
Недавно появился функционал для добавления задач за которые можно получать произвольное количество очков — т.е. ответ на которые может быть более или менее оптимальным.
...
Основной проблемой (ну, кроме дизайна, низкой посещаемости, ошибок в SEO) как обнаружилось является мой недостаточный опыт в решении и изобретении задач. Как результат — большинство задач очень простые, многие на тупую реализацию алгоритма по написанному. (т.е. это сайт не для СП-энтузиастов, а именно для начинающих, школьников изучающих языки и .п.) Вот пример "очень сложной" задачи (по позитивным отзывам пользователей) — сводящейся к простому ДП.
Как результат — некоторые задачи кажущиеся мне банальными вызывают сложности у пользователей — и наоборот, иные я долго-долго придумываю и, как оказывается, упускаю очевидное простое решение. Очень стыдно!
Поэтому кроме критики/предложений/идей которые я рад буду получить, мне в перспективе было бы приятно вступить в тайный союз с каким-либо автором учебно-программистского блога (чтобы обмениваться ссылками), любителем выдумывать задачки (годятся просто идеи, авторство будет указано) или просто гуру у кого порой можно было бы консультироваться по идеям новых задач :)
Сайт совсем-совсем бесплатный (хотя некоторые функции доступны лишь с определённого уровня). Я сначала хотел было монетизировать его с помощью небольших рекламных баннеров, но понял что миллионов я таким образом не заработаю и убрал чтоб не раздражать пользователей. :D
Попробуйте прежде пару-тройку раз придумать задачи для раунда ЦФ и возможно даже станете автором. Наберетесь опыта в этом деле и сделаете для себя выводы. З.Ы. ИМХО
Было бы здорово если бы вы или кто-нибудь другой создал пост о придумывании задач для ЦФ и подготовке раундов — о том что для этого требуется, сколько усилий уходит, как выглядит взаимодействие с командой CF — я несколько раз просил об этом разных авторов, они соглашались и обещали этим заняться как только найдут время, но пока увы...
Just have to say, I love the design. It might not be super polished, but it's well thought of from a UX point of view and feels very good to me.
Thanks, you are too kind :)
I should say that many users' advices helped me improve it significantly, so I'm greatly thankful to them.
Which technology stack do you use?
Initially my goal was to learn
PHP
(because I'm java developer by occupation), so the stack is quite simple:PHP
(with PhpLayout — my own light framework) andMySQL
.UPD: well, of course here are few minor details:
SVG
;javascript / jQuery
either withcanvas
or with JsMonoTerm — example1, example2.do you consider to open source the CodeAbbey?
I see no great reason for this, though the early version of it really is opened at http://sourceforge.net/projects/messcoder/
Though I really consider making some open-source additions to it — they'll be in
PHP
andJavaScript
. One of them which is "at hand" is kind of BrainFuck debugger...A few suggestions about security and UX:
Thanks a lot for your elaborate research on the functionality and vulnerabilities! I'll try to answer to each point below:
This is a great website and i appreciate your idea but i have an opinion : you can change the design and make it better and set many contests like CF :)
Site for a beginner from a blue, lol. Bro, practice and maybe you will get purple one day. Don't get into this bullshit crap. Thank me later! :)
I think you have lost it . Last time he participated was in 2014 and he left coding competition with his best rank that shows that he could have reached more and more if he would have continued............So so can't throw tantrums at him like that :(