• Let's Encrypt и nginx: настройка в Debian и Ubuntu

    • Tutorial

    image


    Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.


    Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!


    Внимательный читатель сразу захочет возразить: как же так, ведь известно что сертификаты выдаются со сроком действия в три месяца? Всё дело в автоматическом обновлении сертификатов, которое возможно при полном отсутствии действий со стороны человека.


    Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.

    Читать дальше →
  • Опыт использования self-hosted continuous integration систем

      Введение


      Сложно представить современную разработку без Continuous Integration. Многие компании выпускают по нескольку релизов в день и прогоняют тысячи тестов. Со времен Jenkins и Travis CI на рынке появилось много самых разнообразных инструментов. Большинство из них работают по модели SaaS — вы платите фиксированную плату за использование сервиса, или за количество пользователей.


      Но использование hosted платформ не всегда возможно, например, если нельзя передавать код приложения, или не хочется зависеть от внешних сервисов. В таком случае выручают системы, которые можно установить на своих серверах (self-hosted). Бонусом вы имеете полный контроль над ресурсами и можете масштабировать их согласно вашим потребностям используя, к примеру, amazon ec2.


      В этой статье представлен личный опыт использования нескольких opensource self-hosted continuous integration систем. Если вы использовали другие системы, расскажите об этом в комментариях.

      Читать дальше →
    • DevTips: Советы веб-разработчику (1-16)

      • Перевод
      • Tutorial
      Команда браузера Google Chrome проделывает огромную работу для того, чтобы разработчикам жилось лучше. Chrome DevTools — пример замечательного инструмента, сильно упрощающего отладку вашего веб-приложения. Но подчас не весь функционал этой системы виден с первого взгляда, поэтому Umar Hansa — программист из Лондона — описывает его на своем сайте, причем в весьма удобном формате: немного текста и короткий скринкаст. А мы, в свою очередь, решили сделать эти советы более доступными русскоязычной аудитории.

      Содержание:
      1. Перенаправление порта позволит вам открывать локальные ссылки на мобильном устройстве
      2. Активация псевдо-классов DOM-элемента
      3. Повтор сетевого запроса при помощи cURL
      4. Запуск сохранённых блоков кода (сниппетов) на любой веб-странице
      5. Отслеживание изменений файлов через DevTools
      6. Простая запись действий страницы
      7. Поиск элементов DOM-дерева при помощи CSS-селекторов
      8. Копирование изображения в формате Data URI
      9. Переход к нужной строке при открытии файла
      10. Упрощенная навигация между правками
      11. Копирование ответа на сетевой запрос
      12. Работа с несколькими курсорами при редактировании скриптов
      13. Блочное выделение
      14. Быстрый мониторинг событий в консоли
      15. Доступ к выбранному DOM-узлу в консоли
      16. Отслеживание незавершенных сетевых запросов при помощи фильтра is:running

      Продолжение: 17-32, 33-48.
      Читать дальше →
    • Магия Chocolatey: apt-get и yum для Windows

      • Tutorial

      Сегодня я расскажу Вам о волшебстве. И это волшебство способно изменить жизнь системного администратора Windows раз и навсегда.

      В наше время становится все меньше и меньше людей, которые хоть раз не устанавливали софт в среде Linux. Это невероятно просто: для установки midnight commander (mc), в среде RH (RedHat Enterprise, CentOS, Fedora, и т.д) нам всего лишь нужна пара «волшебных» команд:

      # yum install mc
      

      Менеджер пакетов yum позаботится о том, чтобы установилась самая свежая версия mc, а также о зависимостях пакета, если таковые имеются. Но что же делать, если в нашем распоряжении находится Windows, а мы хотим что-то подобное? Правильно, перейти на Linux или читать дальше!

      Под моей «опекой» находится гетерогенная сеть из Windows и Linux машин (проще сказать — зоопарк), и вот уже около двух лет для установки софта под Win* я пользуюсь, где это возможно, Chocolatey. Chocolatey (chocolatey.org, github.com/chocolatey) — система управления пакетами, во многом схожая с apt-get или yum, но только для Windows.

      На хабре уже касались темы Chocolatey в контексте разработчика, сегодня я хочу взглянуть на этот замечательный инструмент с точки зрения системного администратора. Chocolatey работает на основе технологии NuGet (активно используется разработчиками софта под Windows), и основная черта Chocolatey — пакеты чаще всего не содержат установочных файлов (setup.msi, setup.exe, и т.д...). Работает это следующим образом: в пакете находится скрипт-установщик на powershell, который скачивает и устанавливает нужную версию установочного файла из нужного места в интернете, а Вам остается только наслаждаться легкостью установки.
      Читать дальше →
    • Как я перестал бояться и полюбил Windows 10



        Представим, что вы только что установили свежую версию Windows и теперь
        настал черёд запустить свой любимый браузер, например, Opera.

        Сколько действий нужно будет произвести, чтобы получить готовый к использованию софт?
        Первый ваш ответ будет, скорее всего, таким:

        1. Открыть Internet Explorer
        2. Набрать в адресной строке opera.com (или найти сайт через поисковик)
        3. Найти ссылку на закачку, а потом скачать инсталлятор
        4. Запустить файл
        5. Согласиться с лицензией
        6. Кликнуть несколько раз кнопку «Далее»
        7. Дождаться окончания установки
        8. Запустить браузер

        Некоторые знающие люди предложат следующий вариант:
        1. Открыть проводник.
        2. Ввести в строке пути «ftp.opera.com»
        3. Найти инсталлятор и повторить действия с № 4 по № 8.

        А вы не забыли, что у вас Windows 10 и вы можете решить задачу вот так:


        Да, сразу. Из коробки.

        О, господи!
      • Теоретический минимум *nix-based-систем для WebDev-падавана

        • Tutorial


        Помни: сила рыцаря-джедая — это сила Вселенной.
        Но помни: гнев, страх — это всё ведет на темную сторону Силы.
        Как только ты сделаешь первый шаг по темному пути,
        ты уже не сможешь с него свернуть…


        Добрый день, уважаемый галактический сенат! На связи снова Денис Мельский, и сегодня на повестке дня — определение теоретического минимума познания *nix систем для юного падавана web-мастерства.

        Хотелось бы начать с того, что все мы прекрасно знаем: на 67.4 % наши любимые интернеты крутятся на *nix-based-серверах, а в жизни среднестатистического web-разработчика в вакууме — так и на все 90 %.



        Для любителей пруфов — welcome.

        Т. ч. в нашем ремесле без знания *nix-систем никак. Давайте проведем экскурс в мир *nix и поймем, какими знаниями должен обладать юный падаван.

        Предлагаю рассмотреть три юниорских степени познания дзена управлением шайтан-машиной ака *nix-сервак на примере всеми любимой ubuntu.
        Читать дальше →
      • Переезд на работу в Данию

          (Продолжение серии рассказов про Данию)

          В данной статье я изложу свою историю устройства на работу, получения визы и переезда в Данию. История во многом субъективная, но не это ли делает такие рассказы интересными?

          О себе: мне 31 год, я из Севастополя (да, на Хабре земляков всё больше), окончил СевНТУ. У меня красавица-жена и семилетний сын. Занимаюсь образовательным проектом. До переезда в Данию мы 6 лет жили в Киеве.

          Причины переезда


          Мы не «поравалитики». В целом, нам отлично жилось вна Украине. Конечно, мы понимали, что кругом многим не сладко. Так или иначе, сбежать из страны, прихватив трактор, не тянуло.

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

          Доводы хорошие, но меня убедили совсем другие вещи:
          Читать дальше →
        • Завершилась битва в CodeCombat между 545 программистами



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

            Во время соревнования 545 участников написали более 126 000 строк кода. Каждый потратил в среднем 10 часов на подготовку заданий, что соответствует 7,5 человеко-месяцам разработки. Обсчёт итога происходил на 673-ядерном кластере, который за один час просчитал результат всех 153 439 игр. Победители заберут призов на сумму более $40 000.
            Читать дальше →
          • Development Environment при помощи Vagrant и Chef






            В данной статье я постараюсь познакомить вас с замечательными утилитами Vagrant и Chef на примере автоматического конфигурирования development environment для PHP разработчика (на самом деле, PHP здесь только как пример, все нижеописанное может быть использовано для любого стека технологий).

            Что будем делать?



            Будем настраивать виртуальную машину (ВМ) с Ubuntu 12.04 для работы над проектом на PHP, а именно:

            • Apache
            • MySql
            • PHP 5.4
            • xDebug
            • Memcached
            • Composer
            • Настроим сразу Virtual Host на определенную папку, доступную как с виртуальной машины, так и с реальной. Всё это параметризируем для удобства создания и использования.
            • и другое..


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

            Как это может помочь вам?



            • Вы не хотите «засорять» свою систему множеством утилит, программ
            • Вы хотите тестировать свой код в приближенных к production условиях
            • Вы хотите тестировать свой код на разных версиях той или иной платформы (помните, как Travis тестирует билды в различных конфигурациях, например Symfony на разных версиях PHP)
            • Вы не хотите больше помогать новому человеку на проекте (верстальщик, программист) устанавливать всё с нуля
            • Вы хотите, чтобы у каждого человека в команде была идентичная среда для работы над проектом


            Всё это — реальность. Вопрос только «как?».

            Читать дальше →
          • Быстрая сборка образов ОС с помощью Packer

              Repetitio est mater studiorum
              Старинная латинская пословица

              Если вам периодически приходится собирать образы операционных систем на базе Linux для разных сред виртуализации или даже облаков, или, тем более, вы пользуетесь Vagrant, то вам стоит взглянуть на новый инструмент от Митчела Хашимото (это создатель Vagrant) — Packer.

              Packer — это инструмент для создания одинаковых образов ОС для различных платформ из одного описания.

              Читать дальше →
              • +19
              • 12,9k
              • 6