Ruby, Ruby on Rails
JavaScript, CoffeeScript

Опыт оффлайн предпринимательства и стартапов.
Контакты

Достижения

Все достижения (8)

Наибольший вклад в теги

Все теги (34)

Лучшие ответы пользователя

Все ответы (25)
  • Древовидные комментарии

    GearHead
    @GearHead
    Fullstack разработчик и предприниматель
    не надо никаких деревьев и parentID. из-за них вы можете столкнуться с JOIN'ами или проблемой (n+1) запросов. всё проще:
    1) выберите признак, по которому сортируете комменты в топике. к примеру это created_at.
    2) для всех комментов храните created_at и parent_created_at. для корневых кладите в parent_created_at значение created_at.
    3) Выборка ORDER parent_created_at DESC, created_at DESC получает комменты в нужном порядке
    4) при рендеринге проверкой parent_created_at равно created_at — без отступа, не равно — с отступом
    5) ?????
    6) PROFIT дерево комментов с макс. уровнем вложенности равным двум
    Ответ написан
    4 комментария
  • Лицензия Open Source проекта

    GearHead
    @GearHead
    Fullstack разработчик и предприниматель
    Об Apache License:
    > Данная лицензия не ставит условием неизменность лицензии распространения программного обеспечения, и не настаивает даже на сохранении его бесплатного и открытого статуса. Единственным условием, накладываемым Apache лицензией, является информирование получателя о факте использования исходного кода, лицензированного под лицензией Apache.

    В общем, если сохранение всеми форками открытого статуса — необходимый критерий, то вам смотреть только в семейство GPL. Если с продуктом подразумевается линковка проприетарщины, то LGPL, иначе чистая.
    Ответ написан
    3 комментария
  • Тяжелые скрипты и ruby on rails?

    GearHead
    @GearHead
    Fullstack разработчик и предприниматель
    для rails существует не мало написанных скедулеров. общий принцип работы с ними: устанавливаете гем, указываете в инициализаторе настройки запуска, и затем пишете сами задания полностью в скопе rails (с activerecord и прочими плюшками).
    конкретнее можете посмотреть это:
    backgroundrb.rubyforge.org/
    github.com/tobi/delayed_job
    github.com/javan/whenever
    Ответ написан
    Комментировать
  • Функция jQuery — антипаттерн God Object?

    GearHead
    @GearHead
    Fullstack разработчик и предприниматель
    Функция jQuery, т.е. сама по себе $(smth) — standalone-функция, возвращающая набор DOM элементов в особой обёртке. Все функции $.smth (к примеру $.each, $.get и т.д.) просто в отдельном пространстве имён. Здесь нет никакого God Object. Иначе отделение мат. функций в объект Math все бы тоже называли этим антипаттерном.
    Ответ написан
    1 комментарий
  • MongoDB для агрегации данных

    GearHead
    @GearHead
    Fullstack разработчик и предприниматель
    Map/Reduce — одно из главных направлений развития MongoDB, производительность её на таких операциях (если всё сделано грамотно) гораздо выше, чем на MySQL. однако не стоит по одному этому поводу сразу бросаться её использовать. у mongo оочень много подводных камней, о которых вы никогда не задумывались в MySQL, как то: агрессивное кеширование всего data-set'а (нет смысла запускать mongo с большим набором данных, если там крутится ещё что-то кроме монго) и global write lock (монго в общем-то создана для быстрого чтения, но вставка в ней — ад и ужас)
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (9)