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

Компания Программный Продукт временно не ведёт блог на Хабре

Сначала показывать

Миграция конфигурации сборки с Groovy на Kotlin

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров8.4K

DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ими, используя специфический синтаксис, который Gradle понимает и обрабатывает. Этот DSL позволяет создавать мощные и гибкие сценарии сборки, которые могут быть легко настраиваемы для разных проектов и задач.

С Android Studio Giraffe Kotlin DSL становится новым стандартом для Gradle-скриптов в разработке Android. Когда вы создаете новые проекты, используя встроенные шаблоны IDE, вам будут предоставлены файлы Kotlin DSL вместо файлов Gradle на основе Groovy.

Это предстоящее изменение обеспечило возможность  переноса конфигураций Gradle на основе Groovy DSL на Kotlin DSL. Перевод файлов Gradle с Groovy на Kotlin DSL может значительно улучшить рабочий процесс разработки для Android. Особенно, если вы уже знакомы с Kotlin. Такой переход на единый знакомый язык не только повышает вашу производительность, но и устраняет необходимость переключаться между двумя языками для выполнения задач разработки и настройки. Надежность и интуитивность Kotlin DSL дает уверенность в создании пользовательских задач Gradle без необходимости прибегать к зачастую нечеткому синтаксису Groovy.

Статья задумана, как руководство, которое поможет вам на этапе перехода на Kotlin DSL. Материал написан с акцентом на проекты Android, но обсуждаемые моменты могут быть применимы и к другим проектам на основе Gradle, таким как приложение Spring Boot.

Читать далее

Как автоматизировать тестирование сложных API форм и не потратить время впустую

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.5K

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

Читать далее

Уведомления о деплое Gitlab через Telegram-бота при помощи Yandex Cloud Functions

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров9.8K

Если вы когда-нибудь сталкивались с продажами, то наверняка знаете про такое понятие как "боль клиента". Означает оно, что у каждого клиента есть потребности, определив которые, ему можно продать товар либо услугу для решения его задач.

Данная статья и родилась вследствие того, что на текущем проекте в нашей команде разработки есть боль: когда на беке вливают МР в ветку develop, то стенд падает на время деплоя. Основные участники, испытывающие эту боль — фронтенд разработчики и аналитики, которым чаще всего приходится взаимодействовать с бекендом. И во время недоступности стенда непонятно, деплой идёт или стенд упал из-за ошибки.

Нет, конечно, можно зайти в Gitlab, проверить, идёт ли сейчас деплой или посмотреть логи контейнера. Но для этого нужно быть в курсе, из-за деплоя каких конкретно микросервисов (естественно мы говорим о микросервисной архитектуре) стенд может быть временно недоступен. Ну и плох тот программист, который не хотел бы упростить жизнь себе и коллегам, автоматизировав при этом чаво-нибудь! :)

Читать далее

Методология генерации случайных строк посредством регулярных выражений

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

Привет, Хабр!

Если ваш проект вырос, в нем  бэкенд с фронтендом, различные точки входа API, интеграции с внешними системами, сложные алгоритмы, проверки введенных данных пользователем на валидность, диаграммы бизнес-процессов имеют тысячи ветвей, то скорее всего регрессионное тестирование занимает кучу времени, и проводить его вручную уже не выгодно. Проще эту работу поручить машине и тестировать продукт автоматически.  Первый вопрос, который возникает — «Как генерировать данные?», а конкретнее, как генерировать то, что может ввести пользователь. Этот вопрос мы и разберем в данной статье.

Читать далее

Шифровальщики-вымогатели: только бизнес и ничего личного?

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

Привет, Хабр!

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

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

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

Или же какую-то роль на себя возьмет само сообщество хакеров?

Пока наблюдающие за проблемой люди могут отметить лишь общую растерянность всех, кто сталкивается с этим явлением. Ни внятных стратегий, ни единых подходов, ни налаженного взаимодействия ИБ-коммьюнити.

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

Читать далее

Уличное видеонаблюдение: тысячеглазый Паноптикон или помощь обществу?

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

Привет, Хабр!

 Сегодня хотим поговорить на одну непростую тему, в той или иной степени всех нас затрагивающую, - про уличное видеонаблюдение. Тем более, что буквально вчера она вновь получила развитие со стороны государства: в России хотят создать «Национальную платформу видеонаблюдения», которая через пять лет должна объединить данные с городских камер всей страны.

Сразу оговоримся: всё сказанное - предмет для дискуссий и для попыток взглянуть на положение вещей "на холодную голову" и в перспективе.

Читать далее

Вредоносный ИИ: реальность угрозы

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

Привет, Хабр! Сегодня мы бы хотели обсудить такую щекотливую тему как вредоносный ИИ.

Читать далее

Как трассировка запросов сломала API

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

TL;DR;

История провала со счастливым концом о том, как команда узнала о трассировке запросов, AOP, а потом сломала API.

ВВедение Благие намерения Невинное начало

Каждый проект содержит логирование. Наш проект использовал Lombok и его @Slf4j аннотацию. Мы логировали выполнение бизнес операций, но нам не хватало контекста.

Логи содержали что-то типа такого:

Читать далее

Как мы пытались с NoSQL работать как с SQL с помощью Hibernate и Apache Phoenix

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

Мы хотели реализовать пагинацию и для этого нам пришлось форкнуть диалект для Hibernate.

Читать далее

Получение идентификатора CVE

Время на прочтение2 мин
Количество просмотров3.3K
После публикации нашей статьи «CSRF в Umbraco CMS», мы получили несколько сообщений с вопросами, которые касались процесса получения CVE. В данной статье рассматривается, как правильно поступить в том случае, когда вендор отказывается присваивать индекс CVE найденной в его продукте уязвимости.

Работа с обнаруженными уязвимостями производится в три основных этапа:

  1. Уведомление вендора
  2. Подтверждение и исправление найденной уязвимости
  3. Публичное раскрытие информации
Читать дальше →

UML для разработчиков

Время на прочтение5 мин
Количество просмотров83K
Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то уже имеет смысл отрисовать 2-3 вида диаграмм. В одной нашей команде более 30 человек, проект длительностью более 3 лет, и мы используем...2-3 вида диаграмм.

Нотация UML избыточна. С другой стороны она недостаточна для проектирования распределенных систем, и здесь нам помогает Archimate. В этой статье мы расскажем, что действительно полезно из всего этого многообразия, и рассмотрим на примере полный цикл создания диаграмм для проекта.
Читать дальше →

CSRF в Umbraco CMS

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


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

Где уязвимы более 20 млн транспортных карт в России: разбираем и развиваем MIFARE Classic

Время на прочтение8 мин
Количество просмотров33K
Стандарт бесконтактных карт MIFARE Classic создан более 20 лет назад и, несмотря на ряд найденных с тех пор уязвимостей, широко используется до сих пор (в частности в Москве и Санкт-Петербурге). В этой статье мы вспомним, какие уязвимости были найдены, и расскажем, как их можно устранить.


Источник: Instagram@pro.ticketing

Традиционно для подобных статей напоминаем, что в России подделка и сбыт билетов преследуются по закону (ст. 327 и 165 УК РФ), и призываем читателей оставаться на светлой стороне силы.
Читать дальше →

Государство не знает, сколько тратит на ИТ. Доказываем на цифрах

Время на прочтение7 мин
Количество просмотров13K
В России сейчас нет единой, полной и достоверной информации об уровне госрасходов на ИКТ (информационно-коммуникационные технологии). Все, что можно найти, – очень противоречиво, нет единообразия этих данных.

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

На прошлой неделе вышел рейтинг агентства CNews Analytics «Крупнейшие поставщики решений для госсектора» и обзор «ИКТ в госсекторе».

Давайте разберемся, какой же реальный уровень государственных расходов на ИТ в нашей стране.

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

Ближайшие события

2