Pull to refresh
65
0
Адель Файзрахманов @Adelf

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

Send message

Система управления Ansible

Reading time25 min
Views256K


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

Чтобы упростить процессы настройки и конфигурирования серверов, можно также писать shell-скрипты. Но и этот способ вряд ли можно назвать совершенным. Скрипты нужно постоянно изменять, подстраивая их под каждую новую задачу. При их написании необходимо учитывать различие операционных систем и версий. Не будем забывать и о том, что отладка скриптов отнимает много усилий и забирает немало времени.

Оптимальным вариантом решения описанных проблем является внедрение системы удаленного управления конфигурацией. В таких системах достаточно лишь описать нужное состояние управляемого узла. Система должна сама определить, что нужно сделать для достижения этого состояния, и осуществит все необходимые действия.

Со всеми сложностями, о которых идет речь выше, мы хорошо знакомы на собственном опыте: у нас имеется 10 точек присутствия с NS-серверами, расположенные в разных точках планеты. На них необходимо регулярно вносить различные изменения: обновлять операционную систему, устанавливать и обновлять различное ПО, изменять конфигурцию и т.п. Мы решили все эти операции автоматизировать и внедрить систему удаленного управления конфигурациями. Изучив имеющиеся решения, мы остановили свой выбор на Ansible.

В этой статье мы бы хотели подробно рассказать о его возможностях этого инструмента управления конфигурациями и поделиться собственным опытом его использования.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments49

Почему я не преподаю SOLID и «принцип устранения зависимостей»

Reading time5 min
Views65K

Статья 1. Почему я не преподаю SOLID


Если вы разговариваете с кем-то, кому небезразлично качество кода, уже достаточно скоро в разговоре всплывёт SOLID — аббревиатура, помогающая разработчикам запомнить пять важных принципов объектно-ориентированного программирования:

SOLID полезен. Его разработали знатоки в нашей области. Он помогает людям рассуждать о дизайне. Помогает создавать системы, устойчивые к изменениям.

Раньше SOLID был краеугольным камнем моего набора средств проектирования. Я делал все возможное, чтобы сделать мой код как можно более SOLID. Я учил других поступать так же.

Сегодня SOLID остается для меня важным, но я больше не пытаюсь сделать мой код SOLID. Я редко упоминаю его, когда говорю про дизайн. И тем более я не учу пользоваться им разработчиков, которым хочется почерпнуть хорошие дизайнерские методы проектирования. Он больше не находится у меня под рукой в моем «ящике для инструментов». Он лежит в пыльной коробке на чердаке. Я храню его, потому что он важен, но редко им пользуюсь.
Читать дальше →
Total votes 57: ↑47 and ↓10+37
Comments101

Свой облачный хостинг за 5 минут. Часть 1: Ansible, Docker, Docker Swarm

Reading time11 min
Views138K
Cloud hosting

Привет Хабр! Последние 1.5 года я работал над своим проектом, которому был необходим надежный облачный хостинг. До этого момента я больше 10 лет занимался веб-программированием и когда я решил построить свой хостинг у меня были относительно поверхностные знания в этой области, я и сейчас не являюсь системным администратором. Все что я буду рассказывать может выполнить обычный программист в течение 5 минут, просто запустив набор сценариев для Ansible, которые я подготовил специально для вас и выложил на GitHub.
Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments42

30 чудных библиотек для PHP программистов

Reading time6 min
Views105K
Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать дальше →
Total votes 71: ↑60 and ↓11+49
Comments18

Настройка TeamCity в Azure — постоянно-доступная система для командной работы в облаке

Reading time6 min
Views7.8K
Эта статья продолжает цикл, начатый нашими друзьями из Лаборатории Касперского и описывает реальный опыт использования инструментов тестирования от Microsoft (и не только) с рекомендациями и выводами. Автор — инженер по тестированию, Игорь Щегловитов (@ins4n3 на хабре). Наши статьи, посвященные тестированию, помечены тегом #mstesting.

В данной статье я хотел бы поделиться о своём первом опыте настройки процесса Continuous Integration c помощью популярной системы TeamCity, на виртуальной машине в Azure. Это хорошо тем, что у нас всегда будет доступна наша система с удобным доступом и контролем над ресурсами.


Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments2

Оптимизация ASP.NET — практические советы по работе с IIS

Reading time12 min
Views98K
В данной публикации речь пойдёт о настройке важных параметров пула ASP.NET-приложений при вызове удалённых веб-сервисов и активной работе с сетью на стороне сервера через стандартные классы .NET.



Введение


Приходилось ли вам когда-нибудь самим настраивать производственные веб-сервера (production servers) под управлением ОС Windows Server 2008 R2/IIS 7.5 и выше? Для системных администраторов, имеющих большой опыт работы с IIS, скорее всего, это тривиальная задача, но вот для веб-разработчиков, которым по различным причинам порой приходится самим участвовать в настройке «боевых» серверов, данная информация может оказаться весьма полезной.

Итак, приступаем. Ускоряем сайт на ASP.NET — экономим деньги предприятия и нервы администратора.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments6

Питер Тиль: как построить монополию?

