• Ежедневная работа с Git

    • Tutorial
    Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

    Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
    • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
    • будет ли менеджер и заказчик удовлетворён этим процессом?
    • будет ли легко работать разработчикам?
    • смогут ли новички быстро включиться в процесс?
    • можно ли процесс относительно легко и быстро изменить?


    Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

    Далее очень много букв случайным образом превратились в пост.
  • Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать


      (Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

      Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

      Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

      На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

      А у меня для вас есть три истории из моей жизни. Просто три истории.

      История первая — ламер


      Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
      Читать дальше →
    • Искусство командной строки



        Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

        Enjoy!
      • Книги для системного администратора. Моя книжная полка

          Книги.
          Я считаю, что важнейшим инструментом получения скилов системного администрирования являются именно они — книги.
          Нет специальных факультетов, обучающих «админству» — каждый постигает это самостоятельно. Путем проб, ошибок и боли, потере важных данных различных злоключений.
          В начале пути сложно определиться, что же нужно прочесть — ведь массив информации столь огромен!
          В данном посте я хочу собрать наиболее важные и значимые труды для системных администраторов.
          Уклон будет на *nix админство, но, надеюсь тема окажется небезынтересной и для Windows коллег и в комметариях они заполнят мои пробелы.
          Пост субьективен и отражает лишь мой собственный опыт — я раскажу о книгах, которые помогли моему становлению.

          Читать дальше →
        • Загрузочный сервер — как загрузочная флешка, только сервер и по сети

            Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

            Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
            А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

            Вот такое меню встречает нашу команду инженеров при загрузке с PXE



            Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
            Поехали!
          • Настройка роутера Mikrotik для различных задач в SOHO

            • Tutorial
            Данная статья является калькой с написанной мной собственноручно внутренней инструкции, по которой мы настраиваем новые маршрутизаторы в фирме. Пункты будут расположены в более-менее хронологическом порядке, но каждый из них является самостоятельной мини-инструкцией к одному из используемых в нашей компании сервисов.
            Читать дальше →
          • DevOps зоопарк или как 500px обслуживает более 500TB изображений

            От переводчика: Я выбрал эту статью для перевода, как яркий пример развивающегося западного стартапа с выраженными для этой группы признаками: очень много новых технологий, использование большого количества сторонних сервисов, эксперименты с архитектурой. В статье затронуты особо интересные темы связанные с построением платформы из микросервисов, DevOps и совсем мало освещенное на Хабре явление под названием ChatOps. Enjoy!


            О 500px


            500px — это онлайн сообщество, сформировавшееся вокруг фотографии. Миллионы пользователей со всего мира просматривают, делятся, продают и покупают самые красивые фотографии. Мы ценим дизайн, простоту кода и ответственность.
            Я DevOps. В 500px, работаю над платформой: бэкенд, мониторинг, управление конфигурацией, автоматизация и конечно же развертывание системы.
            Читать дальше →
          • Я построю свой почтовый сервер с Postfix и Dovecot

            • Tutorial
            image

            В рамках программы по унификации установленных серверных систем встала задача по переделке почтового сервера. Вдумчивое изучение мануалов и руководств показало довольно любопытный факт – нигде не было найдено однозначно достоверного руководства или подобия Best Practice по развёртыванию почтовика.

            Мануал пошаговый, основывается на внутренней документации компании и затрагивает совершенно очевидные вопросы. Гуру могут не тратить время, ноу-хау здесь нет – руководство является сборной солянкой и публикуется только потому, что все найденные руководства по развёртыванию почтовика напоминали картинку о том, как рисовать сову.
            Очень много текста
          • Прототип. От идеи до опытной партии. Литье в силикон

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


              Читать дальше →
            • В поисках идеального мониторинга

                В этой небольшой статье я хотел бы рассказать о средствах мониторинга, использующихся для анализа работы DWH нашего банка. Статья будет интересна всем, кого не устраивают существующие готовые системы мониторинга и кого посещали мысли собрать таковую «под себя» из отдельных кусочков. Большое внимание в статье уделяется дашборду Grafana, который, по моему мнению, незаслуженно обделён вниманием на Хабре. По большинству компонентов системы мониторинга будет вкратце рассмотрен процесс инсталяции (под RedHat).


                Тёплый ламповый дашборд
                Читать дальше →
              • Курс молодого бойца. Практический курс по Cisco Packet Tracer

                Быстрый старт

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

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

                Собственно после этого и началось создание «Курса молодого бойца» по сетевым технологиям.

                image
                Читать дальше →
                • +18
                • 303k
                • 8
              • 300 потрясающих бесплатных сервисов

                • Перевод


                Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



                A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

                • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
                • Bootswatch: Бесплатные темы для Bootstrap.
                • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
                • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
                • Strikingly.com Domain: Конструктор веб-сайтов.
                • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
                • Withoomph: Мгновенное создание логотипов (англ.).
                • Hipster Logo Generator: Генератор хипстерских логотипов.
                • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
                • Invoice to me: Бесплатный генератор счета.
                • Free Invoice Generator: Альтернативный бесплатный генератор счета.
                • Slimvoice: Невероятно простой счет.

                Читать дальше →
              • Экспорт Избранного на Хабре в PDF. Версия 2.0

                  Доброго времени суток, хабражители!



                  Думаю, многих из вас когда-либо посещала мысль «вот бы сохранить статьи с Хабра». Такая же мысль посетила и меня чуть больше года назад.

                  Представляю вам новую версию программы закачки статей с Хабра, Гиктаймс и Мегамозг в формате PDF.

                  Новый проект называется HabraParse.

                  Проект состоит из библиотечки, которая парсит сайты, и скрипта, использующего лишь часть возможностей этой библиотеки. Скрипт написан на python3, для его работы потребуются модули docopt, requests и weasyprint (все их легко можно установить командой pip install name).

                  На текущий момент в скрипте имеются следующие возможности:
                  • скачать статью по её ID;
                  • скачать список URL избранного для заданного пользователя;
                  • скачать статьи из избранного в папку в формате PDF или HTML (пока реализация HTML не на высоте, поэтому по умолчанию используется формат PDF, но он работает значительно дольше).


                  Использование опций --gt/--mm позволяет сохранять статьи с GeekTimes.ru и Megamozg.ru.

                  Краткое описание параметров скрипта
                  Usage:
                    ./habraparse.py save_favs_list [--gt|--mm] <username> <out_file>
                    ./habraparse.py save_favs [--gt|--mm] [-cn --save-html --limit=N] <username> <out_dir>
                    ./habraparse.py save_post [--gt|--mm] [-c --save-html] <topic_id> <out_file>
                  

                  По умолчанию все команды работают с проектом HabraHabr.ru.
                  При задании опций --gt/--mm скрипт будет работать с GeekTimes.ru/Megamozg.ru.

                  Команды:
                    save_favs_list - сохранение в файл <out_file> списка URL избранного для пользователя <username>
                    save_favs - сохранение в папку <out_dir> статей из избранного для пользователя <username>
                    save_post - сохранение в файл <out_file> статьи с заданным ID
                  



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

                  Читать дальше →
                • Помнить все: Evernote и Anki



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

                  Я хочу достичь следующих целей при использовании системы:

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

                  Ниже я напишу о методах и правилах, которые составляют данную систему. Статья будет состоять из нескольких разделов:

                  • Мой опыт по описанному вопросу
                  • Проблемы запоминания
                  • Теоретическое разрешение проблем
                  • Практическое разрешение проблем с Evernote
                  • Практическое разрешение проблем с Anki
                  Читать дальше →
                • PythonDigest — 2014 год, итоги нашей работы в цифрах и ссылках

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

                    За год доведен до ума и по максимуму автоматизирован сбор новостей. Ежедневно автоматически мониторится 19 источников и набирается в среднем 10-15 релевантных новостей из которых, в последствии отбираются лучшие и готовятся анонсы для дайджеста.
                    Ощутимый вклад приносят читатели дайджеста, ни один выпуск не проходит без добавленных ими новостей.
                    За полгода, прошедшие с тех пор как еженедельный дайджест новостей о языке программирования python и близлежащих технологиях перестал публиковаться на хабре, мы обзавелись постоянной аудиторией читателей, подружились c ведущими русскоязычными python-площадками, нашли и научились обрабатывать новые источники информации о python в сети, стали постоянно публиковаться в популярном паблике на эту тему во вконтактиках, переводили и публиковали интересные статьи.

                    Интересующихся подробностями и цифрами, милости просим под кат.

                    Читать дальше →
                  • Поговорим о VPN-ах? Типы VPN соединений. Масштабирование VPN

                    Коллеги, здравствуйте. Меня зовут Семенов Вадим и я хочу представить статью, посвященную вопросу масштабируемости VPN-ов, причем тех VPN-ов, которые доступны для настройки в обычной корпоративной сети предприятия, а не со стороны провайдера. Надеюсь, данная статья станет справочным материалом, который может потребоваться при дизайне сети, либо при её апгрейде, либо для того, чтобы освежить в памяти принцип работы того или иного VPN-на. 
                    Читать дальше →
                  • Интересные приемы программирования на Bash

                    Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
                    В данной статье они были пересмотрены и дополнены.
                    Читать дальше →
                  • Сети для самых маленьких. Часть нулевая. Планирование

                    • Tutorial
                    Это первая статья из серии «Сети для самых маленьких». Мы с товарищем thegluck долго думали с чего начать: маршрутизация, VLAN'ы, настройка оборудования.
                    В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.

                    Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

                    Схема сети

                    Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
                    Читать дальше →
                  • Поднимаем упрощенную провайдерскую сеть дома

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

                    В статье рассматривается построение простейшей сети с несколькими провайдерами и клиентами, в частности, такие технологии, как NAT, OSPF, BGP, MPLS VPN. Многое, естественно, будет не учтено. Например в статье почти нет описания проблем безопасности, т.к. на эту тему можно говорить бесконечно, а текст и так получается довольно объемным. QoS тоже оставлен в стороне, т.к. в лабораторных условиях его особо не проверишь.

                    По поводу целевой аудитории. Совсем новичкам в сетях статья, боюсь, будет непонятна. Людям, обладающим знаниями хотя бы на уровне CCNP – неинтересна. Поэтому я примерно ориентируюсь на сертификацию CCNA R&S.
                    Читать дальше →
                  • Настройка своего сервера синхронизации Firefox Sync

                    image

                    Firefox Sync, это служба, которая позволяет пользователям переносить полностью свою историю, пароли, закладки, открытые вкладки и даже дополнения между различными устройствами, на которых установлен браузер Firefox, как для десктопной версии, так и для Android.

                    Firefox Sync реализуется двумя сущностями — сервисом авторизации (Firefox account API) и сервером синхронизации (Firefox Sync).

                    Давно возникла идея настроить свой сервер для синхронизации паролей, закладок и прочих радостей жизни. По роду деятельности, не очень доверяю публичным сервисам, таким, как LastPass или Google Account. На мой взгляд, приватные данные должны храниться на своем сервере.

                    Ну да хватит лирики, приступим к настройке.
                    Читать дальше →