Социальные сети Рунета
Вторник, 16 апреля 2024

Jenkins Pipeline. Что это и как использовать в тестировании Меня зовут Александр Михайлов, я работаю в команде интеграционного тестирования компании ЮMoney.Наша команда занимается приемочным тестированием. Оно включает в себя прогон и разбор автотестов на критичные бизнес-процессы в тестовой среде, приближенной по конфигурации к прод...

Автоматизация тестов на Go + Allure Привет всем. Меня зовут Таня. Я автоматизирую тесты на Go уже около года, до этого занималась 4 года автоматизацией на Java.В этой статье расскажу:- Как писала интеграционные тесты на Go + Allure- С какими проблемами столкнулась- С какими библиотеками и инструментами работа...

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

Почему мы перешли на Selenide, попутно написав более 200 новых автотестов Привет, я автоматизатор тестирования на одном из проектов крупной компании. В этой статье я расскажу, почему мы приняли решение перейти с Serenity на Selenide. Задача у нас масштабная, и хотя изменение технологического стека заняло определенное время, впоследствии оно с лихв...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

Property-based тестирование для JavaScript и UI: необычный подход к автоматизированным тестам Falcon Heavy Demo Mission Писать тесты скучно. А то, что скучно делать, постоянно откладывается. Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions, и в этой статье покажу вам другой, немного странный подход к автоматизированному тестированию. Чи...

7 QA-шных грехов, которые помогут или помешают тестировщику (стать тем, кем ты хочешь) Привет, меня зовут Иван, я работаю руководителем горизонтали автоматизаторов в Skyeng. Занимаюсь менеджментом ресурсов автоматизаторов, внедряю процессы, которые упрощают работу ребят, пишу инструменты для команды (слак-бот, всякие интеграции с TMS и др.), менторю начинающ...

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

TestOps: писать автотесты недостаточно Совсем недавно я услышал замечательную историю о проекте внутри крупной российской IT-компании, ищущей руководителя в отдел тестирования. Задача была простая: есть отдел из 20 человек, которые за последние несколько лет наколбасили несколько тысяч автотестов и спроектировали...

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

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

Пишем юнит тесты на TypeScript'е (на примере котиков) Как писать модульные тесты в проекте с TypeScript'ом? В этой статье я постараюсь ответить на этот вопрос а также покажу как создать среду модульного тестирования под проекты использующие TypeScript. Читать далее

[Из песочницы] Авторизация пользователя при помощи Starlette + Vue.js Вступление Задача — создать пример авторизации пользователя с использованием фреймворков Starlette (https://www.starlette.io/) и Vue.js *, который был бы максимально комфортным разработчикам Django для «миграции» в асинхронный стек. Почему Starlette? В первую очередь скор...

Как проходит собеседование Junior фронтенд-разработчика Меня зовут Максим Чеченёв, я фронтенд-разработчик уже почти девять лет. Работаю в компании MessageBird в Амстердаме и наставником на курсе «Веб-разработчик» в Яндекс.Практикуме. Ещё я веду канал в телеграме «Сеньор Разработчик». Прежде чем стать сеньором и начать собеседова...

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

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

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

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

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

Микрофронтенды: разделяй и властвуй Всем привет! Меня зовут Аня, я фронтенд-разработчик в Delivery Club. Хочу рассказать про использование микрофронтендов. Поговорим о том, что же это за зверь такой — микрофронтенд, почему мы решили использовать этот подход в своих проектах и с какими проблемами столкнулись ...

[Из песочницы] Разрабатываем игры на LibGDX с помощью шаблона Entity Component System Привет Хабр! Меня зовут Андрей Шило, я android-разработчик в компании FINCH. Сегодня я расскажу вам о том какие ошибки не стоит допускать при написании даже самой простой игры и чем крут архитектурный подход Entity Component System(ECS). Читать дальше →

[Из песочницы] Единственно верный способ загружать и скачивать файлы в Selenium тестах Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно ...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 2 У тестировщика много возможностей повысить качество продукта и сделать работу команды комфортнее. Главное – обсуждать любые изменения с коллективом и внедрять только то, что удобно и полезно для всех. Меня зовут Виктория Дежкина, я отвечаю за тестирование ряда продуктов в Д...

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

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

Swagger/OpenAPI Specification как основа для ваших приёмочных тестов Человеческая жизнь слишком коротка, чтобы тратить ее на интеграцию и документацию. С помощью контрактов и кодогенераторов можно сократить рутинные операции и переписывание кода, обеспечить недосягаемое иными способами покрытие и достигнуть невыразимой чёткости бытия тестиров...

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

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

Хороший ли выбор Svelte для реализации виджета? Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его д...

«Никогда не писали автотесты? Попробуйте Cypress» «Никогда не писали автотесты? Попробуйте Cypress» Автотесты на Cypress Первое впечатление и встречающиеся проблемы Дмитрий Кочергин, Lead Software Developer Luxoft Прежде всего хочу отметить, что я не профессиональный автотестер, а Java-программист. Но однажды поступила за...

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

Почему я ушёл с React Native и перешёл во Flutter: Часть 2 Всем привет. Меня зовут Дмитрий Андриянов. Два года я писал на React Native, сейчас работаю в Surf во Flutter отделе и уже более полутора лет пишу на Flutter. В первой части статьи я рассказал про основные различия между React Native и Flutter. В этой части расскажу про раз...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 1/2 В этой статье мы собираемся создать пайплайн непрерывной интеграции (CI) с Tekton, фреймворком с открытым исходным кодом для создания конвейеров CI / CD в Kubernetes. Мы собираемся подготовить локальный кластер Kubernetes через kind и установить на нем Tekton. После этого мы...

[Из песочницы] Мы из другого теста — тестируем базу данных на MSTest Тестирование как универсальный принцип Уже почти четверь века празднуем миллениум, а тестирование ещё только входит в нашу жизнь… Сложно убедить начинающих разработчиков использовать эту потрясающую технику в своей работе… Да чего уж там говорить о разработчиках, простым сме...

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

Не пиши одно и то же: как переиспользуемые компоненты React помогут фронтенд-разработчику быстрее создавать приложения Вносить однотипные изменения в три-четыре разных места в JS-коде — искусство, требующее концентрации внимания. Если элементов больше, поддержка кода превращается в муку. Поэтому для долгосрочных или крупных проектов следует писать код так, чтобы его можно было вынести в отд...

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

План начинающего тестера: от “Войти в IT” до “Я — Инженер!” Всем привет! Меня зовут Валентин и я работаю инженером по тестированию в компании Exness. Очень часто слышу вопрос о том, насколько сейчас возможно стать тестировщиком программного обеспечения. В этой статье я постараюсь ответить на данный вопрос. Читать дальше →

Тесты визуальной регрессии. Перезагрузка В своей предыдущей статье я рассказывал про опыт использования движка Gemini для разработки визуальных тестов, точнее, тестов визуальной регрессии. Такие тесты проверяют, не «съехало» ли что-нибудь в UI после очередных изменений с помощью сравнения текущих скриншотов с ранее...

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы...

ок.tech: QATOK #2 5 марта в питерском офисе Одноклассников состоится ок.tech: QATOK #2 – митап, посвященный тестированию и всему что связано с обеспечением качества в ИТ-проектах. Нас ждет 3 технических доклада от представителей OK, Яндекса и VK, ребята расскажут про проблемы Espresso-автот...

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

Профессия: тестировщик Тестировщик: Это баг или фича? Разработчик: Пока что это фича. bash.im Инженер по тестированию — моя первая специальность в ИТ-сфере в далёких уже 2010-х, как, пожалуй, и у многих. Это было классическое «войти в айти»: на тот момент имелось только экономическое образование ...

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

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

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

[Из песочницы] Виджеты на Android. Редкая фича, в которой придется разобраться Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH. У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптировать его под android? Если да, то часто ли ваши дизайнеры используют виджеты? К сожалению, виджет — редкий кейс для ...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

Битва Charles и Fiddler: как тестировать с комфортом? Всем привет! Меня зовут Ксения Мерзлозубова, и я тестирую мобильные приложения в компании ATI.SU.Для тестирования большинства задач мобильному тестировщику необходим сниффер — инструмент для перехвата и анализа трафика. Сейчас существует множество снифферов, но самые популяр...

Как в Яндекс.Облаке устроено Virtual Private Cloud и как наши пользователи помогают нам внедрять полезные функции Привет, меня зовут Костя Крамлих, я ведущий разработчик подразделения Virtual Private Cloud в Яндекс.Облаке. Я занимаюсь виртуальной сетью, и, как можно догадаться, в этой статье расскажу об устройстве Virtual Private Cloud (VPC) в целом и виртуальной сети в частности. А ещё...

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

Зоны в Dart: большой брат следит за тобой Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

Оцениваем опционы на Clojure методом Монте-Карло Привет! Меня зовут Рома, я работаю iOS-разработчиком в Exness. А кроме того, пишу на Clojure и инвестирую. Сегодня я расскажу о том, как оценивать опционы. Это вводная статья и заработать миллион, используя предложенный способ, вряд ли получится. Тем не менее, это хорошая ос...

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

Почему тестировщиков «джун», «мидл» и «сеньор» не существует. Или как мы уже 10 лет работаем без грейдов Привет, Хабр! Меня зовут Женя. Десять лет назад я стартанул агентство аутсорс-тестирования «Кавычки». У нас в компании нет и никогда не было деления тестировщиков на джунов, мидлов и сеньоров. Хотя были попытки. Расскажу, почему так получилось и как можно жить без грейдов....

CI TeamCity — Автоматизация build процессов Android и UI тестирования В этой статье предлагаю Вашему вниманию инструкцию по установке и настройке TeamCity для автоматизации сборки и тестирования Android проектов под Windows. Также буду уделять внимание особенностям настройки environment’а под Android проект (которые находил в процессе исследо...

[Из песочницы] Apache Kafka и тестирование с Kafka Server Введение Существуют различные способы для написания тестов с использованием Apache Kafka. К примеру, можно использовать TestContainers и EmbeddedKafka. Об этом можно почитать, к примеру, вот здесь: Подводные камни тестирования Kafka Streams. Но существует и вариант для напис...

Качество кода Apache Hadoop: production VS test Для того, чтобы получить качественный production код, недостаточно просто обеспечить максимальное покрытие тестами. Несомненно, для того, чтобы добиться высоких результатов, основной код проекта и тесты обязаны работать в идеально сплоченном тандеме. Поэтому уделять внимани...

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.Я и мой ...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

SPECIA QA Meetup SPECIA приглашает на митап по тестированию — поговорим о том, как проводить тесты без тестировщика, почему тестирование вообще необходимо и почему лучше не заниматься самотестированием, а также как устроено тестирование в веб-проектах. Программа «Философия тестирования» ...

Запись видео UI автотестов, работающих в headless Chrome Всем привет! В данной статье хочется рассказать о том, как была решена задача записи видео автотестов, работающих в headless Chrome (с записью в не headless режиме проблем быть не должно). Будет рассмотрено несколько разных подходов, рассказано про трудности и пути их реше...

Используем бесплатные возможности Github Actions для CI/CD на Flutter-проекте GitHub Actions — инструмент для автоматизации рутинных действий с репозиторием и подспорье при создании CI/CD для вашего проекта. Пользователи GitHub’а ежемесячно получают по 2000 минут, чтобы выполнять GitHub Actions на инфраструктуре сервиса. Применим это бесплатное время...

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

Мониторинг БД Oracle с помощью OEM Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с платформой, но и не только для них. Основная цель статьи — помочь провести бы...

Автоматизация тестирования в микросервисной архитектуре Привет, Хабр. Меня зовут Сергей Вертепов, я senior backend инженер. Это небольшая обзорная статья о том, как мы тестировали монолитное приложение Авито, и что изменилось с переходом на микросервисную архитектуру. Читать дальше →

История о том, как я разработал язык программирования Привет Хабр! Меня зовут Ильдар. Мне 29 лет. Программирую с 2003 года. За свою жизнь создал 4 фреймворка и язык программирования. В этом посте я поделюсь своим опытом, инсайтами, которые я получил при разработке языка программирования BAYRELL Language. Заранее прощу прощения ...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

Как устроено тестирование фронтенда в Яндекс.Маркете и почему мы отказываемся от еженедельных релизов Всем привет, меня зовут Сергей. Я занимаюсь тестированием фронтенда Яндекс.Маркета. Знаю, что среди читателей Хабра много IT-специалистов, которые как-то связаны с релизным процессом и тестированием. У меня к вам вопрос. Бывало ли в вашей практике так, что фичи долго не ка...

Медленное движение «влево» в автоматизации тестирования Похоже, что стремление «сдвинуть» тестирование влево, к началу конвейера, в сторону разработчиков для ускорения разработки приложений и их развертывания зашло в определённый тупик. Недавний опрос, проведённый компанией Perforce (специализируется на разработке сре...

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

EVE Echoes: бета-тест стартовал EVE Echoes — это многопользовательская игра от NetEase Games и CCP Games, созданная для мобильных платформ (iOS и Android). Сейчас приобщиться к отрытому тестированию проекта могут геймеры из Австралии, США, Канады, России, Европы, Южной Кореи и Новой Зеландии. Цель разрабо...

Платформенные команды, DDD радар и MVP, который не превратится в техдолг — все это на TechLead Conf 2020 Привет! Меня зовут Вьет, и больше 10 лет я с любовью пишу код. В прошлом году меня пригласили в программный комитет, в котором большие фанаты качественной разработки делали конференцию QualityConf. Мы верим, что качественная разработка не ограничивается вопросами тестирован...

Как Амплифер использует Logux — инструмент для связи клиента и сервера Меня зовут Виталий Ризо, я старший фронтенд-разработчик в «Амплифере». Поделюсь, как мы применяем Logux в веб-приложении: организуем обмен данными в реальном времени, уведомления об ошибках без перезагрузки страницы, общение между вкладками браузера и интеграцию с Redux. Чи...

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

DOC.ua запустил бесплатное онлайн-тестирование на симптомы коронавируса COVID-19 Медицинский онлайн-хаб DOC.ua запустил онлайн-тестирование на симптомы коронавируса COVID-19, тест является бесплатным и создан для самостоятельного выявления потенциальных рисков заболевания новым вирусом. Онлайн-тест разработан медицинским онлайн-хабом DOC.ua при экспертно...

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

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

Автоматизация HotFix в Maven проектах с использованием TeamCity В этом посте будет описана настройка автоматизации HotFix в Maven проектах с использованием Teamcity. Чтобы сделать HotFix обычно делается много ручных действий: 1) Создать бранч для релиза, на который вы хотите выкатывать HotFix 2) Исправить ошибку в релизе 3) Измененить bu...

