Социальные сети Рунета
Суббота, 20 апреля 2024

[Перевод] Python Testing с pytest. Глава 2, Написание тестовых функций Вернуться Дальше Вы узнаете, как организовать тесты в классы, модули и каталоги. Затем я покажу вам, как использовать маркеры, чтобы отметить, какие тесты вы хотите запустить, и обсудить, как встроенные маркеры могут помочь вам пропустить тесты и отметить тесты, ожидая неуд...

Переписываем тестовое задание для junior frontend на TypeScript и react-hooks Привет Хабр, сегодня мы позанимаемся с TypeScript и React-hooks. Данный туториал поможет вам разобраться с основами "тайпскрипта" и поможет в работе над тестовым заданием для фронтендера. Тестовые задания на проекте "Без Воды" — это возможность получить code-review. Дедлайн ...

Генерация документов с помощью ONLYOFFICE DocumentBuilder Привет, Хабр. Я хочу рассказать об утилите под названием DocumentBuilder, которая позволяет генерировать документы, таблицы и презентации, а также показать, как можно его использовать для решения ваших задач, на примере создания резюме из шаблонов. Работает билдер следующи...

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

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...

[Из песочницы] AnyStub, библиотека заглушек соединений в Java В отличие от множества платформ Java страдает от недостатка библиотек заглушек соединений. Если вы давно в этом мире, то наверняка должны быть знакомы с WireMock, Betamax или даже Spock. Многие разработчики в тестах используют Mockito для описания поведения объектов, DataJpa...

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

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

[Перевод] Автоматизация Android. Супер простое руководство по созданию первого Espresso-теста Здравствуйте, друзья. В преддверии старта курса «Mobile QA Engineer», хотим поделиться с вами переводом интересного материала. Что такое Espresso? Нет, это не напиток, который вы пьете каждый день, чтобы взбодриться. Espresso — это тестовый фреймворк с открытым исходным к...

TDD: как правильно писать спецификации (describes) Написание спецификаций — утверждения или тестовые гипотезы — обычно обходят стороной в курсах TDD, поскольку тут мало программирования. Однако они очень важны. Они определяют, как и какие тесты будут написаны, а также определяют, насколько легко будет фиксировать поломку....

[Из песочницы] Логирование всех запросов к Базе данных в Asp.Net Boilerplate 4.3 .Net Core 2.1 Часто в проекте возникает непонятная ошибка для которой необходимо максимальное логирование всех запросов к Базе данных. Статья поможет тем, кто пишет (развертывает на сервере) один из своих первых проектов на Asp.Net Boilerplate. Читать дальше →

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

[Перевод] Процедурные дороги в Houdini и Unity Для моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini! Раньше, когда не знал о Houdini, я писал на C# соб...

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

[Из песочницы] Python + Pyside2 или просто «Калькулятор» Привет, Хабр! Меня зовут Саша. Я Junior разработчик. Работаю тестировщиком ПО. В основном я пишу тесты при помощи Python+Selenium, но Python стал настолько интересен, что мне захотелось углубиться в него и выучить как можно больше фреймворков! Я захотел написать десктопное ...

[Из песочницы] Автоматизация доставки flow в Apache NiFi Всем привет! Задача заключается в следующем — есть flow, представленный на картинке выше, который надо раскатить на N серверов с Apache NiFi. Flow тестовый — идет генерация файла и отправка в другой инстанс NiFi. Передача данных происходит с помощью протокола NiFi Site to...

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

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

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Реализация сопоставления с образцом в Java Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться. Сопоставление с образцом раскрывают перед разработчиком возможность п...

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

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

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

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 1 Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандлеры и транспиляторы для создания двух версий кодовой базы. Одна из них содержит с...

Запускаем инструментальные тесты в Firebase Test Lab. Часть 1: iOS проект Меня зовут Дмитрий, я работаю тестировщиком в компании MEL Science. Совсем недавно я закончил разбираться со сравнительно свежей фичей от Firebase Test Lab — а именно, с инструментальным тестированием iOS приложений с использованием нативного фреймворка тестирования XCUITe...

Тесты на Codeception для PHP-бэкендов Всем привет! Меня зовут Паша, и я QA инженер команды Order Processing в Lamoda. Недавно я выступал на PHP Badoo Meetup. Сегодня хочу представить расшифровку своего доклада. Речь пойдет про Codeception, про то, как мы его используем в Lamoda и как на нем пишем тесты. Чи...

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

Операторы связи проведут «полевые испытания» закона об устойчивости Рунета Сегодня стало известно о том, что члены рабочей группы «Информационная безопасность» (именно эта группа занимается реализацией одноименного федерального проекта программы «Цифровая экономика») порекомендовали провести испытания на сетях связи согласно положениям закона об ...

Deno: время Node.JS уходит? Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются...

Signpost: когда брейкпоинтов недостаточно В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас...

[Перевод] Serverless: на 15% медленнее и в восемь раз дороже Недавно я решил поэкспериментировать с API на нашем сайте CardGames.io и попробовать фреймворк Serverless. Последние несколько лет он стал горячей темой в мире технологий, а я прокрастинировал хотел поддерживать технические навыки в актуальном состоянии и попробовать что-то ...

Криптографический АРМ на базе токенов PKCS#11. Получение сертификатов для ЕГАИС. Часть 4 И вот, когда я уже практически добавил в криптографический АРМ на базе токенов PKCS#11 cryptoarmpkcs генерацию самоподписанных сертификатов и готов был приступить к написанию статьи, мне пришло такое письмо:Мы являемся УЦ «Имярек», у нас возникло затруднение с выпуском ЭП в...

Тесты на Си без SMS и регистрации Недавно zerocost написал интересную статью «Тесты на C++ без макросов и динамической памяти», в которой рассматривается минималистический фреймворк для тестирования Си++ кода. Автору (почти) удалось избежать использования макросов для регистрации тестов, однако вместо них в ...

Почему мы используем GraphQL в 8base Друзья, всем привет! Эта статья в первую очередь будет интересна фронтенд-разработчикам, особенно тем кому актуальна тема GraphQL, но в то же время я надеюсь, что она будет полезна и бэкенд-разработчикам и поможет им понять преимущества GraphQL глазами фронтендера. Читать...

Десяток Книг по Agile, Которые Точно Понадобятся Менеджеру Проекта в 2020 Году Профессиональная литература с термином «Agile» в названиях стала появляться на полках IT-экспертов после 2001 года, когда термин был использован во время представления Манифеста Agile. Agile описывает методологию разработки программного обеспечения, которая характеризуется...

[Перевод] Пишем API для React компонентов, часть 5: просто используйте композицию Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

[Из песочницы] Генерация OpenAPI спецификации на основе функциональных тестов Разрабатывая API, наверняка не раз появлялись сложности с документацией: то её нет, то она не отображает поведение, описанное в коде. С точки зрения разработчика, написание документации (одной только внутренней) занимает не меньше времени, чем написание самого кода. Знако...

[Из песочницы] Какой дистрибутив лучше использовать для вашей embedded системы? Какой дистрибутив лучше использовать для embedded систем. Этот вопрос является актуальным на сегодняшний день. Существует три актуальных подхода для решения этой задачи: Использовать готовый дистрибутив для вашего одно платного компьютера(Armbian, Openwrt и т.д.) Собрать...

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

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

[Перевод] Встречайте Codeception 3.0 Настало время воплотить в жизнь новую мажорную версию Codeception! За годы эволюции и постоянных улучшений мы многому научились, и сегодня представляем вам лучшую версию Codeception. Мы по-прежнему считаем, что простота тестирования важна: чтение, написание и отладка тестов ...

Jaxb (XJC) генерация классов из XML Schema (XSD) с описаниями классов и полей в виде аннотаций. XJC плагин Думаю многие Java-разработчики которые хоть раз сталкивались с Web-сервисами, использовали генерацию Java DTO классов по описанию XML Schema (XSD). Jaxb с этим справляется на ура, не важно как его использовать, через xjc или wsimport вызов из командной строки, maven или grad...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

Динамическая генерация DAG в Airflow Всем привет! Меня зовут Антон, в Ростелекоме я занимаюсь разработкой центрального хранилища данных. Наше хранилище состоит из модулей, в качестве оркестратора которых используются несколько инстансов Informatica, часть из которых мы хотим перевести на Airflow в рамках перехо...

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

Kotlin DSL, Fixtures и элегантные UI тесты в Android Когда познакомился с Kotlin DSL, подумал: отличная штука, жалко в продуктовой разработке она не пригодится. Однако, я был неправ: он нам помог сделать очень лаконичный и элегантный способ написанная End-to-end UI тестов в Android. Читать дальше →

[Перевод] Как я создал более 100 приложений с открытым кодом, используя инструменты автоматизации Представляем вам перевод статьи Sm0ke, опубликованной на сайте dev.to. Автор рассказывает о своем опыте генерации веб-приложений и способе автоматизации процесса их создания. Привет, кодеры! Я — разработчик-фрилансер, и я сгенерировал более 100 приложений на различных язык...

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

[Перевод] GitHub Package Registry будет поддерживать пакеты Swift 10 мая мы запустили ограниченный бета-тест GitHub Package Registry, службы управления пакетами, которая позволяет легко публиковать публичные или частные пакеты рядом с исходным кодом. В настоящее время сервис поддерживает знакомые инструменты управления пакетами: JavaScript...

Кастомизация Django ORM на примере ZomboDB Кастомизация Django ORM на примере ZomboDB Часто при работе с Django и PostgreSQL возникает необходимость в дополнительных расширениях для базы данных. И если например с hstore или PostGIS (благодаря GeoDjango) всё достаточно удобно, то c более редкими расширениями — вроде p...

[Из песочницы] Генерация звука на микроконтроллерах AVR методом волновых таблиц с поддержкой полифонии Микроконтроллеры AVR довольно дешевы и широко распространены. Наверно, с них начинает почти любой embedded разработчик. А среди любителей правит балом Arduino, сердцем которого обычно является ATmega382p. Наверняка многие задумывались: как можно заставить их звучать? Если п...

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

[recovery mode] Популярные вопросы разработчика о тестировании Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, ...

[Перевод] Пространственные манипуляции в 2D с помощью Signed Distance Fields При работе с полигональными ассетами можно отрисовывать только по одному объекту за раз (если не учитывать такие приёмы, как batching и instancing), но если использовать поля расстояний со знаком (signed distance fields, SDF), то мы не этим не ограничены. Если две позиции им...

Обратная сторона zero knowledge: бэкдор в zk-SNARK, который невозможно обнаружить Используя протокол доказательства с нулевым разглашением из семейства SNARK, вы никогда не знаете правил игры. Эти правила устанавливают участники процедуры генерации доверенных параметров системы, однако после её завершения проверить эти правила не представляется возможным....

Ssh-chat Привет, Хабр. Console chat отличная вещь, но для фронтендеров, а что если вы хотите такой же, но для бэкэнда. Если да, то эта статья для вас. Но какой инструмент часто используют в бэкенде? Правильно ssh, так что представляю sshchat Читать дальше →

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

Устройство компилятора Swift. Часть 4 Это последняя часть моего обзора компилятора Swift. Я покажу, как можно осуществить генерацию LLVM IR из AST и что выдаёт настоящий фронтенд. Если вы не читали предыдущие части, то переходите по ссылкам: Общий обзор компонентов Разбор исходного файла Swift intermediate lan...

