Search
Write a publication
Pull to refresh
3
0
Дмитрий Куликов @DmitryKulikov

User

Send message

Резервное копирование и восстановление в PostgreSQL

Reading time4 min
Views39K
image

Предположим что у нас есть postgresql в режиме потоковой репликации. master-сервер и hot-standby готовый заменить погибшего товарища. При плохом развитии событий, нам остается только создать trigger-файл и переключить наши приложения на работу с новым мастером. Однако, возможны ситуации когда вполне законные изменения были сделаны криво написанной миграцией и попали как на мастер, так и на подчиненный сервер. Например, были удалены/изменены данные в части таблиц или же таблицы были вовсе удалены. С точки зрения базы данных все нормально, а с точки зрения бизнеса — катастрофа. В таком случае провозглашение горячего hot-standby в мастера, процедура явно бесполезная…
Для предостережения такой ситуации есть, как минимум, два варианта…
А? О чем это он тут?!?

Использование Liquibase без головной боли. 10 советов из опыта реальной разработки

Reading time5 min
Views145K
kdpvLiquibase — это система управления миграциями базы данных. Это вторая статья о Liquibase, на этот раз содержащая советы «боевого» использования системы. Для получения базовых сведений подойдет первая статья-перевод «Управление миграциями БД с Liquibase» (ссылка).

Как и многие инструменты, служащие для облегчения жизни разработчиков программного обеспечения, Liquibase имеет «обратную сторону медали», с которой приходится рано или поздно столкнуться.

Вот 10 вещей, которые в определенный момент работы с Liquibase были для меня открытием.

1. Версионность приложения должна быть отражена в структуре папок миграций


Если вы не будете следовать этому правилу, файлы чейнджлогов быстро украсят папку миграций своим количеством и необычными именами.
На данный момент для себя я выработал оптимальную стратегию именования файлов и папок. Вот она:

/db-migrations
    /v-1.0
        /2013-03-02--01-initial-schema-import.xml
        /2013-03-02--02-core-data.xml
        /2013-03-04--01-notifications.xml
        /changelog-v.1.0-cumulative.xml
    /v-2.0
        ...
        /changelog-v.2.0-cumulative.xml
    /changelog.xml

Подробнее:
Читать дальше →

Как я покупал 42-дюймовый ЖК-телевизор: опыт выбора и эксплуатации

Reading time8 min
Views200K
Поклонником телевидения я никогда не был, поэтому без какого-либо дискомфорта около 6 лет пользовался стареньким кинескопным Samsung примерно такого же возраста. Играл и фильмы смотрел на ноутбуке, а сам же ТВ включался лишь изредка, для «фона».

С приобретением игровой консоли xBox 360 я всерьез задумался о покупке современного телевизора, так как играть на старом кинескопном было практически нереально. Во-первых, в нем попросту нет HDMI-порта, и приходилось довольствоваться обычными «тюльпанами» и переходником SCART. Во-вторых, в силу низкого разрешения экрана нельзя было насладиться всей полнотой графики современных игр, а мелкие надписи (например, пояснения в играх) и вовсе были нечитабельны. Выход виделся один – приобретение современного телевизора.

Читать дальше →

Миллион PPS в секунду — связанность и балансировка

Reading time7 min
Views28K

На последней конференции РИТ++ мне посчастливилось стать впервые докладчиком конференции такого масштаба и такой значимости. В этой статье я не просто хочу пересказать всё, о чём я докладывал. Выступать впервые перед такой большой аудиторией для меня было непривычно и я половину забыл рассказать, нервничал немного. Речь пойдет о создании с нуля собственной отказоустойчивой структуры для веб-проектов. Мало кому из системных администраторов дается возможность с нуля запустить в production крупный проект. Мне повезло.

Как я уже написал, я не смог рассказать всё, что планировал со сцены, в этой статье я восполню эти пробелы, да и для того, кто не смог там присутствовать — это будет приятно, видео с конференции так и не дали бесплатно всем. Да и стать пользователем Хабра я хотел давно, вот только не было времени. Майские праздники дали время и силы. Статья будет не столько технической с кучей конфигов и графиков — статья будет принципиальная, все пробелы мелких технических вопросов можно будет восполнить в комментариях.
Читать дальше →

