Социальные сети Рунета
Вторник, 19 марта 2024

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

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

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

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

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

Мониторинг бизнес-процессов Camunda Привет, Хабр. Меня зовут Антон и я техлид в компании ДомКлик. Создаю и поддерживаю микросервисы позволяющие обмениваться данными инфраструктуре ДомКлик с внутренними сервисами Сбербанка. Это продолжение цикла статей о нашем опыте использования движка для работы с диаграмм...

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

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

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

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

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

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

На следующей неделе новый Windows Terminal получит ретро-режим в стиле CRT, поиск и многое другое В прошлом году Microsoft выпустила новое приложение командной строки Windows Terminal для Windows 10. С тех пор разработчики без устали обновляют и совершенствует ПО. На подходе очередное обновление, оно выйдет уже на следующей неделе и принесет заметное визуальное изменение...

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

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

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

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

WebRTC через Kurento: опыт тестирования и внедрения В этой статье я поделюсь опытом работы с технологией WebRTC и медиасервером Kurento на этапе тестирования и внедрения. Расскажу с какими проблемами я столкнулся и как их решил. Я не расскажу о том как разработать приложение с нуля, но приведу много полезных ссылок. Уверен, ...

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

В Windows 10 стал доступен визуальный поиск Microsoft объявил о добавлении функции визуального поиска в поисковую строку в Windows. Новая опция позволяет пользователям сделать скриншот всего экрана или его части и выполнить поиск с помощью Bing Visual Search. На первом этапе функция запускается для пользователей в США...

Фамильный вики-движок Bonsai: итоги 2019 года В начале прошлого года я рассказывал про проект Bonsai — движок для создания семейного вики и фотоальбома с открытым исходным кодом. С тех пор проект планомерно развивался. За год сделано несколько фич, благодаря которым движок теперь значительно проще попробовать в у себя и...

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

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

Реализуем визуальный эффект из фильма «Матрица» Доброго времени суток, друзья! На днях пересмотрел «Матрицу». Слушайте, до чего же классный фильм (это касается только первой части). В очередной раз обратил внимание на «падающие» строчки с иероглифами на ихних экранах. Задумался о том, как это можно реализовать… максима...

Это первое видео на YouTube. Ему исполнилось 15 лет Выражаясь глубокомысленно, YouTube — самое емкое на данный момент аудио-визуальное отражение опыта всего человечества в использовании цифровых технологий. Система столь масштабная и сложная, что не столько подчиняется правилам, сколько сама формирует тенденции – на злобу дня...

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

HowToCode — Адаптация системного подхода к разработке для React и TypeScript Наверное, каждый программист рано или поздно начинает задумываться о качестве своего кода. И, скорее всего, я не ошибусь, если скажу, что добрая половина разработчиков им вечно недовольна. Мне мой код тоже нравился редко: функции, казалось, можно было бы делать и покороче, л...

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

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

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

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

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet Написано огромное количество документации и статей о важной визуальной составляющей приложений — анимации. Несмотря на это мы смогли вляпаться в проблемы столкнулись с загвоздками при её реализации. Данная статья о проблеме и анализе вариантов её решения. Я не дам вам сере...

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

Samsung Galaxy S20 Ultra удивил в реальных тестах Наши коллеги с сайта Phone Arena сначала проверили, насколько быстро заряжается флагманский смартфон Samsung Galaxy S20 Ultra при помощи комплектной 25-ваттной зарядки, а позже добавили сравнение промежуточных результатов при использовании зарядных устройств мощностью 2...

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

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

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

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

[Перевод] Способы использования Math.random() в JavaScript Math.random() — это один из API JavaScript. Это — функция, которая возвращает случайные числа. Диапазон возвращаемых чисел представлен значениями от 0 (включая 0, то есть, она может вернуть 0) до 1 (не включая 1, то есть — единицу она вернуть не может). Math.random(); // во...

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

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

[Перевод] Разница между фальшивыми и истинными смещениями в 3D-графике Bump maps (рельефные текстуры), Normal maps (карты нормалей), Displacement и Vector Displacement — вероятно, вы уже сталкивались хотя бы с одним из этих терминов. Несмотря на то, что о них уже есть много информации, похоже, многие путают их различия и последствия использова...

[Перевод] 8 бесплатных инструментов для создания интерактивных визуализаций данных без необходимости написания кода Когда тот, кто работает в сфере Data Science, собирается показать результаты своей деятельности другим людям, оказывается, что таблиц и отчётов, полных текстов, недостаточно для того чтобы представить всё наглядно и понятно. Именно в таких ситуациях возникает нужда в визуали...

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

[Перевод] Отслеживаем прогресс выполнения в Python Зачем нужны индикаторы прогресса? Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени...

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

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

Поиск изображений с помощью AffNet Перед нами стояла задача сравнения изображений (image matching) для поиска изображения максимально подобного данному изображению из коллекции. В этой статье я расскажу как мы использовали для этой задачи подход на основе нейронных сетей под названием AffNet. Кому интересно, ...

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

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

Новый тест в обновленном 3DMark Для владельцев версии Advanced Edition в 3DMark в новом обновлении был добавлен новый тест VRS ( Variable Rate Shading ). Он доступен только для видеокарт Nvidia на базе графических процессоров Turing. В настоящее время есть две игры, которые используют технологию VRS, это "...

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

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

[Перевод] Flutter. Упрощаем компоновку виджетов с помощью Dart расширений В версии Dart 2.7 нам представили расширения, позволяющие разработчикам добавлять новые функциональные возможности в уже существующие типы. Расширения могут быть отличным помощником не только, когда мы пишем бизнес-логику, но и когда у нас есть другие задачи! Примером такой...

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

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

Движок, скриптовый язык и визуальная новелла — за 45 часов Приветствую. Так получилось, что уже три года подряд в качестве подарка на Новый год определенным людям я делаю игру. В 2018-ом году это был платформер с элементами головоломки, о котором я писал на хабре. В 2019-ом — сетевая RTS для двух игроков, о которой я ничего не писа...

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

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

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

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

Тест экрана и засветки фотополимерного принтера v.2 Я уже писал как то про этот тестhttps://3dtoday.ru/blogs/winso/test-ekrana-na-fotopolimernom-printereС того времени поступило много вопросов, которые немного систематизировал, и дополнил тест для большинства доступных экранов.Данный тест разработан для визуальной быстрой оце...

Xbox Series X: обзор технологий следующего игрового поколения Всем привет! Мы решили начать эту неделю с более «легкого» и интересного для многих материала про нашу новую консоль Xbox Series X. Сегодня расскажем о том, как получилось сделать её такой мощной, как будет достигаться эффект погружения (скриншоты из игр под катом) и немного...

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

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

[Из песочницы] Актуальные библиотеки визуализации данных для react-разработчиков Привет, Хабр! Представляю вашему вниманию перевод статьи «Data Visualization Libraries for React Developers in 2019» автора Veronika Rovnik. Вот уже несколько лет подряд React не сдаёт позиции и входит в тройку самых любимых библиотек профессиональных разработчиков по всему...

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

[Из песочницы] Не монолитом единым. Модульный подход в Unity В данной статье будет рассмотрен модульный подход при проектировании и дальнейшей реализации игры на движке Unity. Описаны основные плюсы, минусы и проблемы с которыми приходилось сталкиваться. Под термином «Модульный подход» имеется ввиду организация ПО, которая используе...

Fluentd: почему важно настроить выходной буфер В наше время невозможно представить проект на базе Kubernetes без стека ELK, с помощью которого сохраняются логи как приложений, так и системных компонентов кластера. В своей практике мы используем стек EFK с Fluentd вместо Logstash. Fluentd — это современный универсальный ...

Intel откровенно рассказывает сказки, сравнивания свои процессоры с CPU AMD Ryzen Ранее в этом году появилась информация, что Intel намерена изменить стратегию борьбы с AMD на поприще маркетинга. Суть идеи компании в том, чтобы избегать сравнения в приложениях, которые хорошо задействуют большое количество ядер в CPU, делая акцент на «реальных ...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

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

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

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

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

Состоялся анонс Metal Slug Code: J для мобильных устройств В скором времени на Android и iOS выйдет игра из известной серии сайд-скроллеров — Metal Slug Code: J. Ответственна за нее TiMi Studios — студия-разработчик таких крупных тайтлов, как PUBG, Call of Duty: Mobile и Pokemon Unite. Первая Metal Slug вышла в далёком 1996 на арка...

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

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

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

[Перевод] Декодируем JPEG-изображение с помощью Python Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется ...

Стартовало ЗБТ Artery Gear: Fusion на Андроид, рассказываем как скачать и сколько длится тест Ребята из студии Access! делают ролевую игру под названием Artery Gear: Fusion. Так как тема азиатская, то мы увидим наплыв милых вайфу в мире роботов. Бои пошаговые, но автоматические. У каждого персонажа свои уникальные абилки. Разработчики говорят о какой-то «новой технол...

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

[Перевод] Создание сайта с помощью C++ Возможно ли это? Да. Знаю, звучит странно и больше похоже на упражнение в бесполезности, но это не так. В этой статье я расскажу, как можно использовать С++ в разработке сайта, и приведу несколько достойных причин этому. Будет не только интересно, но также полезно и очень ...

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

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

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

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

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

[Перевод] До и после: визуальная эволюция известных видеоигр В 90-х 8-битные Super Mario Bros. и Battle City — «Марио» и «танчики» — вызывали дикий восторг. Только недавно запускал их в браузере, чтобы поностальгировать. Сейчас геймеры, конечно, «избалованы» графикой и геймплеем (я в том числе), но что-то в тех играх еще осталось. Д...

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

Как Smartcalls стал Voximplant Kit’ом – ребрендинг и киллер-фичи Мы долго готовили обновление Smartcalls – визуального редактора для исходящих звонков – и вот оно случилось. Сегодня под катом расскажем про UI/UX-изменения и залезем под капот демо-режима, чтобы показать, как мы приручали JointJS. Читать дальше →

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

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

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

[Из песочницы] Discord как корпоративный мессенджер и не только Хочу рассказать про использование мессенджера Discord как основного средства коммуникации в команде. Опыт может быть полезен другим командам, использующим бесплатные мессенджеры, а также всем, кто ищет пути повышения эффективности использования мессенджеров. Discord – прогр...

«Нюансы» использования TeamCity Всем привет. Статья написана в простом стиле "DevOps для домохозяек" от таких же домохозяек. В ней будет описано с какими неожиданностями можно столкнуться при настройке проекта в TeamCity. Также приведу рекомендации как эти проблемы можно обойти. Нижеописанное ос...

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

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

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

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

Как добавить кодек в FFmpeg FFmpeg — это грандиозный Open Source проект, своего рода мультимедийная энциклопедия. С помощью FFmpeg можно решить огромное число задач компьютерного мультимедиа. Но все-таки иногда возникает необходимость в расширении FFmpeg. Стандартный способ — это внесение изменений в к...

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2 В данной статье узнаем про функцию crypt, узнаем как подбирать пароли к ZIP архиву с незашифрованными именами файлов, познакомимся с утилитой xortool, а так же разберемся с генератором псевдослучайных чисел. Предыдущие статьи на эту тему: Часть 1 — Кодировки, шифр сдвига,...

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

Обзор Intel Core i5-11600K. Разгон и тесты встроенной графики Сегодня стартовали продажи 11 поколения процессоров Intel семейства Rocket Lake. В нашей «Лаборатории» читатели уже могли ознакомиться с детальным тестированием материнской платы GIGABYTE Z590 AORUS PRO AX. В рамках данного теста мы сравним его с прошлым поколением и здесь ж...

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

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

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

[Перевод] CSS и множественный фон CSS-свойство background — это одно из самых часто используемых свойств. Но сообщество веб-разработчиков пока не слишком хорошо осведомлено о возможностях, которые даёт использование множественного фона. Здесь я собираюсь серьёзно поговорить о том, что может дать применение м...

Заметки о разработке МРРТ контроллера Приветствую! Ранее я уже рассказывал в статье о своем проекте контроллера заряда для небольшой СЭС с алгоритмом поиска ТММ. Сей проект вялотекущий из-за нехватки времени и порой отcутствия настроения, но все же он развивается. С момент последней статьи я сделал еще 2 ревизии...

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

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

[Перевод] Исследование CSS-свойства flex Вам когда-нибудь было интересно узнать о том, как работает сокращённое CSS-свойство flex? Оно позволяет задавать значения свойств flex-grow, flex-shrink и flex-basis. Я обратил внимание на то, что данное свойство чаще всего используют в виде flex: 1, что позволяет flex-элеме...

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

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

Почему настоящий MacBook Pro 16 выйдет осенью 2020 года Таким может стать «настоящий» MacBook Pro 16 (и, скорее всего, станет) Похоже, предсказывая выход MacBook Pro c 16-дюймовым экраном во второй половине 2020 года аналитик и предсказатель Мин Чи-Куо не ошибался. То что случилось в ноябре этого года было вынужденной м...

Состоялся релиз уникальной визуальной новеллы If Found... от Annapurna Interactive Издатель Annapurna Interactive объявил о релизе нового приключения If Found… на iOS и ПК. Это интерактивная визуальная новелла с очень необычной графикой. Вы играете за девушку по имени Касио, которая уничтожает свой дневник. В процессе вашей задачей будет посетить места из...

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

Что нового в MIUI 12: большие изменения в дизайне, тёмный режим 2.0 и «Суперобои» Xiaomi анонсировала новую версию своей оболочки для ОС Android — MIUI 12. После MIUI 11 новейшее программное обеспечение MIUI 12 принесет ряд эксплуатационных и визуальных улучшений в смартфоны Xiaomi, которые вошли в список устройств, имеющих право на получение обновления. ...

EMUI 10 против EMUI 9.1: в чем разница? Компания Huawei представила новую фирменную оболочку EMUI 10, основанную на базе операционной системы Android 10, несколько месяцев назад. Обновление имеет много новых функций, включая глобальный темный режим, новые значки и новый системный интерфейс, а также более эффе...

Программа для расчета стоимости печати - пробный вариант 2 Собирался выложить очередную версию для тестов еще в прошлые выходные, но не срослось. И работа навалилась, и в самой программе затеял глобальную переделку всего движка :)Но вот вроде готово для тестов, замечаний и предложений :)Ссылки:http://andybig.xyz/download/my3df/my3df...

Анонсирована инди-метроидвания Teslagrad 2, студия Rain Games разрабатывает ещё две игры Скоро грядёт новая часть в серии знаменитого инди-платформера под названием Teslagrad. Об этом студия Rain Games объявила на своём официальном сайте. Первая часть вышла в далёком 2013 году, поэтому однозначно настало время для подобающего сиквела. Игроки смогут снова окунуть...

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

Intel не может определиться, кто быстрее: Comet Lake или Ice Lake В рамках CES 2020 компания Intel провела несколько презентаций, где похвастала производительностью «в реальных приложениях» своих процессоров Core i7-10710U и Core i7-1065G7 по сравнению с AMD Ryzen 7 3700U. Конечно, тесты от самого производителя не могут быть объективными...

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

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

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

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

Project Loom: виртуальные потоки в Java уже близко Несколько дней назад Ron Pressler разродился статьей State of Loom, которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много интересных метафор, которые я собираюсь бессовестно использовать теперь без ссылки на первоисточник. Со своей сто...

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

[Перевод] «Ваша устаревшая база данных перерастает сама себя». Опыт chess.com Прим. перев.: в этой статье сербский «инженер по масштабируемости» нагруженного онлайн-проекта в подробностях рассказывает о своем опыте оптимизации большой БД на базе MySQL. Проведена она была для того, чтобы выдержать резкий рост трафика на сайт, случившийся из-за пандемии...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

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

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

iPhone SE 2020 быстрее телефонов на Android за те же деньги Тех, кто надеялся приобрести дешёвый iPhone, не уступающего в производительности ни одному из iPhone 11, придется разочаровать. Уступает. Тактовая частота центрального процессора в Apple A13 для iPhone SE 2020 искусственно уменьшена. Из вредности (чтобы SE не конкурировал с...

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

10-ядерный Intel Core i9-10900K неожиданно хорошо выступил в тесте Geekbench – на уровне 12-ядерного Ryzen 9 3900X В Сети появился очередной тест 10-ядерного процессора Core i9-10900K – флагмана линейки Comet Lake-S: в Geekbench 5 его столкнули лбами с предшественником Core i9-9900KS и двумя топовыми CPU AMD Ryzen 3000 – Ryzen 9 3900X и Ryzen 9 3950X. Если в предыдущих т...

В РФ разработан 40-минутный тест на коронавирус Как сообщает Министерство промышленности и торговли РФ, благодаря разработанному российской биофармацевтической компанией «Генериум» экспресс-тесту можно узнать результат на коронавирус SARS-CoV-2 в течение 40 минут. Точность нового теста превышает 94%. В текущей эпидемическ...

Новое обновление Windows 10 может замедлить работу вашего ПК В 2018 году Microsoft изменила движок своего преемника Internet Explorer «Edge», чтобы использовать те же функции, что и Google Chrome. Edge на базе Chromium был выпущен в январе 2020 года для ОС Windows 10, Windows 8.1, Windows 7 и macOS. В прошлом месяце Microsoft также на...

[Перевод] Дэн Абрамов о замыканиях в JavaScript Замыкания вызывают у программистов сложности из-за того, что это — «невидимая» конструкция. Когда вы используете объект, переменную или функцию, вы делаете это намеренно. Вы думаете: «Тут мне понадобится переменная» — и добавляете её в свой код. А вот замыкания — это уже...

Apple может перевести свой браузер на платформу Chromium Читатель Артём Пожаров поделился интересной новостью, в которой рассказал о возможном переходе Safari на движок Chromuim. Сейчас его использует большинство популярных браузеров, вроде Google Chrome и Opera. Далее идёт его текст: Ни для кого не секрет, что Chromium (и G...

Приточная вентиляция совмещенная с канальным кондиционером (часть 2 — водяная) Приточная вентиляция совмещенная с канальным кондиционером (часть 2 — водяная) Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система собиралась в 2012-2013 годах и с тех пор находится ...

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

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

[Из песочницы] Использование контроллера Arduino для прерываний В данной стать я приведу пример использования arduino контроллера для вызова прерываний программы на C#. Стоит отметить, что в WindowsForms присутствует элемент Timer который включается и выполняет код через определенный промежуток времени. Я решил реализовать подобное...

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

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

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

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

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

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

[Перевод] Preload в php 7.4: Composer и выбор файлов для предзагрузки Мы в Badoo активно занимаемся переходом на PHP 7.4 и с большим энтузиазмом ждём возможности использовать новую функцию preload. Не так давно мы рассказывали о наших экспериментах с ней. Судя по всему, сообщество взбудоражено не меньше, чем мы. Разработчики фреймворков актив...

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

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

Старые видеокарты против молодых. Как изменилась производительность недорогих адаптеров за несколько лет Несколько дней назад на нашем сайте вышел материал, который показал, что даже такие немолодые видеокарты, как Radeon R9 380, GeForce GTX 960, Radeon R9 390 и GeForce GTX 970 вполне позволяют играть в современные игры в Full HD, хотя две младшие модели уже зача...

[Перевод] Управление жестами: От края до края (I) Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи. Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке. В Android Q был добавлен новый режим навигации по системе, п...

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

Из студента-юриста в программисты на C/C++: личный опыт Привет. В данной статье я поделюсь своим опытом становления программистом, от зарождения идеи стать инженером программного обеспечения до первых офферов, а также расскажу об опыте прохождения собеседований на позицию С/С++ разработчика в Санкт-Петербурге и выводах, сделанных...

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

Графическое ядро процессора Ryzen 7 4700U почти не уступает дискретной GeForce MX350 Если с высокопроизводительными мобильными APU Ryzen 4000 мы уже познакомились весьма подробно, то энергоэффективные пока остаются раскрыты не полностью. Обзоры в Сети уже есть, но полноценных и объёмных пока нет. Поэтому очередное сравнение графической подсистемы R...

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

Процессоры AMD Ryzen 4000U обеспечат лучшую автономность, нежели Intel Ice Lake-U Процессоры для ноутбуков должны обладать не только достаточно высокой производительностью, но и потреблять при этом не слишком много энергии. Компания AMD сегодня раскрыла больше подробностей о своих мобильных процессорах Ryzen 4000-й серии, входящих в семейство Renoir, в то...

[Из песочницы] List Comprehension vs Map Привет, Хабр. Часто при работе с последовательностями встает вопрос об их создании. Вроде бы привык использовать списковые включения (List Comprehension), а в книжках кричат об обязательном использовании встроенной функции map. В этой статье мы рассмотрим эти подходы к раб...

Инструменты для алготрейдинга на Python. Расчет дневного изменения цены Привет Хабр! Сегодня я хочу начать свой цикл статей по алготрейдингу.Первым делом расскажу о самом простом индикаторе ожидаемой доходности ценной бумаги - дневное изменение цены.Дневное изменение цены - это отношение цены закрытия текущего дня к цене закрытия предыдущего дн...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

1000 и 1 способ обойти Safe Exam Browser Ну ладно, не 1000 и 1 способ, но их довольно много! О чем это мы? О том, что пандемия COVID-19 внесла много изменений в нашу жизнь, в том числе, и в образование — как школьное, так и ВУЗовское. Уроки, лекции и семинары перешли в онлайн-формат, а вопрос, как быть с контролем...

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

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

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

Чем TestMace лучше Postman Всем привет, на связи TestMace! Возможно, многие знают о нас из наших предыдущих статей. Для тех, кто только подключился: мы разрабатываем IDE для работы с API TestMace. Самый часто задаваемый вопрос при сравнении TestMace с конкурирующими продуктами — "Чем вы отличаетесь о...

Docs as code против или вместе с Confluence? Обзор нескольких способов публикации из репозитория в Confluence Многие уже давно или активно используют или смотрят в сторону модели хранения и публикации документации как кода, это значит применять к документации все те же правила, инструменты и процедуры, что и к программному коду, например, хранить в репозитории, прогонять тесты, соби...

Дзен позволил встраивать в статьи эмбеды Яндекс.Форм В Яндекс.Дзене появилась возможность проводить опросы, конкурсы, собирать заявки на мероприятия (и многое другое). Это можно сделать с помощью сервиса Яндекс.Формы, код которого теперь вставляется в статьи. Пока эта возможность находится на стадии тестирования и будет доступ...

[Из песочницы] Ускоряемся в Entity Framework Core Не будь жадиной! При выборке данных выбирать нужно ровно столько сколько нужно за один раз. Никогда не извлекайте все данные из таблицы! Неправильно: using var ctx = new EFCoreTestContext(optionsBuilder.Options); // Мы возвращаем колонку ID с сервера, но ни...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

3DMark предлагает новый тест CPU Profile для процессоров Утилита 3DMark получила новое обновление в котором были добавлены новые наборы тестов CPU Profile для процессоров. Тесты позволяют проверить как себя ведет процессор при изменении количества загруженных потоков. Тест начинается с использования всех доступных потоков. Затем о...

Unigine Engine — новый уникальный Пролог Не так давно я увидел showreel движка, который выглядит более чем конкурентно showreel В этой статье я максимально кратко расскажу об этом движке и косвенно сравню с прямыми конкурентами. зарегестрироваться и скачать тутunigine.com Немного про историю : Все началос...

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

“Что делать, когда кардинальные изменения в процессах демотивируют команду”. Опыт бэкенд-инженера, ставшего тимлидом Я 7 лет работал бэкенд-инженером в Miro, затем стал тимлидом. За последние годы наша инженерная команда выросла вдвое, стала распределённой и международной, что повлекло за собой множество изменений. Одним из них стало введение кросс-функц...

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

[Перевод] Предсказание стоимости биткоина по новостям на Python Перевод статьи подготовлен в преддверии старта курса «Machine Learning» от OTUS. Задача В этом руководстве мы используем датасет Bitcoin vs USD. Вышеприведенный датасет содержит ежедневную сводку цен, где колонка CHANGE – это изменение цены в процентах от цены за п...

Maze Machina от автора Card Thief доступна на Android в режиме пробного запуска Maze Machina — это грядущий проект от автора карточной Card Thief, которую многие называют одним из лучших представителей жанра на мобильных. Maze Machina — игра в жанре пошаговой головоломки с очень приятным визуальным стилем. Бета-тест на iOS стартовал еще в сентябре 2019...

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

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

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

Blazor: Server и WebAssembly одновременно в одном приложении ASP.NET Core Blazor — это разработанная Microsoft веб-платформа, предназначенная для запуска на стороне клиента в браузере на основе WebAssembly (Blazor WebAssembly) или на стороне сервера в ASP.NET Core (Blazor Server), но две эти модели нельзя использовать одновременно. П...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

Актуальные промокоды на примогемы, мору и прокачку в Genshin Impact (май 2021) Каждый месяц miHoYo выпускает новые промокоды для Genshin Impact. Они временные, плюс порой разделены на регионы. Данные промокоды позволяют получить камни стоика, мору и разные материалы для прокачки героев. В конце апреля вышел патч 1.5; там разработчики добавили новый бан...

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

Windows 10 Build 21337 доступна для скачивания Microsoft только что выпустила новую сборку Windows 10 Insider Preview для тестеров в канале разработчиков (Dev). Новая сборка ОС – 21337, и она включает в себя несколько заметных изменений, в том числе новый способ переупорядочивания и настройки виртуальных рабочих столов. ...

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

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

Как мы использовали айтрекер для количественного эксперимента Привет, Хабр. На связи UX-лаборатория Авито. Сегодня хотим рассказать об опыте использования айтрекера для проведения количественного эксперимента. Серьёзных инсайтов и уроков не обещаем, просто поделимся своими мыслями. Расскажем, что вышло из идеи эксп...

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

Быстрый тест нейлона от HTP на растворимость. Здравствуйте!Не так давно я выложил маленький обзор на нейлон от High-Tech plast. В посте были фотографии, где деталь, подобно распечатке из ПЭТг, лопнула. После общения с производителем и коллегами на данном форуме я пришел к выводу, что использовал для той детали неоптимал...

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

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

[Из песочницы] С++, метапрограммирование и регистры микроконтроллера Привет, Хабр! Вот уже несколько лет все свои проекты для линейки микроконтроллеров stm32 я делаю на C++. За это время у меня накопилось некоторое количество материала, который может быть интересен другим разработчикам. Во избежание лишних вопросов: я использую связку QtCre...

Gboard на Android вылетает. Что делать Gboard — пожалуй, была бы лучшей клавиатурой для Android. Если бы не баги Несмотря на то что Google Play уступает App Store по выручке от продажи приложений, для Android софт играет более важную роль, чем для iOS. Сказывается чрезвычайно никудышная политика обновления ...

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

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

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

Яндекс.Диск запретил использование open source утилиты rclone Предыстория Привет, Хабр! К написанию этого поста привела довольно странная ошибка, которую вчера вечером на ноутбуке с Linux (да, я их тех странных людей, кто использует GNU/Linux на ноутбуке) я получил вместо содержимого своего Яндекс.Диска: $ ls -l /mnt/yadisk ls: reading...

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

[Перевод] Аутентификация REST API с помощью Spring Security и MongoDB Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework». В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности Вступление В предыдущем посте мы рассмотр...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

Huawei тестирует 5G в Индии Многие пользователи не знают, но компания Huawei не только смартфоны продает, но и занимается продажей телекоммуникационной техники по всему миру. Собственно, именно на этом гигант и зарабатывает большую часть своей прибыли. Однако после запретов со стороны США многие решили...

Я больше никогда не откажусь от MacBook в пользу других ноутбуков Около 4 лет использования MacBook Pro 2009 года сделали все, чтобы я больше никогда не мог пользоваться ноутбуками на Windows и Linux. Все началось с того, как в один прекрасный день на Avito в 2016 году я купил старенький MacBook 2009 года за 16 тысяч рублей. Бедный студен...

[Перевод] Зимний отчет о состоянии Haxe 7 февраля в офисе компании InnoGames состоялась очередная мини-конференция HaxeUp Sessions 2020 Hamburg, на которой Саймон Краевский отчитался о проделанной работе, рассказал немного о ближайшем будущем Haxe. И здесь я хотел бы представить перевод основной части его доклада ...

[Перевод] Тесты Ферма и Миллера-Рабина на простоту Салют хабровчане! Сегодня мы продолжаем делиться полезным материалом, перевод которого подготовлен специально для студентов курса «Алгоритмы для разработчиков». Дано некоторое число n, как понять, что это число простое? Предположим, что n изначально нечетное, поскольку в ...

checkm8 для Lightning-видеоадаптеров Apple Появление эксплойта checkm8 можно назвать одним из важнейших событий прошедшего года для исследователей продукции Apple. Ранее мы уже опубликовали технический анализ этого эксплойта. Сейчас сообщество активно развивает джейлбрейк checkra1n на основе checkm8, поддерживающий ...

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

Windows 10 предлагает Paint и WordPad в качестве дополнительных функций Windows 10 20H1, также известная как версия 2004, представит множество новых функций и улучшений операционной системы. Windows 10 версии 2004 также включает новую страницу настроек дополнительных функций и два важных инструмента – Paint и WordPad теперь не являются обязатель...

Вот на что способен новейший флагманский мобильный процессор AMD Ryzen 7 4800H Линейку новых мобильных процессоров AMD сейчас возглавляет модель Ryzen 7 4800H. Это восьмиядерный гибридный процессор с TDP 45 Вт, работающий на частотах 2,9-4,2 ГГц. Такие APU должны появиться в ноутбуках в феврале. Но уже сейчас у нас есть результаты теста в бенчмар...

Руководство по Node.js для начинающих. Часть 2 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Движок JavaScript V8 V8 — название движка JavaScript, поддерживаемого Google Chrome. Эта та штука, которая берет ваш JavaScript-код и выполня...

Пользователи Mac с чипом M1 жалуются на быстрый износ SSD. В чём дело? Компьютеры Mac на M1 получились очень мощными и производительными (не говоря уже о времени автономной работы), но, как и в случае с любым новым устройством, без «болячек» здесь не обошлось. И если большинство проблем Apple уже исправила с помощью обновлений macOS, то с ново...

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

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

Вы удивитесь, насколько новый iMac мощнее предыдущего Новый iMac 24 в пух и прах разгромил своих 21,5-дюймовых предшественников. С разгромным счетом. Теперь, когда на сайте Geekbench уже выложены результаты тестов нового моноблока от Apple, их победа подтверждена документально. О том, что продажи разгромленных 21,5-дюймовых i...

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

Искусственный интеллект Nvidia GameGAN воссоздал копию культовой игры Pac-Man, изначально не зная её правил и логики Игра Pac-Man — одна из самых известны в мире. Даже те люди, которые в своей жизни не играли ни в одну видеоигру, наверняка слышали что-то про Pac-Man либо узнают её по визуальной составляющей. Сегодня исполнилось ровно 40 лет с момента выхода Pac-Man на аркадных ...

Intel показала, что 14-нм Comet Lake-U производительнее 10-нм Ice Lake-U В рамках недавней выставки CES 2020 компания Intel сама показала, что процессоры Comet Lake превосходят Ice Lake по производительности, хотя последние позиционируются ею в качестве решений для систем более высокого класса. Ещё до своей презентации компания Intel провела закр...

Как перенести шейдер из игрового движка в Substance Painter Меня зовут Тарас Улейский, я Technical Artist в Plarium Kharkiv. Для оптимизации графики нашей Survival RPG на мобильных устройствах мы использовали свои кастомные шейдеры. Они предполагают использование уникальных текстур и карт, которые не похожи на текстуры и карты в друг...

[Перевод] Иерархический буфер глубин Краткий обзор Иерархический буфер глубин — это многоуровневый буфер глуби (Z-буфер), используемый как ускоряющая структура (acceleration structure) для запросов глубин. Как и в случае mip-цепочек текстур, размеры каждого уровня обычно являются результатами деления на степен...

Улучшенная MIUI 12.5 вызвала проблемы у пользователей Poco F3: смартфон начал часто перезагружаться Xiaomi обещала начать распространять улучшенную MIUI 12.5 за пределами Китая лишь в четвёртом квартале текущего года, но по факту процесс уже запущен: новую оболочку получил Xiaomi Mi 11X в Индии и глобальный Poco F3. Однако в случае с последним все пошло не очень гладк...

i9-10900K будет быстрее на 30% предыдущего поколения Согласно результатам тестов, Intel Core i9-10900k предложит увеличение производительности от 2% до 30% по сравнению с Intel Core i9-9900k. В тесте Cinebench R15 Core i9-10900K на 26% быстрее, чем Core i9-9900k. Если учесть все тесты, Core i9-10900K может дать повышение произ...

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

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

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

Разгоняем портал ДО на основе Moodle (решение проблем узких мест) В последнее время все острее встает вопрос об обучении онлайн, во время пандемии, так и в связи с переходом в онлайн всего и вся. На сайте Хабр есть материалы по установке базовой системы на основе moodle. В данной заметке хотелось бы поделиться некоторым опытом настройки с...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

Что установлено на моём iPhone в 2020 году Что установлено на моём iPhone? Всем интересно, какие приложения используют другие владельцы смартфонов. И именно поэтому я решился на написание данного материала. По правде говоря, с недавнего времени я решил существенно сократить использование телефона по одной простой при...

[Перевод] Как микросервисы Netflix справляются с Pub-Sub данными Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение В микросервисной архитектуре Netflix передача наборов данных от одного к нескольким конечным точкам может быть крайне сложной. Эти наборы данных могут содержать все, что уго...

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

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

[Из песочницы] Капча для codeigniter 4 Добрый день! Несмотря на заголовок статьи, в ней будут представлены общие методы и функции, которые я использовал для создания своей капчи, которые можно применить и в других фреймворках с минимальными правками. Некоторые функции и подходы основываются на материалах поста Ра...

Разработчик видеоигры God of War возглавит новую студии Google Stadia Главный продюсер популярной франшизы God of War Шеннон Студстил объявила, что возглавит вторую студию компании Google Stadia в Монреале. Новая студия Playa Vista сосредоточится на создании эксклюзивных проектов, используя новую игровую механику, визуальные новшества и многое...

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

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

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

[Из песочницы] 5 причин, по которым моушн дизайн помогает вам общаться с людьми Привет, Хабр! Представляю вашему вниманию перевод статьи «5 Reasons Motion Graphics Help You Connect With People» автора Katy French. Оригинал статьи: Katy French | Перевод статьи сделал моушн дизайнер Игорь Царёв Мы большие поклонники моушн дизайна. Это не потому, что о...

Google Authenticator получил долгожданное обновление спустя три года Настройка двухфакторной аутентификации (2FA) — это один из первых шагов, который вы должны предпринять, чтобы защитить свои учетные записи в Интернете. Несмотря на то, что в Google Play Маркете есть несколько приложений, которые вы можете использовать для установки 2FA, Goog...

VPS как лекарство от скуки на карантине Когда ты постоянно работаешь на удалёнке, работа постепенно занимает весь объём свободного времени. И это карма, от которой сложно избавиться. Однако, когда ты работал-работал в офисе и вдруг вынужденно (как все мы) сел дома, неожиданно обнаруживается масса свободного времен...

Насколько увеличилась камера iPhone 12 Pro Max по сравнению с iPhone 11 Pro Max Известный инсайдер и дизайнер Бен Гескин (Ben Geskin) использовал официальные изображения iPhone 12 Pro Max и iPhone 11 Pro Max, предложив всем желающим оценить изменения габаритов модуля основной камеры нового флагманского смартфона Apple. Очевидно, что сам блок камеры...

PCMark 10 пополняется тестом SSD Многие современные инструменты измерения производительности накопителей создавались, когда в ходу были только жёсткие диски, а потому результаты синтетически тестов часто оказываются далеки от реальной производительности SSD.

STM32MP1 — ядра + Linux = идеальный микроконтроллер По роду своей деятельности занимаюсь разработкой различных приборов: измерительных, управляющих, контролирующих и т.п. В подавляющем большинстве устройство делится на 2 части: Требующий больших ресурсов микроконтроллера и не требующий жесткого реального времени графически...

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

Алексей Найдёнов. ITooLabs. Кейс разработки на Go (Golang) телефонной платформы. Часть 1 Алексей Найдёнов, CEO ITooLabs, рассказывает про разработку телекоммуникационной платформы для операторов связи на языке программирования Go (Golang). Алексей также делится опытом развертывания и эксплуатации платформы в одном из крупнейших азиатских операторов связи, которы...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

[Перевод] Собственные игровые движки: небольшое исследование Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что и...

[Перевод] Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, ...

Управление Mac в мире Windows Большинство организаций используют System Center Configuration Manager для автоматизации процессов системного администрирования. Одна незадача: базовая функциональность SCCM ограничена для macOS. Поскольку с каждым годом количество «яблочной» техники в компаниях растет, пр...

Как работает музыка в NES Если тут есть музыканты, которые имеют свой ютуб-канал или паблик вконтакте, ответьте мне на один вопрос: знаком ли вам такой способ набрать популярность, как каверы на музыку из старинных видеоигр? Способ убойный не только из-за ностальгии. Smooth McGroove в одном из своих ...

Новый браузер Microsoft Edge собирается стать еще быстрее В 2018 году Microsoft прекратила выпуск собственного обозревателя в пользу другого, поддерживающего Chromium. Ключевыми отличиями между новыми браузерами на базе EdgeHTML и Chromium являются его пользовательский интерфейс, плавная прокрутка, настраиваемый интерфейс стартовой...

Скрипты для помощи в калибровке стола. Изучаем G Code на практике для начинающих и не только выпуск № 1 Всем привет всем доброго времени суток и приятного чтения. Давно уже собирался познакомится поближе с G-кодом, но как-то не приходило в голову для чего это мне нужно, а изучение ради изучения не интересовало. Нужна была какая-нибудь практическая задача решение которой облегч...

По производительности Intel Gen12 Xe iGPU можно сравнить с iGPU AMD на базе Vega Первое интегрированное графическое решение Intel, основанное на новой архитектуре Xe, может сравниться со встроенным графическими процессорами AMD на архитектуре Vega, таким, как используемый в APU Ryzen 4000 (Renoir). По крайней мере, на это указывает утечка результато...

Тест влияние гипертрейдинга в играх на примере процессора e5 2689 часть 2 После предыдущей статьи, решил переделать тест в других играх, также сделал тесты не только при включенных всех ядрах, но и при 6, и даже 4-х ядрах процессора.

Сколько денег Huawei потеряла на Mate Xs (много) Когда год назад нам показали складные смартфоны, мы очень обрадовались, подумав, что теперь-то заживем. Вот только дальше первого впечатления не пошло. Ладно бы складные смартфоны еще стоили нормальных денег. Но при цене больше двух тысяч долларов от них ждешь, что они хотя...

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

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

Используем Zap Baseline Scan для непрерывного сканирования сайта на уязвимости Некоторое время назад возникло желание реинкарнировать свой Wordpress-блог. Параллельно возникло желание упорядочить и систематизировать накопленные знания для сдачи экзамена ECSA. Все это привело меня к развертыванию блога на отдельно стоящем сервере. Через некоторый пром...

[Перевод] Визуальная теория информации (часть 2) Вторая часть перевода лонгрида посвященного визуализации концепций из теории информации. Во второй части рассматриваются энтропия, перекрестная энтропия, дивергенция Кульбака-Лейблера, взаимная информация и дробные биты. Все концепции снабжены прекрасными визуальными объяс...

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

Камеры машинного зрения для энтузиастов. Как использовать камеру для автономной навигации? Мы сделали камеру для определения AprilTag и ArTag с mROS. Подключением по Uart или Ethernet. Мы пробовали JeVois и OpenMV, оценили плюсы и минусы и собрали свою камеру. Поиск визуальной метки и ориентация робота на основе полученных данных. Мы разрабатываем робота для с...

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

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

Последнее обновление Windows 7 заменяет обои на черный экран 14 января корпорация Майкрософт выпустила последнее обновление для системы безопасности Windows 7, но, похоже, ошибка в обновлении заменяет фон рабочего стола черным экраном. Согласно нескольким сообщениям на Reddit и форуме Microsoft, KB4534310 содержит странную ошибку, кот...

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

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

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

Почему следует избегать использования JPA/Hibernate в продакшене JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё...

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

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

Сколько стоит расписание Основные данные вычислительных экспериментов по реорганизации ярусно-параллельной формы  (ЯПФ) информационных графов алгоритмов (ТГА) приведены в предыдущей публикации. Цель текущей публикации – показать окончательные результаты исследований разработки расписаний выполн...

Hack The Box — прохождение Zetta. FXP, IPv6, rsync, Postgres и SQLi Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье узнаем IPv6 адрес сервера с помощью FXP, поработаем с rsync, а также запишем ssh-ключ используя SQL-инъекцию...

[Перевод] Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Ключевые выводы Gitflow — это совместная модель ветвления, которая пытается использовать мощность, скорость и простоту ветвления Git. Этот метод хорошо работал в ситуации, котор...

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

Google решил обмануть ищущих Новые изменения в поисковике Google приводят к тому, что люди нажимают на рекламные объявления чаще и не находят того, что искали. Алекс Херн из The Guardian указывает на эту проблему, отмечая, что теперь нет почти никакого визуального различия между рекламой и результатами ...

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

Игра, управляемая лицом, в масках Инстаграм, или двойной клик глазами Что за бред, подумаете вы. Что за бессмысленный набор слов? Но, увы или ура — кому как, сегодня это уже не бред, а реальность. Речь в статье пойдет о написанной мной для Инстаграм игре, в которой в качестве контроллера используется ваше лицо, а точнее, не только оно, но ино...

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

[Перевод] Разбор полётов при создании Audi A8 Уроки, которые Audi извлекла из опыта создания A8 – первого в мире автономного автомобиля 3-го уровня, остаются актуальными и сегодня. Вот что мы узнали после того, как System Plus разобрали Audi A8. Недавний разбор Audi A8 дал понять почему, как с технологической, так и...

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

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

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

[Из песочницы] Любовь в ненависть indie gamedev'a История про то, как я решил заняться разработкой игры без знаний и опыта в этой области, без движка и вложений. Зачем мне это? Зачем это кому-то другому? О провалах и успехах, о начале indie-разработки пост. Читать дальше →

Видеоигра Warframe получит поддержку RTX и DLSS Разработчики Digital Extremes объявили о переходе к новому движку рендеринга. Новый графический движок принесет в игру поддержку технологий RTX и DLSS. Digital Extremes полностью откажется от устаревшей системы, но намерены сохранить производительность и масштабируемость в...

NVIDIA выпустила драйвер GeForce 471.68 WHQL с поддержкой новых игр, в том числе Naraka: Bladepoint Сегодня NVIDIA выпустила обновление видеодрайвера GeForce 471.68 WHQL. В свежую версию компания привнесла поддержку новейших игр, таких как Psychonauts 2, Naraka: Bladepoint и Back 4 Blood Open Beta. Поддержка этих игр теперь предусмотрена на всех видеокартах, GeForce, начин...

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

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

Медленная зарядка Redmi Note 10 Pro: придёт ли исправление вместе с MIUI 12.5? Однако в нынешнем виде это утверждение, по-видимому, имеет место быть только на бумаге. По факту же реальная скорость зарядки намного ниже, по крайней мере, у большинства пользователей Redmi Note 10 Pro: Решите проблему зарядки батареи на Redmi Note 10 Pro! Целых 1 час 50 ми...

Используем Terraformer для адаптации действующей инфраструктуры в AWS для деплоев с Terraform Рассказываем про наш опыт импорта и адаптации конфигураций инфраструктуры, ранее развернутой вручную в AWS, в формат Terraform. Зачем? Причин может быть много: и отказоустойчивость, и упрощение горизонтального и вертикального масштабирования, и многие другие. С них и начнем ...

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

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают) Я много лет занимаюсь маркетингом, написанием текстов, при этом увлекаюсь английским и использую его в работе. В русскоязычном интернете в целом не так и много статей о контент-маркетинге и продвижении бизнеса в США. А те что есть часто просто рассказывают как надо делать ...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

Умный дом. Опыт разработки и внедрения В этой статье мы рассмотрим опыт разработки и внедрения умного дома в двухкомнатной квартире. Здесь будет изложена точка зрения автора на подход к проектированию и разработки умного дома, а также показано готовое решение, которое уже успешно работает 4 года. Тем, кто хочет...

Ежедневно Skype используют 40 миллионов человек В рамках презентации, посвящённой анонсу потребительской версии Microsoft 365, Teams и новых функций Edge, компания Microsoft также поделилась новыми статистическими данными об использовании сервиса Skype. Из-за продолжающейся пандемии коронавируса многие люди вынуждены раб...

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

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

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

[Из песочницы] Используем passwordstore.org — менеджер паролей в стиле KISS Всем привет. В этой статье я хотел бы поделиться своим опытом настройки и использования pass — менеджера паролей для Linux и не только, примечательного своей простотой, использованием уже присутствующих в системе инструментов и возможностью работать исключительно из консоли....

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

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

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

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

Google выпустила первую версию Android 11 Developers Preview Компания Google представила первую версию Android 11 Developers Preview. Об это рассказал вице-президент компании Дэйв Бёрк у себя на странице в социальной сети. Новая версия операционной системы Android будет теперь поддерживать сети пятого поколения 5G. Разработчики комп...

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

В попытке прорекламировать Core i7-10700F компания HP показала, что Ryzen 7 3700X лучше Компания HP сегодня представила новые настольные игровые компьютеры Omen, среди которых оказались и модели на процессорах Intel Core десятого поколения. Данные чипы ещё не поступили в розничную продажу, и их обзоры ещё не были опубликованы. Именно поэтому мы обратили внимани...

Anycubic Vyper. Обзор, спустя примерно 3 месяца. Достойнейший экземпляр! Всем доброго времени суток.Думал написать обзор гораздо раньше, но то лето, то отдых и так далее. В итоге получилось, что принтер у меня уже достаточно давно. Точно не помню. 2-3 месяца. И на данный момент у меня накопилось достаточно опыта работы с ним, что бы сказать, что ...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

Как включить Google docs offline в новом Microsoft Edge Новый браузер Edge от Microsoft на движке Chrome недавно пополнил зоопарк «основанных на Chromium браузеров». Но его выгодно отличает от остальных то, что он идет в комплекте с Windows. А это значит, что все тесты работы ноутбуков от батареи будут проводить именно с ним, и M...

Фотогалерея дня: iPhone 12 и iPhone 12 Pro Max позируют на больших рендерах Несмотря на непростую ситуацию, Apple, судя по всему, не собирается откладывать выпуск смартфонов iPhone нового поколения: вся линейка iPhone 12 ожидается осенью. О дизайне этих моделей особых визуальных подробностей нет — все утечки в основном носят лишь описател...

Проходим челлендж от Callum Macrae на 100% Предлагаю попробовать решить 10 regex тестов от Callum Macrae. В отличии от моего предыдущего разбора челленджа, здесь нет откровенно простых и даже средних задач. Как говорится — только regex, только хардкор. Так как челлендж довольно сложный, не обязательно следовать всем ...

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

802.11ba (WUR) или как скрестить ужа с ежом Не так давно на всяческих других ресурсах и в своем блоге я рассказывал о том что ZigBee мертв и стюардессу пора бы уже закопать. Для того чтобы делать хорошую мину при плохой игре с Thread, работающим поверх IPv6 и 6LowPan, достаточно более приспособленного для это Bluetoot...

Технологические соревнования Радиофест-2019. Итоги Дорогие друзья, мы рады сообщить, что первые в истории технологические соревнования по радиотехнике Радиофест-2019 успешно проведены. В предыдущей статье мы рассказывали как мы готовились к соревнованиям, сейчас же подведем итоги и расскажем как все прошло (будет много фото)...

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

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

2 SIM для дачного роутера — это много или мало? В прошлом году я проводил тесты 3G/4G роутеров для загородного дома и эта тема показалась многим интересна. После тестов я даже один роутер встроил в свой автомобиль, чтобы иметь стабильный доступ в Интернет в пути, но всё же наиболее важным мне показалась стабильность досту...

Первая печать после сборки Sapphire S от Two Trees Всем привет. Ребята, хочу с вами поделиться с моим опытом использования первого 3D принтера от два дерева Sapphire S сейчас это продолжение Sapphire Pro. В этой статье хочу показать вам, что я распечатал в первую очередь на чём я учился как печатать и к какому выводу пришел ...

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

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

Очередной новый сокет у Intel появится уже в следующем году. Необычные гетерогенные CPU Alder Lake будут иметь исполнение LGA 1700 На днях Intel представила настольные процессоры Comet Lake, которые в целом мало отличаются от Coffee Lake, но имеют новое исполнение — LGA 1200. Такой же сокет будут использовать и CPU Rocket Lake, которые должны выйти в конце текущего года. Они сохранят 14-нано...

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

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

В Windows 10 появился визуальный поиск Система научилась искать результаты в интернете по скриншотам экрана

Webpack 5 — Asset Modules Доброго времени суток. Этим постом хочу начать серию статей про новые возможности грядущего webpack 5. Почему я хочу рассказывать про webpack? Как минимум потому, что я принимаю активное участие в его разработке и постоянно копаюсь в его внутренностях. В данном посте хочу ра...

Изучаем VoIP-движок Mediastreamer2. Часть 2 Материал статьи взят с моего дзен-канала. Создаем тональный генератор В предыдущей статье мы выполнили установку библиотеки медиастримера, инструментов разработки и проверили их функционирование, собрав пробное приложение. Сегодня мы создадим приложение, которое сможет пропи...

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

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

Наш опыт с графовой базой данных Dgraph в Kubernetes Недавно перед нами встала задача развернуть Dgraph в кластере Kubernetes. В этой статье я поделюсь полученным опытом: с чем мы столкнулись во время деплоя и последующего использования этого приложения в различных окружениях, от dev до production. Что вообще такое Dgraph? ...

STALKER 2 будет использовать игровой движок Unreal Engine Еще в мае 2018 года GSC Game World объявила, что STALKER 2 вернулась в разработку. Новостей об продолжении было очень мало. Директор студии Epic Games Сергей Галёнкин ранее упоминал, что игра строится на игровом движке Unreal Engine. В официальном заявлении разработчики...

Как мы улучшили интерфейс VSO-движка Playrix и приблизили его по удобству к Unity Ранее на Хабре мы уже писали о том, как сделали собственный игровой движок VSO, а сегодня расскажем, как мы улучшали его интерфейс и удобство работы с ним. Статья будет полезна всем, кто только начинает разбираться с UX/UI и хочет узнать, как с помощью базовых прин...

Снижение скорости свободного перемещения для первого слоя      Доброго времени суток. Прошу строго не судить, это мой первый пост. Испытывал трудности при печати модели с большим количеством элементов в первом слое. Раньше использовал PLA и проблем не было, перешёл на ABS, узнал все его капризы с адгезией к столу. Если использовать...

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

Шифрование данных на виртуальном сервере Немного здоровой паранойи еще никому не вредило. Помимо мессенджеров с оконечным шифрованием, шифрованием файлов на смартфонах «из коробки» и обязательным использованием SSL на сайтах, не лишним будет защитить данные на виртуальных серверах. Тем более, современные технолог...

В сеть попали скриншоты интерфейса депозитного контракта Ethereum 2.0 Прототип интерфейса депозитного контракта Ethereum 2.0, пошагово описывающий процесс присоединения валидаторов к Proof-of-Stake-сети Beacon Chain, был выложен в открытый доступ. Опубликовала его команда Deep Work Studio, подготавливающая эфир к переходу на новую систему. В н...

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

Обновление Windows 10 KB4532693 теперь вызывает сбои загрузки Windows 10 KB4532693, представляющая собой исправление безопасности, по-видимому, стала серьезным источником горя для тысяч пользователей. По некоторым сведениям, это обновление удаляет файлы, в то время как другие сообщают, что Microsoft переместила все данные рабочего стол...

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

Node.js в 2020: Выйди и зайди нормально За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможности, а если и узнает про них, то это не влияет на написание ежедневного кода. ...

[Перевод] Как автоматизировать развертывание баз данных с помощью Liquibase? Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.В данной статье мы рассмотрим, ...

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

Как собрать образ Oracle DB для Testcontainers Код должен тестироваться на той СУБД, с которой он будет работать. Testcontainers — это такая библиотека, которая позволяет использовать в юнит тестах практически любую СУБД с той же лёгкостью, что embedded базы данных типа HSQLDB или H2. Был бы только Docker образ Именно с...

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

[Перевод] Куклы гибнут за людей Cтатья 2010 года До начала 1990-х годов прогресс в области безопасности дорожного движения был минимальным. Несмотря на то, что интерес к повышению уровня защиты пассажиров был высок с момента появления этой концепции, результаты были невероятно низкими. Достаточно взглян...

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

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

Разрабатываем чат на React с использованием Socket.IO Доброго времени суток, друзья! Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO». Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и ч...

Детектирование аномалий с помощью автоенкодеров на Python Детектирование аномалий — интересная задача машинного обучения. Не существует какого-то определенного способа ее решения, так как каждый набор данных имеет свои особенности. Но в то же время есть несколько подходов, которые помогают добиться успеха. Я хочу рассказать про оди...

[Перевод] Что принёс нам Pandas 1.0 9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25. Первый мажорный релиз содержит множество замечательных нововведений, в том числе улучшенное автоматическое суммирование датафреймов, больше форматов вывода, новые типы данных и даже новый сайт док...

Собираем C++ с bazel Введение и мотивация В последнее время на Хабре появляются посты про то, что cmake и c++ — друзья, приводятся примеры, как собирать header-only библиотеки и не только, но нет обзора хоть сколько-нибудь новых систем сборки — bazel, buck, gn и других. Если вы, как и я, пишете ...

Intel сравнила Core i9-10900K и Core i9-9900K: до 30 % производительнее, но отнюдь не везде Готовящийся настольный процессор Core i9-10900K — флагман семейства Comet Lake-S — по производительности будет превосходить актуальный флагманский Core i9-9900K на величину до 30 %. Во всяком случае, такую информацию компания Intel приводит в своих внутренних документах, одн...

[Перевод] 6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса В компании Klarna прилагают большие усилия к тому, чтобы помочь разработчикам в создании высококачественных и безопасных сервисов. Один из инструментов, который предназначен для разработчиков, представляет собой платформу для выполнения A/B-тестов. Важнейшим компонентом этой...

Опыт работы над проектом на базе Vue3 в 2021 году Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3. Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особеннос...

[Перевод] Quarkus — новый взгляд на Cloud Native Java Привет, Хабр! В наступившем новом году мы планируем всерьез развивать темы контейнеров, Cloud-Native Java и Kubernetes. Логичным продолжением этих тем на русском языке будет рассказ о фреймворке Quarkus, уже рассмотренном в хорошей статье на Хабре. Сегодняшняя статья посвящ...

GFXBench подтвердил основные характеристики HTC U 11 В базе бенчмарка GFXBench появилась информация о прохождении тестов нового смартфона HTC U 11. Данные подтвердили многие предыдущие утечке о модели. Читать далее... 4HTC.ru - Все о HTC | Комментарии: 11 Посмотреть все записи в категории В мире HTC.

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

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

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

Чем занимается независимый ИТ-консультант, как попасть в профессию и сколько можно заработать Что сложного бывает с клиентами и почему опыт и умение общаться важнее дипломов, рассказывает Пётр Рогов — он помогает компаниям выяснить, что за проблема мешает работе, и каким способом её можно решить. ...

Будущее визуальных решений от NEC на ISE 2020 NEC поделился секретами и рассказал, как визуальные решения для совместной работы помогают добиться успеха.

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

16 ГБ ОЗУ в Samsung Galaxy S20 Ultra против 4 ГБ в iPhone 11 Pro Max Samsung Galaxy S20 Ultra — первый в мире смартфон с 16 ГБ оперативной памяти. На его фоне iPhone 11 Pro Max с его 4 ГБ выглядит смешно, но это лишь если сравнить только цифры. Канал PhoneBuff решил сравнить эти два флагмана по скорости запуска приложений. ...

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

Зависла программа на Mac, как принудительно закрыть (завершить процесс): 3 способа В случае подвисания какого-нибудь приложения на Mac необходимо принудительно его завершить. Это поможет быстро закрыть программу или перезагрузить её, позволив избежать перезагрузки всей системы macOS. В данном материале мы расскажем о всех основных способах принудительного ...

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

Как Kafka стала былью Привет, Хабр! Я работаю в команде Tinkoff, которая занимается разработкой собственного центра нотификаций. По большей части я разрабатываю на Java с использованием Spring boot и решаю разные технические проблемы, возникающие в проекте. Большинство наших микросервисов асинхр...

[Из песочницы] Проблемы использования Doctrine ODM в процессах-демонах Хочу рассказать о своем опыте использования Doctrine ODM в относительно небольшом PHP проекте, в котором основная кодовая база сосредоточена в процессах-демонах. И вообще как мы к Yii2 прикрутили Doctrine ODM. Сразу предупреждаю — рассказ будет очень нудным и скорее всего ин...

[Перевод] 21 извлеченный урок за 21 год программирования Доброго времени суток, друзья! 7 апреля 2020 года. Сегодня для меня очень важный день. Сегодня исполняется ровно 21 год с того момента, как я начал писать код (делать это профессионально, зарабатывать этим себе на хлеб). Кажется, что это было только вчера… сегодня я — че...

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

DCImanager 6 — новая панель управления серверами и оборудованием дата-центра. Первое знакомство и сравнение с «пятёркой» 28 января мы закончили тестирование и выпустили стабильную версию DCImanager 6 — новой панели управления серверами и оборудованием дата-центра. Предыдущее поколение работало почти 10 лет, поэтому обновление получилось значительным. В этой статье сравним две версии и расскаж...

Почему Snapdragon 865 круче чем A13 Bionic? Qualcomm красавцы! Новый чипсет Snapdragon 865 — настоящий монстр, он быстрее и эффективнее 855-го. Смотрите сами: снимает видео в 8К-разрешении, поддерживает динамическое освещение в играх и экраны с частотой 144 Гц, а еще здесь самый быстрый нейронный модуль —...

[Перевод] Подвергаем модель GPT-3 тесту Тьюринга Я уже некоторое время играюсь с новой моделью GPT-3 от OpenAI. Когда я только получил доступ к бета-версии, то первое, что мне пришло в голову, было: насколько GPT-3 похожа на человека? Близка ли она к тому, чтобы пройти тест Тьюринга? Как это работает Позвольте объяснить, ...

Тестирование игрового движка Amazon Lumberyard. Подходы и инструменты Amazon. Игры. Звучит необычно? Как тестировать продукт и для разработчиков, и для геймеров? Под катом — тестирование игрового движка Amazon Lumberyard, подходы как в ручном тестировании, так и в автоматизации, а также используемые на проекте инструменты. Lumberyard — это ...

[Перевод] Оптимизация времени сборки проекта Там, где я работаю (в стартапе Spot.IM, размер которого находится где-то между малым и средним), Webpack используется для сборки различных проектов. После 4 лет работы над нашим основным продуктом, когда в его код внесло вклад столько народа, что и не сосчитать, время его пе...

[Перевод] Малоизвестные, но популярные JS-фреймворки для фронтенда Не так давно мы, создавая динамические веб-приложения, использовали для работы с DOM чистый JavaScript или jQuery. С тех пор появилось много замечательных JavaScript-фреймворков и библиотек. Они помогают разрабатывать проекты, которые, по привлекательности и удобству, превос...

Управление кластером Docker Swarm с помощью Swarmpit Доброго времени суток, %username%. Пора расчехлить блог после 6 лет простоя и попробовать опять что-то полезное принести сообществу. Я крайне удивлен, что на хабре до сих пор нет ни одной статьи про Swarmpit. Я конечно понимаю, что наверняка большинство изучая Docker оста...

[Из песочницы] Типобезопасная работа с регистрами без оверхеда на С++17: value-based метапрограммирование С++, благодаря своей строгой типизации, может помочь программисту на этапе компиляции. На хабре уже довольно много статьей, описывающих как, используя типы, добиться этого, и это прекрасно. Но во всех, что я читал, есть один изъян. Сравним с++ подход и си подход с использова...

KeyDB как [потенциальная] замена Redis На хабре не нашлось обзоров «более быстрой альтернативы Redis» — KeyDB. Получив достаточно свежий опыт его использования, хочется восполнить этот пробел. Предыстория достаточно банальна: однажды с большим наплывом трафика была зафиксирована значительная деградация произво...

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

[Из песочницы] Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство Введение Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО. Следует отметить, что существует определенная проблема, связанная с невозм...

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

Почему Android и iOS никогда не изменятся кардинально Знаете, я часто пишу о том, что нам нужны новые операционные системы с совсем иным интерфейсом. Android и iOS жутко надоели, как и Windows, macOS и Linux. Все эти системы какими были на этапе зарождения, такими и остаются. Основная идея операционной системы — предоста...

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

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04 Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недоро...

Java-дайджест за 28 января Вышел JUnit 5.6. Добавлены any() и none(), чтобы запускать тесты без каких-то дополнительных тэгов, ReflectionSupport.findNestedClasses() может находить циклы в иерархии внутренних классов, TestExecutionSummary.Failure можно сериализовывать, и все в таком духе. Интересно,...

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

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

Как организовать DDoS в благих целях? Перед релизом нового сервиса неплохо бы убедиться в том, что он работает в соответствии с нашими ожиданиями и доступен вне зависимости от того, сколько клиентов одновременно им пользуются. А как этот сервис отреагирует, если против него будет организована распределенная DoS...

[Перевод] Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 2 В преддверии старта курса "iOS Developer. Basic" продолжаем публиковать серию полезных переводов, а также приглашаем записаться на бесплатный демо-урок по теме: "Result Type".Внедрение технологий непрерывной интеграции (Continuous Integration - CI) и непрерывного р...

Что нового в накопительном обновлении Windows 10 KB5005033 Сегодня Microsoft выпустила новые накопительные обновления, и, естественно, самые последние версии Windows 10 получают собственный пакет улучшений. KB5005033 - это обновление, специально предназначенное для Windows 10 версии 2004, 20H2 и 21H1, поскольку все они используют од...

Microsoft Edge против Safari — какой браузер лучше? Выбор браузера для Mac — дело ответственное Пока еще рано говорить о победителе. Соревнование только начинается, новый браузер от Microsoft внешне почти ничем не отличается от Google Chrome. Внутри тоже много общего, в частности, браузеры используют один и тот же движо...

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

Дружим STM32 с LCD дисплеем 1604 по I2C шине (библиотека HAL) Привет, Хабр! В этой статье я хотел бы рассказать о своем опыте подключения LCD дисплеев к микроконтроллеру STM32 с использованием библиотеки HAL по I2C шине. Подключать буду дисплей 1602 и 2004. Они оба имеют припаянный I2C адаптер на основе чипа PCF8574T. Отладочной пл...

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

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

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

[Перевод] Может, нам слегка успокоиться с JavaScript? У меня очень странная проблема с браузером. Скрипты на некоторых страницах просто не работают, пока не пройдёт около 20-ти секунд. Что бы вы ни собирались предложить — да, я уже думала об этом, и нет, не помогло. Я рассказываю об этом не в надежде, что кто-то подскажет с от...

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

[Перевод] Как использовать Инверсию Управления в JavaScript и в Reactjs для упрощения работы с кодом Инверсия Управления это довольно простой для понимания принцип программирования, который, при этом, может заметно улучшить ваш код. В данной статье будет показано как применять Инверсию Управления в JavaScript и в Reactjs. Если вы уже писали код который используется больше ...

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

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

[Перевод] Как оценивать интеллект? Подход Google От себя: В ноябре 2019 года вышла программная статья от Google «Об оценке интеллекта» Франсуа Шолле (создатель Keras). 64 страницы посвящены тому, как появилось современное понимание ИИ, почему машинное обучение от него так далеко, и почему мы все еще не можем адекватно изм...

OrbitDB — децентрализованная база данных на IPFS Мы уже рассказывали про InterPlanetary File System, распределённую сеть поверх одноимённого p2p-протокола с доступом к данным по HTTP. Данные в ней не поддаются изменению (не блокчейн, но часть принципов совпадает), хранятся неограниченно долго и у неё даже есть система ре...

[Из песочницы] Все о проекте спутниковый интернет Starlink. Часть 1 Проект StarLink компании SpaceX американского миллиардера и энтузиаста космоса Илона Маска хотя и появился достаточно давно, но стал широко обсуждаться в СМИ полтора года назад. Тема спутниковой связи является весьма сложной, так как объединяет в себе не только технические...

[Из песочницы] Помощник в проведении технического интервью и совместный кодинг Сколько мне довелось пройти технических собеседований на фронтенд разработчика, столько разных способов и инструментов на них использовали интервьюеры. Чат в одном месте, созвон в другом, кодинг в третьем. «Ой, что-то не работает этот сервис, а расшарь-ка экран. Ой, код р...

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

[Перевод] PHP 8: код «До» и «После» (сравнение с PHP 7.4) Осталось всего несколько месяцев до выхода PHP 8, и в этой версии действительно есть много хорошего. Под катом расскажем, как эти нововведения уже начали менять подход автора этого материала к написанию кода. Читать дальше →

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

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

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

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

[Перевод] Крупные компании, использующие Node.js Node.js — это серверная среда выполнения JavaScript, исполняющая код вне браузера. Эта технология идеально подходит для многих веб-сайтов, специализирующихся на стриминге, играх, тайм-трекерах, приложениях соцсетей и т.п. Она обеспечивает масштабируемое и быстрое решение д...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

[Перевод] Почему я отказался от Google Maps API TL;DR Недавние изменения в модели ценообразования, мягко говоря, безумны. Когда я в 2012 году запустил NUKEMAP, у Google Maps были просто потрясающие программные интерфейсы. Абсолютно лучшие API для создания картографических мэшапов на JavaScript, практически бесплатные, с...

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

Тактовая частота чипа Apple A14 будет превышать 3 ГГц Разработка нового чипа компании Apple A14 идет полным ходом. Ожидается, что новый чип будет использоваться в Mac и мобильных устройствах. По словам инженеров, предстоящий процессор A14 будет работать на частоте 3.1 ГГц, что выше на 400 МГц быстрее процессора A13. По те...

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

[Из песочницы] Как мы придумали TableAdapter и упростили работу с UITableView При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разраб...

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

Intel показала работу мультиадаптера — связки из встроенного GPU и дискретной видеокарты Почти все современные процессоры Intel оснащаются встроенным графическим ядром. На сегодняшний день возможностей таких GPU достаточно для обычной работы и даже для запуска каких-нибудь старых либо максимально нетребовательных игр. Если же в ноутбуке есть ещё и дискретна...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

[recovery mode] Proxmox VE обновился до 6.4: теперь с Single File Restore и Live Restore Proxmox Virtual Environment (в просторечии - Promxox VE, PVE, или даже "прокс") обновился до версии 6.4, и список изменений в очередной раз радует. Эта версия включает весьма интересные новые функции, такие, как восстановление в реальном времени (Live Restore) и восстановлен...

Concurrent Mode в React: адаптируем веб-приложения под устройства и скорость интернета В этой статье я расскажу о конкурентном режиме в React. Разберёмся, что это: какие есть особенности, какие новые инструменты появились и как с их помощью оптимизировать работу веб-приложений, чтобы у пользователей всё летало. Конкурентный режим — новая фишка в React. Его зад...

iPhone 2020 года могут стать мощнее ноутбуков MacBook Pro В текущем году Apple выпустит мощнейший чип для iPhone, не уступающий по производительности ноутбукам.Однокристальная система Apple A14, по данным аналитиков, производится с использованием 5-нм техпроцесса. Для сравнения, используемый сейчас A13 изготовлен по 7-нм техпроцесс...

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

[Перевод] Статический анализ в GCC 10 Я работаю в Red Hat над GCC, GNU Compiler Collection. Для следующего основного релиза GCC, GCC 10, я реализовывал новую опцию -fanalyzer: проход статического анализа для выявления различных проблем во время компиляции, а не во время исполнения. Я думаю, что лучше выявлять ...

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

Ракета Firefly Aerospace загорелась при испытаниях Во время испытаний ракеты Alpha компании Firefly Aerospace, которые проходили вечером 22 января 2020 года в Остине (Техас, США), вспыхнул пожар. Людям удалось справиться с огнем и не допустить взрыва. Сообщается, что никто не пострадал. Более того, уцелели даже ракета и испы...

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

[Перевод] Ещё пять идей, как прокачать свое мастерство разработчика (декабрь 2019) Цель публикации — подкуинуть несколько идей, что можно повторить, чтобы повысить свое мастерство front-end разработчика. Это просто идеи, без исходников и туториалов, что немного усложняет задачу, но прививает более самостоятельный подход к обучению. Предыдущий полный списо...

Windows 10 станет быстрее в May 2020 Update Устройства Windows 10 могут стать медленнее со временем. Несмотря на то, что существуют способы улучшить производительность вашего устройства, похоже, что Microsoft наконец-то вносит изменения с обновлением May 2020 Update, чтобы ускорить работу Windows 10 на некоторых устро...

Кейс Русфинанс Банка: Как мы переводили SCRUM в онлайн и что из этого получилось Русфинанс Банк — это лидер по автокредитованию в России (по версии Frank RG), который входит в международную группу Société Générale. С одной стороны, мы можем смотреть на опыт разных стран, применять инструменты, которые используют наши коллеги не только во Франции, но по в...

«Самый мощный смартфон на планете» набрал в AnTuTu более 620 000 баллов Похоже, с появлением SoC Snapdragon 865 производители смартфонов снова начали мериться «попугаями». Стоило одному из производителей, а это была Lenovo, заявить о том, что её грядущий геймерский смартфон будет набирать в AnTuTu 600 000 баллов, как другие...

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

[Из песочницы] Зачем ограничивать наследование с помощью final? Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией. Гибкост...

Как изменился английский Илона Маска за 20 лет Илон Маск — одна из самых ярких личностей XXI века. Инженер, предприниматель и миллионер с просто невообразимыми идеями. PayPal, Tesla, SpaceX — это всё его детища, и бизнесмен не собирается останавливаться только на нескольких проектах, которые стали всемирно успешными. О...

[Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри На прошлой неделе создатель Dicey Dungeons Терри Кавана отпраздновал десятую годовщину своей давней игры VVVVVV, by опубликовав её исходный код [перевод на Хабре]. Если объяснять просто, то это значит, что любой человек может теперь посмотреть, как создавалась игра, потому ...

[recovery mode] Как обойти «No-communication theorem»? Передача информации сквозь пространство и время No-communication theorem утверждает, что квантовое запутывание не может использоваться для передачи какой-либо информации. Теорема предполагает, что Боб никак не может отличить начальное состояние σ от состояния P(σ) после измерения Алисой. Это доказывается математически, п...

[Перевод] Мы слишком много используем redux-селекторы Когда я заглядываю в файл {domain}/selectors.js в больших проектах на React/Redux, с которыми работаю, я часто встречаю огромный список redux-селекторов подобного вида: getUsers(state) getUser(id)(state) getUserId(id)(state) getUserFirstName(id)(state) getUserLastName(id)(st...

Самоизолироваться призвали с помощью спойлеров к сериалам «Если вы собираетесь испортить все, мы испортим вам удовольствие» — по сути, вот лозунг инициативы. Любители сериалов не по наслышке знаю, как «обламывает» все удовольствие от просмотра знание того, что произойдет в шоу в конце. Такая информация называется «спойлером» (от ан...

Появились первые скриншоты из игры The Lords of the Rings Gollum Видеоигра The Lords of the Rings Gollum находится в разработке. Студия Daedalic Entertainment сообщила, что игра появится в следующем году на платформах PlayStation 5, Xbox Series X и ПК. Скриншоты дают представление о визуальных эффектах и художественном стиле игры. Разра...

[Перевод] Браузер и числа с плавающей запятой Изображение — www.freepik.com Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому ...

Разработка в Wargaming – встреча с Максимом Барышниковым, Head of Platform (ч.I) Все побежали, и я побежал. Недавно я запустил серию онлайн-митапов, куда приглашаю на дискуссию экспертов в области разработки крупных IT-проектов. Нашим первым гостем был Максим Барышников, Head of Platform из Wargaming. Ниже – расшифровка нашего разговора, вернее, её перва...

Radeon RX 5500 XT — первая видеокарта, которой действительно нужен PCIe 4.0 Процессоры AMD Ryzen 3000 стали первыми, получившими поддержку PCIe 4.0. Поддержку этого же интерфейса имеют и видеокарты линеек Radeon RX 5700 и RX 5500. Ещё летом мы убедились в том, что этот интерфейс ожидаемо не даёт никакого преимущества Radeon RX 5700. Однако све...

Ubisoft показала первый трейлер игры Avatar: Frontiers of Pandora, в которой предстоит играть за На’ви Компания Ubisoft завершила своё выступление на выставке E3 большим сюрпризом. Она показала первый трейлер игр Avatar: Frontiers of Pandora. Разработкой этого проекта занимается внутренняя студия Massive с использованием движка Snowdrop. Игра Avatar: Frontiers of Pandora расс...

[Перевод] Понимание CSS Grid: Создание Grid-контейнера Перевод «Understanding CSS Grid: Creating A Grid Container» Рейчел Эндрю Хотя технология CSS Grid стала поддерживаться некоторыми браузерами еще в 2017 году, у многих разработчиков пока не было возможности использовать её в своих проектах. Технология CSS Grid привносит множ...

[Из песочницы] Почему нам везде хочется видеть золотое сечение? Попытка (неудачная) эволюционного анализа при помощи нейросетей на C++ Недавно я задался вопросом: связано ли как-то наше желание везде видеть золотое сечение с какими-то сугубо культурными вещами, или же в этом скрыта какая-то более глубокая закономерность, связанная с устройством нашего мозга? Чтобы разобраться в этом вопросе, я решил сделать...

[Перевод] Обход капч с помощью Headless Chrome Использование 2Captcha and Puppeteer для автоматического прохождения капч Вот уже лет десять мы видим капчи по всему интернету. Все эти волнистые линии, слова или числа, мешающие нам при попытке залогиниться, зарегистрироваться или написать где-нибудь комментарий. Amazon’s...

Рабочая станция в Docker контейнере Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. Что...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

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

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

[Перевод] Создаём линзы для SnapChat с использованием pix2pix Почти такой же заголовок носит и моя предыдущая статья, с той лишь разницей, что тогда я создавал линзы для SnapChat алгоритмически, используя dlib и openCV, а сегодня хочу показать, как можно добиться результата, используя машинное обучение. Этот подход позволит не занимать...

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

Запущен открытый бета-тест realme UI 2.0 на базе Android 11 realme запускает открытое бета-тестирование realme UI 2.0 на базе Android 11 для смартфонов realme 6 Pro, realme 7, realme X2 Pro и realme Narzo 20 Pro в Индии. Владельцы данных моделей могут принять участие в тесте подав заявку. realme UI 2.0 будет поставляться с новыми в...

Hack The Box — прохождение Forest. AS-REP Roasting, атаки DCSync и Pass-The-Hash Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с AS-REP Roasting в схеме аутентификации Kerberos, используем BloodHound для разведки в домене, в...

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

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

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

[Из песочницы] Игровая консоль stm32 Немного шутеров для stm32; как, зачем, что получилось. Предисловие Будучи поклонником «старой» школы шутеров с одной стороны и embedded-разработчиком с другой, я всегда испытывал интерес, как и почему авторам той эпохи удавалось воплощать новый жанр, требующий совершенно ...

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

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

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

iPad Pro на чипе M1 оказался на 50% быстрее предшественника В бенчмарке Geekbench пошло тестирование нового iPad Pro, который построен на чипе M1, и уже появились результаты. Не терпится рассказать вам о них. По данным теста производительности новый iPad Pro набрал 7284 балла в многоядерном режиме, что на 50% быстрее, чем у iPad пред...

Anet ET5X. Очередной дрыг, но со своими плюшками Всем доброго времени суток.Приехал ко мне наконец anet, после чего я увидел обзор Юнаха. Немного он меня опечалил, однако не все так плохо, как было описано. В этот статье я обращу внимание только на какие то решения и изыски, что бы не затягивать время. Поехали?В коробке по...

Как я «умный» телевизор Samsung до ума доводил — расширенный отзыв “Каждый человек обязан, по меньшей мере, вернуть миру столько, сколько он из него взял.” — Альберт Эйнштейн В своей первой статье на Хабре мне хотелось бы поделиться с уважаемыми читателями подробной информацией о достоинствах и недостатках, а также личным опытом настройки ...

6-ядерный Ryzen 5 4600H по производительности не уступает 5-гигагерцовому Core i7-10750H Кажется, мобильные процессоры Ryzen 4000 получились у AMD даже лучше настольных Ryzen 3000. По крайней мере к такому выводу приходишь после многочисленных тестов производительности мобильных APU и сравнения их с настольными CPU. В очередном таком сошлись 6-ядерный Ryzen...

Intel случайно признала, что её новейшие 10-нанометровые процессоры медленнее 14-нанометровых со старой архитектурой Мобильные процессоры Intel Ice Lake и Comet Lake уже несколько месяцев доступны в многочисленных ноутбуках. Оба семейства относятся к десятому поколению процессоров Core, но это совершенно разные CPU. Процессоры Comet Lake производятся по 14-нанометровому техпроцессу, и...

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

Exynos 1000 будет втрое быстрее Snapdragon 865 Известно, что Samsung разрабатывает не только смартфоны, но и производит различные компоненты. Например, мобильные чипы. Но линейки SoC Exynos не так популярны, как Qualcomm и MediaTek. Но, вероятно, это скоро изменится. Недавно был выпущен новый процессор Samsung Exynos 100...

Мини-курс по 3D-сканированию выпуск 3/4. Про фотограмметрию. О фотограмметрии как способе 3D-сканирования. Сложности при сканировании и классные кейсы из опыта.Егор Смирнов инженер-геодезист, практикующий пилот БПЛА, интересно и содержательно расскажет об отличии фотограмметрии от сканирования 3d-сканером, о способах 3d-сканирования с...

[Из песочницы] Сравнение 3 бесплатных решений для управления информацией о товарах (PIM систем) На рынке доступно множество коммерческих решений для управления информацией о товарах (PIM). И есть 3 бесплатных решения с открытым исходным кодом: Akeneo, Pimcore и OpenPIM, которые вы можете использовать для внедрения системы PIM в своей компании. Я собираюсь сравнить эт...

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

Apple расходится с Intel Перевод «маков» на чипы ARM начнется в этом году. Объявление о смене процессорной архитектуры стало сенсацией, которую давно ждали. Компания Apple сделала объявление, которого давно ждали: компьютеры Mac уже в этом году начнут переводить на процессоры архитектуры ARM, раз...

Разложение монолита: Декомпозиция БД (часть 1) Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен декомпозиции БД во время процесса разложения монолита на микросервисы.В предыдущей статье рассмотрели способы извлечения функциональности из монолита в микрослужбы. Однако, что делат...

[Перевод] Java/Spring: Как полностью сгенерировать CRUD REST API с помощью Speedment В этой статье вы узнаете, как с помощью Speedment создать полный CRUD REST API для базы данных. С каждым годом становится все очевиднее, что Spring Framework является одним из наиболее широко используемых фреймворков для веб-разработки на Java. Читать дальше →

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

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

Если вы не можете загрузить все ядра процесса, то переход с Intel Core i9-9900KS на Core i9-10900K начисто лишен смысла Информация из базы данных Geekbench позволяет сравнить производительность перспективного флагмана линейки настольных процессоров Intel Core i9-10900K и модели нынешнего поколения Core i9-9900KS. Если обобщать, то в Core i9-10900K нет никакого смысла, если только пользов...

[Перевод] Создаем план действий с помощью AWS Cloud Adoption Framework Перевод статьи подготовлен специально для студентов курса «Cloud Solution Architecture». Источник Скачать руководство Планы действий AWS CAF помогут вам подготовиться к переходу на облачный стек технологий. Путешествие начинается с того, что ваша команда руководителей...

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

Bloomberg: При переходе на удаленную работу из-за карантина сотрудники начинают работать на несколько часов дольше, чем в офисе (в зависимости от страны) Издание Bloomberg со ссылкой на данные VPN-провайдера NordVPN Teams сообщило, что переход на удаленную работу существенным образом сказался на длительности рабочего дня. Отсутствие необходимости тратить время на дорогу в офис привело к увеличению рабочего времени сразу на не...

Вот что показали тесты самого странного процессора Intel Пару недель назад в тесте впервые засветился самый необычный процессор Intel — Lakefield. Напомним, это пятиядерный CPU, у которого одно производительное ядро линейки Ice Lake и четыре очень энергоэффективных «атомных» ядра с новой архитектурой Tremont...

Фил Спенсер: SSD может использоваться в новой Xbox как виртуальная ОЗУ Интересное утверждение Фила Спенсера (Phil Spencer) о том, что Xbox Series X может использовать встроенный NVMe SSD в качестве виртуальной оперативной памяти, прошло в своё время мимо широкой общественности. Эти слова были сказаны ещё на E3 в прошлом году и, тем не менее, не...

Анонсирована игра Narcos: Idle Cartel по мотивам сериала Нарко Вообще кликеры — это не тот жанр, о котором стоит или даже хочется рассказывать. Но, к сожалению, его часто используют разработчики проектов по лицензии. «Нарко» — это один из самых популярных сериалов Netflix, рассказывающий о становлении наркобарона Пабло Эскобара. И вот ...

SoC Exynos 990 оправдана? Тест показал, что с автономностью у такой версии всё тоже не так страшно Вчера мы убедились в том, что актуальные флагманы Samsung на платформе Exynos 990 при обычном использовании без «тяжёлых» игр работают условно так же быстро, как и модификации на Snapdragon 865. При этом мы знаем, что у первых остаются проблемы с автономност...

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