Dobroserver

Донорство крови

Кроводача тот редкий случай когда хорошо и вам и другим. Стимуляция и обновление организма и важная помощь кому-то ещё. Маленькая радость перфекциониста.

Синоби

Где-то с июня прошлого года я захотел купить себе мотоцикл. Этот пост о получении категории «А» и первых впечатлениях от пластиковой ракеты.

Capistrano 3

Capistrano обновился до третьей версии, multistage из коробки и ощутимый прирост скорости.

Итоги 2013

Valhalla, I am coming.

exception_notification для мониторинга ошибок

Иногда ошибки возникают в production среде. Их не очень просто отловить даже если ошибка возникла из-за непосредственно ваших действий — нужно лезть в логи.

А если ошибка проявилась у пользователя, то вы вообще можете о ней никогда не узнать.

Чтобы быть в курсе дел можно использовать трекеры ошибок, например Airbrake и его opensource альтернативу Errbit.

Но в случае если приложение простое, например этот блог, можно ограничиться отправлением ошибок на почту при помощи exception_notification.

Вам автоматически будут приходить уведомления на почту, когда что-нибудь сломается:

Для четвёртых Рельс подключается так:

Gemfile #

gem 'exception_notification'

config/environments/production.rb #

В блок config добавить ваши настройки:

config.middleware.use ExceptionNotification::Rack,
    email: {
    email_prefix: "[dobroserver][error] ",
    sender_address: "server@domain.tld",
    exception_recipients: "admin@domain.tld",
    email_format: :html
  }

That's all folks!

Лазерная коррекция зрения

Восьмого октября я сделал лазерную коррекцию зрения.

Я вижу отражение информационного табло, находящегося сзади меня, в проезжающих мимо автобусах. И даже могу его считать.

Окей, если мне надоест писать на Руби, я и мой славный карабин почистим Гудзон от команчей.

Предварительная проверка #

Помимо прочих условий есть два обязательных — зрение не должно изменяться и толщина роговицы должна быть достаточной.

Если размер глазного яблока меняется — то операция лишена смысла, потом потребуется делать ещё одну докоррекцию, если это будет возможно. Это причина по которой лазерную коррекцию не делают до 18, организм активно растёт.

Если роговица слишком тонкая, то 100% зрение маловероятно и могут возникнуть осложнения.

Первый этап: обследовать глаза там где предполагаете делать лазерную коррекцию. И сделать это ещё несколько раз за полгода, чтобы убедиться что показатели статичны и благоприятны.

Движок блога обновлён до четвёртых Рельс

GitHub #

https://github.com/ksevelyar/dobroserver

Что нового? #

  • Глобальные переменные вынесены в config.yml.
  • Соблюдение инкапсуляции.
  • Тотальный DRY.
  • Покрытие тестами 95%.
  • Сapistrano 3.
  • Для парсинга markdown разметки теперь используется Redcarpet.
  • Оптимизация базы данных (запросы, индексы, структура).
  • Обновлены стили для формы редактора.
  • Для моделей Page и Post используется Single Table Inheritance.
  • Лицензия MIT.
  • Чистка от мусора.

И множество мелких исправлений.
Теперь у меня будет больше времени писать в сам блог, чем в его код.

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

При разработке возникает вопрос хранения глобальных переменных:

  • токены для сторонних сервисов
  • почта куда будут приходить уведомления
  • url сайта для майлеров
  • ключ для шифрования cookies

И всё в том же духе.

Есть две причины вытащить все эти вещи в отдельный файл — удобство редактирования настрок и удобство исключения всего одного файла из репозитория (из соображений безопасности).