Как стать автором
Обновить
6
0

Пользователь

Отправить сообщение

Увидеть истинное лицо продукта и выжить. Данные о пользовательских переходах как повод написать пару новых сервисов

Время на прочтение10 мин
Количество просмотров3.2K


В интернете сотни статей о том, какую пользу приносит анализ поведения клиентов. Чаще всего это касается сферы ритейла. От анализа продуктовых корзин, ABC и XYZ анализа до retention-маркетинга и персональных предложений. Различные методики используются уже десятилетиями, алгоритмы продуманы, код написан и отлажен — бери и используй. В нашем случае возникла одна фундаментальная проблема — мы в ISPsystem занимаемся разработкой ПО, а не ритейлом.
Меня зовут Денис и на данный момент я отвечаю за бэкенд аналитических систем в ISPsystem. И это история о том, как мы с моим коллегой Данилом — ответственным за визуализацию данных — попытались посмотреть на наши программные продукты сквозь призму этих знаний. Начнем, как обычно, с истории.

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

Ленивая подгрузка переводов с Angular

Время на прочтение9 мин
Количество просмотров3.7K

image


Если вы когда-нибудь участвовали в разработке крупного angular-проекта с поддержкой локализации, то эта статья для вас. Если же нет, то возможно, вам будет интересно, как мы решили проблему скачивания больших файлов с переводами при старте приложения: в нашем случае ~2300 строк и ~200 Кб для каждого языка.

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

Как сэкономить 15 000 рублей при регистрации ПО

Время на прочтение6 мин
Количество просмотров20K


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


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


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


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

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

Пишем Grafana reverse proxy на Go

Время на прочтение5 мин
Количество просмотров12K


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


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


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

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


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

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

Boost.Spirit, или Добавляем «духовности» фильтрам списков

Время на прочтение9 мин
Количество просмотров5.8K

image


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

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

VMmanager 6: представляем коробку и сравниваем с предыдущим поколением

Время на прочтение10 мин
Количество просмотров17K


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


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


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


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

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

Рождение платформы

Время на прочтение9 мин
Количество просмотров2.8K


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

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

Как придумать название продукта или компании на примере Vepp

Время на прочтение10 мин
Количество просмотров10K


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

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

10 долларов на хостинг: 20 лет назад и сегодня

Время на прочтение4 мин
Количество просмотров35K
Всё кругом дорожает, а технологии дешевеют. Когда-то компьютер или мобильный телефон могли позволить себе единицы, сейчас эти устройства есть в каждой российской семье.

Ещё один пример — хостинг. Цена мегабайта за последние 20 лет упала в несколько тысяч раз. В 1998 году за 10 долларов в месяц можно было арендовать всего 10 Мб на FTP-сервере, а сегодня — 30 Гб на VDS.

Мы разрабатываем панели для хостинга с конца девяностых и решили сделать небольшой экскурс в историю. В этой статье посмотрим на цены и услуги прошлых лет и сравним их с ценами из 2K18. Ухмыльнемся и порадуемся тому, что доступно сегодня и не было доступно 20 лет назад :-).

Итак, сколько «хостинга» можно было арендовать за 10 долларов?


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

50 вопросов для работы над документацией

Время на прочтение5 мин
Количество просмотров9.1K
Как бы ни старался UX-дизайнер, не сможет человек с улицы разобраться в интерфейсе управления космическим кораблём без подсказки. И даже не с улицы. Просто потому, что ракета большая и настроек много.

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

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


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

Асинхронный обмен данными с удалённым приложением через SSH

Время на прочтение8 мин
Количество просмотров9.2K
Доброго времени суток, друзья и коллеги. Меня всё ещё зовут Дмитрий Смирнов, и я всё ещё, к моему вящему удовольствию, являюсь разработчиком ISPsystem. Некоторое время назад я начал работу над совершенно новым проектом, который меня очень вдохновил, поскольку новое — это в нашем случае отсутствие легаси кода и поддержки старых компиляторов. Здравствуй, Boost, C++17 и все прочие радости современной разработки.

Так случилось, что все мои прошлые проекты были многопоточными, соответственно, у меня было крайне мало опыта с асинхронными решениями. Именно это стало самым приятным для меня в этой разработке, помимо современных мощных инструментов.

Одной из последних сопутствующих задач стала необходимость написать обёртку над библиотекой libssh2 в реалиях асинхронного приложения, использующего Boost.Asio, и способного породить не более двух потоков. Об этом и расскажу.



Примечание: автор предполагает, что читатель знаком с основами асинхронной разработки и boost::asio.
Читать дальше →

5 страхов разработчиков, которые мы преодолели

Время на прочтение6 мин
Количество просмотров14K
Хэллоуин — время поговорить о страхах. Я работаю продакт-менеджером в IT-компании, поэтому речь пойдёт про кошмары разработчиков. Но не обычные, а те, что появляются во времена перемен.



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

Бдительная «Лида»: автоматизация тестирования безопасности

Время на прочтение6 мин
Количество просмотров5.5K
Добрый день, уважаемые читатели. Меня зовут Виктор Буров, я разработчик в ISPsystem. В прошлом посте я рассказывал об инструменте для создания автотестов, сегодня поделюсь опытом автоматизации тестирования безопасности.



Сначала уязвимости в продуктах у нас искал отдельный сотрудник. Ручное тестирование занимало много времени и не гарантировало, что будут найдены все уязвимости. Выяснив основные закономерности тестирования, мы пришли к выводу, что его можно автоматизировать. Тогда мы решили написать утилиту, которая облегчит жизнь тестировщика, сэкономит его время и позволит проверять продукты после каждого изменения. Так как тестировщика звали Лида, новое приложение мы назвали в её честь. Вообще, у нас в компании это стало традицией — называть инструменты тестирования именами тестировщиц.
Читать дальше →

«Кроличья нора». UX-дизайнер в продуктовой команде

Время на прочтение5 мин
Количество просмотров6.2K
Я — UX-дизайнер, и всегда работала одна. Но в прошлом году всё изменилось: в свой день рождения я прошла собеседование в ISPsystem и попала в продуктовую команду. Пришлось вникать в новое, учиться жить по скраму и спорить с суровыми программистами (конструктивно!). Теперь дизайн-процессы устаканились, я сама прошу ребят о честной критике, а разработчики используют мои прототипы как ТЗ. Подробнее об этом — под катом.


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

Дизайн-процессы в ISPsystem. Как внедрить идеологию, построить отдел и остаться в живых

Время на прочтение6 мин
Количество просмотров2.7K
История об одном редизайне, который изменил подход к разработке в ISPsystem.

image

Я пришёл в ISPsystem в апреле 2016 г. На тот момент ситуация с продуктовым дизайном была следующая: решения по продуктам принимались руководством и программистами, никаких дизайнеров или проектировщиков не было. Ситуация на рынке требовала продуктов с «другими интерфейсами», поэтому руководство решило перепроектировать клиентскую часть BILLmanager. Это должно было стать пробным шаром, первой попыткой сделать что-то с новым дизайном.
Читать дальше →

«Малявки, но хорошие»: как мы брали студентов на практику

Время на прочтение8 мин
Количество просмотров18K
Почему решились организовывать практику, как выбирали ребят, какие задачи им ставили и за что хотели прибить в процессе.


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

Магнитофон — инструмент для записи автотестов

Время на прочтение7 мин
Количество просмотров4.9K


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

Так сложилось, что у нас превалировало ручное тестирование, и тестировщики тратили кучу времени на выполнение одних и тех же действий. Однажды мы подумали: почему бы не научить панель повторять действия тестировщика, ведь, по сути, все они превращаются в конкретные вызовы API. Это бы позволило писать тесты людям даже без навыков программирования.

Мы решили написать модуль создания автоматических тестов. Чтобы тестировщик мог просто нажать кнопку создания теста, выполнить условия тест-кейса, по окончании нажать «завершить» — и всё, тест был готов! Простая идея, но реализовать ее оказалось непросто. Потому что мы хотели, чтобы этот модуль был максимально адаптирован под наши продукты и использовал преимущество унифицированного интерфейса: чтобы сделанная запись выглядела как готовый тест-кейс. Это бы полностью избавило от ручной работы по написанию тестов. Получившаяся в итоге система получила название «магнитофон».
Читать дальше →

Что делать сразу после поездки на деловую конференцию? Советы от биздевов ISPsystem

Время на прочтение5 мин
Количество просмотров4.8K
Вы можете готовиться к конференции как раб и бить рекорды продуктивности на самом мероприятии, но если не добьете этого «монстра» правильной работой после, считайте, что проиграли битву. Все достижения можно легко спустить в канализацию, если расслабиться после конференции.



Раньше мы часто оставались в стране проведения конференции на недельку-другую за свой счет. Согласитесь, грех упускать возможность погулять по Сан-Франциско несколько дней! Но со временем перестали так делать: приехали, провели переговоры, через день или два уехали обратно. Потому что после конференции появляется много работы, делать которую в условиях «полуотпуска» сложно, а не делать — нельзя. Бывает, конечно, биздев остается, но на пару дней и только после клятвы кровью о том, что будет на связи.
Читать дальше →

Как организовать собственный репозиторий модулей Node.js с блэкджеком и версионностью

Время на прочтение10 мин
Количество просмотров6.6K
В ISPsystem на текущий момент три front-end команды разрабатывают три крупных проекта: ISPmanager для управления веб-серверами, VMmanager для работы с виртуализацией и BILLmanager для автоматизации бизнеса хостеров. Команды работают одновременно, в режиме сжатых сроков, поэтому без оптимизации не обойтись. Чтобы сэкономить время, мы применяем единые решения и выносим общие компоненты в отдельные проекты. Такие проекты имеют собственные репозитории, которые поддерживают участники всех команд. Об устройстве этих репозиториев, а также работе с ними и будет эта статья.


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

Как провести время на деловой конференции с пользой? Советы от биздевов ISPsystem

Время на прочтение10 мин
Количество просмотров4.8K


Поездка на бизнес-конференцию, как спринтерский забег. Долго-долго готовишься, а в день «Х» должен выложиться по максимуму. За один или два дня надо рассказать десятку малознакомых человек о себе и узнать как можно больше о них, чтобы это привело к успешному партнерству. Надо действовать технично и быстро. Эта статья поможет избежать распространенных ошибок и научит гибко подстраиваться под меняющиеся обстоятельства.
Читать дальше →
1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность