Социальные сети Рунета
Суббота, 11 мая 2024

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

Как мы тестируем серверы Привет! Меня зовут Олег Рябов, я главный эксперт Управления исследований и разработок новых решений компании «Ростелеком-ЦОД» и автор программы и методики испытаний (ПМИ) серверов. В этой статье расскажу, как мы проводим тестирование серверов и какие утилиты и методы использ...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

[Перевод] FIFO очередь asyncio в Python Очереди в Asyncio могут быть полезны для создания программ, в которых используются паттерны производитель-потребитель, где одна или несколько корутин производят элементы и помещают их в очередь, а одна или несколько корутин потребляют элементы и обрабатывают их из очереди.В ...

[Перевод] Автоматизация тестирования с Cucumber, Selenium и Java В этой статье я постараюсь познакомить вас с технологиями для создания чистых, устойчивых к изменениям и простых для понимания автоматизированных тестов. Надеюсь, вы узнаете что-что новое об автоматизации или хотя бы познакомитесь с моим подходом. Статья будет полезна в перв...

Code review: почему мы до сих пор его используем и какие альтернативы? Прообраз code review появился в 60-х годах прошлого столетия, когда программы писали на перфокартах. Главной проблемой тогда было преобразование программного кода в машинный — компиляция. Это сложный процесс, чувствительный к ошибкам и структуре написанного кода. Если в проц...

DIY: Ваше собственное облако на базе Kubernetes (часть 2) Продолжаем серию постов про то как построить своё собственное облако в экосистеме Kubernetes. В прошлой статье мы разобрали как можно подготовить базовый дистрибутив Kubernetes на базе Talos Linux и Flux CD. Теперь нам предстоит обсудить возможность запуска виртуальных машин...

Тестируем СХД ExaGrid EX18: получилось ли заменить Dell DataDomain и HPE StoreOnce? Привет, Хабр! На связи Алексей Зотов из К2Тех, и у меня для вас свежий обзор на железо. Сегодня пришла очередь СХД для бэкапов от ExaGrid — это продукт с продвинутым функционалом дедупликации на хранилище и отдельной фишкой в виде удивительно большого кэша. Под катом вас жду...

[Перевод] Руководство по кэшированию в Django В этой статье поговорим о том, что такое кэширование и о его преимуществах, как настроить кэширование в Django, какие бэкенд-системы поддерживают Django, а также о лучших практиках кэширования. Материал будет полезен в первую очередь начинающим веб-разработчикам. Читать дале...

Тестируем OpenAPI-документацию в автотестах Всем привет! Я Настя — QA команды, которая занимается развитием и поддержкой публичного API hh.ru. В этой статье расскажу, как мы проверяем OpenAPI-документацию в тестах при помощи автогенерации классов и валидации. Читать далее

Играем в ReactOS Всем привет, дорогие друзья. В этой статье я хочу поделиться результатами тестов игр в ReactOS. Сразу отмечу, раз ReactOS, на данный момент стремится к совместимости с Windows Server 2003 (серверная версия Windows XP), то и игры, соответственно нужно тестировать той эпохи. Т...

Инклюзивность и цифровая доступность в дизайне: почему это важно для всех Всем привет! Меня зовут Юля Алёхина, я дизайнер в AGIMA. В этой статье поговорим об инклюзивном дизайне, о том, почему он касается не только людей с инвалидностью и как правильно аргументировать важность доступности в общении с заказчиком. Еще расскажу, как наш дизайн-отдел ...

[Перевод] Что такое API-шлюзы и Gateway API и почему за ними будущее нативных облачных приложений В этой статье мы рассмотрим, почему API-шлюзы стали ключевым элементом экосистемы современных облачных вычислений и как появление Kubernetes API Gateway упростило и стандартизировало работу с ними. Статья составлена на основе сразу двух англоязычных материалов. В первом...

Наняли 30 джунов за год: рассказываем, зачем и как В этом году Lamoda Tech открыла 30 вакансий для джунов. Раньше мы нанимали только специалистов с большим опытом, и для нас это стало началом большого эксперимента. Меня зовут Дима, я тимлид, и в моей команде этой весной появилось 3 начинающих специалиста: QA и два бэкен...

[Перевод] Меняем моки репозиториев на in-memory реализации Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких часов, то оно не подходит для разработки с использованием быстрого цикла обра...

Как мы автоматизировали тендерные процедуры за счет интеграции SAP с ЭТП Всем привет! Меня зовут Олег Усов, я работаю старшим консультантом SAP MM в Fix Price. Хочу рассказать, как мы проводили интеграцию SAP с электронной торговой площадкой (ЭТП) и системой электронного документооборота (СЭД) для автоматизации ряда процессов по участию в закупка...

Очередной взгляд на собеседования. Часть 1 Регулярно мы видим в интернетах множество размышлений или криков души на тему содержания собеседований в IT. Мол, и интервьюировать не умеют, и задачи дают не релевантные, и вопросы бессмысленные, и, вообще, собесы в IT это ритуал и карго-культ. Сидит там интервьюер и думает...

Вы никогда не сократите Тime Тo Мarket, если будете тестировать все фичи на одном сервере Привет, это Максим Павлов из KTS. Мы создаём IT-продукты для бизнеса.Все твердят про важность Time To Market — времени от появлении идеи фичи до её релиза для пользователей. При этом почему-то тестируют все фичи на одном сервере. В статье рассказываю, как ускорить Time To Ma...

XeLaTeX для оформления текстов: Текст, рисунки, таблицы, автоматизация В статье рассмотрим пример того как в XeLaTeX можно настроить форматирование отдельных элементов текста, автоматически создавать таблицы, рисунки. В первую очередь будет интересна тем кто собирается оформлять ВКР (выпускная квалификационная работа) бакалавра или магистра, пи...

Что такое Open RAN и зачем он МТС Всем привет! На связи ЦК RnD Блока ИТ, и мы хотим рассказать вам об исследованиях, ведущихся в МТС. Сегодня поговорим о концепции Open RAN и о том, почему она важна для МТС. Её много обсуждают в последние годы, не раз упоминал о ней и президент МТС Вячеслав Николаев. Читать ...

Хороший, плохой, никакой: почему важно проектировать дизайн и как это делать? Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В этой статье я хочу рассказать о том, как мы пришли к проектированию и review плана разработки до начала реализации задачи, что это дало и как повлияло на с...

Open Source в российском ИИ: исследование ландшафта Привет, Хабр!Это исследователи из NSS Lab ИТМО и создатели сообщества ITMO.OpenSource. Мы считаем, что важно делать не просто науку, а открытую науку, результатами которой можно легко воспользоваться. Поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и...

INP: что это и зачем с этим работать С 12 марта 2024 года показатель FID (First Input Delay) из семейства Core Web Vitals заменён новой метрикой — INP (Interaction to Next Paint), которая отражает скорость отклика сайтов. Необходимость такой замены, среди прочего, подтверждают данные об использов...

[Перевод] Знакомьтесь, SafeTest — новый подход к тестированию фронтенда В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом (UI). Читать далее

Жажда скорости. Сравниваем работу Hashcat на ВМ, ПК и ноутбуках с разными CPU и GPU Безответственное отношение к учетным данным — проблема, которая встречается часто и даже в крупных компаниях. Вот почему важно проводить аудиты «‎стойкости» паролей сотрудников. Один из вариантов такой проверки — прогон учетных данных по утекшим базам через хэши. Но обычно п...

Что не увидит SCA Всем привет!

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

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

[Перевод] Используйте Arc<[T]> вместо Vec<T> В этой статье я хотел бы поговорить о том, почему вы могли бы предпочесть использование Arc<[T]> вместо Vec<T> в качестве варианта по умолчанию в вашем Rust-коде. Читать далее

Sub-GHz во Flipper Zero и бесконечное множество внешних антенн В первой части статьи “Sub-GHz во Flipper Zero и бесконечное множество внешних модулей” мы рассмотрели модули для Flipper Zero, работающие в до-гигагерцовом диапазоне, а именно на частоте ±433MHz. И как известно, в радио важно не только, как ты преобразуешь сигнал, но и чем ...

Ищем альтернативу SharePoint среди российских решений. Обзор «Первой Формы» Всем привет! Меня зовут Саша Бойко, я бизнес-аналитиков «Первой Формы». В этой статье я хочу сравнить функциональные возможности этих двух решений для организации совместной работы. В 2023 году мы несколько раз проводили такое импортозамещение, и вот, когда Microsoft совсем ...

Как мы наладили процесс разработки внутренних приложений с помощью Appsmith Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов. В статье расскажу, зачем вообще нам понадобился подобный инструмент...

Автоматические двери: История создания. От механики до магнитной левитации В какой степени прошлое может «объяснить» настоящее, и предсказать будущее? Почему автоматические двери появившиеся в рекламных каталогах производителей в 1910 году, начали использоваться лишь в конце 20 века. В этой статье мы рассмотрим историческую ретроспективу появл...

Тест-дизайн на практике: комбинируем разные техники тестирования, на примере проверки систем оплаты Привет, Хабр! Меня зовут Сергей, я тестировщик в “Петрович-Тех”. В этой статье хочу поговорить о комбинировании различных техник тестирования и поделиться опытом тест-дизайна для проверки системы оплаты.На всем своем профессиональном пути тестировщика я так или иначе всегда ...

Постановка целей по технологии SMART: критерии, процесс целеполагания и возможные ошибки Почему важно уметь правильно ставить рабочие цели в компании? Дело в том, что постановка целей — один из основополагающих факторов деятельности в коллективе. Такая процедура позволяет четко определить, в какую сторону вы двигаетесь и чего именно хотите достичь. Ясная, четко ...

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

Как новому тимлиду завоевать доверие команды: 9 правил, которые я усвоил за полгода в этой роли Привет! Меня зовут Кирилл Комиссаров, я пришел на позицию лида примерно полгода назад. Срок небольшой, но за это время многое понял о том, почему доверие в команде так важно. Вы замечали, что одно и то же мнение, высказанное разными людьми, воспринимается по-разному? Я ...

Зачем нужен HR? Кто это и какие есть роли Понимаю тех, кто высказывается на Хабре, что HR в найме - лишнее звено, которое только усложняет процесс коммуникаций. Дескать, хочется дойти до руководства, фигурально выражаясь, “пожать руку” своему потенциальному руководителю напрямую, а HR выступает промежуточным звеном,...

Собеседования аналитиков: кого, куда, как и почему (и чтобы что!). Часть 2 Вторая часть масштабной статьи про собеседования. Первая — тут. В прошлый раз мы поговорили об идеальном кандидате в вакууме, а также о презентационной части собеседования. Здесь же будем говорить про техническую часть и про ...

Как облегчить жизнь программисту при написании тестов Наверняка, многие из вас работали или хотя бы слышали о том, что есть разработчики, которые работают над проектом в одиночку. Ну как в одиночку… Есть скрам, аналитик, продакт, еще кто-то вплоть до директора, а вот программист один, даже тестировщика нет. В этом случае оптима...

Как мы оптимизировали процессы обеспечения качества Привет! Меня зовут Таня, я куратор в SM Lab. В этом посте я расскажу вам о нашем пути оптимизации тестирования — узнаете, какие на нашем продукте были проблемы в процессах тестирования, как мы их решали, почему не надо отвлекать тестировщиков и в чём польза интуитивного тест...

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

Тестируем отечественную систему виртуализации: zVirt Привет, Хабр!В первой статье цикла, посвященного тестированию отечественных систем виртуализации, я предложил читателям проголосовать за наиболее интересные для них решения. В топ систем попали: Программный комплекс «Звезда», zVirt, VMmanager 6, РЕД Виртуализация, ПК СВ «Бре...

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

Эмулятор QUIK: как наладить тестирование вендорного продукта Привет, Хабр! С вами Роман Потапов и Сергей Попков, ведущие специалисты по тестированию РСХБ‑Интех. В сегодняшнем материале поговорим про эмулятор отечественного биржевого терминала QUIK — посредника между системой брокера и биржами. Программный комп...

Test Jig. Подготовка к массовому производству По какой-то непонятно причине в ru сегменте довольно мало информации о том, что такое Test Jig и зачем он нужен. Он используется в массовом производстве электронных устройств, даже не содержащих микроконтроллер. Каждая плата, прошедшая сборочный конвейер, должна быть протест...

Юзабилити-тестирование сайта Юзабилити-тестирование становится ключевым инструментом в руках разработчиков и дизайнеров, позволяя выявить и устранить потенциальные проблемы интерфейса ещё до того, как сайт попадёт к конечному пользователю.Эта статья будет интересна широкому кругу профессионалов, занимаю...

DevOps as a Service. Часть 4. Решаем проблемы развития сотрудников подразделения и управления инициативами Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем. В прошлых статьях мы описали сам подход, показали пути решения различных проблем. Со статьями можно ...

Когда лучше купить МФУ, а когда принтер и сканер по отдельности МФУ, как принтер и сканер “два в одном” — это не только удобно, но и чаще всего более выгодно, чем покупать все по отдельности. Но важно понимать, что МФУ, несмотря на свою универсальность, подходят далеко не всем. В этой статье мы посмотрим, когда все-таки, как это неудивит...

Год ожиданий — и мы получили Python 3.12. Изменения, новшества и дополнения Новую версию Python многие разработчики ожидали с нетерпением. Кто-то и не ждал, поскольку вполне достаточно было возможностей прежней версии. Но Python 3.12 таки выпустили, сейчас стало известно, что эту ветку будут поддерживать полтора года, а потом для нее станут формир...

Почему алгоритмы не важны? Почему алгоритмы не важны?Я часто слышу о том, как важно уметь решать сложные алгоритмы в программировании. На собеседованиях могут спрашивать про алгоритмы с графами и т.д., которые в работе встречаются довольно редко.В статье я рассуждаю на эту тему... Читать далее

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

Прозрачность процессов как инструмент эффективного взаимодействия Привет, Хабр! Меня зовут Анастасия, я из Газпромбанк.Тех. На текущий момент являюсь одним из HOP QA, но довольно долго была просто тестлидом. Поэтому много мыслей в этой статье использованы ещё с того периода времени.В этой статье, я хочу рассказать, что такое прозрачность п...

Тестирование веб-приложений Flutter с помощью Selenium Разобраться в тонкостях тестирования пользовательского интерфейса веб-приложений Flutter может быть непростой задачей. Если вы когда-либо ломали голову, размышляя о том, как применить свой опыт работы с Selenium к интерфейсу, нарисованному с помощью Flutter, эта статья для в...