Go. FakeDb. Эмуляция работы БД в тестах На днях писал тесты для модуля, который взаимодействует с базой данных. Привязывать модуль тестов к настоящей базе данных не хотелось — это создаёт дополнительные требования к окружению, где будет выполняться тестирование. Создавать сразу экземпляры типа sql.Rows, с нужными ...

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

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

[Инструкция] Создание гугл-тестов (гугл-форм) Спасибо пользователям Exosphere и Yuriy_krd за помощь и конструктивную критику Иногда кажется, что создать что-то по конструктору весьма быстро и просто: хоть сайт, хоть опрос, хоть таблицы. Однако часто упускаешь из внимания какие-то обидные мелочи, из-за которых время уход...

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

Управление хаосом: наводим порядок с помощью технологической карты Изображение: Unsplash Всем привет! Мы инженеры-автоматизаторы из компании Positive Technologies и занимаемся сопровождением разработки продуктов компании: поддерживаем весь сборочный конвейер от коммита строчки кода разработчиками до публикации готовых продуктов и лицензи...

Распределённая команда и тимлид на удалёнке Привет, меня зовут Григорий. Я работаю тимлидом распределённой команды в Positive Technologies. Это мой рассказ, как я стал лидом распределённой команды, с какими проблемами сталкивался, как их решал и какой опыт получил. Мотивами к написанию статьи стали два факта: во-первы...

[Перевод] Портирование API на TypeScript как способ решения проблем React-фронтенд Execute Program перевели с JavaScript на TypeScript. А бэкенд, написанный на Ruby, трогать не стали. Однако проблемы, связанные с этим бэкендом, заставили разработчиков проекта задуматься о переходе с Ruby на TypeScript. Перевод материала, который мы сегодня п...

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

Как я делаю свой дом умным Заметка о моём умном доме - как я его начал делать, как он работает, и что еще можно улучшить.Внимание! Статья практически без картинок. Не смог придумать что добавить :-) Только краткая история автоматизации моего дома, описание использованных решений, оборудования, алгорит...

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

[Из песочницы] Как начать писать микросервис на Spring Boot, чтобы потом не болела голова Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot....

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

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

[Перевод] Как выполняются арт-тесты для игр Введение Меня зовут Джонджо Хемменс, я художник по окружениям (Environment Artist) и только начинаю свой путь в индустрии видеоигр. В этой статье я объясню, что такое арт-тесты, покажу примеры успешных тестов с ArtStation, расскажу о правилах и этикете, а также процитирую с...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

Веб-компоненты в реальном проекте Всем привет! Меня зовут Артур, я работаю frontend-разработчиком в Exness. Не так давно мы перевели один из наших проектов на веб-компоненты. Расскажу, с какими проблемами пришлось столкнуться, и о том, как многие концепции, к которым мы привыкли при работе с фреймворками, л...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

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

Тёмная сторона дизайн-системы и что с ней делать Привет! Меня зовут Леша Свиридо, я ведущий дизайнер продукта в Альфа-Банке (это мы делаем интернет-банк для бизнеса). В этом посте я поведаю про дизайн-системы. Да, про них пишут так же часто, как про профессиональное выгорание или удаленную работу. Штука, прямо скажем, да...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

Асинхронное взаимодействие. Брокеры сообщений. Apache Kafka Данная публикация предназначена для тех, кто интересуется устройством распределенных систем, брокерами сообщений и Apache Kafka. Здесь вы не найдете эксклюзивного материала или лайфхаков, задача этой статьи – заложить фундамент и рассказать о внутреннем устройстве упомянутог...

[Перевод] Flutter. Весеннее обновление 2020 Привет! Меня зовут Евгений Сатуров, я Flutter-разработчик Surf и основатель Flutter Dev Podcast. Ниже перевод статьи Tim Sneath и Patrick Sosinski с моими комментариями. Полмиллиона разработчиков, 50 тысяч приложений, взрывной рост и обновлённый релизный цикл. Последние м...

Tencent открыл доступ на бета-тест Arena Breakout Издатель Tencent открыл дополнительные слоты для бета-теста Arena Breakout. Как и ожидалось, тестирование началось в сентябре, но места ограничены. Tencent передал через китайскую соцсеть о том, что для ранней версии Arena Breakout открыты дополнительные слоты. Пока что игр...

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

[Перевод] Тестирование в Puppeteer vs Selenium vs Playwright: сравнение производительности Ранее мы уже писали о том, когда бывает нужна автоматизация тестирования и какие проверки при этом используют. Сегодня предлагаем обсудить использование инструментов на практике и оценить их производительность. С разрешения Giovanni Rago – автора серии полезных материалов о ...

[Из песочницы] Интеграция Gitlab, Jira и Confluence на Python для автоматизации сборки релизов Недавно на стендапе коллега внес рацпредложение: автоматизировать сборку релизов, взяв за основу готовые уже наработки по взаимодействию с Jira, написанные на Python. Процесс деплоя у нас следующий: когда накапливается достаточное количество задач, прошедших тестирование и...

Индустрия 4.0: Big Data, цифровизация и рост экономики Всем привет! Меня зовут Дмитрий Соколов, я — руководитель отдела консалтинга и интеграции Orange Business Services в России и странах СНГ. В этой статье я хотел бы обсудить Индустрию 4.0 — это синоним четвертой промышленной революции. Ее важнейшие элементы — киберфизически...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Apple Mac Pro, часть 2: тестирование производительности и выводы В первой части статьи про Mac Pro мы подробно рассказали о конфигурации и дизайне этой рабочей станции, теперь же пришло время проверить, на что она способна на практике. Для этого мы использовали нашу методику тестирования производительности под macOS, а заодно придумали не...

Система под контролем: как автоматизировать интеграционные тесты Привет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд — это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря котор...

Clean Architecture глазами Python-разработчика Привет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов ...

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

Исследуем качество кода операционной системы Zephyr Недавно мы рассказывали, что анализатор кода PVS-Studio начал интегрироваться с PlatformIO. Естественно, при этом команда разработчиков PVS-Studio общалась с командой PlatformIO и те предложили ради интереса проверить код операционной системы реального времени Zephyr. Почем...

Слепой тест камер: iPhone, Pixel, Samsung и Huawei Недавно техдир Хабра, buxley, купил себе Google Pixel 4. А у меня есть iPhone 11 Pro. И мы, конечно, стали сравнивать: какой аппарат делает фоточки круче. А потом решили, что раз нам так интересно, то возьмём ещё пару смартфонов с крутыми камерами и проведём слепое тестиро...

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

Выкладка go pet проекта на VPS Привет, Хабр! Меня зовут Артем Желтак, я teamlead, а также преподаватель курса “Разработчик Golang” в OTUS. В преддверии старта нового потока курса, хочу поделиться с вами своей авторской статьей. Я верю, что Golang прекрасен, но в мире еще много php и других проектов рабо...

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

Добавляем темную тему в iOS Всем привет! Меня зовут Андрей, я из команды «Мой Брокер». Я рассĸажу Вам ĸаĸ добавлял поддержĸу темной темы в iOS. Apple в iOS 13 добавила темную тему для всей системы, пользователи могут выбрать светлое или темное оформление на настройках iOS. В темном режиме система исп...

Можно порешать: задача про лидарное облако от команды беспилотных автомобилей Яндекса Меня зовут Андрей Гладков, я разработчик в направлении беспилотных автомобилей. Сегодня я поделюсь с сообществом Хабра задачей, которая связана с важнейшим сенсором беспилотника — лидаром, и с тем, как мы обрабатываем лидарные данные. Вы можете попробовать решить задачу са...

Kaspresso tutorials. Часть 1. Запуск первого теста Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на  людей, которые никогда не программировали и ничего не автоматизировали, ...

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

Открытый курс «Deep Learning in NLP» от создателей DeepPavlov на базе курса cs224n Всем привет! Вступление Меня зовут Алексей Клоков, я хочу рассказать о запуске классного курса по обработке естественного языка (Natural Language Processing), который очередной раз запускают физтехи из проекта DeepPavlov – открытой библиотеки для разговорного искусственного ...

[Из песочницы] 3D картинка на питоне с (почти) нормальной производительностью Можно считать эту статью ответом на вот эту, где речь идет о написании подобной вещи на C++, с прицелом на новичков, то есть с упором на простой читаемый код вместо высокой производительности. После прочтения статьи у меня возникла идея повторить написанную автором программ...

Роман Шувалов: «Мне пришла в голову идея — сделать трехмерный рендер карты OpenStreetMap» Роман Шувалов — разработчик инди-игр из Тольятти, который в начале этого года выпустил игру «Generation Streets», основанную на данных OpenStreetMap. Не так давно он открыл часть кода своего проекта. Зачем он это сделал, как появилась игра и почему выбор пал на OSM — обо вс...

[Перевод] Raspberry Pi, Python и полив комнатных растений У меня не складываются отношения с комнатными растениями. Дело в том, что я забываю их поливать. Зная это, я начал размышлять о том, что кто-то, наверняка, уже нашёл способ автоматизации полива. Как оказалось, способов таких существует очень много. А именно, речь идёт о реше...

[recovery mode] Использование faiss для поиска по многомерным пространствам Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объя...

Го в Go! Как команда PHP взялась писать микросервисы Всем привет! Меня зовут Алексей Скоробогатый, я системный архитектор в Lamoda. В феврале 2019 года я выступал на Go Meetup еще на позиции тимлида команды Core. Сегодня хочу представить расшифровку своего доклада, который вы также можете посмотреть. Наша команда называется Co...

DOC.ua запускает бесплатное онлайн-тестирование на коронавирус Онлайн-тест на симптомы COVID-19 является бесплатным и создан для самостоятельного выявления потенциальных рисков заболевания новым вирусом. Экспресс-тест доступен для пользователей в...