Видеоинтервью из Кремниевой Долины. Интервью с CEO компании, стоимостью > 1.000.000.000$. Фил Либин — CEO Evernote

Reading time3 min
Views12K

С вами новый выпуск познавательных интервью и репортажей из Кремниевой Долины. На этот раз интервью с самым что ни на есть Rock Star, CEO компании, которую в конце прошлого года оценили в 2 миллиарда долларов. Ещё недавно небольшой стартап, основанный выходцем из СССР (Степаном Пачиковым, Фил пришёл в компанию позднее), теперь стоит больше миллиарда и запускает в этом году свой стартап-акселератор. В коротком интервью Фил Либин говорит много очень интересных вещей о трендах, самообразовании, о планах Evernote и о том, как максимизировать шансы создания успешного стартапа (см. под катом расшифровку на русском языке). Интервью было сделано на конференции SVOD Summer 2013 (Silicon Valley Open Doors, проводится 2 раза в год), престижной конференции, традиционно объединяющей крупных инвесторов из США и России, а также являющейся отличным трамплином для российских стартапов в США (я позже выложу полный отчёт с конференции, когда смонтируем больше видео). Именно с помощью конференции SVOD Evernote получили первые крупные инвестиции, о чём Фил также говорит в интервью.
Читать дальше →

Taist: заточи «облака» под себя

Reading time4 min
Views5K
image

Пост будет вам интересен, если вы: активно используете в работе любые облачные сервисы — например, для управления разработкой и проектами — Trello, Basecamp, Asana, Мегаплан, qTrack, для бухгалтерии и торговли — МойСклад, МоеДело, для CRM — AmoCRM, Highrise, и любые другие.

Еще интереснее будет, если вы при этом:
  • уже кастомизировали какой-либо софт или сайт, то есть адаптировали его под свои нужды — например, меняли исходники, писали плагины или, особенно, пользовательские стили/скрипты
  • либо хоть раз писали разработчикам используемых сервисов свои пожелания по функционалу


Мне интересно

Hadoop. Подробное руководство. 3-е издание

Reading time2 min
Views23K
Возможно вы помните пост: Нужна ли книга по Hadoop?, в котором мы хотели узнать ваше мнение, стоит ли издавать эту книгу на русском языке. Прошли положенные 9 месяцев, и мы готовы представить её вашему вниманию.

Встречайте:

image
Читать дальше →

ConceptNet 5 — настоящий ИИ не за горами

Reading time3 min
Views33K
ConceptNet

ConceptNet — семантическая нейро-сеть, содержащая много вещей, которые компьютеры должны знать о мире, особенно при понимании текста написанного людьми.
Сеть построена из узлов, представляющих определенные слои и концепции, в виде слов или коротких фраз естественного языка и знаков отношений между ними. Это могут быть любые вещи, которые компьютерам нужно знать, чтобы искать информацию лучше, отвечать на вопросы и понимать цели людей. Если вы хотите построить свой собственный Watson вместе с ConceptNet, то это должно быть отличной целью для начала!
Подробности об ConceptNet под катом

Стартап WigWag создаёт среду для программирования умного дома на JavaScript

Reading time2 min
Views22K
Сегодня разные производители предлагают десятки разных (и часто несовместимых между собой) систем, устройств, приложений и интерфейсов для превращения обычного дома или квартиры в «умный» — интеллектуальные дверные замки и лампочки с управлением по WiFi, розетки, датчики и выключатели с аккаунтом в Твиттере, интернет-холодильники кондиционеры. Стартап WigWag, который уже собрал на Кикстартере почти в четыре раза больше денег, чем планировал, подошел к вопросу создания умного дома более системно. Они предлагают не просто набор сенсоров и актуаторов, но и целую инфраструктуру, совместимую со множеством уже существующих интеллектуальных электроприборов, и, что ещё важнее — открытую для модификаций и дружелюбную как к простым пользователям, так и к программистам и хакерам.

WigWag позволяет создавать «правила», подобные рецептам IFTTT, которые могут на основе информации с датчиков или из интернета управлять любыми устройствами. Это могут быть датчики и актуаторы WigWag, интернет-сервисы, Raspberry Pi, Arduino, Belkin WeMo, Philips Hue, и любые другие, поддерживающие протоколы IP, RS-232, 6loWPAN, Bluetooth и Zigbee. Причем создавать правила можно не только через графический интерфейс, но и на JavaScript, с помощью среды выполнения DeviceJS, которую разработчики WigWag позиционируют как способ писать приложения для умного дома точно так же, как пишутся приложения для Web.


Читать дальше →

Редактирование конфигов в Python

Reading time4 min
Views17K


Вам когда-нибудь приходилось парсить и программно вносить изменения в чужие конфигурационные файлы? А в файлы с ненормальными форматами вроде того, что у NSD или BIND9? А если формат предусматривает переносы строк, смысловые отступы и сохранение комментариев, задача быстро покидает категорию тривиальных.

Вот почему я делюсь с вами библиотекой python-reconfigure.
Читать дальше →

Университет MIT выложил бесплатно лекции в Сеть

Reading time1 min
Views151K


Один из лучших технологических вузов мира опубликовал большинство своих обучающих курсов, лекций и семинаров в интернете на отдельном ресурсе.

Есть аудио и видео-курсы, поиск по каталогу, по номеру курса, по наименованию дисциплины, все предметы и степень сложности разделены в отдельные рубрики.
Читать дальше →

Хеш-функция Стрибог или в городе новый шериф

Reading time16 min
Views73K
В 2012 году вся общественность, более или менее причастная к информационной безопасности, пристально следила за выборами нового стандарта хеширования данных SHA-3. На хабре достаточно широко освещалось это важное событие: публиковались результаты каждого раунда конкурса (раз, два, три), приводилось описание нового стандарта, и даже объяснялось почему новый стандарт так крут.
Однако, за всем этим ажиотажем совсем незамеченным осталось другое, не менее значимое событие: 1 января 2013 года в РФ также сменился стандарт хеш-функции.
Итак, встречайте: полное описание нового стандарта и его реализация на C#. Как говорится, лучше поздно, чем никогда.
Читать дальше →

Google выпустила парсер HTML5 на чистом Си

Reading time1 min
Views67K
Удачная возможность для веб-разработчиков выучить язык программирования Си — HTML5-парсер Gumbo, реализованный в виде небольшой библиотеки C99 без внешних зависимостей. Парсер создан как строительный блок для создания других инструментов и библиотек, таких как валидаторы, языки шаблонов, инструменты рефакторинга и анализа кода.

Особенности:
  • Полная совместимость со спецификациями HTML5.
  • Устойчивость к некачественным входным данным.
  • Простые API, которые могут быть легко обработаны программами на других ЯП.
  • Поддержка исходных позиций и указателей в оригинальном коде, при навигации по дереву зависимостей.
  • Проходит все тесты html5lib-0.95.
  • Проверен на более чем 2,5 млрд страниц в индексе Google.
Читать дальше →

Видео первой лекции IT-мастерской: Суперкомпьютеры. Внутренняя архитектура систем корпоративного уровня

Reading time1 min
Views12K
Мы, портал Айти-Событие.рф, 31 июля провели Первую IT-мастерскую совместно с компанией EMC Corporation. Лектором выступил руководитель направления Mainframe в рамках подразделения ESD (Enterprise Storage Division) корпорации EMC Сергей Поспелов. Сергей рассказывал о суперкомпьютерах и о внутренней архитектуре систем корпоративного уровня.


Читать дальше →

Crossfilter.js, dc.js и D3.js для визуализации Данных

Reading time4 min
Views35K
Приветствую ценителей красивой и функциональной визуализации данных! Предлагаю вашему вниманию небольшой обзор нескольких JavaScript библиотек, которые вкупе с D3.js позволят создать интерактивную визуализацию многомерных данных с возможностью применения фильтрации «на лету».


Заинтересовались, тогда добро пожаловать под кат.
Читать дальше →

