Идеи на Devdays — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
Строка 30: Строка 30:
  
 
Предложил: Никита Карташов
 
Предложил: Никита Карташов
 +
 +
== jsPerf improved ==
 +
 +
Есть такой сервис для тестирования производительности JavaScript кода -- [http://www.jsperf.com jsPerf].
 +
Суть такова: пользователь публикует набор js-сниппетов, затем с разных браузеров заходят люди,
 +
агрегируется статистика времени выполнения по разным браузерам.
 +
Для таймеров использует benchmark.js, так что суть самого сервиса весьма проста.
 +
 +
Идея в том, чтобы сделать что-то похожее, но исправить недостатки и добавить фичи:
 +
* Достаёт система защиты от спама. Можно было бы использовать OpenAuth (github'а например).
 +
* Очень неудобное редактирование.
 +
** В окошке не работает подсветка, нельзя нажать таб.
 +
** Для всех сниппетов можно определить функции setup и teardown (которые вызываются до и после каждого сниппета). Внутри всё это склеивается в один исходник. При этом, легко допустить какую-нибудь глупую опечатку в названии общей переменной. Было бы неплохо сразу конструировать финальный исходник и прогонять на нём какой-нибудь линтер, сообщая пользователю об ошибках.
 +
* Статистика по версиям браузеров (Chrome 31 и 32 считаются разными) не очень репрезентативна (версии Chrome выходят часто, бывают регрессии/баги). Можно добавить другие способы агрегации статистики:
 +
** По семействам браузеров (Chrome, Firefox, IE).
 +
** По годам (в среднем актуальных на 20??-й год версиях браузеров).
 +
** По проценту пользователей на данный момент (как могут выглядеть усреднённые данные для браузеров, которыми пользуется 60% пользователей на данный момент). Это нужно потому, что некоторые хаки/идиомы с развитием JS VM`ов теряют смысл.  Статистику можно брать оттуда же, откуда берёт [http://caniuse.com/usage_table.php Can I Use].
 +
** Возможность смотреть статистику по разным ревизиям сниппетов будет полезной.
 +
* Возможность объединять бенчмарки в наборы, чтобы можно было кинуть друзьям одну ссылку, которая бы прогоняла все бенчмарки.
 +
* Перезагрузки страниц в 2014-м году -- жуткий анахронизм.
 +
 +
Технологии:
 +
Backend простой -- всё равно, на чём писать.
 +
На frontend хотелось бы React.js.
 +
 +
Лично мне и там, и там хотелось бы попробовать Clojure.
 +
 +
Предложил: Лёша Цветков.

Версия 04:30, 7 октября 2014

Did I ever tell you the definition of insanity?

Темы проектов

Тут пишем идеи. Нумеруйте или подписывайте названия своих идей, чтобы было видно, где начинается новая идея.

Подсказочка: жмём вверхнем правом углу "представиться системе", после авторизации жмём вверху слева "править"

DRY

Расширение для Chrome, подсказывающее фразы при общении в VK и проверяющее написанные сообщения на то, что подобное вы уже писали (то же самое при добавлении песенок и так далее). Также нужно было бы сделать возможность шаблонного общения (в смысле, подсказок, что сказать из шаблонов).

Технологии: HTML, CSS, javascript, вот это все.

Предложил: Никита Карташов.

EasyPassy

После упорного чтения за криптохеши, мне пришла идея сделать дополняху для браузера, которая добавляет в каждому заполняемому полю на страничке (альтернативно: только к <input type="password"/>) выпадающую менюху, где можно выбрать какой-нибудь криптохеш. Тогда вместо того, чтобы запоминать сложные пароли можно просто скормить хешу некий сид, например, "olololpishpish", после чего тот уже отправляет его дайджест. Таким образом, все рады: и сервис (пароль сложный) и вы (пароль для запоминания простой). Я уже джва года жду эту функциональность.

Технологии: HTML, CSS, javascript, вот это все.

Предложил: Никита Карташов

pahom-lang

Вдохновившись LOLCODE написать медленный и беспонтовый, но вполне себе Тьюринг-полный (возможно функциональный) язык программирования, где все управлящие структруы - фразы из известной кинокартины.

Технологии: Java, C++, Python, Haskell, Scala?

Предложил: Никита Карташов

jsPerf improved

Есть такой сервис для тестирования производительности JavaScript кода -- jsPerf. Суть такова: пользователь публикует набор js-сниппетов, затем с разных браузеров заходят люди, агрегируется статистика времени выполнения по разным браузерам. Для таймеров использует benchmark.js, так что суть самого сервиса весьма проста.

Идея в том, чтобы сделать что-то похожее, но исправить недостатки и добавить фичи:

  • Достаёт система защиты от спама. Можно было бы использовать OpenAuth (github'а например).
  • Очень неудобное редактирование.
    • В окошке не работает подсветка, нельзя нажать таб.
    • Для всех сниппетов можно определить функции setup и teardown (которые вызываются до и после каждого сниппета). Внутри всё это склеивается в один исходник. При этом, легко допустить какую-нибудь глупую опечатку в названии общей переменной. Было бы неплохо сразу конструировать финальный исходник и прогонять на нём какой-нибудь линтер, сообщая пользователю об ошибках.
  • Статистика по версиям браузеров (Chrome 31 и 32 считаются разными) не очень репрезентативна (версии Chrome выходят часто, бывают регрессии/баги). Можно добавить другие способы агрегации статистики:
    • По семействам браузеров (Chrome, Firefox, IE).
    • По годам (в среднем актуальных на 20??-й год версиях браузеров).
    • По проценту пользователей на данный момент (как могут выглядеть усреднённые данные для браузеров, которыми пользуется 60% пользователей на данный момент). Это нужно потому, что некоторые хаки/идиомы с развитием JS VM`ов теряют смысл. Статистику можно брать оттуда же, откуда берёт Can I Use.
    • Возможность смотреть статистику по разным ревизиям сниппетов будет полезной.
  • Возможность объединять бенчмарки в наборы, чтобы можно было кинуть друзьям одну ссылку, которая бы прогоняла все бенчмарки.
  • Перезагрузки страниц в 2014-м году -- жуткий анахронизм.

Технологии: Backend простой -- всё равно, на чём писать. На frontend хотелось бы React.js.

Лично мне и там, и там хотелось бы попробовать Clojure.

Предложил: Лёша Цветков.