• Оптимизация размера Go-бинарника

      image Если вы когда-нибудь писали на Go, то размер получающихся бинарников не мог пройти мимо вашего внимания. Конечно, в век гигабитных линков и терабайтных дисков это не должно быть большой проблемой. Но все-таки встречаются ситуации, когда хочется, чтобы размер бинарника был как можно меньше, и при этом вы не хотите расставаться с Go. О вариантах, как сделать так, чтобы Go-бинарник “похудел”, пойдет речь ниже.

      Читать дальше →
    • Хостинг статических сайтов на AWS

      • Tutorial
      В данной статье я хочу подробно разобрать тему хостинга статических сайтов на AWS. Тему нельзя назвать сильно сложной, но нюансов хватает. Для настройки вручную потребуется организовать взаимодействие 4-5 сервисов, а по дороге порой можно встретить весьма интересные грабли.

      Некоторое время назад существовал официальный туториал по такой ручной настройке. Местами он мог показаться сложным, местами странным. Скорее всего, это была дань универсальности и необходимости продемонстрировать разные варианты хостинга. Однако сейчас туториал кардинально обновлен, и предлагает использовать сервис AWS Amplify для решения такой задачи. С одной стороны, это удобно, но с другой стороны, иногда необходимо разобраться, что же именно происходит “под капотом”. Поэтому здесь мы разберем, как все настроить руками.
      Читать дальше →
      • +36
      • 5,6k
      • 9
    • Эволюция real-time Web: примеры из практики (или с чем Lua справляется лучше JS)

        Карантин и переход на удаленку наводят на ностальгические воспоминания о полном жизни офисе, когда вместо звонков и трансляций мы работали и собирались на хакатонах в одной комнате с коллегами. Сегодня вспомним хакатон, где мы писали веб-сервер на Lua, а заодно кратко пробежимся по истории развития real-time web. Под этим термином мы будем понимать технологии, которые позволяют делать в браузере вещи, сравнимые по UX с десктопными приложениями — когда отклик на действия или события приходит сразу. Вспомним, как это делалось раньше, как делается сейчас, сравним существующие решения и расскажем, что и как используем сами. Видео-версию оригинального доклада можно посмотреть на нашем канале.

        История


        iframe


        Начнем с начала нулевых — многие, наверное, помнят чаты на iframe. Сейчас уже сложно назвать это real-time технологией, но тем не менее. Принцип работы — в HTML-документ с помощью тега iframe встраивается содержимое другой веб-страницы — например, блок с чатом в игре. При обновлении этой встроенной части вся остальная страница не обновляется.

        Вспомнить все
      • Введение в TLS для п̶р̶а̶к̶т̶и̶к̶о̶в̶ Патриков (часть 2)

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

          Мы остановились на том, что сервер отправил свою часть TLS-handshake клиенту. Теперь клиент должен прежде всего проверить сертификаты – и это самая тяжелая из вещей, которые ему обязательно надо сделать.



          Certificate verification: chain


          Возможно, вы обратили внимание на формулировку: посылается не сертификат, а сертификаты – сейчас станет понятно, почему (в общем-то, догадаться нетрудно).



          Итак, поехали!
          • +10
          • 6,5k
          • 7
        • Введение в TLS для п̶р̶а̶к̶т̶и̶к̶о̶в̶ Патриков (часть 1)

            Как вы, возможно, уже знаете, это Патрик. Он морская звезда, а значит, можно, не оскорбляя его, сказать, что руки у него растут из одного места. Еще Патрик очень практичный и сразу забывает всё, что ему не нужно – но если что-то ему нужно, он хочет это знать (потому что ему это нужно!). Спойлер: здесь Патрик пытается сделать TLS Handshake.



            Эта статья написана для Патрика и таких, как он. Она родилась из презентации, впервые показанной на нашем внутреннем образовательном Plesk TechTalk, где сотрудники в доступной форме делятся друг с другом информацией об интересных технологиях, процессах и решениях. Поэтому картинки в этой статье будут похожи на слайды :) Автор оригинального текста доклада — program manager Plesk Руслан Косолапов.

            Обычно все материалы по TLS охватывают какой-то маленький аспект, но не общую картину. Это не очень практично и у Патрика от такого болит голова. Здесь всё будет по-другому: коротко, применимо «в быту» и по возможности исчерпывающе.
            Итак, поехали!
          • Как работать из дома — опыт удаленщиков Plesk

              Многие российские компании переводят сотрудников на удаленную работу из-за коронавируса. С появлением вируса в Новосибирске, Plesk перестал быть исключением — руководство компании предложило сотрудникам покинуть офис с необходимой техникой и перейти на работу из дома. Казалось бы, вот он райский офис — твой уютный дом, где есть все для полноценной работы: ноутбук, мониторы, удобное кресло, кофе с печеньками и даже возможность подремать в обеденное время. Однако по прошествии нескольких дней такого уюта некоторые сотрудники начинают замечать, что не все так радужно, как изначально выглядело. Кто-то теряет фокус на задачах, так как дома много отвлекающих факторов: дети, жаждущие внимания, — ведь раз ты дома, значит у тебя выходной; домашние животные, рефлекторно требующие еду и почесывания за ушком; книжка, которую давно хотел прочитать; запылившийся персонаж, которого давно хотел прокачать. Ну и, конечно, дома нет начальника и команды, которые будут стоять над душой, если ты тормозишь. Кто-то, наоборот, превращается в стахановца и работает от рассвета до заката, ведь теперь даже время на дорогу не надо тратить. Потом наступает резкая усталость или даже выгорание. Совершаются попытки проникнуть в офис, дабы вернуть свою привычную жизнь. Но вирус не дремлет, со всех сторон все чаще сыплются лозунги типа “Stay the f*ck home”.

              Какое-то время всем точно придется работать из дома. Но как быстро организовать себя и быть не менее эффективным, чем в офисе? Ответ — использовать чужие грабли.

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


              Читать дальше →
              • +13
              • 2,7k
              • 1
            • ML в помощь: инструменты для разработчика с использованием ИИ

              Машинное обучение продолжает проникать в самые разные сферы человеческой деятельности, и такая технологичная область, как разработка ПО, конечно, не могла стать исключением. По прогнозу специалиста по ИИ и машинному обучению Сергея Маркова, озвученному в лекции «Итоги ИИ-2019», в 2020-м году появится большое количество инструментов разработки, использующих машинное обучение. Это навело меня на мысль, что какие-то из этих инструментов  должны быть доступны на рынке уже сейчас — могут ли они в таком случае помочь «в быту» обычному веб-девелоперу, пишущему на Java, Python и JS? 

              Забегая вперед, скажу, что, к моему сожалению, решений, способных генерировать хоть сколько-нибудь «боевой» код, в открытом доступе сейчас нет. Ближе всего к этому подошли Bayou и DeepCoder, но и эти проекты всё еще слишком сырые. Больший прогресс наблюдается в смежных направлениях — таких как автокомплит, статический анализ, генерация тестов. Об этом я и расскажу в статье.


              Читать дальше →
              • +16
              • 3,2k
              • 4
            • Умный дом с Xiaomi на примере бани

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

              image

              Читать дальше →
            • Аналитика как фича: процесс работы с данными в Plesk

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

                Plesk — сложный продукт с 20-летним бэкграундом и эффективно собирать необходимую статистику мы умели не всегда. В течение долгого времени мы смотрели на данные только ретроспективно, а решения принимали на основе субъективных ощущений «как должно быть». В прошлом у нас уже были печальные последствия такого подхода, — в 2012 году мы поменяли дизайн, желая сделать как лучше, а получили волну негативного фидбека, отказ обновляться на последнюю версию продукта и отток клиентов.

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

                image

                Читать дальше →
              • Интересные доклады на HighLoad++ Siberia 2019 по версии Plesk

                  Всем привет! В июне в Новосибирске прошла конференция по разработке высоконагруженных приложений HighLoad++ Siberia 2019. Ранее в статьях на Хабре мы упоминали, что мы в компании Plesk проводим ретроспективу конференций и докладов, которые посещаем, чтобы не потерять полученные знания и впоследствии применить их. Мы расскажем, какие доклады для себя отметили, а также поделимся с вами рецептом ретроспективы. Организаторы постепенно выкладывают видео сюда: youtube-канал. Часть из того, что мы описываем, уже можно посмотреть.
                  Читать дальше →
                  • +23
                  • 4,3k
                  • 4
                • Как мы учились быть Data Driven с Симулятором GoPractice

                    В прошлом году команда Program Manager-ов Plesk получила возможность пройти онлайн-курс GoPractice! Simulator от Олега Якубенкова, и теперь мы хотим поделиться своими впечатлениями.

                    Кто мы?


                    Program Manager в Plesk может быть наиболее точно описан как «технический» менеджер продукта. Это значит, что помимо собственно продуктовых компетенций, каждый ПМ имеет технический бэкграунд и погружен в предметную область настолько, чтобы в общих чертах понимать специфику работы с хостингом, облачными сервисами и веб-разработкой. Часть из нас больше сфокусирована на работе непосредственно с продуктовыми фичами, а другая больше занимается аналитикой и статистикой. Я сама совмещаю обе эти роли.
                    В этом отзыве будут и мои личные впечатления от Симулятора GoPractice!, и фидбек, которым со мной поделились коллеги.
                    Читать дальше →
                  • Как вырастить Евангелиста для вашей компании



                      Как все начиналось


                      Я Community Manager в компании Plesk. Десять лет назад, после шести лет работы в службе технической поддержки, меня пригласили в отдел R&D заняться построением сообщества пользователей Plesk. Последние 10 лет я занимался созданием и развитием сообщества вокруг нашего продукта.

                      В то время у компании были крупные партнеры и клиенты, приходящие в службу технической поддержки. Компания использовала бизнес-модель B2B2C, и поэтому конечные пользователи Plesk не имели доступа в саппорт. Однако был форум компании, куда приходили эти пользователи продуктов компании, не имеющие доступа в саппорт, и которых никто не слышал. В лучшем случае на форум периодически приходили сотрудники саппорта и помогали этим людям в решении их конкретных проблем. Таким образом, форум был тогда чем-то вроде бесплатного Support Helpdesk. Системно никто этими людьми не занимался.Только везунчики получали там какую-то помощь от людей из компании или от других пользователей. Отдел R&D не получал от этих людей никакого полезного фидбэка. Движок форума, запущенного еще в 2003 году, был устаревшим и непригодным для развития сообщества на нем.
                      Читать дальше →
                      • +14
                      • 3,7k
                      • 8
                    • О том, как Plesk на KubeCon побывал

                        В этом году Plesk решил отправить нескольких людей на KubeCon — главное событие по Kubernetes в мире. Профильных конференций в России на эту тему нет. Конечно, о K8s у нас говорят, и все его хотят, но столько практикующих его компаний в одном месте больше не собирается нигде. Я оказался одним из участников, так как работаю над платформой, основанной на Kubernetes.

                        image
                        Читать дальше →
                        • +25
                        • 1,3k
                        • 2
                      • Из Сибири на Кипр и обратно — история несостоявшегося эмигранта

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

                          Что же произошло? Начало новосибирского лета, я полгода работаю devops’ом в хорошей компании, прошел адаптацию, вышел на «проектную» мощность и только-только начал приносить пользу. И в этот момент жизнь предлагает мне круто себя поменять и ввязаться в авантюру под названием работа за границей. Времени на раздумья очень мало, решение нужно принять за неделю. Раньше меня посещали мысли, что когда-нибудь было бы хорошо за границу перебраться и попробовать дать другое образование своим детям. Но на деле это все было только в рассуждениях, на практике я не делал ничего для приближения к ним. А тут судьба рушит много преград, и можно осуществить это относительно легко и непринужденно. За короткое время я собираю множество противоречивой информации о стране, о компании, о жизни мигранта в целом. На основе этих данных в такие сроки невозможно было сделать взвешенный выбор. Поэтому основным мотивом была мысль, что если отказаться от такого предложения, то другого может и не быть.

                          Читать дальше →
                        • Три технических доклада РИТ 2018 по версии Plesk

                            Фестиваль РИТ 2018 в Сколково был большим и весьма разноплановым. Мобильная разработка, бэкенд, фронтенд, DevOps, управление проектами и даже психология – темы на любой вкус и в плотном расписании с утра до вечера. Темы разбиты по отдельным трэкам, трэки привязаны к залам. Если интересуют только специализированные доклады, можно обосноваться в нужном зале. Зал для кейноутов, правда, использовался по потребности докладчиками разных тем.


                            image


                            Я, по большому счёту, просвещался DevOps’кими знаниями, и после, делясь с коллегами впечатлениями от конференции, я сформировал шорт-лист запомнившихся мне докладов. Прошло несколько месяцев, и я все еще хорошо помню, о чем там говорили.


                            Итак, 3 технических доклада, которые я запомнил на РИТ 2018.

                            Читать дальше →
                          • GDPR на носу – прекращаем панику и начинаем спасаться

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


                              Уже 25 мая угроза штрафа в 20 млн Евро или 4% от мирового оборота (что из этого больше) станет реальностью – впадать в панику или не впадать? Поскольку я уже ливанул ведро бензина в огонь, чувствую себя обязаным показать дорогу к пожарному выходу, не дожидаясь анонсированного в предыдущей статье события. Зарание прошу прощения за шероховатости – экспромт, очень fast и очень dirty, зато полезность зашкаливает (надеюсь).
                              Читать дальше →
                            • GDPR как оружие массового поражения

                                Под угрозой все. Вообще все


                                Бытует мнение, что сочинение законов, которые нарушают практически все – это изобретение нашей Родины. Но, как и со слонами, всё не так однозначно: при изучении General Data Protection Regulation (GDPR) я понял, что в этом мы безнадёжно отстали от Европы. Шутка ли – завиноватить одним махом весь мир! Думаете, вашей компании не предстоит прогибаться под GDPR? Я развею это опасное заблуждение.

                                В этой статье я не буду описывать все закорючки GDPR, знакомство с которыми первым делом порождает вопрос «А нельзя ли просто забанить всех европейцев?» (и это не шутка, так и спрашивают), но сосредоточусь на запугивании тех, кто до сих пор не исследовал вопрос влияния GDPR на свою работу, априори полагая, что находятся вне зоны поражения.

                                Читать дальше →
                              • PHP 5.x – старикам здесь (не) место

                                  Индустрия хостинга неразрывно связана с PHP, на котором полностью или частично написаны более 80% сайтов в Internet. Это сильно влияет на разработку любого софта, предназначенного для работы с хостингом — в том числе такого, как контрольная панель Plesk. Мы делаем продукт для автоматизации управления сервером, создания и конфигурации веб-сайтов и приложений, а значит, и для использования PHP. Одной из наших ключевых задач является необходимость поддерживать уже устаревшие версии PHP – сфера хостинговых услуг, как любой крупный рынок, довольно инертна, и переход на новый PHP происходит крайне медленно. Несмотря на то, что Plesk предоставляет пользователям самые свежие версии PHP в течение 48 часов после их релиза, миллионы сайтов продолжают работать на старых версиях, поэтому спрос на решения, которые могут предоставить их поддержку, остается высоким. Именно по этой причине Plesk продолжает поддерживать и EOLed-бранчи до PHP 5.2 включительно.
                                  Читать дальше →
                                • Впечатления о Teamlead Conf 2018

                                    В начале февраля в Москве прошла конференция Teamlead Conf 2018. Событие, можно сказать, знаковое — произошло осознание того, что проблемы твоей должности вполне достойны не только локальных митапов или треков, но и самостоятельной большой конференции. Мы не могли пропустить такое мероприятие, и вчетвером отправились из новосибирского офиса Plesk прямиком в столицу впитывать опыт коллег.
                                    Читать дальше →
                                  • Давайте поговорим о Plesk с расширением Docker

                                    • Tutorial
                                    Let's speak about Docker

                                    Недавно вышла статья Iron_Butterfly, где в числе прочего, рассказывается, каким образом можно запустить мощнейший поисковый движок ElasticSearch внутри Docker-контейнера. Я хочу продолжить этот вектор и рассказать, какие еще задачи можно решить с помощью Docker-контейнеров, используя для этого Plesk и расширение Docker.

                                    Краткий план


                                    В статье мы рассмотрим, как с помощью помощью Docker extension можно решить задачи, которые тяжело или даже невозможно решить с Plesk без Docker-контейнеров. Данный список задач сформирован на основе популярных вопросов наших пользователей; в качестве пользователей мы рассмотрим владельцев хостинга, разработчиков web-приложений, администраторов WordPress.

                                    Задачи:


                                    — Одновременное использование различных версий баз данных;
                                    — Разворачивание Memcached для WordPress;
                                    — Использование собственного облачного Nextcloud хранилища;
                                    — Запуск собственного приложения на Go. Запуск собственного git-репозитория;
                                    — Тестирование новых версий Plesk не мешая работать боевому серверу.

                                    Хочу уточнить, что все примеры в статье выполнены с использованием бесплатной версии расширения Docker; платная версия позволяет управлять сервисом Docker на удаленных серверах.
                                    Читать дальше →
                                    • +11
                                    • 4,6k
                                    • 4

                                  Самое читаемое