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

Последний рубеж обороны QA: автоматическое обнаружение ошибок Привет! Меня зовут Асхат Нурыев, я ведущий инженер по автоматизации в компании DINS. Я работаю в Dino Systems последние 7 лет. За это время пришлось заниматься разными задачами: от написания автоматических функциональных тестов до тестирования производительности и высокой...

Puppeteer c ES6 в ноде и браузере, или почему Zora это лучший тест-фреймворк в своей нише Все хорошо, пока вам нужно прогнать JS исходники через бабели-шмабели для создания бандла, но начинается сущий ад, когда вы захотите написать тесты для вашего сайта или бибилиотеки. Проблема в том, что все тест-фреймворки используют специфичные функции из ноды или/и написаны...

Разработка модулей для puppet при помощи puppet development kit Примерно месяц назад у меня был выбор: писать ли модуль для puppet "в стол" (то есть, для внутренней инфраструктуры) или делать его универсальным, открывать исходники и публиковать его на puppet forge. Конечно, быстрее и проще было бы набросать быстро под себя 2-3 класса и н...

[Из песочницы] Как сделать поддержку PCRE2 для Apache 2.4 Хочу поделится своим опытом перевода Apache 2.4 на PCRE2, так как даже PHP 7 уже давно поддерживает библиотеку PCRE2, а open source Apache Software Foundation все еще нет. Конечно я сейчас наверно опережаю релиз Apache с поддержкой PCRE2, так как я использую исходники с гита...

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

IBM System i (aka AS/400) — Как мы делали автотесты приложений зеленого экрана Привет! Меня зовут Антон Воробьев, я отвечаю в Альфа-Банке за разработку приложений для централизованной банковской системы. В этом посте я расскажу вам о том, что такое приложения зеленого экрана, зачем они нужны и как мы делали для них автотесты, написав для этого собстве...

Автоматизация импортов в 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) Так получи...

Cборка динамических модулей для Nginx Недавно мы собирали динамический модуль для Nginx, а когда всё было уже готово, то выяснилось, что наш модуль оказался не совместимым с Nginx, который уже был установлен на сервере. Готового решения возникшей проблемы нам найти не удалось и мы начали бороться с ней самостоя...

Компоненты-агностики в Angular Когда работаешь над библиотекой переиспользуемых компонентов, вопрос API встает особенно остро. С одной стороны, нужно сделать надежное, аккуратное решение, с другой — удовлетворить массу частных случаев. Это относится и к работе с данными, и к внешним особенностям различных...

[Из песочницы] Скрипт настройки Windows 10 Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 18362), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но по...

15 советов, как пробиться в App Store приложению с подписками В этой статье я расскажу, как увеличить шансы пройти проверку в App Store приложению с подписками. Если вы когда-либо испытывали проблему с аппрувом приложений с подписками или вот-вот планируете релиз, тогда это будет вам полезно. Всем привет, меня зовут Денис, я основатель...

Жизнь до рантайма. Доклад Яндекса В большом проекте может возникнуть задача идентификации изменений для конечного пользователя по отличиям в коде фронтенда приложения. Разработчик из Яндекс.Маркета Никита Сидоров рассказал, как мы решали эту проблему при помощи библиотеки Diffector, о построении и анализе гр...

VShard — горизонтальное масштабирование в Tarantool Меня зовут Владислав, я участвую в разработке Tarantool — СУБД и сервера приложений в одном флаконе. И сегодня расскажу вам, как мы реализовали горизонтальное масштабирование в Tarantool при помощи модуля VShard. Читать дальше →

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

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

Shader — это не магия. Написание шейдеров в Unity. Введение Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня хочется поговорить про шейдеры. Умение писать шейдеры (и в целом работать с рендером) очень важно при разработке под мобильные платформы или AR/VR, если хочется добиться крутой графики. М...

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

[Из песочницы] ListenIt — расширение Google Chrome для автоматического создания аудио версий статей Всем привет! Меня зовут Евгений, я создал расширение ListenIt для браузера Google Chrome. Расширение позволяет автоматически создавать аудиоверсии статей, а читателям прослушивать их прямо с сайта. Читать дальше →

Angulareact У меня есть проблема. Приложение написано на Angular, а библиотека компонентов на React. Делать клон библиотеки слишком дорого. Значит, нужно использовать React-компоненты в Angular-приложении с минимальными затратами. Разбираемся как это делать. Читать дальше →

Темизация UI kit: как мы подружили SCSS с CSS Variables Всем привет, меня зовут Виталик, я senior фронтенд-разработчик Skyeng. Наша команда делает онлайн-платформу Vimbox для изучения английского языка. Примерно год назад мы с дизайнером доделали небольшой UI kit, искоренивший хаос в интерфейсе и кодовой базе. Оказалось, что в к...

Тarantool Cartridge: шардирование Lua-бекенда в три строчки У нас в Mail.Ru есть Tarantool — это такой сервер приложений на Lua, который по совместительству ещё и база данных (или наоборот?). Он быстрый и классный, но возможности одного сервера всё равно не безграничны. Вертикальное масштабирование тоже не панацея, поэтому в Tarant...

Swift против Rust — бенчмаркинг на Linux с (не)понятным финалом Привет, Хабр! Периодически посматриваю на Swift в качестве языка прикладного программирования для Linux — простой, динамичный, компилируемый, без сборщика мусора, а значит, теоретически, пригоден и для устройств. Решил сравнить его с чем-то таким же молодым и модным — напри...

Самая полная классификация подводных навигационных систем, что вы можете найти Приветствую вас, глубокоуважаемые! «Гидроакустика — продажная девка империализма!» (С) Почему вообще подводная навигация важна? Да потому, что без нее любой подводный аппарат — дорогая игрушка, которая находится неизвестно где, потому что проще и дешевле сделать тысячи однот...

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

Redux. Простой как грабли Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом. TL;DR: базовая логика redux помещается в 7 ст...

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

Benchmarking ORM, используемых при создании Android-приложений Привет, Хабр! Меня зовут Артём Добровинский и я Android-разработчик в FINCH. Однажды, кутаясь в дыму утренней сигары, я изучал исходники одной ORM для Android. Увидев там package под названием benchmarks сразу заглянул туда, и был удивлен тем, что все оценки выполнены с помо...

Платы MSI на базе Z390 получили поддержку 128 Гбайт памяти Компания MSI объявила о достигнутой совместимости всех своих материнских плат на базе набора логики Intel Z390 с модулями DDR4 SDRAM ёмкостью 32 Гбайт (с организацией 2048x8). Таким образом, флагманские LGA1151v2-платы MSI, оборудованные четырьмя слотами DIMM, тепер...

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков В жизни многих компаний, которые имеют и развивают свой стек библиотек и компонентов, наступает момент, когда объёмы этого стека становится сложно поддерживать. В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в ...

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточн...

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

Набор оперативной памяти с водяной системой охлаждения - Thermaltake WaterRam RGB Thermaltake выпустила оборудование WaterRAM, представляющее собой набор модулей DDR4 с блоком водяного охлаждения. WaterRAM оснащен довольно большим водоблоком с регулируемой подсветкой RGB. Каждый модуль покрыт алюминиевым радиатором толщиной 2 миллиметра, который передает ...

Новый режим «никаких замедлений» существенно ускорит браузер Google Chrome Разработчики браузера Google Chrome начали тестировать режим под названием Never-Slow Mode, проще говоря «никаких замедлений». Функция пока недоступна в публичных сборках браузера, но может скоро появиться.  Согласно описанию, это экспериментальный реж...

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

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

Wargaming Platform: Hello World WTF is Platform? В Wargaming есть отдельное подразделение, которое занимается… занимается разработкой некой «платформы» для издания игр. Объяснить, что такое Платформа, чем она является и не является, весьма сложно — но я попробую. Почему появилась статья Привет! Меня зовут ...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

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

Управление автомобилем по CAN Введение Беспилотный автомобиль StarLine на платформе Lexus RX 450h — научно-исследовательский проект, стартовавший в 2018 году. Проект открыт для амбициозных специалистов из Open Source Community. Мы предлагаем всем желающим поучаствовать в процессе разработки на уровне код...

Redux — пересмотр логики reducer'a и actions На днях ковыряясь в множестве файлов redux'a, где по логике файлы вынесены в reducers, actions, константы типов actions. Bсе это оказалось весьма не простая задача держа все эти типы файлов у себя в голове и прослеживать логику. И… эврика, появилась идея упрощения написания...

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

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

Модуль подводного ультразвукового дальномера. Часть вторая В первой части мы описали процесс разработки тестового варианта модуля подводного дальномера. Пришло время поделиться информацией о второй версии модуля, поскольку заявленные в первой статье предполагаемые изменения мы реализовали. Читать дальше →

Инфраструктура как код, выигрываем на масштабе (Кирилл Ветчинкин, TYME) Модель «Инфраструктура как код (IaC)», которую иногда называют «программируемой инфраструктурой», — это модель, по которой процесс настройки инфраструктуры аналогичен процессу программирования ПО. По сути, она положила начало устранению границ между написанием приложений и с...

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

opencv4arts: Нарисуй мой город, Винсент OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании ...

Новая разработка защитит жителей многоквартирных домов от утечек газа Система "Алмаз-Контроль", разработанная АО "НПП "Алмаз" (входит в холдинг "Росэлектроника" Госкорпорации Ростех), работает посредством модулей GSM и Wi-Fi. GSM-модуль передает смс-оповещение об утечке газа на три номера, установленных по же...

О разных тиках замолвите слово или как не получить ошибку в Powershell при работе с Get-Date Доброго дня, любители Powershell. Я люблю его, и сегодня заметил одну странность, которая мотивировала к написанию данного поста. Думаю, вам тоже будет интересно. Дело о лишнем тике. Если интересно, добро пожаловать под кат: Читать дальше →

[Из песочницы] Разработка приложения для старого КПК (Cybiko Xtreme) в 2019 году Введение Привет Хабр! Я хотел бы поделиться своим опытом написания приложения для очень старого карманного компьютера, который серьезно опередил свое время, а именно Cybiko Xtreme 2001 года выпуска. Тем, кому интересно как жилось мобильному разработчику в начале 2000-х, до...

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

Браузер Otter добрался до версии 1.0 После «ухода на покой» классического браузера Opera его знамя подхватили сразу несколько проектов. Первым был Vivaldi, который разрабатывают бывшие создатели «Оперы». Вторым — Otter. Этот браузер ориентирован на воссоздание классическог...

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

Rollup: уже можно собирать приложения Rollup — это сборщик javascript приложений и библиотек нового поколения. Многим он давно знаком как перспективный сборщик, который хорошо подходит для сборки библиотек, но плохо подходит для сборки приложений. Однако время идет, продукт активно развивается. Я впервые попроб...

Компилятор Ангуляр в 200 строчек кода Привет. Меня зовут Роман, и я не изобретатель велосипедов. Мне нравится фреймворк Angular и экосистема вокруг него, и я разрабатываю с его помощью свои веб-приложения. С моей точки зрения, основное преимущество Angular в долгосрочной перспективе базируется на разделении кода...

[Перевод] Автоматические размеры хедера и футера UITableView с AutoLayout В этой статье я попытаюсь раскрыть некоторые причуды класса UITableView и покажу вам простой и самый простой способы реализовать представления верхнего и нижнего колонтитулов изменяемой высоты. Для меня простота, это когда дело доходит до написания кодом пользовательского ...

[Перевод] Конференция DEFCON 20. Захват за 60 секунд: от гостевой учётной записи до администратора домена Windows. Часть 2 Конференция DEFCON 20. Захват за 60 секунд: от гостевой учётной записи до администратора домена Windows. Часть 1 Хорошо то, что мы можем войти в локальную сеть, подделав DNS. А как насчёт социальной инженерии, учитывающей предпочтения и склонности пользователей? Пентестеры ...

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

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

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

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

В YouTube Music для Android появился режим автоматической загрузки песен Удобство потоковых сервисов сложно переоценить. За фиксированную плату они открывают доступ к библиотеке из сотен тысяч треков, которая к тому же регулярно пополняется новыми. Единственный недостаток таких служб – необходимость всегда иметь активное подключение к интернету,...

[Из песочницы] Импорт OpenStreetMap. От бинарного исходника к таблице в БД в несколько шагов Обычно, когда кто-то говорит про OSM, то в голове всплывает какой-нибудь из веб-сервисов, или приложение вроде Maps.me, основанные на данных OSM. На самом деле проект OSM — это в первую очередь данные, всё остальное по сути частные случаи их использования. Сервисы предоставл...

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

Что можно узнать при разработке аудио плеера для разных браузеров Эта история началась примерно 1.5 года назад. Связана она с проигрыванием музыки в различных браузерах и платформах, на которых они запускаются. Путь полный “боли и страдания” осознания того, что легкая на первый взгляд задача может оказаться не такой уж и легкой, а “незначи...

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

Boost.Spirit, или Добавляем «духовности» фильтрам списков Доброго времени суток, коллеги. Я по-прежнему являюсь разработчиком ISPsystem, и меня все еще зовут Дмитрий Смирнов. Некоторое (довольно продолжительное) время я никак не мог определиться с темой следующей публикации, поскольку материала за последние месяцы работы с Boost.A...

Не ORMом единым Не ORMом единым Всем привет! Я руковожу отделом партнерской разработки (Partners Development) в сервисе бронирования отелей Ostrovok.ru. В этой статье я хотел бы рассказать про то, как на одном проекте мы использовали Django ORM. На самом деле я слукавил, название должно был...

Концепция очков дополненной реальности. Моя идеальная AR гарнитура, которая возможна Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Недавно мне пришла в голову идея интересная концепция AR очков, которые могут быть нужны пользователю. Многие недооценивают некоторые аспекты с точки зрения удобства использования и пользовательс...

Вейвлет-анализ.Часть 3 Введение При проведении CWT анализа средствами библиотеки PyWavelets (бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT) возникают проблемы с визуализацией результата. Предложенная разработчиками тестовая программа по визуализации прив...

Применение MATLAB/Simulink с аппаратурой производства АО «ИнСис» Важной практической задачей является использование Matlab/Simulink с реальной аппаратурой которая позволит принять сигнал из реального мира. Это очень полезно для отладки алгоритмов. В данной работе представлена технология подключения к Simulink устройств АЦП производства АО...

