Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Docker: деплой master-slave конфигурации PostgreSQL

Время на прочтение5 мин
Количество просмотров12K


В предыдущем материале я рассказывал о проекте для автоматизации деплоя Docker контейнеров, разработка которого стартовала в начале этого года. Прошло несколько месяцев, Fabricio был значительно улучшен и доработан, и сегодня я хочу рассказать об одном из последних нововведений — об автоматическом деплое master-slave конфигураций для PostgreSQL.

Запуск PostgreSQL в контейнерах — не самая популярная идея, и тому есть разумное объяснение: ни к чему добавлять дополнительные сетевые задержки к и без того довольно загруженному сервису. Но существует ряд случаев когда такое решение все же можно применить. Например, когда вы полностью доверяете Docker БД не испытывает серьезных нагрузок, но при этом важна возможность дублирования/реплицирования хранимых данных на несколько серверов. Либо просто для тестирования и отладки настроек перед применением их на боевых серверах.

Чтобы не утомлять читателя (и пользователя) большим количеством текстовой информации, я решил, что неплохо было бы уже привести «живые» примеры использования Fabricio на реально работающих контейнерах — согласитесь — лучше один раз увидеть.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии9

Docker swarm mode (режим роя)

Время на прочтение11 мин
Количество просмотров97K

На хабре уже писали про Docker swarm mode (режим роя), который является новой фичей версии 1.12. Данная опция внесла небольшую путаницу в головы тех, кто знаком с отдельно стоящей реализацией Docker Swarm имевшей распространение ранее и не отличавшейся удобством настройки и использования. Однако, после добавления Swarm в коробку с Docker все стало намного проще, очевиднее и функциональнее.

Подробнее о том, как устроен новый кластер Docker контейнеров с точки зрения пользователя, а также о простом и удобном способе разворачивания сервисов Docker на произвольной инфраструктуре далее под катом.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии60

Квантовая механика для всех, даром, и пусть никто не уйдёт обиженным: часть первая

Время на прочтение10 мин
Количество просмотров218K
Здравствуйте! Я хотел бы представить вашему вниманию отличное введение в квантовую механику, написанное Элиезером Юдковским; быть может, он известен вам по своему сайту lesswrong.com, посвящённому рационализму, предрассудкам, когнитивным парадоксам и ещё многим интересным вещам.
Читать дальше →
Всего голосов 119: ↑109 и ↓10+99
Комментарии149

Научно-популярные фильмы о физике

Время на прочтение1 мин
Количество просмотров81K
Всем привет!

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

Недавно случайно наткнулся на ютубе на фильм с Брайаном Грином «Тайны мироздания» и удивился, что у видео так мало просмотров.

Не сказать, чтобы такая подача материала мне очень нравилась, но все равно, местами довольно интересно :) Может быть, будет интересно не только мне.

Сами видео под катом.
Читать дальше →
Всего голосов 81: ↑76 и ↓5+71
Комментарии35

Усложнение памяти в нейросетях

Время на прочтение4 мин
Количество просмотров2.3K
Читая статью «21 век: что такое жизнь с точки зрения физики» наткнулся на описание памяти как в живой так и не живой материи. Под памятью в живой материи все понимают, что имеется в виду, ну а под памятью в неживой подразумеваются все способы хранения информации в вашем компьютере и множество других способов. Итак, с точки зрения автора статьи Г. Иваницкого отличительной чертой жизни является использование памяти для прогнозирования
Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Комментарии51

По следам интеллекта

Время на прочтение3 мин
Количество просмотров9.3K

По следам интеллекта


С момента первых попыток моделировать процессы, протекающие в человеческом мозге, наука прошла множество ступенек приближающих нас к ИИ. Но мозг человека, совершает пока что неподъемную и слабо отслеживаемую работу по непрерывной обработке потока сенсорной информации. Я попытаюсь осмысленно рассказать основные вехи эволюции искусственных нейронных сетей (ИНС).
Читать дальше →
Всего голосов 48: ↑39 и ↓9+30
Комментарии68

Cвежее дополнение к Visual Studio для создания кроссплатформенных приложений на HTML и JavaScript

Время на прочтение3 мин
Количество просмотров25K
image

Сегодня я хочу поделиться с вами еще одним дополнением, позволяющим разрабатывать кроссплатформенные мобильные приложения для Windows, Windows Phone, iOS и Android, используя Visual Studio 2013. В отличие от многих известных вам фреймворков – это дополнение абсолютно бесплатно и легко в освоении для веб-разработчика. Речь пойдет про дополнение, интегрирующее проект Apache Cordova в Visual Studio 2013.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии11

Параллельное программирование для начинающих на ЯП Elixir / Erlang VM на примере задачи «конь Эйлера»

Время на прочтение21 мин
Количество просмотров27K


Вступление


