• Что такое Docker: краткий экскурс в историю и основные абстракции

      10 августа в Слёрм стартовал видеокурс по Docker, в котором мы разбираем его полностью — от основных абстракций до параметров сети.


      В этой статье поговорим об истории появления Docker и его основных абстракциях: Image, Cli, Dockerfile. Лекция рассчитана на новичков, поэтому вряд ли будет интересна опытным пользователям. Здесь не будет крови, аппендикса и глубокого погружения. Самые основы.


      Читать дальше →
      • +13
      • 11.5k
      • 9
    • Школа тестировщиков. Как это было



        В интернете миллион возможностей обучиться новому — иностранным языкам, программированию, дизайну и чему угодно ещё… Тестирование не отстаёт: есть и курсы, и тренинги, и школы. Несмотря на это, в декабре прошлого года, мы решили организовать своё обучение. Это произошло задолго до того как студенческая жизнь перетекла в Zoom, поэтому обучение происходило очно.


        Я работаю в отделе тестирования, и была в числе тех, кто организовывал и проводил обучение. В этой статье расскажу, как мы создавали курс, с какими сложностями столкнулись, что получили в результате. Думаю, наш опыт поможет людям, которые только планируют запустить своё обучение, будь то онлайн или очные занятия. Ведь изоляция закончится, а мы вернемся в офисы и лекционные залы, чтобы учиться не только через экран ноутбука.
        Читать дальше →
        • +22
        • 7.8k
        • 5
      • Браузер на страже API-запросов: строим безопасное общение фронтенда с бэкендом


          Команде разработчиков, создающей одностраничное приложение (SPA), рано или поздно придётся столкнуться с ограничениями браузерной безопасности. С одной стороны, нужно сделать так, чтобы фронтенд-сторона могла беспрепятственно общаться с бэкенд API-сервером, а с другой — защитить такое общение от злоумышленников. Сложности начинаются, когда фронтенд и бэкенд находятся на разных доменах, так как на такое взаимодействие браузер накладывает более строгие правила.


          В клиентском HTML-JS приложении браузер выполняет важную роль «инспектора» внешних запросов и содержит в арсенале мощные инструменты. Наша задача — установить правила, по которым он будет применять эти инструменты к нашему приложению.


          Я — разработчик в хостинг-провайдере FirstVDS. При создании SPA для одного из наших проектов я искал решения и применял их на практике, чтобы подружить фронтенд с API и обезопасить их общение. В этой статье я собрал свои мысли и опыт воедино, чтобы поделиться с вами.

          Приступим
        • Пишем Grafana reverse proxy на Go

          • Tutorial


          Очень хотелось назвать статью «Proxy-сервис на Go в 3 строчки», но я выше этого.


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


          proxy := httputil.NewSingleHostReverseProxy(url)
          r.Header.Set(header, value)
          proxy.ServeHTTP(w, r)

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


          Разберём, для чего нужен прокси-сервис, как его реализовать и что под капотом у стандартной библиотеки.

          Читать дальше →
          • +18
          • 6.2k
          • 4
        • Как сэкономить 15 000 рублей при регистрации ПО


            Прошёлся недавно по поисковой выдаче гугла и выяснил, что регистрация прав на программу для ЭВМ стоит около 15 тыс. рублей. 15 тыс. рублей! И это ещё без пошлины.


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


            Зашёл на сайт Роспатента: инструкции там есть, но четкой картины не дают. На месте руководителя маленького IT-проекта я бы не стал подавать заявление сам — вдруг что-то сделаю не так.


            Но я же юрист, и процедуру эту проходил не раз. Так почему бы мне не помочь стартаперам? Подумал-подумал, и не нашёл аргументов против. Так что давайте вместе попробуем подготовить документы и направить их в Роспатент, сэкономив при этом в среднем 15 тыс. рублей.

            Читать дальше →
          • Начинающему сисадмину: как из хаоса сделать порядок



              Я системный администратор FirstVDS, и это — текст первой вводной лекции из моего краткого курса помощи начинающим коллегам. Специалисты, которые недавно начали заниматься системным администрированием, сталкиваются с рядом одних и тех же проблем. Чтобы предложить решения, я взялся написать этот цикл лекций. Некоторые вещи в нём специфичны для технической поддержки хостинга, но в целом, могут оказаться полезными если не для всех, то для многих. Поэтому я адаптировал текст лекции, чтобы поделиться здесь.

              Не имеет значения, как называется ваша должность — важно, что по факту вы занимаетесь администрированием. Поэтому начнем с того, чем должен заниматься системный администратор. Основная его задача — это приведение в порядок, поддержание порядка и подготовка к грядущим увеличениям порядка. Без системного администратора на сервере начинается бардак. Логи не пишутся, или в них пишется не то, ресурсы распределяются неоптимально, диск заполняется всевозможным мусором и система начинает медленно загибаться от такого количества хаоса. Спокойно! Системные администраторы в вашем лице приступают к решению проблем и устранению бардака!
              Читать дальше →
            • Boost.Spirit, или Добавляем «духовности» фильтрам списков

                image


                Доброго времени суток, коллеги. Я по-прежнему являюсь разработчиком ISPsystem, и меня все еще зовут Дмитрий Смирнов. Некоторое (довольно продолжительное) время я никак не мог определиться с темой следующей публикации, поскольку материала за последние месяцы работы с Boost.Asio накопилось много. И уже в тот момент, когда казалось, что легче подбросить монетку, одна задача все изменила. Нужно было разработать инструмент, позволяющий frontend’у фильтровать данные в запрашиваемых списках. Сам же список со стороны backend'а представляет собой обыкновенный json_array. Добро пожаловать под кат, там все взлеты и падения последних дней.

                Читать дальше →
                • +31
                • 3.2k
                • 8
              • VMmanager 6: представляем коробку и сравниваем с предыдущим поколением



                  8 октября вышла коробочная версия VMmanager 6 — новой панели управления виртуализацией. Теперь её можно установить на сервер и использовать для продажи виртуальных машин или управления собственной инфраструктурой. В этой статье сравним новое поколение с предыдущим — VMmanager 5 и VMmanager 6.


                  Обе панели поддерживают виртуализацию KVM и управляют физическим сервером средствами libvirt.


                  VMmanager 5 вышел в 2013 году, VMmanager 6 — в 2019-м. Новое поколение удобнее и устойчивее к нагрузкам. Поддерживает создание образов, управление задачами и мониторинг.


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

                  Читать дальше →
                • Железные 5 ГГц: история о том, как собрать супербыстрый VDS



                    Если бы наш старый добрый тариф «Форсаж» был человеком, то сейчас он бы нервно курил в сторонке и вспоминал лучшие годы. А ведь как хорошо всё начиналось. Тогда, в 2018 году, мы первыми подключили NVMe и модифицировали тариф с гибким масштабированием ресурсов, который жил с нами с 2016 года. Тогда он был самым быстрым из всех наших тарифов. Но времена меняются и несмотря на то, что Gold 5115 по-прежнему считается довольно шустрым процессором, уже появились решения и порезвее.

                    В общем, моя история о том, как Форсажу пришлось нехотя сойти с верхней ступени пьедестала и занять третье место по скорости после двух новых тарифов — «Битрикс.Турбо» и «CPU.Турбо», которые мы запустили в течение этого года.

                    Могу пообещать, что будет много подробностей про железо, тестов процессоров и (ну надо же) виртуальных машин и немного внутренней кухни. Итак, приступим.
                    Читать дальше →
                  • Как придумать название продукта или компании на примере Vepp



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

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



                        Мир изменился. Я чувствую это в воде, вижу в земле, ощущаю в воздухе. Всё, что когда-то существовало, ушло, и не осталось больше тех, кто помнит об этом.
                        Из фильма «Властелин колец: Братство кольца»

                        В интернете существует 100500 статей и докладов на тему «как мы пилили монолит», и у меня нет желания написать еще одну. Я попробовал пойти немного дальше и рассказать, как изменения технологий привели к появлению абсолютно нового продукта (спойлер: мы писали коробку, а написали платформу). Статья во многом получилась обзорной, без технических подробностей. Подробности будут позже.
                        Читать дальше →
                      • Подборка: 5 полезных сервисов для написания статей на английском



                          Всем привет! Меня зовут Марго, я профессиональный маркетолог и редактор, в последние пару лет фокусируюсь на продвижении за рубежом и много пишу на английском. Я решила поделиться ссылками на приложения и сайты, которые помогают мне в ежедневной работе при создании контента. Надеюсь, список поможет изучающим английский и тем, кто публикует англоязычные материалы на Хабре.
                          Читать дальше →
                        • Чего ждать от новых Xeon E. Сравниваем с E3 и делаем выводы



                            Продолжаю тестировать процессоры. В этот раз моё внимание целиком и полностью переключилось с десктопных Core на серверные Xeon. Что, надо признаться, не случайно. Во-первых, меня об этом горячо просили в комментариях к прошлой статье, а во-вторых, наш парк пополнился свежими Xeon E — мы решили обновить линейку однопроцессорных выделенных серверов и прикупили E-2134 и E-2136 как альтернативу E3-12XX.
                            Читать дальше →
                          • Как разделить фронтенд и бэкенд, сохранив взаимопонимание

                              image


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


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


                              Мне посчастливилось начать программировать в те годы, когда не было разделения на бэкенд и фронтенд-программистов, когда не звучали слова «прототип», «продуктолог», «UX» и «QA». Мир был проще, деревья выше и зеленее, воздух чище и во дворах играли дети, а не парковались автомобили. Как бы мне ни хотелось вернуться в то время, нужно признать, что всё это не замысел суперзлодея, а эволюционное развитие общества. Да, общество могло развиваться иначе, но, как известно, история не терпит сослагательного наклонения.

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

                                image


                                Для эйчаров в ИТ не секрет, что если твой город — не миллионник, то найти в нём программиста проблематично, а человека, который владеет нужным стеком технологий и опытом, и того сложнее.


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


                                А мы хотим готовых джунов, которые немного программировали на С++, знакомы с Angular и видели Linux. Значит, надо пойти и самим их научить: познакомить с компанией и дать материал, который нужен для работы у нас. Так родилась идея организовать курсы по бэкенд и фронтенд-разработке. Зимой прошлого года мы её реализовали, а в этой статье расскажем, как это было.

                                Читать дальше →
                                • +29
                                • 7.2k
                                • 9
                              • Как мы измеряем качество и эффективность разработки документации. Предыстория и основы. Доклад Яндекса

                                  Рассказывает Светлана Каюшина, руководитель отдела документирования и локализации.



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


                                  Читать дальше →
                                  • +26
                                  • 5.9k
                                  • 2
                                • Пользовательская документация: что делает её плохой, и как это исправить

                                    image

                                    Документация к софту — это просто набор статей, но даже они могут вывести из себя. Сначала долго ищешь нужную инструкцию, потом разбираешься в малопонятном тексте, делаешь как написано, а проблема не решается. Ищешь другую статью, нервничаешь… Через час плюёшь на всё и уходишь. Так работает плохая документация. Что делает её такой, и как это исправить — читайте под катом.
                                    Читать дальше →
                                    • +21
                                    • 5.9k
                                    • 7
                                  • Разработка новой ветки продукта: как избавиться от непрактичного и сохранить полезное



                                      Привет, Хабр! Меня зовут Дмитрий, я разработчик в ISPsystem. Недавно мы выпустили в бета-тестирование новую версию панели управления виртуальными машинами. Сегодня я расскажу, как мы решали, что взять из старого продукта, а от чего лучше отказаться. Пройдусь по самым важным для нас вопросам: библиотека для работы с libvirt, поддержка различных ОС при установке продукта, переход от монолита к микросервисам, развёртывание виртуальных машин.

                                      В статье речь идёт о VMmanager. Это система управления, развёртывания и мониторинга виртуальных машин на основе виртуализации KVM и OVZ. Пятое поколение вышло в 2012 году. С тех пор интерфейс сильно устарел, а централизованная архитектура мешала развивать продукт. Пришло время делать новую версию.
                                      Читать дальше →
                                      • +24
                                      • 4.4k
                                      • 6
                                    • VMmanager 6: новый инструмент для создания виртуальных машин от ISPsystem



                                        5 февраля мы открыли бета-тестирование облачной версии VMmanager 6, новой панели виртуализации. Приглашаем сообщество Хабра (всех, кто сталкивается с созданием и управлением виртуальными машинами) посмотреть её и оставить свои отзывы.
                                        Читать дальше →
                                        • +24
                                        • 4.4k
                                        • 4
                                      • Confluence для публичной базы знаний: меняем дизайн и настраиваем разделение по языкам

                                          У нас есть шесть продуктов, которые используют в России и за рубежом. Это значит, что документация к ним должна быть в одном месте, но разделена по продуктам и языкам.

                                          Раньше мы использовали MediaWiki, но со временем она устарела. От платформы мы ожидали так же хорошую вёрстку статей, гибкий поиск и внутренний редактор текстов. В качестве альтернативы выбрали Confluence.

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

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


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