Askozia. Как работает Autoprovisioning Plug & Play При разработке АТС Askozia мы столкнулись с задачей по автоматической настройке телефонов и решили ее по-своему. Autoprovisioning Plug & Play (PnP), эту технологию поддерживают многие производители — Yealink, Snom, Fanvil. Основные достоинства автоматической настройки ...

IPPON выпустила батарейный модуль для Innova RT II 6K/10K IPPON объявил о выпуске отдельных батарейных модулей для линейки on-line ИБП серии Innova RT II. Батарейные модули Innova RT II 6000 и RT II 10000 были раньше доступны только в комплекте с ИБП Innova RT II. Основным отличием двух батарейных модулей между собо...

DSC и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов. Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они осо...

[Из песочницы] Создаем свой компонент с микро-шаблонами Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож...

Разрабатываем приложение, которое отсылает данные другим приложениям (экосистемное приложение) Привет, хаброжители! Это моя вторая статья про разработку своего проекта. Тем, кто не читал предыдущая статейку: она про то, как из одного места (гугл таблицы) автоматически экспортировать данные в другое (ноушн). Сегодня я расскажу, как я писал (и проектировал) библиотеку...

Что ты такое, Rendering Engine? Или как работает модуль отображения браузера Самым важным для Frontend разработчика является модуль отображения в браузере, он же Rendering Engine (далее RE). В этой статье я хочу взять простую страничку и пройти все этапы вместе с RE от получения первого байта и до отрисовки контента на экран. Пользоваться я, как все...

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

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

WG Contract API: zoo of services С ростом количества компонентов в программной системе, обычно растёт и количество людей принимающих участие в её разработке. Как следствие, для сохранения темпов разработки и простоты сопровождения, подходы к организации API должны стать предметом особого внимания. Если х...

G.Skill выпускает серию модулей памяти Trident Z Neo DDR4 для систем на процессорах AMD Ryzen 3000 Компания G.Skill объявила о выпуске серии модулей памяти Trident Z Neo DDR4, которые предназначены для систем на процессорах AMD Ryzen серии 3000 и наборах системной логики AMD X570. В описании модулей производитель выделяет «элегантный двухтональный дизайн радиат...

Новые 3D сканеры от Shining3D: EinScan Pro 2X/2X Plus Здравствуйте!Наш ассортимент пополнился двумя новыми моделями 3D сканеров EinScan Pro 2X и EinScan Pro 2X Plus, а также  дополнительными модулями к ним от компании Shining3D.Этот портативные мультифункциональные 3D сканеры подходящие для сканирования маленьких и средних...

Разработан симулятор, который сделает беспилотники дешевле и безопаснее Innopolis Simulator для автономных подвижных объектов, разработанный на основе Unity 3D, может использоваться разработчиками и конечными пользователями в целях тестирования, отладки и образовательной деятельности. Симулятор отрабатывает различные сценарии на дороге, имитируе...

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

Uibook — инструмент для визуального тестирования React-компонентов с медиа-запросами Всем привет! Меня зовут Виталий Ризо, я фронтенд-разработчик в «Амплифере». Мы сделали Uibook — простой инструмент для визуального тестирования React-компонентов с реальными медиа-запросами. Расскажу, как он работает и чем может быть полезен вам. Читать дальше →

Символьный калькулятор на C# Понадобилась мне как-то библиотека на c#, которая умеет делать символьные вычисления (время от времени дополняю возможностями одну математическую программу). Всякие исходники в сети найти можно и на разных языках, но вот что-то попроще и попонятнее найти не удавалось. Обрати...

Оно огромное. Отверстие для модуля камеры в чехле смартфона Samsung Galaxy S11+ поражает своими размерами Благодаря рендерам мы уже знаем, что смартфоны Samsung Galaxy S11 получат весьма крупные модули основной камеры. Однако новые фотографии позволяют понять, насколько всё серьёзно. Снимки чехлов больше подходят для наглядной оценки размеров модулей. Как видим, в случае ...

Принципы документирования и локализации, или как получить хорошую локализацию минимальными затратами Всем привет! Меня зовут Денисов Александр. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC). В этой статье расскажу о тех проблемах, с которыми мы сталкивались при локализации NCC на английский и нем...

PHP Composer: фиксим зависимости без боли Многие из вас наверняка сталкивались с ситуацией, когда в библиотеке или фреймворке, который вы используете, есть баг или нет необходимой функциональности. Предположим, вы даже не поленились и сформировали pull request. Но примут его далеко не сразу, а следующий релиз продук...

Общие компоненты силами разных команд. Доклад Яндекса Создание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на ба...

[Из песочницы] Sourcery для автоматического конвертирования в структуры объектов Realm В интернете, да и даже на Хабре, есть куча статей о том, как работать с Realm. Эта база данных достаточно удобная и требует минимальных усилий для написания кода, если ей уметь пользоваться. В этой статье будет описан метод работы, к которому пришел я. Читать дальше →

Что нового в Swift 5? Привет, меня зовут Илья. Я — iOS разработчик в компании Tinkoff.ru. В этой статье я сделаю краткий обзор основных изменений в Swift 5. Данные изменения описаны в release notes. Для тех, кто еще не ознакомился, добро пожаловать под кат! Читать дальше →

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2 Это вторая часть статьи о создании инструмента, способного экспортировать все помещённые в Sketch-файл иконки: в разных форматах, для разных платформ, с возможностью A/B-тестирования каждой из иконок. Первую часть вы можете прочесть по ссылке. В прошлый раз мы подготов...

[Из песочницы] Визуальное представление выборов в Санкт-Петербурге — магия накрутки голосов Привет! В сентябре этого (2019) года прошли выборы Губернатора Санкт-Петербурга. Все данные о голосовании находятся в открытом доступе на сайте избирательной комиссии, мы не будем ничего ломать, а просто визуализируем информацию с этого сайта www.st-petersburg.vybory.izbirk...

[recovery mode] Gradle + LLVM Этот небольшой пост может оказаться полезен тем, кто хотел бы быстро начать работать с LLVM, не заморачиваясь с закачкой исходников и просторойкой фреймворка. Кто не хотел бы ковыряться в малопонятных скриптах CMake-а чтобы добиться ожидаемого результата, ну и наконец, прост...

[Из песочницы] Построение пакета RPM для Rosa Linux на практике Если Вы уже давно пользуетесь операционной системой Linux и хоть немного разбираетесь в программировании, рано или поздно Вам может понадобиться собрать программу из исходного кода. Может быть, нужной программы не окажется в репозиториях дистрибутива. Или в этих репозиториях...

[Перевод] Сборщик мусора в V8: как работает Orinoco Не то чтобы работа сборщика мусора — это то, о чём каждый день думает фронтенд-разработчик, но это очень интересно. Если честно, это одна из самых жестоких статей, что я читал за последнее время: тут много про смерть в молодом возрасте, про гонения из одной области памяти в ...

Эволюция кластерного взаимодействия. Как мы внедряли ActiveMQ и Hazelcast В течение последних 7 лет я вместе с командой занимаюсь поддержкой и развитием ядра продукта RealtimeBoard: клиент-серверным и кластерным взаимодействием, работой с базой данных. У нас Java с разными библиотеками на борту. Запускается всё вне контейнера, через Maven-плагин....

Л – логика Однажды мне в голову пришла идея новой игры-головоломки с очень простой, но, в то же время, интересной механикой: игроку дается набор из 5–7 картинок – нужно определить логическую цепочку, по которой эти картинки можно выстроить в ряд, и, собственно, выделить их по порядку. ...

Google тестирует глобальную кнопку управления воспроизведением в Chrome Разработчики Chrome могут скоро добавить в этот браузер кнопку «Воспроизведение/Пауза», которая позволит управлять воспроизведением звуко- и видеозаписей  вне зависимости от того, на какой вкладке они находятся, и какая вкладка активна в данный момент. ...

[Перевод] 9 библиотек веб-компонентов 1. Material components web Обычно заголовок «Material» размещает библиотеку компонентов пользовательского интерфейса прямо наверху рейтингов по количеству звездочек и загрузок. Веб-библиотека Google Material-components — это версия веб-компонента библиотеки Material-UI. По...

Технология Nvidia OC Scanner отныне доступна на видеокартах GeForce GTX 10-й серии Корпорация Nvidia подготовила приятный сюрприз для владельцев графических ускорителей GeForce GTX 10-й серии. Программный модуль OC Scanner обзавёлся поддержкой видеокарт на базе GPU Pascal, позволяя разгонять их в автоматическом режиме. Напомним, что ранее...

Понимаем UICollectionViewLayout на примере Photos App Здравствуй, Хабр! Меня зовут Никита, я работаю над мобильными SDK в компании ABBYY и в том числе занимаюсь UI-компонентом для сканирования и удобного просмотра многостраничных документов на смартфоне. Этот компонент сокращает время на разработку приложений на базе технологии...

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов. Некоторые вещи в библиотеке должны работать по-разному в раз...

[Перевод] Мой любимый Git-коммит Прим. перев.: Эта публикация британского программиста, ставшая настоящим хитом в англоязычном интернете, ссылается на Git-коммит 6-летней давности. Он был зафиксирован в одном из открытых репозиториев Government Digital Service — службы, занимающейся развитием цифровых услуг...

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

Another Way — LFS, Multi User и текущий прогресс инди Action/RPG Всем привет! Прошло немногим больше месяца и по традиции я спешу поделиться прогрессом нашей авантюры, серии под названием “Через тернии к игре мечты”. Хочу напомнить, что же тут происходит. Мы разрабатываем игру Another way — Нелинейная Action/RPG от третьего лица с элеме...

Linux многоликий: как работать на любом дистрибутиве Создать приложение для резервного копирования, работающее на любом дистрибутиве — задачка не простая. Чтобы обеспечить работу Veeam Agent for Linux на дистрибутивах от Red Hat 6 и Debian 6, до OpenSUSE 15.1 и Ubuntu 19.04 приходится решать спектр проблем, особенно если уче...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

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

[Из песочницы] Автоматически экспортируем Google Forms в Notion с помощью IFTTT и Django Всем доброго дня! Думаю, статья будет интересна всем, кто пользуется Notion, но по какой-то причине не мог переехать на него полностью. Предистория Я разрабатываю свой проект. На лэндинге после ввода емейла выдается ссылка на соцопрос на базе Google Forms. Ответы записывают...

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

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

[Из песочницы] Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть первая Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотел...

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

TP-Link Deco M4 и его функции Функция родительского контроля позволяет отслеживать активность пользователей и время, проведенное в сети. Для детей разных возрастов можно создавать отдельные профили с различными типами ограничений. Ежемесячные отчеты по активности могут автоматически отправляться на смарт...

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

SAP пропатчила серьезный баг в Diagnostics Agent Компания SAP выпустила июльский комплект патчей для своих программных продуктов. Набор содержит одиннадцать заплаток, четыре из которых закрывают баги межсайтового скриптинга. Обновления безопасности получила облачная торговая система Commerce Cloud, приложение для анализа и...

[Из песочницы] Prometheus + Grafana + Node Exporter + Docker в Azure c уведомлениями в Telegram Для начала подготовим виртуальную машину, для этого напишем небольшой скрипт, который разворачивает и автоматизирует некоторые рутинные операции, скрипт использует Azure Cli: project.sh#!/bin/bash echo "AZURE VM Create" echo "Azure Account:" echo "Az...

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

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

Commute: Heavy Traffic 2.05.5 Добро пожаловать в ближайшее будущее, в город, где все автомобили управляются компьютерами. Казалось бы, что теперь не должно быть пробок и аварий… Но это не так. Пробки не искоренить ездой по правилам. И вот вы выезжаете на своем автомобиле с полностью ручным управлением, д...

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

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

Как отказаться от ненужных рассылок с помощью одной кнопки. Опыт команды Яндекс.Почты Согласно нашим исследования, не менее 20% пользователей страдают от большого числа непрочитанных писем. Львиная доля этих писем — регулярные рассылки. Большая часть из них никогда не будет открыта и прочитана — они лежат мёртвым грузом и отвлекают от полезных писем. Для ре...

Введение в разработку CatBoost. Доклад Яндекса Меня зовут Стас Кириллов, я ведущий разработчик в группе ML-платформ в Яндексе. Мы занимаемся разработкой инструментов машинного обучения, поддержкой и развитием инфраструктуры для них. Ниже — мой недавний доклад о том, как устроена библиотека CatBoost. В докладе я рассказал...

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

[Перевод] Автоматически импортируем избранные библиотеки в IPython или Jupyter Notebook Всем привет! Сегодня мы разберем очень короткий, но полезный лайфхак о том, что нужно сделать, чтобы не вводить, к примеру, «import pandas as pd» по 10 раз в день. Для этого нужно: Перейти к ~/.ipython/profile_default; Создать папку с именем startup, если ее там еще нет; ...

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

У Sierra Wireless готов первый в отрасли модуль 5G типоразмера M.2 с поддержкой mmWave К выставке MWC 2019 компания Sierra Wireless приурочила демонстрацию первого в отрасли модуля 5G типоразмера M.2 с поддержкой mmWave. Как утверждается, модуль AirPrime 5G позволит производителям оригинального оборудования и системным интеграторам, которым требуются мак...

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

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

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть первая Привет, Хабр! Меня зовут Максим Пономаренко и я — разработчик в Спортмастере. Имею 10-летний опыт работы в IT-сфере. Начинал карьеру в в области ручного тестирования, затем переключился на разработку баз данных. Последние 4 года, аккумулируя знания, полученные в тестировани...

Chrome будет блокировать скрипты автозагрузки Браузер не допустит автоматического скачивания случайных файлов

Математика в Gamedev по-простому. Кривые и дождь в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Продолжим говорить про математику что ли. Пожалуй, основное применение математики в геймдеве и компьютерной графики в целом – это VFX. Вот и поговорим про один такой эффект – дождь, а точнее про его основную часть, требую...

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

[Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G...

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

Китайский спускаемый модуль «Чанъэ-4» и ровер «Юйту-2» готовы ко второй ночи на обратной стороне Луны Модуль «Чанъэ-4» и ровер «Юйту-2» переведены в спящий режим до окончания лунной ночи. Ровер «Юйту-2» будет активирован 28 февраля, оборудование модуля «Чанъэ-4» начнет просыпаться 1 марта 2019 года. Читать дальше →

Первый час жизни с Яндекс.Модулем Есть серьезное ощущение, что я — первый человек, официально купивший Яндекс.Модуль. Ребята на стенде во время YaC 2019 бегали за разрешением его продать. И получили. Ибо уже объявлен ))) Что можно сказать, по итогам первого часа его использования (он, пока же, последний, ...

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

Функции Android 10, которые мы так и не увидели Не все опции Android 10 нам доступны Бета-тестирование Android 10 обещало нам много разнообразных функций — от жестовой навигации до тонкой настройки уведомлений. Однако зачастую бывает так, что не все опции из тестовых сборок «доживают» до финальной стадии. ...

Как живет Альфа-Банк в период изменений и что нам удалось сделать при объединении IT-разработки и Альфа-Лаборатории Привет! Меня зовут Даша Русланова, я директор Департамента цифровых решений в Альфа-Банке. Сегодня я расскажу вам, как мы живем во время довольно значимых изменений, каких результатов в процессе этого переформатирования смогли достигнуть за год в плане скорости, и зачем нам...

Как устроено A/B-тестирование в Авито Всем привет. Меня зовут Данила, я работаю в команде, которая развивает аналитическую инфраструктуру в Авито. Центральное место в этой инфраструктуре занимает А/B-тестирование. А/B эксперименты — ключевой инструмент принятия решений в Авито. В нашем цикле продуктовой разработ...

Локализация приложения за 10 шагов По прогнозам аналитической платформы App Annie, в ближайшие 4 года интерес к мобильным приложениям будет стабильно расти: если вы задумываетесь о выводе своего приложения на новые рынки, возможно, сейчас самое подходящее время. За два года работы менеджером по локализации в...

Гайд по автоматическому аудиту смарт-контрактов. Часть 2: Slither Анализатор: Slither Описание: Open-source static analysis framework for Solidity githib: https://github.com/trailofbits/slither Это статический анализатор кода, написанный на python. Он умеет следить за переменными, вызовами, и детектирует вот такой список уязвимостей. У каж...

Инженерный подход к разработке ПО. От теории к практике Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Что делать, когда возможностей тестов недостаточно? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндекс.П...

Как Браузер для iOS А/Б-тестирование улучшал. Доклад Яндекса Не так давно мы посмотрели, как устроены A/Б-эксперименты в Поиске. Руководитель бригады разработки iOS-версии Яндекс.Браузера Андрей Сикерин sav42 на последней встрече CocoaHeads Russia тоже рассказывал про инфраструктуру А/Б-тестирования, только уже в своем проекте. — П...

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

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

Twitter выпустил приложение для Mac, портировав его с iPad Приложение уже можно скачать в Mac App Store Этим летом Apple анонсировала Project Catalyst — амбициозный кроссплатформенный проект, который призван увеличить количество новых программ и игр на платформе macOS. Для этого будет использоваться огромная экосистема приложе...

Промышленные 4G-роутеры SmartMotion Передняя панель роутера BB-ST35200025-SWH Роутеры серии SmartMotion предназначены для подвижных объектов с высокими требованиями к доступности сети: автомобилей, поездов, кораблей. Они имеют два независимых LTE-модуля с возможностью установки по 2 SIM-карты в каждый модуль...

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

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

Полный цикл тестирования React-приложений. Доклад Авто.ру Стремление уйти от ручного регрессионого тестирования — хороший повод внедрить автотесты. Вопрос, какие именно? Разработчики интерфейсов Наталья Стусь и Алексей Андросов вспомнили, как их команда прошла несколько итераций и построила тестирование фронтенда в Авто.ру на базе ...

[Из песочницы] Внедрение Zimbra Collaboration Open Source, авторизация через AD и автоматическое создание почтовых ящиков 1. Исходные данные ОС сервера: CentOS 7 По поводу ОСНа самом деле разница между CentOS7 и любой другой системой будет заключаться исключительно в командах серверу на установку зависимостей, и, возможно, расположении некоторых файлов. Работа ведется в основном с командлетами...

[Перевод] Введение в детерминированные сборки на С/С++. Часть 1 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Что такое детерминированная сборка? Детерминированная сборка — это процесс сборки одного и того же исходного кода с одной и той же средой и инструкциями сборки, при котором создаются одни и те же...

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

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

Руководство по Apple Subscriptions Notifications для iOS. Так ли они хороши на самом деле? Итак, у вас есть приложение с автоматическими возобновляемыми подписками. Оно прекрасно работает, пользователи безудержно оформляют премиум подписки и пишут хвалебные отзывы. Красота! Всем привет, меня зовут Денис, я руководитель проекта Apphud – сервиса аналитики авто-возо...

[Из песочницы] Hunt the Wumpus или опыт написания классической игры для Android Слышали ли вы когда-нибудь про Вампуса? Независимо от ответа — добро пожаловать в его владения! В этой статье я хочу поведать вам свою историю создания игры под Android. В зависимости от компетенции читателя передаваемые мною опыт, мысли и решения будут более или менее по...

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

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

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

Автоматизация: как работать с обновлениями Привет, Хабр! Я довольно давно и много занимаюсь автоматизацией тестирования. И не понаслышке знаю, какую боль иногда доставляют новые версии чего угодно. Обновили XCode, вышла новая Selenium, придумали новый браузер (особое спасибо Microsoft за Edge и его драйвер), зачем-т...

Как браузер помогает товарищу майору Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как ...

Как снимать фото в формате RAW на iPhone и iPad (без потери качества) Все производители смартфонов премиум-класса уделяют особое внимание камере, так как работа данного модуля является критически важной для каждого пользователя. При этом имеет значение не только аппаратная начинка, но и программная составляющая, которая редактирует снимки в ав...

LG расширила штат в 4 раза для сборки камер грядущих iPhone LG является одним из крупнейших подрядчиков Apple, поставляя модули для основной, передней и TrueDepth камер Apple. По слухам, LG Innotek начал производство модулей камеры для линейки iPhone 2019 года. Говорят, что для удовлетворения высокого спроса Apple на этот компо...

[Перевод] Безопасность обновления программного обеспечения От переводчика: я наткнулся на TheUpdateFramework при поиске библиотек, реализующих автоматическое обновление ПО на десктопе. С одной стороны, мне показалось интересным и обстоятельным представленное ниже описание аспектов безопасности систем обновления ПО; с другой — наверн...

Анонс NEC NC2402ML: первый в мире кинопроектор со сменным лазерным модулем Компания NEC Display Solutions объявила о выпуске первого в мире кинопроектора, состоящего из лазерного модуля и головки проектора. Это позволяет эффективно адаптировать проектор к размерам экрана и гибко управлять яркостью. Подробнее об этом читайте на THG.ru.

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

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

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси При локализации сервиса важно внимательно отнестись к согласованию переводов между собой. Руководитель группы клиентской Android-разработки Яндекс.Такси Александр Бонель рассказал, какие практики и инструменты упрощают локализацию. Во второй части доклада Саша поделился опыт...

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

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

Apple скопировала ключевую фишку Google Pixel, но не полностью Наконец-то в iPhone появилась ключевая функция Google Pixel Чем Google Pixel лучше iPhone? Если исключить из сравнения операционные системы, выбор которой каждый оставляет за собой, и дизайн, судить который ещё сложнее, остаётся только камера. Несмотря на то что все Google P...

Lockheed Martin представила модуль будущей лунной базы Проект NASA «Gateway» предполагает создание космической станции вдали от Земли, которая станет базой для полетов в дальний космос. Это совершенно иной уровень требований к надежности и возможностям оборудования, поэтому работа начинается с многочисленных тестов и исследовани...

Реализация беспроводной коммутации 3D машин на Marlin Добрый день Уважаемые читатели!Я хотел бы продолжить тему с разработками и процессами этапов разработок относящихся к 3D принтерам, все работы проходили/ проходят в рамках текущего стартап проекта "Erzay3D".     Для удовлетворения условий беспроводного обмена данн...

Модули памяти Adata XPG Spectrix D60G разогнали до эффективной частоты DDR4 5737,6 МГц Всего несколько дней после того, как модули памяти Adata Spectrix D60G были разогнаны до 2817,1 МГц (эффективная частота DDR4-5634), этим модулям покорилась новая высота. В базе данных HWBOT зафиксирован результат 2868,8 МГц (DDR4-5738). Сейчас это рекордное значение д...

Силовой модуль разработчика. Работа над ошибками Приветствую! В моих предыдущих статьях (раз и два) вы ознакомились с силовым модулем полумоста, который позволяет построить преобразователь практически любой топологии. Я показал как можно быстро и без особых усилий получить макет силового преобразователя и обкатать идею, а ...

Готовое решение markdown2pdf с исходным кодом для Linux Предисловие Markdown это прекрасный способ написать небольшую статью, а иногда и достаточно объемный текст, с несложным форматированием в виде курсива и толстого шрифта. Также Markdown неплох для написания статей с включением исходного кода. Но иногда хочется без потерь, тан...

Чем отличается камера iPhone 11 Pro от камеры iPhone XS Камеры iPhone 11 Pro и 11 Pro Max Если вас спросят, чем iPhone 11 Pro отличается от прошлогоднего iPhone XS, наверняка первым, о чём вы вспомните, будет камера. Ни увеличенная ёмкость аккумулятора, ни 18-ваттный блок питания, ни даже отсутствие 3D Touch. Видимо, сказывается ...

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

[Из песочницы] Arduino таймер Добрый день. Меня зовут Никита Сергеевич, мне 14 лет и в этом посте я имею желание рассказать вам о разработанною мною пол года назад устройстве (и приложении), потому что готовое устройство спаял и собрал мой отец. Хотя возможно такое устройство вы уже видели не раз, но мне...

Ассортимент Thermaltake пополнили комплекты модулей памяти DDR4-4400 объемом 16 ГБ Компания Thermaltake выпустила серию комплектов модулей TOUGHRAM RGB DDR4, включающую комплекты, работающие на эффективных частотах 4000 МГц, 4266 МГц и 4400 МГц. Каждый комплект включает два модуля объемом по 8 ГБ. Компоненты модулей смонтированы на 10-слойных печатны...

Сервер, ты меня слышишь? BROP-атака на примере задания NeoQUEST-2019 Как найти уязвимость на сервере, не имея информации о нём? Чем BROP отличается от ROP? Можно ли скачать исполняемый файл с сервера через переполнение буфера? Добро пожаловать под кат, разберём ответы на эти вопросы на примере прохождения задания NeoQUEST-2019! Читать дальш...

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

[Из песочницы] Типизация REST API для фронтенд разработчика Сегодня широкое распространение имеют следующие подходы для описания взаимодействия браузера и сервера, такие как OpenApi & GraphQL. В этой статье я расскажу о нашей попытке сделать статически типизированное REST API и избавить фронтенд команду от написания кода по нап...

[Перевод] Программная реализация усилителя класса D Best-404-Error интересуется, можно ли получить результат компиляции длиной менее 512 байт, если исходник написан на языке высокого уровня. Можно, если упростить возлагаемую на прошивку задачу. Программная реализация усилителя класса D позволяет менять его параметры (часто...

[Перевод] Улучшенный sandboxing для Groovy скриптов От переводчика: При разработке CUBA Platform мы заложили в этот фреймворк возможность исполнения пользовательских скриптов для более гибкой настройки бизнес-логики приложений. О том, хороша или плоха эта возможность (и мы говорим не только о CUBA), ведутся долгие споры, но ...

Как мы заново изобретали IP АТС Askozia, после того как проект был продан и закрыт разработчиком Как было все прекрасно до часа X Мы — небольшая команда разработчиков, которая много лет назад занималась разработкой и внедрением программ 1С. В далеком 2011 году мы хорошо знали программные продукты 1С, и не имели опыта в разработке собственных решений. На тот момент компа...

[Перевод] Изучаем Python: модуль argparse Если вы занимаетесь обработкой и анализом данных с использованием Python, то вам, рано или поздно, придётся выйти за пределы Jupyter Notebook, преобразовав свой код в скрипты, которые можно запускать средствами командной строки. Здесь вам и пригодится модуль argparse. Для но...

Redmi Note 8T с модулем NFC позирует в полный рост Индийский инсайдер Судханшу Амбхоре (Sudhanshu Ambhore) несколько часов назад на своей страничке в Twitter опубликовал новые официальные изображения смартфона Redmi Note 8T. Напомним, главным отличием Redmi Note 8T от ранее выпущенного Redmi Note 8 является наличие мод...

Как мы внедрили онбординг новых разработчиков Привет, Хабр! Меня зовут Екатерина, я тимлид команды Биллинга сервиса МойСклад. Примерно два с половиной года назад команда разработки МоегоСклада состояла из 20 человек. За это время мы выросли в три раза, только с начала 2019 года у нас появилось три новых команды. На фон...

Для самых нетерпеливых. Пользователи Xiaomi Mi Mix 2, Mi Mix 2S и Mi A2 могут установить Android 10 Вскоре после выхода  Android 10 и публикации исходников в проекте с открытым исходным кодом Android Open Source Project (AOSP), стали появляться неофициальные прошивки для тех, кто не обладает достаточным терпением, чтобы дождаться обновления от производителя. ...

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

Это самые вредные нововведения Android Q, которые делают обновление хуже Google нечасто радует своих пользователей обновлениями Android. В отличие от Apple, которая выпускает как минимум 5 значимых апдейтов iOS ежегодно, поисковый гигант ограничивается лишь двумя, да и то не для всех. Поэтому всякое обновление воспринимается фанатами «зеленого р...

Возможность познавать мир в мобильном приложении предоставляет детям D.A. Games Компания D.A. Games разработала познавательно — развлекательное приложение «Познавашки — Развивашки» для детей, позволяющее малышам познавать мир самостоятельно или с помощью родителей. Обучение построено на 15 категориях, при помощи которых ребенок изучает расти...

Лучшие менеджеры загрузок для Android Загружайте файлы быстро и правильно! Сегодня для многих пользователей смартфон практически полностью заменил стационарный компьютер. И подчас мы скачиваем на свои гаджеты огромное количество файлов, что можно сделать и стандартными средствами. Хотя это не всегда удобно. Спец...

Что в Smart TV тебе моем? Или что можно запихнуть в телевизор? Вместо предисловия Добрый день, коллеги! Меня зовут Алексей и я занимаюсь телевизорами, а именно, разработкой Smart TV приложений («давайте похлопаем Алексею»). Но что такое Smart TV? Какое оно, сферическое Smart TV приложение в вакууме? Не буду томить вас ожиданием: в осн...

Анимированные обои из GIF — Lite 1.65 У вас есть GIF файлы которые вы хотите использовать как обои?  Gif Live Wallpaper это то что вам нужно! Наверное самый лёгкий способ использования GIF файлов как живие обои.  Всё это делается в несколько простых шагов:  Шаг 1 — Откройте приложение. Шаг 2 — Нажмите...

Ассортимент Corsair пополнили модули памяти Vengeance LPX DDR4-5000 Компания Corsair объявил о выпуске нового набора модулей памяти Vengeance LPX. По словам производителя, это первый коммерчески доступный набор модулей памяти DDR4, работающих на эффективной частоте 5000 МГц. Набор включает два модуля объемом по 8 ГБ. Модули работают при...

Java REPL вам не ScriptEngine Привет, Хабр! Меня зовут Дима, я разработчик в команде “Архитектура” в hh.ru. Среди прочего, я занимаюсь тем, что делаю разработку проще для коллег. Выполнение кода в продакшене является типовой задачей. Поэтому когда я услышал, что с этим есть проблемы, я решил заняться и...

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

Разработчик рассказал об опасности шорткатов для iOS Скрипты для приложения Shortcuts, русскоязычным пользователям более известного под названием «Команды», могут содержать в себе вредоносные компоненты. Об этом сообщил разработчик сервиса Codea – twolivesleft. Ему удалось выяснить, что один такой скрипт, якобы предназначенны...

[Перевод] Dwarf Fortress отказывается от текстовой графики, но не от своей сути Переход разработчика от ASCII к двумерной графике обусловлен не просто желанием продать больше копий – есть ещё желание улучшить игру и познакомить с ней более широкую аудиторию Игру Dwarf Fortress сложно отнести к какой-либо категории. Это и симулятор, и RPG, и rogue-like...

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

«Сименс» анонсировала промышленную платформу для приложений кибербезопасности Компания «Сименс» расширила продуктовую линейку коммуникационных устройств мультисервисной платформы Ruggedcom (Ruggedcom Multi-Service Platform), представив новую, более мощную версию модуля обработки приложений Ruggedcom APE. Модуль Ruggedcom APE ...

Что ждут владельцы iPad от iOS 13 В конце октября прошлого года, Apple представила обновленную линейку планшетов iPad Pro. Устройство получилось действительно бескомпромиссным — высочайший уровень производительности, качественный экран с поддержкой ProMotion, отличный дизайн с минимальными рамками. И ...

[Из песочницы] Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика Дисклеймер Я — разработчик. Я пишу код, с базой данных взаимодействую лишь как пользователь. Я ни в коем случае не претендую на должность системного администратора и, тем более, dba. Но… Так вышло, что мне нужно было организовать резервное копирование postgresql базы данны...

Серия модулей памяти Patriot Signature Premium DDR4 принадлежит массовому сегменту Компания Patriot, специализирующаяся на модулях памяти, твердотельных накопителях и игровых периферийных устройствах, объявила о выпуске новой серии модулей памяти DDR4. Серия Signature Premium включает модули UDIMM DDR4-2400 и DDR4-2666 без ECC, которые принадлежат ма...

Microsoft Edge на Chromium: русификатор и исправление проблем Публичное тестирование Microsoft Edge на Chromium по-прежнему не стартовало, однако в сеть уже утекли три внутренних сборки новой версии веб-браузера, которые вы уже можете протестировать на своих устройствах. Утёкшие сборки Microsoft существуют только на английском языке, ...

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

Поддержка в Gett. Как мы делаем так, чтобы всё работало Привет! Меня зовут Виталий Костоусов, я работаю в команде Global Tech Heroes, и сегодня я расскажу вам о саппорте — об одной из самых важных составляющей любого сервиса. Можно сделать отличное приложение с прикольными картинками и иногда адекватно шутящими чат-ботами. Можно ...

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

Nokia разработала на базе Tarantool модуль автоматизации для платформы Integrated Operations Center Mail.ru Group объявила о том, что Nokia разработала решение на базе Tarantool для автоматизации разработок в области промышленного Интернета вещей (IIOT) в России. Это программное решение расширит возможности платформы Nokia ...

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

[Перевод] Используйте __main__.py Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаим...

Телефон для коня и оркестр без пианиста. Как придумать спортивные задачи по фронтенду Привет! Меня зовут Дмитрий Андриянов, я работаю разработчиком интерфейсов в Яндексе. В прошлом году я участвовал в подготовке нашего онлайн-соревнования по фронтенду. Пару дней назад мне пришло письмо от организаторов с вопросом, не хочу ли я поучаствовать снова — придумат...

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

Apple придётся открыть модуль NFC в iPhone для сторонних разработчиков Модуль NFC появился в смартфонах Apple очень давно, но компания не позволяет использовать его сторонним приложениям, так что фактически он задействуется только в сервисе Apple Pay. Однако вскоре Apple, вероятно, придётся изменить свою политику. Как минимум в одной стра...

1. Анализ зловредов с помощью форензики Check Point. SandBlast Network Добро пожаловать на новый цикл статей, на этот раз по теме расследования инцидентов, а именно — анализу зловредов с помощью форензики Check Point. Ранее мы публиковали несколько видео уроков по работе в Smart Event, но на этот раз мы рассмотрим отчеты форензики по конкретн...

Samsung выпустила инструменты для разработки мобильных блокчейн-приложений Набор инструментов для создания таких приложений получил название Samsung Blockchain SDK. Он включает полный спектр функций, которые необходимы для создания децентрализованных приложений для смартфонов.Samsung Blockchain SDK позволит создавать, хранить, управлять и резервиро...

[Из песочницы] Интеграция ClangFormat и Notepad++ ClangFormat является одним из лучших инструментов для автоматического форматирования исходных кодов на языках C, C++, Java, JavaScript, Objective-C, C#. Существуют плагины для популярных сред разработки (IDE), но часто нужно быстро отформатировать файл или часть файла с исхо...

pudge встраиваемая база данных в 500 строк на golang pudge — встраиваемая key/value база данных, написанная на стандартной библиотеке Go. Остановлюсь на принципиальных отличиях от существующих решений. Stateless pudge.Set("../test/test", "Hello", "World") Пудж автоматически создаст базу данных test, включая вложенные дире...

Лучше, чем можно было бы ожидать. Samsung Galaxy A80 прошёл тесты на прочность Смартфон Samsung Galaxy A80 является самым необычным в ассортименте корейского гиганта, если не считать гибкого Galaxy Fold. Несмотря на то, что модель продаётся уже несколько месяцев, лишь сейчас до неё добрался блогер JerryRigEverything. Он подверг аппарат стандартном...

Деплоим код напрямую в docker-контейнер. Или как не прокрастинировать после каждого коммита Пришла задача WEB-12982 Создаешь ветку web-12982 в репозитории Пока ветка собирается, читаешь тз и пьешь кофе Приступаешь непосредственно к разработке git commit, git push Пока ветка пересобирается листаешь хабр git commit, git push Пока ветка пересобирается листаешь твитте...

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

Модули памяти XPG Spectrix D60G DDR4 оснащены оригинальной RGB-подсветкой Компания ADATA Technology анонсировала модули оперативной памяти XPG Spectrix D60G стандарта DDR4, рассчитанные на использование в игровых настольных компьютерах. Изделия получили многоцветную RGB-подсветку с большой площадью свечения. Управлять работой подсветки можно посре...

XPG SPECTRIX D60G достиг рекордного показателя разгона до 5634 MT/s ADATA Technology объявляет о том, что лаборатория разгона XPG (XOCL) разогнала модуль памяти SPECTRIX D60G RGB DDR4 до частоты 5634МТ/с, чем был установлен новый рекорд. Предыдущий был зафиксирован на уровне 5608 MT/с. Этот рекорд был достигнут с помощью чипсета Intel Core i...

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

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

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...

[Из песочницы] Сeph — от «на коленке» до «production» Выбор CEPH. Часть 1 У нас было пять стоек, десять оптических свичей, настроенный BGP, пару десятков SSD и куча SAS дисков всех цветов и размеров, а ещё proxmox и желание засунуть всю статику в собственное S3 хранилище. Не то чтобы это всё было нужно для виртуализации, но раз...

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

День защиты детей от плохого кода Пост посвящен дню защиты детей. Любые совпадения – не совпадения. В 10 лет у меня появились первый компьютер и диск с Visual Studio 6. С тех пор я придумываю себе задачки — автоматизировать дела, собрать какой-нибудь веб-сервис для трёх человек или написать игру, которую по...

Велосипед из энергомонитора PZEM004T и ESP8266, с Народным мониторингом Свой неудавшийся проект контроллера температуры (Фиаско. История одной самоделки IoT) я решил оставить в качестве только монитора. И следующим шагом прикрутил энергомонитор PZEM004T, за одно реализовал отправку данных на Народный мониториг. Добро пожаловать под кат… Читать д...

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

[Из песочницы] Феерический screensaver для Kodi Назначение хранителя экрана для «Kodi» Проект предназначен для создания «Феерического» хранителя экрана с минимальным количеством исходного кода на языке Python. Проект является простейшим плагином для мультимедиа центра Kodi. Проект показывает как можно создать очень кра...

Модули памяти Thermaltake TOUGHRAM первый знакомство В этом году Thermaltake выпустила множество модулей памяти, компания добавила еще одну модель памяти TOUGHRAM без водяного охлаждения. Комплект TOUGHRAM поставляется с 10-слойной печатной платой и чипами Samsung и SK Hynix формата DDR4. Оперативная память с част...

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

Как настроить автоматический запуск приложений на Mac   Операционная система macOS умет автоматически восстанавливать запущенные приложения после выключения или перезагрузки. Это удобно, ведь не нужно заново нажимать на десяток иконок и расставлять программы по разным рабочим столам. Для повторного открытия программ ...

CodeSide. Новая игра для знаменитого соревнования Russian AI Cup Сообщество участников чемпионатов и команда Mail.ru Group в сотрудничестве с Codeforces.com приглашают вас на самую настоящую бойню, от которой вы получите бессонные ночи и мозоли на руках, поскольку будете участвовать в одном из самых живых и интересных чемпионатов по про...

Фантастические плагины, vol. 1. Теория Жизнь с многомодульным проектом не так уж проста. Чтобы избежать рутины создания нового модуля мы создали собственный плагин для Android Studio. В процессе реализации мы столкнулись с отсутствием практической документации, перепробовали несколько подходов и откопали множеств...

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

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

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

Познание окружающего мира: для детей создано приложение «Познавашки-Развивашки» Компания D.A. Games разработала познавательно — развлекательное приложение «Познавашки — Развивашки» для детей, позволяющее малышам познавать мир самостоятельно или с помощью родителей. Обучение построено на 15 категориях, при помощи которых ребенок изучает расти...

Изобретаем библиотеку vusb Введение После прочтения названия может возникнуть закономерный вопрос: зачем в наше время изучать программную реализацию low-speed USB, когда существует куча дешевых контроллеров с аппаратным модулем? Дело в том, что аппаратный модуль, скрывая уровень обмена логическими уро...

iPhone XI показался на новых изображениях Инсайдер OnLeakes, совместно с изданием Cashkaro, продолжает публиковать качественные изображения будущих iPhone 2019. На этот раз, вместе с iPhone XI, инсайдер показал ещё iPhone XI Max. Он также, как и младшая модель, внешне будет отличаться от своего предшественника л...

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

Работа с cron под Android и добавление shell-скрипта в автозапуск при загрузке устройства В связи с тем, что мобильные устройства уже давно имеют обширный функционал, то задачи автоматизации можно смело переносить и на них. И, как нельзя лучше, здесь так же хорошо подходит cron для их выполнения. Но если в «обычных» Linux системах настройка cron занимает мало в...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

Слухи о Windows 10 Build 19480 и функции Sets Итальянский портал Aggiornamenti Lumia обнаружил в пакетах локализации Windows 10 упоминания сборкок системы под номером 19480 и более новых, которые явно не относятся к тестируемому на канале «Ранний доступ» обновлению под кодовым названием 20H1, где актуальный номер сборк...

Rust + CLion = Любовь Привет, Хабр! В общем как я обещал вот рассказ о том как CLion в качестве IDE для Rust на MacOS использовать. Почему не IntelliJ IDEA? Потому что CLion может дебажить. Почему LLDB, а не GDB? Потому что LLDB у меня вместе с XCode был установлен. Мне нравиться эта IDE и наде...

[Из песочницы] Почему Вы должны попробовать FastAPI? Лого взято из Github репозитория FastAPI FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hi...

Субъективный user.js для Mozilla Firefox и не только Вот уже почти 15 год я пользуюсь Mozilla Firefox на ежедневной основе, и, конечно, у меня есть свой небольшой субъективный user.js, который с каждым релизом новой версии приходится обновлять. Спешу им (и не только) поделиться. Если кому-то интересно, то добро пожаловать под...

Переключатели функциональности (feature toggles): виды, преимущества и работа с ними в .NET Переключатель функциональности — это инструмент, позволяющий переключаться со старой функциональности на новую, не пересобирая приложение и не выпуская его заново. Реализуется добавлением в код условного оператора (if), который дает возможность управлять поведением программ...

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

Mozilla разрабатывает новый мобильный браузер Компания Mozilla запустила разработку нового мобильного браузера Fenix. Как сообщается, пока что создание приложения находится на ранней стадии, потому реализовано порядка 5 % всего задуманного. Пока что разработчики опубликовали макеты интерфейса будущей программы....

Чего мне не хватает в Java после работы с Kotlin/Scala В последнее время я часто слышу о том, что Java стала устаревшим языком, на котором сложно строить большие поддерживаемые приложения. В целом, я не согласен с этой точкой зрения. На мой взгляд, язык все еще подходит для написания быстрых и хорошо организованных приложений. О...

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

Самая маленькая микрофонная система Rode Wireless GO Rode, популярный бренд среди видеооператоров, выпустил «самую маленькую и универсальную» систему беспроводных микрофонов Wireless GO. Wireless GO - это пара модулей приемника и передатчика (RX / TX), размером примерно с половину колоды карт. В то время как другим произв...

Дзен-практики в open space Совсем скоро будет 2 юбилея. Первый: юбилей нашего офиса на Смоленке: уже почти 10 лет мы работаем, создаем ИТ продукты и иногда живем в open space’ах. Второй: скоро будет и еще один юбилей – 5 лет с первого посещенного семинара от Макса Дорофеева, на базе которого и благо...

PHP-библиотеки для e-commerce: работа с АТОЛ и Payture, парсинг кодов GS1 и другие задачи Привет, меня зовут Павел Савельев, я руководитель отдела автоматизации бизнес-процессов в Lamoda. Мы работаем с очень разными задачами, и стараемся подобрать для каждой наиболее удобный инструментарий. Соответственно, мы используем разные языки — в наших системах можно встре...

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

[Из песочницы] Универсальное DRO на базе Arduino Nano — shDRO Дамы и господа, здравствуйте. В данной статье я расскажу о разработке устройства для снятия показаний с цифровых линеек и других датчиков, размещенных на токарных и фрезерных станках. Разработка ещё не завершена и будет описано то, что сделано на данный момент. Кому интер...

10. Check Point Getting Started R80.20. Identity Awareness Добро пожаловать на юбилейный — 10-й урок. И сегодня мы поговорим о еще одном блейде Check Point — Identity Awareness. Еще в самом начале, при описании NGFW, мы определили, что для него обязательна возможность регулирования доступа на основе учетных записей, а не IP-адресо...

[Из песочницы] 9 Принципов для создания качественных iOS приложений Принципы основаны на известной методологии от heroku, адаптированы под реалии айос разработки (Отсутствие контейнеров, ревью которые занимают несколько дней и тормозят развертывания, работа Xcode только на маке). Эта статья является коротким введением, полную серию можете на...

К вопросу о модулях Недавно случайно зашел на сайт фирмы «Амперка» (в стиле «мы пошли искать запчасти для экскаватора и, естественно, оказались на порно сайте») и вспомнил, как я однажды осуществлял нелицеприятный разбор их модуля индикации. Решил посмотреть, как с данным модулем обстоят дела в...

Что из себя представляет Project Catalyst На WWDC 2019 Apple анонсировала Project Catalyst — амбициозный кроссплатформенный проект, который призван увеличить количество новых программ и игр на платформе macOS. Для этого будет использоваться огромная экосистема приложений iOS (пока что только версии для iPad)....

Львиная доля приложений и расширений для браузера Chrome не имеет политики конфиденциальности Исследование Duo Security показало, что огромная часть приложений и расширений для браузера Chrome имеют проблемы с безопасностью.  Источник проанализировал более 120 000 приложений и расширений в онлайн-магазине Google из 180 000 имеющихся и пришёл к выв...

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

Запретят ли Samsung использовать Android и сервисы Google? Разрыв отношений между Huawei и Google по принуждению американского правительства стал причиной беспокойства пользователей смартфонов конкурирующих производителей. Ведь, в конце концов, если США смогли росчерком пера настроить против Huawei чуть ли не всех ее партнеров, зап...

[Из песочницы] Умная лампа Привет, Хабр! Предлагаю вашему вниманию перевод статьи «DIY Smart Lamp» автора Maciej Matuszewski. Пошаговое руководство по переходу от придуманной идеи к работающему продукту. Ожидание против реальности Вы когда-нибудь задавали себе следующие вопросы? Может ли горяч...

Akasa Vegas RAM Mate: эффектная подсветка для модулей ОЗУ Компания Akasa представила аксессуар под названием Vegas RAM Mate, позволяющий наделить многоцветной подсветкой модули оперативной памяти, изначально лишённые соответствующей функции. Vegas RAM Mate — это специальная накладка, устанавливающаяся поверх модуля О...

АЦП HX711 от 3.3V — не верьте китайской документации и не только У энтузиастов, использующих данный модуль для сборки электронных весов "по-умолчанию", с пяти-вольтовым питанием, проблем не возникает. Я-же который раз сталкиваюсь с несоответствиями мануалов — притом ладно, линейный регулятор сгорает при вдвое меньшем входном напряжении, ...

Мощный смартфон Ulefone Armor 6 Ulefone Armor 6 получил двойную камеру с основным модулем на 21 и вспомогательным монохромным сенсором на 13 Мп для повышения качества снимков и анализа глубины резкости. Предусмотрена поддержка ИИ-функций для автоматической обработки получаемых фотографий. Фронтальная камер...

Представлен компактный ПК ASRock DeskMini 310 Компания ASRock пополнила ассортимент компьютеров небольшого форм-фактора моделью DeskMini 310, которая поддерживает установку процессоров Intel Core девятого поколения в исполнении LGA1151. Новинка также характеризуется материнской платой типоразмера Mini-STX, набором логик...

Роликовая держалка катушки. Сделал роликовую держалку катушек. Заточена под диаметр близкий к 200мм, по ширине 90+мм войдет.Крутится все это дело на четырех 634 подшипниках, подшипники прикручены М4 под шестигранник, сильно их в валы забивать не надо, все же принтер не токарка, валы чуть кривые, поэтом...

[Из песочницы] Установка OpenCV + CUDA на Windows Введение В данной статье речь пойдет о сборке и установке OpenCV 4 из исходных файлов с дополнительными модулями CUDA 10 на ОС Windows. Я постарался включить сюда все тонкости и нюансы, с которыми можно столкнуться в ходе установки, и про которые не написано в официальном м...

Метод бисекционного деления в тестировании Содержание Описание метода Применение тестировщиками Строка данных Файл Применение разработчиками Резюме Иногда баги сами нас находят. Вот мы впихали большую строку данных — и система подвисла. Это она из-за 1 млн символов упала? Или ей какой-то конкретный не понравилс...

[Из песочницы] Небольшой бэкдор на Flask или как управлять компьютером в локальной сети Привет, Хабр! Недавно я посмотрел скачанную версию стрима по программированию «Как создать свое веб-приложение на Flask». И решил закрепить свои знания в каком-нибудь проекте. Долго не знал, что написать и мне пришла идея: «А почему бы не сделать мини-бэкдор на Flask?». В ...

[Перевод] Пример создания Makefile для Go-приложений В этом руководстве мы рассмотрим, как разработчик Go может использовать Makefile при разработке собственных приложений. Что такое Makefile-ы? Makefile — невероятно полезный инструмент автоматизации, который можно использовать для запуска и сборки приложений не только на G...

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

Trickbot охотится за паролями для клиентов RDP, VNC и PuTTY Вредоносный арсенал трояна Trickbot пополнился модулем для кражи учетных данных систем удаленного доступа. Об этом рассказали специалисты компании Trend Micro, изучившие новую версию банкера. Теперь программа ворует не только сведения о кредитных картах и криптокошельках, но...

Пишем Reverse socks5 proxy на powershell.Часть 2 История об исследовании и разработке в 3-х частях. Часть 2 — разработческая. Буков много — пользы еще больше. В первой части статьи мы познакомились с некоторым инструментарием по организации обратных туннелей, посмотрели на их преимущества и недостатки, изучили механизм ра...

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

SSD Samsung PM1733: скорость чтения 8,0 ГБ/с, производительность 1 500 000 IOPS, объем — до 30,72 ТБ Компания Samsung на днях рассказала о твердотельном накопителе PM1733 с поддержкой PCIe Gen 4. По словам производителя, этим SSD он поддерживает выпуск процессоров AMD EPYC второго поколения. Новый накопитель по пропускной способности вдвое превосходит модели с интерфе...

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

Unity Package Manager Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки...

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

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

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

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

Радиомодули для arduino JDY-40 Приветствую всех. На просторах aliexpress наткнулся на очередное китайское творение, из раздела "Беспроводные модули для arduino". Ранее подобные модули с аналогичными возможностями за столь малые деньги мне не попадались. Вот я и решил сделать обзор данного модуля. Возможн...

[Перевод] Конфигурируйте Visual Studio в вашей организации с помощью .vsconfig В Visual Studio 2017 Update 15.9 мы добавили возможность экспорта и импорта рабочей нагрузки и выбора компонентов в файл конфигурации установки Visual Studio. Разработчики могут импортировать эти файлы в новые или существующие установки. Проверка этих файлов в ваших исходных...

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

Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11 На хабре уже есть много статей про использование вычислительных шейдеров с Unity, однако статью о использовании вычислительного шейдера на "чистом" Win32 API + DirectX 11 затруднительно. Однако эта задача ненамного сложнее, подробнее — под катом. Для этого будем использоват...

[Из песочницы] Сказ о том, как чайник Autoplay Media Studio 8.5.3.0 ломал Как не трудно догадаться, то чайник — это я. Захотелось мне на днях в исходник одной утилитки заглянуть, очевидно сделанной средствами AMS (.cdd файл рядом с .exe и пара lua*.dll). Пару лет назад разбирал детально одну программу сделанную аналогичными средствами и предста...

Flare-On 2019 write-up -0x01 — Intro Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все з...

Как установить родительский контроль на YouTube YouTube — очень интересная интернет-площадка с массой разнообразного контента на любой вкус. Однако встречается на платформе YouTube не мало роликов, которые не подходят для просмотра лицами, которым еще не исполнилось 18 лет. Многие родители задаются вопросом: «...

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

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

Micropython на GSM+GPS модуле A9G В этот раз я задумался о том, чтобы спрятать в велосипед GPS-трэкер в качестве меры предосторожности. На рынке есть масса автономных устройств для слежения за автомобилями, грузом, велосипедами, багажом, детьми и животными. Подавляющее большинство из них взаимодействуют с по...

Qualcomm представила платформу для разработки роботов Она представляет собой набор программных и аппаратных инструментов, в который входят система-на-чипе Qualcomm SDA/SDM845, встроенный LTE-модем для подключения к мобильным сетям, блок Quallcomm AI Engine для реализации алгоритмов машинного обучения и компьютерного зрения и мо...

G.Skill анонсирует наборы модулей памяти DDR4-4266 объемом 64 ГБ Компания G.SKILL представила высокопроизводительные наборы модулей памяти DDR4–4266, украшенных RGB-подсветкой. Наборы включают по восемь модулей суммарным объемом 64 ГБ, которые работают с задержками CL18–22–22–42. В модулях используются компоне...

[Перевод] Управление ЖК-матрицей F-51543NFU-LW-ADN / PWB51543C-2-V0 (от ленточной библиотеки) И снова привет, Хабр! Сделав перевод статьи об управлении ЖК-модулем с драйвером, но без собственного видео-ОЗУ, я решил перевести ещё одну публикацию на ту же тему. Здесь модуль уже попроще, монохромный, но «оживить» его не менее интересно. Читать дальше →

«Яндекс» показал Яндекс.Модуль с «Алисой» для любого телевизора Управлять им можно через приложение или при помощи голосовых команд.

Aitarget запустил инструмент автоматического создания рекламных роликов для YouTube Aitarget запустил новый инструмент, который позволяет создавать видеообъявления по шаблону и автоматически запускать их на YouTube. Технология экономит время и ресурсы рекламодателей, доступна для бизнеса любого размера и требует минимальных креативных затрат.

Системные платы Asus на чипсете Z390 теперь поддерживают до 128 ГБ ОЗУ Компания Asus сообщила о выпуске обновления UEFI BIOS для плат на наборе системной логики Z390, увеличивающего максимально поддерживаемый объем оперативной памяти 128 ГБ. Обновление для некоторых моделей уже опубликовано на сайте производителя. В ближайшее время оно ста...

Flutter: локализация приложений средствами Android Studio Про локализацию (интернационализацию) приложений Flutter написано уже достаточно много. Официальная документация довольно подробно останавливается на этом вопросе, кроме этого ряд энтузиастов описывает самые различные подходы. Эта статья не претендует на полноту охвата вопр...

Сгружать неиспользуемые, или как настроить автоматическое удаление ненужных приложений на iPhone и iPad Наверняка каждому владельцу iPhone или iPad известна проблема, когда неиспользуемые приложения занимают бесценное место на телефоне. К счастью, о ней практически «можно будет забыть» – начиная с iOS 11 в мобильной операционной системе Apple появилась функция, которая будет а...

[Перевод] F#10: Списки Любое серьезное программирование на любом языке всегда будет включать списки. Таким образом, вам будет приятно узнать, что F# очень и очень хорошо поддерживает списки с помощью своего модуля List. Список в F# — это упорядоченная, неизменная серия элементов одного типа. Читат...

Apple A12X Bionic: Точное попадание Презентация процессора A12X Был ли A12X в ноябре 2018 года быстрее чипов в 92% ноутбуков “купленных в последние месяцы” или нет уже не имело значения. Это было похоже на правду, а точный подсчет рыночной доли ноутбуков чипы которых превзошли A12X в тестах потребовал бы слишк...

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

DuetWifi и Re-D-Bot Здравствуйте товарищи 3dпечатники.Решил сделать небольшой обзор платы DuetWifi, которую недавно поставил на свой Re-D-Bot. Сам принтер собирал по посту "Собери свой Re-D-Bot"  в 2017 году (группа в телеграмме по Re-D-Bot живет тут ), с тех пор принтер пережил множество ...

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети Привет Хабр. Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использов...

Удешевление мелких серий электроники в России. Кейс интернет-радиоприемника WOLNA На картинке ниже фото двух версий платы интернет-радиоприемника WOLNA-1 Слева до того, как я осознал как оптимизировать себестоимость, и справа после. Для сравнения: 120 точек пайки против 300, 20 компонентов против 80, 14 пунктов в BOM вместо 31. И при этом функционал стал ...

Google открывает исходники Cardboard SDK В октябре Google официально закрыл свой проект Daydream View и сейчас компания без сожаления расстается со всем его наследием. Google выложил всю программную начинку Cardboard VR, в дополнение к техническому описанию самих очков, которое опубликовали еще раньше.

Meizu тоже может выпустить смартфон с выезжающим модулем камеры Уже 23 апреля будет представлен смартфон Meizu 16s. Это будет, вероятно, самый безрамочный смартфон в классическом форм-факторе без вырезов и отверстий в экране, без выезжающих модулей и прочего. Однако сделать рамки ещё тоньше, сохранив привычное расположение фронтальн...

ИИ помогает покупать билеты в приложении «Аэроэкспресс» В обновленной версии приложения «Аэроэкспресс» используется модуль автоматического распознавания документов Smart IDReader, который делает процесс покупки билетов быстрым и безопасным. Разработчик внедренной технологии искусственного интеллекта - российская компания S...

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

Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK Всем привет! Меня зовут Дмитрий Фисько, я разрабатываю Yandex Mobile Ads SDK. Наша библиотека предназначена для монетизации мобильных приложений на платформе Android и iOS. Сегодня я хочу рассказать вам о том, как мы упростили разбор сложных ошибок интеграции SDK в Android-п...

Хранилище key-value, или как наши приложения стали удобнее Тот, кто разрабатывает на Voximplant, знает о концепции «приложений», которые связывают друг с другом облачные сценарии, телефонные номера, пользователей, правила и очереди звонков. Проще говоря, приложения – это краеугольный камень разработки на нашей платформе, входная т...

В Drupal пропатчен баг, грозящий угоном сайта Разработчики CMS-системы Drupal выпустили обновление 8.7.5, устраняющее критическую уязвимость, которую они охарактеризовали как «обход доступа». Согласно алерту Агентства кибербезопасности США (CISA), использование новой проблемы позволяет захватить контроль над с...

[Перевод] Главный секрет разработки хороших Electron-приложений Кое-кто люто ненавидит Electron-приложения. То, что приложение включает в себя браузер Chromium, кажется, мягко говоря, странным. Это ощущение усиливается в ходе работы с такими приложениями. Они потребляют много памяти, медленно загружаются и не отличаются особенно высокой ...

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

Использование WiFi на Lerdge-X (K) через виртуальный COM порт Доброго дня дорогие друзья!На написание сего поста сподвигло меня полное отсутствие какой либо структурированной инфы по этому вопросу.Задача была заставить принтер печатать из Simplify3D без шнурка по WiFi на плате Lerdge-X (подойдет и для K).Из коробки WiFi убогий, по доку...

Как сканировать документы в приложении «Файлы» в iOS 13 Сканировать документы можно не только с помощью приложения «Заметки» Многие знают, что встроенное приложение «Заметки» обладает очень полезной возможностью — сканировать документы или любую другую информацию с бумажных носителей. Данная функция появилась еще ...

Ulefone Armor 6 прочный смартфон Ulefone Armor 6 получил двойную камеру с основным модулем на 21 и вспомогательным монохромным сенсором на 13 Мп для повышения качества снимков и анализа глубины резкости при фото в портретном режиме. Предусмотрена поддержка ИИ-функций для автоматической обработки получаемых ...

Новая статья: Гид по выбору монитора в 2019 году: год стабильности и дорогих новинок ⇡#Как изменился рынок за прошедший год Для подавляющего большинства покупателей, ожидающих каких-то глобальных изменений на рынке мониторов, за последние год-полтора не произошло ничего, чего бы мы не предполагали ранее. Всё идёт своим чередом, а массовый сегмент остался и в...

Microsoft удалила более 50 компонентов из библиотеки Google Chromium, чтобы повысить быстродействие нового браузера Edge Корпорация Microsoft выпустила первую публичную сборку браузера Edge на базе движка Chromium. Все желающие уже могут загрузить новую версию для тестирования. Судя по первым отзывам, браузер Microsoft Edge на базе Chromium работает хорошо и стабильно. Более того, в плане прои...

(Статический) Подбор оптимальных контейнеров в программах на C++ Здравствуйте. Сегодня хотелось бы поговорить снова про статический анализ. И снова про C++. Только в отличие от PVS-Studio мы будем искать не какие-то ошибки в наших программах (хотя они ищут не только ошибки), а места, которые написаны недостаточно оптимально. И одним из та...

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

Как в Яндекс.Практикуме побеждали рассинхрон на фронтенде: акробатический номер с Redux-Saga, postMessage и Jupyter Меня зовут Артём Несмиянов, я фулстек-разработчик в Яндекс.Практикуме, занимаюсь в основном фронтендом. Мы верим в то, что учиться программированию, дата-аналитике и другим цифровым ремёслам можно и нужно с удовольствием. И начинать учиться, и продолжать. Любой не махнувший ...

[Перевод] Пиксельный Lo-fi в Unity Визуальный стиль моей находящейся в разработке игры LAUNDRY GAME (да, это бессовестная реклама) основан на больших чётких пикселях в 3D. Я обожаю 3D в низком разрешении. Мне задавали много вопросов о том, как я это сделал, поэтому я решил написать туториал. Примечание: это...

PS2/PSP эмулятор + Google Drive + YouTube = «безумие» продолжается Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединил в один эмулятор) Красный Омега PS2 эмулятор В данном материале я...

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

Замыкание обобщенного типа в Rust В этой короткой статье я расскажу о паттерне в Rust, который позволяет "сохранять" для последующего использования тип, переданный через обобщенный метод. Этот паттерн встречается в исходниках Rust-библиотек и я тоже иногда его использую в своих проектах. Мне не удалось найт...

[Перевод] Рассказ о решении проблемы с производительностью Moment.js Moment.js — это одна из самых популярных JavaScript-библиотек для разбора и форматирования дат. В компании WhereTo используют Node.js, поэтому для них применение этой библиотеки было совершенно естественным ходом. Проблем с серверным использованием Moment.js не ожидалось. В ...

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

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

[Из песочницы] Мобильный телефон BuratinoPhone Цель проекта — изучение основ разработки под Arduino, отработка технологий изготовления печатной платы, пайки элементов, изготовления корпуса в домашних условиях. Тем, кто захочет повторить или воспользоватся решениями для своих проектов, исходники можно скачать здесь Gith...

Honor 20 Pro показали на качественных фото за 2 недели до релиза Единый дизайн-код, в котором многие производители выдерживают свои смартфоны, чтобы их нельзя было спутать с продукцией конкурентов, — это, безусловно, отличный маркетинговый ход, который показывает себя достаточно эффективным. Но иногда схожесть приводит к тому, что ...

Гаджеты недели 2 декабря 2019 года В этом выпуске: сверхпрочная куртка Graphene-X; очень быстрая игровая мышь Razer Viper Ultimate Hyperspeed; автоматическая зубная щетка Brush Lee, а также другие любопытные гаджеты. Graphene-X — куртка, которую не захочешь снять Куртка Graphene-X использует ...

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

[Перевод] Создание игры для Game Boy Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на https://github.com/InvisibleUp/AquaAndAshes. Как мне пришла в голову эт...

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

У некоторых инсайдеров Microsoft Edge на Chromium появился в Windows Sandbox Компания Microsoft по-прежнему не запустила публичное тестирование новой версии браузера Edge, построенной на базе Chromium, однако это может произойти уже в самое ближайшее время. Если же вы не хотите ждать, то можете установить одну из утёкших сборок браузера, ссылки на к...

Презентация приложения для проведения презентаций Здравствуйте, меня зовут Дмитрий Карловский и я иногда выступаю на конференциях, митапах, а так же с недавних пор сам вхожу в команду организаторов одного из них — PiterJS. Недавно у нас был юбилей — 40 проведённых митапов. Но вместо того, чтобы расслабиться и получать поздр...

[Из песочницы] SSEGWSW: Server-Sent Events Gateway by Service Workers Привет! Меня зовут Саша и я работаю архитектором в Тинькофф Бизнес. В этой статье хочу рассказать о том, как преодолеть ограничение браузеров на количество открытых долгоживущих HTTP-соединений в рамках одного домена при помощи service worker. Если хотите — смело пропуска...

[recovery mode] Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания....

[Перевод] Расширение mypy с помощью плагинов Добрый день, друзья. А мы продолжаем наращивать интенсивность запуска новых курсов и уже сейчас рады сообщить о том, что в конце апреля стартуют занятия по курсу «Web-разработчик на Python». В связи с этим традиционно делимся переводом полезного материала. Начнём. Известно,...

Как могли бы выглядеть регистры в 1С при наличии ООП В 1С одним из ключевых элементов системы являются регистры. Этот термин имеет свой аналог в английском языке — ledger. Он первоначально появился в бухгалтерской практике, но со временем его логика начала использоваться и в других сферах. В отличие от 1С, где регистры явля...

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

Разгон процессора в один клик: приложение Intel Performance Maximizer уже доступно пользователям Компания Intel анонсировала ПО Performance Maximizer для автоматического разгона своих процессоров в конце мая, на выставке Computex 2019, и пообещала, что оно станет доступно для использования в середине июня. Что ж, компания практически вписалась в озвученные сроки In...

G.Skill представила новые модули памяти Лидер в области оперативной памяти G.Skill добавила свою линейку два новых комплекта модулей со скоростью 4300 МГц и 4000 МГц. Модули памяти относятся к линейке Trident Z Royal. Набор емкостью 64 Гб (8х8 Гб) обеспечивает тактовую частоту 4300 МГц на чипах Samsung, тайми...

[Перевод] Многопоточность в Node.js: модуль worker_threads 18 января было объявлено о выходе платформы Node.js версии 11.7.0. Среди заметных изменений этой версии можно отметить вывод из разряда экспериментальных модуля worker_threads, который появился в Node.js 10.5.0. Теперь для его использования не нужен флаг --experimental-worke...

JSConf Budapest 2019 Привет, Хабр! Меня зовут Дмитрий Татаринцев, я работаю frontend-разработчиком в FunCorp. В конце сентября я посетил JSConf в Будапеште. Это одна из серии комьюнити-конференций, проходящих по всему миру. В своем обзоре я кратко расскажу про организацию и более подробно — пр...

[recovery mode] Как я свою онлайн игру создавал. Часть 1: Работа с сетью Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да...

Альтернатива двухшестеренчатому экструдеру B2D - 2 Исходник оптимизированного экструдера - для новогодних самоделкиных!Предшествующая частьИз доработок - оптимизирован корпус (добавлена прорезь в корпусе для облегчения сборки и регулировки).Из относительно нестандартных деталей:- регулятор прижима - винт под "шестигранник" с...

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

Chrome OS 75 получает полноценную поддержку USB устройств Компания Google всеми силами старается развивать свою собственную операционную систему Chrome OS, основанную на Linux. Изначально это был самый обычный браузер Google Chrome и больше ничего. Затем стали появляться первые нативные приложения для этой ОС. Чуть позже Google доб...

Платформа унифицированных коммуникаций от OpenVox Какой громкий заголовок, скажете вы. Новый производитель АТС на Asterisk? Не совсем, но вот оборудование достаточно свежее и интересное. Сегодня хочу рассказать вам о системе унифицированных коммуникаций Openvox, и похоже у производителя свое собственное видение об объедин...

[Перевод] Революция или эволюция Page Object Model? Всем привет! Меня зовут Артём Соковец. Хочу поделиться переводом своей статьи об Atlas: реинкарнации фреймворка HTML Elements, где представлен совершенно иной подход работы с Page Object. Перед тем, как перейти к деталям, хочу спросить: сколько обёрток для Page Object вы зн...

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

Изображение Samsung Galaxy Note 10 в чехле демонстрирует поразительное сходство его камеры с камерой Huawei P30 Несколько дней тому назад в Сети появились качественные рендеры перспективного смартфона Samsung Galaxy Note 10 – на них предстала модель с вертикальным блоком камеры, смещенным в угол. Однако на тот момент не было заметно очевидного сходство камер Galaxy Note 10 ...

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 1 Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно. Что лучше всего подходит для разработки клиентских частей веб-про...

Huawei внезапно исправила самое большое упущение в умных часах Huawei Watch GT 2 Во время анонса умных часов Huawei Watch GT 2 одним из самых больших разочарований было отсутствие в них поддержки NFC. Отсутствие такой ключевой для умных часов функции было тем более удивительно, с учётом наличия встроенного модуля в устройстве.  Теперь компания...

Инженерный подход к разработке ПО Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Требования и спецификации — пережиток прошлого? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндексе, до ...

Supply Chain Security: «If I were a Nation State...» Задумывались ли вы, сколько различных организаций, компаний, служб, людей приняли участие в создании и транспортировке вашего компьютера, роутера и любого другого устройства, которое вы используете в повседневной жизни или на работе? И чем это опасно? Если нет, то добро пож...

[Перевод] Реверс-инжиниринг клиента Dropbox TL;DR. В статье рассказывается об обратной разработке клиента Dropbox, взломе механизмов обфускации и декомпиляции клиента на Python, а также изменении программы для активации функций отладки, которые скрыты в обычном режиме. Если вас интересует только соответствующий код и ...

Movavi PDF-редактор: полный обзор программы Программ для редактирования PDF не так уж много: большая часть специализированного софта позволяет лишь открывать документы и создавать новые. Бесплатные приложения, как правило, ограничены в функциональности, а за профессиональные платные утилиты придется отдать круглую сум...

[Перевод] Обработка 40 ТБ кода из 10 млн проектов на выделенном сервере с Go за $100 Написанной мной инструмент командной строки Sloc Cloc and Code (scc), который теперь доработан и поддерживается многими отличными людьми, подсчитывает строки кода, комментарии и оценивает сложность файлов внутри каталога. Здесь нужна хорошая выборка. Инструмент подсчитывает ...

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

Все свое: туториал по созданию новых действий для UiPath RPA Данная статья – обучающий материал, который позволяет по шагам пройтись по процессу создания и публикации нового компонента для платформы UiPath RPA. Это удобно в разных случаях, например, для простой интеграции с системами компании или в ситуациях, когда компания хочет помо...

Разработчики AnTuTu выпустили приложение AI Review для тестирования возможностей ИИ у мобильных платформ На сегодняшний день многие топовые однокристальные системы для смартфонов в той или иной форме поддерживают вычисления, связанные с искусственным интеллектом. У некоторых SoC есть выделенные модули NPU, а, к примеру, у платформ Qualcomm этими задачами занимаются сразу н...

Cataclysm Dark Days Ahead, статический анализ и рогалики Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рога...

Samsung сделала приложение, которое будет работать только на Galaxy S10 5G Никто, я думаю, не станет спорить с тем, что AR (дополненная реальность) – тренд, которому производители в мире мобильной индустрии уделяют, пожалуй очень много внимания. К сожалению, в большинстве случаев это повышенное внимание приводит к созданию очередных «анимоджи», ис...

Как мы внедряли навигацию из Jetpack в боевое приложение. Доклад Яндекс.Еды В мобильных приложениях всё чаще используются deep links. Это ссылки, которые позволяют не просто перейти в приложение извне, а попасть на конкретный экран. Android-разработчик из Яндекс.Еды Владислав Кожушко объяснил, почему мы для реализации deep links внедрили навигацию и...

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

Apple собирается приобрести часть Intel Сделка Apple с Qualcomm сыграла на руку обеим компаниям. Производитель iPhone получил выгодный контракт, обеспечивающий все новые модели самыми передовыми модемами с поддержкой сетей пятого поколения, а поставщик процессоров и сотовых модулей — внушительную сумму в ви...

[Из песочницы] Делим Laravel на компоненты Привет, Хабр. Недавно получил в руки интересный проект, который, несмотря на свою простоту требовал не использовать какой-либо фреймворк. О пакетах речи не шло, поэтому было принято решение использовать привычные компоненты Laravel. Если есть необходимость в использовании оч...

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

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

Обзор браузера Edge на Chromium Всем привет, с вами Зак с портала Windows Central. Сегодня мы впервые познакомимся с новым браузером Microsoft Edge на движке Chromium. Этот проект Microsoft анонсировала в минувшем декабре. По существу, это полностью переработанный вариант браузера Edge на коде Google Chrom...

Python + OpenCV + Keras: делаем распознавалку текста за полчаса Привет Хабр. После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST). ...