Чуть больше года назад я сделал очень важный в своей жизни поступок — скачал с сайта Microsoft IDE Visual Studio и написал на языке C++ свою первую в жизни программу, как это ни странно — «Hello, World!». За следующие полгода я прочитал небезызвестную книжку Страуструпа, устроился на работу джуниор С++ разработчиком, попробовал писать на Lua, Python, но каких-либо значительных успехов не добился — мои библиотеки не работали, программы с трудом компилировались и падали в runtime, указатели указывали не на те участки памяти (которая, кстати, всегда куда-то утекала), а попытки использовать больше одного потока (С++11 же!) приводили к порче памяти и дедлокам. О том, как выглядел код, лучше просто промолчать.

К чему это я? К тому, что по моему личному мнению/опыту императивные языки в силу своих особенностей совершенно не подходят начинающим разработчикам. Без знаний промышленных паттернов программирования, каких-то сведений о работе операционной системы и элементарной культуры кода написать что-то сносное на них очень тяжело. Они дают слишком много свободы и пространства для костылей и велосипедов, в то время как функциональные языки жёстко ограничивая разработчика в некоторых вещах оставляют ему не так много возможностей писать плохой код, заставляя думать и развиваться.

Примерно полгода назад я понял, что пора что-то менять, и после получаса поиска в интернете нашёл спецификации ЯП Erlang. В статье автор представлял Erlang как «чудесную таблетку» от всех вышеописанных мою проблем, и в общем-то по большей части он оказался прав. Так я начал программировать на Erlang, а затем и на Elixir.

Elixir Language


Elixir — язык, построенный поверх Erlang, результат компиляции — байткод Erlang VM. От Erlang он выгодно отличается простотой синтаксиса и мощным инструментарием для мета-программирования (люди, знакомые с Lisp сразу узнают quote-unquote конструкции). Соответственно, для использования доступен весь функционал Erlang, любые его модули и, что самое главное — фреймворк OTP.

Типы данных — те же самые, что и в Erlang. Данные — неизменяемые, результат действий с ними — новые данные. В Elixir как и во многих функциональных языках работает принцип «Всё — выражение». Любое выражение вернёт значение.

У ЯП Elixir есть отличный интерпретатор, который устанавливается вместе с языком, в нём можно опробовать примеры.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии25

Лучшие способы использования Angular.js

Время на прочтение9 мин
Количество просмотров54K

От переводчика:


Привет, Хабр! Мы мы продолжаем делится с сообществом полезными материалами о разработке и дизайне. В этот раз команда TrackDuck подготовили перевод статьи Jeff Dickey о Angular, которая нам очень понравилась и в свое время заставила пристальней присмотреться к Gulp. Эта статья будет полезна разработчиками, которые хотят сэкономить время на рутинных операциях и построить качественные процессы при разработке веб-приложений. Мы активно используем Angular для разработки собственного продукта для визуального комментирования веб-сайтов, поэтому готовы ответить в комментариях на интересующие вас вопросы!




Я использовал Angular в довольно большом количестве приложений и видел много способов структурирования приложений с использованием этого фрэймворка. Сейчас я пишу книгу о проектировании Angular приложений c использованием MEAN стека, и больше всего исследований я провел в этом направлении. В итоге я остановился на довольно оригинальной структуре приложения. Я считаю, что мой подход более простой чем тот, что предложил Burke Holland.
Прежде чем начать, я хотел бы рассказать о существующем подходе к реализации модульности в Angular.
Если вы разрабатываете продакшн решение на Angular - добро пожловать под кат!
Всего голосов 43: ↑32 и ↓11+21
Комментарии18

Bacula: для тех кому надо по-быстрому и в картинках

Время на прочтение13 мин
Количество просмотров142K
Доброго времени суток всем тем, кто собирается делать Backup'ы постоянно.

В этом посте я попытаюсь облегчить жизнь тем, кто пробует познакомится с этой системой. Ничего сверхъестественного я не расскажу, просто добавлю то, что мне бы самому пригодилось. За основу взят отменно написанный пост, так что переписывать и копировать нет смысла.
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии46

Централизованное резервное копирование данных Windows и *nix серверов средствами Bacula

Время на прочтение15 мин
Количество просмотров98K
Приветствую всех хаброжителей!

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

Думаю вполне резонным будет предположение, что данная тема уже набила оскомину, но все же я рискну поделиться своим опытом. На суд читателя будет представлена клиент-серверная реализация схемы резервного копирования. В качестве инструмента я выбрал open source проект Bacula. По более чем полугодовому опыту его использования остаюсь доволен своим выбором.

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

Под хабракатом я опишу все демоны подробно


В моем случае резервному копированию подлежат:
  1. Конфигурационные файлы различных демонов со всех серверов.
  2. MySQL базы данных.
  3. Документооборот с файлового сервера Windows.
  4. Различные важные данные с nix серверов(движки сайтов/форумов, etc..)


Приглашаю под кат тех, кто еще не делает бекапы, и тех кто уже их делает.
Всего голосов 45: ↑42 и ↓3+39
Комментарии51

Видеохостинг своими руками

Время на прочтение6 мин
Количество просмотров69K
Эта статья о некоторых технических аспектах реализации бесплатного сервиса для загрузки, хранения и просмотра видео. Будут рассмотрены вопросы настройки серверного программного обеспечения, даны примеры команд для конвертации видео и примеры кода на языке PHP.
Читать дальше →
Всего голосов 126: ↑126 и ↓0+126
Комментарии108

