• DataMapper vs ActiveRecord?

    DataMapper это не только гем, но шаблон проектирования, который часто противопоставляется шаблону ActiveRecord (см. труды Фаулера). Вне rails сообщества эти названия известны именно в таком контексте.
    Однако.
    Во первых гем DataMapper, не самая лучшая реализация шаблона DataMapper, уходящая куда-то вкось. Во вторых он просто уже не разрабатывается.
    Гем ActiveRecord, напротив, едва ли не эталон всеобщей продуманности в мелочах и конечно (как иначе), ActiveRecord разрабатывается активно.

    Присоединяясь к ответу Роман Крылов, скажу что лучший способ реализовать DataMapper в рельсах - построить его вокруг Sequel, прекрасной библиотеки доступа к БД, лишенной многих недостатков ActiveRecord связанных с его врожденной негибкостью (convention over configuration, ага) и проблем с производительностью (подгружает иногда что-то лишнее, редко, но в особых случая это может быть важно).

    Когда использовать одно, а когда другое?
    Если у вас есть возможность проектировать базу данных в соответствии с конвенциями Rails - однозначно используйте ActiveRecord. Вы сэкономите много сил и средств.
    Если вы строите проект над готовой базой или если структура проектируемой БД слишком сложна - используйте Sequel, делайте преобразователи данных, стройте абстрактную, отвязанную от БД объектную модель.
    Ответ написан
    Комментировать
  • Как реализовать авторизацию по паролю/логину через WebSocket + WebStorage и без Cookie?

    0) Этап авторизации по паролю и логину верный.
    1) Как я понимаю, в файле хранится токен аутентификации. Это должен быть результат хеш-функции взятый, допустим из соли+email юзера. (Пароля там точно не должен быть).
    2) Токен должен быть уникальным и длинным. Удостовериться в уникальности можно простыми запросами к базе на этапе генерации.
    3) Токен стоит хранить не в файле, а в базе, в той же таблице что и другие данные юзеров.
    4) Как передаётся токен - не понятно. Надо просто саму строку токена передавать в заголовке запросов и в сервере на этапе аутентификации оттуда вытаскивать и находить в базе юзера по токену.
    5) С локал-стораджем на клиенте проблем быть не должно для такой задачи, если я всё верно понимаю. Просто сохранять/брать значение тогда, когда это нужно.
    Ответ написан
  • Sublime Text 2 виснет на Search and Replace в большом sql-дампе (3,11Мб). Как временно отключить плагины?

    Однажды заметил, что в sublime 2 поиск и замена по большим файлам работает намного быстрее, если выключить режим регулярных выражений.
    Ответ написан
  • Какая память в PS4 используется для CPU, а какая для GPU?

    Помимо 8Гб GDDR5 iFixit нашли ещё 2Гб чип DDR3-2133.
    Мне кажется, именно она используется ОС консоли, под свои нужды.
    Ответ написан
    Комментировать