Reading time21 min
Views51K


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments3

Black Swift: зачем мы его сделали

Reading time7 min
Views126K
Как уважаемые хабровчане знают, вот уже почти год мы разрабатываем маленький компьютер (примерно с SD-карточку), работающий под OpenWRT, со встроенным Wi-Fi, USB, Ethernet, азартными играми и доступными женщинами. Дмитрий dzhe уже несколько раз писал про него — и, в общем, с каждым разом собирал в комментариях один и тот же вопрос: а зачем вы вообще его делаете? Ну ведь есть же Raspberry Pi, стоит он столько же, есть VoCore, Carambola, Edison, в конце концов, — зачем нужен ещё один «нанокомпьютер»?

Пожалуй, надо наконец на этот вопрос ответить — заодно отметив этим ответом появление у нас своего корпоративного блога (спасибо, Хабр!), а также запуск отдельного веб-сайта, посвященного только этому проекту.



Если коротко: хотя изначально проект начинался как «а не сделать ли нам нанокомпьютер как у китайцев, но для себя и подешевле?», мотивация довольно быстро сместилась — мы поняли, что можем сделать его если не дешевле, то лучше и удобнее, и не только для себя.

Читать дальше →
Total votes 122: ↑120 and ↓2+118
Comments228

20 самых популярных выступлений всех времен на конференции TED

Reading time3 min
Views354K
Привет, Хабр. Я знаю, что здесь уважают и любят выступления TED. Поэтому я не мог пройти мимо новости о том, что сайт ted.com после редизайна обновил плейлист «20 самых популярных выступлений на TED всех времен». Это яркий пример того, как путем послабления копирайта (все лекции TED находятся в открытом доступе, распространяются по лицензии CC, согласно которой разрешено все, кроме коммерческого использования) и организации краудсорсинга (все переводы выполняют волонтеры) можно добиться впечатляющих результатов…



Ранее на Хабре уже публиковался этот плейлист, но с тех пор он заметно обновился. Не изменился разве что лидер рейтинга — Кен Робинсон с выступлением «Как школы подавляют творчество».

Рейтинг составлен по количеству просмотров (в статистике учитывались данные с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.)

Большинство лекций переведены на русский язык, с субтитрами или в озвучке. Не буду много писать, это нужно смотреть. Остальное под катом.
Читать дальше →
Total votes 117: ↑109 and ↓8+101
Comments22

Кастомные социальные кнопки

Reading time5 min
Views74K
Недавно участвовал в разработке одного проекта — фото конкурса. По задумке, рейтинг фото альбомов должен формироваться из суммы всех публикаций в социальных сетях: Facebook, Вконтакте, Twitter. Т.е. общий рейтинг фотоальбома расчитывается:
Рейтинг фотоальбома = кол-во «Share» в Facebook + кол-во «Сохранить» в Вконтакте + кол-во «Retweet» в Twitter

На макетах, вид кнопок несколько отличался от предоставляемых социальными сетями плагинов, формируемых функциями api. В частности вид счетчиков:
image
Помимо несоответствий с дизайном, каждый плагин формирует излишний хтмл код, а хотелось бы лаконичный.

Детальнее ознакомившись с api каждой сети, окончательно убедились в отсутствии расширенных возможностей для кастомизации кнопок и этот факт понять можно, все стремятся к единоборазности своих кнопок. Решили отказаться от использования готовых плагинов и сделать свои кнопки.

Итак:
  • количество лайков будем получать от REST сервисов каждой социалки
  • кнопки рисуем свои и обрабатываем событие click

Читать дальше →
Total votes 99: ↑94 and ↓5+89
Comments58

Японские роботы научились… петь

Reading time2 min
Views4.2K


Нет, понятное дело, любой мало-мальски современный гаджет умеет «петь», то бишь воспроизводить музыкальные файлы разных форматов. Однако в данном случае речь не об этом — японцы действительно научили своего робота петь, и петь довольно сносно. Робота, который получил проектное название HRP-4, создатели еще называют иногда «дива-бот», и не напрасно. Робот не только умеет синтезировать звуки, моделируя человеческий голос, но и мимикой и движениями сопровождать свое пение. Ради справедливости отмечу, что у робота это получается намного лучше, чем у многих существующих эстрадных исполнителей — людей.

Читать дальше →
Total votes 59: ↑49 and ↓10+39
Comments122

Новый конкурс AI-ботов от Google

Reading time1 min
Views1.6K
Google AI Challenge возвращается! С 10 сентября стартует новый конкурс, в рамках которого боты будут соревноваться в игру под названием Planet Wars.



Planet Wars основана на популярной стратегической игре Galcon, которая известна многим владельцам телефонов iPhone и Android.
Читать дальше →
Total votes 51: ↑47 and ↓4+43
Comments49

The Art Of Programming — Выпуск №47 [ E ] / Реверансы в сторону Eclipse

Reading time1 min
Views523
Интервью с Павлом Самолысовым
Ведущий инженер-программист Naumen
Eclipse Communication Framework commiter
Трушный Java-ист, балующийся F#

+ Временные понаехи в Нерезиновске
+ marketplace
+ интеграция с операционными системами
+ всякие вкусняшки для распределенных систем

Полезные ссылки:
vkontakte.ru/club10569242
samolisov.blogspot.com
twitter.com/samolisov
samolisov.moikrug.ru
Total votes 34: ↑27 and ↓7+20
Comments18

Книга Джошуа Кериевски «Рефакторинг с использованием шаблонов»

Reading time3 min
Views4.4K
Дочитал на днях сабжевую книжку. Вышла она еще в 2008 году (а предыдущее издание и того раньше), но мне она попалась только недавно. По идее, читать ее надо было бы после книги Фаулера «Рефакторинг. Улучшение существующего кода», на которую Кириевски постоянно ссылается, но до Фаулера я пока не добрался, хотя это и не особо затруднило чтение. Вторая книга, которую лучше всего прочитать заранее, это «Приемы объектно-ориентированного проектирования. Паттерны проектирования» банды четырех.

Суть книги «Рефакторинг с использованием шаблонов» состоит в том, что в книге автор собрал 27 довольно сложных рефакторингов, большинство которых предназначены для того, чтобы как можно более безболезненно ввести в архитектуру программы паттерны, описываемые в книге банды четырех. Как пишет в начале Кириевски, часто он начинает программировать без использования паттернов до тех пор пока этот участок кода не надо расширять, тогда он принимается за рефакторинг. Правда, в книге есть еще один рефакторинг, который наоборот избавляет код от использования синглтонов (автор называет болезнь, когда используют синглтоны по любому поводу, синглтонизмом и предлагает открыть общество анонимных синглтоников).
Читать дальше →
Total votes 66: ↑57 and ↓9+48
Comments26

Бледно-голубая точка

Reading time1 min
Views22K


Вместе с гениальными учеными меня всегда восхищали ученые популяризаторы науки.

Pale Blue Dot или Бледно-голубая точка это знаменитая фотография Земли, сделанная зондом Вояджер-1 с растояния 5,9 миллиардов километров. Многие даже называют ее самой важной фотографией в истории человечества. Название и сама идея сделать такой снимок принадлежит Карлу Сагану, одному из самых известных популяризаторов науки.

В 1994 году вышла одноименная книга «Pale blue dot: a vision of the human future in space», а в 1996 году Карл Саган произносит свою вступительную речь. Именно ее я предлагаю вам послушать.

Оригинал (Голос Сагана на видео-хостингах положили на множество разных картинок, и похожих роликов много)

P.S. Это эссе хоть и (мне кажется) уже фигурировало на Хабре, и перевод на русский существует (хотя меня он просто убил мне он не нравится), я просто давно хотел перевести его :)
Total votes 97: ↑89 and ↓8+81
Comments38

Симбиоз идей: примеры хорошего совмещения идей в дизайне логотипов и рекламы

Reading time2 min
Views7.6K
Здравствуй, хабр! Сегодня я хочу представить вам всем дозу дизайнерского вдохновения для мозга.

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

Для чего это нужно


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

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

Сильная идея + простая (но, естественно, качественная!) реализация оказываются не менее эффективнее, чем сложная реализация самого высокого уровня с привычной идеей. А, собственно, сильную свежую идею можно найти путём совмещения обычных.

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

Логотипы










Еще четыре десятка логотипов и рекламы под катом
Total votes 152: ↑127 and ↓25+102
Comments78

Спать мало, но правильно?

Reading time7 min
Views900K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43+627
Comments420

Программирование в таблицах — новая концепция записи условных (и не только) конструкций

Reading time8 min
Views5.7K
Не так давно, в процессе поиска в сети альтернативных подходов к программированию я наткнулся на очень интересное видео. Это 40-минутная презентация с интригующим названием «No Ifs, Ands, or Buts. Uncovering the Simplicity of Conditionals». Автор презентации Джонатан Эдвардс (Jonathan Edwards) рассказывает о новой концепции записи условных конструкций при помощи созданных им схематических таблиц (schematic tables).

Эта тема должна быть интересна всем, кто хоть немного интересуется программированием. Если у вас нет в распоряжении лишних сорока минут или вы не можете посмотреть видео по какой-либо другой причине, предлагаю ознакомиться с моим кратким пересказом презентации Джонатана.
Читать дальше →
Total votes 64: ↑58 and ↓6+52
Comments54

Много книг, хороших и разных

Reading time20 min
Views97K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →
Total votes 139: ↑124 and ↓15+109
Comments89

10 юзабилити-преступлений, которых вы не должны совершать

Reading time2 min
Views4.5K
На стадии дизайна и разработки мы должны учитывать прописные истины и основные концепции для улучшения юзабилити сайта. В этой статье описываются классические, но непростительные ошибки в области веб-дизайна и способы их решения.

Преступление #1: В формах метки не связаны с полями ввода


crime1
Использование атрибута «for» позволит пользователям кликать по метке, для выбора соответствующего поля формы. Это особенно важно для чекбоксов и радиокнопок — увеличить область клика.
Читать дальше →
Total votes 325: ↑289 and ↓36+253
Comments160

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity