Undr

На память

Записи категории ‘Документация’

Презентация. Как работает шардинг в MongoDB

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (3 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Написал undr ()

22 августа 2011 в 10:00

Русский язык и \w в регулярках

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Для того, чтобы выбрать все буквы, в регулярных выражениях используется выражение \w.

"Bla-bla-bla! (c)".gsub(/[^\w]/u, '') # => "BlaBlaBlac"

С русским языком такое не получится:

"Бла-Бла-Бла! (с)".gsub(/[^\w]/u, '') # => ""

Самое первое что приходит на ум это:

"Бла-Бла-Бла! (с)".gsub(/[-я]/iu, '') # => "БлаБлаБлас"

Оппана! Вроде работает, но на самом деле, это не корректное выражение. Пример:

'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБЮйцукенгшщзхъфывапролджэёячсмитьбю1234567890=/!"№%:,.;()_+!@#$%^&*()'.gsub(/[-я]/ui, '')
# => "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю"

Буквы ё и Ё потерялись. Правильно так: /[-яё]/ui

'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБЮйцукенгшщзхъфывапролджэёячсмитьбю1234567890=/!"№%:,.;()_+!@#$%^&*()'.gsub(/[-яё]/ui, '')
# => "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЁЯЧСМИТЬБЮйцукенгшщзхъфывапролджэёячсмитьбю"

Написал undr ()

19 августа 2011 в 16:46

Что же такое Railtie, Engine и Plugin?

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (5 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Railtie

Railtie – это ядро фреймворка, обеспечивает возможности для расширения Rails и/или изменения процесса инициализации.

Каждый основной компонент Rails (ActionMailer, ActionController, ActionView, ActiveRecord и ActiveResource) является Railtie, так что каждый из них сам несет ответственность за свою инициализацию. Например, это освобождает Rails от каких-либо привязок к ActiveRecord, позволяя другой ORM работать с Rails.

Создание расширений для Rails не требует какой-либо реализации Railtie, но, если Вы хотите взаимодействовать с Rails во время его загрузки или после нее, Railtie – это то, что Вам нужно для такого взаимодействия. Например, чтобы реализовать в плагине одно из ниже перечисленного Вам бы понадобился Railtie:

  • создать свои инициализаторы Rails::Initializable#initializer
  • конфигурировать Rails или приложение, например чтобы добавить свой генератор
  • добавить свои ключи в config.* для конфигурации среды (environment)
  • установить подписку на события ActiveSupport::Notifications
  • добавить rake задачи в Rails

    Читать далее »

Написал undr ()

1 апреля 2011 в 00:15

Соответствие MySQL и MongoDB запросов

with 8 comments

1 Star2 Stars3 Stars4 Stars5 Stars (15 голосов, средний: 4.73 из 5)
Loading ... Loading ...

Эта шпоргалка создана для того чтобы упростить переход с SQL баз данных на MongoDB. В ней остались не затронутыми многие особенности и возможности MongoDB, неимеющие аналогов в SQL, такие как MapReduce, например. Или те о которых я незнаю. Это просто список соответствий MySQL запросов и запросов MongoDb.

Читать далее »

Написал undr ()

27 января 2010 в 11:20

Проверка данных моделей ActiveRecord и функции обратного вызова. Первая часть.

with one comment

1 Star2 Stars3 Stars4 Stars5 Stars (6 голосов, средний: 4.00 из 5)
Loading ... Loading ...

Перевод Active Record Validations and Callbacks

Это руководство описывает цикл жизни объектов Active Record. Вы узнаете, как проверить состояние объектов прежде, чем они попадут в базу данных, и как выполнить собственный код в определенных моментах цикла жизни объекта.

Прочтя это руководство, Вы сможете:

  • цикл жизни объектов Active Record
  • Использовать встроенные помощники для проверки состояния данных модели
  • Создавать свои собственные помощники для проверки состояния данных модели
  • Работать с сообщениями об ошибках, которые генерируются в результате этих проверок
  • Создавать функции обратного вызова, вызываемые на разные события происходящие в течении жизни объекта
  • Создавать специальные классы, которые будут энкапсулировать общее поведение для функций обратного вызова
  • Создавать классы-наблюдатели, которые будут отвечать за вызов соответствующих методов в ответ на события происходящие в течении жизни объекта

    Читать далее »

Написал undr ()

11 ноября 2009 в 17:42

Реализация google protocol buffers на php

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (2 голосов, средний: 5.00 из 5)
Loading ... Loading ...

phpbuf – реализация google protocol buffers на php.

Эта библиотека не имеет пока генераторов кода. Классы сообщений нужно писать самому. Благо что пишутся они очень просто.

Читать далее »

Написал undr ()

15 октября 2009 в 19:55

Настройка Rails приложений

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (2 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Перевод: Configuring Rails Applications

Это руководство описывает настройку Rails приложений, и инициализацию разных возможностей, доступных для Rails приложений . Прочтя это руководство, Вы сможете:

  • Корректировать поведение своих Rails приложений
  • Добавлять дополнительный код, который будет выполнен на этапе загрузки приложения

    Читать далее »

Написал undr ()

13 октября 2009 в 13:03

Интерфейс запросов ActiveRecord

with 3 comments

1 Star2 Stars3 Stars4 Stars5 Stars (2 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Перевод: Active Record Query Interface

Это руководство описывает различные способы получать данные от базы данных, используя ActiveRecord. Прочтя это руководство, Вы сможете:

  • Искать записи в базе данных с помощью множества методов и всевозможных условий
  • Определять сортировку, требуемые атрибуты, группировку и другие свойства для поиска записей
  • Использовать отложенную загрузку, чтобы сократить количество запросов к базе данных, необходимых для поиска
  • Использовать динамические методы поиска
  • Создавать именованные области видимости (named_scope), для добавления новых средств поиска Ваших моделей
  • Проверять существование определенных записей
  • Выполнять различные расчеты в моделях ActiveRecord

    Читать далее »

Написал undr ()

22 сентября 2009 в 23:29

Размещено в Документация

Метки: , , , ,

Глобальные переменные ruby

with 2 comments

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

$!  # последнее сообщение об ошибке
$@  # место ошибки
$_  # последняя строка прочитанная с помощью gets
$.  # номер строки исполняемой интерпретатором
$&  # последняя совпавшая строка при использовании регулярных выражений
$~  # последнее совпадение при использовании регулярных выражений (массив подвыражений)
$n  # n-ное подвыражение в последнем совпадении при использовании регулярных выражений (тоже что и $~[n])
$=  # case-insensitivity flag
$/  # input record separator
$\  # output record separator
$0  # имя исполняемого ruby файла
$*  # параметры командной строки
$$  # идентификатор процесса интерпретатора
$?  # код с которым завершился последний дочерний процесс

Источник

Написал undr ()

18 сентября 2009 в 15:04

Краткое руководство по named_scope

without comments

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

class User < ActiveRecord::Base
  named_scope :active, :conditions => {:active => true}
  named_scope :inactive, :conditions => {:active => false}
  named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago]
  } }
end

Читать далее »

Написал undr ()

18 сентября 2009 в 14:37