• Git: советы новичкам – часть 2

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


      Читать дальше →
    • Создаем Telegram бота на API.AI

      • Tutorial

      Чат боты — довольно интересная тема, которой интересуются как гики-энтузиасты, так и компании, которые хотят организовать взаимодействие со своими клиентами наиболее удобным для них способом


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

      Читать дальше →
      • +22
      • 83.4k
      • 9
    • Как заменить однородный фон прозрачным с помощью Imagemagick

        Бывает, что на сайт загружаются картинки с однородным фоном и возникает потребность в автоматической замене его (фона) на прозрачный.

        Часто такая фича нужна для фотографий товаров в интернет-магазине, картинок, которые накладываются на корпоративный фон и других фоток, не портящих дизайн сайта. Вырезать каждую фотку вручную фотошопом довольно грустно, но есть php-методы, с помощью которых это можно «поставить на поток».
        image
        Читать дальше →
        • +18
        • 24.4k
        • 9
      • Мой интернет вещей: Гостевой замок

        Так сложились обстоятельства, что имеется у меня однокомнатная квартира, в которой я не живу, а сдавать ее «обычным способом» мне не интересно. Попробовал я ее сдать через сервис Airbnb, понравилось. И не то, что бы это выгоднее, но точно интереснее, процесс захватывает. Но я не об этом…

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


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

          Один из плюсов лично для меня, линуксоида — не нужно устанавливать дополнительные приложения, как в случае с DropBox'ом. Сервис можно подключить через файловый менеджер Nautilus, используя WebDAV. Что я, собственно, сразу же и сделал.

          Однако, я не стал на этом ограничиваться, ведь гуёвый доступ — не совсем хорошо, консольки никто не отменял.

          Подключим Яндекс.Диск как файловую систему
        • Оптимизация картинок для Google PageSpeed

            Нет предела совершенству, и Google PageSpeed тому доказательство. С его помощью меньше чем за минуту можно получить подробный отчет о производительности Web страницы. В подавляющем большинстве случаев PageSpeed подскажет, что нужно оптимизировать графику. Это наиболее частая проблема и наиболее весомая.



            Например, даже на стартовой странице Google Developers графику можно сжать на 71%. Чем меньше весят фотки – тем быстрее грузится сайт. Меньше картинки — меньше трафика — все работает быстрее. Посетители тратят меньше времени – все довольны.

            В этом материале подобраны основные инструменты для оптимизации графики.
            Читать дальше →
          • Хочешь быть iOS разработчиком? Будь им!

            На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

            Читать дальше →
          • Как сверстать тему для WordPress

            • Tutorial

            Введение


            В предыдущих статьях мы рассмотрели принципы верстки на чистом CSS и с помощью Bootstrap. Сегодняшней статьей мы начинаем рассматривать особенности верстки под популярные CMS. И начнем с WordPress, как самой популярной из них. Будем считать, что WordPress у вас уже установлен и перейдем непосредственно к созданию шаблона, в качестве которого у нас по-прежнему будет выступать Corporate Blue от студии Pcklaboratory. Если вы не знаете как установить WordPress, то инструкцию можно найти здесь. В данном руководстве мы не будем подробно описывать CSS стили и HTML код – это было сделано уже в предыдущих статьях. Вместо этого рассмотрим детально особенности создания темы именно под WordPress.
            Читать дальше →
          • SELinux – описание и особенности работы с системой. Часть 1



              О SELinux на Хабре уже писали, однако, не так много опубликовано подробных мануалов по данной системе. Сегодня мы публикуем именно такой, подробный мануал по SELinux, начиная от информации по системе, и заканчивая гибкой настройкой политик.
              Для того, чтобы не превращать пост в «простыню», сложную для понимания, мы решили разделить мануал на две части. Первая будет рассказывать о самой системе, и некоторых ее особенностях. Вторая – о настройке политик. Сейчас публикуем первую часть, чуть позже будет опубликована и вторая часть.

              Читать дальше →
            • «Идеальный» www кластер. Часть 1. Frontend: NGINX + Keepalived (vrrp) на CentOS



                Этом цикле статей «Идеальный www кластер», я хочу передать базовые основы построения высокодоступного и высокопроизводительного www решения для нагруженных web проектов для неподготовленного администратора.
                Статья будет содержать пошаговую инструкцию и подойдет любому человеку кто освоил силу copy-paste
                Ошибки найденые вами, помогут в работе и мне и тем кто будет читать эту статью позже! Так что любые улучшение и правки приветствуются!

                Хочу отметить, что эта инструкция родилась в процессе миграции web-систем компании Acronis в высокодоступный кластер. Надеюсь мои заметки будут полезны и для Вас!.

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

                На frontend мы будем использоваться связку из двух службы:



                keepalived — реализации протокола VRRP (Virtual Router Redundancy Protocol) для Linux. Демон keepalived следит за работоспособностью машин и в случае обнаружения сбоя — исключает сбойный сервер из списка активных серверов, делегируя его адреса другому серверу.

                Другими словами, у нас 2 сервера на которых прописано по одному публичному адресу. Если любой из этих серверов падает, то адрес упавшего подхватывается вторым.
                Демоны keepalived общаются по протоколу VRRP, посылая друг другу сообщения на адрес 224.0.0.18.
                Если сосед не прислал свое сообщение, то по истечению периода он считается умершим и оба адреса обслуживает оставшаяся нода. Как только упавший сервер начинает слать свои сообщения в сеть, все возвращается на свои места


                nginx [engine x] — это HTTP-сервер и обратный прокси-сервер, а также почтовый прокси-сервер, написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как Яндекс, Mail.Ru, ВКонтакте и Рамблер. Согласно статистике Netcraft nginx обслуживал или проксировал 15.08% самых нагруженных сайтов в октябре 2013 года.

                Основная функциональность HTTP-сервера

                • Обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
                • Акселерированное обратное проксирование с кэшированием, простое распределение нагрузки и отказоустойчивость;
                • Акселерированная поддержка FastCGI, uwsgi, SCGI и memcached серверов с кэшированием, простое распределение нагрузки и отказоустойчивость;
                • Модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр, преобразование изображений; несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно;
                • Поддержка SSL и расширения TLS SNI.


                Другие возможности HTTP-сервера

                • Виртуальные серверы, определяемые по IP-адресу и имени;
                • Поддержка keep-alive и pipelined соединений;
                • Гибкость конфигурации;
                • Изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
                • Настройка форматов логов, буферизованная запись в лог, быстрая ротация логов;
                • Специальные страницы для ошибок 3xx-5xx;
                • rewrite-модуль: изменение URI с помощью регулярных выражений;
                • Выполнение разных функций в зависимости от адреса клиента;
                • Ограничение доступа в зависимости от адреса клиента, по паролю (HTTP Basic аутентификация) и по результату подзапроса;
                • Проверка HTTP referer;
                • Методы PUT, DELETE, MKCOL, COPY и MOVE;
                • FLV и MP4 стриминг;
                • Ограничение скорости отдачи ответов;
                • Ограничение числа одновременных соединений и запросов с одного адреса;
                • Встроенный Perl.


                Читать дальше →
              • Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения

                  WebRTC

                  WebRTC позволяет реализовать real-time аудио/видео связь через браузер (firefox и chrome).

                  В этом топике я расскажу как реализовать простейшее WebRTC приложение.
                  Читать дальше →
                • Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

                    К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
                    Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

                    Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и обкурилисьчитались LFS и теперь решили под свою хтоническую систему скомпилять их творение. А make install является универсальным, хоть и зачастую неправильным способом это сделать.

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