Кому еще нужен Selenium? Использует ли кто BDD в 2020? Машинное обучение в Selenium Каждый раз, когда натыкаюсь на новую статью про то, как использовать BDD-подход и как он улучшает жизнь разработки, тестирования и менеджмента — я хватаюсь за лицо. (А сейчас не знаю как быть. Не хватаюсь за лицо, а просто грущу). Впрочем, такие же ощущения могут вызывать за...

Почему QA хорошая карьера для программиста Привет, хабровчане! Представим, что вы только что закончили институт и размышляете о том, куда пойти работать. В отдел разработки программного обеспечения или тестирования? Быть тестировщиком – это хороший выбор? Есть ли будущее у этой профессии? Хорошая ли там зарплата?...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

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

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

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

[Перевод] Если вы используете моки, то вы хоть что-то тестируете? Было ли у вас ощущение, что ради тестирования вы делаете код труднее для чтения? Допустим, у вас есть код, который ещё не тестировался. У него есть ряд побочных эффектов, и вас просят сначала прогнать тесты. Вы начинаете следовать советам вроде передачи глобальных переменны...

Предвзятый и субъективный взгляд на резюме разработчика Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет. В этой статье мы поговорим о том, как разработчики создают резюме. Я расскажу о том, что меня, как интервьюера, мотивировало и вооду...

Скрытая активация камеры браузерами: Большой Брат или технологический просчёт? Всем привет! Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы". Но данный пост будет не обо мне. Он будет историей о подозрительной (с точки зрения приватности в контексте мобильных телефонов) ситуации, с...

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

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

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

Terminus — соревновательная игра и духовный наследник Counter-Strike и Magicka, альфа-тест 1-го января Инди-разработчики работают над интересным проектом под названием Terminus. Это онлайн-игра, где игроки разделяются на две команды по пять человек в каждой. Дальше они решают свои проблемы в динамичных схватках от первого лица. Если приводить сравнение, то разработчики указыв...

Как тестировать код, содержащий setTimeout/setInterval под капотом Мы, разработчики, очень любим юнит-тесты, полезность которых очевидна. И чтобы эти тесты действительно были полезными, а не приносили боль, необходимо обеспечивать их стабильность. Наша компания разрабатывает интерфейсный фреймворк "Wasaby" и продает построенные на...

Как написать правила для Checkmarx и не сойти с ума Привет, Хабр!В своей работе наша компания очень часто имеет дело с различными инструментами статического анализа кода (SAST). Из коробки они все работают средне. Конечно, всё зависит от проекта и используемых в нём технологий, а также, насколько хорошо эти технологии покрыва...

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

[Перевод] 9 полезных трюков HTML Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus. У HTML есть много практических секретов, которые могут вам пригодиться. Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах. Я использую ...

ELK, SIEM, Open Distro: Составление отчетов Чтобы защитить вашу корпоративную сеть от угроз и атак, вы всегда должны выполнять тест на уязвимости в своей системе. Для того, чтобы их исправить. Итак, как вы понимаете, работа с отчетами очень важна для любого SOC, потому что она дает обзор уязвимостей, которые могут быт...

Ищете вакансию тестировщика? Будьте готовы продемонстрировать навыки разработчика И снова здравствуйте. В преддверии старта курса «Java QA Engineer» подготовили небольшой материал, который станет полезен тем, кто только собирается построит карьеру в данном направлении. Тестировщик — кто это? Инженер по контролю качества программного обеспечения (QA) от...

Тизер-трейлер игры Halo: Combat Evolved Тизер-трейлер компьютерной игры Halo: Combat Evolved говорит нам о том, что игра скоро появится на ПК. Разработчики подвели итоги бета-тестирования. Halo: Combat Evolved прошел обширное бета-тестирование на ПК. В тестировании приняли участие более 100 тысяч человек. Игр...

Как подготовиться к The Standoff. Советы защитникам Привет, Хабр! Меня зовут Илья, и три года подряд вместе с командой Jet Security Team — а два последних в роли её капитана — я держал оборону виртуального города на киберполигоне The Standoff против команд нападения. Участвуя раз за разом на стороне защиты, мы прошли путь от ...

[Из песочницы] Home видео для Selenium aka WebDriver. Или чем записать экран, если у вас есть java, поломанные тесты и немного времени Решили мы на работе автоматизировать тесты для нескольких своих веб приложений. И кроме информации, когда упали тесты, захотелось еще и увидеть, как выглядела страница на этот печальный момент. Я уже давно не брал в руки шашки и Selenium, поэтому пришлось немного покопатьс...

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

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

[Из песочницы] Расширенный HTML В этой статье хотел бы рассказать немного про библиотеку, первую версию которой я создал еще в конце прошлого года. Суть очень простая — расширить возможности языка HTML, чтобы можно было без JavaScript'а писать простые и рутинные вещи: отправка формы в json формате, загрузк...

Трудно быть Колей, или практики обмена знаниями в Latech Всем привет! Меня зовут Александр Афенов, я тимлид команды Order Processing в компании Lamoda. Сегодня я хочу вам рассказать о практиках обмена знаниями: какие проблемы эти практики решают, как мы к ним пришли, и как они влияют на жизнь разработчика. Читать дальше →

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

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

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

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

[Перевод] Что происходит, когда вы выполняете manage.py test? Перевод статьи подготовлен специально для студентов курса «Python Web-Developer».Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране? К...

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

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

Отложенные ретраи силами RabbitMQ Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ Читать дальше →

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

Как китайские стратагемы помогают в работе Наша повседневная работа часто похожа на череду противостояний. Мы «воюем» с заказчиками и другими командами, с тестировщиками и коллегами, а отделы внутри компании соперничают друг с другом. Мы боремся за зарплату, принятие удобных технических решений, сроки и тысячи других...

[Перевод] О роли фронтенд-разработчика Привет, Хабр! Представляем вашему вниманию перевод статьи фронтенд-разработчика из MediaMonks Рональда Мендеса. Будучи родом из Венесуэлы, Рональд перебрался в Аргентину и построил успешную карьеру, а благодаря своему большому интересу к дизайну и анимации стал одним из член...

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

Наблюдательный пост пессимиста: технические и концептуальные решения в системе мониторинга Lamoda Всем привет! Меня зовут Александр Афенов, я работаю в Lamoda. Эта статья по мотивам моего доклада с HighLoad 2019, запись которого лежит тут. Раньше я был тимлидом, и в моем ведении была пара критикал-сервисов. И если в них что-то шло не так, это останавливало реальные бизн...

[Из песочницы] Mikrotik и Linux. Рутина и автоматизация Представлюсь, меня зовут Андрей. Первоначальная задача стояла такая — создать сотни конфигов для Mikrotik, чтобы поднять на каждом ovpn с сертификатом, затем залить на сотни Mikrotik конфиги, а так же сертификаты и ключ. Пароль от сертификата у каждого уникален. Создават...

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

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

Пишем гибкий VerticalSwipeBehavior Привет, Хабр! Меня зовут Илья Осинцев, я Android-разработчик в компании Apiqa. Под катом вас ждет пример использования ViewDragHelper для создания компонента пользовательского интерфейса аналогичного SwipeDismissBehavior, но работающего вертикально. С появлением Material Des...

Шагающий FPV дрон "Скорпион". Часть 2: Настройка и тесты Всем привет. Недавно я писал о своём новом Гексаподе.Вот вторая часть видео, в которой я очень подробно рассказал обо всех режимах ходьбы и о настройке прошивки. А в конце вас ждёт небольшой тест - драйв:Если вкратце, то вот список того, что умеет робот:У нас тут есть четыре...

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

[Из песочницы] Создание арт-объекта для Burning Man Здравствуйте. Меня зовут Сергей, и в этой статье я расскажу о том, как мы сделали арт-объект для мероприятия Burning Man. Я расскажу о технической стороне, не касаясь самого мероприятия. Ну, почти не касаясь. Читать дальше →

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

SQL в DjangoORM Меня зовут Алексей Казаков, я техлид команды «Клиентские коммуникации» в ДомКлик. В большинстве приложений, с которыми мне приходилось иметь дело, при взаимодействии с БД не ограничиваются лишь драйвером, который позволяет выполнять сырые запросы. Для удобства и избавл...

Здоровье индексов в PostgreSQL глазами Java-разработчика Привет. Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным. За последнее время я привёл в порядок несколько баз данных в наших микрос...

Пишем бизнес-процесс в Битрикс24 с задатком на будущее На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чисто» специалист по Битриксу, а это одна из моих обязанностей. На самом деле обязанностей у мен...

Методы борьбы с legacy-кодом на примере GitLab Можно бесконечно холиварить о том, является ли GitLab хорошим продуктом. Лучше посмотреть на цифры: по итогам раунда инвестирования оценка GitLab составила 2,7 млрд долларов, в то время как предыдущая оценка была $1,1 млрд. Это означает бурный рост и то, что компания будет н...

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

Автоматизация журналиста. Часть 1: Задачи и календари Уже больше 15 лет я работаю техническим журналистом. Помогаю рассказывать о продуктах, технологиях и, что уж тут скрывать, встраиваюсь в стратегию хантинга. На меня есть спрос, поэтому много лет для меня ребром стоит задача повышения эффективности работы. Как говорится, вок...

Как создать шаблон описания системы и начать его использовать Когда в IT-компании работают 6 человек, которые пилят одну систему и обсуждают её в кулуарах, описание системы и документация кажутся ненужными. Но когда систем уже более 100, без описания не обойтись. Ведь непродуманное изменение UI может остановить создание заказов. Мы соз...

Data Engineer or die: история одного разработчика В начале декабря я совершил роковую ошибку принял поворотное решение в своей жизни разработчика и перешёл в команду Data Engineering (DE) внутри компании. В статье я поделюсь некоторыми наблюдениями, которые я сделал за два месяца работы в команде DE. Читать дальше →

