• Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем. Иван Пономарёв

      Предлагаю ознакомиться с расшифровкой доклада Ивана Пономарёва «Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем».


      Рефакторинг кода может быть увлекательным, особенно если это код вашей инфраструктуры. К тому же Ansible-роли почему-то имеют тенденцию к быстрому увеличению сложности. И это добавляет «изюминку» в вашу задачу. Иван расскажет, как можно преодолевать сложность Ansible-кода с помощью тестирования. В Docker-контейнерах.
      По мере разрастания кодовой базы в Ansible приходят знакомые проблемы: сложность поддержки кода, ошибки и страх изменений. У знакомых проблем есть знакомое решение: автоматическое тестирование и CI. В докладе Иван покажет, как с использованием ряда инструментов решить проблемы «хрупкости» Ansible-кода, выполнить статический анализ, протестировать Ansible-скрипты и настроить CI-системы для публикации ролей в Ansible Galaxy.


      Читать дальше →
    • Когда самое лучшее время для инвестиций?

      • Translation
      Всем привет. Недавно прочитал пост на Хабре ״Как стать долларовым миллионером за 30 лет, лежа на диване״. Судя по активности в комментариях — тема инвестирования актуальна. Многих интересует вопрос, когда же лучше всего инвестировать? Что будет, если сегодня я куплю акций, а завтра они упадут? Ждать падения, а только потом инвестировать? Или же просто каждый месяц покупать акции?
      Читать дальше →
    • Как стать долларовым миллионером за 30 лет, лежа на диване



        На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
        Поехали!
      • Как облегчить себе жизнь при использовании Git (а также подборка материалов для глубокого погружения)

        • Translation

        Tree of Dragons II by surrealistguitarist

        Для тех, кто каждый день использует Git, но чувствует себя неуверенно, команда Mail.ru Cloud Solutions перевела статью фронтенд-разработчика Шейна Хадсона. Здесь вы найдете несколько трюков и советов, которые могут немного облегчить работу с Git, а также подборку статей и мануалов более продвинутого уровня.
        Читать дальше →
      • Какие английские слова IT-лексикона мы неправильно произносим чаще всего

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

          Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
          Читать дальше →
        • Бег — идеальный спорт для удаленщика. Часть 2: физика и матчасть



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

            Итак, что даёт нам бег?
            Читать дальше →
          • Pthreads: Потоки в русле POSIX

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



              В этой статье мы познакомимся с POSIX Threads для того, чтобы затем узнать как это все работает в Linux. Не заходя в дебри синхронизации и сигналов, рассмотрим основные элементы Pthreads. Итак, под капотом потоки.

              Читать дальше →
            • Процессы и потоки in-depth. Обзор различных потоковых моделей

                Здравствуйте дорогие читатели. В данной статье мы рассмотрим различные потоковые модели, которые реализованы в современных ОС (preemptive, cooperative threads). Также кратко рассмотрим как потоки и средства синхронизации реализованы в Win32 API и Posix Threads. Хотя на Хабре больше популярны скриптовые языки, однако основы — должны знать все ;)
                Далее
              • Как не сойти с ума в Open Space: делаем новый офис с нуля

                  Так сложилось в индустрии, что большинство офисов устроено в формате open space. И это часто причиняет боль и страдание всем, кто в таком пространстве работает: людей слишком много и они слишком близко, постоянно шумно, огромное помещение выглядит неуютным. Нельзя открыть окно или выключить кондиционер, кому-то обязательно будет дуть, а другому немедленно станет душно. Однако, планируя новый офис, мы сразу понимали, что это будет open space. Осознавая все минусы, мы заранее начали думать о том, как сделать будущий open space максимально комфортным для работы наших коллег. Разумеется, настроены были скептически, а кто-то считал, что это просто невозможно. 

                  Long story short, спустя почти год после переезда я могу смело заявить, что новый офис в разы лучше прошлого. Мои коллеги говорят, что у них возникает ощущение дома, когда они приходят на работу. Под катом мы расскажем подробнее о том, как придумывали для себя Lamoda Home, что нам удалось сделать хорошо, а над чем еще придется поработать. Надеюсь, наш опыт пригодится тем, кому в ближайшее время предстоит подобный подвиг.



                  Читать дальше →
                • Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты



                    Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энтерпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
                    Читать дальше →
                  • 10 принципов самодокументируемого кода

                    Привет! Сегодня я хочу поделиться советами по написанию совершенного понятного кода, взятые из книги Питера Гудлифа «Ремесло программиста // Практика написания хорошего кода».

                    Конечно, неплохо было бы прочитать эту занимательную книгу каждому кто пишет код, но для особо ленивых, но желающих перестать меньше мучить и вводить коллег в заблуждение (совесть имейте) представляю под катом 10 принципов самодокументируемого кода:
                    Читать дальше →
                  • Git снизу вверх

                    • Translation
                    У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


                    Изображение из твиттера @girlie_mac

                    Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
                    Читать дальше →
                  • Магия SSH

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

                      Оглавление:

                      1) Local TCP forwarding
                      2) Remote TCP forwarding
                      3) TCP forwarding chain через несколько узлов
                      4) TCP forwarding ssh-соединения
                      5) SSH VPN Tunnel
                      6) Коротко о беспарольном доступе
                      7) Спасибо (ссылки)
                      Читать дальше →
                    • Bash-скрипты: начало

                      • Translation
                      Bash-скрипты: начало
                      Bash-скрипты, часть 2: циклы
                      Bash-скрипты, часть 3: параметры и ключи командной строки
                      Bash-скрипты, часть 4: ввод и вывод
                      Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
                      Bash-скрипты, часть 6: функции и разработка библиотек
                      Bash-скрипты, часть 7: sed и обработка текстов
                      Bash-скрипты, часть 8: язык обработки данных awk
                      Bash-скрипты, часть 9: регулярные выражения
                      Bash-скрипты, часть 10: практические примеры
                      Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

                      Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


                      Читать дальше →
                    • Хабрарейтинг 2018: лучшие материалы за 2018 год

                        Привет Хабр.

                        Данный пост является логическим завершением публикаций про жизненный цикл статьи на Хабре (первая и вторая части для тех кто интересуется технической стороной вопроса), в результате чего был сделан достаточно интересный инструмент для статистического анализа. Методика оказалась весьма полезной, и позволяет находить статьи по различным параметрам, например, статьи с самым высоким «качеством» (соотношением рейтинга к числу просмотров), самые «спорные» статьи, у которых больше всего полярных комментариев, самые комментируемые материалы, и пр.



                        Пора теперь извлечь из этого какую-то пользу, и составить статистический рейтинг статей за 2018 год. В идеале это хорошо было бы сделать к началу Нового Года, но умные мысли бывает, приходят с запозданием. Но лучше поздно чем никогда, это позволит перечитать какие-то полезные статьи тем, кто пропустил их в свое время. И небольшой «секретный бонус» в конце текста для тех, кто будет достаточно любопытен.

                        Тех, кому интересно что получилось, прошу под кат.
                        Читать дальше →
                      • [в закладки] Справочник законодательства РФ в области информационной безопасности


                          © Яндекс.Картинки

                          Последнее обновление — 22.07.2020. Перечень изменений.

                          Все специалисты по информационной безопасности рано или поздно сталкиваются с вопросами законодательного регулирования своей деятельности. Первой проблемой при этом обычно является поиск документов, где прописаны те или иные требования. Данный справочник призван помочь в этой беде и содержит подборку ссылок на основные законодательные и нормативно-правовые акты, регламентирующие применение информационных технологий и обеспечение информационной безопасности в Российской Федерации.
                          Читать дальше →
                        • Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

                          • Tutorial

                          Регулярные выражения в Python от простого к сложному




                          Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
                          Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

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

                          Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
                          Читать дальше →
                        • Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

                            Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
                            Читать дальше →
                          • По городам и весям или как мы балансируем между узлами CDN

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

                              В предыдущей статье я рассказал, что CDN у нас свой, при этом тщательно избегал подробностей. Пришла пора поделиться. Рассказ будет в стиле поиска решения, каким он мог бы быть.
                              Читать дальше →
                            • Лог файлы Linux по порядку

                              • Tutorial

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




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

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