Tag: activerecord
Проблемы с find_in_batches
Tag: airbrake
Быстрое удаление старых ошибок из airbrake через API
Tag: apt-get
Пакетные менеджеры
Тема этого поста навеяна обсуждением пакетных менеджеров в рассылке Erlang. К сожалению, обсуждение завяло, так и не успев начаться.
Tag: backup
Barman и WAL-E
В postgresql есть замечательная возможность делать непрерывные бэкапы, то есть бэкапы, по которым можно восстановиться на любой момент времени.
Если вы делаете обычные бэкапы и запускаете в час ночи pg_dump, а в час дня ваш сервер БД умер, то вы потеряете данные за 12 часов и доверие ваших пользователей. Для многих web-сервисов такой сценарий неприемлем, и, чтобы минимизировать потери данных, стоит использовать непрерывный бэкап.
Tag: barman
Barman и WAL-E
В postgresql есть замечательная возможность делать непрерывные бэкапы, то есть бэкапы, по которым можно восстановиться на любой момент времени.
Если вы делаете обычные бэкапы и запускаете в час ночи pg_dump, а в час дня ваш сервер БД умер, то вы потеряете данные за 12 часов и доверие ваших пользователей. Для многих web-сервисов такой сценарий неприемлем, и, чтобы минимизировать потери данных, стоит использовать непрерывный бэкап.
Tag: books
Библия PostgreSQL
Если вы работаете с postgresql и сталкиваетесь с затруднительными ситуациями, ответы на которые даже не ясно, как гуглить, то, скорее всего, вам не хватает каких-то фундаментальных знаний этой БД.
Tag: caches_action
Некоторые проблемы с cached_action в Rails 2.3
Tag: capistrano
Использование capistrano
Tag: chef
Соло на ноже
Атрибуты в шефе и DeepMerge
Многие знают, что в шефе есть большое количество типов атрибутов, необходимые, чтобы гибко управлять инфраструктурой. Для того, чтобы эти атрибуты работали вместе, есть разные правила их объединения. О них мы сегодня и поговорим.
Управление конфигурацией и Chef
Tag: codefest
Буду выступать на CodeFest
Tag: configuration-management
Управление конфигурацией и Chef
Tag: continuous-delivery
Непрерывная поставка ПО
Tag: continuous-integration
Непрерывная интеграция
Tag: cruisecontrol
Непрерывная интеграция
Tag: delayed_job
Delayed_job в отдельной базе данных
Как я уже когда-то писал, иногда проект дорастает до того, что ему не хватает одной базы данных. И тогда можно сделать вторую. Вопрос, какие таблицы переносить во вторую базу данных, всегда остается открытым. В нашем случае, поскольку на сервере БД очень много памяти и слабая дисковая подсистема, мне показалось разумным перенести туда таблицы, в которые идет интенсивная запись. И эти таблицы не должны быть «связаны», то есть перенос их должен быть простым.
Tag: deploy
Использование capistrano
Tag: devise
Обновление на rails3 и проблемы, связанные с этим
На «Групоне» мы давно уже переходим с Rails 2.3 на Rails 3.0. На этой неделе перешли — полет нормальный. Но поскольку сразу переход у нас не получился, то мы переходили по частям. И тут возникла проблема, что в rails3 нужен новый devise (1.5.3), которому нужен warden (1.1.1). А в rails2 используется devise (1.0.9), которому нужен warden (0.10.7). И вот этот вот warden стал по-другому сериализовать сессию. А devise стал хранить remember_token в подписанной (signed) cookie. Более того, из самих рельс пропал класс ActionController::Flash::FlashHash, поэтому при десериализации сессии происходило неуловимое исключение в Marshal.load.
Все эти проблемы решены были кодом, которые приведен ниже. И еще похожий код был в rails2-ветке, который конвертил сессию третьих рельс во вторую. Пользуйтесь с осторожностью.
Tag: devops
vagrant
Очень странно, что я до сих пор не написал о Vagrant — инструменте создания и распространения виртуальных окружений.
Vagrant нужен для одной простой цели — тестировать выкатку и изменение конфигурции. Причем он позволяет делать это очень просто, особенно для Chef и Puppet. Vagrant — это надстройка над платформой виртуализации VirtualBox, которая позволяет легко и быстро создавать виртуальные машины по шаблону.
Работать с ним очень легко. Вы берете какой-нибудь готовый образ ОС (например, отсюда) или создаете свой, который и будет вашим шаблоном. А потом проверяете, как на этот образ накатываются ваши Chef-рецепты, причем можете делать это каждый раз с чистого листа. Конечно, образ должен быть точно такой же, который вы используете в бою, на staging-сервере, на CI-сервере и, вообще, везде. Это позволит вам выловить максимальное количество проблем до того, как они попадут на production. Более того, это гораздо удобнее, чем писать chef-рецепты «вслепую». Все, что происходит тяжело, надо делать часто, чтобы научиться делать это хорошо. Выкатка с изменением конфигурации обычно происходит тяжело. Поэтому стоит тренироваться менять конфигурацию и выкатываться, при этом желательно делать это в «песочнице», а не на сервере, который обслуживает ваших пользователей (и приносит деньги).
Tag: gem
Пакетные менеджеры
Тема этого поста навеяна обсуждением пакетных менеджеров в рассылке Erlang. К сожалению, обсуждение завяло, так и не успев начаться.
Tag: git
Конфликтные слияния веток и git merge-base
Когда у вас есть две ветки разработки, которые достаточно сильно друг от друга отличаются, периодически возникают проблемы с их слиянием (merge).
Рассказ про Git
Отмена последнего коммита в git
Перенести ветку в git
Tag: hashwithindifferentaccess
Слияние HashWithIndifferentAccess с обычными хешами
Tag: hstore
Hstore — key-value расширение для postgresql
Наверное, не все знают, что для postgresql существует большое количество расширений, которые называются contrib модулями.
Рассмотрим один из таких модулей - hstore. Этот модуль нужен для того, чтобы в одном поле в БД хранить много значений key/value, фактически, просто какой-то хеш. При этом и ключи и значения могут быть только строками. О том, чем это лучше, нежели просто хранить в текстовом поле сериализованный хеш, я расскажу чуть-чуть попозже. Понадобится это может в том случае, если у вас есть модели с произвольным набором полей.
Tag: json
Поддержка JSON в PostgreSql 9.2
Tag: key-value
Hstore — key-value расширение для postgresql
Наверное, не все знают, что для postgresql существует большое количество расширений, которые называются contrib модулями.
Рассмотрим один из таких модулей - hstore. Этот модуль нужен для того, чтобы в одном поле в БД хранить много значений key/value, фактически, просто какой-то хеш. При этом и ключи и значения могут быть только строками. О том, чем это лучше, нежели просто хранить в текстовом поле сериализованный хеш, я расскажу чуть-чуть попозже. Понадобится это может в том случае, если у вас есть модели с произвольным набором полей.
Tag: knife
Соло на ноже
Tag: londiste
PgQ и Londiste
Перенос таблицы в другую базу данных postgres без простоя приложения
Tag: memcache
Проблемы с кэшированием
Tag: osx
Проблема с сортировкой русских слов в Postgres на OSX
Я давно мечтаю об Ubuntu, которая работает так же хорошо, как OSX. К несчастью, большинство пользовательских программ в Ubuntu хуже, чем в OSX, а что касается серверной части - OSX очень сильно отстает от Ubuntu (Debian).
К примеру, по-умолчанию, в Postgresql в OSX сломана сортировка русских слов. Решение я нашел здесь.
Tag: package-manager
Пакетные менеджеры
Тема этого поста навеяна обсуждением пакетных менеджеров в рассылке Erlang. К сожалению, обсуждение завяло, так и не успев начаться.
Tag: paperclip
Странное поведение создателей Paperclip
Вчера я разворачивал наше приложение в системе CI Jenkins, и обнаружил, что bundler не находит gem paperclip. В Gemfile была явно прописана версия 3.0.1. Зайдя на rubygems, я увидел, что эту версию гема его создатели удалили, а версия 3.0.2 и старше не поставилась, выругавшись на то, что ей нужен ruby 1.9.2 и старше.
Tag: partitioning
Партиционирование
Я долго считал партиционирование плохой практикой, а само слово не любил из-за кальки с английского, которую крайне сложно выговорить с первого раза. И если слово «партиционирование» я так с первого раза и не выговариваю, то саму практику пришлось признать как необходимое и неизбежное зло. Чтобы никто не подумал, что я делаю что-то плохое, я использую для этого термин «инженерный компромисс», звучит умнее и не так обидно.
Tag: pathogen
Автоматизация vim с помощью pathogen
Tag: performance
Статистика запросов и pg_stat_statements
Фильтрация данных на клиенте
Давече у нас на Групоне возникла следующая проблема — начала тормозить одна страница в админке. Причем до того сильно, что ее sql запрос стал регулярно появляться в списке медленных запросов в newrelic. Для большей понятности я поменяю название моделей на книги (Book) и авторы (Author), при этом, очевидно, «авторы имеют много книг», то есть связь один ко многим.
Tag: pg_reorg
Ремонт БД на лету с помощью pg_repack
Окончились новогодние праздники, а это значит, что пора с новыми силами кинуться в бой с ИТ-сложностью, ИТ-хаосом и другими ИТ бедами.
Одной из бед всех версионных БД является разбухание таблиц. Все бы ничего, но если количество активно используемых данных перестает влезать в оперативную память, то время обработки запросов к БД чрезвычайно сильно возрастает (об этом я напишу в ближайшем будущем). И чтобы «впихнуть» размеры таблицы в нужный размер, иногда приходится делать некоторые нетрадиционные трюки.
Tag: pg_repack
Ремонт БД на лету с помощью pg_repack
Окончились новогодние праздники, а это значит, что пора с новыми силами кинуться в бой с ИТ-сложностью, ИТ-хаосом и другими ИТ бедами.
Одной из бед всех версионных БД является разбухание таблиц. Все бы ничего, но если количество активно используемых данных перестает влезать в оперативную память, то время обработки запросов к БД чрезвычайно сильно возрастает (об этом я напишу в ближайшем будущем). И чтобы «впихнуть» размеры таблицы в нужный размер, иногда приходится делать некоторые нетрадиционные трюки.
Tag: pgbadger
Статистика запросов и pg_stat_statements
Tag: pgbench
БД — большой кэш
В прошлый раз я обещал написать о том, что в проектах с более менее серьезной нагрузкой БД либо помещается в память, либо не работает. Ситуация в современном мире меняется в связи с появлением SSD дисков, но пока что они стоят достаточно дорого, по сравнению со старыми добрыми вращающимися дисками. Чтобы «потрогать» это руками, проделаем несложный тест.
Tag: pgbouncer
Tag: pgq
PgQ и Londiste
Использование очередей в высоконагруженных проектах
Tag: podcast
Итоги года: подкасты, мастер-классы и митап
Закат безымянного подкаста, Дефлопе и предложение о работе
RubyNoName подкаст
О редакторе Vim, рассказ ссылками
Англоязычные подкасты про ruby и rails
Tag: postgresql
PostgreSQL изнутри
Мой коллега Егор Рогов из ППГ недавно издал книгу “PostgreSQL изнутри”. Книгу можно бесплатно скачать в формате pdf на сайте Postgres Professional. Для любителей читать книги, сделанные из переработанных трупов зверски убитых деревьев, ее без труда можно найти на сайте “ДМК Пресс”.
Статистика запросов и pg_stat_statements
PostgreSQL 9.3 beta 1 на OSX
Два дня назад, 13 мая, вышла beta 1 PostgreSQL 9.3. Во-первых, это хороший знак, что уже пора обновляться на 9.2, либо выбирать 9.2 как основную БД. 9.3 планируется зарелизить в третьем квартале 2013 года.
Обо всех новых возможностях 9.3 можно почитать на официальной wiki.
Но чтобы не только почитать, но и попробовать, я напишу здесь, как поставить 9.3 beta 1 на OSX.
БД — большой кэш
В прошлый раз я обещал написать о том, что в проектах с более менее серьезной нагрузкой БД либо помещается в память, либо не работает. Ситуация в современном мире меняется в связи с появлением SSD дисков, но пока что они стоят достаточно дорого, по сравнению со старыми добрыми вращающимися дисками. Чтобы «потрогать» это руками, проделаем несложный тест.
Партиционирование
Я долго считал партиционирование плохой практикой, а само слово не любил из-за кальки с английского, которую крайне сложно выговорить с первого раза. И если слово «партиционирование» я так с первого раза и не выговариваю, то саму практику пришлось признать как необходимое и неизбежное зло. Чтобы никто не подумал, что я делаю что-то плохое, я использую для этого термин «инженерный компромисс», звучит умнее и не так обидно.
Блокировки в PostgreSQL
Чтобы рассказать о тонких моментах pg_repack, мне понадобится немного углубиться в
тему блокировок в PostgreSQL. Конечно, лучше всего начать читать про них в официальной документации. Для этой статьи достаточно понимать, что
эксклюзивная блокировка (ACCESS EXCLUSIVE LOCK) препятствует выполнению всех операций, включая SELECT
, и она нужна для операции
ALTER TABLE
.
Ремонт БД на лету с помощью pg_repack
Окончились новогодние праздники, а это значит, что пора с новыми силами кинуться в бой с ИТ-сложностью, ИТ-хаосом и другими ИТ бедами.
Одной из бед всех версионных БД является разбухание таблиц. Все бы ничего, но если количество активно используемых данных перестает влезать в оперативную память, то время обработки запросов к БД чрезвычайно сильно возрастает (об этом я напишу в ближайшем будущем). И чтобы «впихнуть» размеры таблицы в нужный размер, иногда приходится делать некоторые нетрадиционные трюки.
Index Only Scan в Postgresql 9.2
Вообще, сам не узнаю себя, уже ровно месяц прошел с выпуска Postgresql 9.2, даже вышло обновление 9.2.1, исправляющее некоторые баги, а я все еще ничего не написал об этом.
Поэтому сегодня рассказ будет о Index Only Scan — самом заметном, по моему мнению, изменении в 9.2. Кстати, именно это изменение стоит первым в Release Notes, а значит я не одинок.
Barman и WAL-E
В postgresql есть замечательная возможность делать непрерывные бэкапы, то есть бэкапы, по которым можно восстановиться на любой момент времени.
Если вы делаете обычные бэкапы и запускаете в час ночи pg_dump, а в час дня ваш сервер БД умер, то вы потеряете данные за 12 часов и доверие ваших пользователей. Для многих web-сервисов такой сценарий неприемлем, и, чтобы минимизировать потери данных, стоит использовать непрерывный бэкап.
Проблема с сортировкой русских слов в Postgres на OSX
Я давно мечтаю об Ubuntu, которая работает так же хорошо, как OSX. К несчастью, большинство пользовательских программ в Ubuntu хуже, чем в OSX, а что касается серверной части - OSX очень сильно отстает от Ubuntu (Debian).
К примеру, по-умолчанию, в Postgresql в OSX сломана сортировка русских слов. Решение я нашел здесь.
Поддержка JSON в PostgreSql 9.2
Hstore — key-value расширение для postgresql
Наверное, не все знают, что для postgresql существует большое количество расширений, которые называются contrib модулями.
Рассмотрим один из таких модулей - hstore. Этот модуль нужен для того, чтобы в одном поле в БД хранить много значений key/value, фактически, просто какой-то хеш. При этом и ключи и значения могут быть только строками. О том, чем это лучше, нежели просто хранить в текстовом поле сериализованный хеш, я расскажу чуть-чуть попозже. Понадобится это может в том случае, если у вас есть модели с произвольным набором полей.
Библия PostgreSQL
Если вы работаете с postgresql и сталкиваетесь с затруднительными ситуациями, ответы на которые даже не ясно, как гуглить, то, скорее всего, вам не хватает каких-то фундаментальных знаний этой БД.
PgQ и Londiste
Перенос таблицы в другую базу данных postgres без простоя приложения
Конкурентное пересоздание индексов в postgresql
Использование очередей в высоконагруженных проектах
PosgtreSql, миграции и огромные таблицы
Tag: powershell
Могущественная скорлупа
Tag: rails
Изменение формата сессии при переходе с Rails 3.0 на 3.2
Групон сейчас активно переводится с rails 3.0 на rails 3.2. Самая досадная неожиданность, которая встретилась в процессе переезда — это изменение формата хранения flash сообщений в сессии. Если бы при этом flash сообщение пропадало, то это было бы не страшно, но при декодировании сессии происходит исключение, и пользователь видит 500 ошибку до тех пор, пока не почистит куки. Конечно, пользователей, у которых в сессии будет flash сообщение в момент переключения с версии 3.0 на 3.2 будет не так и много, но это пользователи, потерянные навсегда.
Обновление на rails3 и проблемы, связанные с этим
На «Групоне» мы давно уже переходим с Rails 2.3 на Rails 3.0. На этой неделе перешли — полет нормальный. Но поскольку сразу переход у нас не получился, то мы переходили по частям. И тут возникла проблема, что в rails3 нужен новый devise (1.5.3), которому нужен warden (1.1.1). А в rails2 используется devise (1.0.9), которому нужен warden (0.10.7). И вот этот вот warden стал по-другому сериализовать сессию. А devise стал хранить remember_token в подписанной (signed) cookie. Более того, из самих рельс пропал класс ActionController::Flash::FlashHash, поэтому при десериализации сессии происходило неуловимое исключение в Marshal.load.
Все эти проблемы решены были кодом, которые приведен ниже. И еще похожий код был в rails2-ветке, который конвертил сессию третьих рельс во вторую. Пользуйтесь с осторожностью.
Проблемы с find_in_batches
Некоторые проблемы с cached_action в Rails 2.3
Переопределение Rails.logger и проблемы с ним
PgQ и Londiste
Проблема с проверкой уникальности какого-то поля в rails
Тесты и тестирование
Проблемы с кэшированием
PosgtreSql, миграции и огромные таблицы
Tag: railsclub
Конференции
Сегодня я хочу рассказать о пользе конференций в жизненной практике любого специалиста. Если вы просто работаете в своей профессии и не хотите стать и быть Специалистом (именно так, с большой буквы), то дальше можете не читать.
Railsclub: отчет о прошедшей конференции
Tag: rollback
Несколько баз данных
Tag: rspec
Транзакции и несколько БД
Иногда так случается, что на проекте необходимо использовать более одного сервера баз данных. Оказывается, в rails можно достаточно удобно поддерживать актуальность нескольких БД с помощью миграций.
Несколько баз данных
Тесты и тестирование
Tag: ruby-debug
Использование ruby-debug
Tag: rubynoname
RubyNoName подкаст
Tag: state-of-devops
Состояние DevOps на 2017 год
В очередной раз компания Puppet совместно с DORA ( DevOps Research and Assessment — компания, которая решила активно продавать DevOps, что бы это не значило) опубликовали отчет о состоянии DevOps, который называется «2017 State of DevOps Report». Скачать его можно бесплатно, если оставить свою почту. Насколько я знаю, это единственное регулярное исследование ИТ-рынка на предмет проникновения DevOps практик.
Поскольку я уверен, что читать пятидесятистраничный документ на английском многим будет лень, я напишу здесь краткую выжимку из него, расскажу о том, что мне показалось там важным.
Состояние DevOps на 2016 год
Компания Puppet (как ни удивительно — это разработчики одноименной системы управления конфигурацией) опубликовали свой очередной ежегодный отчет о состоянии DevOps.
Они опросили 4600 инженеров со всего мира и по результатам этого опроса составили отчет на 55 страниц. Я кратко резюмирую здесь их результаты для тех, кому лень читать оригинальный отчет.
Tag: toster
Конференция .toster
Tag: transaction
Несколько баз данных
Tag: vagrant
vagrant
Очень странно, что я до сих пор не написал о Vagrant — инструменте создания и распространения виртуальных окружений.
Vagrant нужен для одной простой цели — тестировать выкатку и изменение конфигурции. Причем он позволяет делать это очень просто, особенно для Chef и Puppet. Vagrant — это надстройка над платформой виртуализации VirtualBox, которая позволяет легко и быстро создавать виртуальные машины по шаблону.
Работать с ним очень легко. Вы берете какой-нибудь готовый образ ОС (например, отсюда) или создаете свой, который и будет вашим шаблоном. А потом проверяете, как на этот образ накатываются ваши Chef-рецепты, причем можете делать это каждый раз с чистого листа. Конечно, образ должен быть точно такой же, который вы используете в бою, на staging-сервере, на CI-сервере и, вообще, везде. Это позволит вам выловить максимальное количество проблем до того, как они попадут на production. Более того, это гораздо удобнее, чем писать chef-рецепты «вслепую». Все, что происходит тяжело, надо делать часто, чтобы научиться делать это хорошо. Выкатка с изменением конфигурации обычно происходит тяжело. Поэтому стоит тренироваться менять конфигурацию и выкатываться, при этом желательно делать это в «песочнице», а не на сервере, который обслуживает ваших пользователей (и приносит деньги).
Tag: validates_uniqueness_of
Проблема с проверкой уникальности какого-то поля в rails
Tag: vim
О редакторе Vim, рассказ ссылками
Автоматизация vim с помощью pathogen
Tag: wal-e
Barman и WAL-E
В postgresql есть замечательная возможность делать непрерывные бэкапы, то есть бэкапы, по которым можно восстановиться на любой момент времени.
Если вы делаете обычные бэкапы и запускаете в час ночи pg_dump, а в час дня ваш сервер БД умер, то вы потеряете данные за 12 часов и доверие ваших пользователей. Для многих web-сервисов такой сценарий неприемлем, и, чтобы минимизировать потери данных, стоит использовать непрерывный бэкап.
Tag: warden
Обновление на rails3 и проблемы, связанные с этим
На «Групоне» мы давно уже переходим с Rails 2.3 на Rails 3.0. На этой неделе перешли — полет нормальный. Но поскольку сразу переход у нас не получился, то мы переходили по частям. И тут возникла проблема, что в rails3 нужен новый devise (1.5.3), которому нужен warden (1.1.1). А в rails2 используется devise (1.0.9), которому нужен warden (0.10.7). И вот этот вот warden стал по-другому сериализовать сессию. А devise стал хранить remember_token в подписанной (signed) cookie. Более того, из самих рельс пропал класс ActionController::Flash::FlashHash, поэтому при десериализации сессии происходило неуловимое исключение в Marshal.load.
Все эти проблемы решены были кодом, которые приведен ниже. И еще похожий код был в rails2-ветке, который конвертил сессию третьих рельс во вторую. Пользуйтесь с осторожностью.
Tag: yaml
Рекурсивные особенности to_yaml
Tag: блокирвоки
Блокировки в PostgreSQL
Чтобы рассказать о тонких моментах pg_repack, мне понадобится немного углубиться в
тему блокировок в PostgreSQL. Конечно, лучше всего начать читать про них в официальной документации. Для этой статьи достаточно понимать, что
эксклюзивная блокировка (ACCESS EXCLUSIVE LOCK) препятствует выполнению всех операций, включая SELECT
, и она нужна для операции
ALTER TABLE
.
Tag: др
39
Сегодня мне исполнилось 39 лет, я стою на пороге вечности.
Шутка, конечно. Не знаю, смешная или нет, но мне нравится. Вообще, помню, раньше меня пугало, что я делаю еще один шаг на пути к смерти. А в 35 перестало. Не знаю, даже, с чем это связано. В 32 года в день рождения я разбил машину. В 33 года - за два дня до дня рождения. В 34 я специально за неделю до ДР не садился за руль.
Помню, когда мне исполнялось 24, я перепутал, что мне 25 и тоже перепугался - а чего я сделал к своим 25. А потом вспомнил, что мне только 24 и отпустило.
А вот в 35 как-то перестал бояться. Топаешь себе на пути к смерти и топаешь.
Tag: еда
Сырники
Tag: индексы
Index Only Scan в Postgresql 9.2
Вообще, сам не узнаю себя, уже ровно месяц прошел с выпуска Postgresql 9.2, даже вышло обновление 9.2.1, исправляющее некоторые баги, а я все еще ничего не написал об этом.
Поэтому сегодня рассказ будет о Index Only Scan — самом заметном, по моему мнению, изменении в 9.2. Кстати, именно это изменение стоит первым в Release Notes, а значит я не одинок.
Проблема с проверкой уникальности какого-то поля в rails
Конкурентное пересоздание индексов в postgresql
Tag: кино
Фильмы 2019 года
Наконец-то я заканчиваю свою великую киноэпопею, и раздаю трехлетние долги просмотренных фильмов. Как обычно, в подборке из 74 фильмов и сериалов, которым я отдал свою жизнь в 2019 году, осталось только то, что я настоятельно бы рекомендовал к просмотру, а именно 26 фильмов и ни одного сериала (просто не повезло им в этот раз). Поскольку все они очень хороши, то место в списке ничего не значит.
Фильмы 2018 года
Ниже список фильмов и сериалов, которые я посмотрел в 2018 году. Я оставил в этом списке только фильмы, которые что-то тронули в моем сердце и поэтому я помню их по прошествии двух лет. В современном мире с его изобилием информации достаточно редко можно найти что-то, что заденет струны души так, чтобы легкий звон от этого касания был слышен в течении такого долгого времени.
Фильмы 2017 года
Поскольку я решил возродить свой дневник, заодно переведя его на Hugo, то начать хочется с того, чтобы закрыть все долги.
Ниже список фильмов, которые я посмотрел в 2017 году. Поскольку весь список — это фильмов 50, то я оставил только то, что понравилось и достойно просмотра.
Фильмы второй половины 2016 года
Я как-то забросил традицию писать про кино, хотя смотреть его не переставал. Сейчас я быстренько пройдусь по второму полугодия 2016 (ага, сам в шоке) года, и буду продолжать. Как обычно, фильмы отсортированы в порядке убывания того, как сильно они мне понравились.
Фильмы второго квартала 2016 года
Что же, продолжу отдавать свой кинодолг обществу, которое меня окружает. Фильмы второго квартала 2016 года, долг большой, каюсь.
Фильмы первого квартала 2016 года
Ого, уже больше года я ничего не писал про просмотренные фильмы. Что же, постараемся наверстать упущенное. Как обычно, внизу список фильмов, которые я посмотрел на январь-март 2016 года, сверху самые интересные, на мой субъективный и непрофессиональный взгляд. Всего получилось 13 наименование, часть из этого не совсем кино (есть и сериалы и мультфильмы), поэтому объективно рассортировать было достаточно сложно.
Фильмы конца 2015 года
В какой-то момент писать о фильмах стало совсем тяжело, но это не повод останавливаться. Ниже привожу описание фильмов, которые посмотрел в сентябре-декабре 2015 года. Как обычно, сверху — самые интересные фильмы с моей точки зрения.
И снова кинофильмы
После мощнейшего кинозазыра в великий пост от кино прямо отвадило. Конечно, большое количество времени отнял (и продолжает отнимать) мультфильм «Время приключений», но о нем я напишу после того, как досмотрю. На диске пылится под десяток фильмов, которые давно хочу посмотреть, но, наверное, им надо, как хорошему вину, настояться, чтобы мне захотелось их посмотреть.
Ниже привожу описание фильмов, которые посмотрел с апреля по август.
Постные фильмы, часть вторая
А я продолжаю рассказывать про фильмы, которые посмотрел в Великий Пост. Хотя это и вторая половина фильмов, среди них много достойных.
Постные фильмы, часть первая
За январь и февраль я посмотрел всего 4 фильма, а вот в марте во время поста я опять заболел, и за 5 дней я пересмотрел такое количество фильмов, что самому от этого стало немного нехорошо. Вашему требовательному вкусу представляются 24 фильма, традиционно сверху самые яркие из них, по моему мнению.
Кинчег декабря
В декабре я повалялся пару дней в больнице, а потом еще неделю дома, поэтому было много времени для просмотра видеоматериалов. К несчастью, когда много смотришь кино, то через какое-то время, вообще, не хочется ничего смотреть, поэтому в январе я отдыхаю. Итак, крайне субъективный рейтинг, самое вкусное вначале.
Ноябрьский кинопоказ
Три недели в этом ноябре я провел в отпуске. Отпуск хорош тем, что появляется много свободного времени, которое надо обязательно чем-то заполнить, ведь иначе образовавшаяся пустота может поглотить тебя и, не дай бог, перенести на новый духовный уровень. Как обычно, вначале списка — самые хорошие фильмы.
Фильмы сентября-октября
Так сложилось, что 25 августа у меня родился сын Никита, поэтому сентябрь в киноплане оказался скудным, посему я объединил сентябрь и октябрь вместе, хотя сильно лучше от этого не стало.
Августовский кинопросмотр
В смысле кино август оказался крайне бедным месяцем. Смешно сказать, всего четыре фильма. Но, тем не менее, и они стоят того, чтобы о них рассказать.
Июльское кинцо
Июль оказался богатым на кинонаходки. Некоторые фильмы были настолько хороши, что навсегда поселились в моем сердце. Что же, начнем, как обычно лучшие фильмы находятся в самом начале списка.
Июньский кинопросмотр
Надо сказать, что раньше я не очень часто смотрел кино. Но в последнее время эта забава затягивает меня все сильнее. Правда, я стараюсь держаться подальше от мейнстрима, потому что там, на мой вкус, хорошего кино не снимают. Но где-то рядом всегда есть работы, завораживающие дух и сердце, надо только их отыскать.
Майский кинозал
И снова, мои дорогие любители кино, мы возвращаемся к этому величайшему из искусств. И опять самое вкусное, на мой субъективный взгляд, будет в самом начале.
И снова о фильмах
Тут недавно был в отпуске, и чтобы заполнить время, смотрел различные фильмы. О них сегодня я вам и расскажу, на этот раз в порядке убывания моего субъективного рейтинга, потому что вначале хочется рассказать о самом ярком и интересном. В этот раз сделать это было гораздо сложнее, потому что плохих фильмов в этот список не попало, все они интересные, на мой взгляд, и достойны просмотра.
Постные фильмы
В пост я обещал посмотреть 7 новых хороших фильмов. Сказано — сделано, правда, не все их них были хорошими. В том смысле, что даже начиная их смотреть, я прекрасно понимал, что часть из них — чистая развлекуха, и это совсем не кино. Расскажу о них в порядке возрастания красоты.
Tag: книги
Воспоминания о будущем
Вчера закончил читать книга Михаила Хазина “Воспоминания о будущем. Идеи современной экономики”.
Я в последние годы стал мало читать именно книг, поэтому в этом году решил немножко этот пробел восполнить и даже реанимировал свой Kindle, который пылился где-то в квартире. Я, конечно, читаю много статей по различной тематике, но мне кажется, что книга — это возможность цельно посмотреть на какую-то проблематику, в отличии от мозайки различных статей.
Tag: конвей
Закон Конвея
Мелвин Конвей в 1968 году (48 лет назад!) опубликовал свою работу, в которой сформулировал следующую идею: «Организация, которая создает систему, ограничена дизайном, который копирует структуру коммуникации в этой организации». Более просто эту идею перефразировал Эрик Реймонд: «Если над компилятором работает четыре группы разработчиков, вы получите четырехпроходный компилятор». Желающие могут прочитать оригинал статьи здесь.
Tag: конференция
О поездке на HappyDev'2014 в Омск
Ближайшие события в Ruby и DevOps мире
Новый адрес блога, DevConf и HotCode
Последствия выступления на Railsclub'Ulsk
В эту субботу 15 декабря я выступал в Ульяновске с докладом «Нетрадиционное использование Ruby и PostgreSQL». Несмотря на несколько провокационное название, доклад был посвящен вполне обыденным вещам: о том, как использовать Ruby и PostgreSQL не в web-проекте с Rails. Я рассказал о Ruby внутри Vim, hstore и PostgreSQL массивах внутри Rails (кстати, hstore и ARRAY неоднократно упоминались на конференции, так что я был неоригинален), а самая забавная часть моего доклада была посвящена несуществующей документоориентированной БД rmongo.rb. Видеозапись второго дня еще доступна на сайте Railsclub, и я надеюсь, что и первый день скоро появится в общем доступе.
Исходные коды, которые связаны с докладом, я выложил на Gist, сам доклад я выложил на Slideshare.
Конференции
Сегодня я хочу рассказать о пользе конференций в жизненной практике любого специалиста. Если вы просто работаете в своей профессии и не хотите стать и быть Специалистом (именно так, с большой буквы), то дальше можете не читать.
Буду выступать на CodeFest
Конференция .toster
Railsclub: отчет о прошедшей конференции
Tag: курение
35, 35, никотин умеет ждать
Tag: литвак
Михаил Ефимович Литвак
10 сентября умер Михаил Литвак, ему было 82 года. Он был популяризатором психологии, но не уверен, что многие знают это имя, хотя суммарный тираж его книг более 5 миллионов.
Его книга попалась мне лет в 20, и тогда я начал смутно догадываться, что большинство человеческих поступков происходят, как бы так сказать, сами собою, а мы потом придумываем им объяснение. Теперь я полностью в этом уверен 🙂
Tag: мастер-класс
Ближайшие события в Ruby и DevOps мире
Очередной Brainwashing 14 и 15 июля
Мастер-класс: впечатления по прошествии 2 недель
Мастер-класс
Tag: миграция
Перенос таблицы в другую базу данных postgres без простоя приложения
Tag: микросервисы
Service Discovery
Продолжая разговор о микросервисной архитектуре, нельзя не упомянуть о Service Discovery. К сожалению, в русском языке до сих пор так и не появилось адекватного перевода этого термина. Дословное «обнаружение сервисов» звучит слишком топорно и неизящно, а «каталог сервисов» хоть и неплох, но имеет много других значений.
Русская википедия про Service Discovery (далее — sd) не знает ничего и дает вместо этого список протоколов для sd, английская, впрочем, тоже.
Микросервисная архитектура
О микросервисной архитектуре не говорит сейчас только ленивый, но если вы впервые встречаетесь с этим термином, то прочитайте статью Мартина Фаулера или ее перевод на русский.
Tag: музыка
Постная музыка
В пост я обещал послушать 7 новых для себя музыкальных альбомов. Сказано — сделано, правда, альбомов было больше, но новых авторов было 7.
Tag: мысли
Прощай, Октопресс, здравствуй, Middleman
Командный игрок
Технологии, конечно, технологиями, но иногда хочется рассказать чего-то «про жизнь». А именно про то, как работают хорошие команды. Собственно, этот рассказ тоже о технологиях, только о человеческих.
К несчастью, технологии работы с людьми формализуются достаточно плохо, и такой ясности, как при работе с компьютерами, конечно же нет. Поэтому сказать точно, что такое «хорошая команда», практически невозможно. Параметров оценки этого слишком много, да и каждый параметр даже не понятно, чем измерять. Поэтому я просто поделюсь своими соображениями на этот счет, не претендую никоим образом на объективность и правоту.
Ясность
Прежде всего, я хочу рассказать историю про стрижку быка (в английском варианте Yak Shaving).
Простыня
Tag: никита
Бобиткомен
Tag: пост
Результаты Великого Поста 2017 года
Начнем с того, что на шестой неделе я сорвался. Поэтому результаты этого поста более чем скромные — всего лишь 40%. Это на 8% меньше, чем в прошлом году. Из приятного — посетил Усачевские бани и тем самым закрыл великий банный гештальт — посетил все общественные бани Москвы внутри третьего кольца.
Результаты Великого Поста 2016 года
Пост был зафейлен. За неделю до конца поста был на конференции Secon, где был смущен бесплатным пивом и хорошей компанией. А потом как-то жизненные трудности навалились, что решил закончить я пост досрочно. Тем не менее, что-то было сделано, об этом сейчас и напишу.
Великий пост 2016
Соблюдения поста перешло из эксперимента в обыденную реальность. Более того, ждал начала поста, как праздника, потому что очень хотелось много чего в жизни испробовать, но силы воли нет вообще, а тут такая оказия, семь седьмиц на опыты с собою.
Программа на этот пост, за некоторыми изменениями, повторяет прошлогоднюю.
Результаты Великого Поста 2015
В очередной раз семь седмиц провел, много в чем себя ограничивая. И по результатам могу сказать, что мне понравилось. Пост — это возможность на привычные повседневные вещи взглянуть свежим взглядом и глубже понять их ценность.
Великий пост 2015
В этом году я решил продолжить традицию соблюдать великий пост, и вот сегодня первый день первой недели из семи.
Программа на пост, за некоторыми изменениями, повторяет прошлогоднюю.
Некоторым интересно, зачем в чем-то себе отказывать семь недель. Короткий ответ — чтобы лучше узнать себя. Длинный ответ я дать пока не готов.
Результаты Великого Поста 2014
Великий пост закончился, пора подводить итоги. Где-то планку я поставил себе сильно высоко, где-то — слишком низко, но, в целом, эксперимент считаю удачным.
Великий пост 2014
«Пост не прост» — говорили великие люди. До великих людей мне еще далеко (хотел написать «уже никогда», но как-то совсем уж мрачно), но все же в этом году решил выдержать пост. Лет 6 назад я уже делал такой опыт, но пост ограничивался только едой, в этом же году я хочу значительно усилить ограничения.
Tag: семья
Бобиткомен
Tag: ульяновск
Последствия выступления на Railsclub'Ulsk
В эту субботу 15 декабря я выступал в Ульяновске с докладом «Нетрадиционное использование Ruby и PostgreSQL». Несмотря на несколько провокационное название, доклад был посвящен вполне обыденным вещам: о том, как использовать Ruby и PostgreSQL не в web-проекте с Rails. Я рассказал о Ruby внутри Vim, hstore и PostgreSQL массивах внутри Rails (кстати, hstore и ARRAY неоднократно упоминались на конференции, так что я был неоригинален), а самая забавная часть моего доклада была посвящена несуществующей документоориентированной БД rmongo.rb. Видеозапись второго дня еще доступна на сайте Railsclub, и я надеюсь, что и первый день скоро появится в общем доступе.
Исходные коды, которые связаны с докладом, я выложил на Gist, сам доклад я выложил на Slideshare.
Посещение Ульяновска
Прошла уже почти неделя, как я вернулся из Ульяновска, но все никак не добегали пальцы до клавиатуры, чтобы поделиться впечатлениями.
Во-первых, я хочу выразить большую благодарность Кириллу Мокевнину, который встретил нас на вокзале на машине, помог поселиться, показал город, показал мне свой офис, а также организовал небольшую Ульяновскую ruby-тусовку. Кирилл организовал достаточно большой офис ruby-разработки, где много света, красиво, аккуратно и стеклянные туалеты. Поначалу они пугают, но стекло матовое и в целом это скорее забавно, чем неуютно.