Боль, таблетки и две кареты скорой помощи, или Как мы все-таки забрались на пятое место IronStar 226 в Сочи Никогда. Слышите? Никогда не соглашайтесь участвовать в этом безумии. У нас в ИТ все совсем неплохо — теплые и уютные офисы, большие мониторы, хорошие столовые, ДМС. Хочется драйва, работы на пределе сил, переживаний? Пожалуйста. Идите работать на проекты типа ГИС ЖКХ (ранее...

[Перевод] Генерация подземелий и пещер для моей игры На этой неделе я начал работать над новой темой: генерацией подземелий и пещер. Я использовал разбиение пространства для генерации комнат, алгоритмы генерации лабиринтов для генерации коридоров и клеточные автоматы для придания пещерам более естествненного внешнего вида. Р...

3-way merge в werf: деплой в Kubernetes с Helm «на стероидах» Случилось то, чего мы (и не только мы) долго ждали: werf, наша Open Source-утилита для сборки приложений и их доставки в Kubernetes, теперь поддерживает применение изменений с помощью 3-way-merge-патчей! В дополнение к этому, появилась возможность adoption’а существующих K8s...

[Перевод] Процедурная генерация планет От переводчика: Представляю вашему вниманию статью авторства Andy Gainey, в прошлом независимого разработчика игровых инструментов, ныне сотрудника Paradox Development Studio. На мой взгляд, автор играючи создал один из лучших процедурных генераторов планет с открытым исход...

[Из песочницы] DDS Синтезатор на Verilog В этом посте я поделюсь тем, как разбирался с написанием DDS синтезатора на Verilog. Он будет использован для генерации синусоидального колебания, частоту и начальную фазу которого можно регулировать и рассчитан для использования с 8-битным однополярным ЦАП. О том, как рабо...

Авторы Smite и Paladins ищут желающих для теста новых проектов Hi-Rez Studios больше всего известна благодаря компьютерным проектам, среди которых MOBA Smite и шутер от первого лица Paladins. Да, на мобильных у нее в портфолио есть Jetpack Fighter, но она далеко не так популярна. А разработка анонсированной пару лет назад Smite Rivals и...

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

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

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

[Перевод] Apollo Client. Теперь — с хуками React Автор материала, перевод которого мы публикуем сегодня, говорит, что миссия разработчиков Apollo Client заключается в том, чтобы сделать этот инструмент самым современным и удобным решением для управления состоянием React-приложений. Сообщество React развивается и осваивает ...

Smart IdReader SDK — встраиваем распознавание в проекты на Python и PHP Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, показывали, как встроить распознавание в Телеграм-бота, а сегодня мы ра...

[Из песочницы] Миграция данных с mongoDB и Spring Boot Каждый разработчик рано или поздно встречается с необходимостью миграции данных в базе данных. На нашем проекте мы используем mongoDB в качестве базы данных. Мы подходили к миграции данных разными способами: писали js скрипты и запускали непосредственно в базе данных исполь...

Тест и обзор ноутбука Dell XPS 13 2019 UHD Touch: лучше не найти? Во время тестовых испытаний Dell XPS 13 2019 UHD Touch предложил все, что только можно ожидать от актуального топового ноутбука. Но в плане оснащения Dell кое в чем все-таки промахнулась мимо цели.

Introscope: ну очень ленивое unit-тестирование Мы на работе пишем много часто меняющейся бизнес-логики на JS (стартап же). Даже слишком много. И всё это хочется по старой привычке тестировать, но как-нибудь побыстрее, чтобы тесты особо не мешали говнокодить, когда это нужно, и не подгонять под тесты особенно сильно струк...

[Из песочницы] Записка frontend-архитектора #1. Нельзя просто так взять и использовать Redux Дисклеймер Уважаемый читатель! Если вы не имеете понятия, что такое React и Redux, читать дальше не имеет смысла, дальше технический бред. Я серьезно, понимание к чему эта записка, требует работы с указанными библиотеками — несмотря на то, что я постараюсь писать понятно, эт...

0, 0, 1, 0, 2, 0, 2, 2, 1, 6, 0, 5, 0, 2, 6, 5, 4, 0, 5, 3, 0, 3, 2, 9, 0, 4, 9, 3, 6, 14, 0, 6, 3, 5, 15, 0, 5, 3, 5… Есть два мужика с именами «Van Eck». Первый, в 1985 году показал всему миру как за 15 долларов перехватывать данные с монитора (Van Eck phreaking), второй, в 2010 придумал хитрую последовательность (Van Eck's sequence). Круче простоты задания этой последовательности могут бы...

[Перевод] Генерацируем тайловые уровни и прячем квадраты от игрока Генерация уровней в Unexplored 2 Мы очень гордимся генератором уровней игры Unexplored 2, это программа, отвечающая всем современным требованиям. В посте я расскажу о том, как создаются уровни игры. Нам не пришлось заново изобретать велосипед. В Unexplored 1 мы уже создали...

FFI: пишем на Rust в PHP-программе В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах. Давайте попробуем написать код на Rust, и используем его PHP-программе Читать дальше →

[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-...

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

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

Как email-маркетинг изменился с 2013 года: 4 главных тренда и актуальная статистика Изображение: Pixabay Email-маркетинг – эффективный инструмент коммуникации компании с аудиторией, который доказал свою эффективность. Однако чтобы он работал по-настоящему эффективно, необходимо следить за актуальными трендами и анализировать их. За последние годы в том...

Перевод «Подготовьте ваши приложения к 64-бит требованиям» Перевод статьи Get your apps ready for the 64-bit requirement блога «Android Developers Blog». Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для...

Инструкция по установке тестового клиента TON На днях, как известно, в открытый доступ был выпущен тестовый клиент Telegram Open Network (подробнее о TON — здесь и здесь; о работе тестовой сети — здесь). Я поскорее начал его ставить; инструкция по установке, описанная в README, была на счастье простой, и это вселяло опт...

[Перевод] Паттерны и анти-паттерны CI/CD. Часть 3 И снова здравствуйте. Сегодня хотим поделиться с вами переводом третьей части статьи «Паттерны и анти-паттерны CI/CD», предыдущие части которой можно прочитать здесь и здесь. Напомним, данная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инс...

Вредные советы: как правильно писать техническую документацию? Часть третья и последняя Советы по грамотному написанию технической документации для пользователей. Часть 3 (заключительная) Заключение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. На этот раз мы попод...

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

Neural Matching: как адаптировать контент под реалии Google У поисковиков не очень с логикой, это факт. Но они стараются. А SEO-специалисты стараются в ответ — пытаются добиться предельной релевантности страниц, опираясь на догадки и эксперименты. Недавно Гугл порадовал новым фактором ранжирования — Neural Matching. Мы почитали, чт...

JUnit в GitLab CI с Kubernetes Несмотря на то, что все прекрасно знают, что тестировать свой софт важно и нужно, а многие давно делают это автоматически, на просторах Хабра не нашлось ни одного рецепта по настройке связки таких популярных в этой нише продуктов, как (любимый нами) GitLab и JUnit. Восполним...

[Перевод] Очень математическая история идеального сочетания цветов Захари Бир создаёт рисунки, используя цветовую палитру от цветовой схемы для Мака Solarized и собственную программу для генерации изображений Geometriq. Пару лет назад я влюбился в цветовую палитру: цвет, чуть темнее белого, выделяемый жёлто-оранжевым и нейтральным голубым...

[Перевод] Что такое Android Lint и как он помогает писать поддерживаемый код Когда разработчик не достаточно осторожен, дела могут пойти весьма плохо. Например, классические упущения разработчика — использование новой версии API, которая не поддерживает работу со старым кодом, выполнение действий, которые требуют специальных пользовательских разреше...

Криптографические токены PKCS#11. Графическая утилита «с функцией подписания и добавлением метки времени». Часть 1 В комментариях к статье «Использование механизмов криптографических токенов PKCS#11 в скриптовых языках» читатель kovserg написал: «С нетерпением ждём статью с функцией подписания документа и добавлением метки времени». Еще раньше другой участник хабра pas писал о том, что б...

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

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

Как бороться с flaky тестами в opensource-сообществе С проблемой flaky-тестов сталкиваются многие проекты, и тема эта уже не раз поднималась на Хабре. Тесты, не определившиеся со своим состоянием, постоянно отнимают не только машинное время, но и время разработчиков и тестировщиков. И если в коммерческой компании можно выделит...

[Перевод] Fluent 1.0: гибкая система локализации Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата фай...

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

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

Настройка Unit-тестов в смешанных проектах Swift + ObjectiveC Данная статья будет маленькой, расскажу, какие проблемы возникли при создании таргета для тестирования в смешанном и достаточно старом проекте ObjectiveC + Swift, и как удалось их решить. Читать дальше →

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

[Из песочницы] Документируем процесс подключения и генерации документов в будущей ERP-системе Несколько месяцев назад я закончил один из этапов своего профессионального пути многорукого Шивы в стартапе по разработке системы управления лабораториями неразрушающего контроля. Я расскажу как мне удалось задокументировать часть разработки связанную с подключением и гене...

Логи не нужны? Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах? Одна...

Coinbase Wallet добавил поддержку криптовалюты Dogecoin Разработчики Coinbase Wallet сообщили, что в течение ближайшей недели в приложениях для iOS и Android будет реализована поддержка криптовалюты Dogecoin (). Также Coinbase Wallet будет поддерживать тестовую сеть Dogecoin – данная функция, отмечается в блоге компании, поможет ...

Робопчелка «Bumble» — первый тестовый полет внутри МКС Автономный летающий беспроводной малогабаритный робот-куб «Bumble» проекта Astrobee начал проходить полетные испытания на борту МКС. Читать дальше →

[Перевод] Улучшения диагностики в .NET Core 3.0 В .NET Core 3.0 мы представляем набор инструментов, которые используют новые возможности среды выполнения .NET, которые упрощают диагностику и решение проблем с производительностью. Эти возможности помогут вам ответить на некоторые распространенные вопросы диагностики, кото...

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

[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...

[Перевод] Как отлаживать и профилировать любой EXE-файл с помощью Visual Studio Вам когда-нибудь нужно было отлаживать или профилировать исполняемый файл (файл .exe), для которого у вас нет исходного кода или вы не можете его собрать? Тогда наименее известный тип проекта Visual Studio, проект EXE, для вас! В Visual Studio вы можете открыть любой EXE-фа...

[Из песочницы] Опыт разработки тестового задания на React для Aviasales Привет, я хотел поделиться опытом разработки тестового задания для Aviasales. Я недавно наткнулся на вакансию React разработчика в компанию Aviasales. Отправил заявку, после чего на следующий день мне ответил HR и сообщил, что я должен буду сделать тестовое задание. Я крайне...

SP701 + PCAM-5C + 15 Минут+ VITIS = Easy MIPI на FPGA Аннотация Интерфейс MIPI сегодня становится всё более популярным интерфейсом для подключения камер и дисплеев. По этой причине всё больше отладочных комплектов на основе FPGA содержат на борту соединители интерфейса MIPI – как для подключения камер(ы) и дисплея(ев). Для того...

Автоматизация импортов в Python До После import math import os.path import requests # 100500 other imports print(math.pi) print(os.path.join('my', 'path')) print(requests.get) import smart_imports smart_imports.all() print(math.pi) print(os_path.join('my', 'path')) print(requests.get) Так получи...

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

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

Какой код нужно показывать на собеседовании Сегодня с утра был очень интересный пост о том, какой код нужно писать на собеседовании и какие навыки при этом демонстрировать. Тестовая задача была такая. Написать на TypeScript функцию, которая для заданного массива чисел выводит текстовую строку диапазонов: getRanges([...

REST Assured: что мы узнали за пять лет использования инструмента REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала. В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования ст...

Создаем шаблон Xcode проекта Всем привет, я Ваня — iOS-разработчик. В этой статье я расскажу о том, как создавать Xcode шаблоны проектов и о том, как они помогли сэкономить время на старте проекта. Читать дальше →

NVIDIA Jetson Nano: тесты и первые впечатления Привет Хабр. Относительно недавно, в этом, 2019 году, NVIDIA анонсировала одноплатный компьютер совместимого с Raspberry Pi форм-фактора, ориентированный на AI и ресурсоемкие расчеты. После его появления в продаже, стало интересно посмотреть, как это работает и что на н...

Spring Boot 2: чего не пишут в release notes Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой. На конференции Joker 2018...

[Перевод] Что общего между чисткой яйца и DevOps? Перед вами перевод статьи Patrick Lee Scott, размещенной на сайте hackernoon.com. Автор предлагает познакомиться с несколькими важными принципами, которые помогут вам прокачаться в DevOps. Пару дней назад я пытался почистить яйцо дурацким способом, и моя девушка Анжели сп...

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

[Из песочницы] Знакомство с Sass модулями Привет, Хабр! Представляю вашему вниманию перевод статьи «Introducing Sass Modules» автора Miriam Suzanne. Недавно в Sass появилась функциональность, которая вам знакома по другим языкам: модульная система. Это большой шаг вперед для @import, одной из наиболее часто использ...

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть вторая Первая часть — здесь. Представьте ситуацию. Перед вами стоит задача разработки нового функционала. У вас есть наработки от ваших предшественников. Если предположить, что вы никаких моральных обязательств не имеете, то как бы вы поступили? Чаще всего все старые наработки ...

[Перевод] Введение в юнит-тестирование в Unity Вам любопытно, как работает юнит-тестирование в Unity? Не знаете, что такое юнит-тестирование в целом? Если вы ответили положительно на эти вопросы, то данный туториал будет вам полезен. Из него вы узнаете о юнит-тестировании следующее: Что это такое Его польза Достоинств...

Google+. Sic transit gloria mundi… Всем привет. Итак, собственно к Google+. Проект почит в бозе с 2 апреля 2019 года. Теперь уже официально. Вот как об этом пишут всем участникам. Читать дальше →

[Из песочницы] Ответ на «Мольберт для программиста микроконтроллеров» Чем бы ее зацепить? Так, ладно,… а теперь повернуть… следующая… первую повернуть… стоп, тут надо вывод тестовый под осциллограф припаять… а куда делась первая плата? А ты что такое? (Дальше следует непереводимая игра слов с использованием местных идиоматических выражений). ...

Приложение Jumbo поможет удалить старые твиты, почистить историю поиска и скрыть записи в соцсетях Сервис работает с Twitter, Google и Facebook.

[Из песочницы] Хороший, плохой, злой — тестирование в проекте новичков Предисловие: в университете было получено задание — собрать scrum команду, выбрать проект и работать над ним в течении семестра. Наша команда выбрала разработку веб-приложения (react + flask). В этой статье я постараюсь рассказать, какими тесты должны были быть, и проанализи...

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

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

«Умный дом» — переосмысление На Хабре уже было несколько публикаций о том, как айтишники строят себе дома и что из этого получается. Хочу поделиться своим опытом («тестовый проект»). Постройка собственного дома (особенно, если еще и своими силами) — крайне объемный кусок информации, поэтому я свое по...

[Перевод] Два в одном: Intel Optane Memory H10 (часть 2) Часть 1 >> Часть 2 Тест накопителей AnandTech — The Destroyer The Destroyer — это чрезвычайно долгий тест, который реплицирует шаблоны доступа приложений с большим объемом ввода-вывода. Как при использовании в реальных условиях, накопители получают время от времени не...

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

[Перевод] Интеграционные тесты баз данных с помощью Spring Boot и Testcontainers 1. Обзор С помощью Spring Data JPA можно легко создавать запросы к БД и тестировать их с помощью встроенной базы данных H2. Но иногда тестирование на реальной базе данных намного более полезно, особенно если мы используем запросы, привязанные к конкретной реализации БД. В эт...

Анализ кода CUBA Platform с помощью PVS-Studio Для Java программистов существуют полезные инструменты, помогающие писать качественный код, например, мощная среда разработки IntelliJ IDEA, бесплатные анализаторы SpotBugs, PMD и другие. Всё это уже используется в разработке проекта CUBA Platform, и в этом обзоре найденных...

[Из песочницы] Ломаем паттерн проектирования — Singleton в PHP Одним прекрасным рабочим днём я писал unit-тесты для бизнес-логики на проекте, в котором работаю. Передо мною стояла задача инициализировать некоторые приватные свойства класса определёнными значениями. Читать дальше →

[Из песочницы] Лицензия для проектов с открытым исходным кодом, которая обязывает пользователей «не причинять вред» Привет, Хабр! Представляю вашему вниманию перевод статьи «An Open Source License That Requires Users to Do No Harm» автора Klint Finley. Китай использует технологии распознавания лиц, чтобы вычислять уйгурских мусульман. Военные США используют дроны для убийства подозрева...

[Перевод] Добавление экшенов в грамматику PEG Грамматика становится ещё лучше, если вы можете добавить (некоторую) семантику в соответствии с правилами. В частности, для анализатора Python, который я разрабатываю, мне нужно возвращать узел AST из каждой альтернативы, поскольку я хочу придерживаться текущей реализации AS...

Измерение качества кода Android-приложения с помощью Sonarqube и Jacoco в 2019 году Привет, Хабр! Меня зовут Артём Добровинский, я работаю Android-разработчиком в компании FINCH. Однажды, за парой пинт с коллегой из компании, которая занимается размещением объявлений по продаже комиссованных МИГ'ов и комаров по имени Игорь, мы начали обсуждать статические ...

X190310: Откуда растут Курьи Ножки Тестовая модель генерации поддержек пристально рассматривается на базе Cura v.3.6 .Подробнее...

School Alone — новый хоррор от 111% о том, что значит по-настоящему бояться звуков Студия 111% славится небольшими, но затягивающими игрушками. На своем сайте они без стыда пишут о том, что воруют время игроков. И нет в этом ничего плохого, если взамен последние получают эмоции. Эмоции от свежего проекта 111% под названием School Alone должны быть особо з...

Простые рецепты хороших юнит-тестов. Лекция Яндекса Если освоить небольшой список типичных ошибок, возникающих при написании юнит-тестов, можно полюбить писать их и стать гуру в своей команде. Руководитель санкт-петербургской группы разработки Яндекс.Браузера для Android Константин Заикин kzaikin рассказывает о подобных ошибк...

[Перевод] 33+ инструмента для безопасности Kubernetes Прим. перев.: Если вы задаётесь вопросами безопасности в инфраструктуре, основанной на Kubernetes, этот замечательный обзор от компании Sysdig станет отличной отправной точкой для беглого знакомства с актуальными на сегодняшний день решениями. В него включены и комплексные с...

Криптовалютный кошелек Button Wallet добавил тестовую поддержку Telegram Open Network Некастодиальный мультивалютный криптокошелек Button Wallet добавил в тестовом режиме поддержку Telegram Open Network (TON) и бесплатно предлагает пользователям, которые активируют приложение, 6,6 тестовых токенов Gram. Об этом пишет Forbes. Как отмечает сооснователь и CEO Bu...

[Перевод] Повышаем производительность разработки на примере Vue — часть 2 Если вы не читали Часть 1, вы можете исправить сиё недоразумение здесь. Переиспользование конфигураций Новая библиотека vue-cli-3 избавила от необходимости поддерживать сложные шаблоны сборки и конфигураций. Вместо этого она позволяет разработчику сосредоточиться на создании...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

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

[recovery mode] Почему не взлетел портал недвижимости. Часть 2 Продолжаю повествование о проекте Недвижимости, который пытался долго взлететь, но так и не взлетел. Пишу все как есть — личный опыт. Читать дальше →

MQTT/UDP, предвесенние итоги: дистанционная конфигурация и цифровая подпись Зима кончается, и это повод подвести очередную черту и рассказать, что нового появилось в MQTT/UDP. Для начала, ссылки на предыдущие введение и статью. Спасибо всем, кто с интересом отреагировал и отдельно тем, кто делился мыслями. Вы мне очень помогли с подходом к цифрово...

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

[Из песочницы] Фундаментальная проблема тестирования Введение Добрый день, хабровчане. Решал я тут давеча тестовое задание на вакансию QA Lead для одной финтех компании. Первая задача, составить тест-план с полным чек-листом и примерами тест-кейсов для проверки электрического чайника, решается тривиально: ГОСТ 7400-81. Электр...

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

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

[Перевод] Основы Signed Distance Field в 2D Хотя меши являются простейшим и наиболее универсальным способом рендеринга, существуют и другие варианты представления фигур в 2d и 3d. Одним из часто используемых способов являются поля расстояний со знаком (signed distance fields, SDF). Поля расстояний со знаком обеспечива...

Тесты с поддержкой PCI Express 4.0 появятся в 3DMark этим летом Уже совсем скоро на рынок выйдут первые игровые видеокарты, процессоры и материнские платы, которые поддерживают интерфейс PCI Express 4.0. По этому случаю компания UL Benchmarks готовит обновление тестового пакета 3DMark, чтобы он соответствовал...

[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS. Введение Мне действительно нравится работать с VueJS и каждый раз, когда...

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

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

Лошадь сдохла – слезь: переход с tslint на eslint До недавнего времени во всех проектах фронта разработчики Dodo Pizza Engineering использовали tslint – полезный инструмент, который подсказывает, когда ты накосячил в коде допустил неточность, помогает поддерживать код в одном стиле и сам исправляет многие замечания. Но тут ...

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

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

Подсказки для функционального заказчика. Press Δ to read Иногда так не хватает подсказок по ходу выполнения миссии ИТ-проекта – «жми W, чтобы двигаться вперёд». Чтобы хоть как-то помочь тем, кто оказался на месте функционального заказчика (от него очень многое зависит на проекте), мы собрали топ-10 подсказок, которые помогут успе...

MPS 2018.3: планы генерации, улучшения в языке сборки и упаковки и в языке редактора, обновленный интерфейс Привет, Хабр! Недавно мы выпустили [MPS 2018.3](https://www.jetbrains.com/mps/download/). В этой версии много новых функций, с которыми работа над проектами станет еще эффективнее. Мы улучшили планы генерации и язык описания редактора, добавили новые конструкции в язык сборк...

[Из песочницы] Тестирование пользовательского функционала вебсайта с помощью Capybara page objects Page Objects могут быть использованы как мощный метод абстракции (изоляции) ваших тестов от технической реализации. Важно помнить, их (Page Objects) можно использовать для увеличения стабильности тестов и поддержания принципа DRY (do not repeat yourself) — посредством инкапс...

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

Генерация конфигов для nginx, история одного pull request Приветствую, товарищи. На моих боевых серверах прекрасный nginx крутится с 2006 года и за годы его администрирования я накопил много конфигов и шаблонов. Я много нахваливал nginx и как-то так вышло, что даже хаб nginx на Хабре тоже завёл я, понты \m/ Друзья попросили подня...

Neutralinojs — что ты такое? Или UNIX way там, где не ждали Недавно я совершенно случайно наткнулся на простую рекламную заметочку "Neutralinojs — альтернатива Electron, потребляющая меньше памяти", рассказывающую о том, что есть такая крутая вещь как Neutralinojs. Заметочка, как и следует ей быть, совсем короткая и не несёт никакой ...

Новинка Xiaomi поможет почистить зубы, но это не зубная щётка Компания Xiaomi на своей краудфандинговой площадке собирает деньги на очередной занятный продукт. Он называется Dr Bei Water Flosser, и это ирригатор стоимостью 21 доллар. На данный момент на проект собрано уже более 400 000 долларов, что на 1922% больше тр...

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

История одной проблемы со Speedometer, или Как Chromium управляет памятью Современный браузер — это крайне сложный проект, в котором даже безобидные с виду изменения могут приводить к неожиданным сюрпризам. Поэтому существует множество внутренних тестов, которые должны такие изменения отловить до релиза. Тестов никогда слишком много не бывает, поэ...

[Перевод] Настройка НА-кластера Kubernetes на «голом железе», мониторинг, логи и примеры использования. Часть 3/3 Часть 1/3 тут. Часть 2/3 тут. Всем привет! А вот и третья часть руководства «Kubernetes на «голом железе»! Я уделю внимание мониторингу кластера и сбору логов, также мы запустим тестовое приложение для использования предварительно настроенных компонентов кластера. Затем про...

[Перевод] Результаты бенчмарка сетевых плагинов Kubernetes (CNI) по сети 10 Гбит/с (обновлено: апрель 2019) Это обновление моего предыдущего бенчмарка, который теперь работает на Kubernetes 1.14 с актуальной версией CNI на апрель 2019 года. Во-первых, хочу поблагодарить команду Cilium: ребята помогли мне проверить и исправить скрипты мониторинга метрик. Что изменилось с ноября 20...

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

Azure PowerShell: «в основном безвреден» Привет всем. Сегодня у нас на тесте очередной проект Microsoft. По названию статьи можно догадаться, что в этот раз разработчики не смогли порадовать нас большим количеством ошибок. Надеемся, авторов проекта не обидит название. Ведь малое количество ошибок — это отлично, не...

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

[Перевод] 56 проектов на Python с открытым исходным кодом 1. Flask Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создан...

[Перевод] Veeam Backup & Replication: полезные советы по обеспечению жизнеспособности бэкапов и реплик Сегодня я снова с удовольствием представляю вам полезные советы от моего коллеги Евгения Иванова, тим-лида команды технической поддержки Veeam. На этот раз Женя поделился рекомендациями для работы с бэкапами и репликами. Надеюсь, они помогут вам избежать типичных ошибок, и в...

Знакомство с ITSM: 10 хабратопиков и экспертных материалов для «быстрого погружения» в тему Это — материалы, которые помогут разобраться в ITSM-трендах и инструментах. / Unsplash / Headway Пять ключевых трендов ITSM на этот год. Наш хабрапост, который мы написали не так давно (после небольшого перерыва с публикациями в нашем блоге на Хабре). Рассказываем о реше...

[Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks Привет, Хабр! Представляю вашему вниманию перевод статьи "Build a Redux-like Global Store Using React Hooks" автора Ramsay. Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если...

[Перевод] Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Как почистить робота-пылесоса – простые советы Робот-пылесос – автономное устройство, которое очищает до 95 % поверхности пола и помогает поддерживать чистоту в доме.

[Перевод] Как писать Go-пакеты Пакет Go состоит из Go-файлов, расположенных в одной и той же директории, в начале которых имеется одинаковое выражение package. Пакеты, подключаемые к программам, позволяют расширять их возможности. Некоторые пакеты входят в состав стандартной библиотеки Go. А это значит, ч...

Пять студентов и три распределённых key-value хранилища Или как мы писали клиентскую C++ библиотеку для ZooKeeper, etcd и Consul KV В мире распределённых систем существует ряд типовых задач: хранение информации о составе кластера, управление конфигурацией узлов, детекция сбойных узлов, выбор лидера и другие. Для решения этих зада...

НИПС и компания Waves создадут «цифровую» дорожную карту Определились разработчики дорожных карт для федерального проекта «Цифровая экономика РФ». К их числу относится и НИПС, входящий в концерн «Автоматика» госкорпорации «Ростех» Институт. Его специалисты займутся созданием дорожной карты по распределенным реестрам, в котору...

Sigma rules. Поделка или новый стандарт для SOC Я Сергей Рублев, руководитель SOC (Security Operations Center) в компании «Инфосекьюрити». В этой статье подробно рассмотрю амбициозный проект Sigma Rules, девиз которого: «Sigma для логов — это как Snort для трафика и Yara для файлов». Речь пойдет про три аспекта: Пр...

Проверяем исходный код Roslyn Время от времени мы возвращаемся к проектам, которые уже проверяли ранее с помощью PVS-Studio и писали про это статьи. Делать это интересно по двум причинам. Во-первых, чтобы понять, насколько лучше стал наш анализатор. Во-вторых, чтобы отследить, обратили ли авторы проекта...

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

[Из песочницы] Composer для самых маленьких Доброго дня. Когда я первый раз разбирался с composer, я набросал для себя маленькую шпаргалку и теперь, спустя некоторое время представляю её на суд общественности в несколько доработанном виде. Данная публикация актуальная для тех, кто в первый раз столкнулся с незаменимы...

[Перевод] Современное окружение для React Native приложений В этой статье мы рассмотрим настройку React Native окружения с использованием expo-cli, Typescript, и Jest. Typescript поможет нам избежать ошибок при разработке и написать более эффективное мобильное приложение. Современные разработки позволяют интегрировать Typescript в ...

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

[Из песочницы] Как подключить Raspberry PI к Azure IoT: пошаговая инструкция Привет, Хабр! Представляю вашему вниманию перевод статьи Connecting Raspberry PI via Azure IoT: Step-By-Step Tutorial. В этом посте мы расскажем, как подключить Raspberry Pi как периферийное устройство для передачи сигналов к светодиодной панели, использовав модуль Azure Io...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1 В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-pl...

Генерация приложения на React с бэкэндом на GraphQL за считанные минуты Мы добавили новую экспериментальную возможность в 8base CLI (Command Line Interface), которая генерирует готовое приложение на React из вашей модели данных. Это очень удобно для начала работы с GraphQL и React, а также для быстрого создания пользовательского интерфейса прило...

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

Волшебная фея для юнит-тестов: DSL в C# Как часто бывало так, что написав рабочий юнит-тест, ты смотришь на его код, а он… плохой? И ты такой думаешь: «Это же тест, оставлю так…». Нет, %username%, так оставлять не надо. Тесты — это значимая часть системы, которая обеспечивает поддерживаемость кода, и очень важно, ...

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

Подборка: unboxing железа IaaS-провайдера Делимся материалами с распаковкой и тестами СХД и серверного оборудования, которые мы получали и использовали в разные периоды активности нашего IaaS-провайдера. Читать дальше →

Использование статического анализатора PVS-Studio при разработке для встраиваемых систем на C и C++ Из этой статьи вы узнаете, как запустить проверку embedded-проекта и как работать с отчетом анализатора. Анализатор PVS-Studio поддерживает ряд компиляторов для встраиваемых систем. В текущей версии возможна проверка проектов при сборке одним из следующих компиляторов под...

За всё ответишь! Consumer Driven Contracts глазами разработчика В этой статье мы расскажем про проблемы, которые решает Consumer Driven Contracts, покажем как это применять на примере Pact с Node.js и Spring Boot. И расскажем про ограничения этого подхода. Проблематика При тестировании продуктов часто используют сценарные тесты, в кот...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

.NET Core на Linux, DevOps на коне Мы развивали DevOps как могли. Нас было 8 человек, и Вася был самым крутым по Windows. Внезапно Вася ушел, а у меня появилась задача вывести новый проект, который поставляет Windows-разработка. Когда я высыпал на стол весь стек Windows-разработки, то понял, что ситуация — бо...

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

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

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

Тестовые задания на собеседовании разработчика — есть ли в них смысл? За свою долгую IT-карьеру я успел побывать по обе стороны собеседований и увидеть весь блеск, нищету, маразм и здравые мысли тестовых заданий, выдаваемых на технических собеседованиях разработчиков ПО. Читать дальше →

Три года автотестов: как повысить скорость и не только Привет, я Алексей, full-stack разработчик платформы Vimbox. Когда я пришел в Skyeng, здесь решали, стоит ли тратить время на систему автотестов и попросили меня поделиться опытом с предыдущей работы. А такой опыт у меня был: к моменту ухода с предыдущего места мы написали н...

[Перевод] Как распознать липовые проекты Agile От переводчика: это инструкция DIB Guide: Detecting Agile BS (версия 0.4), которую Комитет по инновациям Министерства обороны США (DIB) опубликовал в открытом доступе 9 октября 2018 года. Agile — модное словечко в разработке ПО, так что все софтверные проекты Минобороны те...

Эпичная сага о сведениях Threat Intelligence На определенном этапе зрелости ИБ многие компании начинают задумываться о том, как получить и использовать сведения об актуальных для них киберугрозах. В зависимости от отраслевой специфики организации, интерес могут вызывать разные типы угроз. Подход к применению таких св...

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

[Из песочницы] Порядок в фотоархиве средствами powershell Привет, Хабр! На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то т...

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

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

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

[Перевод] А есть ли случайные числа в CSS? CSS позволяет создавать динамические макеты и интерфейсы в Интернете, но как язык разметки он является статическим — после установки значения его нельзя изменить. Идея случайности не обсуждается. Генерация случайных чисел во время выполнения — это территория JavaScript, а ...

MCDM-Project. Часть 1. Концепция Предисловие Все-таки в душе я фантазер и мечтатель, на деле (в мире программирования) максимум «парень из гаража», но после «раскручивания гаек» не мог не удержаться от идеи явить Хабражителям на справедливый суд концепцию проекта MCDM-Project в целом и игрушечную тестовую ...

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

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

О новых стандартах C++ Сегодня у меня довольно короткий пост. Я бы его и не писал, наверное, но на Хабре в комментах довольно часто можно встретить мнение, что плюсы становятся хуже, комитет делает непонятно что непонятно зачем, и вообще верните мне мой 2007-й. А тут такой наглядный пример вдруг п...

64-ядерный AMD EPYC работает на частоте до 2,2 ГГц В онлайн-базе тестового пакета SiSoftware Sandra был замечен 64-ядерный инженерный образец 7-нм процессора AMD EPYC второго поколения (Rome). Тестовая система представляла собой сервер Dell PowerEdge R7515 с двумя сокетами. Инженерный образец с кодовым...

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

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

Первые тесты ювелирного принтера JAP J Полимер Gorky Liquid Simple, слой 40 мкм, время на слой 6 секунд.Тестовый кубик оригинального размера (10х10 мм):Под USB-микроскопом Тест оси Z. Параллелепипед 15х15х25 мм, толщина стенки 1 ммДиск энкодераПодробнее...

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

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

DDoS в помощь: как мы проводим стресс- и нагрузочные тесты Компания Variti разрабатывает защиту от ботов и DDoS-атак, а также проводит стресс- и нагрузочное тестирование. На конференции HighLoad++ 2018 мы рассказывали, как обезопасить ресурсы от различного вида атак. Если коротко: изолируйте части системы, используйте облачные сер...

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

Используем статические ссылки на свойства объектов при помощи лямбд Так уж исторически сложилось, что в Java для свойств объектов (properties) не предусмотрено никакой физической сущности. Свойства в Java — это некоторые соглашения в именовании полей и методов доступа к ним (аксессоров). И, хотя наличие физических свойств в языке упростило б...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

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

[Из песочницы] Интеграция AppCenter и GitLab Трям, здравствуйте! Хочу рассказать о своём опыте настройки интергации GitLab и AppCenter через BitBucket. Необходимость такой интеграции возникла в ходе настройки автоматического запуска UI тестов для кроссплатформенного проекта на Xamarin. Подробный туториал под катом! Чи...

Кто кушает память нашего iPhone? Чистим яблоки Все современные устройства дивным образам подчиняются второму началу термодинамики — энтропия (в простонародье — хаос) возрастает, если к системе не прикладывать внешние усилия. За примерно 3 года использования своего iPhone я особо не прикладывал усилий к очистке памяти тел...

[Перевод] Микрофронтенды: о чем это мы? Все эти годы вы, frontend-разработчик, писали монолиты, хотя и понимали, что это дурная привычка. Вы делили свой код на компоненты, использовали require или import и определяли npm-пакеты в package.json или плодили гит-репозитории в вашем проекте, но все равно писали монолит...

[Перевод] Пишем мультиязычное приложение на React Native Локализация продукции очень важна для международных компаний, осваивающих новые для себя страны и регионы. Аналогично локализация нужна и мобильным приложениям. Если разработчик начинает международную экспансию, важно дать пользователям из другой страны возможность работа...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

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

Пишем меньше дублирующего кода, используя биндинг в Laravel Доброго времени, уважаемые господа. Не так давно столкнулся с явлением дублирующегося и повторяющегося кода при код ревью одного проекта на Laravel. Суть в следующем: у системы существует некоторая структура внутреннего API для AJAX запросов, по сути возвращающая коллек...

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

Что нового в C# 8? «Восьмерка» еще даже не вышла RTM а я уже пишу про нее пост. Зачем? Ну, основная идея что тот, кто предупрежден — вооружен. Так что в этом посте будет про то что известно на текущий момент, а если это все посдстава, ну, поделом. Читать дальше →

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

[Перевод] Создание приложения с использованием Styled-Components в Vue.js Привет, Хабр! На днях наткнулся на одну очень интересную статью на португальском. К счастью, удалось найти её английскую версию. Предлагаю вашему вниманию перевод на русский. Другие мои переводы вы можете найти на мой странице на хабре. Ссылка на оригинал: португальский, ан...

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

CMake и C++ — братья навек В процессе разработки я люблю менять компиляторы, режимы сборки, версии зависимостей, производить статический анализ, замерять производительность, собирать покрытие, генерировать документацию и т.д. И очень люблю CMake, потому что он позволяет мне делать всё то, что я хочу....

[Из песочницы] Заметки верстальщика: Полезные расширения Google Chrome в 2019 году В моем браузере установлено около 30 расширений, которые упрощают жизнь и работу в интернете. В этой статье я хочу поделиться 10 актуальными расширениями Google Chrome для верстальщика, которые постоянно использую при разработке сайтов. Читать дальше →

[Перевод] GitHub Desktop 2.2: что нового Любой, кто использует Git, знает, что у него крутая линия обучения. Мы узнали от разработчиков, что большинство людей, как правило, учатся у знакомых, будь то коллега, профессор, друг или даже видео на YouTube. В GitHub Desktop 2.2 мы добавляем первую версию интерактивного...

Тест-драйв nanoCAD СПДС Металлоконструкции 1.2. Часть 1 Тест-драйв nanoCAD СПДС Металлоконструкции 1.2 Уважаемые хабровцы, интересующиеся САПР, За несколько месяцев ведения блога на Хабре мы получили много вопросов, об основных инструментах программ СПДС Металлоконструкции и СПДС Стройплощадка. Поэтому решили создать и опубли...

[Из песочницы] Пять проблем в процессах эксплуатации и поддержки Highload ИТ систем Привет, Хабр! Десять лет я поддерживаю Highload ИТ системы. Не буду писать в этой статье о проблемах настройки nginx для работы в режиме 1000+ RPS или другие технические вещи. Поделюсь наблюдениями о проблемах в процессах, которые возникают в поддержке и эксплуатации таких с...

Snapdragon 865 засветился в тестах на производительность Новый процессор Qualcomm был представлен, кажется, настолько недавно, что это словно случилось вчера. Но на самом деле это случилось в середине прошлого месяца. Однако с тех пор на базе Snapdragon 855 Plus уже успело выйти полдюжины вполне себе реальных устройств. Среди так...

[Перевод] Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенУ нас есть компонент переключатель...

Windows Server 2008 R2 – Король умер, да здравствует король Привет Хабр! 14/01/2020 приближается и эта дата знаменует окончание расширенной поддержки для Windows Server 2008 R2, и если вы все еще используете Windows Server 2008 R2, вам следует задуматься про миграцию на более актуальную платформу. Под катом находится небольшое сра...

Прыжки китайского «Кузнечика» от LinkSpace Китайская частная космическая компания LinkSpace построила тестовый ракетный стенд вертикального взлета и посадки, аналогичный «Кузнечику» от SpaceX, и с января этого года проводит все более сложные испытания. После тестов зависания на привязи компания перешла к полноценным ...

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

«Фудплекс» от Rambler Group и «Сбербанка» запустила сервис для генерации виртуальных карт лояльности На время тестов «Фудплекс» не будет брать комиссию с ресторанов за использование Wallet.

[Из песочницы] Поймут даже дети: простое объяснение async/await и промисов в JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi. Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисам...

[Перевод] Пишем API на Python (с Flask и RapidAPI) Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface). Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же допол...

[Из песочницы] Кросс-компиляция Scala в Gradle проекте Для Scala проектов довольно распространённым является предоставление бинарных артефактов скомпилированных под несколько версий Scala компилятора. Как правило для целей создания нескольких версий одного артефакта в сообществе принято использовать SBT, где эта возможность есть...

Бесполезное большое отверстие. OnePlus 7T зря потерял в прочности корпуса Несколько дней назад OnePlus 7T провалил тест на прочность у блогера JerryRigEverything. Причиной стало большое отверстие в задней стеклянной крышке, предназначенное для модуля камеры. Эта отличительная черта именно OnePlus 7T, так как другие модели актуальной линейки ...

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

Boring Company Илона Маска готова помочь в строительстве гигантского европейского ускорителя Илон Маск никогда не сидит сложа руки. Проектов у него множество, и каждому он уделяет внимание. Сейчас предприниматель активно продвигает свою компанию, которая умеет бурить отличные тоннели практически в любой горной породе. Не так давно он открыл тестовый тоннель в Кали...

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

Кошелек ZenGo начал поддерживать тестовую сеть Libra Разработчики некастодиального криптовалютного кошелька ZenGo реализовали поддержку тестовой сети цифровой валюты Libra от Facebook. Hello Libra! Very excited to bring you the first consumer-grade mobile wallet for Libra (test net). You can send, receive, backup, restore, all...

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

Dream big & go global: международный стартап-конкурс на конференции EMERGE Всем привет! 4 и 5 июня в Минске пройдет вторая конференция EMERGE — событие, посвящённое созданию глобальных инновационных продуктов и инвестициям в сфере технологий, единственное мероприятие такого масштаба в регионе New East (страны Восточной Европы, Балканы, Централь...

[Из песочницы] Тестирование и экономика проекта В своей работе я постоянно использую unit-тесты. А вы? По моему опыту, большинство программистов – очень редко. Проводя собеседование с кандидатами на вакансии в моей команде, я всегда задаю вопрос: «Есть ли у вас опыт тестирования?». И чаще всего слышу в ответ: «Нет». А есл...

DARPA занялось созданием искусственного интеллекта нового поколения Источник: Коммерсант Агенство Defense Advanced Research Projects Agency (DARPA), о проектах которого не раз писали на Хабре, недавно взялось за проект создания искусственного интеллекта следующего поколения Artificial Intelligence Next (AI Next). Идеологи и создатели увере...

Установка ReactOS с USB-флешки Привет, Хабр! Эцново мы! В новости о выходе релиза 0.4.11 мы рассказали, что благодаря обновленному драйверу RAM-диска ReactOS можно не только запустить, но установить по сети при помощи протокола PXE. Однако, волонтер проекта под ником Illen выяснил, что используя тот же ...

Empire ERP. Занимательная бухгалтерия: главная книга, счета, баланс В данной статье мы осуществим попытку проникновения в самое сердце "кровавого энтерпрайза" — в бухгалтерию. Вначале мы проведем исследование главной книги, счетов и баланса, выявим присущие им свойства и алгоритмы. Используем Python и технологию Test Driven Development. Здес...

[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными...

[Перевод] Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас. JavaScript-фреймворки существуют для того...

uWSGI в помощь метрикам. Доклад Яндекса На днях состоялся Moscow Python Meetup #66 — сообщество продолжает обсуждать актуальные инструменты, которые усиливают язык и адаптируют его к разным окружениям. В том числе на митапе прозвучал и мой доклад. Меня зовут Наиль, я делаю Яндекс.Коннект. Рассказ, который я по...

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

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

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

В OpenStack расширяют портфолио и займутся CI/CD В OpenStack Foundation объявили, что теперь организация будет поддерживать не только открытые проекты для IaaS, но и компании, занятые разработкой решений для контейнеризации, CI/CD и периферийных вычислений. Рассказываем, с чем связана смена направления и кто уже работает ...

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

[Перевод] С++, определен ли тип: предварительное декларирование нужных объектов В прошлый раз, мы использовали SFINAE, чтобы понять, есть ли у типа определение, и мы использовали это в сочетании с if constexpr и универсальными лямбда-выражениями, чтобы код мог использовать тип, если он определен, при этом все еще принимаясь компилятором (и отбрасываясь)...

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

arkit — архитектурные диаграммы для JavaScript, TypeScript и Flow (швед. arkitektur) Дамы и господа, представляю вашему вниманию arkit — инструмент, который анализирует файлы вашего проекта и генерирует диаграмму зависимостей между ними и внешними модулями. Наверное, проще показать на примере самого arkit: Читать дальше →

[Перевод] 3 практических примера использования деструктурирования в JavaScript Пишем код чище, используя паттерны деструктурирования Вы, наверное, уже знакомы с деструктурированием в JavaScript. Оно пришло к нам в 2015 году в спецификации ES6, но если вам нужно освежить знания, то на сайте Mozilla можно почитать большую подробную статью, как это всё р...

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

[Перевод] Оборачиваем последовательности в Swift Всем привет. Сегодня хотим поделиться переводом подготовленным в преддверии запуска курса «iOS Разработчик. Продвинутый курс». Поехали! Одним из основных преимуществ протокольно-ориентированного дизайна Swift является то, что он позволяет нам писать общий код, который совме...

[Перевод] Нечёткий мир шума Перлина Что такое шум Перлина? Шум Перлина придуман в 1983 году Кеном Перлином (получившим за это достижение премию Американской Академии кинематографических искусств и наук). Видите ли, в те времена все стремились к фотореализму, но его всегда не хватало. Кен Перлин придуман этот ...

[Перевод] Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. П...

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

Используем SQLite в Flutter Привет, Хабр! Представляем вашему вниманию перевод статьи «Using SQLite in Flutter». Сохранение данных очень важно для пользователей, так как нецелесообразно грузить одни и те же данные из сети. Разумнее будет сохранить их локально. В этой статье я продемонстрирую как с...

Samsung Galaxy Fold протестировали на долговечность и ... Только ленивый не писал в свое время, что к складному смартфону Samsung Galaxy Fold есть вопросы по безотказности и надежности работы. После неудачи с тестовыми образцами, инженеры южнокорейского гиганта принялись исправлять недочеты и декларируют, что усилили петли шарнирно...

В следующем году SpaceX в разы увеличит тестовый отрезок для проведения конкурса Hyperloop Компания SpaceX каждый раз в год проводит конкурс для команд, занимающихся технологиями Hyperloop. Конкурсанты должны создать небольшой модуль, который должен проехать по трубе, разогнавшись до максимальной скорости. Ранее эта труба всегда была прямой протяжённостью 1,2...

Топ-7 способов быстрой проверки компетенций IT-специалистов до собеседования Найм IT-специалистов – это непростая задача. Во-первых, сейчас на рынке наблюдается дефицит опытных кадров, они это понимают. Кандидаты часто не готовы тратить много времени на «отборочные мероприятия» работодателя, если их предварительно не заинтересовать. Ранее популярная ...

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

К чему привела миграция с ClickHouse без авторизации на ClickHouse с авторизацией Давайте начнем с небольшой предыстории. У нас в компании на обслуживании стоит проект, который до недавнего времени находился в стадии тестирования/разработки. На тот момент в нём использовался ClickHouse с 3 шардами по 2 реплики в каждом. Учитывая то, что инфраструктура это...

[Из песочницы] Нужно ли писать weak self в Grand Central Dispatch? Тут у нас возник спор: нужно ли писать [weak self] в GCD? Один говорит: – [weak self] нужно писать везде! Второй говорит: – Нет, даже если не писать [weak self] внутри DispatchQueue, утечки памяти не будет. Вместо того, чтобы разбираться, легче написать пару строк. Тяжеле...

«WARNING: sanitizing HTML stripped some content» и как с ним правильно бороться Всем, кому приходилось вставлять HTML содержимое в DOM в Angular, доводилось видеть это сообщение. Конечно, все мы получаем проверенное содержимое с нашего же сервера и просто хотим застилизовать сообщение об ошибке. Или вставляем HTML из наших же констант, инлайним наши SVG...

История дизайна уровней Duke Nukem (с эскизами Левелорда) В преддверии 22-летия Duke Nukem вчера мы писали об истории игры. Сегодня поговорим о дизайне уровней официальных релизов основной серии игр Duke Nukem, не спин-офф и тем более не сторонних модификаций. По тексту тут и там разбросаны цитаты из нашего интервью с легендарным...

Как писать полиморфические программы c помощью Arrow Привет, Хабр! Меня зовут Артём Добровинский, я работаю в компании Finch. Предлагаю к прочтению статью одного из отцов библиотеки функционального программирования Arrow о том, как писать полиморфические программы. Часто люди, которые только начинают писать в функциональном...

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

Реализация паттерна Page Object на Python + pytest Когда я начинал изучать автоматизацию тестирования, не мог понять — “что такое Page Object и как его реализовать на Python + pytest?”. Штудируя интернет, нашел реализацию на других языках и фреймворках: обучающие статьи, которые были непонятны для меня. Поэтому решил написат...

Moto. Мокаем AWS Тестирование — это неотъемлемая часть процесса разработки. И иногда разработчикам требуется запустить тесты локально, до того момента коммита изменений. Если приложение использует Amazon Web Services, python библиотека moto идеально для этого подходит. Читать дальше →

[Из песочницы] Как при помощи 2 видов unit-тестов сделать приложение более стабильным Привет, Habr. Меня зовут Илья Смирнов, я Android-разработчик в компании FINCH. Хочу показать вам несколько примеров работы с Unit-тестами, которые мы наработали у себя в команде. В наших проектах используется два вида Unit-тестов: проверка на соответствие и проверка на выз...

Как почистить ноутбук от пыли Если лэптоп обжигает колени даже при работе в Word, а в играх и вовсе отключается — значит пора прибраться.

[Перевод] Руководство по аннотациям TestNG для Selenium WebDriver Мир, труд, май, хабровчане! Для тех, кто также как и мы ворвался в межпраздничную рабочую неделю, мы подготовили перевод, который хотим приурочить к старту набора на курс «Java QA Engineer», запуск которого запланирован на 28 мая. TestNG — это тестовый фреймворк, созданн...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2 Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина: Часть первая: отрисовка стен Часть вторая: населяем наш мир + оконный интерфейс Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча...

Учимся писать Waves смарт-контракты на RIDE и RIDE4DAPPS. Часть 1 (Многопользовательский кошелек) Всем привет! Совсем недавно Waves Labs анонсировал конкурс для разработчиков приуроченный к релизу в тестовую сеть расширения языка смарт-контрактов RIDE для децентрализованных приложений Ride4Dapps! Мы выбрали кейс DAO, так как Ventuary планирует заниматься разработкой dAp...

Файл дескриптор в Linux с примерами Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место? Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место. Тогда интервьюер спросил, а что если на ...

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

[Перевод] .NET Core с блокнотами Jupyter — Preview 1 Когда вы думаете о блокнотах Jupyter, на ум, вероятно, приходит код Python, R, Julia или Scala, а не .NET. Сегодня мы рады сообщить, что вы можете писать .NET-код в Jupyter Notebooks. Try .NET развился, чтобы поддерживать больше интерактивных возможностей в Интернете с помо...

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

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

[Перевод] Генерация подземелий в Diablo 1 Diablo 1 — это классический roguelike 1996 года в жанре hack and slash. Это была одна из первых успешных попыток познакомить широкие массы с roguelike, которые до этого имели нишевую графику в виде ASCII-арта. Игра породила несколько сиквелов и множество имитаций. Она извес...

Открытый бета-тест MMORPG Ragnarok M может стартовать уже 9 января Когда в конце ноября открылась предварительная регистрация на ожидаемую MMORPG Ragnarok Mobile, разочарование ждало российских игроков — подать заявку можно было только с помощью мобильного телефона, а среди поддерживаемых регионов не оказалось Европы. Но в сети начала появ...

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

2-ядерный ЦП AMD Athlon Gold 3150U замечен в тесте GeekBench В базе результатов Geekbench замечен чип, который может говорить о том, что AMD перенимает некоторую структуру именования у Intel. Речь идёт о процессоре, который был назван Athlon Gold: по-видимому, это означает, что AMD хочет использовать маркировки Intel Gold и Silver, ко...

Приключения на ровном месте Как Spotify может помочь в изучении демонов, RFC, сетей и продвижении опенсорса. Или что бывает, если заплатить не получается, а некоторые премиумные плюшки очень хочется. Читать дальше →

Супер Школьник 3.0 3.0.8 Супер школьник — это мощный инструмент для школьника, который включает в себя тестовые задания для школы и режим репетитора, что будет способствовать успеваемости ученика. Режим репетитора — работает как напоминание и задает вопрос после разблокировки экрана. В настро...

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

[Из песочницы] SpecFlowMaster: как улучшить качество тестов Делаем правильные вещи Современная разработка не может существовать без автоматизированных тестов. Тесты могут быть написаны очень быстро даже непрофессионалами. Таким образом, у нас есть тесты, все как бы хорошо. Можем ли мы довериться таким тестам? Каково качество наших ин...

Первые результаты тестов флагманского смартфона Asus Zenfone 6z В Сети появились первые результаты тестирования нового флагманского смартфона Asus, который, если верить источникам, будет выпущен под названием Asus Zenfone 6z. Устройство было замечено в базе данных популярного тестового приложения Geekbench, которое подтверждает, что...

ControlValueAccessor и contenteditable в Angular Вы когда-нибудь задумывались, как работает связка форм Angular и HTML элементов, через которые пользователь заносит данные? С самого начала для этого использовали ControlValueAccessor — специальный интерфейс, состоящий всего из 4 методов: interface ControlValueAccessor { w...

[Перевод] Parcel — мой любимый сборщик проектов Сегодня мы поговорим о сборщиках проектов (о бандлерах), об инструментах, которые облегчают жизнь разработчиков. Суть работы бандлеров заключается в том, что они берут JavaScript-код, содержащийся во множестве файлов, и упаковывают его в один или несколько файлов, определённ...

Анализ коммитов и pull request'ов в Travis CI, Buddy и AppVeyor с помощью PVS-Studio В анализаторе PVS-Studio для языков С и C++ на Linux и macOS, начиная с версии 7.04, появилась тестовая возможность проверить список указанных файлов. С помощью нового режима можно настроить анализатор для проверки коммитов и pull request'ов. В этой статье будет рассказано,...

[Перевод] Обработка ошибок во Vue Весь прошлый год я работал с моим любимым фреймворком, Vue.js, описывал и представлял его. И я понял, что ещё не разобрался с обработкой ошибок во Vue. Мне бы хотелось объяснить это тем, что я пишу идеальный код, но мы все знаем, как обстоит дело в действительности. В течен...

Yii 2.0.16 Команда PHP-фреймворка Yii выпустила версию 2.0.16, содержащую более сотни исправлений и немного улучшений. Исправлены несколько проблем с безопасностью. Ветка Yii 2.0 достигла заморозки более чем год назад, что означает что в неё принимаются главным образом исправления. Сд...

Открытый бета-тест долгожданной PayDay: Crime War начнется в течение нескольких недель Starbreeze, недавно выпустившие на компьютеры кооперативный шутер про «Ходячих мертвецов», переживают не самые лучшие времена, отчасти из-за этих самых мертвецов. Эти же разработчики ответственны за серию PayDay, в целом, и грядущий мобильный тайтл Payday: Crime War, в частн...

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

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 1 Серверный код в Instagram пишут исключительно на Python. Ну, в основном это именно так. Мы используем немного Cython, а в состав зависимостей входит немало C++-кода, с которым можно работать из Python как с C-расширениями. Наше серверное приложение — это монолит, представ...

[Из песочницы] Управление состоянием и событиями между компонентами в GameObject Управление состоянием и событиями между компонентами в GameObject Ссылка на проект Как известно всем, более или менее знакомых с платформой Unity, каждый игровой объект GameObject состоит из компонентов (встроенных или пользовательских, который обычно называют «скрипт»). Ко...

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

Цифровое радио DAB+ — как это работает и нужно ли оно вообще? Привет Хабр. В последние годы на территории России, Украины и Белоруссии обсуждалось введение цифрового радио стандарта DAB+. И если в России процесс пока не продвинулся, то в Украине и Белоруссии вроде уже перешли к тестовому вещанию. Как это работает, в чем плюсы и мин...

Визуальный редактор логики для Unity3d. Часть 1 Введение Здравствуйте уважаемые читатели, в сегодняшней статье я хотел бы остановиться на таком феномене в разработке приложений на Unity3d, как визуальная разработка или если бы точнее, разработка с применением визуального представления кода и логики. И, прежде чем продолжи...

Длинная история путеводителя — как я 5 лет писал сервис для умных пешеходных маршрутов У многих есть один или несколько своих домашних проектов. Это бывают небольшие утилиты, экспериментальные штуки, пробы новых технологий, “убийцы” фейсбуков и много что ещё. Заметно реже такими проектами занимаются долгое время. В статье я поделюсь своим опытом и расскажу ка...

[Из песочницы] Организация поиска по веб-странице на JavaScript (без jQuery) Пару дней назад получил тестовое задание от компании на вакансию Front-end dev. Конечно же, задание состояло из нескольких пунктов. Но сейчас речь пойдет только об одном из них — организация поиска по странице. Т.е. банальный поиск по введенному в поле тексту (аналог Ctrl+F ...

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

Кто выиграл усилители FiiO? Подводим итоги конкурса! Неделю назад мы запустили конкурс, победители которого получат один из двух усилителей FiiO — ubtr или btr1k. А чтобы участвовать было еще интереснее, совместно с коллегами мы разработали небольшой тест с вопросами об устройствах FiiO, ответы на которые можно было най...

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

[Перевод] Яма продуктивности: как Slack вредит нашему рабочему процессу Такие программы для работы, как Teams, Slack и Workplace, должны были увеличить нашу продуктивность. Но не сделали этого. Несколько человек пишут сообщения. [Several people are typing.] Если вы какое-то время сидели в слаке, вы, вероятно, видели такое сообщение, плавающее...

[Перевод] Детальный разбор новых возможностей React 16+, часть 1: общие сведения Сегодня мы представляем вам первую часть перевода этого большого материала. Он посвящён детальному разбору новых возможностей React, которые появились в этой библиотеке начиная с версии 16. Автор этого материала уже 5 лет занимается программированием. В прошлом он был дизайн...

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

[Перевод] Новости из мира OpenStreetMap № 480 (24.09.2019-30.09.2019) CyclOSM is a brand new bike-oriented map 1 | Leaflet | CyclOSM v0.2 | Map data OpenStreetMap contributors О нас Уточнение: пользователь AndiTabinas не является участником программы стипендии SotM-2019 (об этом мы ошибочно написали в прошлом выпуске № 479). Информация (пос...

#DevStory – История создания приложения для подготовки к экзаменам Нам пишут разработчики проекта «Медицинские тесты». «Два основных принципа современного образования: образование для всех и образование через всю жизнь» Международная комиссия по вопросам образования,
науки и культуры при ООН (ЮНЕСКО) Проект «Медицинские тесты» во...

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Многообразный мир embedded systems и место Embox в нем Проекту Embox уже исполнилось 9 лет, но многие не понимают, что это такое и с чем его едят зачем он нужен. Некоторые из тех, кто слышал о проекте и знают, что это операционная система, считают, что Embox — это “отечественная ОС”. Действительно, задумывался Embox как попытка ...

Docker + php-fpm + PhpStorm + Xdebug Не так давно тимлид нашей команды сказал: ребята я хочу, чтобы у всех была одинаковая среда разработки для наших боевых проектов + мы должны уметь дебажить всё — и web приложения, и api запросы, и консольные скрипты, чтобы экономить свои нервы и время. И поможет нам в этом d...

«Познать кайдзен»: что собой представляет эта философия для улучшения производственных процессов Кайдзен используют компании самых разных размеров: от стартапов до крупных предприятий вроде Toyota. Рассказываем, чем помогает и как работает этот фреймворк. Читать дальше →

Какие инструменты помогут соответствовать GDPR Подборка утилит, литературы и фреймворков, которые помогут разобраться в требованиях регламента и подскажут, как им соответствовать. Под катом — бесплатные продукты от стартапа Algolia, сервисы которого использует Twitch, а также несколько открытых и проприетарных решений. ...

[Перевод] Новый кодек AV1: ускоряем загрузку видео в браузере В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше. Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20...

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

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

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

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

[Перевод] Зачем нам столько мессенджеров? Slack, Signal, Hangouts, Wire, iMessage, Telegram, Facebook Messenger… Зачем нам так много приложений для выполнения одной задачи? Десятилетия назад научные фантасты представляли себе летающие машины, автоматически готовящие еду кухни и возможность позвонить кому угодно на...

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

[Перевод] Пишем на Go простой балансировщик Балансировщики нагрузки играют в веб-архитектуре ключевую роль. Они позволяют распределять нагрузку по нескольким бэкендам, тем самым улучшая масштабируемость. А поскольку у нас сконфигурировано несколько бэкендов, сервис становится высокодоступным, потому что в случае сбоя...

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

[Перевод] Мутационное тестирование: тестируем тесты Написание тестов должно вселять в нас уверенность в корректной работе кода. Часто мы оперируем степень покрытости кода, и когда достигаем 100 %, то можем сказать, что решение корректное. Уверены в этом? Быть может, есть инструмент, который даст более точную обратную связь? ...

Editor.js прекрасный редактор сохраняющий исходный код в JSON формате CodeX крутые ребята, которые базируются в Университете ИТМО. На базе этого университета студенты и выпускники создают интересные и полезные проекты: Hawk.so, Capella, AR-tester и другие. Один проект очень помог нашему бизнесу. Редактор Editor.js сохраняющий исходный код в J...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

[Из песочницы] Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм Задача кажется простой, когда ничего про нее не знаешь и когда решил. В один “прекрасный” день, я понял, что мне не интересно сидеть на многочисленных форумах, а хочется создать свой канал и делиться “мудростью”. Мне нравится Телеграм заложенными в него возможностями в то...

Выход из зоны комфорта: с nodejs на dlang В 2017м году я начал писать проект на nodejs — реализацию протокола ObjectServer от Weinzierl для доступа к значениям KNX. В процессе написания было изучено: работа с бинарными протоколами, представление данных, работа с сокетами(unix sockets в частности), работа с redis баз...

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

Пишем высокопроизводительный http клиент на примере fasthttp. Александр Валялкин (VertaMedia) Библиотека Fasthttp — ускоренная альтернатива net/http из старндартных пакетов Golang. Как она устроена? Почему она такая быстрая? Паттерны из Fasthttp можно использовать для ускорения ваших приложений, вашего кода. Кому интересно, добро пожаловать под кат. Читать дальше →

[Перевод] Selenium WebDriver – Метрика тестов в реальном времени с использованием Grafana и InfluxDB Всем привет! Уже на следующей неделе стартуют занятия в группе «Java QA Engineer». Этому и будет приурочена нынешняя публикация. Обзор: Ежедневное выполнение автоматизированных регрессионных тестов в рамках каждодневной сборки неизбежно на настоящий момент. Приятно наход...

PHPUnit. Мокаем Doctrine Entity Manager Во многих современных приложениях для работы с базой данных используется проект Doctrine ORM. Хорошим тоном считается выносить работу с БД в сервисы. А сервисы нужно тестировать. Для тестирования сервисов можно подключить тестовую базу данных, а можно замокать Менеджер сущно...

Посудомоечная машина не качает воду — что делать? Рассказываем, как почистить фильтр и шланг посудомоечной машины, если она перестала откачивать воду и оставила вас без чистой посуды.

Что не так с Copy-on-Write под Linux при копировании Предупреждение: суть этой статьи относится ко всем CoW файловым системам, поддерживаемыми Linux и поддерживающими reflink при копировании. В данный момент это: BTRFS, XFS и OCFS2. Прошу воздержаться от холиваров о том какая ФС лучше: Btrfs, XFS, Reiser4, NILFS2, ZFS или к...

[Из песочницы] Делаем простой Circuit Breaker на базе кеша в Spring Эта статья для тех, кто использует в своем приложении эффективный кеш и хочет простым добавлением 1 класса в проект добавить стабильности не только приложению, но и всему окружению. Если вы узнали себя, читайте дальше. Что такое Circuit Breaker Читать дальше →

16 марта Вadoo PHP Meetup: тесты и качество кода. Регистрация открыта Всем привет! Меня зовут Владимир Янц, я активно занимаюсь развитием инфраструктуры тестирования кода в Badoo. С PHP у нас давние и крепкие отношения, и мы с коллегами всячески поддерживаем сообщество. Нас все спрашивали: “Когда же уже, когда?” — и вот оно. 16 марта приглаша...

Печатаем Ламборгини на 3д-принтере Отец с сыном, создав свой собственный Lamborghini Aventador с помощью 3D-принтера, решили испытать новый автомобиль в тестовой поездке. Несколько лет назад, All3DP получил интервью у Стерлинга Бэкуса — основателя идеи и лазерного физика, о его 3D-печатном автом...

Enel и GenerationS подводят итоги отбора проектов в области энергетики Представленные на очном отборе проекты презентовали свои технологические решения перед менеджментом Enel, а также представителями глобальных бизнес-линий по тепловой генерации и возобновляемой энергии.

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

[Перевод] Проект «Прометей»: поиск пожаров с помощью ИИ Перевод Project Prometheus — An AI-powered fire finding solution Мы с коллегами работаем в проекте Prometheus («Прометей») — это решение для раннего обнаружения пожаров, в котором объединены ИИ, компьютерное зрение, автоматические дроны и сервисы прогноза погоды. Этот ком...

Операция “Миграция”: как происходит переезд в облако DataLine Лет 7 назад самые первые проекты переезжали в наше облако просто и незатейливо. Образы виртуальных машин загружались на FTP-сервер, или их привозили на жестких дисках. Затем через специальный импорт-сервер ВМ загружали в облако. Если для клиента не проблема выключить виртуа...

Минкомсвязи выделит 21 млрд рублей на поддержку сквозных технологий в 2019 году В понедельник Минкомсвязи опубликовало четыре проекта правительственных постановлений с правилами распределения субсидий на развитие сквозных технологий. Это, к примеру, блокчейн, BigData, искусственный интеллект. В бюджете на поддержку этих проектов выделено 13,8 млрд рубле...

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

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

Держатели криптовалюты Cardano (ADA) смогут зарабатывать на стейкинге Уже с ноября текущего года пользователи сети Cardano получат возможность зарабатывать на стейкинге ADA. Об этом CEO компании IOHK Чарльз Хоскинсон сообщил на Cardano Summit Bulgaria, пишет Cryptobriefing. Заявление Хоскинсона прозвучало вскоре после успешного запуска тестово...

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 1 Согласно рейтингу TIOBE в 2018 году VB.NET обогнал по популярности C#. Совпадение или нет, но в феврале Эрик Липперт, один из создателей C#, призвал читателей обратить внимание на блог его друга, бывшего коллеги по команде компилятора Roslyn и, по совместительству, ярого ф...

[Из песочницы] Как не надо писать шаблоны для bootstrap Мало кто сейчас пишет дизайн сайта с нуля — зачем, если есть куча замечательных CSS фреймворков? Наиболее популярен среди них bootstrap. Тем не менее, всем хочется, чтобы сайт выглядел уникально, не так как у других — поэтому поверх часто втыкают(в меру возможностей) бесплат...

Возможности nanoCAD СПДС Стройплощадка в проектах строительства и реконструкции в стесненных условиях Предлагаем вашему вниманию статью «Возможности nanoCAD СПДС Стройплощадка в проектах строительства и реконструкции в стесненных условиях». В статье описан практический пример использования программы nanoCAD СПДС Стройплощадка в проекте устройства подземного перехода через пр...

Подборка: 5 полезных сервисов для написания статей на английском Всем привет! Меня зовут Марго, я профессиональный маркетолог и редактор, в последние пару лет фокусируюсь на продвижении за рубежом и много пишу на английском. Я решила поделиться ссылками на приложения и сайты, которые помогают мне в ежедневной работе при создании контент...

Kotlin Native: следите за файлами Когда вы пишите command line утилиту, последнее, на что вам хочется полагаться, так это на то, что на компьютере где она будет запущена установлен JVM, Ruby или Python. Так же хотелось бы на выходе иметь один бинарный файл, который будет легко запустить. И не возиться слишко...

Ищем астероиды — проект «Hubble Asteroid Hunter» Центр малых планет (Minor Planet Center, MPC) Смитсоновской астрофизической обсерватории (SAO) и аэрокосмическое агентство NASA запустили проект «Hubble Asteroid Hunter», с помощью которого любой глазастый пользователь компьютера или планшета может помочь астрономам найти ...

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

Первые тесты Ice Lake: впечатляет лишь производительность встроенной графики Компания Intel, как и многие рядовые пользователи, возлагает большие надежды на новые мобильные процессоры Ice Lake, которые за счёт 10-нм техпроцесса и новой архитектуры Sunny Cove должны быть намного производительнее, нежели их предшественники. Однако первые тесты новинок ...

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

Анонс FunTech QA-automation meetup Всем привет! Приглашаем QA-инженеров на наш первый митап по тестированию, посвящённый автоматизации. Программа «Автотесты, объединяющие подходы, платформы и сердца», Михаил Чирков, ivi.ru Преимущества и недостатки кроссплатформенных автотестов (в нашем случае речь о плат...

[Перевод] Компиляция C в WebAssembly без Emscripten Компилятор — часть Emscripten. А что, если удалить все свистелки и оставить только его? Emscripten необходим для компиляции C/C++ в WebAssembly. Но это гораздо больше, чем просто компилятор. Цель Emscripten в том, чтобы полностью заменить ваш компилятор C/C++ и запустить в ...

Элементарный Canvas Если вы изучаете веб совсем недавно, но уже успели увидеть различные красивые эффекты на сайте, по типу системы частиц или какие либо игры разработанные на canvas'e и вас это заинтриговало, но изучать что-то новое очень страшно, то я вам готов продемонстрировать, как за 50 с...

Сжимаем APK, стараясь сохранить его работоспособность / PxHere / PD Оптимизация веса APK — это нетривиальная, но очень актуальная во времена Instant App, задача. Включение proguard избавит вас от ненужного кода, если ваши зависимости можно определить на этапе компиляции, но в APK есть ещё несколько видов файлов, которые можно ...

Выбираем лучшую видеокарту мая 2019 г. на основе сравнения 23 ускорителей 3D-графики в 8 тестах и 3 разрешениях Лучший 3D-ускоритель на май 2019 года на основе восьми тестов в трех разрешениях — Nvidia GeForce RTX 2060 6 ГБ. Также за прошедшие 4 месяца есть изменения в составе видеокарт, игр и конфигурации тестового стенда.

ФСБ предложила выпустить российские SIM-карты и использовать отечественную криптографию для 5G На декабрьском заседании рабочей группы по информационной инфраструктуре национального проекта «Цифровая экономика» прозвучало неожиданное предложение от представителя ФСБ, пишут «Ведомости» со ссылкой на анонимного участника заседания. Офицер предложил использовать в сетя...

Test Maturity Model: как тестировщику оценить проект и спланировать процессы Привет! Меня зовут Миша, и я Senior QА с коммерческим опытом более 6 лет. Сейчас я работаю в Provectus, но начинал я свой путь тестировщика еще в студенческие годы с участия в альфа- и бета-тестах различных игр. В какой-то момент подумал: «Почему бы не начать заниматься этим...

Как мы в IntelliJ IDEA ищем лямбда-выражения Важной возможностью любой IDE является поиск и навигация по коду. Один из часто используемых вариантов поиска на языке Java — поиск всех реализаций данного интерфейса. Часто такая функция называется иерархией типов (Type Hierarchy) и выглядит как на картинке справа. Перебира...

«ТехноТекст», эпизод II. Рассказываем, как живут и работают над статьями авторы Хабра Приглашаем к участию в конкурсе хабраавторов. Самое главное в Хабре — это его читатели, которые одновременно и авторы. Без них Хабра бы не существовало. Поэтому нам всегда интересно, как у них дела. Накануне второго «ТехноТекста» мы решили поговорить с победителями прошлого...

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений Мы любим PHP за простоту: ты пишешь код, обновляешь страницу в браузере и сразу видишь изменения. Но если дело доходит до консольных команд, которые могут быть долгоживущими процессами, — например, если мы пишем асинхронный HTTP-сервер для загрузки файлов, — разработка мож...

[Из песочницы] Redux-symbiote — пишем действия и редьюсеры почти без боли React-redux замечательная штука. При правильном использовании архитектура приложения эффективна, а структура проекта и легко читаемая. Но как и в любом решении есть свои особенности. Описание действий и редьюсеров одна из таких особенностей. Классическая реализация двух эти...

HARMAN представляет свои новинки на выставке CES 2019 В рамках вставки CES 2019 HARMAN, дочерняя компания Samsung Electronic, специализирующаяся на разработках технологий для автомобильного, потребительского и корпоративного рынков, представила ряд актуальных новинок. Подробнее об этом читайте на THG.ru.

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

[Перевод] Представлен Polaris для поддержания кластеров Kubernetes в здоровом состоянии Прим. перев.: Оригинал этого текста написал Rob Scott — ведущий SRE-инженер компании ReactiveOps, которая и стоит за разработкой анонсируемого проекта. Нам очень близка идея централизованной валидации того, что деплоится в Kubernetes, поэтому мы с интересом следим за подобны...

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

[Из песочницы] Импорт в Я.Коннект из файла списка пользователей через API Столкнулся с проблемой «ненахода» актуального скрипта для массового создания сотрудников. Проблема связана с переходом Яндекса с PDD (Почта для домена), на Я.Коннект с новой версией API. Скрипты которые мне попадались, были написаны только для «старой» версии API, и потому...

Реверс-инжиниринг бинарного формата на примере файлов Korg SNG. Часть 2 В прошлой статье я описал ход рассуждений при разборе неизвестного двоичного формата данных. Используя Hex-редактор Synalaze It!, я показал как можно разобрать заголовок двоичного файла и выделить основные блоки данных. Так как в случае формата SNG эти блоки образуют иерар...

[Из песочницы] Оптимизация производительности apache2 Многие используют apache2 в качестве веб-сервера. Однако мало кто задумывается об оптимизации его производительности, что прямо пропорционально сказывается на скорости загрузки страниц сайта, скорости обработки скриптов (в частности php), а также на росте нагрузки на ЦП и ув...

[Перевод] Всё, что нужно для начала работы с Vue.js Скорее всего, вы, читая эти строки, уже слышали о JavaScript-фреймворке, который называется Vue. Если вы собирались его опробовать, но не очень хорошо представляли себе то, с чего вам стоит начать, значит — этот материал написан специально для вас. Его автор говорит, что хоч...

Пишем свой язык программирования, часть 1: пишем языковую ВМ Введение Доброго времени суток всем хабрачитателям! Итак, пожалуй стоит сказать, что целью моей работы, на основе которой будет написан ряд статеек было пройти весь путь создания полнофункционального ЯП самому с 0 и затем поделиться своими знаниями, наработками и опытом с и...

[Из песочницы] Ускоряем сайт с JivoSite. Отложенная загрузка онлайн-консультанта При оценке скорости загрузки сайта сервисом Google, обратил внимание, что довольно много очков теряем из-за установленного онлайн-консультанта JivoSite. При удалении кода онлайн-консультанта с сайта, проект набирает на 16 очков больше для мобильной версии и на 19 очков больш...

Знакомство со статическим анализатором PVS-Studio для Java На протяжении многих лет команда PVS-Studio развивает одноименный статический анализатор. На данный момент анализатор представляет собой сложное программное решение и предоставляет возможность анализа таких языков программирования, как C, C++, C# и Java на платформах Windows...

RxDart для самых маленьких… проектов Вчера мой хороший товарищ сказал что-то типа "я же пишу простяцкое оффлайн приложение, мне ни к чему все эти стримы и потоки". Я даже растерялся, а потом подумал, что это заблуждение могут разделять и другие кодеры. Ниже буквально в 50 строк я на известном примере покажу, ч...

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

[Перевод] Тестирование многопоточного и асинхронного кода Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous...

[Из песочницы] Тесты на C++ без макросов и динамической памяти Многие популярные библиотеки для тестирования, например Google Test, Catch2, Boost.Test тяжело завязаны на использование макросов, так что в качестве примера тестов на этих библиотеках вы обычно увидите картину вроде такой: namespace { // Tests the default c'tor. TEST(MyStr...

[Перевод] Axios или Fetch: чем пользоваться в 2019 году? Axios — это широко известная JavaScript-библиотека. Она представляет собой HTTP-клиент, основанный на промисах и предназначенный для браузеров и для Node.js. Если вы работали в последние несколько лет JavaScript-программистом, то вы, совершенно определённо, этой библиотекой ...

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

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С ...

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

[Перевод] Введение в Screen Capture API — Сканируем QR коды в браузере Введение В этой статье мы, как вы уже догадались, поговорим про Screen Capture API. Этот API появился на свет в 2014 году и новым его назвать сложно, однако поддержка браузерами все еще достаточно слабая. Тем не менее, его вполне можно использовать для персональных проектов ...

TR-069 в Mikrotik. Испытываем Freeacs в качестве сервера автоконфигурации для RouterOS В данной статье, я попробую пошагово описать процесс установки тестового сервера прекрасного проекта Freeacs до полностью работоспособного состояния, и показать практические приемы для работы с mikrotik: конфигурацию через параметры, выполнение скриптов, обновление, установк...

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

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

Как я наводил порядок в проекте, где лес прямых рук (настройки tslint, prettier, etc) И снова здравствуйте. На связи Омельницкий Сергей. Сегодня я поделюсь с Вами одной из своих головных болей, а именно — что делать, когда проект пишут много разноуровневых программистов на примере angular приложения. Так повелось, что я долгое время работал только со своей к...

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

Sagи из жизни Доброго времени суток. У вас тоже есть знакомый react-разработчик, который рассказывает восхитительные истории о сайд-эффектах в redux? Нет?! Могу я стать этим человеком? Автор взял на себя смелость не писать вводную часть о том, что же из себя представляет библиотека redux...

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

Назад в 1985: представляем Windows 1.11 Мы долго интриговали вас в Twitter, делая посты о чем-то новом, связанном с Windows. И вот время пришло! К выходу третьего сезона сериала «Очень странные дела» мы с ребятами из Netflix создали приложение с Windows 1.11, которое поможет вам вернуться в 80-е (действия сериа...

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

[Из песочницы] Под капотом у React. Пишем свою реализацию с нуля 


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

Пишем telegram-бота на python с помощью библиотеки telebot часть 2 Всем привет! Это вторая часть статьи, в которой я посвящу время запросам и серверам telegram. Если кто-то еще не видел первую часть, то рекомендую её почитать. В третьей части скорее всего будет описана работа с базами данных. Ну и если у вас опять возникли вопросы, то пишит...

Chuwi UBook Pro: тест производительности процессора универсального планшета 2-в-1 Недавно выпущенный Chuwi на Indiegogo универсальный планшет 2-в-1 UBook Pro вызвал живейший интерес пользователей. И сегодня мы можем посмотреть на результаты тестов производительности используемого в нём процессора Intel Core M3 8100Y. Подробнее об этом читайте на THG.ru.

[Из песочницы] Локальный запуск юнит-тестов в STM32CubeIDE под Windows Введение Всем известна польза юнит-тестирования. Прежде всего, написание тестов одновременно с кодом позволяет раньше выявлять ошибки и не тратить впоследствии время на трудоемкую комплексную отладку. В случае embedded-разработки у юнит-тестирования есть особенности, связан...

Ozon и Почта Mail.ru первыми в России запустили интерактивную рассылку В основе интерактивных рассылок технология AMP (Accelerated mobile pages). В отличие от обычных сообщений, в AMP-письмах у пользователя есть возможность управлять полученным контентом и давать обратную связь отправителю. Для этого в интерактивные письма встраиваются виджеты,...

Введение в Spring, или что делать, если по всему проекту @Autowired и @Component, а вы не понимаете, что это Приветствую тебя, Хабр! Эта статья будет полезна тем, кто уже начал изучать Java и даже успел добиться некоторых успехов в понимании Java Core, и вот услышал слово Spring. И, возможно, даже не один раз: знание Spring Framework, как минимум, фигурирует в описаниях множества ...

[Из песочницы] 10 принципов самодокументируемого кода Привет! Сегодня я хочу поделиться советами по написанию совершенного понятного кода, взятые из книги Питера Гудлифа «Ремесло программиста // Практика написания хорошего кода». Конечно, неплохо было бы прочитать эту занимательную книгу каждому кто пишет код, но для особо ле...

Публичную тестовую сеть «Baobab» запускает блокчейн-проект Kakao «Klaytn» Компания Ground X, блокчейновое подразделение ведущей южнокорейской мобильной платформы Kakao, представила свою публичную тестовую сеть Baobab вместе с обновленным аналитическим докладом, описывающим техническую архитектуру и направление развития Klaytn. После окончания испы...

Робототехника для детей: глаза робота Привет, народ! Представляю вам разработанный мной прототип кошачьих глаз. Конечно, проект еще не идеальный (находится на стадии доработки), но успешно работает. Задумка была – создать робота-кота для детей из фанеры и радиокомпонентов. В качестве базовой модели робокота бы...

Тест-драйв nanoCAD СПДС Стройплощадка 8. Часть 2 Тест-драйв nanoCAD СПДС Стройплощадка 8 Мы продолжаем публикацию тест-драйва по nanoCAD СПДС Стройплощадка. В первой части тест-драйва мы разобрали работу со специальным инструментом Менеджер проектов, его основные функции и способы построения элементов стройгенплана. Во вто...

Тест-драйв nanoCAD СПДС Стройплощадка 8. Часть 1 Тест-драйв nanoCAD СПДС Стройплощадка 8 Мы начинаем публикацию тест-драйва по nanoCAD СПДС Стройплощадка. В первой части тест-драйва мы разберем работу со специальным инструментом Менеджер проектов, его основные функции и способы построения элементов стройгенплана. Во второ...

Третий Тест Тьюринга на русском языке Всем привет! Компании «Нейросети Ашманова» и «Наносемантика» приглашают всех желающих принять участие в 3-м всероссийском Тесте Тьюринга в 2019 году, который мы организуем. Мы ранее проводили этот конкурс в 2015 и 2016 годах вместе с Фондом Сколково и Microsoft. В 2019 го...

Что такое музыкальное программирование — кто и почему им занимается, устраивая настоящие live-сессии Ранее мы говорили об инструменте OpenMusic. Он позволяет писать музыку, используя объектно-ориентированный подход. Сегодня речь пойдет о людях, которые создают композиции с помощью специализированных языков программирования. И зачастую делают это «в прямом эфире». Читать д...

Мультиплеерный шутер с паркуром Rogue Agents доступен на Android в режиме бета-теста Студия Midnight Games начала бета-тест динамичного мультиплеерного шутера Rogue Agents. Главное отличие проекта от других мобильных игр в жанре — обилие экшена. Персонажи достаточно быстро перемещаются по карте, могут запрыгивать на возвышенности, кувыркаться, а это часто вы...

Samsung Galaxy S10 5G против Apple iPhone XS Max: тест на скорость Смартфон Galaxy S10 5G оснащается 6,7-дюймовым экраном 3 040 на 1 440 пикселей, имеет четыре задние камеры и, как ясно из названия, поддерживает работу с сетями пятого поколения. Аппарат, участвовавший в тесте, оборудован чипсетом Exynos 9820 и восемью гигабайтами оперативно...

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

[Перевод] Тестирование производительности Flutter приложений Фреймворк Flutter по умолчанию работает хорошо и быстро, но означает ли это, что вам вообще не нужно думать о производительности? Нет. Абсолютно реально писать приложения Flutter, которые будут медленными. С другой стороны, также можно использовать фреймворк максимально и де...

[Перевод] GitLab 12.2: направленные ациклические графы для пайплайнов и управление дизайном Потрясающий выпуск GitLab 12.2 поможет командам оптимизировать пайплайны, расширить возможности совместной работы и управлять взаимозависимостями между проектами. Подробности ниже. Более быстрые и гибкие пайплайны Пайплайны CI нужны для автоматизации задач сборки и тестиров...

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

Типичные ошибки при работе с PostgreSQL. Часть 2 Мы продолжаем публиковать видео и расшифровки лучших докладов с конференции PGConf.Russia 2019. В первой части доклада Ивана Фролкова речь шла о непоследовательном именовании, о constraints, о том, где лучше сосредоточить логику — в базе или в приложении. В этой части вас жд...

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

Samsung Galaxy A71 заметили в Geekbench В базе данных Geekbench обнаружили результаты теста новинки с номером модели SM-A715F. Тестовый образец смартфона получил тот же процессор что и оригинальный Galaxy A70 — Snapdragon 675. В одноядерном тесте на производительность смартфон набирает 2540 баллов, а в многоядерн...

[Из песочницы] Пишем первый микросервис на Node.js с общением через RabbitMQ Со временем, каждый проект растет и реализовывать новый функционал в существующий монолит становится все сложнее, дольше и дороже для бизнеса. Один из вариантов решения данной проблемы — использование микросервисной архитектуры. Для новичков или для тех, кто впервые сталкива...

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов Нет ничего проще, чем добавить иконку в проект: нужно всего лишь написать дизайнеру, он экспортирует её из Sketch и пришлет вам нужный вариант, а вы используете ее у себя в коде. Если же у вас с десяток проектов, несколько платформ и множество А/Б-тестов на дизайн, то дост...

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

F#3: Форматирование текста При работе с любым языком вам, скорее всего, нужно будет отформатировать текст, и F# ничем не отличается. Поскольку F# является языком .NET, мы всегда можем использовать Console.WriteLine (..) и String.Format (..), где мы можем использовать любой из обычных форматеров, кото...

[Перевод] Python в Visual Studio Code — июньский релиз Мы рады сообщить, что расширение Python для Visual Studio Code от июня 2019 года уже доступно. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также мож...

Должны ли строки в Python быть итерируемы? И сотворил Гвидо строки по образу C, по образу массивов символов сотворил их. И увидел Гвидо, что это хорошо. Или нет? Представьте, что вы пишете совершенно идиоматичный код по обходу неких данных с вложенностью. Beautiful is better than ugly, simple is better than complex,...

Резервирование в Kubernetes: оно существует Меня зовут Сергей, я из компании ITSumma, и я хочу вам рассказать, как мы подходим к резервированию в Kubernetes. В последнее время я много занимаюсь консультативной работой по внедрению разнообразных devops-решений для различных команд, и, в частности, плотно работаю по про...

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

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

Проверка FreeRDP с помощью анализатора PVS-Studio FreeRDP – свободная реализация клиента Remote Desktop Protocol (RDP), протокола, реализующего удаленное управление компьютером, разработанного компанией Microsoft. Проект поддерживает множество платформ, среди которых Windows, Linux, macOS и даже iOS с Android. Этот проект ...

WebRTC,stereopi: telepresense по-домашнему Для начала ролик с youtube для вдохновения: Предупреждение: проект на видео — лишь образец, который можно сделать по туториалу в статье в части стереозрения и «поворотов головой». Танки с пультами xbox не прилагаются. Не смотря на наглядность, скудный рассказ самого авт...

Cоздание визуальных компонентов в Unity UI. Система частиц Привет! Эта статья о создании собственных визуальных компонентов в UI на примере компонента для визуализации системы частиц в Canvas’e. Данная информация будет полезна для реализации различных эффектов в пользовательском интерфейсе, а также может использоваться для генераци...

Редактор в UX: тру стори, риал лайф Привет, это Наташа, лид-редактор в UX Яндекс.Денег. Я пишу этот текст, потому что больше не могу молчать о своей работе. Раньше про нас думали, что мы копирайтеры. Пишем получше, чем менеджеры. Умеем проверять грамотность. Редактируем, чтобы стало понятнее. Убираем лишние ...

[Из песочницы] 4 Причины, почему вы должны забыть о Redux в приложениях на React Я работаю с Реактом на протяжении почти 3 лет, использовал как Redux так и MobX и у меня к текущему моменту возник вопрос. Почему абсолютное большинство front-end разработчиков продолжают свято верить в то, что Redux + Redux Saga + Reselect + 100500 других библиотек «облегча...

[Из песочницы] 10 советов для того, чтобы быть хорошим техническим лидером Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Tips for Being a Good Tech Lead» автора VijayDeveloper. Лидерство это не услуга, это умение. Профессионалы, работающие разработчиком программного обеспечения в течение нескольких лет, получают шанс стать технолог...

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

Run, Gopher, run! — о чем поговорим на GolangConf Мы обещали 5-6 причин перейти на Go, так и получилось! На GolangConf — конференции полностью посвященной Go — 7 октября будет 5 докладов с пометкой «Переход на Go» для тех, кто только собирается или начинает использовать этот язык в своих проектах. Но это только начало. С п...

Обзор материнской платы ASRock Z390 Phantom Gaming-ITX/ac. Укрепляя позиции Модель материнской платы прошлого поколения, использующая чипсет Intel Z370, у компании ASRock вышла очень хорошей, ей мы в своё время посвятили обзор. Интересно проверить, что собой представляет актуальная версия платы для построения компактного...

Тест гарпуна для сбора космического мусора: видео Космический мусор — это все более актуальная проблема. Согласно оценкам Европейского космического агентства (ESA), в космосе находится более 750 000 фрагментов мусора размером более одного сантиметра. С учетом же будущих космических проектов очевидно предположить, что в ближ...

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

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

[Из песочницы] Angular schematics, или как я писал свой шаблон для angular cli Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую мето...

Лучшие смартфоны 2019 года: выбор ZOOM Представляем обзор топовых смартфонов, наиболее актуальных весной 2019. Здесь есть из чего выбрать: скоро стартуют продажи флагманов Xiaomi и Huawei, открыт предзаказ на новую Nokia, уже продается флагман от Samsung и официально стартуют продажи OnePlus 6T. И конечно, по-пре...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

Ключевое слово this в JavaScript. Полное* руководство * скорее всего, я что-нибудь да упустил, но уверен, в комментариях мне это подскажут Эту статью я пишу для своих личных нужд. Планируется, что она будет содержать в себе ответы на все вопросы, которые мне задают студенты на эту тему. Если она пригодится кому-то ещё — здоров...

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

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

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

Проект Collage: как бороться с интернет-цензурой с помощью пользовательского контента Группа ученых из технологического университета штата Джорджия опубликовала концепцию нового инструмента обхода блокировок. Проект получил название Collage, и его концепция предполагает использование так называемого user-generated content. Мы представляем вашему вниманию ос...

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

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

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

Тригенерация: альтернатива централизованному энергоснабжению По сравнению со странами Европы, где на объекты распределенной генерации приходится сегодня почти 30% всей выработки, в России по различным оценкам доля распределенной энергетики составляет сегодня не более 5-10%. Поговорим о том, есть ли шансы у российской распределенной эн...

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

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

[Перевод] Пишем чистый и масштабируемый JavaScript-код: 12 советов Язык JavaScript родом из раннего веба. Сначала на нём писали простые скрипты, которые «оживляли» страницы сайтов. Теперь же JS превратился в полноценный язык программирования, который можно использовать даже для разработки серверных проектов. Современные веб-приложения силь...

Извините, но все ваши базы принадлежат Google. Презентация Google на Game Development Conference 2019, проект Stadia Вчера вечером, 19 марта, Google провели собственную презентацию в рамках Game Developers Conference. Суть происходящего — новый видеостриминговый сервис, позволяющий играть с любого устройства без необходимости иметь мощный компьютер или консоль, и специальный геймпад для не...

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

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

[Перевод] Cascadeur: будущее игровой анимации Всем привет! Мы — студия разработки Banzai Games. Рады наконец открыть здесь свой блог. Будем писать о наших технологиях, проектах и делиться историями из жизни компании. Первый материал — перевод интервью с основателем студии Евгением Дябиным, которое он дал коллегам из и...

Как поддерживать холодильник в идеальном состоянии Эти советы помогут эффективнее использовать устройство и реже выбрасывать продукты.

Ethereum — хардфорк Istanbul может быть перенесен из-за задержки со стороны разработчиков Parity Запланированный хардфорк Ethereum под названием Istanbul может быть перенесен из-за неготовности команды Parity внедрить в обозначенный срок ключевые апгрейды в тестовую сеть Ropsten. Об этом со ссылкой на слова представителей компании пишет Trustnodes. Активация Istanbul в ...

Как чип Apple T2 помогает в профессиональной работе Вместе с выходом iMac Pro, компания представила обновленное поколение чипов Apple T2. Сегодня эти сопроцессоры успешно применяются в самых последних моделях MacBook Pro, MacBook Air и Mac Mini. Мы уже рассказывали, что из себя представляет Apple T2, и какие задачи на него в...

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

Amazon добавила возможность компаниям создавать голосовые команды Amazon запустила Alexa for Business, и теперь позволяет бизнес компаниям создавать голосовые команды для использования их в офисе. Участники могут использовать один из десятков шаблонов для создания своих собственных голосовых команд в Alexa без необходимости писать код....

Простое шифрование БД SQlite Так получилось, что я очень люблю использовать SQLite СУБД. Программируя на ассемблере, я иногда нуждаюсь в полноценной СУБД. Мои программы редко превышают в размере несколько сотен килобайт. Понятно, что использовать с ним СУБД в несколько сотен мегабайт по меньшей мере пр...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

[Перевод] Mozilla собирается использовать WASI для всех устройств, компьютеров и операционных систем Всем привет! На связи TestMace и мы продолжаем знакомить вас с самыми горячими новостями из мира JavaScript. На очереди перевод статьи о WASI — технологии, которая позволит использовать WebAssembly вне браузеров Один формат, чтоб править всеми Компания Mozilla на этой недел...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

[Из песочницы] Ant-карусель на CSS и Javascript С появлением CSS3 появилась возможность совершать анимацию без использования JS-библиотек, таких, например, как jQuery. CSS3 свойство transition позволяет плавно изменять другие свойства элемента (width, height, margin, opacity и пр.), задав в качестве параметров время и зак...

«Яндекс.Телефон» не пользуется спросом Фото: Артём Геодакян/ТАСС Как и предполагали эксперты, завышенная цена 18 000 руб. не позволила первому российскому смартфону стать по-настоящему массовым. Продажи «Яндекс.Телефона» начались 6 декабря 2019 года, но за неполный месяц розничные сети сумели реализовать всего ...

Тест-драйв Lexus ES250: покупка не по любви, но по расчету Сходу: седан Lexus ES250 порадовал в деталях, но не удивил в целом. Однако это та модель, которую я с чистой совестью смогу рекомендовать, если речь зайдет о покупке автомобиля бизнес-класса «по расчету». Все просто: новый Lexus ES250 – очень выгодное предложение в своем кла...

Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...

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

Intel Core i9-9900K смог работать с пассивным охлаждением Процессор Intel Core i9-9900K и пассивная система охлаждения. Звучит как две абсолютно несовместимые вещи. Известный немецкий энтузиаст Роман «der8auer» Хартунг (Roman Hartung) решил проверить, так ли это на самом деле, или всё же процессор Core i9-9900K реально охладить без...

Rails + Postgres + bindings Привет друзья. Ни для кого не секрет, что работая на крупных проектах со сложной логикой, Active Record становится не помощником, а обузой. Представьте, что вам необходимо сделать очень сложный запрос для PostgreSQL нативным образом (на чистом SQL), где должно присутствова...

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