Tridiv: редактор 3D CSS

Reading time1 min
Views23K
image

Сегодня утром увидел в Твиттере Пола Айриша ссылку на кое-что впечатляющее. Tridiv — 3D-редактор для создания моделей на CSS. Для всех, кто хоть раз боролся с CSS трансформациями, чтобы сделать даже простой 3D эффект, известно, что подобная штука сможет значительно облегчить жизнь. Для остальных — еще одна демонстрация того, на что способны HTML5/CSS3.

Приложение интерфейсом напоминает привычные 3D WYSIWYG редакторы. В режиме Превью можно настроить освещение/фон/скопировать исходный код/посмотреть, как все это выглядит на CodePen. Возможно сохранение в Local Storage. Хотя, конечно, интересный вопрос — почему выбраны трансформации, а не WebGL. Капля дегтя — работает пока только в Chrome и Safari (но код префиксо-независимый, поэтому по всей видимости в скором времени добавится поддержка остальных браузеров — в том же Firefox работает demo от автора приложения).
Читать дальше →

Стали известны планы развития Школы по высокопроизводительным вычислениям в Университете Иннополис

Reading time2 min
Views4.1K
С 8 по 14 сентября 2013 года на казанской площадке Университета Иннополис прошла Школа по высокопроизводительным вычислениям и их приложениям к задачам современной биологии и медицины. В организации Школы принимали участие Физтех и КБГУ. Сильная команда партнеров обеспечила высочайший уровень организации мероприятия, отмеченный всеми участниками.

Читать дальше →

Виджет становится новой элементарной частицей интернета

Reading time2 min
Views10K
Пол Адамс из Intercom на связи:

'Kарточки' — будущее веба. Они быстро становятся лучшим шаблоном для дизайна под мобильные устройства.

На наших глазах идет пересмотр архитектуры интернета, замена страниц и адресов полностью персонализированным интерфейсом, построенным на агрегации многих элементов контента. Контент разбивают на составляющие компоненты и перекомпануют — и это результат роста популярности мобильных технологий, наличия миллиардов экранов всех форм и размеров, а также невиданной ранее доступности данных через разнообразные АПИ.

Все это ведет архитектуру интернета от связанных между собой страниц контента к связанным в единый интерфейс элементарных частей контента.


Или, по-русски, — виджет данных становится новой элементарной частицей интернета, заменяя в этом веб страницу.


(картинка из блога Intercom)

Идея, конечно, неожиданна, но не нова. Есть уже Open Graph от Facebook и Twitter Cards для встраивания контента. Да и oEmbed, опубликованный в далеком 2008м году, еще долго будет востребован (по крайней мере пока в нем продолжает публиковать свои проигрыватели YouTube так точно).

Но вот в комментариях к статье наткнулся на что-то действительно новое и интересное — ссылка на недавно опубликованный протокол для встраивания резиновых виджетов — Iframely.
Читать дальше →

Runnable: поисковик по коду с его исполнением в VM

Reading time1 min
Views11K


Бывший сотрудник Amazon запустил поисковик по исходному коду Runnable.com, который отличается уникальной особенностью: он не только ищет код, но и исполняет его в виртуальной машине EC2 прямо в результатах поиска. Более того, можно собственноручно внести изменения в код — и снова запустить его, чтобы посмотреть результаты.
Читать дальше →

Больше комитов, хороших и разных

Reading time2 min
Views7.6K
На мой взгляд, самый лучший способ освоить что-нибудь новое в программировании — изучать комиты в публичные репозитории.
Тут вам и предельная практичность, best practices, большое разнообразие и прочее. Есть только один неприятный момент — далеко не каждое изменение в репозиторий можно считать поучительным или хоть сколько нибудь информативным.
Более того, практически никогда нельзя восстановить полный контекст, в котором появилось то или иное изменение — его может знать только сам автор. Можно ли в таких условиях все-таки вытащить крохи полезной информации?
Читать дальше →

Information

Rating
Does not participate
Location
Саров (Нижегородская обл.), Нижегородская обл., Россия
Date of birth
Registered
Activity