Как подружить Socket.IO и backbone.js

Время на прочтение2 мин
Количество просмотров3.2K
Как мы все знаем, евенты backbone.js делятся на две категории:

  • Изменение информации в моделях/коллекциях
  • Евенты DOM — дерева

Недавно, мне необходимо было решить задачу подключения евентов socket.io к backbone, да так, что бы все было внутри приложения backbone, что бы евенты сокетов можно было объявить прямо во вьюхах и там же описать все действия, которые будут происходить по евенту.

Дабы не отступать от стиля backbone, хотелось реализовать возможность добавить событие socket.io так же, как событие DOM — дерева, а именно вот так:

var im = Backbone.View.extend({
  io_events: {
    'new_message': 'newMessage'
  },
  newMessage: function(message_data){
    //do something
  }
});

Долгие поиски по просторам интернета меня привели к подборке менее элегантных методов связки backbon'а и сокетов, которые, вроде, и решали задачу, но не так, как хотелось бы. Пришлось думать самому.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии3

Отображение зависимых данных на примере каскадных выпадающих списков

Время на прочтение2 мин
Количество просмотров3.7K
Иногда попадаются интересные задачи, которые сложно написать с первого раза. Одной из таких задач оказались каскадные списки и легким комментарием я прикинул, что на Backbone у меня получится написать короче.

Короче не получилось… Отчасти из-за того, что я усложнил задачу до бесконечно выпадающих списков и из-за небольшой многословности Backbone.
Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии4

Сравнение Angular, Backbone, CanJS и Ember

Время на прочтение7 мин
Количество просмотров94K
(Дата публикации оригинала — 12.04.2013)
Выбор JavaScript MVC фреймворка — тяжёлая работа. Нужно учесть много факторов, и число вариантов выбора может быть огромно. Достаточно взглянуть на проект ToDoMVC (о нем по-русски).

Я работал с 4 фреймворками: Angular, Backbone, CanJS и Ember. Поэтому решил сделать сравнение, чтобы помочь вам решить, какой из них использовать. Я выделю несколько факторов, которые вы можете использовать при выборе. Каждый фактор будет иметь оценку от 1 до 5 (больше — лучше). Я старался быть беспристрастным, но, конечно, оценки основаны на личном опыте.


Читать дальше →
Всего голосов 91: ↑83 и ↓8+75
Комментарии62

Популярность Javascript-фреймворков

Время на прочтение1 мин
Количество просмотров26K
Интерес к Javascript MV* фреймворкам вызвал их подъем. Meteor, Ember, Angular, and Backbone, все они действительно популярны на Github. Измерить популярность довольно сложно, но хорошим показателем может быть количество Github-фоловеров. Используя данные из Github-архива, можно продемострировать это визуально (с помощью запроса на BigQuery и некоторых других скриптов).
Читать дальше →
Всего голосов 38: ↑27 и ↓11+16
Комментарии64

Наследование в Backbone.js

Время на прочтение4 мин
Количество просмотров14K
Коллеги, использующие Backbone.js! Вы задумывались, как работает наследование в этой библиотеке?
Знаете, как себя ведет Backbone.Model.extend({})?
И наверняка знаете и помните, что у extend два опциональных параметра: proto props и static props.
Если хотя бы на один выше заданный вопрос вы ответили отрицательно — прошу под кат.
Постараюсь порадовать пошаговым исследованием, схемками, табличками и примерами.
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии1

Angular.js vs Meteor.js vs Derby.js

Время на прочтение2 мин
Количество просмотров35K

После поста о derby.js и перевода сравнения meteor.js и derby.js, главный вопрос, который был в комментариях, звучал примерно так: «Что всё таки лучше derby.js или meteor.js? И зачем вообще всё это нужно, когда можно писать на angular.js + express.js?». Конечно не совсем корректно сравнивать эти фреймворки, так как derby.js и meteor.js — это так называемые full-stack, а angular.js — mvc на клиенте.

Если нельзя, но хочется, то можно попробовать...
Всего голосов 63: ↑45 и ↓18+27
Комментарии107

Наш взгляд: Meteor против Derby

Время на прочтение11 мин
Количество просмотров18K
От переводчика: Не встречал на хабре материалов, посвященных фреймворку Derbyjs, который часто упомянается, как основной конкурент Meteor. Под катом сравнение этих двух фреймворков, сделанное авторами Derby. Сравнению уже больше года, но тем, кто не читал, думаю будет интересно.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии36

Angular vs Derby. Должен остаться только один

Время на прочтение4 мин
Количество просмотров14K


Такое громкое название говорит о том, что сегодня мы будет сравнивать концепцию MVC на клиенте (Angular, Ember, Backbone, Marionette, Knockout и т.п. тыщи их) с концепцией Full-Stack (Derby, Meteor). Разберем плюсы, минусы, мифы, заблуждения.


Это явно вброс! Но всё равно интересно почитать
Всего голосов 45: ↑17 и ↓28-11
Комментарии78

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность