• +1
    Да, я с этим совершенно не буду спорить. Скорее писал его для себя, как памятку, и для того, чтобы скинуть кому-нибудь ссылку.

    А что касается юникорна и zero-downtime деплойменту дело вот в чем: при запуске юникорн создает процесс-мастер, который читает config/unicorn.rb (обычно) и создает какое-то кол-во воркеров — своих форков; и мастер же обслуживает unix-сокет. При получении сигнала на рестарт, мастер-процесс перестает распределять новые запросы из unix-сокета (куда их отправляет nginx) между детьми, он как раз запускает новый мастер, и ждет, пока тот поднимет нужное кол-во воркеров, а воркеры текущего вернут результаты обработки запросов и тогда они тоже гасятся. Потом передает бразды правления сокетом новому мастеру и само-уничтожается.
    Рубин на рельсах: продакшен и деплой для чайников
  • +2
    Замечание к статье: у вас не zero-downtime деплоймент. Вы сначала гасите все юникорны, а потом поднимаете. Будет даунтайм. Чтобы не было даунтайма, нужно рестартовать юникорны через сигналы. В моей инструкции (см. выше) это учтено (так же как и автоматическое поднятие юникорнов после перезагрузки сервера через init.d-скрипты).
    Рубин на рельсах: продакшен и деплой для чайников
  • +2
    Оставлю это здесь: wiki.summercode.com/rails_deployment_step_by_step_to_ubuntu — пошаговое руководство по настройке деплоймента рельсо-приложения на один продакшн-сервер (там есть один нюанс в том, что статья основана на Capistrano 2.x, а не на 3-ем, у меня руки все никак не дойдут обновить)
    Рубин на рельсах: продакшен и деплой для чайников
  • +2
    Скажите, а длина видео-ролика в 4:04 это случайность, или я просто первый заметил? :)
    Сколько часов в день может работать программист? Версии ответа из Яндекса
  • +2
    Я недавно тоже озадачился поиском облачного решения хранения файлов. Так же, как и у автора, в основном фото-архив, только растущий. За прошедший 2013 год получилось около 300ГБ.

    Года полтора назад купил два 1ТБ винта и сделал Software RAID в домашнем сервере. Вот этот терабайт почти закончился. И был вопрос, либо покупать 2 4ТБ винта, либо искать облачное решение за приемлемые деньги и без лимитов.

    За пару недель до Нового Года я попробовал несколько сервисов (благо многие предоставляют бесплатный триал): Backblaze, Crashplan и ZipCloud.

    За безлимитный план все примерно просят одинаковые деньги (~$8-12/месяц), т.е. по идее 300-350 рублей.

    Сразу скажу, что у всех сервисов свои заморочки, все «заточены» под автоматический бэкап, под «дурака». Если кто-то захочет выбирать, то пусть сделает это самостоятельно, т.к. лучше один раз увидеть, чем сто раз услышать.

    Я же остановился на ZipCloud. Из-за одной его особенности. Он тоже рассчитан на «дурака», не позволяет автоматически загружать большие файлы, все время просит докупить опций (бэкап файлов с сетевых дисков, авто-бэкап файлов >5ГБ и т.д. и т.п. — я на это закрыл глаза, а рекламой во время работы он не достает).

    А особенность в том, что в его клиенте есть возможность загрузки файлов drag-n-drop'ом, где нет никаких ограничений. Конечно, убивается «автоматичность», но если ты и так следишь вручную за своими бэкапами, и тебе просто требуется безлимитное место в «облаке», то почему бы и нет?

    Ну, и если посчитать, то 2 винта по 4ТБ будут окупаться примерно 30-35 месяцев (2 * 6000 / 350 ~= 34), а там уже пора будет новые покупать.

    P.S. Это не реклама :) Просто делюсь своим опытом.
    Облако.Mail.Ru + EncFS для резервного копирования домашнего фотоархива
  • +2
    Не нужно учить людей плохому. Ведь кто-то может прочитать и использовать этот подход…
    Git как удобная и простая альтернатива rsync и ftp для деплоя простых сайтов
  • 0
    А поддержку Retina-дисплея для новых макбуков не сделали, хотя ведь уже месяц, как эти ноуты доступны и мозилловцы обещали сделать их поддержку, как можно скорее.
    Firefox 14 доступен для загрузки
  • 0
    Автор, я вторые выходные пытаюсь проехать через Бангкок по направленю на другие города…

    Когда в обычных картах смотришь, что ехать прямо, то не всегда понятно, как тебе продолжать движение — прямо или все-таки прибиться к какому-то краю магистрали, которая идет на уровне 7-8 этажа по городу. И их тут много.

    Если бы карты были 3D, было бы (ИМХО) легче.
    Почему я не верю в 3D-карты
  • +1
    Нужно в слове «поощряет» немного порядок букв изменить и чуть-чуть их подправить, чтобы стало верным утверждение, что все-таки «HTML прощает ошибки в коде».
    Почему ваш сайт скорее всего не должен работать
  • 0
    Наверное, все-таки не «аналога «Своей игры»», а скорее — «прообраза «Своей игры»», потому формат программы как раз скопирован с Jeopardy, о чем говорится также в титрах нашей передачи.
    Работа для Ватсона
  • +2
    С праздником, коллеги! :)
    С Днем программиста!
  • 0
    А в статье где-нибудь указано, что данный подход желательно применять только на небольших проектах?

    И еще, настройка репозиториев, хуков, mod_rewrite, а также системы сообщения между prime и hub репозиториями затмит собой настройку скрипта для capistrano и пробросу пары ключей между машинами :)
    Git и публикация сайта
  • 0
    Зачем?! Зачем использовать систему контроля версия для деплоя?!

    Вас ничему история не учит? http://habrahabr.ru/blogs/infosecurity/70330/

    Нет, я, конечно, прочитал, что в статье есть предложение по закрытию доступа к .git директории, но что, если админ ошибется и не сможет правильно настроить mod_rewrite (или правила nginx)?

    Почему для деплоя не пользоваться утилитами, специально для этого предназначенными? К примеру, тот же Capistrano (а еще лучше capistrano-ext со стейджингом, чтобы случайно не деплойнуть на продакшн неподготовленный код).
    Git и публикация сайта
  • 0
    Поздравляю с книгой и полученным опытом (что, наверное, вообще бесценно)! Спасибо, что поделился опытом создания книги, очень интересно!
    Yii 1.1 Application Development Cookbook, финальная версия и процесс
  • 0
    «Это хорошо, если у меня были все данные по книги...» => «Это хорошо, если у меня были все данные по книгЕ...»

    Видимо, автор все-таки лукавит, когда говорит о том, что провел много времени в библиотеке. :)
    В Чикаго открылась современная автоматическая роботизированная библиотека
  • 0
    Если подходить к этому делу серьезно (а мы ведь о серьезных вещах говорим, правильно?), то в проекте обычно используется система контроля версий, для подавляющего большинства из которых есть (придуманы и описаны) предкомиитные хуки, на которые можно вешать авто-анализаторы стиля оформления исходного текста (настраиваемых).

    Далее, обычно в закрытых проектах (опять же серьезных, о Васе Пупкине ни слова!), командой перед началом каких-либо работ по написанию кода, ставится серьезный вопрос о применяемых в данном проекте правил оформления.

    Для open source проектов, в которые может писать пресловутый Вася, опять же можно использовать хуки, которые просто не позволят человеку закоммитить плохо оформленный код (плохой, но хорошо оформленный, конечно же позволят, тут уж не обесуддьте).

    P.S. Ответ скорее не Вам лично, magic4x, а просто — общий взгляд на проблему с моей стороны.
    P.P.S. Табы глазом не видны, да… Но зато хорошо прощупываются при наборе текста и перемещению по нему (так сказать — на ощупь).
    Пора завязывать использовать пробелы вместо табуляции в коде
  • 0
    Целиком и полностью поддерживаю TheShock!

    Никаких проблем при использовании табов для indent'а и пробелов для выравнивания внутри строки. Размер таба каждый программист может настроить под себя сам, как ему удобно. В чем проблема у людей, которые «кричат» об использовании пробелов в качестве символов для отступа? Они хоть раз большие объемы текста форматировали для удобного чтения и работы с ним?

    Но, как говорится: «На вкус и цвет — все фломастеры разные!» (с) услышал от друга, а первичного автора не знаю
    Пора завязывать использовать пробелы вместо табуляции в коде
  • 0
    Прежде, чем писать такого рода комментарий, стоит лучше начать с имени автора. А вдруг один и тот же человек, нет?
    Пошаговое руководство по установке Debian 5.0 Lenny + XEN + LVM + Routing на Hetzner DS3000
  • +4
    Простите, не удержался, но tsya.ru!
    Skype запустит видео-звонки на iOS-устройствах
  • 0
    Чтобы сотруднику отдать чистыми 1000 рублей, ему надо начислить сумму, от которой еще потом отсечь налоги и отчисления. Т.е. чтобы отдать сотруднику 1000 рублей в руки, надо начислить 1149 рублей, от которых отнимается 13% (отсюда в делителе 0.87) обязательный налог и получается 1000 чистых от налогов деньго-рублей. А начислить-то надо больше — еще отчисления в ПФР сделать надо.
    Про «белую» зарплату
  • +1
    «Русский Гугл» жжот! Супер, даже номер моего дома правильно! :)
    Панорамы всех городов-миллионников России на Яндекс.Картах
  • 0
    Ничего личного, если что. Просто хотел указать на ошибку, но может получилось несколько грубо. Прошу прощения.
    Почему тормозит Silverlight?
  • 0
    Вот все хорошо вроде бы, но человек занимающийся performance'ом (4 раза в посте эта ошибка) на Silverlight у меня все равно не вызывает доверия (как и проприетарные технологии с приставкой MS я не люблю).
    Почему тормозит Silverlight?
  • +2
    А что делать тем, кто не пользуется Windows (софт для голосового общения, насколько я понял, только для Windows)? У меня жена хотела бы присоединиться к курсам, но у нас компьютеры только с MacOS, а в VirtualBox'овой Windows XP клиент cde.ru не запускается (хотя устанавливается без ошибок).
    Обучение программированию на Ruby — занятия продолжаются
  • 0
    А у этой «штуки» точно емкостной (capacitive, судя по текстовому описанию) экран? Если да, то уже хочу! :)
    Видеообзор планшета ViewPad 7
  • 0
    Надо бы, кстати, обновить его, показывать теперь еще и дополнительные данные по SQL-запросам. Постараюсь на этой неделе сделать.
    Yii 1.1.5
  • 0
    Ты не знаешь о моем расширении?! Yii Debug Toolbar?!

    Это мой тулбарчик, который работает через XWebDebugRouter
    Yii 1.1.5
  • +1
    А вот я у себя в вики тоже подборку паттернов пополняю время от времени, если кому-то интересен не только Observer, то посмотреть текущий список можно здесь: wiki.summercode.com/projects/wiki/wiki/Design_Patterns
    Реализация паттерна Observer средствами PHP 5.3
  • +1
    А еще и хранимые процедуры, функции и триггеры до кучи, которые просто так не дампятся (хотя триггеры по дефолту и дампятся).

    Для полного дампа (вместе с хранимыми процедурами/функциями) mysqldump'у надо явно указать опцию --routines
    MySQL шпаргалки
  • +2
    Несколько непатриотичный вопрос: а можно использовать ваш DNS-хостинг для своих доменов, но при этом у некоторых из них будет привязка к гугло-почте (и GTalk'у)?

    И вообще, есть ли какие-то гарантии того, что эта служба вдруг не станет платной или что-то наподобие?
    DNS-хостинг Яндекса
  • +5
    Вот теперь-то уже большинство программистов можно поздравить с наступившим Днем Программиста!

    Ура, товарищи!
    C Днем Программиста!
  • 0
    Хм… Как-то я невнимательно читал их features лист :), я делал для того, чтобы, если случайно удалил файлы — можно было восстановить, или, например, если файлы покоцались в программе.

    Но, как ответили комментом: «Лучше перебдеть, чем недобдеть» :)
    Жизнь в облаках
  • +1
    Ага, а мы с женой еще сделали рашаренную на нас двоих папку в дропбоксе и храним там и ее базу паролей, и мою, а также всякий важный для нас стафф.

    В общем, получается, что наша семейная директория в дропбоксе хранится так:
    * в облаке у самого дропбокса
    * на моем компьютере
    * на ноутбуке жены
    * на медиацентре нашей квартиры
    + ежедневно заливается бэкап на мой сервер
    + ежедневно сервер сам занимает бэкапированием и сливает свои бэкапы на FTP-сервер

    Вот такая вот избыточность позволяет не беспокоится о потерянных паролях :)
    Жизнь в облаках
  • +3
    Про пароли: А почему бы не хранить базу KeePass'а в своем дропбоксе? Тогда точно не будешь делиться с каким-то неизвестным сервисом своими паролями…

    Главное: настроить ежедневные бэкапы своего Dropbox'а куда-нибудь еще, так — на всякий случай.
    Жизнь в облаках
  • +1
    А еще добавлена возможность указывать на сколько реплик нужно разместить данные, прежде чем ответить, что все «ок» (см. getLastError() и параметр «w»).
    Вышел стабильный релиз MongoDB 1.6
  • +3
    А в Хетцнере за примерно 1600 рублей (42 евро) в месяц можно взять ЦЕЛЫЙ (а не виртуальный) сервер без ограничений по CPU и с 2GB RAM (AMD Athlon 64 3700+) А если еще не жидится для первой оплаты, то за такие же деньги (в месяц 42 евро, но первоначальная установка — около 125 евро) можно взять уже 8Gb RAM и Intel® Core™ i7-920 Quadcore.
    Тестирование VPS хостинга
  • 0
    Это фраза не из поста, а с сайта — wrttn.me/048773/
    Простой блокнот с большими возможностями
  • 0
    «Мы будем улучшать wrttn.me. И даже в то время, пока вы читаете эти строки, мы совершенствуем сервис, елаем его ещё быстрее и проще»

    Делайте его :)

    А сервис хороший! Маркдаун решает! Кстати, а сервис на чем написан?
    Простой блокнот с большими возможностями
  • +4
    А еще неприятное в нововведении то, что по умолчанию в поле поиска курсор не устанавливается.
    Раньше я открывал закладку и (почти) моментально начинал набирать нужное мне слово, а теперь надо еще и щелкнуть по полю ввода запроса (во всяком случае на Chrome 5.0 / MacOS X 10.6.2).
    Делитесь знаниями