[Из песочницы] Уроки по SDL 2: Урок 1 — привет, SDL 2 Всем привет! Решил, вот, посмотреть на SDL 2, но на русском ничего толкового не нашел. Решил написать свое, питаясь вдохновением отсюда. Установку SDL 2 я пропущу, а начну сразу с написания программ, итак: Ваше первое окно начнем с подключения SDL 2. #include <SDL2/SD...

[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным...

Мелкий и шустрый! Всем привет!Хочу поделиться самодельным принтером с широкой аудиторией.Имея небольшой парк принтеров и периодические заказы на печать, всегда появлялись те, кому максимально срочно нужна была какая-либо мелкая деталь. То ручка двери уаза отломалась, то шестеренка моторчика б...

[Перевод] NLog: правила и фильтры NLog: правила и фильтры В Confirmit мы используем библиотеку NLog для логирования в наших .NET-приложениях. Хотя для этот библиотеки существует документация, для меня было сложно понять, как все это работает. В данной статье я попытаюсь объяснить, как правила и фильтры приме...

[Перевод] UDB. Что же это такое? Часть 6. Модуль управления и статуса/Status and Control Module В прошлых статьях-переводах документации Cypress очень предметно рассматривался операционный автомат — Datapath. Постепенно переходим к изучению других модулей UDB, в частности — модуль управления и статуса. Читать дальше →

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

[Перевод] Такой же, как на Луне: обратный инжиниринг модуля гибридного операционного усилителя Недавно мне в руки попался таинственный электронный компонент в металлическом корпусе. От обычной интегральной схемы отличался внешним видом — был более плоский и по габаритнее. Что это такое и с чем его едят, стало понятно, после вскрытия и реверс-инжиниринга схемы. Передо ...

Тизерная картинка намекает на возможности основной камеры смартфона Xiaomi Mi 9 Xiaomi продолжает публиковать тизерные изображения своего нового флагмана – Mi 9. На этот раз появилась картинка, намекающая на возможности основной камеры. Мы знаем, что в основной камере Mi 9 применяется три датчика и три объектива. Теперь, судя по картинке, мо...

Популярные приложения на Google Play содержат уязвимости Эксперты Check Point обнаружили серьезные уязвимости в представленных на Google Play приложениях с сотнями миллионов загрузок, включая продукты Facebook и Yahoo. По словам исследователей, безопасные на первый взгляд Android-программы содержат глубинные баги, грозящие исполне...

CLRium #5 Garbage Collector: полное погружение в омут памяти 13 апреля в Санкт-Петербурге (оффлайн и онлайн) и 20 апреля — в Москве (только оффлайн) пройдет самый крупный семинар CLRium#5 за всё время его существования. До Sold-Out Питера осталось всего лишь 30 мест! А видеозаписи получат владельцы всех типов билетов. Прокопав дебри а...

Сборка чугунного скорохода на Spring Boot и AppCDS Сборка чугунного скорохода на Spring Boot и AppCDS Application Class Data Sharing (AppCDS) – фича JVM для ускорения запуска и экономии памяти. Появившись в HotSpot в зачаточном виде ещё в JDK 1.5 (2004 г.), она долгое время оставалась весьма ограниченной, да ещё и отчасти к...

[Из песочницы] Аналитика девушек с низкой социальной ответственностью (Заряжено Power BI, Qlik Sense, Tableau) Кто мы такие и какие были предпосылки проекта? Добрый день, меня зовут Лазарев Владимир, я руководитель BI — интегратора “Аналитикс Групп”. Мы делаем для бизнеса наглядные отчёты по маркетингу, продажам, финансам, логистике на базе ведущих аналитических платформ Qlik Sense, ...

Как мы делали свой движок Workflow Мы в компании DIRECTUM занимаемся разработкой ECM-системы DirectumRX. Основным элементом модуля Workflow для ECM-системы является движок. Он отвечает за изменение состояния экземпляра процесса (инстанса) по ходу жизненного цикла. Перед тем, как начать разрабатывать модуль Wo...

Magento 2: импорт продуктов прямо в базу В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматрива...

[Из песочницы] Таймлапс собственными силами с облачного сервиса видеонаблюдения IPEYE Недавно появилась задача ежедневно формировать таймлапс с пары камер видеонаблюдения, подключенных к IPEYE. Если вам интересно как с этим справился человек с минимальными знаниями питона или вы хотите мне указать на мои ошибки — добро пожаловать под кат… Читать дальше &rarr...

OMEGA — Автоматизация подсчета времени на спортивных мероприятиях Всем привет, меня зовут Сергей. Я руководитель образовательного проекта "SERVODROID". Мой проект занимается разработкой простых в повторении роботов для детей и взрослых. Сам я преподаю робототехнику в Санкт-Петербурге. Но также я спортсмен, и, одно из моих любимых спортив...

Magic Bubbles — игра для детей 0.9 Magic Bubbles — это яркая и динамичная игра для детей. Если вы хотите привлечь внимание своего ребенка или провести с ним время весело и с пользой, то добро пожаловать в Magic Bubbles! Лопайте летящие в верх пузыри, стараясь не пропустить пузыри, в которые помещены вол...

Когерентные CFP WDM (100G/200G) и их применение в системах DWDM Первые пресс релизы о появлении когерентных CFP модулей (coherent CFP optical pluggable modules) стали появляться примерно 5-6 лет назад. Тогда их использование в системах оптического уплотнения было в новинку и являлось по сути нишевым решением. Сейчас, по прошествии шест...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

Схема и использование Lerdge power module Коллеги, приветствую!Докладываю итоги разборок с монитором питания и модулем автовыключения принтера, который на просторах китайских торговых площадок обычно называется Lerdge Power Monitor.Выглядит модуль следующим образом:Подробнее...

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

Мифы и легенды SOCостроителей, или 5 заблуждений о центрах мониторинга и реагирования на кибератаки Уже завтра стартует V SOC-Форум — крупнейшее мероприятие по практикам выявления и анализа инцидентов в России. Уверен, что многие читатели этого хаба окажутся там и услышат немало профессиональных докладов по этому направлению информационной безопасности. Но помимо терминов,...

Sony рекламирует камеру 3D ToF в новых смартфонах В 2015 году компания Sony стала новым владельцем бельгийского стартапа Softkinetic, который занимался разработкой камер 3D Time of Flight (3D ToF) под названием DepthSense. На этой неделе компания опубликовала видеоролик под названием Life with DepthSense, в котором де...

[Из песочницы] Стратегии локализации контента Настройка локализации контента и, следовательно, настройка языка интерфейса продукта таким образом, чтобы правильный язык отображался для правильного пользователя, чрезвычайно важен для каждой цифровой платформы. Предпосылки и предварительные соображения Цифровые проекты, ...

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

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

Мы пришли с миром от всего человечества 20 июля 1969 в 20:17:39 по времени UTC, которое в то время называлось Гринвичским, лунный модуль Eagle корабля Apollo-11 совершил мягкую посадку на поверхность Луны. По возвращении на Землю 24 июля 1969 экипаж (командир Нил Армстронг, пилот лунного модуля Баз Олдрин и пилот...

Как сделать камеру Galaxy S10 еще лучше Уже не нуждающийся в представлении отличный софт для камер от компании Google способен создавать фотографии потрясающего качества всего на один модуль даже в самых сложных условиях съемки. Благодаря неоценимой работе пользователей ресурса XDA под никами “cstark27” и “Arnova...

Неправильная классификация подводных навигационных систем «на пальцах» Приветствую вас, глубокоуважаемые! «Гидроакустик гидрофон пропил» © С прошлых наших статей ситуация коренным образом не изменилась: у нас по прежнему большая часть мирового пруда океана не исследована, а значит нужно усилить напор. Итак, усиливаю как умею. Сегодня я подробн...

Опубликованы живые фото Xiaomi Mi CC9 Pro со 108-Мп камерой Итак, очередная (какая уже по счету за сегодня) новость о смартфоне Xiaomi Mi CC9 Pro и его 108-Мп камере. Во-первых, появились реальные фотографии самого смартфона – как передней его части, так и задней, на которой позирует основная камера с пятью модулями и двумя вспышками...

3D-печать армированными материалами: 3DGence представил 4-й сменный модуль для INDUSTRY F340 Мы уже рассказывали об инновационном промышленном 3D-принтере в линейке известного польского производителя 3DGence – 3DGence Industry F340. Напомним, модульная система 3 DGence INDUSTRY F340 позволяет легко, без использования каких-либо инструментов, менять печатающие модули...

Опенсорсный чип OpenTitan заменит проприетарные корни доверия Intel и ARM Некоммерческая организация lowRISC при участии Google и других спонсоров 5 ноября 2019 года представила проект OpenTitan, который называет «первым опенсорсным проектом по созданию открытой, качественной архитектуры микросхем с корнем доверия (RoT) на аппаратном уровне». O...

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

Redmi K30 станет первым смартфоном с модулем на 64 Мп По слухам, смартфон Redmi K30 станет первым в мире смартфоном который получит новый 64 Мп датчик Sony IMX686. Redmi K30 будет ещё иметь три дополнительных сенсора на 8 Мп + 13 Мп + 2 Мп. Смартфон выйдет в двух версиях: с поддержкой 5G-сети и без неё. Redmi K30 оснастят 6.6-...

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

Tоп-10: лучшие доклады HolyJS 2019 Piter Этой весной прошла HolyJS 2019 Piter — большая конференция для JavaScript-разработчиков. Вместе с программным комитетом конференции мы составили для вас список лучших докладов, посвящённых следующим темам: Алгоритмы на графах; Протокол Chrome DevTools и Puppeteer; Статичес...

Телефонные опросы и поиск в CRM в 3CX CFD, новый плагин WP-Live Chat Support, обновление приложения для Android За последние пару недель мы представили несколько интересных обновлений и один новый продукт. Все эти новинки и улучшения соответствуют политике 3CX по созданию на базе UC АТС доступного мультиканального колл-центра.    Обновление 3CX CFD — компоненты Опрос и Поиск в CRM Све...

[Из песочницы] Система генерации ландшафта лабиринта с улучшенным визуальным реализмом [перевод статьи Jinmo Kim] Привет, Хабр! В этой публикации я расскажу о статье автора Jinmo Kim: "Maze Terrain Authoring System in Immersive Virtual Reality for New Visual Realism". Она была опубликована 4.04.2019. Полный текст статьи можно посмотреть здесь. Краткое описание системы В стать...

Компания LG Innotek представила первый в мире модуль связи 5G для автомобилей Южнокорейская компания LG Innotek представила автомобильный модуль связи, поддерживающий сети 5G. По словам производителя, это первый в мире модуль 5G для автомобилей. Он построен на элементной базе Qualcomm. Конструкция модуля включает модем, память и радиочастотные це...

Платформа TruePlay представила блокчейн-решения для онлайн-гемблинга и объявила о партнерстве с Curaçao eGaming Команда гемблинговой платформы TruePlay представила свой продукт на седьмой ежегодной конференции BlockchainUA в Киеве.   Глава разработки TruePlay Александр Анциферов рассказал об основных проблемах онлайн-гемблинга, почему именно блокчейн способен их решить и как эти ...

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

Microsoft работает над поддержкой Timeline в Windows 10 для нового Edge Microsoft Edge на базе Chromium – это новое явление на рынке браузеров, и, несмотря на то, что он все еще находится в бета-версии, он был загружен более миллиона раз пользователями Windows и macOS.Microsoft открыто говорит о разработке нового Edge, а также вносит публичный в...

Даб-даб 2019: новинки WWDC и мои впечатления Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. Традиционно мы каждый год с коллегами проводим неделю на WWDC. В статье я делюсь своими впечатлениями с конференции: под катом не только важные обновления и обзор сессий, но и немно...

[Из песочницы] Хранение и автоматическая сортировка фото и других файлов. Работа с файлохранилищем на базе NAS Synology Давно хотел написать про то как я храню свои файлы, как делаю бэкапы, но все никак не доходили руки. Недавно тут появилась статья, в чем-то похожую на мою но с другим подходом. Сама статья. Я уже много лет пытаюсь найти идеальный для себя метод для хранения файлов. Думаю я ...

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

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

GPS часы на Arduino Здравствуйте меня зовут Дмитрий сегодня я расскажу как я создал GPS часы. В конце статьи будет ссылка на прошивку и CAD 3D модель. Читать дальше →

Gigabyte представила модули памяти с функцией автоматического разгона Gigabyte представила функцию автоматического разгона Memory Boost. Эта функция используется в новых наборах 16GB второго поколения Aorus RGB Series. Владельцы материнских плат Aorus Z390 и Aorus X570 смогут повысить частоту памяти с помощью функции автоматически до 3733 МГц....

Социальная инженерия с помощью программ Universal Windows Platform (APPX) TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почто...

Team Group запускает модуль Team Elite 32 ГБ DDR4-2400 Team Group выпустила свой первый модуль памяти объемом 32 ГБ, Team Elite TED432G2400C1601. Это модуль DIMM двойного ранга с восемью 32-разрядными микросхемами DRAM, с номинальной тактовой частотой DDR4-2400, временем 16-16-16-39 и напряжением модуля 1,20 В. Модуль имеет прос...

Лейся, Fanta: новая тактика старенького Android-трояна Однажды вы захотите продать что-нибудь на Avito и, выложив подробное описание своего товара (например, модуль оперативной памяти), получите вот такое сообщение: Читать дальше →

Злоумышленники подменили установщик пакетного менеджера PEAR Разработчики PEAR (PHP Extension and Application Repository, репозиторий расширений и приложений PHP) сообщили о взломе своего веб-сервера. Согласно официальному заявлению, проникновение произошло около полугода назад. Злоумышленникам удалось внести изменения в файл для уста...

Huawei показала и рассказала, как производится P30 Pro Обычно производственный процесс любого знакового смартфона, особенно флагманского, — тайна за семью печатями. Но иногда производитель все же рассказывает о том, как производятся устройства — с акцентом на высокое качество продукта и отлаженные производственн...

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

Ассортимент Thermaltake пополнил набор модулей памяти TOUGHRAM RGB White Edition DDR4-3600 Компания Thermaltake объявила о выпуске набора модулей памяти Thermaltake TOUGHRAM RGB DDR4-3600. Он включает два модуля суммарным объемом 16 ГБ. В описании модулей производитель упоминает 10-слойные печатные платы, позолоченные разъемы и полноцветную подсветку на 10 а...

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

PNI Sensor выпускает модуль ориентации TRAX2 Компания PNI Sensor, более 30 лет занимающаяся выпуском датчиков для точного определения местоположения и отслеживания движения, а также интеграцией сенсорных подсистем, объявила о выпуске нового модуля ориентации TRAX2. По словам производителя, TRAX2 — единственн...

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 2 Сегодня мы публикуем вторую часть перевода материала, который посвящён использованию JS-модулей в продакшне. → Кстати, вот первая часть статьи. Читать дальше →

Google Camera получила Dark Mode и прочие улучшения Компания Google выпустила обновления за версией 6.2 для своего приложения Google Camera, после установки которого пользователи получают полноценный ночной режим и прочие улучшения. Приложение автоматически будет переходить в ночной режим, когда включен режим экономии за...

Samsung интегрирует OneDrive в приложение Android Gallery В дополнение к предварительной установке приложения Microsoft Your Phone на Galaxy Note 10 компания Samsung также объявила, что в приложении Фотогалереи, предварительно загруженное на телефоны Samsung, добавится новая опция для синхронизации файлов с OneDrive.Вскоре будет вк...

Организуем ML-проект с помощью Ocean Вступление За годы разработки ML- и DL-проектов у нашей студии накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить ...

Самыми защищенными Android-версиями приложений для покупки одежды признаны MANGO, ASOS и SHEIN Популярность сервисов для покупки одежды через мобильные приложения с каждым годом набирает обороты. По оценкам экспертов аналитического агентства Data Insight, за первые 3 квартала 2018 года онлайн-ретейлеры одежды и обуви практически половину своей прибыли (47%) получ...

[Из песочницы] Ускоряем сборку веб-приложения с webpack По мере того как ваше приложение развивается и растёт, увеличивается и время его сборки — от нескольких минут при пересборке в development-режиме до десятков минут при «холодной» production-сборке. Это совершенно неприемлемо. Мы, разработчики, не любим переключать контекст в...

Смартфоны Huawei начали автоматически удалять загруженные из Twitter картинки в Китае Компания Huawei сейчас находится в центре торговой войны между Китаем и США. Помимо сложностей в ряде стран помимо США, некоторые из решений компании вызвали критику и от китайских пользователей.  После спорного решения о блокировке сторонних лаунчеров в EMUI 9, с...

ITIL Intermediate: Release, control, validation — много счастливых релизов Основная причина, по которой необходимо обратить внимание на модуль Intermediate — Release, Control and Validation — сводится к одному слову: DevOps. DevOps стал новейшим способом описания совместной работы Agile и бережливого производства (Lean), но по...

Автоматизация тестирования платных сервисов на iOS Для тех, кто интересуется темой автоматизации на iOS, у меня две новости — хорошая и плохая. Хорошая: в iOS-приложении для платных сервисов используется только одна точка интеграции — in-app purchases (встроенные в приложение покупки). Плохая: Apple не предоставляет никаких ...

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

Характеристики и цену Xiaomi Mi 9, а также особенности Xiaomi Mi 9 Explorer Edition слили за считанные дни до анонса На сайте Slashleaks опубликовали фотографии официального рекламного буклета, на одной из которых можно рассмотреть модель Xiaomi Mi 9 Explorer Edition. Напомним, Вэн Чуань (Wang Chuan), который является одним из основателей Xiaomi, вице-президентом и главой отдела кадр...

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

Функции обратного вызова в скриптах Иногда наш COM‐компонент должен отправить клиенту уведомление или вызвать функцию обратного вызова. Схема простая: компонент публикует интерфейс, клиент создаёт унаследованный от интерфейса объект и передаёт его компоненту, компонент в свою очередь вызывает функции интерфейс...

HMD представила флагманский смартфон Nokia с пятью модулями основной камеры (ВИДЕО) Nokia 9 PureView получил два цветных и три монохромных модуля основной камеры. Все они имеют разрешение 12 Мп и делают снимки с разной выдержкой, которые затем объединяются в одну фотографию с высокой детализацией.

[Перевод] Истории лунного компьютера. Часть 2 Оборудование Hybrid Simulation Lab. На фото показана панель управления SDS 9300, который, совместно с несколькими аналоговыми компьютерами, отрабатывал симуляции командного модуля и лунного модуля. За годы до появления Apollo 11, когда разрабатывалась система управления, ...

Линейку HyperX Predator пополнили наборы модулей памяти DDR4-4266 и DDR4-4600 суммарным объемом 16 ГБ HyperX, игровое подразделение компании Kingston Technology, объявило о выпуске двух новых высокоскоростных наборов памяти Predator DDR4. Входящие в них модули объемом 8 ГБ работают на эффективных частотах 4266 МГц и 4600 МГц. Они предложны на наборах по две штуки. Во вн...

В очередной версии Google Chrome закрыли 60 уязвимостей Компания Google выпустила обновление для своего браузера Chrome. В версии 73 исправили 60 багов, ни один из которых не является критическим. Недавно обнаруженную 0-day, которая давала преступникам возможность выполнить произвольный код, уже закрыли в версии 72.0.3626.121. Ch...

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

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

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

[Из песочницы] Восстание машин началось. Google Play Небоскребы, небоскребы, стены, лифты, этажи, расскажу я вам, ребята, про восстание машин… Сцена из КВН Я — самый настоящий инди-разработчик и это моя страсть. Начал свой путь 4.5 года назад, опубликовав свое первое приложение в Google Play. Мной была сделана вся работа по ...

Камера Samsung Galaxy S11 получила новый модуль Так будет выглядеть Samsung Galaxy S11e Известный сетевой информатор под ником Ice Universe, который часто делится эксклюзивной информацией о новинках мобильной индустрии, прокомментировал рендеры Samsung Galaxy S11 и Samsung Galaxy S11e, появившиеся в Сети на прошлой ...

Microsoft переносит прокрутку в стиле Edge на Chromium в Windows 10 Ранее в этом году Microsoft выпустила свой долгожданный браузер Edge на базе Chromium для Windows 10, Windows 7 и macOS. Chromium Edge предлагает такую ​​же высокую производительность, как и предыдущий UWP Edge от Microsoft, и компания также работает над усовершенствованиями...

5 принципов здравого смысла для создания cloud-native apps «Облачно-ориентированные» (cloud native) или просто «облачные» приложения создаются специально для работы в облачных инфраструктурах. Обычно они строятся как набор слабо связанных микросервисов, упакованных в контейнеры, которые, в свою очередь управляются облачной платформо...

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

[Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows (Доп.) Приветствую, читатель. В данной публикации речь пойдет о перспективном и достаточно молодом игровом движке, который незаслуженно остался в тени таких гигантов, как Unity или Unreal Engine. Разработчиками является объединение энтузиастов под руководством Adam's Lair. Как...

DOOGEE S90 — первый модульный смартфон в противоударном корпусе вышел на рынок DOOGEE S90 имеет модуль ночного видения, модуль-аккумулятор на 5000 мАч, мощный цифровой walkie-talkie-модуль и модуль – профессиональный геймпад.

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

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

[Перевод] Различия Fluent и gettext Продолжая дискуссию о преимуществах Fluent перед привычным gettext, публикую официальную позицию создателей Fluent в переводе. Gettext — это система локализации, глубоко укоренившаяся в проект GNU и сопутствующие ему архитектурные решения. Fluent Project рассматривает gette...

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

Основные итоги сентябрьского SAP TechEd SAP стремится упростить разработку приложений на своей облачной платформе и помогает клиентам получить максимум полезной отдачи от средств машинного обучения. В конце сентября в Лас-Вегасе прошла конференция SAP TechEd &mdash; первое из серии трех масштабных мероприят...

Три модуля камеры против четырех: Huawei P30 и Honor 20 Pro позируют на одной картинке Мы не раз писали о смартфонах Honor 20 и Honor 20 Pro – немного упрощенных, но в то же время и более доступных версиях флагманов Huawei P30 и Huawei P30 Pro. Они многое заимствуют у своих старших братьев, но будут и различия. Как раз отличия в компоновке основной ...

Аутентификация по OTP на Web-сервере Apache В этом посте мы расскажем о том, как настроить аутентификацию по одноразовому паролю на Apache при помощи JAS и Radius. JAS (JaCarta Authentication Server) – автономный высокопроизводительный сервер аутентификации с поддержкой OTP- и U2F-токенов, а также программных токенов ...

Полная капитуляция Nvidia. Компания добавит мониторам с G-Sync поддержку Adaptive-Sync В начале года компания Nvidia сделал то, чего от неё мало кто ожидал. Она добавила своим видеокартам поддержку Adaptive-Sync. Это позволило использовать видеокарты GeForce с мониторами без поддержки G-Sync, но с поддержкой Adaptive-Sync. При этом Nvidia создала список ...

MIRO — открытая платформа indoor-робота. Часть 5 — Программная составляющая: ARDUINO (AVR), лезем «под капот» В этот раз заглянем чуть глубже в реализацию некоторых ключевых методов библиотеки для ARDUINO (AVR), отвечающих за перемещение робота MIRO. Эта часть будет интересна всем, кто задавался вопросом о том, как управлять линейной и угловой скоростью робота на ARDUINO, оснащенн...

Запускаем инспекции IntelliJ IDEA на Jenkins IntelliJ IDEA на сегодня обладает наиболее продвинутым статическим анализатором кода Java, по своим возможностям оставившим далеко позади таких «ветеранов», как Checkstyle и Spotbugs. Её многочисленные «инспекции» проверяют код в различных аспектах, от стиля кодирования до х...

[Перевод] Серверный рендеринг в бессерверной среде Автор материала, перевод которого мы публикуем, является одним из основателей проекта Webiny — бессерверной CMS, основанной на React, GraphQL и Node.js. Он говорит, что поддержка многоарендной бессерверной облачной платформы — это дело, которому свойственны особенные задачи....

IT Релокация. Из Бангкока в Сидней Доброго времени суток дорогой читатель. Если ты знаком с моей историей переезда в Бангкок, то, я думаю, тебе будет интересно послушать еще один мой рассказ. В начале апреля 2019 года я переехал в самый лучший город на Земле — Сидней. Занимай свое уютное кресло, завари теплы...

Ультратонкий игровой ноутбук Asus ROG Zephyrus S GX701 оснащен 3D-картой Nvidia GeForce RTX 2080 Max-Q В преддверии выставки CES 2019 компания Asus представила ультратонкий игровой ноутбук ROG Zephyrus S GX701. Этот компьютер на процессоре Intel Core i7-8750H может быть оснащен 3D-картой Nvidia GeForce RTX 2080 Max-Q. Дисплей размером 17,3 дюймов с рамками шириной 6,9 м...

Представлена материнская плата Colorful CVN-Z390M Gaming V20 Компания Colorful пополнила ассортимент материнских плат моделью CVN-Z390M Gaming V20, которая построена на наборе системной логики Intel Z390. Новинка поддерживает процессоры Intel восьмого и девятого поколения с разъемом LGA 1151 и ориентирована на создание недорогих систе...

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

[Перевод] Тестирование PostgreSQL с HugePages в Linux Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Главное — выбрать правильную конфигурацию для вашего приложения и рабочей нагрузки. Как и любой другой базе данных, PostgreSQL необходима оптимальная настройка ядра...

Honor 20 и Honor 20 Pro получили модули Bluetooth с дальностью действия до 200 метров Источник опубликовал ранее неизвестную подробность об аппаратных возможностях смартфонов Honor 20 и Honor 20 Pro, которые были представлены на прошлой неделе. Смартфоны оснащены модулем беспроводной связи Bluetooth, который получил неофициальное название Super Bluetooth...

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

Модули памяти Thermaltake Toughram RGB DDR4 работают на частоте до 3600 МГц Компания Thermaltake официально представила модули оперативной памяти Toughram RGB DDR4 с эффектной многоцветной подсветкой, рассчитанные на настольные компьютеры игрового класса. В серию вошли изделия с частотой 3000 МГц, 3200 МГц и 3600 МГц. Все они работают при напряжении...

Как бесплатно смотреть кино и сериалы онлайн на iPhone и iPad Каждый владелец iPhone наверняка хоть раз задумывался о просмотре фильмов или сериалов на своем смартфоне. Но загружать на устройство — слишком долго, через браузер смотреть неудобно, а приложений в App Store, где можно посмотреть фильмы в наилучшем качестве, не так у...

Долгожданный шаг в сторону сложно структурированных документов (+видео) Этой статьей на Хабре мы с большим удовольствием анонсируем вам, друзья, что от шаблонных жестко структурированных документов мы перешли к распознаванию различных сложно структурированных. А это, поверьте, совсем другая песня! За деталями добро пожаловать под кат. Читать да...

Генерация кода для бекенда. Что генерировать, как и зачем? Я хочу показать в этой статье как у нас в фирме генерируется бекенд (и немного фронтенд) код, зачем вообще это нужно и как это лучше делать. Что именно будем генерировать — не так важно. Важно что мы опишем 3 вида объектов на основе которых сгенерируем взаимодействие фронте...

Как увеличить размер текста на сайтах в Google Chrome на Android У каждого из нас может быть масса поводов увеличить размер текста в браузере – от сбившейся верстки сайта до плохого зрения. Для этого почти в каждом смартфоне предусмотрен специальный мультитач-жест, который называется pinch-to-zoom. Однако его основной недостаток состоит ...

[Из песочницы] Разработка многозадачной микроядерной ОС — Планировщик После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика. Честно говоря я долго думал стоит ли начинать писать статьи ...

SonarQube и IntelliJ IDEA: правильная интеграция SonarQube — отличный инструмент для внедрения статического анализа кода в процесс разработки ПО. Он поддерживает как используемую у нас в компании Java, так и большое количество других языков программирования. На данный момент этот инструмент плотно вошёл в нашу жизнь, сле...

Новые модули флеш-памяти Micron, соответствующие спецификации UFS 2.1, предназначены для автомобильной электроники Компания Micron Technology представила новые модули флеш-памяти NAND, соответствующие спецификации UFS 2.1. Они предназначены для автомобильной электроники. По словам производителя, новая память обеспечивает быструю загрузку системы и найдет применение в информационно-р...

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