Сервис проверки пользовательских файлов «powered by pytest»: нужно повозиться, но оно того стоит Возникла задача проверки нескольких типов пользовательских документов Excel. Проверка должна покрывать такие аспекты как корректность шаблона (наличие ожидаемых страниц, колонок таблиц) и корректность данных (присутствие обязательных значений, корректность значений точки зре...

Xpath — залог стабильных UI-автотестов на Web и Mobile Web Локатор — обязательный элемент любого автотеста, который позволяет системе находить правильный путь к тестируемому компоненту интерфейса. От точности локатора и корректности его оформления зависит не только, смогут ли разобраться с локатором тестировщики и другие коллеги, но...

Как быстро и безболезненно выбрать лучшую из десяти выборок Всем привет! Меня зовут Мария Ходякова, я продуктовый аналитик Тинькофф Страхования. В этой статье мы поговорим о множественном тестировании. Хорошо известен такой подход, как А/В-тестирование, когда в тесте участвуют две выборки. Но иногда нужно сравнить больше двух выборок...

Мапы в Go: уровень Pro Подробный туториал по процессам записи и чтения данных в мапах Go. Объясняем проблемы переполнения, эвакуации элементов; важность передачи количества элементов при создании мапы. Рассказываем, почему в Go нельзя обращаться к ключу или значению по адресу. Читать далее

Металлические друзья: зачем разрабатывают роботов-собак В октябре 2023 года стало известно, что инженеры НИИ механики МГУ в рамках проекта «Братья Вольт» разработали вторую версию своего робота-собаки — первая была показана в 2021-ом. Конструкторы пересмотрели подход к внешнему виду, облегчили корпус, научили «щенка» новым движен...

Part 1. Инструменты автоматизации тестирования Привет! Я Вадим Лунин, QA Manager в Альфа Банке в Беларуси. Это продолжение цикла статей по инструментам, которые мы используем для тестирования наших продуктов в Альфа Банке. В настоящей статье я хочу рассказать вам, какие инструменты мы используем для автоматизации тестиро...

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

Менторство в IT. С чего начать и как стать успешным ментором Менторство в IT. С чего начать и как стать успешным ментором?Поговорили с Николаем Мухрановым в первом выпуске второго сезона нашей рубрики "Открытый микрофон" о том, как начать карьеру ментора и что важно знать, если вы начинающий ментор. Читать далее

Vue3 provide-inject di Разбираемся с provide-inject до конца. Что он может? Поговорим о том, как его использовать, зачем он вообще нужен и можно ли удобно настроить использование этой фичи в приложении. Читать далее

Как на самом деле работает дефицит калорий. Часть 3 Из первой части вы узнали (или узнаете, если еще не читали), почему дефицит в 20% от поддержки — стандартная частая рекомендация и что будет, если есть меньше, например, следуя очень низкокалорийным диетам и неожиданный положительный эффект таких диет.Из второй части вы узна...

Шпаргалка для QA: как тестировать Flutter-приложения Привет! Меня зовут Юлия Андреева, я QA-специалист в AGIMA. Мы пилим и тестируем много Flutter-приложений. И недавно я заметила, что не все коллеги понимают специфику их тестирования. В этой статье расскажу про основные инструменты и подходы, которые мы используем. Сосредоточ...

Зачем компании делают коллаборации, и считать ли встречу выпускников коллабой Привет! Я Елена Бычкова, CJO в Альфа-Банке. Сегодня хочу поговорить с вами про коллаборации. Это слово мы видим в статьях и включаем в презентации, уже не задумываясь о смысле. А что же такое коллаборация? Запуск карты X5 от Альфы — коллаборация? Однозначно да. Встреча ...

Роль тест-лида в контексте скрам команд Скрам команды подразумевают высокий уровень самостоятельности. Ответственность за доставку, процессы разработки и тестирования лежат на команде. Ответственность за качество — так же на команде. Команда несет ответственность за то, как они выполняют работу и достигают результ...

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

Как мы делаем общие библиотеки Сегодня я хотел поговорить о том, как мы выстраиваем процесс работы с общими библиотеками разработки. Я расскажу о нашем подходе, который позволяет соединить процессы, команды и инструменты в единое целое. Статья будет интересна тем, кто сопровождает, создает или интересуетс...

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

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

Автоматизация тестирования ОС Ключ к качественному и постоянному тестированию - атоматизация, которая позволяет проводить тесты множество раз за день одновременно на нескольких устройствах с разными процессорами и архитектурами.Для реализации этой автоматизации мы используем несколько Jenkins Declarative...

Почта без хлопот: автоматизация отправки писем с помощью Python Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор». Ранее я писала здесь о разработке ботов в Telegram, но в моем отделе не скупятся на творческие задачи — так что и эта статья вряд ли будет последней. В этой статье расскажу, как автоматизировать...

Открытые инструменты нагрузочного тестирования Сервисы по продаже билетов, новостные ленты, стриминговые приложения, платформы онлайн-курсов и другие ресурсы, на которых бывает волнообразная нагрузка, должны поддерживать оптимальную производительность без сбоев. Как помочь ИТ-системам справиться с ростом трафика? Ко...

Зачем вам Employee Experience: как премии, CRM и выдача ноутбуков влияют на прибыль компании Привет! Мы команда UX-исследователей Alfa Research Center. В банке отвечаем за Employee Experience (EX) — исследование клиентского опыта сотрудников. Мы погружаемся в устройство процессов и интерфейс внутренних продуктов. Мы не ограничиваемся исследованиями интерфейсов ...

Как исследовать текст в интерфейсе Привет! Меня зовут Анна Мурашова, я UX-исследователь М.Тех (М.Видео-Эльдорадо). Не будет преувеличением, если скажу, что текст в интерфейсе — это самый важный тип контента на наших сайтах и в мобильных приложениях. Благодаря тексту пользователи:• подбирают товары по характер...

[Перевод] Проведение Triforce встреч для определения критериев приемки Критерии приемки являются основой для определения «что» для любого бизнес-запроса. По сути они представляют собой серию функциональных условий, транслирующих, какое поведение мы хотим получить от фичи, а также связывают бизнес-запрос с разработкой. Тестировщикам они помогают...

Как выжать максимум из Confluence. Глава вторая Привет, Хабр! На связи ведущий аналитик Ульяна. В первой главе я рассказала, что такое Confluence, зачем его используют и как работать с макросами. Во второй главе поговорим про шаблоны и метки, которые помогут организовать процессные и проектные рутины, например в...

Как провести фаззинг REST API с помощью RESTler. Часть 2 Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможн...

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

[Перевод] Тестирование пользовательского интерфейса | Flutter Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про работу тестирования приложения во Flutter!Вы узнаете, как: • Понимать автоматизир...

Как проверить локаторы с помощью Playwright В этой статье мы поговорим о том, что можно проверить у локатора (элемента) и какие вообще есть возможности проверок. Более того, в этой статье я описал упражнения, которые вы можете выполнить и отработать в качестве практики. Обычно мои статьи были холиварными, а не техниче...

Зеркалирование топиков Kafka по-бруклински Буквально на секунду представьте, что у вас есть парочка здоровенных кластеров Apache Kafka, каждый из которых держит по нескольку миллионов rps. И тут вас попросили зеркалировать топик из одного кластера в другой. Максимально близко к реалтайму, да ещё и с некоторыми специф...

Разработка через тестирование. Совместное использование JUnit 5 и Mockito Привет, Хабр! На связи участница профессионального сообщества NTA Александра Грушина. Поговорим о важности написания тестов к своему коду, о магии подхода test-driven development. Я расскажу о своём пути: от первого знакомства с концепцией TDD до умелого использования и...

Когнитивные искажения в программировании Всем привет!Сегодня мы поговорим о такой интересной и забавной вещи, как когнитивные искажения. Что это? Зачем это? Как с этим бороться или, быть может, их даже можно использовать? Для начала давайте разберемся, о чем же мы говорим. Читать далее

Linux From Scratch на Zynq UltraScale+ MPSoC В данной статье я постараюсь описать процесс создания кастомного образа Linux на Zynq UltraScale+ MPSoCс. Каждый необходимый компонент будет собран отдельно с использованием соответствующих утилит. Статья разбита на разделы, которые шаг за шагом знакомят вас с процессом сбор...

Database, Data Warehouse и Data Lake: что это и когда следует использовать каждое? Данных становится все больше. Важно уметь эффективно хранить и обрабатывать их для решения сложных бизнес-задач. Одним из первых шагов на пути к успешной стратегии является выбор технологии хранения, поиска, анализа и отчетности по данным. Как выбрать между базой данных, Dat...

DevOps as a Service. Часть 3. Решаем проблему дежурств и хаоса в чате с использованием RCA и единого flow Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service. В прошлых статьях мы описали подход и показали пути решения проблем с контролем ресурсов команды и инфраструктуры, с ними можно ознакомиться тут и тут. Сегодня мы поговорим о пос...

Как не надо проверять размер массива в С++ Как часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся в современном коде и как от неё нак...

7 направлений оптимизации ClickHouse, которые помогают в BI Привет, Хабр! Меня зовут Никита Ильин, я занимаюсь разработкой архитектуры BI-платформы Visiology. Сегодня мы поговорим про оптимизацию ClickHouse — ведущей СУБД, которую все чаще используют для решения задач аналитики на больших объемах данных. В этой статье я расскажу, поч...

Внедрение процесса тестирования Google Tag Manager: увлекательная история Даши-путешественницы Март принес с собой проблему: у некоторых клиентов начали подвисать страницы, на которых монолитный js был разделен на чанки. На таких страницах в основном бандле содержится минимум для отрисовки первого экрана, а остальные чанки мы загружаем отложено. Однако из-за неправиль...

NumPy: шпаргалка для начинающих What's up guys!В этой статье мы поговорим про NumPy. Это статья-шпаргалка для начинающих пользователей NumPy, надеюсь она будет вам полезна. Читать далее

Почему переезд на новое ПО — такая боль для сотрудников. С чем смириться и что можно улучшить Эта статья для тех, кто хоть раз организовывал переезд на новое ПО на работе. И не важно, что это было — Notion в стартапе, Jira для разработки или пачка отдельных SaaS-систем.В процессе жизни и роста любой компании приходится перетасовывать, объединять, менять системы, на к...

История 3D-печати: от идеи к первым опытам и настоящему Каких-то 40 лет назад 3D- печать казалась уделом фантастических рассказов, несмотря на то, что тогда уже были разработки и  возможности для реализации. Но волшебная аура вроде: «А почему бы мне не напечатать себе дом или автомобиль?» больше напоминала перспективы термоя...

Тестируемая архитектура. Часть 3: граница тестирования В прошлой части мы провели анализ архитектуры, итогом которого стало внедрение дополнительного разделения на слои: Core (ядро) и Externals (источники данных). Читать далее

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

Как мы адаптируем новичков в отделе тестирования Привет, меня зовут Ира, я руковожу бордингом в отделе тестирования ЮMoney. Перед вами подробный гид с этапами, которые проходит каждый новичок, попадая в команду QA. Курс молодого бойца длится три месяца, после него даже совсем зелёный джун c небольшим опытом в тестировании ...

Нейросети, виртуальная реальность и Бог-солипсист Несколько недель тому назад компания OpenAI анонсировала скорый выход нейросети SORA, способной создавать связный осмысленный видеоряд из простого текстового описания того, что вы хотите увидеть. То, как работает эта нейросеть, можно узнать из великолепной статьи "Настоящее ...

Электронные книги? Аудиокниги? Смешать, но не взбалтывать Отпуск - замечательное время, которое не занято работой, а значит можно и нужно заняться тем, чем давно хотелось - хобби. Сегодня поговорим об одной из любимых тем - читалка и все, что с ней связано. Читать далее

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

<Cookie> ctrl+c ctrl+v: автоматизируем прохождение авторизации в DAST Привет, Хабр!С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. В этой статье мы разберемся, как пройти авторизацию в DAST-сканере с помощью прокси. Почему мы решили взяться за эту тему? Сейчас расскажем. Читать далее

[Перевод] 10 полезных Github репозиториев для тестировщиков В этой статье содержится список из 10 репозиториев на Github: дорожные карты для карьерного роста, подборки книг, списки курсов, инструменты для упрощения процесса тестирования и многое другое. Независимо от вашего опыта, эта подборка поможет быстро сориентироваться в мире т...

Безопасность веб-приложений для самых маленьких фронтов С первого взгляда кажется, что безопасность - это тема devops-а или бэкенда. Но разделить зоны ответственности в этом вопросе очень сложно. В этой статье я хотел бы поговорить о моментах, связанных именно с фронтендом - т.е. об атаках, которые могут грозить приложениям и по-...

Взгляд на ИБ со стороны не ИБ-разработчиков Всем привет! Меня зовут Елена Галата, в ГК "Цифра" я руковожу направлением разработки программного обеспечения. Хочу сегодня немного поговорить об информационной безопасности и о том, как она выглядит со стороны тех, кто имеет отношение к созданию ПО. Не только программисто...

PI-планирование: как с его помощью мы выстроили здоровую коммуникацию с заказчиком Привет! Меня зовут Даша Семенова, я руководитель проектов в AGIMA. Уже пять лет настраиваю процессы у одного большого заказчика. Это еком, ребята продают свою продукцию, а многие из вас ее покупают. А если не покупаете, то точно слышали. В общем, бренд известный и важный для...

Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.Недавно у нас на работе ...

Wildberries тестирует новый процесс покупок из-за рубежа Wildberries проводит тестирование нового процесса покупок из-за рубежа, при которой покупателям нужно будет пройти верификацию через портал «Госуслуги». Теперь при оформлении заказа из Китая и Узбекистана покупателю понадобится пройти верификацию через порта...

Как провести unit-тестирование Flink-операторов: TestHarness Привет всем, на связи снова Александр Бобряков, техлид в команде МТС Аналитики. Продолжаем цикл статей про фреймворк Apache Flink.Напомню, в предыдущих частях я рассказывал про построение пайплайна Kafka-to-Kafka с промежуточным разделением потока и дедупликацией событий. Та...

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

Какие вопросы я задаю на собеседовании QA Junior+ Привет Хабр! Меня зовут Иван, сегодня поговорим о вопросах на собеседованиях Джуну+ (от 6 месяцев работы) и узнаем как ответить на них не как ChatGPT. Я как инженер по ручному и автоматизированному тестированию провожу собеседования на роль Junior+ QA (с дальнейшим ростом в ...

О Важном в управлении проектами Всем привет! Меня зовут Андрей Софронов и я тимлид продукта “ЭДО и S2P”. Хочу поделиться с тобой своим опытом и наблюдениями о том, что важно в управлении проектами, как можно посмотреть на проект и свою деятельность в целом, что следует учесть, что помнить и о чем позаботит...

Основы тестирования в Go: mock-объекты, fuzzing и property-based testing Привет, Хабр!Golang как ЯП очень хорош для разработки высокопроизводительных приложений. В любом проекте наступает момент, когда нужно проверить, насколько хорошо все работает на самом деле, это можно сделать с помощью тестирования.Тестирование в Go можно выполнять с помощью...

Тестируем отечественную систему виртуализации: Альт Привет, Хабр!Я продолжаю свой цикл тестирования российских систем виртуализации. Сегодня речь пойдет о популярном решении под названием «Альт Виртуализация». Посмотрим, для каких сценариев подходит этот продукт, какие функции представлены в актуальной версии решения и кому я...

Почему проверять результат вызова malloc c помощью assert плохая идея Указатель, который вернула функция malloc, необходимо проверить перед использованием. Неправильным решением будет использовать для этого макрос assert. В этой статье мы разберём, почему это является антипаттерном. Читать дальше →

Киберспортивный буткемп: что, зачем и почему Думаю, что аудиторию блога ЛАНИТ на Хабре трудно удивить словом «буткемп». Современные образовательные платформы, компании и даже университеты активно проводят учебные лагеря, которые позволяют за небольшой срок натаскать и тех, кто только начинает свой путь в сфере ИТ, и те...

Зачем нам так много языков программирования? В мире насчитывают примерно 7 000 естественных языков и 9 000 языков программирования. Но, в то время как количество первых стабильно сокращается, число вторых продолжает уверенно расти. Сегодня поговорим о универсальном языке программирования «для всего» и причинах появлени...

EA Skate тестируют на смартфонах — появились первые скриншоты Разработчики игры EA Skate разослали приглашения на бета-тест мобильной версии 13 февраля, как заявляет инсайдер @SargeOP_. Тестирование продлится до 4 марта. Также появились скриншоты от пользователя Reddit. У EA Skate пока что нет оригинального ярлыка, поэтому Electronic A...

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять авто...

Большое тестирование российских систем виртуализации. Статья первая, вводная Привет, Хабр!Этой статьей я хочу начать цикл материалов, посвященный отечественным решениям серверной виртуализации. В этой серии я хочу поставить перед собой довольно амбициозную цель — помочь ИТ-специалистам в выборе системы виртуализации за счет прозрачного и всестороннег...

Как располагать элементы игровых интерфейсов Правильное расположение элементов игрового интерфейса помогает людям решать задачи, которые мы перед ними ставим В статье примеры подходов и решений, которые упрощают жизнь игрокам  =) Читать далее

Как тестировщику уйти из корпорации в стартап и не сойти с ума Меня зовут Лена и я QA Engineer в Brickit, приложении для сканирования кубиков Lego. До этого мне довелось поработать в крупном зеленом банке. В этой статье я расскажу об отличиях корпорации и стартапа в разрезе процессов тестирования и разработки, а также дам несколько прак...

Миф о «Парке Юрского периода»: почему воскрешение динозавров остаётся недостижимой мечтой Первый «Парк Юрского периода» вышел в 1993 году. В фильме Стивена Спилберга был показан мир, в котором ученые нашли ДНК динозавров в доисторическом янтаре и клонировали их в лаборатории. В результате древние существа оказались на Земле рядом с современными животными. В ...

Галопом по Европам: Легитимные процессы Windows на пальцах В этой статье моей целью будет быстро и понятно внести памятку о легитимных процессах Windows. Немного расскажу, какой процесс за что отвечает, какие нормальные свойства имеют процессы, и приправлю это все небольшим количеством краткой, но полезной информации. Читать далее

Обзор K8s LAN Party —  сборника задач по поиску уязвимостей в кластере Kubernetes прямо в браузере Я продолжаю тестировать инструменты, которые помогают научиться защищать кластеры Kubernetes. На этот раз взглянем на продукт от разработчиков из компании Wiz Research — Kubernetes LAN Party, челлендж по выполнению CTF-сценариев. Выход инструмента был приурочен к прошедшей в...

Из фото в 3D, ч.1: геометрия формирования изображения Казалось бы, жизнь невозможно повернуть назад, а предмет из фотографии не восстановишь. Хотя с последним можно поспорить: из плоского 2D-изображения реально восстановить 3D-модель объекта. Подобная «магия» часто практикуется в AR/VR, управлении беспилотниками и других сферах...

Польза создания однородных задач для параллельного вычисления Как правильно использовать возможности параллельного программирования?Зачем программистам математика и зачем знать алгоритмы?На примере небольшой задачи мы вместе ответим на эти вопросы. А так же хочу наглядно продемонстрировать преимущества создания однородных задач.Весь к...

Какой плащ был у Понтия Пилата? Отвечает GigaChat Всем привет! На связи лид разработки SDK GigaChat’a — Константин Крестников. В этой статье я расскажу о том, что такое GigaChain и как в целом SDK позволяет упростить жизнь разработчика LLM, например, научить LLM давать ответы на вопросы по вашим документам или работать в ре...

Кроличья нора автоматизации бизнес-процессов В мире современных технологий бизнес неизбежно сталкивается с необходимостью изменения, развития и оптимизации своих процессов. В этой статье в блоге ЛАНИТ мы погрузимся в мир автоматизации бизнес-процессов и рассмотрим, зачем она нужна, какие преимущества она приносит, каки...

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

Настройка протокола mKCP в панелях 3X-UI и X-UI Сегодня мы поговорим о настройке подключения к прокси-серверу по протоколу mKCP в известных web-панелях X-UI и 3X-UI. Про mKCP, как и про многие другие актуальные на сегодняшний день прокси- и VPN-протоколы я недавно рассказывал в статье "Надежный обход блокировок в 2024: пр...

[Перевод] 10 самых распространенных проблем при линтинге Dockerfile'ов Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.В этой статье они делятся десятью наиболее распространенными проблемами при линтинге Dockerfile'ов, разбирают каждую проблему и объясняют, почему она возникает и к...

DIY: Ваше собственное облако на базе Kubernetes (часть 3) Вот мы и подобрались к самому интересному: запуску Kubernetes в Kubernetes. В этой статье мы поговорим о таких технологиях, как Kamaji и Cluster API, а также о том, как интегрировать их с KubeVirt.В прошлых статьях мы уже рассказывали, как мы готовим Kubernetes на bare metal...

Разработка Tower Defense на Unity — часть 2, проектирование И так, в прошлой статье цикла тут мы определились с концепцией игры, геймплеем и программными средствами. Самое время поговорить об архитектуре, организации игрового процесса, что и как будет происходить. Чтобы определиться с организацией всех процессов в игре необходимо раз...

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

Разгоняем Ignite в облачной инфраструктуре. Часть 2 Привет! С вами Дмитрий Пшевский и Семён Попов, технические лидеры юнита Data в Сбере. Это вторая часть нашего материала о производительности сервисов при работе с Ignite. В первой части мы рассказали, как перешли от монолита к микросервисной архитектуре, попробовали поработ...

Секреты тестирования Wiren Board: test-suite и крафтовые стенды Мы продолжаем рассказывать о внутренней кухне Wiren Board. В предыдущей статье мы заставили работать китайский паяльный робот, который выполняет рутинную часть работы монтажников на нашем производстве.Все наши «железки» должны поступать клиентам в рабочем состоянии и служить...

Особенности и проблемы mock-сервера Swordfish API Emulator Эта статья — продолжение истории про разработку Ansible-модулей для взаимодействий с системами хранения данных (СХД) через API, которое удовлетворяет спецификации Swordfish. Эти модули в перспективе облегчат управление парком СХД от разных производителей.Чтобы тестирова...

Алгоритмы в помощь: как делегировать рутину системам ИИ Привет, Хабр! Я Виктор Соловьев, бизнес-аналитик продукта «Цифровой вагон» в Первой грузовой компании. Не так давно мы в блоге обсуждали, почему страх, что «ИИ отнимет у вас работу» — в первую очередь поп-культурный феномен. А сегодня я хочу перевести эту тему в практическую...

[Перевод] Какую роль играет искусственный интеллект в расширении возможностей тестировщиков Обеспечение качества (QA) является одним из важнейших процессов разработки программного обеспечения. QA подразумевает систематический и комплексный подход с целью обеспечить соответствие программного продукта требуемым стандартам качества. Автоматизация уже привела к сущес...

Как защитить биометрические данные, повысить безопасность блокчейн-приложений и другие how to из области ИБ Привет Хабр. На связи beeline cloud с подборкой практических советов от экспертов по информационной безопасности. Разбираемся, почему биометрию считают надежной, хотя большинство данных пользователей находятся в открытом доступе. Подробно рассказываем, что такое аудит с...

Эзотерика, Таро, фэншуй: зачем традиционная наука изучает псевдоучения Исследователям важно разобраться, почему у людей возникает потребность в мистике, и понять, как с этим справиться.

Проблемы с CVE. Разоблачаем баги-пустышки и пишем эксплоит при помощи ChatGPT Для подписчиковКуда мы в первую очередь смотрим, глядя на очередную CVE’шку? Правильно, на уровень угрозы, то есть оценку CVSS. Но бывает, что эта цифра плохо соответствует реальной опасности. В этой статье я на примерах покажу, как это случается, а также поговорим о других ...

Java Digest #6 Всем привет!

От хаоса к порядку. Как мы внедряем стандарты в CDEK Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ...

Краткий экскурс в Metasploit. Учимся обращаться с легендарным фреймворком Для подписчиковВ этой статье мы поговорим о Metasploit Framework (MSF) так, будто ты о нем впервые слышишь и хочешь разобраться с самого начала. Посмотрим, что это вообще такое и зачем нужно, изучим входящие в него инструменты и научимся ими пользоваться. В общем, это статья...

Нетипичные сценарии использования BI-системы (Apache Superset) Всем привет!Сегодня поговорим о немного нетипичной для меня теме, а именно - Apache Superset. Обычно я пишу длинные "философские" статьи "на свободную тему", но в этот раз - это будет туториал. Так что кому-то может показаться банальностью, но, опять таки, вдруг кому поможет...

Пора переходить на микрофронтенд? Опыт “Инферит Клаудмастер” Приветствую всех новичков и гуру фронтенда, а также всех, кто работает с интерфейсами. Я Никита Борцов, создаю красоту на фронте первой в России FinOps-платформы для управления облачными затратами “Инферит Клаудмастер”.В этой статье вы узнаете о:- факторах, сформировавших тр...

Чем мы дышим? Почему я бы не доверял Яндекс.Погоде, Google и IQAir Давайте поговорим о воздухе в Хабаровске. Сейчас там серьезная проблема: город занесло дымом от лесных пожаров. Но интересно, какая у нас информация о качестве воздуха? Читать далее

Самодельные инструменты для тестирования продукта, или DIY в разработке Все мы привыкли к общепринятым инструментам для тестирования. Думаю, список есть у каждого и он постоянно пополняется. Лично мой: Postman, IntelliJ IDEA и DataGrip от JetBrains, ShareX для скриншотов и его величество DevTools. В этой статье я хотел бы отдать дань само...

Безопасный интернет через Termit: 11 шагов для развертывания СТД Привет, Хабр! Сегодня мы подробнее поговорим про Termit 2.1 —  систему терминального доступа. Она предназначена для организации удаленного доступа конечных пользователей к приложениям, опубликованным на терминальных серверах. В этой статье я расскажу о том, как мы делал...

Правило трех и пяти в C++: что это такое и зачем они нужны? Привет, Хабр!Сегодня я хочу поговорить о двух правилах С++: правиле трех и правиле пяти.Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений. Читать далее

[Перевод] Вероятно, вы неправильно используете метод __init__ в Python Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся...

Тестирование сборки: Supermicro X13SAE-F Intel Core i9-14900KF 6.0 GHz В этой статье мы поделимся результатами тестирования компьютерной сборки на базе материнской платы Supermicro X13SAE-F и нового процессора Intel Core i9-14900KF с возможностью разгона до 6.0 GHz.HOSTKEY — хостинговая компания, поэтому нам важно своевременно обновлять оборудо...

Оцениваем сложность алгоритмов на C# по памяти и времени с примерами Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов,  а также наглядно покажем, как эта сложность влияет на производительность кода. Читать далее

Как оплатить VPN криптовалютой С прошлого года пользователи VPN в России оказались перед дилеммой: западные VPN-сервисы больше не принимают российские карты, а российские VPN-сервисы бесполезны для тех, кто хочет без ограничений пользоваться запрещёнными социальными сетями или читать запрещённые сайты. Од...

Как запороть фишинг: советы пентестерам Добрый день, уважаемые коллеги. Меня зовут Семьянов Дмитрий и я специалист по тестированию на проникновение в группе компаний Innostage. Мы в команде регулярно проводим фишинг в рамках повышения киберустойчивости. За многолетний опыт мы набили много шишек и с радостью дадим ...

Вписаться в интерфейс, но не слиться с ним Привет! Сегодня поговорим про обновление навигации интернет-банка. Я расскажу, зачем мы вообще затеяли изменения, на какие метрики опирались и, конечно, покажу визуал до и после.Я убеждён: подсознательно нам спокойнее, когда мы знаем, где выход и как выбраться из помещения, ...

Актуальные методы проверки работоспособности больших и высоконагруженных сетей. Протоколы мониторинга Привет, Хабр!В данной статье мы рассмотрим актуальные методы проверки работоспособности сетевого оборудования. Конкретно в этой статье мы поговорим про протоколы мониторинга. Статья является переваренным опытом компании Netopia, которая занимается разработкой программного о...

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

Выбирая операционную систему. Процесс сознания и его проявления Еще 5 лет назад начать очередной холивар можно было сравнением андроид и iOS. Лет 15 назад прения начинались вокруг субкультурных предпочтений. 50 лет назад за политические взгляды могли убить. А 500 лет назад перекрестившись не той рукой ты однозначно был обречен на смерть....

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

Неочевидные моменты TypeScript и способы их решения Разрабатывая на TypeScript, можно столкнуться с ситуациями, в которых код будет работать не так, как ожидается. В статье разберем несколько таких моментов. Часть просто придется иметь ввиду, часть решается обновлением, а часть исправляется – обо всем по порядку. Если вам бу...

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

[Перевод] Очередной инцидент с Ledger: Атака на цепочку поставок В этом посте мы объясним, что произошло c Ledger, почему это важно и как вы можете обезопасить свои активы. Читать далее

Дизайн-система Gravity UI: как легко построить свой интерфейс Всем привет, я Алексей Сизиков, руководитель отдела User Experience в Yandex Cloud. В этой статье я хочу поделиться новостью: мы выпустили нашу дизайн-систему и библиотеку компонентов Gravity UI в опенсорс. Под катом — рассказ, зачем мы сделали Gravity UI, как его ...

Cloud Native или cloud-native: как мы разбирались с написанием термина и почему Open Source тоже пишут без дефиса На днях мы работали над переводом глоссария CNCF и начали спорить о том, как писать словосочетание cloud-native. Раньше мы использовали название с дефисом — такое правило применяется к составным прилагательным в английском языке (пример — well-known actor). «Википедия» в ста...

[Перевод] 10 распространённых рисков проекта и шаги по их устранению Анализ рисков проекта помогает управлять проектом от начала до конца, чтобы исключить или сократить потери или неудачи в бизнесе. Причины рисков зависят от типа, сложности и продолжительности проекта. Цель анализа рисков проекта состоит в том, чтобы выявить возможные угрозы ...

[Перевод] После смерти Agile Перед вами перевод статьи автора Doug Bridgens, в которой он рефлексирует свой опыт и критически отзывается о Agile. В его статье совсем нет анализа и аргументации, это личные размышления на тему конкретного разработчика. Это мой второй перевод и я позволю себе в этом предис...

.NET CLI — Зачем загружать все родительские сборки при загрузке сборки В CLR есть особенность, что при загрузки сборки через Assembly.Load или через Assembly.ReflectionOnlyLoad, загружаются все сборки по мере запроса. В отличии от констант и их типов, они заранее копируются в дочернюю сборку и больше не зависят от родительской сборки. Но в ...

[Перевод] Искусство README Привет, Хабр!На связи Андрей из сообщества ITMO.OpenSource. Мы считаем, что важно делать открытую науку, поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом.Мы убеждены, что открытая наука – это не просто ...

Создание и тестирование gRPC сервиса (Spring Boot приложение) Привет, Хабр! Сегодня я поделюсь опытом работы с gRPC и расскажу, как создать и протестировать gRPC-сервис в приложении на Spring Boot. Основная проблема — это отсутствие структурированной информации по корректному тестированию gRPC сервиса. Эта статья будет полезна для тех,...

5 советов для начинающих IT-специалистов Если вы хотите освоить IT-профессию или уже обучаетесь на курсах — эта статья для вас. За последние 5 лет я прошёл огни, воды и медные трубы, чтобы научиться программировать и войти в IT. Настало время поделиться опытом, поэтому держите несколько советов, которые облегчат ва...

Команда нагрузочного тестирования? Дайте две! Почему иногда подрядчик бонусом к внутренней команде — это хорошая идея Привет! Меня зовут Юля Шамина, я руководитель IT-проектов в СберМаркете. Хочу поделиться нестандартным по всем меркам кейсом, как мы подготовили наши сервисы к высоким предновогодним нагрузкам за 3 месяца благодаря челленджу внутренней команды нагрузочного тестирования. ...

Правильная работа с базой данных на Python Эта статья рассчитана в большинстве своём на новичков. Тут мы поговорим о том, как не упереться в лимиты подключений к базе, и чтобы приложение в продакшн не упало. Читать далее

[Перевод] Каково положение отдела по взаимодействию с разработчиками (DevRel) в организационной структуре? Пришло время переосмыслить «местоположение» отдела по взаимодействию с разработчиками (DevRel) в структуре организации.Краткое изложение: Отдел по взаимодействию с разработчиками - не совсем инженерный, а также не полностью маркетинговый, и зачастую далек от сферы продаж. Ит...

DR, SDN, V2V: обзор свежего релиза платформы виртуализации zVirt 4.1 Хабр, привет! На связи Алексей Зотов из К2Тех, и сегодня я хочу поговорить об одном из российских решений для виртуализации. Сегмент этот в каком-то смысле уникален. Если в целом по рынку заказчик выбирает между 5–6 отечественными продуктами для решения задачи импортозамещен...

Как мы в SM Lab локализацией занимаемся Всем привет! Мы (Никита Звонилкин и Дмитрий Ёжиков) работаем в отделе локализации в SM Lab. Мы провели презентацию по теме интеграции локализации в процесс тестирования ПО на конференции SQA Days. Для этой статьи мы адаптировали эту презентацию, чтобы показать, чем локализац...

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

[Перевод] Тестируем PCIe в новом Raspberry Pi 5 Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5. Я специально снял ролик, где разобрал всю аппаратную часть – что изменилось, что появилось и чего не стало. В этой статье я представлю вам спецификацию новой модели, расскажу о некоторых особенностя...

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

Как и зачем мы строили 3D-модели достопримечательностей на Картах За последний год мы добавили много нового на Яндекс Карты: например, высокодетализированные дороги с подробной  разметкой, растительность, а ещё совершенно новые, цветные и детальные 3D-модели достопримечательностей. Их можно увидеть, приблизив, например, Пушкинский муз...

Сила хакатонов: почему Middle и Senior Engineers должны в них участвовать Привет, Хабр! На связи beeline cloud — обсуждаем вопрос зачем Middle и Senior Engineers хакатоны и нужно ли в них принимать участие? Разобраться в этом поможет автор нашего DIY-медиа вАЙТИ. Читать далее

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

Почему пароли безнадежно устарели и зачем ими до сих пор пользуются? В феврале вышло исследование компании DLBI по самым популярным паролям в России. Аналитики собрали учётные записи (электронная почта — пароль), утёкшие в 2023 году, выделили из них уникальные. Всего получилось 44 млн записей. На основе этой базы исследователи составили топ с...

Как мы запускали DIY-медиа для ИТ-специалистов Привет, Хабр! Меня зовут Юлия Гусарова, я директор по маркетингу beeline cloud. В октябре мы запустили проект вАЙТИ. В этой статье я и мои коллеги расскажут о том, как мы придумывали концепцию DIY-медиа и чем оно отличается от других площадок. А еще — поговорим о том, как ус...

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

Apple продемонстрировала как происходит процесс тестирования в одной из лабораторий компании По словам представителей техногиганта, компания долго и тщательно проверяет свои высокотехнологичные продукты перед сборкой

Как провести фаззинг REST API с помощью RESTler Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. Современная разработка программного обеспечения требует не только функционального, но и безопасного API. Сегодня мы расскажем, как провести фаз...

Автоматизация бизнес-процессов в Heflo: от А до Я Привет, Хабр! Меня зовут Анастасия Андреева, работаю процессным аналитиком направления Business Process Management в компании GlowByte. Не так давно мой коллега рассказывал о Heflo – универсальной системе бизнес-моделирования. В рамках деятельности Heflo Club мы в GlowByte с...

Как начать в DL: книги и курсы What's up guys!В этой статье мы поговорим о полезных материалах для изучения тем глубокого обучения и немного ИИ. В статье я дам список полезных ресурсов и немного советов по. Читать далее

[Перевод] Управляемое данными тестирование с использованием Cucumber Тестирование на основе данных позволяет сократить объем ручных действий, необходимых для проведения тестирования, а также упростить управление и сопровождение тест-кейсов. В целом использование тестирования на основе данных позволяет повысить качество программного обеспечени...

Все, что нужно знать перед сдачей ISTQB Всем привет!Сегодня хочу поделиться своим опытом сдачи ISTQB, особенностями проведения экзамена и советами для успешной подготовки.Если вы читаете эту статью, то, вероятнее всего, вы уже знаете, что обозначают эти загадочные буквы «ISTQB», зачем вообще сдавать какой-то экзам...

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

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

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

Жизненный цикл Activity приложения: базовые принципы и понятия Статья от тестировщика "ITQ Group" Леонида Галочкина.Понимание принципов работы activity помогает понять логику работу мобильных приложений, разрабатывать тест-кейсы разного уровня, готовить тестовую документацию. Принципы activity можно игнорировать, например, при тестирова...

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

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

Machine Learning инженер: что/где/как изучать, чтобы въехать Привет, хаброчеловек!В этой статье мы обсудим путь среднестатистического обывателя в Machine Learning, а именно — как стать ML-инженером. Поговорим о специфике области, какие требуются знания и скиллы, что нужно делать и с чего начать. Читать далее

Направо пойдёшь — тестировщиком станешь, налево пойдёшь — ˂...˃: куда податься питонисту? Привет, Хабр! В этой статье поговорим о том, какие перспективы есть у питониста и куда ему можно податься. Кому может быть полезна статья? Читать далее

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

Как работает Kubernetes пока ты спишь Эта статья - базовое описание того, из каких компонентов состоит Kubernetes, как он работает «под капотом». Это важно так как платформа сложная и: •  понимание ее работы влияет на факторы разработки; •  становится понятно, что можно и чего нельзя; • &n...

[Перевод] Разработка под Android в 2024 году Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.Важно подчеркнуть: некоторые хорошие инструменты, паттерны и архите...

Управление процессами компании: бизнес и ИТ Привет, Хабр! В продолжении темы, связанной с внедрением Каталога ИТ-услуг в компании, хочу разобрать достаточно популярный вопрос (не знаю, как у других, но у нас так точно) – зачем нужно возиться с услугами, если все пользователи работают с системами? Логичнее же «идти от ...

Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбира...

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

Самые неудачные видеокарты от Nvidia за всю историю компании: 5 худших моделей Nvidia — весьма успешная корпорация, одна из самых богатых в мире. За её продукцией, в особенности чипами вроде H100 и A100, выстраиваются очереди из представителей Google, Microsoft и т. п. Всё это говорит о том, что руководство Nvidia понимает, как правильно работать,...

Тестируем отечественную систему виртуализации: VMmanager Привет, Хабр!В первой статье моего цикла я предложил читателям выбрать системы виртуализации, которые должны стать «подопытными кроликами» в моем исследовании. Одним из лидеров народного голосования стала российская платформа VMmanager. Пришло время посмотреть, что из себя п...

Тестируем китайские rack-серверы TTY В нашу лабораторию Jet RuLab на тестирование попали серверы бренда TTY, довольно успешно продающиеся на китайском внутреннем рынке, но малоизвестные в России. В этом посте рассказываем о моделях двух поколений, возникших проблемах и можно ли с этим жить.  Читать далее

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 1: Live Coding В данной статье разберемся что такое live coding интервью и как к нему готовиться.Материал в первую очередь будет полезен Data Scientist'ам и ML инженерам, при этом некоторые разделы, например, Алгоритмы и структуры данных подойдут всем IT специалистам, к...

Testplane в опенсорсе: автоматизируем пользовательские сценарии в веб-интерфейсах Привет! Меня зовут Евгений Константинов. Я занимаюсь разработкой инструментов автоматического тестирования в Яндексе. В этой статье хочу рассказать про историю создания инструмента TestplaneTestplane поможет вам:- протестировать разные сценарии в любом браузере; - прове...

Mockito и как им пользоваться Привет, Хабровчане! Помню, как в одном из моих первых проектов, мы столкнулись с проблемой тестирования кода, который зависел от внешних сервисов и баз данных. Это было не только трудоемко, но и занимало уйму времени. И сразу стало понятно, что без мокирования нам не обойтис...

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

В России создали первую антивейп-систему В Санкт-Петербургском государственном университете аэрокосмического приборостроения разработали первую электронную антивейп-систему, которая проверяет наличие вредных примесей в воздухе. Об этом рассказало издание «Известиям» со ссылкой на авторов проекта.&n...

Подбираем параметры сессии в Apache Spark, чтобы не стоять в очереди Бывало у вас так, что некоторые аналитики запрашивают побольше вычислительных ядер и оперативной памяти для своих Jupyter-ноутбуков, а у вас в это время ничего не работает? У меня бывало, ведь недостаточно уметь разрабатывать код на Spark — еще нужно уметь его настраива...

KISS your website или как написать уважаемый сайт на аутсорсе, глава первая Добрый день. Меня зовут Тимофей, я фронт-тимлид в диджитал-продакшене ДАЛЕЕ. В данном цикле статей я поделюсь подходами и инструментами фронтенд-разработки на аутсорсе, которые помогут создать качественный продукт без кошмарного instant-legacy и значительно облегчат жизнь ко...

Как объяснить функции активации в нейронных сетях вашему коту: простое руководство Итак, функции активации. Что мы знаем о них помимо загадочной тайны ужасных соглашений о наименованиях (о чем поговорим позже

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): • расскажу о концепциях, которые чаще всего используются сейчас в тестировании• кратко опишу, что такое distributed ...

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

Как написать идеальный запрос для ChatGPT Управление промтами – важный навык для работы с нейросетями. Однако иногда не знаешь, как лучше их прописать. В результате ответы, генерируемые чат-ботами, оказываются очень общими и неточными.Я потратил много часов на различные курсы по промт-инжинирингу и постоянно тестиро...

Настройка CI/CD для самых маленьких разработчиков Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позв...

Разработали систему, которая продумывает маршруты пациентов и сокращает очереди. Вместо «Кто последний?» — QR-код Умная электронная очередь сама строит маршруты для пациентов, чтобы они как можно быстрее проходили нужных специалистов. В итоге медцентр принимает больше клиентов и увеличивает прибыль, а пациенты не стоят в очередях. Рассказываю, как работает эта система. Читать далее

[Перевод] Почему ручное тестирование не умрет Автоматизированное тестирование стало настолько неотъемлемой частью обеспечения качества, что некоторые тестировщики задаются вопросом, не заменит ли оно полностью ручное. Читать далее

Реальная Грузия: грустные факты, которые вас разочаруют Начинаем гуглить информацию о жизни в Грузии. Все статьи как под копирку: тут вкусно, дешево, гостеприимно, просто рай на земле. Это ловушка. Я прожила в Грузии полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле.  Читать далее

Как оценить эффект от внедрения проекта? Целью любого проекта, будь то разработка сайта, внедрение искусственного интеллекта или модернизация оборудования, является получение бизнес-результата. Поэтому для клиента важно понимать, какую выгоду он получит от внедрения проекта и как это отразится на его прибыли. Кроме...

Microk8s, еще один легковесный K8s В современном мире разработки и развертывания приложений, контейнеризация стала ключевым элементом для обеспечения масштабируемости, гибкости и надежности. В этом контексте технология Kubernetes, как ведущая платформа оркестрации контейнеров, становится неотъемлемым инструме...

Kotlin Coroutines. Часть 1: Первое погружение Привет, Хабр!Меня зовут Соловьев Андрей, я Java-разработчик в «Рексофт». Сегодня мы поговорим про Kotlin Coroutines. Это моя первая серьезная публикация, и я буду рад вашему фидбеку.Ну что ж, давайте начинать! Читать далее

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

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

Эксперт рассказал о модернизации российской техники в рамках СВО В связи с проводимой на Украине специальной военной операцией (СВО) российские военные проводят модернизацию различных видов техники. Военный эксперт, капитан первого ранга запаса Василий Дандыкин, рассказывая об этих изменениях Ленте.ру, отметил, что в первую очередь модерн...

[Перевод] Важность документации в работе DevRel Техническая документация — важный элемент любого сообщества, в том числе при продвижении продукта. Документация является средством первого прямого контакта с разработчиками и пользователями, заинтересованными в использовании продукта. Чем лучше документация, тем больше шансо...

[recovery mode] Просто об архитектуре в Android В нашем скромном мире разработки Android есть общепринятый подход к проектированию приложений - Clean Architecture, который рекомендуется Google. Несмотря на множество статей, посвященных этому стандарту, вопросы и споры вокруг того, как "правильно готовить" Clean Architectu...

[Перевод] Учимся использовать модуль Ansible Shell для выполнения удалённых команд Мы перевели статью, где подробно рассматривается использование модуля Ansible Shell и различные способы выполнения удалённых команд на узлах в рамках работы по автоматизации. В статье рассматриваются различные опции и модули для выполнения удалённых команд, а также их различ...

Реальный Python: грустные факты, которые вас разочаруют Начинаем гуглить информацию о Python. Все статьи как под копирку: тут хорошо платят, легко учиться, гостеприимное коммьюнити, просто рай на земле. Это ловушка. Я писала на Python полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле.  Ч...

Зачем грузовой компании идти в разработку — опыт ПГК Привет, Хабр! Я — Аня Анциферова, продакт «Цифрового вагона» (это одна из разработок Первой грузовой компании). Сегодня на примере опыта ПГК я хочу рассказать о том, почему даже консервативные отрасли вроде железнодорожных перевозок имеют огромный потенциал для развития цифр...

2-нм техпроцесс и стоимость гаджетов Apple: что общего и почему последние будут дорожать Если компания Apple в гаджетах следующих поколений начнёт использовать 2-нм процессоры, а вероятность этого велика, то стоимость новых устройств может неприятно удивить поклонников бренда. Чипы по 2-нанометровому техпроцессу сейчас осваивает эксклюзивный «яблочный» партнёр —...

Task и structured concurrency в swift В данной части из серии статей про Swift concurrency мы подробно остановимся на сущности под названием Task и разберем на примерах, как с ней работать. Также поговорим про structured concurrency. Что это такое, как это понятие связано с Task и почему механизмы языка async/a...

Цифровой рубль — начало цифрового концлагеря Коллеги, привет! Меня зовут Хайрбек Ажимов, я занимаюсь автоматизацией HR процессов в ПАО «РусГидро». Сегодня я хотел бы разобрать тему цифрового рубля с моего понимания информационных технологий и финансов. Дисклеймер: я не специалист по блокчейну. Вещать буду из роли заинт...

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

Код-ревью и советы по повышению его качества: на что обратить внимание в первую очередь? Привет, Хабр! Сегодня поговорим о код-ревью, т. е. проверке и оценке качества кода выполненной разработчиком задачи перед её релизом. У код-ревью несколько положительных моментов:● поиск багов и проблем кода, что значительно снижает вероятность проникновения этих багов ...

Как эффективно использовать Chrome DevTools для QA: подборка интересных возможностей Chrome DevTools — это консоль разработчика, набор инструментов в браузере для создания и отладки сайтов и приложений. С их помощью можно в том числе тестировать уже разработанную функциональность.В этой статье будет подборка полезных инструментов внутри DevTools, которые не...

В Европе такого ещё не делают: Яндекс первым тестирует беспилотные авто вообще без водителя – на городских дорогах Команда Яндекса объявила о запуске третьего этапа тестирования фирменных беспилотных автомоблей. Как сообщила пресс-служба, Яндекс первым в Европе начал тестировать беспилотный транспорт без присутствия водителя в салоне. Испытания автомобилей без водителя проходят в И...

Лучшие практики для надёжной работы с RabbitMQ Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.В этой статье я постарался кратко и последовательно изложить основные моменты, о которых полезно помнить при...

Непрерывная интеграция при разработке RTL-модулей Создание цифровых устройств, как правило, представляет из себя итеративный процесс. Требования к устройству частично могут измениться уже на этапе его разработки. Также часто приходится модифицировать RTL-код после получения отчетов от инструментов синтеза и имплементации. ...

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

Особенности национального DevOps: йети, опенсорс и тяга к облакам Привет, Хабр! Меня зовут Марат Цконян, я из солнечной Испании, университет Аликанте. Компьютерный инженер по образованию, по опыту работы — системный администратор.В прошлом году я наткнулся на исследование отечественного DevOps-рынка за 2022 год: там Холдинг Т1 проводил ана...

Конструкторы-самозванцы в Kotlin Сегодня я хочу поговорить про интересные моменты в Kotlin, связанные с вызовами конструкторов классов. Или не совсем конструкторов? Или же совсем не конструкторов? Давайте разбираться.Это техническая статья для любителей языковых интересностей, не лишённая практического смыс...

Редизайн игрового интерфейса. Как, а главное зачем? Обновление дизайна UI в проекте, который уже запущен в релиз - тема скользкая. Когда, как, а главное — зачем это делать? В этой статье я расскажу, как этот вопрос решался в нашем конкретном случае и поделюсь своими мыслями и советами на эту тему. Читать далее

Асимметричные и симметричные ключи в PostgreSQL Привет, Хабр!Как мы знаем, защита конфиденциальной информации — это неотъемлемая часть любого проекта. В статье поговорим про шифрование данных в PostgreSQL, а именно про шифрование с использованием как асимметричных, так и симметричных ключей. Читать далее

[Перевод] Онбординг-рулетка: о том, как мы ежедневно удаляем аккаунты своих сотрудников Я твердо убежден в необходимости автоматизированных тестов и весьма дисциплинированно подхожу к их написанию. В программировании невероятно сложно соблюдать функциональную корректность и еще сложнее не допускать регрессионных ошибок. Как говорил автор Майкл Физерс, «Legacy...

Поток входящих запросов: когда пора менять процесс обработки – на примере запуска первой линии технической поддержки Привет, Хабр! Меня зовут Дима, я руковожу отделом информационных технологий бэк-офиса в “Петрович-Тех”.Представьте: пользователи не могут начать работу в системе. Не испытывают сложности через день или неделю, а прямо на старте не имеют возможности начать пользоваться продук...

Состязание трех Дедов Морозов: новогодние дашборды на Visiology Привет, друзья! Сегодня уже 31 декабря, все кто еще не нарезал салат — готовятся к нарезке. :) А мы, тем временем, хотим показать вам несколько новогодних красивостей от Visiology и немного поговорить о том, почему BI — это не только данные, но также искусство и даже самовыр...

Неочевидные трудности роста IT-специалиста Идея этой статьи родилась из обсуждения в чате канала «UI фэйл» (https://t.me/uifail), который ведёт мой коллега и друг Денис Пушкарь. В процессе сборки материала я обращался к коллегам из других команд и направлений (в том числе разработки, тестирования и аналитики), чтобы ...

[Перевод] Векторные представления — что это такое, и почему в них важно разбираться Векторные представления (эмбеддинги, векторы) – это по-настоящему приятный инструмент, но в любом рассказе о векторных представлениях эта техника скрыта за ворохом каких-то страшных словес.Если вам удастся продраться через эти словеса, то вы откроете для себя мощные и интере...

Flutter: история успеха Кроссплатформенный фреймворк Flutter появился в 2017 году. С тех пор он стал одним из самых популярных инструментов для разработки мобильных приложений. Мы в Friflex работаем с Flutter с первого релиза, следим за его развитием и каждый год проводим большую конференцию о крос...

ЕС внедряет правительственные веб-сертификаты — почему инициатива вызывает опасения в ИТ-сообществе Мы регулярно обсуждаем инициативы, связанные с ограничением работы приложений, шифрованием и end-to-end. Сегодня мы поговорим о том, что происходит в Европе с одним из новых законопроектов в данной области. Читать далее

Что тестировщик уже умеет для работы аналитиком Всем привет! Меня зовут Мария Макарова, я являюсь системным аналитиком в Мир Plat.Form. В ИТ я почти 10 лет, а непосредственно в аналитике сравнительно недавно.В этой статье хочу поделиться своим опытом смены деятельности в ИТ, а именно про переход из тестирования в аналитик...

Запуск Тетриса на осциллографе из 90-х В этой статья я хочу рассказать о том, как я запустил Тетрис на старом цифровом осциллографе. Без пайки и бега по граблям не обошлось... Зачем я это сделал - просто Just for fun. Читать далее

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

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами, часть 2 Вторая статья из цикла, посвященного проектированию с использованием стандартного интерфейса AXI-Stream, а также отладке и документации проектов. Читать далее

Тестируй, пиши отчет и снова тестируй! Как мы в лабораториях КРОК изучаем рынок инфраструктурных решений Привет, Хабр! На связи Сережа Королев, инженер департамента инфраструктурных решений и сервисов КРОК. Почти весь 2023 год я провел в наших лабораториях, занимаясь тестированием различного оборудования. Западные вендоры ушли с рынка, и им на замену появилось огромное количест...

Как настроить тестирование с Vanessa Automation и Gitlab с нуля Боитесь, что тесты пропадут, если компьютер сломается? Хотите видеть историю изменений? Вынуждены запускать тесты в отпуске, т.к. у других членов команды нет к ним доступа? Не можете одновременно работать над написанием и прогоном? Знакомы эти проблемы, хотите избавиться от ...

Аутентификация go с использованием токенов PASETO В этой статье мы напишем небольшой сервис аутентификации на go с использованием токенов PASETO. Этот токен можно использовать вместо JWT для процесса аутентификации. Если хотите узнать о PASETO подробнее, то можете почитать статьи на Хабре или гитхабе. Читать далее

Следует ли проверять указатель на NULL перед вызовом функции free? Короткий ответ: нет. Тем не менее, раз про это вновь и вновь спрашивают на Reddit, Stack Overflow и других сайтах, пришло время подробно разобрать эту тему. Оказывается, есть много интересного, о чём можно порассуждать. Читать дальше →

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

Как не надо проводить performance review Performance review для сотрудников мы проводим давно, и проходили мы этот путь не без ошибок. Хорошо, что на ошибках можно учиться — из них мы сложили анти-топ и описали его в этой статье.   Читать далее

[Перевод] 10 полезных команд Git В этой статье мы рассмотрим набор команд, которые немного облегчат вам жизнь и повысят продуктивность. Читать дальше →

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

Краткий обзор токенизаторов: что это такое и зачем это надо? Представьте себе, что вы читаете книгу и хотите найти все места, где упоминается слово «кот». Не знаю, зачем вам это, но пока остановимся на том, что вы это хотите. Вот очень надо.Так как это сделать?Вы можете просто пролистать книгу и прочитать...

Тестируем AI на создании прикладного приложения Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.Недавно рассказал на Хабре, как мы в компании “потрогали” нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.Поэтому решил на этом не останавливаться. Если есть инструменты — и...

Macromedia Flash: Взлет и закат технологии Если никто не подведёт итог под историей Macromedia Flash, она рискует затеряться в хламе IT-подвала. Напомню, что “волшебный” плагин Flash player стоял практически на всех компьютерах мира. И в какой-то момент именно эта технология была лучшей для анимации, игр и мультимеди...

Не Китай, так Индия: производители мощных GPU поставляют всё больше продукции индийскому бизнесу. Что происходит? Вот уже несколько лет многие IT-компании из Китая находятся под жёсткими санкциями США. Экспортные ограничения не дают возможности производителям, которые работают с технологиями США, поставлять современную продукцию в КНР. В первую очередь под запретом находятся мощные GPU ...

Протокол защищенного обмена для индустриальных систем CRISP: поддержка в устройствах Рутокен Приветствую уважаемую публику Хабра от лица условно анонимного представителя компании «Актив», занимающейся производством небезызвестных средств аутентификации и электронной подписи. В этой статье хотелось бы рассказать об одном из менее известных направлений деятельности по...

«Зачем вам так много машин одного класса и очень похожего качества?». Глава Xiaomi критикует коллег по автомобильному рынку Основатель Xiaomi Лэй Цзюнь рассказал, почему Xiaomi решила выпускать изначально только один автомобиль. Он не понимает, зачем китайские производители выпускают так много очень похожих машин (даже в пределах одной компании). Лэй Цзюнь сказал, что он почувствовал «...

Существуют ли  джуниор-DevOps-инженеры и почему их ищут Привет! Меня зовут Сергей, я занимаюсь направлением DevOps в KTS. Сегодня поговорим о том, существуют ли джуниоры в DevOps-разработке — и какими они должны быть. Читать далее

Упрощаем локализацию iOS-приложения со String Catalogs Выход продукта на новые рынки сбыта — это деньги. Чем лучше ты знаешь своего клиента, тем вероятнее, что ты их сможешь заработать. Это же правило справедливо и в обратную сторону: клиент более охотно будет пользоваться твоим продуктом, если он может разговаривать с ним на од...

[Перевод] Почему OKR — это отстой Наверно, многие из моих читателей как раз закончили квартальный (и/или годовой) цикл планирования, так что сейчас будет подходящее время напомнить, что процесс, которым мы пользуемся как стандартом в технологической отрасли, на самом деле — полная чушь. Разумеется, я имею в ...

Анализ безопасности приложений, использующих GraphQL API Привет! Меня зовут Даниил Савин. Летом я участвовал в программе стажировки для безопасников от Бастион и в процессе глубоко исследовал тему безопасности приложений, использующих GraphQL. Так появилась статья, из которой вы узнаете:— какие встроенные функции есть у GraphQL;—...

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

Куда девать 300 багов: автоматизация бэклога и RICE для багов POV: Вы только что начали работать над новым проектом и встретились с небольшой проблемой — в бэклоге багов обнаружилось 300+ открытых тасок. Первая реакция — недоумение, отчаяние и боль от увиденного. «Ну ничего, – думаете вы, – это же как раз то, зачем я нужен этой компани...

[Перевод] Как мы сократили время тестирования на 70% благодаря переходу с Cypress на Playwright «Remove .only from Cypress test» — знаком ли вам такой комментарий к коммиту? Если вы используете Cypress для сквозного тестирования, то вы знаете, о чем я говорю. Мы создали обширный набор из более чем 200 тест-кейсов с помощью Cypress. Хотя Cypress является мощным инстр...

Восприятие английского на слух: упражнения, полезные советы и подборка ресурсов Восприятие английского на слух: упражнения, полезные советы и подборка ресурсовПривет! Это Лена, методист курсов английского в Практикуме. Мы уже знакомы по статьям про собеседование для разработчиков и small talk. В этот раз поговорим о восприятии английского на слух и прок...

Оптимизация веб-приложений: на что стоит обратить внимание Привет, Хабр! Меня зовут Андрей, я веб-разработчик в МТС Digital. Сегодня поделюсь своим опытом, как и зачем оптимизировать веб-приложения. В конкурентном мире онлайн-сервисов производительность стала ключевым фактором успеха — пользователи ожидают мгновенного доступа к инф...

Как распознать мошенническое письмо. Памятка безопаснику для обучения пользователей основам ИБ Продолжаю делиться опытом и советами из собственного опыта. Ранее рассказывал про обучение пользователей основам киберграмотности по паролям и фишинговым сайтам. Вот очередь дошла и до фишинговых писем. Материал будет полезен всем, кто терпеливо обучает сотрудников не тыкать...

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

Kafka, go и параллельные очереди В этой статье я расскажу о паре способов увеличить пропускную способность системы с помощью партиций kafka и каналов go. В качестве библиотеки-клиента kafka буду использовать segmentio/kafka-go. Статья будет полезна начинающим go-разработчикам, которые уже знакомы с основным...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 2. Устройство операционной системы Операционная система выполняет несколько процессов одновременно. ОС распределяет время работы с ресурсами компьютера между процессами. ОС даст каждому процессу шанс на выполнение, даже если число процессов больше числа процессоров.ОС изолирует процессы друг от друга так, что...

Для Idle Demon Tamer проходит пробный запуск в США на iOS Мобильная игра Idle Demon Tamer появилась в американском App Store. Для неё проводят софт-запуск на iOS. Как следует из названия, проект выполнен в жанре «idle-экшен», где героиня сражается с монстрами и демонами на мрачных 2D локациях. В первые минуты игрового процесса Idl...

Дизайн-разбор ссылок в вёрстке Привет! Это первая статья из серии разборов элементов веб-вёрстки для дизайнеров интерфейсов (и немного аналитиков). Разберём атрибуты разных тегов, свойства, которые можно к ним применить, поведение в разных обстоятельствах. А главное – как они влияют на то, что видит польз...

Руководство по проектированию дизайна и юзабилити интерфейсов с Drag and Drop Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и я часто сталкиваюсь с разработкой веб-интерфейсов с использованием Drag and Drop. В своей предыдущей статье про Drag and Drop я рассказывал про историю появления и развития этого подхода: появившись в пе...

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

Насмотренность в разработке: путь к красивому и чистому коду В мире разработки программного обеспечения термин «Насмотренность» крайне редко встречается, в то время как дизайнеры постоянно всё насматривают

Экстремальные практики программирования: что, как и зачем Всем привет! Меня зовут Сергей Бережной, я работаю в Яндексе уже 18 лет: в 2005 году пришёл разработчиком интерфейсов, потом руководил подразделениями разного размера, а сейчас я директор по взаимодействию с разработчиками. Ещё я много занимаюсь обучением: в рамках наших сез...

Как правильно описывать и декомпозировать задачи в таск-трекере. Рекомендации и примеры В чем же особенность декомпозиции рабочих задач? Наша статья даст понимание, зачем нужна декомпозиция и как описывать задачи, а также поможет вам улучшить ваши процессы. Читать далее

Использование модулей электропитания с соблюдением стандартов MIL-STD-1275 и MIL-STD-461F Аннотация В статье рассматриваются основные требования к электромагнитным помехам и изменению напряжения при переходных процессах, которые предъявляются к системам специального назначения, использующим импульсные источники питания (SMPS). Особое внимание уделяется основным ...

Прямые дороги для слабаков: как я работала техписателем, аналитиком, продактом и пришла в UX Моя двенадцатилетняя карьера в ИТ не похожа на настоящую карьеру. Скорее, это был поиск наилучшего применения себя в области, которая понравится больше остальных — и эту область тоже надо было сначала найти. Итак, место действия — Москва, время действия — с 2011-го по настоя...

[recovery mode] Как ходить на собеседования и не сходить с ума от тревоги Привет, на связи Вова Ермилов из ОКейси (Senior PM YouTalk, CPO Eatagram, ex. Joom.com). Сегодня разберёмся, как справляться со стрессом на собеседованиях и не винить себя в случае отказа.Эта статья из двух частей: в первой части расскажу, что от тебя реально ждут ...

У электронной промышленности Китая проблемы: большое количество компаний закрывается каждый день Несмотря на то, что Китай на данный момент продолжает развивать отрасль разработки и производства электроники, у страны есть и проблемы. Например, буквально ежедневно закрываются относительно небольшие компании, которые имеют отношение к индустрии чипов. Причин несколько, о ...

Тестирование для всех: топ книг для начинающих специалистов и не только Привет, Хабр! У многих IT-специалистов есть свой список настольных пособий, которыми они пользуются или изучают. Сегодня поговорим о тестировании. Мы со своей стороны можем порекомендовать книги, так как они помогают не только изучить базовые положения работы тестировщика, н...

DIY: Ваше собственное облако на базе Kubernetes (часть 1) Мы очень любим Kubernetes и мечтаем чтобы все современные технологии поскорее начали использовать его замечательные паттерны.А вы когда-нибудь задумывались о том чтобы построить своё собственное облако? Могу поспорить что да. Но можно ли это сделать используя лишь современны...

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

[Перевод] Скрытые возможности элемента <input> Элемент <input> в HTML самый интересный. Большинство его собратьев вне зависимости от своих атрибутов ведут себя одинаково. При этом атрибут type элемента <input> может принимать 22 разных значения, которые не только меняют его поведение, но и влияют на внешний...

Нервный KVADRA_T: или как я добровольно вписался в тестирование планшета на kvadraOS Данная статья могла не состояться, не возьми меня пресс-служба KVADRA на слабо. То ли под влиянием недавно вышедшего "Слова пацана" либо каких то других факторов, но это им удалось, очень даже. Читать далее

Гайд по релокации в Великобританию и получению ВНЖ в 2023 по Innovator Founder Visa В этой статье я постараюсь максимально подробно описать, как выглядит процесс получения инноватор визы и ВНЖ Великобритании, поделиться реальными кейсами, затыками и рисками. Статья будет полезна для стартапов, предпринимателей и других специалистов, рассматри...

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

Protestware: найти и обезвредить Protestware: найти и обезвредить Привет, Хабр! Меня зовут Владимир Исабеков, я работаю в Swordfish Security, где занимаюсь динамическим анализом приложений. Сегодня мы поговорим о таком явлении, как Protestware, когда вредоносный код встраивается в открытые программные компо...

Первыми среди крупных маркетплейсов: в Wildberries тестируют оплату по биометрии Команда крупнейшей российской торговой онлайн-площадки Wildberries готовится к запуску новой возможности оплаты покупок. Как сообщила пресс-служба, Wildberries первым среди крупных маркетплейсов тестирует оплату покупок по биометрии.  Сгенерировано нейросетью...

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

Непрекращающиеся AB-тесты: как делать продукт лучше и знать об этом Основное предназначение A/B тестов — оценить эффективность вносимых изменений и, в случае увеличения целевых метрик, зафиксировать эти изменения, а в случае снижения — откатить. Как правило, один из критериев хорошего дизайна A/B-теста — это конкретное и реалистичное с практ...

Как «взвесить» open source: разбираем противоречивые мнения об исследованиях ценности открытого программного обеспечения В хабраблоге beeline cloud мы уже говорили о модели post-open-source, а теперь посмотрим на исследование, которое подготовили специалисты из Harvard Business School (HBS) при поддержке Linux Foundation. Они представили модель для оценки экономического влияния открытого прогр...

Кейс «ВкусВилл»: как автоматизировать процесс открытия новых торговых точек Привет, Хабр! Сегодня поговорим об автоматизации всех этапов открытия магазинов. Такой процесс мы настроили для «ВкусВилл» — того самого магазина полезного питания. Когда клиент пришёл к нам, у него было 700 торговых точек, а сейчас их уже больше 1,2 тыс. В этой статье мы ра...

[Перевод] Арифметика первого класса в системе типов Rust Арифметика – наука непростая, но к нашему удобству работу с ней можно облегчить с помощью экспрессивной системы типов языка Rust. В статье мы разберём реализацию на этом языке простейших математических операций, таких как сложение, вычитание, умножение и деление. Читать дал...

Превращение событий PostgreSQL в события Laravel В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL.В этой статье я расскажу, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.Рабочий пример выложен на GitHub. Читать далее

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

Съемка видеоинструкции: от идеи к реализации Технические писатели создают текстовые документы, но что если для процесса одного текста мало? Тогда приходится учиться монтировать и делать видеоинструкции.В этой статье я рассказала, как и зачем в Компании «Актив» мы делаем видеоинструкции на примере одного важного кейса: ...

Игровая экономика Premium игр на примере PC 4х стратегии Как спроектировать экономику для вашей игры? Это вопрос, ответ на который может занять небольшой цикл лекций или статей. Принципиальная разница в подходе основана в первую очередь на модели монетизации: F2P или B2P. Второе, что определяет подход к разработке экономической си...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика В первой части статьи мы разбирались с теорией, которую нужно знать для создания собственных Pytest-плагинов: фикстурами, маркерами и хуками. А теперь перейдем к практике. Я покажу два примера плагинов, которые помогают нам в интеграционном тестировании систем хранения ...

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

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

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

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

Библиотека EremexControls.NET для Avalonia UI — Обновление март-апрель 2024 В предыдущей статье мы рассказали о нашей первой версии библиотеки UI контролов для создания мультиплатформенных приложений под Avalonia UI. С тех пор прошло достаточно времени, в течение которого мы продолжали работать над новой версией Delta Design и расширением линейки ко...

Зачем я делаю дайджесты и рассказываю людям об их работе Привет! В этой статье я расскажу, как на протяжении уже 2,5 лет делаю дайджесты внутри компании: в них я рассказываю, где наши ребята выступили, какие митапы мы организовали, где и какие были стенды и кем и какие статьи написаны тут на Хабре.Расскажу зачем я это делаю, на чт...

Мы устали от созвонов и позвали команду в метавселенную. Как это было? А вы пробовали общаться с продуктовой командой за пределами обычных видеоконференций?Я написал про то, как начал проводить встречи с менеджерами банка в метаверс. В статье провожу обзорную экскурсию по мета-вселенной с картинками, делюсь историей моего становления как менедж...

Typescript ENUM — баланс использования Привет Всем. Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript. В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно исп...

Немецкие ученые начали тестировать роботов для будущих космических миссий Ученые из Вюрцбургского университета (Германия) начали проводить тестирование роботизированной техники и скафандров на территории Армении, пишет ТАСС со ссылкой на Bild. Согласно статье, топография этой страны наиболее схожа с марсианским рельефом, поэтому выбор именно этого...

Эффективные вложения в ИТ: Как посчитать ROI при внедрении ПО на примере системы маскирования данных Всем привет! Меня зовут Али Гаджиев, я Директор по продукту в компании Crosstech Solutions Group. Мы с моими коллегами Продакт-менеджером Дмитрием Симаком и Руководителем отдела анализа данных и машинного обучения Владимиром Коршуновым решили поднять ту тему, которую, зачаст...

QA-тестировщикам — рецензия на книгу «Тест-дизайн. Практическое руководство» Ольги Назиной Это вторая книга из трилогии Ольги Назиной по тестированию ПО. Про первую книгу автор рассказала в своем блоге на Хабре, третью мы осветили в предыдущем посте. Мультяшный авторский стиль изложения с сотнями картинок-комиксов необычен для компьютерной литературы, но почему бы...

Куда подевались ваши манеры? Коллеги в IT Привет, Хабр! В данной статье я хочу поделиться своим опытом токсичного общения с коллегами, начиная с первой встречи с HR-менеджером и заканчивая работой внутри команды. Такое поведение, на мой взгляд, серьезно подрывает мотивацию и нормальное взаимодействие в команде при р...

Какая умная климатическая техника пригодится осенью: выбор ZOOM С наступлением осенних холодов особенно важно поддерживать дома комфортный микроклимат. Редакция ZOOM.CNews собрала в этой статье умную климатическую технику — она поможет поддержать тепло в помещении в период сезонных изменений погоды, но и облегчит задачу за счет смарт-фун...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 6. Блокировки Ядро ОС выполняет программы параллельно и переключает потоки по таймеру. Каждый процессор выполняет поток независимо от других. Процессоры используют оперативную память совместно, поэтому важно защитить структуры данных от одновременного доступа. Потоки испортят данные, если...

Как я написал свой первый классификатор эмоций Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-...

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

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

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

Кто через 5–10 лет будет проектировать российское телеком-оборудование Совместно с компанией YADRO мы на Новом физтехе ИТМО открываем специальный трек, где будем обучать будущих разработчиков телекоммуникационного оборудования. В этой статье рассказываем, что это за трек и зачем он нужен. Читать далее

React Fiber & Concurrency Part 1 (2) В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код...

Как установить Windows 11 Да, статья о том, как установить Windows 11 правильно. Этот процесс нынче сопровождается таким количеством шаманских плясок, что ей-богу, проще Arch устанавливать. Решил вот поместить все познания по этому вопросу из головы в статью. Читать далее

Как много языков может влезть в одного программиста? Всем привет, я Серёжа, технический лидер iOS-разработки. Сегодня хочу поговорить о многогранности мира программирования, а именно о количестве языков, причинах, по которым они нам нужны, и о том, зачем одному программисту несколько языков.Если с каких-то рассуждений прямо си...

Как мы создали и развиваем лабораторию R&D Привет, меня зовут Александр, я руковожу Управлением исследований и разработки новых решений в «Ростелеком-ЦОД», если коротко — лабораторией R&D.Сейчас лаборатория хорошо прокачана и продуктивна, но так было не всегда. В этой статье я расскажу, как мы ее создавали, к чем...

Как запустить Web3-проект | Часть 1: Коммьюнити-менеджмент и маркетинг Web3 захватывает мир, но для многих это по-прежнему пугающий «black box», который работает по неведомым законам и таит много сложностей. Чтобы в очередной раз доказать, что не так страшен чёрт, как его малюют, я написал обстоятельный гайд по запуску Web3-проектов. В первую о...

[Перевод] Долой баги! Рандомизация веб-тестирования В своей книге "Методы тестирования программного обеспечения" Борис Бейзер описывает парадокс пестицидов. В контексте тестирования программного обеспечения - независимо от того, какой метод тестирования вы выберете, вы все равно пропустите более незаметных “вредителей”, ...

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

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного при...

Тестирование менеджера транзакций Привет, Хабр! Меня зовут Георгий Лебедев, я учусь на 4-м курсе ФРКТ МФТИ и работаю в команде разработки ядра Тарантула. В этой статье я хочу поделиться методикой тестирования менеджера транзакций, которая применяется в Тарантуле. Читать дальше →

О важности гайдлайнов в дизайне иконок Всем привет! Я Алёна Лагойкина, дизайнер в AGIMA. Хочу рассказать вам о роли иконок в улучшении пользовательского опыта. Они служат визуальными подсказками, которые быстро передают информацию и направляют пользователей к ключевым действиям. При добавлении новых элементов на ...

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

[Перевод] Как я проектирую и разрабатываю расширения Python на Rust В этой статье я хочу рассказать о том, как я проектирую комплексные расширения для Python на Rust с использованием PyO3 и почему я принимаю те или иные проектные решения. Читать далее

Отображение иерархии в SQL запросе В процессе тестирования одного курса по SQL на stepik.org встретилась задача, из которой сочинилась другая, более интересная: Необходимо с помощью одного SQL запроса с использованием обобщенных табличных выражений отобразить иерархию, в соответствии с иллюстрацией выше Читат...

Реформа проектного управления: как устроена целевая модель для наведения порядка в процессах Привет, Хабр! Меня зовут Данил, я директор по развитию стратегических проектов в СТД “Петрович”. Давайте поговорим о проектном управлении на длинной дистанции – как теоретическая целевая модель процессов реализуется на практике. Представьте ситуацию: коллеги хотят запус...

FAQ из жизни Википедии: кто закрылся, зачем закрылся, как всё это устроено После недавней статьи о том, что закрывается некоммерческое партнёрство «Викимедиа РУ», у читателей возникли вопросы и развернулась полемика. Теперь мы обсудим неточности первой статьи и добавим больше, больше фактов. Читать дальше! Узнать больше!

Roadmap для тех, кто собирается в DevOps Многие, кто изучает DevOps, ориентируются на Roadmap.sh. Это классный ресурс, который помогает понять, какие компетенции нужно приобрести в профессии. Но в нём очень много информации, начинающие специалисты рискуют утонуть в деталях. Мы разработали свой Roadmap на основе опы...

[Перевод] Vue 3: Ваше первое знакомство с компонентом Transition Мы можем значительно улучшить юзер экспириенс, добавив плавную анимацию перехода между различными состояниями в нашем веб-приложении. Vue.js 3 предоставляет мощный компонент Transition, который упрощает процесс внедрения переходов во Vue-приложениях. В этой статье мы рассм...

Airflow в Kubernetes. Часть 1 Приветствую!На пути инженера данных часто встречаются задачи связанные с DevOps. Одна из таких - развернуть Airflow в Kubernetes кластере. Если до этого похожего опыта работы не было, то эта задача может показаться нетривиальной. Конечно, можно выполнить несколько команд из ...

Как я перешёл из ручного тестирования в автоматизированное От коллег-тестировщиков я не раз слышал: «В ручном тестировании упёрся в потолок, хочется перейти в автоматизацию, но боюсь, что не потяну» или «…не знаю, с чего начать». Меня зовут Михаил, в тестировании 7 лет, из них около 4 занимаюсь автоматизацией. В последние пару лет м...

Дизайн уровней в The Last Guardian: пример геймплейного повествования The Last Guardian поражает своим уникальным подходом как в плане геймплея, так и сюжета, обеспечивая игроку захватывающий опыт и не оставляя равнодушным к второстепенному, но не менее важному, неиграбельному персонажу. Увлекательная реализация искусственного интеллекта живот...

End-to-end тестирование React приложения с помощью Playwright Привет, я Лиза – веб разработчик в одной зарубежной компании. Хочу поделиться тем, как я автоматизировала регрессионное тестирование в рабочем проекте на React с использованием довольно нового фреймворка Playwright. Разберемся, почему именно этот фреймворк, какие подводные к...

Как манекены калибруют томографы Привет, Хабр! В прошлой нашей статье про томографию мы задались вопросом: "А знаете, кто получает самую большую дозу при томографии?" Конечно, ответ мы получили: медицинские тестово‑калибровочные фантомы, специальные объекты, используемые при разработке и тестировании медици...

Детекция объектов. YOLO. Часть 2 Кто такой YOLO?

Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам При работе над паттерном навигации моя команда выяснила интересный факт — мало материалов для дизайнеров. Я провела своё исследование: поговорила с разработчиками, проанализировала множество приложений и заглянула в гайдлайны.В статье покажу три самых популярных вида навигац...

Без холивара «переписать все на Go»: проблема переносимости в Python и ее решение На скриптовых языках удобно разрабатывать… И на этом удобство заканчивается. Вне машины разработчика начинаются проблемы. Особенно если вы пишете какой-то прикладной тулинг — cli-утилиты, вспомогательные приложения в вашем SDK и прочее. Вы даже не можете рассчитывать на то, ...

Айтишникам нельзя не быть креативными, и я сейчас это докажу Всем привет. Меня зовут Антон, я Scrum-мастер IT-отдела компании AppEvent и по-совместительству front-end разработчик. В моей первой статье на Хабр хочу рассказать вам, почему же айтишнику нужно быть креативным и как этот навык вообще можно проявить. Ведь зачастую он являетс...

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

«Что? Где? Когда?» в названии багов Хорошее название бага понятно любому:- менеджеру, плохо знающему техническую часть проекта;- джуниору, который только пришел в проект;- разработчику (зачем мне это чинить?)Для этого оно должно отвечать на 3 главные вопроса: Что? Где? Когда?И в этой статье я хочу разобрать ка...

Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные Привет, Хабр! Я Виктор, техлид продукта CI/CD в Samokat.tech. А это, :(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже ...

Миссия, цели, ценности и слоган компании: зачем они нужны, какие функции выполняют и как придумать? Без зубодробительной нудности и с пониманием мотива разберём давний вопрос, а не так, как это делает Ваша HR-служба на стадии адаптации сотрудника. Расскажу, почему это необходимо для крупного бизнеса, как их наличие помогает компаниям, а также, что нужно знать при их формир...

Как создать успешный EdTech-проект для малого и среднего бизнеса, а потом поднять раунд в России «венчурной зимой» Надя Макова, основательница и управляющий партнер LXP платформы Kampus, рассказывает, почему навязанное корпоративное обучение бессмысленно, зачем его автоматизировать и что надо знать сегодня, чтобы привлечь инвестиции в EdTech проект. Читать далее

Легкий путь к власти: тестируем API Госуслуг с PyCades без головной боли Упростите свою работу с Госуслугами, используя PyCades! В этой статье мы предложим простые шаги для автоматизации работы с заявлениями через API Госуслуг, устраним рутину с формами и сделаем проще взаимодействие с информационными системами.

Как начать карьеру в пентесте: опыт сотрудника Angara Security Мы продолжаем цикл материалов о старте карьеры в кибербезопасности. Этот материал подготовил сотрудник отдела анализа защищенности Angara Security, по просьбе автора, мы не будем раскрывать его имя. Если после прочтения статьи будут вопросы, welcome в комментарии или в личны...

Башир Рамеев: отец отечественной ЭВМ В статье речь пойдет о биографии Башира Рамеева, учёного, чьё имя носит новый ИТ-парк в Казани, и его достижениях в науке. Расскажем о строительстве блестящей карьеры в СССР и создании автоматической электронной цифровой машины. Читать далее

Документация на этапе «Обучение» (с примерами) Список обучающихся на этапе обучения имеет несколько важных целей:1. Организация Процесса Обучения:   - Составление списка обучающихся помогает эффективно организовать процесс обучения, определить количество участников и управлять группой.2. Контроль Присутствия:&n...

Зачем тестировщику CJM Всем привет! Меня зовут Александр, я работаю в SM Lab на позиции куратора тестирования. Сегодня я хотел бы поговорить о такой интересной вещи как CJM на продукте и о том, чем она может быть полезна тестировщику.Начнем с определения — что такое CJM.CJM (от англ. customer jour...

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

Необходимые свойства качественных рекомендаций в e-commerce Компания Retail Rocket более 10-ти лет занимается системами рекомендаций в сфере электронной коммерции. Всё это время мы сталкиваемся с неочевидными свойствами алгоритмов рекомендаций, без которых системы не будут решать свои задачи. Мы выделили и описали в статье такие свой...

Приглашаем на Ozon Tech Community ML&DS Meetup Всем привет, меня зовут Артём, я руководитель команды «Эффективность рекламы». Мы пока не предлагаем генеративные модели для пользователей, но мы делаем другие крутые вещи, связанные с ML&DS. И хотим о них рассказать.Приглашаю на Ozon Tech Community ML&DS Meetup, где...

Хорошие практики нагрузочного тестирования: гайд для тех, кто успел до «пожара» В каждом проекте рано или поздно наступает момент, когда нужно провести нагрузочное тестирование. Чаще всего это происходит поздно: сайт уже крашится под наплывом пользователей, стартовая страница не загружается, а обработка запросов в базе данных длится больше минуты. В так...

SmartFlow: «В начале был пароль...» или новая аутентификация VK ID Привет, Хабр! Исторически сложилось, что первым способом аутентификации (в 1960-х) с появлением доступных компьютеров стал пароль. О рисках его использования и об изобретённых человечеством альтернативах мы подробно рассказали в статье о будущем беспарольной аутентифика...

Разработчики WhatsApp тестируют полезную новинку - вкладку "Избранное" для наиболее важных контактов Новая функция WhatsApp облегчит общение с близкими

В Китайских больницах начали тестировать ИИ для нейрохирургов Китай начал тестирование искусственного интеллекта для нейрохирургов в семи больницах в Пекине и других городах. Модель создана на базе Llama 2.0 от Meta*. Этот интеллектуальный ассистент обучен помогать хирургам, анализируя медицинские статьи и руководства, предоставляя кон...

Гайд по релокации в Испанию и получению ВНЖ в 2023 по стартап-визе В этой статье я постараюсь максимально подробно описать, как выглядит процесс получения стартап визы и ВНЖ Испании в 2023 году, поделиться реальными кейсами, затыками и рисками. Статья будет полезна для фаундеров и сотрудников стартапов, предпринимателей и других специалист...

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

От чего зависит цена оперативной памяти: отличия дорогой и дешевой RAM Оперативная память, хоть и является одним из наиболее унифицированных видов комплектующих для ПК, в отличие от, скажем, процессоров или видеокарт, все-таки довольно разнообразна. Даже если брать в расчет только планки одного форм-фактора, можно удивиться (кончено, если вы — ...

Не читал? Я осуждаю! 5 имен, которые должен знать каждый тестировщик «Дедушка российского тестирования», тестировщик с 50-летним стажем Александр Александров объясняет, почему классическая научная литература по тестированию по-прежнему актуальна и с каких основополагающих текстов стоит начинать свой путь в этой профессии. Читать далее

Почему 4 базовых правила дизайна нужно знать всем, будь ты разработчик, верстальщик или копирайтер Есть на свете особо ценные приёмы и инструменты, применимые почти к любой профессии. И речь не о пресловутых софт-скилах, с ними всё достаточно очевидно. Куда интереснее поговорить о «жёстких» навыках, которые, за счёт своей универсальности, здорово прокачивают профессиональ...

Из летописи навигации: история компаса в России Компас занимает особое место в истории навигации. О появлении первого компаса и его развитии мы рассказали в первой части цикла статей. Сегодня мы поговорим об использовании компаса отечественными мореплавателями и о том, как компас появился на территории России. Читать дале...

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок Всем привет! Я Виктор Брыксин, руковожу разработкой Яндекс Телемоста. В статье поговорим про декомпозицию задач в проекте и как можно получить реальные сроки его выполнения.Спойлер: вы все равно ошибетесь, прогнозируя сроки. Но что можно сделать? Минимизировать шанс на ошибк...

Необходимые свойства качественных рекомендаций в e-commerce Компания Retail Rocket более 10-ти лет занимается системами рекомендаций в сфере электронной коммерции. Всё это время мы сталкиваемся с неочевидными свойствами алгоритмов рекомендаций, без которых системы не будут решать свои задачи. Мы выделили и описали в статье такие свой...

Для The Division: Resurgence пройдёт технический тест Разработчики The Division: Resurgence опубликовали свежий пост от 28 марта, в котором сообщили о проведении технического теста с 14:00 3 апреля по 14:00 5 апреля. Да, тестирование продлится всего 2 дня, но это не самое страшное. Участвовать смогут как те, кто уже тестировал ...

В России начали тестирование беспилотного автомобиля Lada Vesta Российские ученые из ФГУП «НАМИ» активно занимаются разработкой и тестированием беспилотных технологий на примере автомобиля Lada Vesta. Используя как обычные дороги, так и специальные испытательные полигоны, они проверяют работу автоматической системы управления.

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

Установка OC Linux на плату Kintex 7 (KC705) от Xilinx с софт-процессором MicroBlaze часть 1 Данная серия статей является туториалом по установке линукса на плату KC705 с софт-процессорным ядром Микроблэйз. В первой части я описываю процесс создания схемы платформы, на которую мы поставим систему, с описанием некоторых нюансов. Во второй части я опишу процесс сборки...

«16+» или делаем шаблон страницы в XWiki на примере спецификации API Пусть вас не смущает надпись: «16+» в заголовке. В статье не будет ни слова о безудержном кутеже с куртизанками за игрой в блэк-джек.Просто я решил очередной статьей отпраздновать выпуск в свет 16-й версии XWiki – «open-source аналога Confluence» (по мнению её разработч...

[Перевод] Базовая гигиена серверов Linux (часть 1) Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubun...

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

Новый взгляд на загрузку данных в 1С из Excel Иногда меня спрашивают, почему я присвоил себе ник "Гений 1С". Наверное потому, что я вижу проблему под тем углом, о котором никто не задумывается. Вот и с загрузкой данных в 1С из Excel - казалось бы - все понятно, зачем изобретать велосипед. За свою трудовую деятельность к...

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

Путь развития Frontend разработчика (Вторая часть) Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика. Читать далее

Какую базу данных выбрать для Home Assistant На случай, если ещё не встречались с HA (Home Assistant) - это opensource веб сервис для умного дома, доступный как на облаке, так и в виде self hosted, который позволяет подключить к себе кучу всяких устройств и настроить для них любые желаемые автоматизации. Например, откр...

Зачем и как практиковаться начинающему аналитику — Что работодатели хотят от джуниор аналитика данных?— Работодатели хотят, чтобы он был мидлом.Если ты не смеёшься над этим анекдотом, то наверняка недавно закончил (либо заканчиваешь) обучение по обретению специальности «Аналитик данных». А ещё ты пока не нашел, но уже нача...

[Перевод] Хакни своё следующее интервью с помощью Generative AI А Вы когда‑то задумывались о том, как классно было бы хакнуть собеседование? Создать себе цифрового помощника, который ответит на все вопросы интервьюера.Вот и я задумался. В этой статье предлагаю создать небольшое приложение на основе...

[Перевод] Стратегии избегания и снижения риска: в чём разница? Риски представляют собой любые трудности, факторы, события или проблемы, которые могут оказать положительное или отрицательное влияние на проект или конкретный бизнес-процесс. Эффективное управление рисками необходимо для того, чтобы риски, которые всё же возникают, не вли...

[Перевод] Гексагональная архитектура со Spring Boot Гексагональная архитектура стала популярным архитектурным паттерном, помогающим отделить бизнес-логику от инфраструктуры. Такое разделение позволяет откладывать принятие решений о технологиях или легко заменять их. Кроме того, это позволяет тестировать бизнес-логику в изоляц...

[Перевод] Миф: наличие тестировщиков в Agile-команде необязательно В этой статье я постараюсь развеять один из самых распространенных мифов о разработке по Agile: «Необязательно иметь в команде тестировщиков. Разработчики могут тестировать сами». Я думаю, такой подход возможен в некоторых «особых» сценариях, но в любом случае это было бы не...

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

Последнее издание культовой книги «Искусство схемотехники» стало доступно русскоязычным читателям “Электронщики, как учит нас Парацельс, самозарождаются среди паяльников, радиодеталей, универсальных плат и проводов” (teap0t)Возможно, это действительно так, но без хорошей книги - учебника или справочника, которые служат катализатором, этот процесс может так и не завершитс...

[Перевод] Кастомизация бессерверных функций без применения промежуточного ПО Когда пишешь код для серверного API, часто требуется проделывать схожие шаги: аутентифицировать пользователей, уточнять их роли и выставленные флаги функций, т.д. В большинстве фреймворков для бэкенда безупречно организовано взаимодействие с обработчиками запросов. Часто так...

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

UML: обзор основных типов диаграмм, диаграмма объектов. Часть 3 Хабр, привет! В прошлых статьях про UML (Часть 1, Часть 2) мы узнали что такое язык моделирования UML и зачем он нужен, а также рассмотрели диаграмму классов и диаграмму компонентов. Сегодня я хочу продолжить тему проектирования процессов и остановиться на диаграмм...

[Перевод] Модить или не модить: Пользовательский контент — это будущее игровой индустрии В этой небольшой статье я хочу поговорить с вами о новой эре, которую игровой индустрии пора полностью принять, поскольку она не только приводит к созданию лучшего контента для игроков, но и способствует более глубокому вовлечению игровых студий. Читать далее

[Перевод] Hono vs. H3 vs. HatTip vs. Elysia — современные замены Express для сервера (или без сервера) H3 отмечает, что Express.js - старый и малоразвивающийся фреймворк, являющийся не оптимальным выбором для новых проектов из-за потенциальных проблем безопасности и утечек памяти, что, к слову, касается и Koa.В нашей статье мы сделаем акцент на фреймворках, поддерживающих зап...

Как тестировать память быстрей? В современных серверах устанавливается очень большой объем памяти. Иногда модули памяти ломаются и при ошибке сервер перезагружается. Если повезет, то умный системный контроллер подсветит неисправный модуль памяти, но может и не подсветить, тогда нужно искать, переустанавлив...

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

Польза ИT-систем в работе ИБ-аналитика Это вторая статья из цикла «Взаимодействие ИТ и ИБ». Первую статью можно прочитать здесь. Зачем ИБ-шникам ИТ-системы?Нередко при работе с инцидентами аналитику приходится сталкиваться с таким страшным зверем, как обогащение и поиск дополнительной информации. Любые ул...

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

.NET+Safeguard: Реверсинг без ассемблера Сегодняшняя статья будет посвящена реверсингу приложений, написанных с использованием фреймворка .NET. Сначала мы немного поговорим о том, что такое .NET, чем код на нем отличается от других сред разработки и затем разберем один обфусцированный Crackme, попутно рассмотрев ря...

Продакт, техлид и People&Process Lead. Тройка, которая рулит продуктом Вообще эта статья была написана еще в 2020 году во время активной фазы пандемии, когда мы еще не знали что нас ждет. Но мы понимали что масштабирование продукта, разработки, нагрузки уже вот начинается сейчас и процессы должны были все это пережить. Они должны были перестать...

Не только дискеты, но и MS-DOS: ОС, которой несколько десятков лет, до сих пор востребована На Хабре не раз и не два публиковали новости и статьи о дискетах, которым прочат уход в прошлое много лет подряд. Но они до сих пор в строю, несмотря на то, что этот тип носителей уже не выпускается. Сегодня поговорим о других артефактах технологической культуры прошлого — M...

Kodein DI для Android. Целостность графа и тесты на DI DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки).Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зави...

Что не так с онлайн-курсами? Привет! Меня зовут Павленко Виталий, и сегодня я хочу поговорить об онлайн-курсах программирования. Это не реклама онлайн-курсов и даже не антиреклама. Я сам сотрудничаю с двумя известными онлайн-школами. Эта статья скорее является ретроспективой на онлайн-образование в IT и...

Как спектральный анализ улучшает оценку задач и снижает стресс в команде разработки Привет! Меня зовут Илья, я руководитель команды индивидуальных интеграций CDEK. В рамках этой статьи хочу поговорить о спектральном анализе — инструменте для аналитики и прогнозирования задач команд разработки. По итогу мы с вами разберемся, ког...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Первое обнуление дистрибутива Chimbalix Если что-то делать слишком долго, начинает собираться мусор мешающий работе, потому важно время от времени проводить чистку.

Изучаем матчасть: зачем нужны дизайнеры, когда есть нейросети Привет! Меня зовут Федя Ноздрин, я креативный директор в AGIMA. В этой статье расскажу, что такое генеративный дизайн и зачем он нужен. Пишу я ее не для профи — они и так всё знают. Я пишу ее для тех, кто задается вопросом: зачем учиться дизайну, когда всё то же самое уже ум...

AOOSTAR R1: десктопный компьютер и NAS в одном флаконе. Что это за девайс и на что он способен? За последние несколько лет производители электронных устройств предложили массу новых форм-факторов. О некоторых из них мы писали, например, в этой статье и вот в этой. Сейчас появился ещё один интересный девайс, который заслуживает внимания. Речь идёт об AOOSTAR R1, системе...

Типичные задачи аналитика данных. Часть 1. Упала метрика В прошлой статье мы рассматривали неочевидные проблемы АБ тестирования и как можно с ними справляться [ссылка]. Но часто бывает так, что при внедрении новой функциональности АБ тестирование провести нельзя. Например, это типично для маркетинговых кампаний нацеленных на массо...

DevOps as a Service. Часть 5. Работа с бэклогом и сквозной приоритизацией команды Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем в организации работы подразделения. В прошлых статьях мы описали подход и показали пути решения часто...

Раскрываем секретные функции: магия макросов в Burp Suite Привет! Если ты думаешь, что знаешь всё о Burp Suite, я тебя удивлю! Этот мощный инструмент для тестирования веб-приложений скрывает в себе ещё больше возможностей, способных значительно упростить и ускорить работу. Сегодня мы изучим функционал макросов на практике и увидим,...

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

Хардкорный 1088-сильный внедорожник Mengshi M-Hero тестируют в России экстремальным холодом перед началом официальных продаж Ресурс Motor опубликовал фото и видео тестов брутального внедорожника Mengshi M-Hero в России: автомобиль испытывают за Северным полярным кругом – проверяют работоспособность и надежность систем при экстремальных температурах перед официальным стартом продаж. ...

F и Z паттерны в дизайне. Куда смотрит зритель? Куда мы смотрим в первую очередь?При создании дизайна, будь то целевая страница или любой другой элемент, важно управлять потоком внимания пользователя. Мы можем задать себе три важных вопроса: на чём изначально сфокусируется взгляд зрителя? Что будет влиять на то, как будет...

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

А/Б тестирование на маленьких выборках. Построение собственного критерия Хабр, привет! Сегодня рассмотрим кейс, в котором классические статистические критерии не работают, и разберёмся, почему так происходит. Научимся строить свои собственные критерии по историческим данным. Обсудим плюсы и минусы такого подхода. Читать далее

[Перевод] Знакомство с Jest Mocks Мокинг — это техника изоляции объектов тестирования путем замены зависимостей объектами, которые можно проверять и контролировать. Зависимостью может быть всё, от чего зависит объект, но обычно это модуль, который объект импортирует. Читать дальше →

Всё, что вы хотели знать про пирамиду тестирования, но не знали как спросить Пирамида тестирования — это модель, впервые описанная Майком Коном в книге “Succeeding with Agile: Software Development Using Scrum” в 2009 году. Майк является одним из авторов метода разработки программного обеспечения Scrum. Его пирамида состояла из нескольких уровней тест...

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

ч.15 Игровой авторитарный сервер на процессах и его архитектура в картинках — Создание сервера для онлайн ММО игр на PHP В предыдущей статье я рассказывал об архитектуре приложения , где ее отдельные компоненты могли бы работать параллельно не блокируя выполнения друг друга.В этой статье я расскажу о причинах , по которым пришлось сменить взаимодействие между потоками на процессы и выделить ко...

Формализуем процесс создания нового API в микросервисах на .NET Мы работаем с ИТ-продуктами в сфере логистики и e-commerce. Большинство таких проектов крупные с точки зрения архитектуры – включают в себя множество сервисов, необходимых для исправной работы целостных систем. Поговорим о том, как организовать взаимодействие микросерви...

Добрый доктор для ML-команды: как тимлиду работать с людьми Кадры или, если брать шире, люди по-прежнему решают все, и сфера Machine Learning — не исключение. Но подбор специалистов, поддержание работоспособности команды, отношения с заказчиками — все в этой области имеет определенную специфику.Как проводить собеседования, что общего...

(Санкт-Петербург) What The Hack 2023: Первый FUNовый хакатон На следующей неделе мы запускаем хакатон: What The Hack 2023По задумке, в отличие от многих мероприятий проводимых в Питере, хакатон "What the Hack" не направлен на решение его участниками проблем бизнеса, стартапов, компаний, экологии, города и т.п.Мы хотим сделать мероприя...

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

[Перевод] Как получить плашку совместимости со Steam Deck, не покупая Deck Пару месяцев назад Steam выложил в Steamworks инструмент для разработчиков, позволяющий отправлять игры на сертификацию: Steam тестирует и проверяет игру, а затем решает, совместима ли она с Steam Deck. Так как я уже реализовал в своей игре поддержку геймпадов, то сразу прис...

Тестируем отечественную систему виртуализации: SpaceVM Привет, Хабр!Сегодня будем внезапно тестировать SpaceVM. Внимательный читатель заметит, что этой системы в списке лидеров не было. Как же она стала участником эксперимента? Причина проста — мне банально не удалось достать дистрибутив ПК «Звезда», поэтому я решил заменить ее ...

«Иногда лучше написать велосипед»: как тестировать кластеры Kubernetes с помощью Python Сегодня Kubernetes — это основное средство для оркестрации контейнеров на рынке, поэтому их тестирование занимает особую позицию в перечне задач. Большинство тривиальных тестов можно запустить через команду kubectl, либо фреймворк Sonobuoy для тестирования сертификации верс...

Линеаризация: зачем и как укрощать ratio-метрики в A/B-тестах Привет, Хабр! В прошлой статье я указал, что в A/B-тестах используются три основных типа метрик, а именно пользовательские конверсии, средние метрики пользователей и ratio-метрики. К последним обычно относят средний чек, CTR баннера, среднюю длину сессии и др. Такие ме...

О, вы из Англии? Локализация Ozon Seller на iOS Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.Нашим приложением активно пользуются юзеры из р...

XMPP vs WebSockets: что использовать для приложения чата Если вы планируете разработать приложение для коммуникации в реальном времени, например чат, следует тщательно выбирать технологии. В этой статье Анастасия Иванова, технический писатель платформы МТС Exolve (входит в экосистему МТС), сравнивает два популярных инструмента — п...

Сплит клавиатура Lily58 — впечатления На Хабре уже были статьи про эту клавиатуру, но у авторов уже были собранные клавиатуры. Оказалось, сборка - это очень увлекательное занятие, которое обязательно хочется повторить в будущем. Далее опишу свои впечатления о процессе и самой клавиатуре. Читать далее

Как легко сделать подмену данных на вебе? Привет, Хабр!Хочу поделиться интересным приложением, которое значительно упрощает процесс веб-тестирования.В роли QA-инженера, активно тестирующего веб, я часто сталкиваюсь с необходимостью изменения запросов/ответов API, статус кода ответа и других параметров. Иногда возник...

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

Как российский оверклокер устроился в ASUS и стал руководителем маркетинга ноутбуков в РФ, СНГ и странах Балтии Поговорили с Владом Захаровым — человеком, который продвигает ноутбуки, смартфоны и консоли. На что надеется ASUS, выпуская консоль Ally при наличии на рынке Steam Deck и Switch? Почему SMM-щики выгорают на продвижении технических продуктов? Почему Влад верит в чат-ботов и с...

Android Lint: оптимизируем проверку мердж-реквестов Привет, это Android-разработчик из «МТС Диджитал» Никита Пятаков. Когда я только начал работать над приложением «Мой МТС», мне нужно было время, чтобы адаптироваться и ознакомиться с проектом. На первых МР-ах коллеги подсвечивали готовые решения, которые можно переиспол...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами. Часть 1 В данном цикле статей будет представлен процесс разработки и тестирования RTLмодулей на языке Verilog. В качестве примера будет рассмотрен целочисленный сумматор с AXI-Stream интерфейсами. Мы разберем некоторые приемы и паттерны, часто используемые при проектировании цифровы...

Главные проблемы сайта, которые показывает нагрузочное тестирование Всем привет! На связи ITSumma.За 15 лет, что мы делаем нагрузочное тестирование, у нас накопился список самых распространенных ошибок, которые совершают, когда строят и отлаживают инфраструктуру.Ну список и список скажете вы, но в этой статье мы хотим поделиться не только са...

Ловушки интеграционного тестирования в Spring Boot Я Александр Таношкин, ведущий инженер-программист сервиса Циан.Ипотека. В статье я поделюсь некоторыми экземплярами коллекции «ловушек» интеграционного тестирования — падений тестов, расследование которых может быть увлекательно, но крайне затратно. А также предложу практиче...

Зыбучие пески или установка песочницы CAPE Привет, Хабр, на связи лаборатория кибербезопасности AP Security. В данной статье предлагаем разобрать процесс установки и первоначальной настройки такой песочницы, как CAPE. Читать далее

Эффективное обновление состояний в БД из сервисов потоковой обработки событий Как хранить сложные сущности в БД? Что нужно сделать, чтобы не перезаписывать весь рекламный баннер для обновления одного лишь заголовка? Рассмотрим как минимум 5 независимых и взаимно совместимых идей для многократного снижения нагрузки на чтение и запись подобных объектов....

Cisco TRex на практике В этой статье описывается процесс работы с программным генератором сетевого трафика TRex. Этот инструмент предназначен для генерации различных типов сетевого трафика и анализа данных в режиме реального времени. Trex поддерживает работу на уровнях MAC и IP, позволяя пользоват...

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

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

Искусственный интеллект для игры в Тетрис Работая над своей реализацией Тетриса на Javascript, я столкнулся с необходимостью тестирования игры. Тестировать хотелось в условиях, максимально приближенных к реальности, т.е., играя в него. Самому тратить часы на игру не было ни желания, ни времени. Я решил разработать б...

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

Global Talent visa для IT-ника. Путь с нуля Недавно я завершил свой длинный путь и получил Global Talent visa в Великобританию. О первых выводах я поделился в канале, а сейчас хотелось бы разложить все по полочками и подготовить гайд, который поможет практически любому стать обладателем этой визы.В этой статье я поста...

[Перевод] Как я перестал бояться и полюбил Vim Я работаю программистом уже почти десять лет. И, как и для каждого, кто посвящает работе до 2/3 суток, удобный инструментарий имеет для меня огромное значение. Сегодня я хочу как следует порефлексировать, поэтому статья выйдет слегка необычной. Сразу же хочу дать дисклеймер:...

[Перевод] Фильтр Блума – вероятностная структура данных для проверки принадлежности элемента множеству Структуры данных такие как HashSet могут использоваться для небольшого набора данных, позволяя проверять принадлежность элемента множеству. При этом использование проверки принадлежности элемента на большом наборе данных может быть затратным. Временная и пространственная сло...

API для хостинга: кому он потребовался и как мы его сделали Привет, Хабр! На связи хостинг-провайдер SpaceWeb. В этой статье расскажем, как работает клиентский API у нас, почему для него мы выбрали технологию JSON-RPC и чем она нам так нравится. Историей делятся Виталий Киреев, руководитель R&D, и Алексей Шашкин, продакт-менеджер...

Поговорим об оптимизирующих компиляторах. Сказ восьмой: размотка циклов Есть оптимизации, польза от которых очевидна всегда или почти всегда. Например, не делать лишнюю проверку лучше, чем делать. Не считать два раза одно и то же обычно лучше, чем считать (если только мы не упёрлись в нехватку регистров или имеем другие подобные проблемы на нижн...

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

[Перевод] Дорогая, я уменьшил пакет npm При разработке программного обеспечения исходный код почти всегда поставляется в виде файлов .tar.gz или .tgz. Но gzip начинает устаревать, уступая место более новым, более современным алгоритмам сжатия, таким как Brotli и ZStandard. Теперь представьте себе мир, в котором np...

«Найти и утилизировать»: как мы автоматизировали очистку ресурсов после тестирования с помощью Tempest Cleanup Всем привет! Меня зовут Валентина, я разработчик в тестировании Selectel. В своей прошлой статье я рассказала, как мы автоматизировали запуск тестов Tempest в GitLab. Статья вам понравилась, поэтому я написала продолжение. В нашей автоматизации была проблема: после тестов ...

[Перевод] Реализация Graceful Shutdown в Go Изящное завершение работы (Graceful Shutdown) важно для любого длительного процесса, особенно для того, который обрабатывает состояние. Например, что если вы хотите завершить работу базы данных, поддерживающей ваше приложение, а процесс db не сбрасывает текущее состояние на ...

AI и системный анализ / бизнес-анализ В последние годы про AI/ML не писал только ленивый. Но обычно тему рассматривают с «потребительской» стороны: сейчас вот любуются видеороликами от проекта Sora. Более нишевая тема — «как работать над ML-проектами» (о таком мы проведём онлайн-конференцию I'ML). И совсем уж ма...

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

Большой гайд по энергии. Часть 1 — как получать максимум пользы из питания? Всем привет, на связи команда Skill Vortex!Читая комментарии под последней статьей, мы столкнулись с одной, крайне распространенной проблемой – низким уровнем энергии и мотивации.«Просыпаюсь уже уставшим, весь день хожу разбитым, а вечером хочется просто лечь и смотреть в по...

Тестируем отечественную виртуализацию: итоги и выводы Привет, Хабр!Вот и закончился мой цикл статей, посвященных российским решениям для виртуализации. В этом материале мы посмотрим, как показали себя участники эксперимента и подведем итоги.Я решил отказаться от классической рейтинговой системы — сегодня не будет однозначных по...

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

App Clip и тысяча проблем Menusa - проект Dodo Brands. Инструмент по автоматизации процессов для малого бизнеса в сфере общепита.В этой статье расскажу как мы добавляли функционал вызова официанта в App Clip и с какими проблемами столкнулись. Читать далее

Проверяем YTsaurus. Доступность, надёжность, open source В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и использование направлены на расширени...

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O Привет, Хабр!При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД. В этой статье мы как р...

Scram для создания аппаратуры. Проект по созданию системы тестирования ADAS или краткая история 8 месяцев нашей жизни Добрый день, уважаемые коллеги и друзья! Уже больше года я работаю в Армении в компании, которая занимается созданием под ключ сложных, комплексных систем. Взяли меня на роль руководителя проектов, чем собственно я и занимаюсь последние 5 с лишним лет. В данной статье я хоте...

[Перевод] Тестирование с помощью Compose В последние годы в разработке Android наметился заметный сдвиг в сторону декларативных UI-фреймворков, и последним дополнением к этой экосистеме стал Jetpack Compose. Декларативные UI-фреймворки предлагают структуры контроля, с помощью которых можно менять способ отрисовки п...

Решение ошибки при миграции на Storybook 7: «Providers from the BrowserModule have already been loaded» Привет, я фронтенд-разработчик в Skyeng. При переходе с шестой версии Storybook на седьмую встретилась ошибка «Providers from the BrowserModule have already been loaded. If you need access to common directives such as NgIf and NgFor, import the CommonModule instead».В этой с...

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку инт...

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

[recovery mode] Что можно и стоит писать в поле Pre-conditions в тест-кейсах Тестирование продуктов является неотъемлемой частью процесса разработки программного обеспечения. В его основе лежит создание и выполнение тест‑кейсов — документированных инструкций, определяющих шаги для проверки определенных функций или аспектов програм...

Эволюция BP-сервиса компании Магнит Как на сервисе весом в 10 ТБайт ежедневно обрабатывать 1 Тбайт пользовательских данных и спать спокойно.В статье описана эволюция системы управления процессами в компании «Магнит». Некоторые детали были упрощены для лаконичности и последовательности повествования, некоторые ...

Чистка ленточных библиотек: инструментарий инженера Хабр, привет!Сегодня поговорим о чистке ленточных приводов — драйвов. Этот вопрос частенько оставляют без внимания, а между тем от этого зависит стабильность работы СРК и срок службы самих приводов.Сначала в формате вопрос-ответ разберем частые ошибки, которые допускают адми...

Заменят ли LLM людей в разметке данных для AI? Привет! Использование ИИ в разметке данных для него же — уже скорее необходимая потребность, нежели что-то удивительно новое. Разного рода экспериментами с авторазметкой данных нейронками мы занимаемся последние полгода и результаты — нравятся.В данной статье я детально расс...

Давайте поговорим о Kubernetes Всем привет! Меня зовут Андрей, я DevOps инженер.Когда я начинал изучать Kubernetes (K8s), я перечитал много статей, и, что в статьях, что в документации, информация была сильно разрознена, обрывочна. Сложно было скомпоновать информацию в единое целое. На тот момент, мне бы ...

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

BDUI: sapere aude или продолжай писать на коленке Backend Driven UI — относительно новая парадигма создания приложений. Она позволяет сделать продукт индивидуально полезным для каждого пользователя. На личном опыте я убедился, что это очень важно в современном процессе мобильной (и не только) разработки.В данной статье я по...

Делаем PageObject правильно. Удешевляем тестирование и снижаем порог вхождения Привет, меня зовут Коля, занимаюсь тестированием 7 лет, автоматизацией — 6 лет. Так уж сложилось, что не особо люблю WebUI-тесты, но почему-то именно они у меня получаются лучше всего.В один день мне позвонил мой друг Рома и сказал: «Коля, помнишь ты у нас автотесты делал с ...

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

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 7. Планирование процессов Глава расскажет, что такое мультиплексирование процессов, как xv6 переключает процессы, как xv6 синхронизирует процессы с помощью sleep и wakeup, как работает семафор, как работает канал (pipe), как случаются инверсии приоритетов и образуются конвои процессов, как правильно ...

Как работает блокчейн Scroll: технические детали и обзор архитектуры Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов на Solidity в команде MetaLamp. ​​В этой статье я расскажу про основные технические принципы блокчейна Scroll, которые повлияли на дизайн блокчейна, а также дам обзор общей архитектуры блокчейна.Из этой ст...

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

Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска UI-автотесты под Android — отличный инструмент, который позволяет кратно сократить время на проверку разрабатываемых фич и свести к минимуму участие в ручном регрессионном тестировании инженеров по обеспечению качества. Но работать с UI-тестами надо правильно — иначе все мож...

Хроники пикирующего бота или как важно не пропускать стадию QA в проектах Эта статья должна была рассказать вам о проекте простого телеграм-бота, который заточен на одно простое действие: мониторинг доступности сайтов. Но, опубликовав MVP и представив проект на публику, мы заранее не провели полный объем необходимых тестов, в самый ответственный м...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)