Pull to refresh
96
1.6
Send message

Как начать тестировать Ansible, отрефакторить проект за год и не слететь с катушек

Reading time10 min
Views9.1K


Это расшифровка выступления на DevOps-40 2020-03-18:


Начиная со второго коммита любой код становится legacy, т.к. изначальные задумки начинают расходиться с суровой реальностью. Это не хорошо и не плохо, это данность с которой сложно спорить и необходимо уживаться. Частью этого процесса является рефакторинг. Рефакторинг Infrastructure as Code. Да начнется история как отрефакторить Ansible за год и не слететь с катушек.

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments28

Как увлажняется кожа, и что бывает, когда вы маниакально моете руки спиртом при COVID-19

Reading time8 min
Views44K


Человек с трудом растворяется в воде, потому что почти весь завёрнут в гидроизоляцию. Это липидный слой кожи, состоящий, как прямо следует из названия, из жиров. То есть с одной стороны, нам нужна увлажнённая кожа, влажные глаза, влажный нос и другие органы, а с другой — наша же собственная изоляция частично мешает свободно подавать влагу туда и обратно.

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

Если вы польёте на руку водопроводной водой, то через некоторое время кожа на ней будет суше (особенно это заметно зимой). В этот момент люди иногда думают, что нарушаются какие-то базовые законы мироздания. На деле за счёт содержащихся в воде элементов (в основном кальция и хлора) вы нарушаете липидный слой и выносите с кожи ещё часть веществ, которые удерживали влагу. Результат — ваши руки чистые. И сухие.

Если бы вода могла проникать в кожу, то человек растворялся бы в ванне. В смысле он так делает где-то на третьи сутки (и даже может принять форму и размер ванны, что доставляет известную радость судмедэкспертам и патологам). Но обычный живой человек в достаточной степени водонерастворим.
Читать дальше →
Total votes 54: ↑49 and ↓5+65
Comments56

Простой прием для управления прокрастинацией

Reading time2 min
Views84K
Попробую поделиться советом, как можно немного осознать свое состояние и выработать полезный навык. Все написанное основано только на личном опыте, желании им поделится и почерпнуть из обратной связи полезное.
Читать дальше →
Total votes 90: ↑87 and ↓3+111
Comments165

Почему женщины живут дольше

Reading time8 min
Views36K
В этом обзоре мы попытаемся провести связь между эволюционными гипотезами, влиянием гормонов и половыми различиями в структуре генома, а так же рассмотрим исторические примеры методов «биохакинга» механизма старения у мужчин, применять которые вам точно не захочется.

image

Читать дальше →
Total votes 66: ↑63 and ↓3+78
Comments92

Сдруживаем Python и Bash: библиотеки smart-env и python-shell

Reading time5 min
Views19K
Доброго времени суток всем.

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

Чтобы упростить жизнь девопсам, создано и продолжает создаваться много полезных библиотек и утилит на Python. Данная статья описывает сразу две новых библиотеки, созданные автором сего поста — smart-env и python-shell — и призванные избавить девопса от необходимости уделять много внимания тонкостям работы с Python, оставляя простор для более интересных задач. Сфера деятельности библиотек — переменные окружения и запуск внешних утилит.

Кого заинтересовало, прошу под кат.
Читать дальше →
Total votes 9: ↑7 and ↓2+8
Comments15

PubSub почти бесплатно: особенности NOTIFY в PostgreSQL

Reading time9 min
Views20K
Если ваши микросервисы уже используют общую базу PostgreSQL для хранения данных, или ей пользуются несколько экземпляров одного сервиса на разных серверах, можно относительно «дешево» получить возможность обмена сообщениями (PubSub) между ними без интеграции в архитектуру Redis, RabbitMQ-кластера или встройки в код приложения другой MQ-системы.

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

Передавать и получать данные мы станем с помощью механизма NOTIFY/LISTEN, а модельную реализацию соберем для Node.js.



Но на этом пути лежат грабли, которые придется аккуратно обойти.
Читать дальше →
Total votes 18: ↑15 and ↓3+20
Comments26

Что делать, если забыт код от замка чемодана?

Reading time5 min
Views119K
Новый год — сезон путешествий. Сегодня весь путешествующий мир использует чемоданы с замками, одобренными TSA. Обычно замок кодовый и выглядит примерно вот так:

image

Не секрет, что безопасность, обеспечиваемая такими замками, в основном виртуальная — во-первых, тысяча комбинаций это совсем немного; во-вторых, форма мастер-ключей TSA давно утекла в сеть (поиск их предоставлю в качестве упражнения заинтересованному читателю); в-третьих, эти замки легко вскрываются обычными отмычками; наконец, открыть чемодан на молнии вполне можно не трогая замок, а распустив молнию (для этого хватит шариковой ручки). Тем не менее, мы продолжаем пользоваться этими замками — они удобно паркуют бегунки молнии, страхуя от случайного расстегивания, а также от того, что брелок за что-то зацепится и оторвется; да и все-таки отвращают любопытство совсем случайных прохожих.

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

Что делать?
Читать дальше →
Total votes 87: ↑79 and ↓8+101
Comments100

Краткий путеводитель по математике для иностранцев

Reading time25 min
Views28K


О чем это


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

Безумству храбрых поем мы песню!

Целевой аудиторией Путеводителя являются те, кто внезапно заинтересовался математикой или чувствует потребность повысить свою профессиональную эффективность, но по какой-либо причине не имеет возможности отдать несколько лет своей жизни академическому образованию. Если у вас возникла потребность разобраться, но фундаментальных знаний катастрофически не хватает, и вы чувствуете себя иностранцем в стране математики, где говорят на непонятном языке, попробуйте пройти этот путь в качестве туриста. Весь маршрут представляет собой обзорную экскурсию и рассчитан на несколько дней, максимум две недели. Для сравнения: полный академический курс составляет около пяти лет. Конечной целью предлагаемого маршрута является знакомство с принципами одного узкоспециального раздела — эллиптической криптографии. Однако до конца идти не обязательно, если этот раздел лежит вне сферы ваших интересов или вы столкнулись с серьезными трудностями или опасностями. Но, раз уж вы взяли в руки Путеводитель, всё же постарайтесь дойти хотя бы до конца раздела «Язык формул».


Подобно словарю, этот путеводитель можно использовать и для обратного перевода. Возможно, он пригодится математикам, которые вынуждены контактировать и тесно сотрудничать с нематематиками, постоянно преодолевая пропасть непонимания. Дело это представляется настолько трудным, что строчка Максима Горького в эпиграфе является универсальным ответом обеим сторонам. В любом случае я надеюсь на обратную связь и постараюсь пополнять наши знания о том, почему нас не понимают, и как это можно исправлять.


А теперь, зная, что царских дорог здесь нет, попробуем проложить хотя бы туристическую тропинку.

Читать дальше →
Total votes 83: ↑78 and ↓5+73
Comments35

Что показывает вольтметр, или математика розетки

Reading time7 min
Views119K


О чем эта статья


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

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

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

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

Кому не интересно читать про интегралы, ГОСТы и фазы — могут сразу переходить к заключению.
Читать дальше →
Total votes 138: ↑135 and ↓3+132
Comments161

Настраиваем top в GNU/Linux

Reading time3 min
Views44K
Однажды мой знакомый, который на тот момент администрировал некое веб-приложение на сервере под управлением GNU/Linux, пожаловался на одного вредного администратора сервера. Тот ни в какую не хотел устанавливать htop, несмотря на все просьбы.

Я немного удивился и поинтересовался, в чём причина такого странного поведения. Если упростить, то дальнейший наш диалог получился вот таким:
Читать дальше →
Total votes 84: ↑81 and ↓3+78
Comments69

Какой шум помогает концентрироваться и отдыхать, а еще — предотвращает потерю слуха при серьезных ДТП

Reading time4 min
Views32K
Никто не любит шум, и на то есть причины. Одно только шумовое загрязнение от автомобильных магистралей наносит ущерб здоровью каждого третьего европейца. А по данным ВОЗ, каждый год жители крупных городов суммарно тратят 750 млрд долларов на лечение заболеваний, связанных с потерей слуха из-за шума того или иного происхождения. Но есть шумы, которые не только не вредят здоровью, но помогают его сохранить, а также сконцентрироваться и расслабиться.

Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments23

Про установку и использование LineageOS 16, F-Droid

Reading time127 min
Views316K
Предлагаю вашему вниманию инструкцию как оптимально (по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS (далее сокращённо LOS) и приложений из F-Droid.

Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
Читать дальше →
Total votes 74: ↑72 and ↓2+70
Comments192

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views115K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



Читать дальше →
Total votes 88: ↑82 and ↓6+76
Comments79

Алексей Савватеев: Как бороться с коррупцией при помощи математики (Нобелевская премия по экономике за 2016 год)

Reading time7 min
Views41K
image

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

image


Оливер Харт и Бенгт Хольмстрём.

Контракт. Что это такое? Я работодатель, у меня несколько сотрудников, я говорю им как будет устроена их зарплата. В каких случаях и что они будут получать. Эти случаи могут включать и поведение их коллег.

Приведу пять примеров. Три из них иллюстрируют, как попытка вмешательства привела к ухудшению ситуации.
Total votes 68: ↑61 and ↓7+54
Comments244

Хаки при работе с большим числом мелких файлов

Reading time7 min
Views43K
Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode».



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

Поэтому делюсь нашим опытом, может кому и пригодится.
Читать дальше →
Total votes 104: ↑103 and ↓1+102
Comments66

Расшифровка LUKS контейнера в момент загрузки системы

Reading time4 min
Views11K
Всем доброго дня, ночи! Этот пост будет полезен тем, кто использует шифрование данных LUKS и хочет производить decryptдешифровку дисков под Linux (Debian, Ubuntu) на стадии расшифровки root раздела. И такой информации в интернете я найти не смог.

Совсем недавно с увеличением количества дисков в полках, столкнулся с проблемой расшифровки дисков с использованием более чем известного метода через /etc/crypttab. Лично я выделяю несколько проблем использования этого метода, а именно то, что файл читается только после загрузки (mount) root-раздела, что негативно сказывается на импорте ZFS, в частности если они были собраны из разделов на *_crypt устройстве, или же mdadm рейды, собранные так же из разделов. Мы же все знаем, что можно использовать parted на LUKS контейнерах? И также проблема раннего старта других служб, когда массивов еще нет, а использовать уже что-то надо (я работаю с кластеризованным Proxmox VE 5.x и ZFS over iSCSI).

Немного о ZFSoverISCSI
iSCSI работает у меня через LIO, и собственно когда стартует iscsi-таргет и не видит ZVOL устройств, он их просто-напросто удаляет из конфигурации, что не дает возможности загружаться гостевым системам. Отсюда либо восстановление бэкапа json файла, либо ручное добавление устройств с идентификаторами каждой VM, что просто ужас, когда таких машин десятки и в конфигурации каждой более 1 диска.

И второй вопрос, который я рассмотрю, это чем производить расшифровку (это ключевой момент статьи). И об этом мы поговорим ниже, заходите под кат!
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments19

Резервное копирование, часть 2: Обзор и тестирование rsync-based средств резервного копирования

Reading time8 min
Views18K

Данной статьей продолжается


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

Из тех, что больше всего подходят под наши условия, я буду рассматривать 3: rdiff-backup, rsnapshot и burp.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments6

Полное руководство по Prometheus в 2019 году

Reading time11 min
Views342K


DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus.


Prometheus был создан на SoundCloud в 2012 году и с тех пор стал стандартом для мониторинга систем. У него полностью открытый исходный код, он предоставляет десятки разных экспортеров, с помощью которых можно за считанные минуты настроить мониторинг всей инфраструктуры.


Prometheus обладает очевидной ценностью и уже используется новаторами в отрасли, вроде DigitalOcean или Docker, как часть системы полного мониторинга.


Что такое Prometheus?
Зачем он нужен?
Чем он отличается от других систем?


Если вы совсем ничего не знаете о Prometheus или хотите лучше разобраться в нем, в его экосистеме и всех взаимодействиях, эта статья как раз для вас.

Total votes 30: ↑29 and ↓1+28
Comments30

Разбираем змею

Reading time6 min
Views88K

Принципиальная схема змеи, рисовала прекрасная Ш.А.Г. с моих слов

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

Ну и вокруг них много недопонимания.

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

Есть змеи, которые умеют плеваться ядом вам в глаза. Есть змеи, которые офигенно плавают. Есть змеи, которые могут двигаться под песком как маленькие версии червя из Дюны.

Но начнём с разбора змеи. С корпуса.
Читать дальше →
Total votes 302: ↑296 and ↓6+290
Comments282

Information

Rating
1,344-th
Location
Россия
Registered
Activity