Как выпускать продукты непрерывно на 20 языках и не умереть? В этой статье мы расскажем, как мы переводили локализацию мобильных проектов в Smartcat, какие изначально у нас были боли и как мы с ними справились. Кто мы Привет всем! Мы — Екатерина Галицкая и Дарья Егорушкина из «Лаборатории Касперского» (отдел документации и локализац...

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

Мой путь QA инженера: через выгорание к тестированию в кайф Привет! Меня зовут Люба, и я QA инженер команды разработки систем для контакт-центра в Lamoda. Недавно исполнилось три года, как я работаю в нашей компании, и это заставило меня задуматься и заново посмотреть на события, которые происходили с момента, как я выбрала эту про...

[Перевод] ELK SIEM Open Distro: Интеграция с WAZUH Продвигаемся дальше по нашему проекту. Мы завершили часть SIEM. Пришло время перевести наш проект из простого наблюдателя в активного ответчика. Одним из важных инструментов, которые мы использовали для этого, является Wazuh. В этой статье мы надеемся просветить вас о преиму...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Как мы предсказываем будущее в поиске Яндекса: от исправления ошибок до discovery-запросов Люди не всегда точно формулируют свои запросы, поэтому поисковые системы должны помогать им в этом. За два десятка лет в Яндексе разработали множество технологий, облегчающих задачи поиска: от опечаточника до подсказок в саджесте. Недавно мы сделали следующий шаг и научили п...

[Перевод] Clang-format тормозит работу программы Сегодня мы будем измерять производительность разных реализаций функции toupper, ведь именно этим и занимаются по вторникам. Вообще-то мне нет никакого дела до функции toupper, просто я недавно писал другой пост и мне нужен был какой-то общий сюжетный стержень, а toupper ка...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

Robot Framework для автоматизации тестирования: ограничения и плюшки В автоматизации тестирования я уже более 11 лет. Скажу сразу, что являюсь поклонником старомодного тестирования на Java и очень настороженно отношусь к различным готовым фреймворкам. Если вы придерживаетесь такого же мнения или только задумываетесь об использовании Robot Fra...

Правильное TDD Привет, Хабр! На написание этого поста меня вдохновил другой пост TDD есть опиум для народа, где обсуждаются спорные моменты в подходе TDD и в принципе делается вывод о его несостоятельности (хотя и признается необходимость тестов в любом случае). С автором я был полностью с...

[Перевод] Изучаем mutmut — инструмент для мутационного тестирования на Python Мутационное тестирование позволяет выявить баги, которые не покрыты обычными тестами. У вас есть тесты на все случаи жизни? Или может быть, в репозитории вашего проекта даже лежит справка «О 100-процентном тестовом покрытии»? Но разве в реальной жизни всё так просто и дости...

Строили любовь, а построили рабство. Как и для каких целей Roblox использует детей Источник На YouTube-канале «People Make Games» вышло видео под названием «Расследование: как Roblox эксплуатирует молодых разработчиков игр». В нем утверждается, что компания создала свой бизнес на желании детей заработать деньги на любимом деле. При этом до выплаты денег д...

14 практических советов по использованию Tableau Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, ме...

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

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

[Перевод] Пришло ли время забыть о React и перейти на Svelte? Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков...

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

Делаем игру с управлением улыбкой Привет! Меня зовут Иван Шафран, недавно я присоединился к команде видео ВКонтакте в роли программиста-разработчика для Android. Участвую в создании как продуктовых приложений, так и SDK. Время от времени я посещаю хакатоны, где можно реализовывать любые безумные идеи. Сегодн...

[Перевод] Emacs — 6 трюков для продуктивной работы Ранее я уже писал об использовании Emacs в качестве C++ IDE и другом техническом оснащении. Однако, я не обращал особого внимания на то, что использую Emacs и для работы много с чем ещё. Честно говоря, я не смог бы пользоваться этим редактором в полной мере, не будь в нем во...

[Перевод] Перенос Quake 3 на Rust Наша команда Immunant любит Rust и активно работает над C2Rust — фреймворком миграции, берущим на себя всю рутину миграции на Rust. Мы стремимся автоматически вносить в преобразованный код на Rust улучшения безопасности и помогать программисту делать это самому, когда не сп...

Большой тест нейлонов от Print Product Всем привет!Давно уже занимаюсь нейлонами и вот наконец решил поделится немного своим опытом, а так же попытаться развеять частое мнение, что нейлоны это только для шестеренок. Вот яркий пример:А так же вторая цель небольшого исследования постараться подобрать аналог америка...

Глобальное тестирование Summoners War: Lost Centuria начнется в третьем квартале Как и множество других компаний корейский игровой гигант Com2uS недавно опубликовал свой финансовый отчет с результатами за первый квартал 2020 года. Вместе с цифрами он поделился подробностями об активных и разрабатываемых проектах. Напомним, что в прошлом месяце в Южной К...

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

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

Национальный тест на цифровую грамотность «Цифрограм» от Минцифры уже прошли 50 тыс. украинцев (69% — успешно) В начале ноября текущего года Министерство цифровой трансформации Украины запустило на онлайн-платформе «Дія.Цифрова освіта» национальный тест на цифровую грамотность граждан «Цифрограм». Спустя практически месяц Минцифры рассказало о первых результатах тестирования. Ответил...

Как плохо спроектированный UX у теста на коронавирус чуть не посадил нас на самоизоляцию, но дырка в безопасности спасла Это я, пишу скрипт по перебору параметров для POST запроса на gov.tr, сидя перед границей в Хорватию. Как все начиналось Мы с моей женой путешествуем по миру и работаем удаленно. Недавно переезжали из Турции в Хорватию (самая оптимальная точка, чтобы заехать в Европу). Что...

Тестируем новый Anycubic Mega X Всем привет!Активно готовим обзор новинки - 3D принтера Anycubic Mega X, и первые тесты очень радуют!Ваза большая, практически на всю область построения, печаталась 19 часов.Модель из невероятно красивого голубого пластика ESUN eSilk.Температура 190/60, высота слоя 0.2мм, ши...

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

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

Интервью из мира хостинга: Boodet.online Меня зовут Леонид, я — разработчик сайта Поиск VPS, поэтому в силу своей деятельности интересуюсь историями становления и развития различных компаний из сферы хостинговых услуг. Сегодня хочу представить интервью с Данилом и Дмитрием — создателями хостинга Boodet.online. Они ...

Скоро стартует второй ЗБТ Otherworld Heroes — MMOPRG в дополненной реальности Весной прошлого года проходил первый закрытый бета-тест MMORPG с элементами дополненной реальности под названием Otherworld Heroes. Релиз все еще не состоялся, но разработчикам снова нужны тестеры. Возможность поиграть получат как те, кто уже участвовал, так и новички. Разр...

Apache Kafka для чайников Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на W...

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

Смартфон Redmi Note 7 получил Android 10 в рамках бета-теста Мы уже писали о том, что смартфоны линейки Redmi Note 7 обновились до фирменной оболочки MIUI 11 на базе Android 9 Pie, а сегодня китайский производитель дал старт бета-тестированию оболочки на базе новой операционной системы Android 10. Это значит, что примерно через месяц ...

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

EA запустил бета-тест Apex Legends Mobile, как скачать? (инструкция) Вместе с альфа-тестом Battlefield Mobile, Electronic Arts начал бета-тест Apex Legends Mobile. Вы можете попасть на оба тестирования, инструкция и ссылка в конце новости. Сегодня, 24-го августа, издатель EA запустил тесты сразу двух мобильных игр: Battlefield и Apex Legends...

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

[Перевод] Cloudflare PHP API Binding Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Для тех разработчиков, которые используют PHP 7.0 или выше, Cloudflare предоставляет PHP API биндинг. Он поддерживает последнюю четвертую версию API Cloudflare. Вы можете использовать этот S...

Не те игрушки: как мы научили нейросеть бороться с порно в стримах Всем привет, меня зовут Олег, я занимаюсь компьютерным зрением в команде Видеоаналитики МТС и сегодня расскажу вам, как мы защищаем от небезопасного контента стриминговую платформу WASD.tv, в частности про детектирование порнографии в постановке задачи action recognition. ...

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

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

Тестирование AI и стартаперство: интервью с Адамом Карми (Applitools) Есть популярная фраза «scratch your own itch»: если хочешь создать новый продукт, делай такой, которого тебе самому не хватает. В этом случае лучше всего понимаешь, как сделать его хорошо. Адам Карми остро ощущал нехватку инструмента для визуального тестирования, который по...

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

Безопасность и СУБД: о чём надо помнить, подбирая средства защиты Меня зовут Денис Рожков, я руководитель разработки ПО в компании «Газинформсервис», в команде продукта Jatoba. Законодательство и корпоративные нормы накладывают определенные требования к безопасности хранения данных. Никто не хочет, чтобы третьи лица получили доступ к конф...

Создание дизайн-системы для игры: детальный разбор подхода Меня зовут Максим Полстяной, я UI/UX Designer в Plarium Kharkiv. В этой статье я поделюсь опытом создания дизайн-системы для нашей браузерной стратегии «Войны Престолов», расскажу с чего все начиналось и какие этапы мы проходили. Читать дальше →

Стажировка в Parallels, когда тебе 14 лет Привет, Хабр! Меня зовут Тимофей. Мне 14 лет. Недавно я ездил в московский офис Parallels навестить своего ментора. В этой статье я хочу поделиться с вами своими впечатлениями о предшествующей этому событию стажировке и о самой поездке в офис. Читать дальше →

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

[Из песочницы] Тесты на pytest с генерацией отчетов в Allure с использованием Docker и Gitlab Pages и частично selenium Этот текст предназначен для начинающих тестировщиков, желающих понять как делать отчеты на allure с историей тестов, также разъяснить где их хранить, чтобы в отчет мог заглянуть любой участник вашей команды. Когда я хотел добавить в gitlab автотесты в стеке python, allure, ...

Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) Возвращаемся к работе с новым дайджестом — в нем роутинг и компоненты, интеграционные тесты и языки программирования, годовой отчет App Annie и улучшения Duolingo. Читать дальше →

Тестирование виртуальных серверов от DigitalOcean, Vultr, Linode и Hetzner. Человеческие жертвы: 0.0 В одной из предыдущих статей я привел результаты тестирования дешевых виртуальных серверов от различных хостеров рунета. Спасибо всем комментаторам и людям, писавшим в личные сообщения, за обратную связь. В этот раз я хочу представить результаты тестирования виртуальных сер...

DICE проведёт небольшой тест Battlefield 2042, раскрыты требования для PC Согласно некоторым зарубежным изданиям Electronic Arts и DICE собираются провести техническое тестирование Battlefield 2042. Изначально это планировалось сделать в июле, но дату перенесли на август из-за внутреннего теста кросс-плея. В тех. тестировании смогут принять участи...

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

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

Модули в JavaScript Фронтенд-разработчики каждый день используют модули. Это может быть функция из локального файла или сторонняя библиотека из node_modules. Сегодня я кратко расскажу об основных модульных системах в JavaScript и некоторых нюансах их использования. Читать дальше →

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

Selenium vs Puppeteer vs Cypress vs Playwright Всем привет. Я qa automation engineer уже 14 лет и 9 из них мне так или иначе приходилось работать с автоматизацией веб-приложении (и не только). Я писала свои автотесты на C#, Java, и Js. Сейчас я хотела бы поделиться опытом, как я выбираю фреймворк для тестирования веб при...

Установка ReportPortal в kubernetes ReportPortal – это веб-решение на базе открытого ПО, созданное разработчиками EPAM и OSS-сообщества. Его использование позволяет собрать в одном месте документы и результаты различных проектов по тестированию, которые выполняются в компании, и сделать их доступными для тести...

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

Как сервис Estimate помогает автоматизировать процесс оценки и узнать стоимость IT-проекта Как для бизнеса, так и для IT-компании оценка – один из самых важных этапов в начале работы над проектом. Бизнес готов сотрудничать с тем подрядчиком, который назовет стоимость объективно, прозрачно и быстро, в идеале – немедленно. При этом на рынке существует значительный ...

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

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

[Из песочницы] IoT в моей жизни. Как создать умный офис, а также отслеживать рост картофеля у себя в квартире благодаря IoT Приветствую вас, Хабровчане! В 2020-м году все мы знаем что такое Интернет Вещей и для чего он нужен. Но как много из нас знакомы с облачными платформами, которые представляют один из наиболее значимых пластов в IoT? Давайте разбираться. Не секрет, что разношерстность пр...

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

Как научиться XR-разработке и получить оффер за пять месяцев Привет, Хабр! XR-разработкой я занимаюсь около семи лет: проделал путь от младшего специалиста до директора бизнес-юнита КРОК Иммерсивные технологии. Моя команда уже более пяти лет создает XR-продукты для промышленности. За это время наш небольшой отдел превратился в целое н...

Выбираем главный камерофон 2019 года: Слепой тест Droider! Всем привет и с наступающим 2020 годом. Однако в конце года принято подводить итоги прошедшего года и мы решили с вашей помощью провести слепое тестирование главных смартфонов 2019 года. Конечно же речь идёт о фотовозможностях каждого из представленных смартфонов. НАЧАТЬ ТЕС...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

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

Apache Pulsar как основа для системы очередей Меня зовут Агалецкий Павел, я старший инженер в команде Архитектуры. Эта статья про новую для нас в Авито технологию — Apache Pulsar и построение системы очередей, Queues as a Service, на её основе. Читать далее

React Native для самых маленьких. Опыт мобильной разработки Однажды, в одной продуктовой команде захотели разработать мобильное приложение, чтобы проверить гипотезу востребованности продукта и его удобства для пользователей. И то, что в команде не было мобильных разработчиков, не помешало. Два фронтенд-разработчика взяли React Native...

Как мы оркестрируем процессы обработки данных с помощью Apache Airflow Всем привет! Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики компании Lamoda. В нашем департаменте Airflow играет роль оркестратора процессов обработки больших данных, с его помощью мы загружаем в Hadoop данные из внешних систем, об...

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

Разработка измерительного прибора ИРИС Приветствую, сообщество Хабра. Недавно наша компания выпустила на рынок контрольно-измерительный прибор ИРИС. Являясь главным программистом этого проекта, хочу рассказать вам про разработку прошивки прибора (По оценке руководителя проекта прошивка составляет не более 30% от...

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

[Перевод] 6 хитростей Python, о которых никто не рассказывает новичкам В наши дни Python — это самый популярный в мире язык программирования. Одна из причин этого кроется в том, что разработчики с удовольствием пишут на Python. Это выгодно отличает Python от других языков. Python завоёвывает сердца новичков и опытных программистов простотой си...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

Прокачиваем скрипты симуляции HDL с помощью Python и PyTest Все делают это. Ну ладно, не все, но большинство. Пишут скрипты, чтобы симулировать свои проекты на Verilog, SystemVerilog и VHDL. Однако, написание и поддержка таких скриптов часто бывает довольно непроста для типично используемых Bash/Makefile/Tcl. Особенно, если необходим...

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

Первые тесты мобильной видеокарты AMD Radeon RX 5300M Веб-ресурс NotebookCheck поделился результатами тестов мобильной видеокарты AMD Radeon RX 5300M, которая работала совместно с процессором AMD Ryzen 7 3750H в предрелизном образце ноутбука. По итогам тестирования в бенчмарках 3DMark, новинка оказалась быстрее «зеле...

Готовим PostgreSQL в эпоху DevOps. Опыт 2ГИС. Павел Молявин Всем привет! Меня зовут Павел! Я работаю в компанию 2ГИС. Наша компания – это городской информационный справочник, навигационный сервис. Это очень хорошая штука, которая помогает жить в городе. Читать дальше →

Как вырастить из студента инженера-программиста? Привет! Меня зовут Денис Довженко, и я уже несколько лет провожу технические собеседования с кандидатами на позиции инженера-программиста C/C++. Если с кандидатами на позиции Senior SW Engineer и выше основной разговор ведётся об опыте работы, то отбор будущих интернов и джу...

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

[Из песочницы] Почему Rust лидирует в TechEmpower Framework Benchmark Вообще-то смотреть какого цвета потроха у Rust я не собирался. Ковырнул хобби-проект на Go, пошел на GitHub посмотреть состояние fasthttp: развивается ли? Ну хотя бы поддерживается? Вспрокрастинулось. Пошел, посмотрел где fasthttp сидит в бенчмарках TechEmpower. Смотрю: а та...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее запи...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

«Техносерв Консалтинг» представляет решение TSC Rocket TSC Rocket SBL повышает скорость реализации и вывода новых продуктов за счет автоматизации процессов подготовки и выпуска нового функционала для системы и минимизирует возникновение возможных ошибок. Доступный и удобный интерфейс позволяет отслеживать состояния стендов разра...

Стартап внутри корпорации Привет, меня зовут Андрей Ванин и я занимаюсь разработкой и запуском брокерских и финтех-продуктов. Сегодня ровно год как я работаю в БКС, где в команде из восьми человек мы развиваем проект fintarget.ru. Ниже (не)большая история о том, как в условиях огромной компании реа...

readable — еще один линтер для PHP Хочу представить линтер для PHP readable. Сейчас в нем 16 правил, которые должны улучшить читабельность кода. К основным преимуществам можно отнести: скорость — меньше секунды на 1000 файлов настройка baseline — можно не исправлять все ошибки в проекте сразу, а создать конф...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 1 Если командная работа не согласована, между отдельными участниками процесса и целыми командами постоянно будут происходить столкновения, а продукты компании или микросервисы внутри одного продукта будут мешать друг другу при использовании общих ресурсов и инфраструктуры. Рез...

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

[Из песочницы] Как переиспользовать код с бандлами Symfony 5? Часть 1. Минимальный бандл Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

[Из песочницы] Наука vs IT. Как я бросил исследования ради разработки Привет, Хабр. Меня зовут Михеев Илья, я back-end разработчик в компании FINCH. Сегодня я расскажу о том, как простые люди попадают в IT, почему в «Сбере» на «Каширке» все плохо, а заодно расскажу почему молодые ученые уходят в IT. Думаю, что последняя тема больная для мног...

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

Ретроспектива граблей. Как самописное решение оказалось круче платного Привет! Меня зовут Алексей Пьянков, я главный программист в компании Спортмастер. Скажу сразу, что «главный» не значит «самый главный из всех программистов», нет, это только название, такой очаровательный перевод для «Senior+"». В компании Спортмастер я работаю с 2012 г...

Xiaomi создала самый монструозный смартфон на рынке, но насколько он прочный? Гигантский Black Shark 3 Pro прошёл испытания блогера Недавно компания Xiaomi представила один из самых впечатляющих современных смартфонов — Black Shark 3 Pro. Впечатляет он не только и не столько игровыми особенностями, а в первую очередь габаритами. Black Shark 3 Pro — единственный на сегодня смартфон с экра...

Open source: CI/CD и тестовая инфраструктура Авито для Android Мы вынесли в open source инфраструктуру Авито для Android: Gradle плагины, эмуляторы и библиотеки для тестов. Наш код будет полезен при автоматизации CI/CD, а также облегчит написание и поддержку автотестов. В этой обзорной статье мы расскажем, по...

[Из песочницы] Кастомные SwiftLint Rules Привет, Habr! Меня зовут Алексей, я iOS Developer в компании FINCH. Скоро Новый год — самое время чтобы начать жить по-другому, а поможет в этом такая классная штука как SwiftLint. В статье я расскажу, почему ее обязательно нужно внедрять во все проекты, включая legacy и pet...

Самый необычный процессор Intel засветился в первом тесте Год назад компания Intel представила уникальный и для себя, и для отрасли процессор. CPU Lakefield необычен во многом. Во-первых, это пятиядерный CPU. Во-вторых, ядра у него разные: одно «большое», как у процессоров Ice Lake, и четыре «маленьких»...

[Перевод] Пишем макет 16-битного ядра на C/C++ В первой и второй статьях я лишь коротко представил процесс написания загрузчика на ассемблере и C. Для меня это было хоть и непросто, но в то же время интересно, так что я остался доволен. Однако создания загрузчика мне показалось мало, и я увлекся идеей его расширения до...

Руководство по использованию Tarantool Cartridge в Kubernetes Привет, меня зовут Иван, и сегодня я расскажу как управлять приложением Tarantool Cartridge в кластере Kubernetes при помощи Tarantool Operator. Мы пройдем полный цикл от разработки до эксплуатации: Подготовим инструменты Создадим тестовое приложение Упакуем его в docker У...

Виртуальные машины и тест Гилева А давайте поговорим про синтетические тесты? Мы заметили, что часть клиентов использует их, оценивая «профпригодность» любого облачного решения. Иногда нас просят предоставить результаты какого-либо теста или сами проверяют систему во время бесплатного пробного периода. Прич...

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

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

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

[Перевод] Использование паттерна BFF для создания общих типов в бэкенде и фронтенде Контракт между бэкендным сервисом и фронтендным потребителем (или клиентом) обычно является местом соединения двух миров. Такой контракт может принимать форму спецификации REST API, конечной точки GraphQL, или чего-то другого. Главное, чтобы он сообщал обеим сторонам, чего ...

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

Изучаю Scala: Часть 1 — Игра змейка Привет Хабр! Когда я изучаю новый язык я обычно делаю на нем змейку. Может какому нибудь новичку который тоже изучает Scala будет интересен код другого новичка в этом ЯП. У опытных скалистов скорее всего мой первый код на Scala вызовет грусть. За подробностями добро пожалов...

[Перевод] Как я получил сертификат TensorFlow-разработчика (и как его получить вам) В начале мая я решил получить сертификат TensorFlow-разработчика. Для этого я разработал программу обучения для совершенствования своих навыков и выполнил задания сертификационного экзамена пару дней назад (3 июня). Оказалось, что я сдал экзамен успешно. Позвольте мне рас...

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

Увеличение чувствительности A/Б-тестов с помощью Cuped. Доклад в Яндексе CUPED (Controlled-experiment Using Pre-Experiment Data) — сравнительно новая техника A/Б-экспериментов. Она позволяет увеличить чувствительность метрик за счёт использования данных, полученных ранее. Чем больше чувствительность, тем более слабые изменения можно замечать и уч...

Xiaomi, Oppo и Huawei ищут бета-тестеров для Android 11: модели и ... Oppo, Xiaomi и Huawei объявила набор бета-тестеров для Android 11   Если прогноз инсайдеров сбудется, то завтра Google выкатит стабильную версию Android 11. Естественно, что целый ряд компаний уже готовят свои обновления для смартфонов до актуальной версии зеленого роб...

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

Фронтенд-разработка в компании: что это и как сделать её эффективной Мы в компании КОРУС Консалтинг СНГ уже больше десяти лет занимаемся организацией разработки веб-сервисов для наших заказчиков. У нас за плечами уже несколько десятков серьёзных проектов в банковской сфере, некоторые из них получили международное признание. За последние дв...

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

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

Как Moto RAZR проходит краш-тесты? Напоминаем, что 6 февраля в продаже появились новые смартфоны-раскладушки, реинкарнация легендарного телефона смартфон Motorola RAZR. Будем честны, после выхода о смартфоне почти ничего не было слышно. Видимо дело в том, что первые покупатели начали спокойно пользоваться уст...

Samsung нагло соврала? Экран Galaxy Z Flip прикрывает обычный пластик Samsung Galaxy Z Flip добрался до рук блогера JerryRigEverything, тесты которого на этот раз оказались весьма любопытными. Если точнее, то самый первый тест, который обычно можно пропускать. Речь о тесте защитного стекла либо, в редких случаях, пластика. Напомним, у все...

[Перевод] Обучение и оценка модели с Keras Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях: При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использова...

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

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

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

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

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

Что нового в TestMace часть 1. Облачная синхронизация, обновленный интерфейс и многое другое Всем привет! После долгого перерыва TestMace вновь вылезает из норы, чтобы поведать миру о новостях, связанных с проектом. Если кто забыл либо не читал статью о нас, TestMace — это IDE для работы с API. Наша тулза ставит целью покрыть весь спектр работ с существующим API, к...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

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

Как мы проводили accessibility-тестирование в Alfa Digital Цифровые продукты должны быть не только красивыми, удобными и приносящими прибыль, но и доступными для людей с ограниченными возможностями. Это важнее, чем кажется на первый взгляд. Иногда это приходится доносить до бизнеса, до Product Owner-ов и до непосредственных коллег. ...

Курс тестировщика пройден. А дальше что? Привет! На курсе «Инженер по тестированию» в Практикуме мы хотим не только обучить человека нужным навыкам, но и помочь выпускнику состояться в профессии. Поэтому у нас есть отдельное направление трудоустройства. Мы рассказываем, почему важно выбрать подходящую вакансию и ко...

Прозрачные процессы тестирования на удалёнке Публикуем статью Анастасии Шариковой — QA Lead в Bookmate и преподавателя профессионального курса «QA Lead», с программой которого мы приглашаем вас ознакомиться! Также приглашаем на бесплатный пробный открытый урок «Тестовое покрытие по Бейзеру», где Анастасия Асеева-Нгуе...

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

[Перевод] Резервирование констант и Git hooks на C# Позвольте мне рассказать вам историю. Жили-были два разработчика: Сэм и Боб. Они вместе работали над проектом, в котором была база данных. Когда разработчик хотел внести в неё изменения, он обязан был создать файл stepNNN.sql, где NNN — некоторое число. Чтобы избежать конфли...

На что способен самый мощный мобильный процессор AMD нового поколения. Первые тесты радуют В начале месяца компания AMD представила мобильные процессоры Ryzen 4000, которые должны появиться в ноутбуках уже в феврале. Старшим решением в линейке является Ryzen 7 4800H — восьмиядерный гибридный процессор с поддержкой SMT и частотами 2,9-4,2 ГГц. И сегодня ...

[Перевод] Как создать проект Django из шаблона И снова здравствуйте! Специально для студентов курса «Web-разработчик на Python» мы подготовили еще один интересный перевод. Шаблон проекта на Django – это естественный способ решения проблем, которые возникают, когда формат Django-проекта по умолчанию уже не отвечает тр...

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

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

Удалил порно с собой и стал помогать моделям: разработчик создал сервис, который блокирует украденные видео с OnlyFans В 2018 году ирландец Дэн Пёрселл стал жертвой пиратов: злоумышленники слили его откровенное видео с девушкой в сеть. Он добился удаления сам и теперь помогает другим, в основном угрожая законом, но иногда — шантажируя, пишет Bloomberg. ...

64-ядерный AMD Ryzen Threadripper 3990X уничтожает практически любой процессор Intel в новом тесте Пару дней тому назад мы писали о том, как 64-ядерный процессор Ryzen Threadripper 3990X разгромил куда более дорогой Intel Xeon Platinum 8280 в бенчмарке Geekbench 5. Сегодня появился еще один тест Ryzen Threadripper 3990X, только уже с применением платформы Linux. И в ...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

Kotlin: язык программирования как продукт Язык программирования — это тоже продукт. Он помогает разработчикам выражать свои идеи так, чтобы их мог интерпретировать компьютер. Может показаться, что развивать язык — это брать последние достижения теории языков программирования, реализовывать их и из года в год выкатыв...

6 мощных инструментов для разработчиков, использующих Mac Я занимаюсь разработкой программного обеспечения на платформе Mac более 15 лет, и за это время я постепенно создал коллекцию инструментов и утилит, которые помогают мне в повседневной разработке. Некоторые из этих инструментов помогают процессу написания или организации кода...

Между дизайн-системой и Server Driven UI Введение (как устроена разработка в ivi) Всем привет! Меня зовут Владимир Касаткин, и я работаю бэкенд-разработчиком в компании ivi.ru, в команде "UX". Цель этой статьи — показать, как мы уменьшили объём клиентской разработки, но при этом увеличили количество прово...

Языковые модели как двигатель прогресса: необычные применения для GPT-3 В начале лета разработчики из OpenAI представили языковую модель GPT-3, созданную для написания связного текста на основе заданного материала. Её обучали на 570 гигабайтах содержимого веб-страниц, википедии и художественной литературы, что почти в 15 раз превышает объем да...

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

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

Обучение программированию 2019, или в поисках идеальной программы: Последовательность Здравствуйте, меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО. Увлекаюсь разработкой игр и обучением программированию. Предисловие Осенью 2019-го я в третий раз участвовал в курсе обучения ребят 10-15 лет программированию в качестве одного из преподава...

Принимаем платежи по Системе быстрых платежей (СБП) Всем привет! Меня зовут Тамара, я работаю в Тинькофф и отвечаю за торговый эквайринг и онлайн-кассы. Недавно на рынке появился новый способ оплаты покупок — по QR-коду через Систему быстрых платежей (СБП). Однако пока в сети мало информации о том, как все работает. В этой ст...

Кто умнее чем IDEA? Два года назад я вызвался постоять на стенде нашей компании JetBrains на последней конференции JBreak в Новосибирске. Перед конференцией мне спустили сверху вот такие карточки: И сказали, мол, ну раздай каким-нибудь людям на конференции на своё усмотрение. Я запаниковал. Ка...

Разработка своей Just Shapes & Beats и как всё началось Здравствуйте, мне 16 лет и я люблю играть в Just Shapes & Beats (JSAB). Одним прекрасным днём я узнал о такой игре, как JSAB. Я был очень поглощён геймплейной частью, разработчики создали больше 30 уровней из простых геометрических фигур - это же гениально! Но просто так...

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

Xудшие практики для Ansible. Георгий Шуклин Приветствую всех! Меня зовут Георгий. Я работаю в компании servers.com. Я пришел рассказать про Ansible: про хороший Ansible и про плохой Ansible в основном, т. е. про то, как люди могут плохо делать на Ansible. Читать дальше →

Добавляем в плеер функцию Ambilight при помощи умных ламп Xiaomi Всем привет! Думаю многие, интересующиеся умным домом или просто технологичным обустройством своего жилища, задумывались об «атмосферной» и нестандартной осветительной системе. Один из способов такого «необычного» освещения комнаты во время просмотра фильмов предлагает к...

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

Создаем готовый для опенсорса проект на Angular в пару кликов Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но в...

[Перевод] Какую кибердеку я бы хотел сделать для себя Перевод статьи из блога AbcLinuxu В 2016 году я создал сабреддит /r/cyberDeck. Отчасти потому, что меня вдохновила статья о создании кибердеки, а отчасти из-за нескольких обсуждений в IRC, в которых я принимал участие, и поскольку мне кажется, что эта идея – нечто большее, ...

Графики в Vuejs Я доволен экосистемой Vue. Как и положено, ты не городишь велосипеды, а пользуешься готовыми плагинами, которые за тебя написали умные дядьки. Когда твоя задача слишком мелкая и локальная, чтобы под неё написали плагин — ты идёшь и ищешь готовые компоненты, и только если н...

Как разговорить Марусю: FAQ по созданию скиллов для голосового ассистента Голосовые помощники как технология возникли благодаря развитию целого созвездия других технологий. И одним из таких голосовых помощников стала Маруся, относительно недавно созданная в Mail.ru Group. В её основе лежат последние разработки компании в области распознавания ре...

Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2019 году Привет. Меня зовут Вадим и я занимаюсь развитием IT-тусовок в Ростове. В 2016 году spasibo_kep написал статью "Едем в город южный: как живут разработчики в Ростове-на-Дoну" о Ростовском IT. Пришло время её обновить, тем более, что Ростов в 2019 году стал 4ым в Рос...

Siri на HomePod справилась с командами хуже, чем Alexa и Google Assistant Так как HomePod теперь доступна для всех желающих, ее подвергают различным тестам. В частности, исследовательская фирма Loup Ventures протестировала умную колонку Apple и опубликовала результаты тестов, сравнив их с результатами тестов умных колонок других производителей. Lo...

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

Артемий Рябинков (Avito): Graceful Shutdown в Go-сервисах и как подружить его с Kubernetes Выступление на Go 1.10 Release Party @ Badoo Артемий рассказал про подходы к безопасному завершению работы многопоточных программ на Go, в частности о том, как контролировать горутины и управлять ими. Объяснил, почему во время выкатки сервисов в Kubernetes пользователям м...

[Перевод] Телефон шпионил за мной, поэтому я нашёл тех, кто использует данные слежения СЛЕЖКА: Американская компания имеет информацию о моём местоположении. В моём телефоне 160 приложений. Я не знаю, что они делают, но решил это выяснить. У меня было ощущение, что эти приложения шпионят за мной. Конечно, не прослушивают меня, но постоянно следят за тем, где...

[Перевод] Как в Python реализованы очень длинные числа типа integer? Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет ис...

Что бы я хотел знать когда начинал изучать Django? — очень общий взгляд Здесь на Хабре много различных инструкций по использованию Django. Эти инструкции часто включают много кода и представляют последовательность шагов, которые нужно сделать, чтобы создать проект. Когда я начинал изучать Django и Wagtail по таким инструкциям, меня часто смущал...

n8n. Автоматизация ИБ со вкусом смузи Всем давно очевидна польза тотальной автоматизации, в том числе, и в области информационной безопасности. В условиях большого кадрового дефицита как никогда актуальна идея снятия рутинной рабочей нагрузки как со специалиста по информационной безопасности, так и со специалист...

Как я не стал продакт-менеджером после обучения в Product Univercity Морейниса и Черника Всем привет. Решил написать свою первую статью на VC, но главреда меня забанил, потому что я попросил поставить плюсики друзей, а перед этим три раза дешёвая рабочая сила снимала мою публикацию по каким-то неведомым причинам, и описать свой опыт поиска работы продакт-менедж...

[Перевод] Мои десять лет в геймдеве Привет! Меня зовут Нико Туасон, я разработчик инди-игр из Филиппин. В этом году исполняется десять лет с того момента, как я начал свой путь в геймдеве. Я хотел бы поделиться с вами историей всей моей карьеры – провалами, триумфами, важными жизненными событиями. Надеюсь, вы ...

Сам себе Роскомнадзор. Как я заблокировал соцсети У меня отключена лента Фейсбука и Вконтакте, нет подписок в Инстаграме, Ютубе и Твиттере. При этом я ниоткуда не удалялся, в монастырь не уходил и продолжаю вести нормальную жизнь человека 2020 года. Надевайте шапочку из фольги и присаживайтесь поудобнее, я расскажу о своё...

[Перевод] Расширьте возможности машинного обучения Azure с помощью расширения VS Code Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерф...

Битва снифферов: Charles vs Proxyman Привет, меня зовут Даша, я работаю тестировщицей клиентского мобильного приложения в компании Ozon.Сегодня поговорим о снифферах в тестировании мобильных приложений –– программах для перехвата, анализа и модификации трафика. Пожалуй, самый популярный сниффер из тех, о которы...

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

Рекомендательные системы, основанные на графах Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением ...

Материалы с казанского митапа по фронтенду: Phoenix LiveView, фронтопс, JSON:API Привет, Хабр! 15 февраля прошёл наш митап по фронтенду в Казани. С докладами выступали разработчики из компаний Provectus, Spiral Scout и Neuron.Digital. Мы обсуждали спецификацию JSON API, фронтенд без использования JS и вопрос о том, кто помож...

В AnTuTu объявили нового рекордсмена по производительности среди смартфонов Команда популярного бенчмарка AnTuTu опубликовала официальные результаты тестирования новой флагманской платформы Snapdragon 865 производства Qualcomm.  Как отмечается в сообщении, во время недавнем мероприятии Qualcomm Snapdragon Tech Summit 2019 было сделано нем...

«Мне страшно». Что делать? Всем привет! Меня зовут Анастасия, я практикующий психолог. И это будет мой первый пост на Хабр. Честно говоря, я к нему шла больше двух лет: боялась, что слог не получится сделать красивым и правильным. Что будет неинтересно. Ну и что скрывать, я волновалась, какая будет ре...

[Из песочницы] Пишем простую игру на python Сегодня мы создадим всем известную игру камень, ножницы, бумага. В этом нам поможет ЯП python и библиотека tkinter, но если вы не знаете что это такое, советую почитать данную статью. Первое, что нам нужно, это начальная структура, окошко, у меня оно будет выглядеть так: f...

DOU.UA: Сколько получают в 2020 году украинские IT-специалисты, которые не относятся к разработчикам и тестировщикам (PM, HR, DevOps, Data Analyst и т.д.) После рассказа об актуальных зарплатах украинских разработчиков и тестировщиков ресурс DOU.UA опубликовал заключительную часть исследования, в которой рассказал о том, сколько получают остальные IT-специалисты. В данный раздел попали менеджеры, дизайнеры, специалисты по HR, ...

[Личный опыт] Из соискателя в наниматели: продакт советует, как проходить интервью в США Привет! Меня зовут Анна Наумова, сейчас я работаю старшим менеджером по продукту (Senior Product Manager) в компании Zello в Остине, штат Техас. Сначала я сама прошла 110 собеседований в Америке, а теперь сижу по другую сторону стола и...

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть I За прошлый год я собрал и настроил автоматизацию для небольшой квартиры около оживленной дороги. В этой статье я расскажу об использованных решениях в климатической системе, освещении, мультимедиа и в программном обеспечении. Читать дальше →

Раджа Кодури: Intel создаёт огромный кристалл Xe HP — «отец всех чипов» Intel готовит свой дискретный графический ускоритель Xe, и главный архитектор Intel Раджа Кодури (Raja Koduri) поделился некоторыми намёками относительно грядущего флагманского кристалла. Недавно он посетил команду инженеров в индийском Бангалоре и написал об этом короткую п...

Головоломка для ИИ Как я обучал агента собирать клетку 2048 в игре “2048”Привет! Меня зовут Ринат Максутов, я работаю в подразделении Intelligent Engineering Services департамента Technology российского офиса компании Accenture, и веду проекты по заказной разработке. За свою многолетнюю карьер...

[Перевод] Создание тёмной темы для Stack Overflow 30 марта 2020 года разработчики Stack Overflow дали посетителям сайта возможность пользоваться бета-версией тёмной темы. Материал, перевод которого мы публикуем, посвящён рассказу о том, как создавалась тёмная тема Stack Overflow. Баннер на Stack Overflow, который позволяе...

Тесты Exynos 2100 и Snapdragon 888 Exynos 2100 был выпущен как усовершенствование по сравнению с Exynos 990 и призван превзойти Exynos 990. Snapdragon 888 с улучшенной энергоэффективностью по сравнению с предыдущей моделью. Однако процессор не соответствует возможностям Snapdragon 888. В сети опубликовали це...

Автотесты на Android. Картина целиком Всем привет! Автотесты под Android — это непросто. Чтобы выстроить процесс автотестирования, надо запланировать и решить множество задач. Но самая большая беда заключается в том, что нигде нет полного описания, что вообще включает в себя автотестирование под Android, каковы...

Автоматизация ввода в SecureCRT с помощью скриптов У сетевых инженеров часто возникает задача, выполнить copy/past определенных фрагментов из блокнота в консоль. Копировать приходиться обычно несколько параметров: Username/Password и что-либо еще. Ускорить этот процесс позволяет использование скриптов. НО задачи написание ск...

Разработчики красивой головоломки Lo-Fi Room ищут людей на бета-тестирование В начале ноября мы рассказали о предстоящей музыкальной игре Lo-Fi Room. Сейчас стало известно, что перед релизом в следующем году на Android и PC разработчик этого проекта хотят провести бета-тестирование и для этого им нужны желающие геймеры. Если вы хотите помочь, то надо...

Тест на знание 3D печати и 3D принтеров Всем здравствуйте. Здесь на сайте очень много тестов пластиков, принтеров, плат и прочих нужных в нашем деле вещей, а теста на знание 3Д печати нет.Наблюдая за тем, как пользователей становится все больше и больше, соответственно и вопросов у них появляется все больше и боль...

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

РИТ, Максим Лапшин (Erlyvideo): как программисту вырастить компанию РИТ++ 2017, Whale Rider. Зал «Конгресс-холл. 6 июня, 13:00. Тезисы. В докладе я хочу рассказать о собственном опыте органического развития компании, продающей b2b серверный софт без инвестиций. Я начинал с ковыряния just for fun в том, что мне было интересно, потом был го...

Как передать ссылку с iPhone на любое устройство с браузером Нам пишет разработчик приложения LinkBridge На AppleInsider.ru довольно давно существует рубрика Dev Story. В ней разработчики рассказывают про опыт создания своих приложений. Но что-то в последнее время их почти не стало. С тех ламповых времен, когда игры имели Lite и полн...

Дискретная математика на экзамене в ШАД Привет! Меня зовут Азат, я создаю курсы по подготовке к экзамену в ШАД. Недавно мы запустили курс по дискретной математике, поэтому наша команда активно прорешивает задачки по соответствующей теме. После разбора экзамена в ШАД 2019 года мы увидели большой интерес пользовател...

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

Представляем Quarkly – инструмент для react-разработчиков и дизайнеров, который поможет оптимизировать вашу разработку Всем привет! Идеологически Quarkly – это проект, который призван упростить жизнь веб-разработчикам и веб-дизайнерам. В этом посте я коротко расскажу, за счет чего это возможно. Прежде всего, давайте посмотрим, как выглядит типичный цикл разработки веб-приложения в 2020 году?...

[Перевод] Типовые ситуации при непрерывной интеграции Вы изучили команды Git но хотите представлять, как непрерывная интеграция (Continuous Integration, CI) происходит в реальности? Или может вы хотите оптимизировать свои ежедневные действия? Этот курс даст вам практические навыки непрерывной интеграции с использованием репозит...

Использование перехватов операций для бэкапа файлов в macOS “на лету” Привет, Хабр! Меня зовут Денис Копырин, и сегодня я хочу рассказать о том, как мы решали проблему бэкапа по требованию на macOS. На самом деле интересная задача, с которой я столкнулся в институте, выросла в итоге в большой проект по работе с файловой системой в macOS и стал...

[Перевод] Vulkan-tutorial. Урок 1.1 — Вступление В связи с тем, что у меня не так много времени для ресерча каких-то новых штук и написания статей о них, я решил перевести серию уроков по Vulkan. Надеюсь, что мои переводы будут кому-то полезны и не очень плохого качества. Для начала обучения — прошу под кат. Автор ориги...

Бережливые испытания, или Как мы заглянули в пекло Спойлер. Во время испытаний ни одна камера не пострадала. Но это не точно.  Давайте знакомиться — меня зовут Ольга. Я работаю в компании Datana. Чем мы занимаемся в Datana? Помогаем производить лучшую сталь в мире, из которой делают рельсы, трубы, здания, мосты, ледоколы, а...

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions. На дворе 2020 год, а мы продолжаем обсуждать «нововведения» ES6-синтаксиса и преимущества MobX над Redux. Существует много причин использовать Redux в своем проекте, но так как я не знаю ни одной,...

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

Как работает система Marketplace efficiency для сервисов доставки продуктов Привет, Хабр! Меня зовут Артём Селихов, я Product manager в команде СберМаркета, и я отвечаю за управление программными продуктами для операционных процессов, которые мы разрабатываем для наших партнеров — курьеров и экспертов по закупке. В первом посте мы уже рассказывали...

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

[Из песочницы] Быстрый деплой vm ESXi с помощью Terraform Всем привет, меня зовут Иван и я алкоголик системный администратор (OPS). Я бы хотел рассказать как разворачиваю виртуальные машины на ESXi без vCenter с помощью Terraform. Читать дальше →

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

Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2 В прошлом году популярный сервис мониторинга Zabbix представил Agent 2, призванный сократить число TCP-подключений и обеспечить удобную расширяемость за счёт плагинов на Golang. Меня зовут Даша и я один из разработчиков плагина мониторинга PostgreSQL для Zabbix Agent 2. В эт...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

[Перевод] Как устроен процесс создания docker-контейнера (от docker run до runc) Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». За последние несколько месяцев я потратил немало личного времени на изучение работы Linux-контейнеров. В частности, что конкретно делает docker run. В этой статье я соб...

[Из песочницы] О команде ракетчиков, которые смогут Немного о себе Так случилось, что я после школы поступил учиться в Московский авиационный институт (МАИ) на 601 кафедру, аэрокосмический факультет. Учился я проектированию космических аппаратов и разгонных блоков. С 2004 года я пошёл работать в проектный отдел КБ «Салют» (ФГ...

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

[Из песочницы] Как я осуществил свою мечту, побывав в российском офисе Microsoft Всем привет! Живу в Саратове с родителями. У меня аутизм. Я ИТ-самоучка с 10-ти летним опытом самообразования и работы. Системное администрирование, администрирование мобильных устройств и веб-разработка — это то, что я учу и над чем я часто практикуюсь. 2019 год получился в...

Графический процессор AMD для платформы Samsung обошел по производительности графику в Snapdragon 865 Samsung и AMD заключили партнерское соглашение в середине 2019 года, а первый совместный коммерческий продукт – однокристальная система Samsung со встроенным графическим процессором AMD – появится только в 2021 году. Но уже сейчас источник поделился рез...

UserBenchmark опубликовал результаты тестов Ryzen 7 3700X под видом Ryzen 74700G Недавно известный пользователь momomo_us обнаружил запись с рекордным тестированием процессора AMD Ryzen 7 4700G на UserBenchmark.

Руководство по тестированию подписок на iOS Тестирование подписок в App Store невероятно важно, но провести нормальные тесты всегда было  очень сложно. Документация Apple традиционно практически отсутствует, а инструментами Apple никогда не славилась. Это руководство подробно расскажет вам о том, как протестировать ра...

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

Организация Flavors во Flutter Для чего нужны Flavors Представьте ситуацию: есть приложение с аналитикой. Есть команда разработки, тестировщики и конечные пользователи. И те, и те пользуются одной версией приложения. Допустим мы хотим проанализировать насколько пользователям интересна фича А. Что в этом с...

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

Нейросеть с нуля своими руками. Часть 1. Теория Здравствуйте. Меня зовут Андрей, я frontend-разработчик и я хочу поговорить с вами на такую тему как нейросети. Дело в том, что ML технологии все глубже проникают в нашу жизнь, и о нейросетях сказано и написано уже очень много, но когда я захотел разобраться в этом вопросе, ...

Специфицируй это. Доклад Яндекса Хорошая спецификация к API помогает клиентам его использовать. Несколько месяцев назад на большом Pytup разработчик Яндекса Александр Брязгин bryazginnn выступил с докладом о том, что собой представляет спецификация REST API на примере OpenAPI + Swagger и зачем нужна такая с...

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

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

[Из песочницы] О работе ПК на примере Windows 10 и клавиатуры ч. 1 Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Window...

От десктопа до виртуального ЦОД — как мы к виртуализации шли At The Beginning… В начале 2000-х на рынок автоматизации телеком-компаний в России зашли иностранные игроки. Системы западных вендоров были очень дорогими и недоступными не только среднему рынку, но и большинству крупных компаний. Отечественные решения на тот момент были мен...

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

Новые модели поиска и анализа данных. WSDM 2020 глазами команды Яндекс.Толоки Международные научные конференции помогают следить за трендами в индустрии, узнавать о передовых разработках ведущих компаний, университетов и рассказывать о себе. Конечно, это относится только ко времени, когда мир не погружён в пучину пандемии. До того, как все страны пе...

Cравнение Kirin 820 5G и Snapdragon 765G показывает превосходство чипа Huawei В конце марта Huawei представила новую однокристальную систему среднего уровня с поддержкой 5G — Kirin 820, которая легла в основу нового Honor 30S. Ещё накануне его запуска стало ясно, что по производительности он обойдёт Snapdragon 765G. Но остановимся на отличиях подробне...

В Китае создан робот, помогающий в лечении больных COVID-19 Исследователи из одного из ведущих университетов Китая разработали робота, который, по их словам, может помочь спасти жизни во время вспышки коронавируса. Аппарат состоит из роботизированной руки на колесах, которая может выполнять УЗИ, брать мазки изо рта и прослушива...

Обнажённая электроника — бесплатные фото без СМС и регистрации Привет, Интернет. В процессе работы над проектом Nude Electronics Art я сделал достаточно качественные фотографии электронных плат и решил поделиться ими со всеми. Вы можете скачать их бесплатно на сайте Pixabay, в том числе для коммерческих целей. Коллекция будет потихонь...

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

Powershell настоящий язык программирования. Скрипт оптимизации рутины в техподдержке Работая в компании IT-аутсорса в качестве руководителя 3 линии поддержки, задумался, как автоматизировать подключение сотрудников по RDP, через VPN к серверам десятков клиентов.Таблички с адресами, паролями и прочими настройками серверов, конечно, хорошо, но поиск клиента и ...

Укрощая зверя: legacy-код, тесты и вы Legacy-код — это «старый» код, возраст которого может быть как 2 месяца, так и 10 лет. Часто его писали разработчики, о которых в компании смутно помнят. Возможно, их вообще не было, а legacy-код родился вместе со Вселенной во время Большого Взрыва. С тех пор требования к не...

64-ядерный Ryzen Threadripper 3990X разгромил в тестах все процессоры Intel, включая Xeon стоимостью $20 000 За несколько дней до начала продаж в базах SiSoftware, GeekBench и UserBenchmark появились бенчмарки 64-ядерного процессора AMD Ryzen Threadripper 3990X. Теперь можно на фактах убедиться, насколько далеко компания AMD вырвалась вперёд в технологической гонке благодаря внед...

[Из песочницы] Быстрое ознакомление с SwiftUI SwiftUI — это новый удобный способ для создания пользовательских интерфейсов на Xcode. Если хотите быстрое ознакомление с SwiftUI, тогда этот блог пост для вас. Для начала давайте создадим проект с поддержкой SwiftUI. Минимально необходимые для этого требования системы — эт...

Пишем API на Rust с помощью процедурных макросов Процедурные макросы в Rust — это очень мощный инструмент кодогенерации, позволяющий обходиться без написания тонны шаблонного кода, или выражать какие-то новые концепции, как сделали, к примеру, разработчики крейта async_trait. Тем не менее, многие вполне обоснованно побаива...

JavaScript Hiring Week: оффер и welcome-бонус за 24 часа До 19 марта отправь заявку на Hiring Week и получи оффер без резюме и тестового задания! Участвуют программисты из всех городов России - выбор между удаленкой и релокацией за тобой. Набираем команду frontend и backend разработчиков в проект по созданию медицинских веб-порт...

Samsung готовится представить свою функция для обмена ... Для пользователей Android-устройств обмен файлами был не самой простой задачей. В свое время был Android Beam, но он так и не снискал популярности. Недавно Google создала функцию Fast Share, но не на всех устройствах она работает корректно.   Ряд производителей взялис...

Уйти во фронтенд после декрета, стать синьором в Gitlab и core team member Vue.js Наш новый формат — прямые эфиры с успешными разработчиками и айтишниками, на которых вы можете задать вопрос профессионалу и получить ответ из первых рук развивается дальше. 25 мая на ваши вопросы будет отвечать Наталья Теплухина, Vue.js core team member, GoogleDevExpret ...

[Перевод] Пишем babel плагин, пошаговое руководство Сегодня я поделюсь с вами пошаговым руководством как написать свой babel плагин. Вы сможете использовать эти знания для автоматизации правок, рефакторинга или кодогенерации. Читать дальше →

Wargaming провела «Стрим года», где рассказала о планах на будущее Недавно Wargaming провела «Стрим года» в Москве, где в окружении блогеров, разработчиков и фанатов рассказала о своим планах на следующий год. За самой четырехчасовой трансляцией следило больше 2,5 миллиона человек. Битва блогеров В начале 2020 года в World of Tanks...

Valve обновляет карточную игру Artifact Больше года назад компанией Valve была представлена карточная игра Artifact. Но проект оказался провальным. Компания все равно получила опыт, прислушалась к мнению игроков и сделала работу над ошибками. Команда разработчиков усердно работает над улучшением карточной игры....

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

Вжух, и прогоны автотестов оптимизированы. Intellij IDEA плагины на службе QA Automation Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при помощи IntelliJ IDEA плагина. Я расскажу о внутреннем устройстве плагина и о том, какие п...

WebAuthn в реальной жизни В сентябре 2019 года команда Почты Mail.ru поддержала технологию WebAuthn. Мы стали первым в мире сервисом электронной почты, который реализовал возможность входа в аккаунт с использованием электронных ключей вместо паролей. Сейчас эта возможность доступна всем нашим пользов...

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

Запуск команд в процессе доставки нового релиза приложения в Kubernetes В своей практике мы часто сталкиваемся с задачей адаптации клиентских приложений для запуска в Kubernetes. При проведении данных работ возникает ряд типовых проблем. Одну из них мы недавно осветили в статье Локальные файлы при переносе приложения в Kubernetes, а о другой, ...

[Перевод] Разработчики open source проектов пишут письмо GitHub Дорогой GitHub, Почти 4 года назад группа разработчиков ПО с открытым исходным кодом написала вам письмо. В нем мы выразили свое разочарование тем, что платформа, которую мы так сильно любим, игнорирует нашу просьбу о помощи. Вы стали работать над собой — обращали внимани...

[Из песочницы] Создание системы антифрода в такси с нуля Добрый день. Меня зовут Никита Башун, работаю дата-аналитиком в группе компаний «Везёт». Мой рассказ будет о том, как мы командой из трёх человек с нуля создавали систему антифрода для сервиса заказа поездок. Читать дальше →

Самый популярный Linux побил Windows 10 в тесте на производительность Основатель Phoronix Media и главный разработчик Phoronix Test Suite Майкл Ларабел (Michael Larabel) провёл интересный тест производительности Windows 10 и Ubuntu.  Ubuntu разрабатывается организацией Canonical и представляет собой самый популярный десктопны...

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

Бинарная совместимость Reaktive: как мы её обеспечиваем Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. Любая библиотека должна по возможности соблюдать бинарную совместимость. Если разные версии библиотеки в зависимостя...

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

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

Ryzen 3 3100 сравнили с Core i3-10100 в тесте Fire Strike В сети появился новый тест конкурирующих бюджетных процессоров AMD Ryzen 3 3100 (Matisse) и Intel Core i3-10100 (Comet Lake-S) в тестах 3D Mark Fire Strike и Time Spy. Напомним, что оба изделия характеризуются четырьмя ядрами, восемью потоками и уровнем TDP 65 Вт. При этом у...

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

Фреймворконезависимый фронтенд GoF, Чистая архитектура, Совершенный код — настольные книги «true программиста». Но в мире фронтенда многие идеи из этих книг недоступны. По крайней мере сходство с реальным миром найти очень сложно. Может быть современный фронтенд опережает время? Может быть «функциональное...

[Перевод] Управление датчиками умного дома при помощи Google Assistant Здравствуйте, коллеги в этом руководстве расскажу как при помощи Google Assistant и протокола mqtt управлять датчиками умного дома, на примере платы ESP8266 и светодиода. Также создадим свое приложение для Assistant с блэкджеком и php скриптами. Всех желающих прошу под кат. ...

Перевести речь в текст на iOS, используя Speech framework Сегодня мы будем переводить речь в текст. Сначалa убедитесь, что у вас установлена последняя версия iOS и Xcode. Для Speech Framework нужна минимум iOS 10. Я создал проект с поддержкой SwiftUI, для этого нужна iOS 13. Но это не обязательно, можете использовать Storyboard. Е...

Больше функций для своей системы: интеграция телефонии и CRM/ERP/Helpdesk. Что, как и почему? Любая компания стремится к росту — менеджеры к новым клиентам и большим доходам, а разработчики систем автоматизации — к увеличению важных и полезных функций сервисов. И их цели связаны между собой. Как минимум тем, что большинство подобных разработок помогают зарабатывать...

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

API Style Guide, или не заставляйте пользователей думать Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API. Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтоб...

MyApp extends Holiday Я уверен, что среди уважаемой аудитории найдутся те, кто меня поймет. Дело в том, что во всем изобилии популярных библиотек и фреймворков для веб-фронтэнда, лично мне, не нравятся, практически, все альтернативы. В каждом из вариантов я нахожу для себя существенные минусы, к...

Сервис для Active Restore или история одного индустриального проекта в Иннополисе Привет, Хабр! Меня зовут Роман, и я хочу рассказать сегодня о том, как мы в университете Иннополис разрабатывали тестовый стенд и сервис для системы Acronis Active Restore, которая скоро должна стать частью продуктовой линейки компании. Всех, кому интересно, как строятся вза...

Выбор хорошего инструмента для хранения тест документации и сравнительный анализ 3 выбранных инструментов Ведение документации для тестирования в Google-доках и Google-таблицах — не лучший способ работы с тестовой документацией. Такой подход имеет свои недостатки. В этой статье я расскажу, как мы перешли от хранения тестовой документации с Google docs к специализированным SaaS-р...

ViennaNET: набор библиотек для backend’а Всем привет! Мы сообщество .NET-разработчиков Райффайзенбанка и мы хотим рассказать про набор инфраструктурных библиотек на .NET Core для быстрого создания микросервисов с единой экосистемой. Вывели его в Open Source! Читать дальше →

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

Обновленный плагин YouTrack для IDE на платформе IntelliJ Привет Хабр!В командах разработки трекеры задач и IDE редко существуют друг без друга. Поэтому мы решили существенно «проапгрейдить» плагин YouTrack для IDE на платформе IntelliJ. Плагин интегрируется с вашими любимыми IDE от JetBrains — AppCode, CLion, DataGrip, GoLand, Int...

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

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

[Перевод] Инструмент для отслеживания DNS-запросов: dnspeep Недавно я создала небольшой инструмент под названием dnspeep, который позволяет понять, какие DNS-запросы отправляет ваш компьютер и какие ответы он получает. Всего мой код занял 250 строк на Rust. В этой статье я расскажу о коде, объясню, для чего он нужен, почему в нём воз...

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

[Из песочницы] 1С-Битрикс и попытка его внедрения Привет, друзья! Меня зовут Петр, я представитель малого белорусского бизнеса со штатом чуть более 20 сотрудников. В данной статье хочу поделиться негативным опытом покупки 1С-Битрикс. Читать дальше →

Как «раскирпичить» STM32 Здравствуйте! Меня зовут Дмитрий Руднев. В этой публикации я поделюсь своим горьким опытом. В современной разработке широко используются микроконтроллеры STM32. Они обладают неплохим соотношением цена/производительность, вокруг них сложилась развитая «экосистема». Для прош...

[Из песочницы] Лайфхаки разработчикам от рекрутера Недавно на Хабр вышел перевод статьи «Оцениваем рекрутеров по холодным письмам». Примечание переводчика и 120 комментариев показывают, что тема болезненна для русскоязычных разработчиков, а рынок рекрутинга в IT токсичен. С одной стороны страдают разработчики: завал писем на...

«Яндекс» начал доставку тестов на коронавирус Как сообщает ТАСС со ссылкой на письмо генерального директора «Яндекса» Елены Буниной сотрудникам компании, компания начала осуществлять доставку тестов на коронавирус для своих сотрудников. «Сегодня мы получили тесты и готовы начать тестировать наш сервис в Москве. С вашей ...

В РФ зарегистрировали тесты на антитела к COVID-19 Как сообщает РИА Новости, на заседании комитета Госдумы по охране здоровья министр здравоохранения РФ Михаил Мурашко рассказал, что на сегодняшний день в стране зарегистрировано несколько тест-систем на антитела к коронавирусу. «Количество ПЦР-систем сегодня в стране уже дос...

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

Как компании улучшают свои приложения с помощью A/B-тестирования A/B-тестирование делает приложения лучше Мелкие компании вряд ли станут заниматься подобным видом тестирования своих продуктов. А/B-тестирование — важная часть бизнеса, который так или иначе связан с технологиями. Его суть заключается в одновременном тестировании разли...

Изучаем VoIP-движок Mediastreamer2. Часть 10 Материал статьи взят с моего дзен-канала. В прошлой статье мы сделали дуплексное переговорное устройство, выполняющее обмен звуковым сигналом через дуплексную RTP-сессию. В этой статье мы научимся писать фильтры и добавим сделанный своими руками фильтр в сделанное своими рук...

Как мы интегрировали Яндекс.Музыку с Siri. Доклад Яндекса Siri — мощный инструмент с публичным API для сторонних приложений. Например, музыкальных. В докладе я рассказал, как начать разработку обработки голосовых медиазапросов от Siri, используя Intents.framework. Поделился нашим опытом — с чем пришлось столкнуться, чего нет в доку...

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

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

Самодельный лидар: OpenTOFLidar В этой статье я хочу рассказать про свой проект импульсного (TOF) Open Source лидара — о том как я его делал, и каких результатов удалось добиться. Читать дальше →

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

[Перевод] Поиск лучшего фронтенд-инструмента 2021 года Любой, кто начинает карьеру в сфере разработки программного обеспечения, скорее всего столкнётся с задачей выбора первого языка, фреймворка или набора инструментов. Уверен, каждому из вас это знакомо. Ответ на вопрос о том, что нужно изучать самым первым, найти не так уж и п...

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

Вкусовщина и AI: как мы в Prisma Labs делали объективно субъективный автоматический улучшатель фотографий Привет, Хабр! Меня зовут Андрей, я занимаюсь R&D в Prisma Labs. В своё время наша команда провела весьма интересное исследование на тему автоматического улучшения фотографии, результатом которого стала фича “AutoAdjustment” в приложении Lensa, позволяющая в один клик сде...

Как оценить уровень владения Английским языком На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оцени...

Удаленка Challenge Друзья, привет! Меня зовут Станислав Саввин, и сегодня я хотел бы рассказать, как инфраструктурной команде Росбанка удалось за 10 дней в 7 раз нарастить количество удаленных подключений и перевести более 85% сотрудников на удаленку, не уронив при этом эффективности работы ...

Быстрее, выше, сильнее: Clear Linux — самый быстрый дистрибутив для x86-64? На днях ресурс Phoronix опубликовал результаты тестов скорости работы разных дистрибутивов Linux на системе с Core i9 10980XE. Тестирование проводилось со сборками Clear Linux 33540 (самая новая на момент теста), Clear Linux 31480 (конец 2019 года), Endeavour OS Rolling,...

[Перевод] Создание вашего первого модуля Ansible В этом блоге я расскажу, как создать свой первый модуль Ansible. Конечно, есть документация, доступная и на Ansible.com, но разобраться в ней достаточно трудно. Запуск своего первого модуля на основе этого введения дался мне с большим трудом. Вот почему я создал это пошагов...

[Перевод] Как я модернизировал свою Flash-игру В этом посте я расскажу о том, как перенёс свою Flash-игру Frog Fractions на современную платформу. В результате я создал частично автоматизированный порт на Unity при помощи Haxe. Пост будет интересен всем, кто пытается модернизировать свою кодовую базу на Flash. В посте б...

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

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

Перфекционизм, отмена: как техническим специалистам писать статьи Цитата анонимного тимлида о том, как он обычно готовит текст: «Написание статьи технические специалисты обычно воспринимают так: автор сформулировал тему, немного подумал, сел и выдал текст сразу на чистовик. Естественно, в реальности все работает по-другому. Из-за этого &...

Графика в терминале Эта история началась, когда я узнал о существовании bpytop. Меня поразила детализация графиков и я начал разбираться как это сделано. Оказалось, что для вывода графиков использовались символы алфавита Брайля, представляющие из себя комбинацию из 8 точек: 2 точки в ширину и 4...

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