Социальные сети Рунета
Четверг, 25 апреля 2024

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

[Из песочницы] Опыт установки Apache Airflow на Windows 10 Преамбула: волею судьбы из мира академической науки (медицины) я попала в мир информационных технологий, где мне приходится использовать свои знания о методологии построения эксперимента и стратегиях анализа экспериментальных данных, однако, применять новый для меня стек тех...

Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже *Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью. В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — ...

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

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

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

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

[Перевод] Руководство по использованию pandas для анализа больших наборов данных При использовании библиотеки pandas для анализа маленьких наборов данных, размер которых не превышает 100 мегабайт, производительность редко становится проблемой. Но когда речь идёт об исследовании наборов данных, размеры которых могут достигать нескольких гигабайт, проблемы...

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

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

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

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

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

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

[Перевод] Jetpack Compose Jetpack Compose это отдельный набор инструментов разработанный для упрощения разработки UI. Он соединяет модель реактивного программирования с лакончностью и лёгкостью использования языка программирования Kotlin ПРИМЕЧАНИЕ: Jetpack Compose в настоящее время находится в ст...

Представлен интерфейс MIPI CSI-2 v3.0 Международная организация MIPI Alliance, разрабатывающая и продвигающая спецификации интерфейсов, используемых в мобильной и смежных отраслях, сегодня объявила о значительных усовершенствованиях в интерфейсе MIPI CSI-2. MIPI CSI‑2 (Camera Serial Interface-2...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

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

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

Об open-source реализациях хэш-функции ГОСТ Р 34.11-2012 и их влиянии на электронную подпись ГОСТ Р 34.10-2012 В свое время реализация отечественных криптографических алгоритмов в библиотеке libgcrypt очень меня вдохновила. Стало возможным задействовать эти алгоритмы и в Kleopatra и в Kmail и в GnuPg в целом, рассматривать библиотеку libgcrypt как алтернативу openssl с ГОСТ-ым engine...

[Перевод] ZIO & Cats Effect: удачный союз Cats Effect стал своего рода «Reactive Streams» для функционального Scala-мира, позволив объединить всю разнообразную экосистему библиотек вместе. Многие отличные библиотеки: http4s, fs2, doobie — реализуются только на базе тайп классов из Cats Effect. А библиотеки типа ZIO...

Обработка системных вызовов посредством LD_PRELOAD с единой точкой входа Делая пере-реализацию QInst на LLVM, я столкнулся с такой проблемой: QEMU в режиме эмуляции одного процесса естественным образом перехватывает все «гостевые» системные вызовы. В итоге плагин инструментации имеет единую точку входа для их предобработки, где можно по номерам S...

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

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

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

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

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

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

Нахождение объектов без учителя (Unsupervised Object Detection) Одна из важнейших задач в машинном обучении — детектирование объектов (Object Detection). Недавно был опубликован ряд алгоритмов машинного обучения основанных на глубоком обучении (Deep Learning) для детектирования объектов. Эти алгоритмы занимают одно из центральных мест ...

Настройка vscode под stm32 на примере отладочной платы stm32f429i-disco Всем привет! Сегодня рассмотрим настройку удобной и красивой среды разработки для программиста микроконтроллеров с помощью набора полностью бесплатных инструментов разработки. Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop. Подраз...

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

Сравнение компараторов для синхронизации схем и данных баз данных MS SQL Server Описание общей потребности в синхронизации изменений При работе с базами данных часто приходится решать проблему синхронизации изменений. Если в компании используется всего одна промышленная среда, то в дополнение к ней требуется как минимум еще одна дополнительная среда для...

Как настроить Linux для входа в домен с использованием алгоритмов ГОСТ Введение Протокол Kerberos 5 сейчас активно используется для аутентификации. Особенностью данного протокола является то, что он осуществляет аутентификацию, базируясь на трех китах: Симметричное шифрование Хеширование ЭЦП Третья доверенная сторона Начиная с пятой версии п...

Optlib. Реализация генетического алгоритма оптимизации на Rust В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к к...

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

[Перевод] Замена EAV на JSONB в PostgreSQL TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах. Введение Приведем классический пример, наверное, одного из старейших вариантов использования в мире реляционных БД (база данных): у нас есть сущность, и необходимо сохрани...

[Перевод] Монада «Maybe» через async/await в C# (без Task-oв!) Обобщенные асинхронные типы возвращаемых значений — это новая возможность появившаяся в C# 7, которая позволяет использовать не только Task в качестве возвращаемого типа асинхронных (async/await) методов, но также и любые другие типы (классы или структуры), удовлетворяющие ...

[Из песочницы] Особенности HttpUrlConnection из java.net Здравствуйте, сегодня постараюсь рассказать о том, как можно отправить запрос и прочитать ответ от HTTP сервера, используя URLConnection из библиотеки JRE. Сейчас изучаем Java в онлайн режиме. Вся наша команда использует Slack для работы и общения. Заинтересовала возможнос...

Еще раз о passport.js Недавно мне передали на поддержку проект на express.js. При изучении кода проекта я обнаружил немного запутанную работу с аутентификацией/авторизацией которая базировалась, как и 99,999% случаев, на библиотеке passport.js. Этот код работал и следуя принципу «работет — не тро...

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

Основные понятия стандартной библиотеки С++ Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем. Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека S...

Новые ключевые слова в Java В ближайшем будущем в языке Java появятся новые фичи, над которыми сейчас идет работа в рамках проектов Valhalla, Panama и Loom. Расширение языка — дело непростое, тем более — языка, в котором акцент делается на обратную совместимость; поэтому для того, чтобы их интеграция в...

Система управления проектами по модели Open Core в госсекторе Продолжаем рассказывать вам об опенсорсных продуктам реализованных на JS фреймворке — IONDV. Framework. Сегодня поговорим о системе управления проектами, которая была одним из наших первых масштабных проектов и которую изначально мы реализовали для правительства Хабаровского...

Objectives and Key Results: инструкция по применению Всем привет! Меня зовут Егор, я руковожу кластером App Platform в Авито. Мои команды в основном занимаются разработкой внутренних продуктов, инструментов и процессов — тем, что принято называть платформенной разработкой. Год назад я рассказывал в этом блоге, как мы внедрили ...

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

KOST: что входит в новый стек технологий для разработки облачных приложений Рассказываем о его компонентах и перспективах. / фото Gozha Net Unsplash Почему появился новый стек Существует множество стеков для разработки программного обеспечения. Один из наиболее известных — LAMP (Linux, Apache HTTP server, MySQL, PHP). На нем построен сайт «Википед...

ML на Scala с улыбкой, для тех, кто не боится экспериментов Всем привет! Сегодня будем говорить о реализации машинного обучения на Scala. Начну с объяснения, как мы докатились до такой жизни. Итак, наша команда долгое время использовала все возможности машинного обучения на Python. Это удобно, есть много полезных библиотек для подг...

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

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

Почему не 1С? Совсем недавно мы опубликовали статью с описанием проблем одной из самых популярных технологий, используемых в IT, и на наше удивление она вызвала достаточно живой интерес (во всяком случае для технической статьи). Поэтому мы решили на этом не останавливаться, и сегодня мы...

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

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

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

Создаем отдел джунов в помощь основным командам, используя лишь Slack, Jira и синюю изоленту Почти вся команда разработки Skyeng, состоящая из более чем 100 человек, работает удаленно и требования к специалистам всегда были высоки: мы искали синьоров, fullstack-девелоперов и мидлов. Но в начале 2019 года мы впервые наняли трех джуниоров. Сделано это было по нескол...

[Перевод] SMAA: улучшенное субпиксельное морфологическое сглаживание Данная статья основана на журнале Хорхе Хименеса, Хосе Эчеварриа, Тиаго Соуса и Диего Гутьерреса. Их демо реализации SMAA можно посмотреть здесь (файл .exe). На моём GTX 960 2GB оно работает вполне нормально. Старые способы сглаживания (антиалиасинга) Долгие годы стандарт...

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

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

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

Запускаем OpenVPN в Докере за 2 секунды Привет, хабровчане! Сталкивались ли вы когда-либо с ситуацией, когда очень хотелось бы виртуально перенестись в другой город, страну или на другой континет? У меня такая необходимость возникает достаточно часто, поэтому возможность иметь свой VPN сервер, который можно запуст...

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

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

[Перевод] KlusterKit KlusterKit: набор инструментов с открытым исходным кодом для упрощения деплоев Kubernetes и работы в физически изолированных локальных средах Сегодня мы с радостью объявляем, что Platform9 открывает исходные коды Klusterkit, набора из трех инструментов, по лицензии Apache v...

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

[Перевод] Big O Примечание. Сокращенный перевод, скорее пересказ своими словами. UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах». Big O нотация нужна для описания сложности алгоритмов. Для этог...

[Перевод] Python как предельный случай C++. Часть 2/2 Продолжение. Начало в «Python как предельный случай C++. Часть 1/2». Переменные и типы данных Теперь, когда мы окончательно разобрались с математикой, давайте определимся, что в нашем языке должны означать переменные. В С++ у программиста есть выбор: использовать автоматичес...

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

[Из песочницы] SVG индикатор загрузки на Vue.js Привет! Учусь на front-end, и параллельно, в учебном проекте, разрабатываю SPA на Vue.js для back-end, который собирает данные от поискового бота. Бот нарабатывает от 0 до 500 записей, и я должен их: загрузить, отсортировать по заданным критериям, показать в таблице. Ни back...

[Перевод] 26 рекомендаций по использованию типа var в Java The Java Local Variable Type Inference (LVTI) или кратко — тип var (идентификатор var — это не ключевое слово, а зарезервированное имя типа) был добавлен в Java 10 с помощью JEP 286: Local-Variable Type Inference. Являясь 100% функцией компилятора, она не влияет на байт-код...

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

Korg Krome EX 88 – старшая модель обновленной серии синтезаторов Krome Korg выпустили обновленную серию синтезаторов Krome. В новую линейку вошли три инструмента: EX 88, EX 73, EX 61. По сравнению с прошлым поколением, синтезаторы получили новые корпуса с переработанным дизайном и расширенную библиотеку звуков.Старшая модель EX 88 имеет взвешен...

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

[Перевод] Структура данных B-дерево Всем привет! Мы запустили новый набор на курс «Алгоритмы для разработчиков» и сегодня хотим поделиться интересным переводом, подготовленным для студентов данного курса. В деревьях поиска, таких как двоичное дерево поиска, AVL дерево, красно-чёрное дерево и т.п. каждый узе...

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

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

[Перевод] Массивный набор трёхмерных данных помогает роботам разбираться в устройстве вещей PartNet – новая семантическая база данных повседневных объектов, выводящая степень понимания роботами окружающего мира на новый уровень В базе содержится не менее 26 671 3D-модели из 24 категорий объектов, каждая из которых снабжена подробной трёхмерной информацией. Одна и...

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

Xiaomi выпустила Mint Keyboard с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

[Из песочницы] Fish Redux — новая Redux библиотека для Flutter В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter. Однако, при разработке крупных приложений, немного больших,...

[Перевод] Обзор Python-пакета Datatable «Пять экзабайт информации создано человечеством с момента зарождения цивилизации до 2003 года, но столько же сейчас создаётся каждые два дня». Эрик Шмидт Datatable — это Python-библиотека для выполнения эффективной многопоточной обработки данных. Datatable поддерживает наб...

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

Ограничение скорости обработки запросов, или как не устроить DDoS-атаку на своего клиента Иногда при разработке highload-продукта возникает ситуация, когда надо обработать не максимально большое количество запросов, а наоборот — ограничить количество запросов в единицу времени. В нашем случае это количество отправляемых push-уведомлений конечным пользователям. По...

Xiaomi выпустила клавиатуру Mint с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

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

Hongmeng — имя той самой операционной системы Huawei, которая может заменить Android Сегодня ночью Google приостановила бизнес с Huawei. Из-за этого смартфоны компании теперь не будут получать обновления ОС (не путать с обновлениями EMUI), а новые смартфоны не смогут получить сервисы Google и магазин Google Play. Ранее глава Huawei заявлял, что у компа...

Надстройка для Excel, облегчающая установку фильтров при работе с кубами (VBA) Как известно, из коробки Excel не позволяет устанавливать фильтры по списку значений для сводных таблиц, а это ведь такая нужная вещь! Как отфильтровать товары по сотне кодов, а потом по другой сотне? Есть, конечно, способы, но все это не то… Или, например, установить для к...

[Перевод] Ускоряем JavaScript-код с использованием типа данных Set Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что многие JavaScript-разработчики пользуются, в основном, такими типами данных, как Number, String, Object, Array и Boolean. В большинстве случаев этого вполне достаточно. Но если нужно сдела...

[Из песочницы] Typescript и react Разработка на javascript иногда становится похожа на работу детектива. Как понять чужой код? Хорошо, если разработчик обладает тонким искусством называть переменные так, чтобы другие поняли суть. А как быть, если члены команды все таки не всегда способны понять замысел своег...

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

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

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

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

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

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

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

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

Тime-Of-Flight: технология, которая может совершить революцию в мобильной фотографии Наращиванием мощностей железа смартфонов уже никого не удивишь. Прошли те времена, когда дополнительными «гигабайтами и гигагерцами» можно было заинтересовать новую аудиторию. И поэтому производители смартфонов вкладываются в разработку инновационных технологий. Н...

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

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

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

Анализ кода ROOT — фреймворка для анализа данных научных исследований Пока в Стокгольме проходила 118-я Нобелевская неделя, в офисе разработки статического анализатора кода PVS-Studio готовился обзор кода проекта ROOT, используемого в научных исследованиях для обработки больших данных. Премию за такой код, конечно, не дашь, а вот подробный обз...

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

К вопросу о преобразованиях и прочих операциях Синяя Гусеница: А ну нас-то не собьешь. Мы себе сидим, знаем: ждут нас превращения. А что? А ничего! Сидим, курим, ждем… Алиса- кукла: Чего? Синяя Гусеница: Чего, чего! Превращений. Дом — в дым, дым- в даму, а дама — в маму. Вот так-то. Не мешайте, не заскакивайте вперед, а ...

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

Практическое применение трансформации AST-деревьев на примере Putout Введение Каждый день при работе над кодом, на пути к реализации полезного для пользователя функционала, становятся вынужденные (неизбежные, либо же просто желательные) изменения кода. Это может быть рефакторинг, обновление библиотеки или фреймворка до новой мажорной версии, ...

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

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

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...

[Перевод] Убил ли Linux коммерческий Unix? Продажи коммерческого Unix падают, будто с обрыва. За этим драматическим спадом должно что-то стоять. Убил ли Linux своего предка, став прекрасной ему заменой, будто реализовав "Вторжение похитителей тел" в мире операционных систем? Начало Unix Первый выпуск Unix состоялс...

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

[Перевод] Что происходит, когда AI может спросить мозг — что он хочет видеть? Эти изображения, полученные с помощью алгоритма искусственного интеллекта под названием XDREAM могут стимулировать определенные нейроны гораздо лучше чем любая естественная картина. В апреле 2018 года, в Гарвардской лаборатории, обезьяне (по имени Ринго) показывали странны...

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

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

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

VueJs + VueRouter + modal. Очередной велосипед Добрый день. В этой статье я разберу способ, который позволяет при смене адреса показывать модальное окно для наших нужд. Я знаю, что есть собственное решение для компонента «modal» на официальном сайте. Вдобавок к этому на Хабре есть много других статей, посвященных теме мо...

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

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

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

[recovery mode] Руководство: Thymeleaf + Spring. Часть 1 Оригинал документации В этом руководстве объясняется, как Thymeleaf может быть интегрирован с Spring Framework, особенно (но не только) Spring MVC. Обратите внимание, что Thymeleaf имеет интеграции для версий 3.x и 4.x Spring Framework и выше, предоставляемые двумя отдель...

hellOGL: OpenGL hello world Сегодня я покажу, как открыть открыть окно и создать контекст OpenGL. Это на удивление непростая задача, OpenGL до сих пор не имеет официальных кроссплатформенных средств создания контекста, поэтому будем опираться на сторонние библиотеки (в данном случае GLFW и glad). В инт...

[Из песочницы] Инкапсуляция для настоящих самураев, или нюансы, связанные с ключевым словом internal в C# Пролог: internal is new public Каждый из нас мечтал о проекте, где всё будет сделано правильно. Это кажется вполне естественным. Как только ты узнаёшь о самой возможности писать хороший код, как только слышишь легенды о том самом коде, который можно легко читать и изменять, ...

[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...

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

[Перевод] Node.js-проекты, в которых лучше не использовать lock-файлы Автор материала, перевод которого мы сегодня публикуем, говорит, что одна из проблем, с которыми приходится сталкиваться программистам, заключается в том, что у них их код работает, а у кого-то другого выдаёт ошибки. Эта проблема, возможно, одна из самых распространённых, во...

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

Разработка цифровых продуктов с помощью ментальных моделей Привет, Хабр! Предлагаю вашему вниманию перевод статьи Designing Digital Products with Mental Models автора дизайнера Тима Шеинера. Лучший способ добиться взаимопонимания в проектной команде. Перевод — это сложно Когда-то, путешествуя по Индии, я купил недорогую книжку — ...

nanoFOX — простое RISC-V совместимое ядро Небольшое вступление: Идея написания собственного ядра появилась после прохождения школы-семинара по цифровой схемотехнике в городе Томске. На данном мероприятии проводилось знакомство с текущими языками описания аппаратуры (Verilog HDL и VHDL), а также с небольшим процессор...

I’m going deeper underground, или о чем стоит знать, оптимизируя работу сетевого приложения Приветствую, друзья! В предыдущих двух статьях (раз, два) мы погружались в сложность выбора между технологиями и искали оптимальные настройки для нашего решения в Ostrovok.ru. Какую тему поднимем сегодня? Каждый сервис должен работать на каком-то сервере, общаясь с желез...

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

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

[Перевод] Unreal Engine 4 — шейдер горения Это небольшой шейдер, который появился, когда я думал о различных методах применения flowmap. Существуют много эффектов перехода/растворения, но большинство из них выглядит довольно статично, так как они используют статические текстуры. Данный шейдер далек от совершенства, н...

Принципы работы протокола PIM Протокол PIM — это набор протоколов для передачи мультикаста в сети между маршрутизаторами. Отношения соседства строится аналогично как и в случае динамических протоколов маршрутизации. PIMv2 отправляет каждые 30 секунд Hello сообщения на зарезервированный мультикаст адрес 2...

Memcached plugin от MySQL: инструкция по осторожному применению Здравствуйте! Меня зовут Максим Матюхин, я PHP-программист Badoo. В своей работе мы активно используем MySQL. Но иногда нам не хватает её производительности, поэтому мы постоянно ищем возможности ускорить её работу. В 2010 году Yoshinori Matsunobu представил NoSQL-плагин ...

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

Ускорение MicroPython MicroPython — реализация языка программирования Python для микроконтроллеров, даёт возможность аудитории этого языка, используя знакомый синтаксис и принципы программирования работать с небольшими вычислительными устройствами. В своей работе я использую MicroPython для про...

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

[Перевод] Разрабатывать приложения под Android — словно быть (демонетизированным) ютубером Как известно, некоторые авторы на YouTube крайне недовольны условиями, которые предлагает эта платформа. Аналогичное сражение сейчас ведут разработчики Android-приложений на платформе Google Play. Попытаюсь за 20 минут объяснить, что не так с Android. Когда-то Android счита...

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

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

В библиотеке jQuery устранена серьезная уязвимость В jQuery закрыта уязвимость, которая позволяет провести DoS-атаку или получить права администратора веб-приложения, использующего эту JavaScript-библиотеку на стороне клиента. Эксперт по кибербезопасности Лиран Тал (Liran Tal) из Snyk обнаружил брешь 26 марта; пропатченная в...

Первый программируемый компьютер на ДНК Экспериментальный протокол и реализация алгоритма сортировки на программируемом ДНК-компьютере Учёные давно ведут эксперименты с хранением информации в ДНК и с обработкой этой информации. Например, учёные из Вашингтонского университета и Microsoft недавно построили «первы...

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

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

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

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

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

CLRium #6: Парный доклад про Lock-Free, много теории и практически-полезных знаний Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня — День Программиста и есть отличный повод дать вам всем компл...

Продвинутый бэкдор SLUB отказался от GitHub Операторы бэкдора SLUB ввели в работу новое поколение зловреда, изменив используемый эксплойт и перестроив модель обмена данными с управляющим сервером. Актуальная версия программы принимает команды через закрытые каналы в Slack. Эксперты обнаружили SLUB в марте, через неско...

[Перевод] TensorFlow для начинающих. Часть 1: общие сведения, установка библиотеки TensorFlow — это опенсорсная библиотека, созданная Google, которая используется при разработке систем, использующих технологии машинного обучения. Эта библиотека включает в себя реализацию множества мощных алгоритмов, рассчитанных на решение распространённых задач машинного ...

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

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

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

Google выпускает криптографический ключ на USB-C. На что он способен? Обеспечение «цифровой безопасности» крайне важно в наши дни В последние годы Google является одним из ключевых игроков в разработке самых разных технологий и стандартов, связанных с двухфакторной аутентификацией (2FA). Помимо того, что вы можете использовать свои у...

[Перевод] CSS Subgrid новости Несколько недель назад, я выступала на Frontend NE в Ньюкасле и большую часть выступления объясняла, что за особенности будут в CSS Grid Subgrid из Grid Level 2. Не имея реализации данного свойства(в браузерах), я смоделировала кучу демок, используя DevTools, для того выступ...

[Перевод] Нейросети и глубокое обучение, глава 3, ч.2: почему регуляризация помогает уменьшать переобучение? Содержание Глава 1: использование нейросетей для распознавания рукописных цифр Глава 2: как работает алгоритм обратного распространения Глава 3: ч.1: улучшение способа обучения нейросетей Эмпирически мы увидели, что регуляризация помогает уменьшать переобучение. Это вдохн...

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

Flutter в примерах. Deep Links в приложениях на Flutter Новый мультиплатформенный фреймворк от Google – Flutter – уверенно набирает поклонников. Все больше людей интересуются этой технологией и пробуют ее как в pet-, так и в коммерческих проектах. Все больше статей и примеров появляется в рунете, но какое-то время назад я обратил...

Дисплейный процессор ARM Mali-D77 решает некоторые проблемы VR В последние пару лет продвижение виртуальной реальности несколько забуксовало из-за сочетания дорогого оборудования, невысокой производительности, отсутствия достаточного количества контента и прочих сложностей. В настоящее время отрасль застряла в сценарии «яйцо или курица»...

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

Анализ производительности запросов в ClickHouse. Доклад Яндекса Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что ...

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

Новый Apple MacBook может получить стеклянную клавиатуру Ведомство по патентам и товарным знакам США (United States Patent and Trademark Office, PTO или USPTO) опубликовало информацию о новом патенте, который был зарегистрирован компанией Apple. В этом патенте описывается технология и решение, которые позволяют заменить тради...

[Перевод] Марвин Мински «The Emotion Machine»: Глава 8.1-2 «Творческий подход» 8.1 Творческий подход «Хотя такая машина многое могла бы сделать так же хорошо и, возможно, лучше, чем мы, в другом она непременно оказалась бы несостоятельной, и обнаружилось бы, что она действует не сознательно, а лишь благодаря расположению своих органов». — Декарт. Р...

Системные платы с чипсетом AMD X570 не поддерживают CPU и APU Ryzen первого поколения Компания AMD сегодня представила семинанометровые настольные CPU Ryzen 3000. Сегодня же производители системных плат начали анонсировать свои новые модели на основе набора логики X570. Напомним, новые CPU имеют исполнение AM4 и совместимы со старыми системными платами. ...

Расчёт каннибализации на основе классического A/B-теста и метод bootstrap’а В данной статье рассмотрен метод расчёта каннибализации для мобильного приложения на основе классического A/B-теста. В данном случае рассматриваются и оцениваются целевые действия в рамках процесса реаттрибуции с рекламного источника (Direct, Criteo, AdWords UAC и прочих) по...

[Перевод] Лучшая приоритизация HTTP/2 для ускорения веба HTTP/2 обещал заметно ускорить веб, и Cloudflare давным-давно развернула доступ по HTTP/2 для всех клиентов. Но одна особенность HTTP/2, приоритизация, не соответствовала ожиданиям. Не потому, что она принципиально сломана, а из-за реализации в браузерах. Сегодня Cloudflar...

[Перевод] Топ-17 плагинов для Android Studio Существуют сотни плагинов для Android Studio, и их число растёт с каждым днём. Это в основном происходит по двум причинам. Во-первых, Android Studio — это официальная интегрированная среда разработки для создания Android-приложений. Во-вторых — Intellij IDEA, платформа, на ...

[recovery mode] Расширение (плагин) SketchUp для проектирования мебели программистом При расчете стоимости новой кухни цена оказалась такой большой, что я решил сделать её сам так как это обойдется в два раза дешевле. Для тренировки решил сделать для себя рабочий стол. Достаточно быстро пришло понимание: чтобы сделать хорошую вещь нужно сделать 3D модель. Эт...

[Из песочницы] Open Session In View в Spring Boot: Скрытая угроза Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. "Сказка о Тройке" (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение: spring.jpa.op...

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

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

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

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

Переход с виртуальных машин на контейнеры LXC: причины, преимущества и готовая инструкция к применению О чем мы расскажем: — Почему мы решили перейти на LXC контейнеры? — Как создать контейнер и запустить на нем хост на базе Битрикс? Для кого это будет полезно: Для всех, кто хочет попробовать новое решение, при этом используя меньше ресурсов. Читать дальше →

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

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

Что такое Wi-Fi Direct и как его использовать на смартфоне под управлением Android Список функций наших Android-смартфонов довольно обширен, и некоторые из них могут запросто остаться незамеченными. Между тем они могут оказаться весьма и весьма полезными. Например, на практически каждом смартфоне имеется функция Wi-Fi Direct. Пару лет назад она наделала н...

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

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

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

[Из песочницы] Блиц-проверка алгоритмов машинного обучения: скорми свой набор данных библиотеке scikit-learn Глобальная паутина изо дня в день пополняется статьями о самых популярных, наиболее употребляемых алгоритмах машинного обучения для решения различных задач. Причём основа этих статей, немного изменённая по форме в том или ином месте, кочует от одного исследователя данных к...

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

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

[Из песочницы] Создание адаптивного сайта из того что есть и неинвазивные стили Есть сайт у которого нет мобильной версии и нужно с минимальными затратами времени сделать мобильным пользователям этот сайт приятнее в использовании. Я расскажу о том как ускорить внесение изменений на сайт и рассмотрю инструменты для быстрой верстки на живом сайте не име...

Как делать портретные снимки на iPhone с одной камерой (даже на iPhone 5s!) Одной из главных фишек iPhone с двумя камерами стала возможность портретной съемки (с эффектом боке). Пока что единственным смартфоном Apple с одной камерой, который способен делать такие снимки, является iPhone XR — правда, с некоторыми ограничениями, что в кадре обя...

Навигация внутри Android приложения Введение При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относят...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

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

В какой сети Wi-Fi должны находиться устройства, чтобы взаимодействовать друг с другом? У каждого человека есть вопросы по поводу Wi-Fi и это совершенно нормально. Даже если вы смогли самостоятельно настроить свой роутер и сейчас сидите и читаете этот материал у нас на сайте, все равно есть много вещей, которые о беспроводном домашнем интернете еще предстоит у...

[Из песочницы] Пример простой нейросети на С/C++ Всем привет. Решил поделиться простым и ёмким на мой взгляд решением нейронной сети на С++. Почему эта информация должна быть интересна? Ответ: я старался в минимальном наборе запрограммировать работу многослойного перцептрона, да так, чтобы его можно было настраивать ка...

[Перевод] DEFCON 21. Одних паролей недостаточно, или почему «ломается» шифрование диска и как это можно исправить. Часть 1 Спасибо всем, что пришли, сегодня мы поговорим о полном шифровании жёсткого диска (FDE), которое не так безопасно, как вы думаете. Поднимите руки, кто шифрует таким образом HDD своего компьютера. Поразительно! Ну что же, добро пожаловать на DefCon! Похоже на то, что 90% и...

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

В Яндекс.Директ добавили библиотеку минус-фраз Это каталог, в котором можно будет сгруппировать часто используемые минус-фразы в специальные наборы

Блокчейн остается на начальном этапе развития, но привлекает инновационные компании В течение 2017-2018 годов рынок блокчейн стал центром внимания многих инвесторов. По подсчетам портала CoinSchedule, только в 2018 году эта технология привлекла $21,4 млрд финансирования со стороны крупных корпораций, венчурных фирм и частных инвесторов.В McKinsey говорят, ч...

Oppo присоединилась к проекту CameraX API от Google В этом году Google представила CameraX API — это библиотека или набор AI-алгоритмов Android Jetack, предназначенных для того, чтобы облегчить разработку приложения камеры.   Их преимуществом является то, что разработчикам не нужно прописывать специальный код в сво...

Инструменты Node.js разработчика. Работа с веб-сокетами по протоколу mqtt Технология веб-сокет позволяет в веб-приложении или в мобильном приложении реализовать отправку сообщений с сервера на клиент, что невозможно сделать средствами REST-API. Для работы с веб-сокетами часто используют библиотеку socket.io, или же разработчики работают с нативным...

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

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

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

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

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

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

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

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

[Из песочницы] Как я сделал кастомный прерыватель Okhttp через котлиновские корутины Начнём с постановки задачи. Надо в каждом запросе в header’s отправлять токен и id юзера Надо из каждого ответа вытаскивать из headers новый токен и id юзера Полученные данные надо сохранять Библиотека для серверного взаимодействия – Retrofit. За многопоточность отвеча...

Как выполнить 70 задач за день: жизнь в таск-трекерах — хорошая жизнь Систематически вести задачи я пытался, наверное, раз 20-25. И каждая попытка срывалась, как теперь я понимаю, по двум причинам. Во-первых, для того, чтобы выделять время ведению задач, нужно понять — зачем это делается. Ты начинаешь вести задачи, тратить на это время, дел...

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

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

[Перевод] Новости транспорта совместного использования: электросамокаты долго не живут; Lyft и Uber собираются выйти на биржу Я изучил данные по поездкам на самокатах в Луисвилле, штат Кентукки, которые доступны в онлайне в рамке городской программы по открытости данных. Последние данные можно скачать по ссылке. Я использовал более старый набор, а также включил в него помесячные данные по поездкам,...

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

Peephole микрооптимизации в С++ и C# компиляторах В школе, когда мы решали уравнения или считали формулы, мы пытались их сперва сократить несколько раз, к примеру Z = X - (Y + X) сокращается в Z = -Y. В современных компиляторах это подмножество так называемых peephole-оптимизаций, в которых мы по, грубо говоря, набору шабло...

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

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

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

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

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

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

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

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

ResNet50. Своя реализация Всем привет. Библиотека нейросети описана в моей прошлой статье. Здесь решил показать как можно использовать обученную сеть из TF (Tensorflow) в своем решении, и стоит ли. Под катом сравнение с оригинальной реализацией TF, демо приложение для распознавания картинок, ну и… в...

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

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

Решаем проблему частого создания и удаления объектов в C++ Введение Компания, в которой я работаю, пишет свою собственную систему фильтрации трафика и защищает с помощью нее бизнес от DDoS-атак, ботов, парсеров, а также многого другого. В основе продукта лежит такой процесс, как реверсивное проксирование, с помощью которого мы в ре...

Представлены смарт-часы Honor Magic Watch 2: до 14 дней автономной работы Помимо смартфонов серии Honor V30, бренд представил новые смарт-часы Honor Magic Watch 2. Новинка оснащена мощной батареей, которая обеспечивает время автономной работы до 14 дней, а также набором функций, ориентированных на здоровье пользователя. Подробнее об этом читайте н...

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

[Перевод] Близнецы получили «загадочные» результаты, проверив 5 сервисов поиска предков по ДНК Главный генетик популярной компании по поиску предков признал, что это «частью наука, частью искусство» Один набор однояйцевых близнецов, и два разных профиля для предков. По крайней мере, так следует из результатов работы одной из крупнейших компаний, разыскивающей предко...

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

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

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

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

Xiaomi Pocophone F2 получит врезанную в экран камеру, как у Samsung Galaxy Note10 Как стало известно, компания Xiaomi запатентовала несколько вариантов дизайна смартфона, оснащенного врезанной в экран фронтальной камерой. Сразу же возникают ассоциации со смартфонами Samsung, в ассортименте которой давно есть модели с камерой, расположенной в углу экр...

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

Портирование Qt на STM32 Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV. Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи ка...

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

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

Нейронные сети предпочитают текстуры и как с этим бороться В последнее время вышло несколько статей с критикой ImageNet, пожалуй самого известного набора изображений, использующегося для обучения нейронных сетей. В первой статье Approximating CNNs with bag-of-local features models works surprisingly well on ImageNet авторы берут м...

[Из песочницы] Небезопасные функции PHP Холдинг Modesco — это более 300 инфосайтов и 5 крупных Интернет-сервисов. Проекты регулярно покупаются и продаются. Как вы понимаете, поддерживать качество кода на высоком уровне в данной ситуации физически невозможно. Да и основное внимание программистов, как правило, сосре...

Как сменить регион в Google Play Store Использовать Google Play Store довольно просто: вы открываете его, находите приложение, которое вам нужно, читаете отзывы (хотя и это не обязательно), нажимаете кнопку «Загрузить», и устанавливаете программу на свое устройство. Но что делать, если вы переедете в д...

Беспроводной роутер Totolink A3002RU: недорогая модель с гигабитными портами и 802.11ac Решения с гигабитными сетевыми портами и беспроводным протоколом 802.11ac сегодня относятся к верхнему сегменту, у известных брендов такие модели довольно дорогие. При этом не всем пользователям требуется широкий набор функций в роутере, часто бывает достаточно базового набо...

Xiaomi наглядно показала, зачем в Mi Note 10 так много камер Смартфон Xiaomi Mi Note 10, он же CC9 Pro, получил основную камеру с пятью датчиками, причём в данном случае бесполезной можно назвать лишь одну — макрокамеру. У новинки нет датчиков глубины или камер ToF. Xiaomi решила добавить к обычному модулю и «ширику&...

[Из песочницы] Формулы и ленивые комбинаторы Библиотека для работы с формулами Нам в финтехе часто нужно проверять выполнение простых арифметических условий, например, будет ли курс обмена валют больше, чем ожидаемое значение, или нет. Эти условия очень часто меняются, и нам нужно было изобрести какой-нибудь велосипед,...

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

Доступ к свойствам внутри поля Jsonb для Npgsql PostgreSQL имеет тип данных Jsonb, который позволяет добавлять к стандартной реляционной модели дополнительные свойства с возможностью поиска по ним. EntityFramework Core с расширением Npgsql умеет вытягивать данные поля в тип System.String Однако для фильтрации по Json свой...

Windows 10 November 2019 Update может появиться во вторник Ноябрьское обновление Windows 10 November 2019 Update (также известное как 1909 и 19H2) может начаться во вторник. Согласно отчету и доступности ISO в Microsoft Developer Network, последнее обновление функции Windows 10 в этом году готово к общедоступному выпуску.Технически ...

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

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

Не только новый цвет. Huawei представила обновлённый P30 Pro Как и ожидалось, компания Huawei представила на стартовавшей в Берлине выставке IFA 2019 слегка обновлённый смартфон Huawei P30 Pro.  Обновлённый Huawei P30 Pro выполнен в двух новых цветах корпуса – Mystic Blue (Мистический синий) и Misty Lavender...

[Перевод] Искусственный интеллект Horizon Zero Dawn: индивидуальное поведение В первой части исследования ИИ Horizon Zero Dawn я рассказал, как игра создаёт стада управляемых искусственным интеллектом животных-машин. Для этого требуется сложная система иерархии агентов, в которой каждая машина может принимать решения о том, как вести себя, пользуясь п...

Обзор беспроводных TWS наушников Creative Outlier Gold Рынок TWS наушников сегодня уже насыщен, но в большинстве своём модели мало чем различаются. Хотя, некоторые бренды стараются выделиться на общем фоне. Среди последних трендов мы отмечаем появление алгоритмов шумоподавления у внутриканальных моделей. Кроме того, некоторые ...

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

Hitachi Vantara представила новинки для управления данными Интернета вещей Решения Lumada Data Services, Data Lake и Edge Intelligence призваны помочь заказчикам преодолеть разрозненность массивов данных и стимулировать инновации, используя методологию DataOps. На конференции NEXT 2019 компания Hitachi Vantara объявила о расширении комплекса реш...

«А вместо процессов у них там практики…» Такую фразу довольно часто можно услышать или прочитать в обсуждении новой версии ITIL® 4. Корректно ли это утверждение? Насколько «вместо»? Есть ли разница между процессами и практиками? Действительно, существенную часть объёма книги составляет раздел, в котором для тех, кт...

Textly.AI – сервис для улучшения письменного английского Всем привет! Сегодня хотел рассказать вам о своем новом проекте – онлайн-помощнике для исправления ошибок в англоязычных текстах Textly.ai. Это сервис для тех, кто использует английский язык в коммуникациях или хочет улучшить навыки письма. Как это работает: расширения для ...

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

Как я разрабатывал набор для фокуса Этот набор я начал разрабатывать в 2014 году — потребовалось подобрать несколько зрелищных опытов для телевизионного шоу и «Растворимая ложка» была среди них. Читать дальше →

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 21. Дистанционно-векторная маршрутизация RIP Тема сегодняшнего урока – RIP, или протокол маршрутной информации. Мы поговорим о различных аспектах его применения, о его настройке и ограничениях. Как я уже говорил, тема RIP не входит в учебный план курса Cisco 200-125 CCNA, однако я решил посвятить этому протоколу отдель...

Microsoft расширяет возможности приложения «Ваш телефон» Недавно мы писали о новой важной функции, появившейся в приложении Microsoft «Your Phone». Эта новая функция называется «Экран телефона», которая перенесет экран вашего телефона в приложение «Ваш телефон», и позволяет вам контролировать все ваши мобильные приложения с вашего...

Конспект по книге Марка Гаулстона “Я слышу вас насквозь” Хорошая книга о коммуникации между людьми. Немного теории о взаимопонимании (с которой вы, возможно, ознакомились благодаря другим книгам этого автора). У каждого есть мозг рептилии (бей или беги), мозг млекопитающего (эмоции и набор условных рефлексов) и мозг человека (раци...

В 2019 году увеличилось количество атак инфостилеров Вредоносным программам для сбора данных не составляет труда получить сохраненную в браузере информацию, в том числе логины и пароли. Что и как воруют современные трояны-стилеры, рассказали специалисты «Лаборатории Касперского» в профильном обзоре вредоносной активн...

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

[Перевод] Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 1 — Приготовления Из этой части вы узнаете: Зачем это всё нужно Как скомпилировать FFmpeg в Docker Зачем это всё нужно Главные задачи у серии публикаций такие: Создать туториал по использованию Emscripten для компиляции C/C++ библиотек в JavaScript (более детальный и полезный, чем написа...

Лучший помощник водителя JBL Link Drive Компания JBL добавила новый продукт JBL Link Drive на базе Google Assistant. Гаджет имеет встроенный активный микрофон, который позволяет вам вызывать Google Assistant и получать доступ к его набору услуг во время вождения, не отрывая рук от руля. Как и другие подобные у...

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

Конкретное и глобальное: программа Mobius 2019 Moscow Что может интересовать мобильного разработчика? Самые разные вопросы: от конкретных технических («как бы ускорить сборку в Xcode») до глобальных карьерных («а не податься ли мне в инди-разработчики с собственным приложением»). А если действительно заняться собственным прило...

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

Intel приглашает на OpenVINO хакатон, призовой фонд — 180 000 рублей Думаем, что вам известно о существовании полезного продукта Intel под названием Open Visual Inference & Neural Network Optimization (OpenVINO) toolkit — набора библиотек, средств оптимизации и информационных ресурсов для разработки ПО, использующего машинное зрение и D...

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

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

APEX станет главным нововведением Android Q. Что это такое? Android Q покажут, как обычно, на Googe I/O. Уже сейчас известно, что в систему встроят полноценную темную тему, а все стандартные приложения компании к моменту выхода новой версии Android будут обновлены под данное нововведение. Однако тёмная тема — не главное в Andr...

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

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

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

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

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

Новый набор микросхем Qualcomm QCS400 для умных динамиков Новейшая аудиосистема QCS400 (SoC) обеспечивает более точное распознавание пробуждаемых слов, улучшенное общее обнаружение голоса в громкой среде и более быстрое время отклика. Он также поддерживает «локальное» голосовое управление, поэтому для ответа не нужно подключать инт...

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

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

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

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

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

[Перевод] Деревья квадрантов и распознавание коллизий Эта неделя была короткой, в понедельник и вторник я продолжал работать над системой 2D-освещения. Остальное время я потратил на реализацию деревьев квадрантов (quadtree). В этой статье я поделюсь своей реализацией и мыслями, возникшими в процессе её проектирования. Во-пер...

В YouTube появились платные Суперстикеры Сервис YouTube решил расширить возможности стримеров для заработка. К уже имевшимся ранее платным подпискам и Суперчату добавились Суперстикеры (Super Stickers). Если точнее, тестировать данные стикеры YouTube начал ещё летом, но теперь сервис сделал доступным S...

Специалисты AMD завершили разработку микроархитектуры Zen 3 и уже взялись за Zen 4 Представляя процессоры EPYC второго поколения, в которых используется микроархитектура Zen 2, компания AMD сообщила о завершении фазы разработки микроархитектуры следующего поколения — Zen 3. В настоящее время специалисты компании уже взялись за ее преемницу, Zen ...

[Перевод] Надёжность Flash–памяти: ожидаемое и неожиданное. Часть 3. XIV конференция ассоциации USENIX. Технологии хранения файлов Надёжность Flash–памяти: ожидаемое и неожиданное. Часть 1. XIV конференция ассоциации USENIX. Технологии хранения файлов Надёжность Flash–памяти: ожидаемое и неожиданное. Часть 2. XIV конференция ассоциации USENIX. Технологии хранения файлов 5.5. Неисправляемые ошибки и лит...

JVM TI: как сделать плагин для виртуальной машины Хотели бы вы добавить в JVM какую-нибудь полезную фичу? Теоретически каждый разработчик может внести свой вклад в OpenJDK, однако на практике любые нетривиальные изменения в HotSpot принимают со стороны не очень-то охотно, и даже с текущим укороченным релизным циклом могут...

Реализация словаря в Python Всем привет, 30 апреля в ОТУС стартует курс «Алгоритмы для разработчиков», именно к этому приурочена публикация сегодняшнего материала. Начнём. В этой статье вы узнаете, как в Python реализованы словари. Словари индексируются с помощью ключей, и они могут рассматриваться ...

[Перевод] Анонс новой версии Styled Components v5: Звериный оскал Мы очень рады анонсировать новую пятую версию styled-components! Новая версия полностью обратно-совместима с предыдущей версией при условии использования последней версии React. Бету пятой версии можно попробовать уже сейчас: npm install styled-components@beta Нужна версия...

Работа с внешними ресурсами в Unity 3d Введение Здравствуйте уважаемые читатели, сегодня речь пойдет о работе с внешними ресурсами в среде Unity 3d. По традиции, для начала определимся, что это и зачем нам это надо. Итак, что же такое эти внешние ресурсы. В рамках разработки игр, такими ресурсами может быть все...

Промо-видео Sony DepthSense: зачем нужна TOF-камера в смартфоне? Sony выпустила промо-видео технологии DepthSense, основанной на времяпролётной камере (TOF). Компания попыталась объяснить, зачем такие камеры нужны в смартфонах. Набор предлагаемых применений выглядит довольно странно.

Лучший переводчик Google Translate стал еще лучше Много лет назад Google приобрела компанию Word Lens, предоставив вскоре после этого своему популярному приложению-переводчику Google Translate возможность переводить слова с помощью камеры смартфона. Эта функция довольно скоро полюбилась пользователям, так как в практичност...

Amazon Braket дает возможность попробовать квантовые вычисления Компания Amazon в лице своего подразделения Amazon Web Services (AWS) представила облачный сервис Amazon Braket. По словам AWS, это «полностью управляемый сервис, который облегчает ученым, исследователям и разработчикам создание, тестирование и запуск алгоритмов к...

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

49-дюймовый UltraWide IPS-монитор LG 49WL95C-W: ну очень широкий изогнутый экран 32:9, разрешение 5120×1440, поддержка HDR10 Монитор LG 49WL95C-W отличается очень широким экраном, способным заменить два широкоформатных монитора, поставленные в ряд. Такой формат особенно пригодится в тех случаях, когда стык составленных мониторов будет разрывать единое поле для вывода информации, например в случае ...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 25. Углубленное изучение IPv6 Сегодня мы продолжим изучение протокола IPv6. Этот урок довольно длительный, поэтому не будем терять время и приступим к изучению 3-х тем: автоконфигурация IPv6, настройка и проблемы IPv6 и основы маршрутизации IPv6. Последнюю тему мы посвятим статической маршрутизации и роу...

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

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

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

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

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

Наборы модулей памяти Corsair Vengeance LPX DDR4 для систем на процессорах Xeon W-3175X включают по 12 модулей Компания Corsair представила новые наборы модулей памяти серии Vengeance LPX DDR4, предназначенные для высокопроизводительных настольных ПК на процессоре Intel Xeon W-3175X. Модули в наборах поддерживают профили XMP 2.0. Один комплект включает 12 модулей по 8 ГБ, то ест...

[Перевод] Angular без zone.js: максимум производительности Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angula...

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

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

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

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

[Перевод] Как я нашёл баг в GNU Tar Автор статьи — Крис Зибенманн, системный администратор Unix в университете Торонто Время от времени в моей работе происходит нечто странное, что заставляет задуматься, даже если сразу непонятно, какие следуют выводы. Недавно я упомянул, что мы нашли ошибку в GNU Tar, и исто...

[Из песочницы] .NET зоопарк под призмой NET Core Всем привет! Сегодня мы рассмотрим разные фишки и изменения, которые появились в .NET Core платформе и сравним их с Framework. Я разбил статью на модули для более лучшего понимания. Эта статья будет интересна тем кто собирается переходить на .NET Core или уже использует его....

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

Intel oneAPI — один за всех Итак, случилось то, о чем еще с июля месяца говорила компания Intel — вышла бета-версия Intel oneAPI Toolkits, набора инструментов для разработки, с которыми жизнь больше не будет прежней. В состав набора, как и обещалось, вошел компилятор нового языка Data Parallel C++, наб...

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

Реализация QoS в СХД Qsan Технология QoS (Quality of Service) в сетевой инфраструктуре известна достаточно давно. Позже подобные алгоритмы нашли применение и в сфере хранения данных, став фактически стандартом для систем, претендующих на рынок Enterprise. В СХД Qsan данный функционал стал доступен от...

[Перевод] Самодельный счётчик Гейгера на ESP8266 с сенсорным экраном Я разработал и собрал счётчик Гейгера – устройство, способное обнаруживать ионизирующее излучение и предупреждать об опасных уровнях радиации в окружающей среде знакомыми щелчками. Его также можно использовать для поиска минералов, и определять, есть ли в найденном вами ка...

Предварительный обзор Panasonic Lumix DC-G95. Эра беззеркальных камер Длительное время фотоаппарат Panasonic Lumix GH-5 пользовался невероятной популярностью. Правда, покупали его не из-за возможностей в плане фотографии, а из-за крутого набора функций для съемки видео. Вы удивитесь, но буквально каждый второй видеоблогер покупал эту камеру дл...

Вот чем отличаются режимы Night Mode и Pro Mode в камере Galaxy S10 Многие фанаты просили Samsung предоставить для камеры Galaxy S10 специальный режим для ночной съемки. Первая версия ночного режима в камере Galaxy S10 пользователей совсем не впечатлила, и поэтому было приятно видеть, что Samsung на этом не остановилась, выпустив еще одно о...

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

Предварительный обзор MSI Vigor GK50 Low Profile. Доступная механика Сегодня мы поговорим о достаточно интересной клавиатуре от компании MSI, которая выглядит привлекательно и оборудована механическими переключателями. Если вы давно мечтали именно о механической клавиатуре, то стоит обязательно посмотреть в сторону данной модели, ведь она обе...

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

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

Новый алгоритм в 200 раз ускоряет автоматическое проектирование нейросетей ProxylessNAS напрямую оптимизирует архитектуры нейронных сетей для конкретной задачи и оборудования, что позволяет значительно увеличить производительность по сравнению с предыдущими прокси-подходами. На наборе данных ImageNet нейросеть проектируется за 200 GPU-часов (в 20...

Коммутаторы InfiniBand Mellanox HDR 200G с технологией Mellanox SHARP удвоили производительность платформы Nvidia для ИИ Компания Mellanox Technologies, которую Nvidia покупает за 6,9 млрд долларов, объявила, что ее коммутаторы InfiniBand HDR 200G с технологией «масштабируемого протокола иерархического агрегирования и сокращения» (Scalable Hierarchical Aggregation and Reductio...

Google Drive как хранилище для веб-приложения Предисловие Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище. Но приложение «хостится» на GitHub Pages и не имеет сервер...

Финал WorldSkills, разработка IT-решений для бизнеса — что это, как это было и почему там победили 1С-программисты WorldSkills — это международное движение, занимающееся проведением профессиональных соревнований для молодых людей в возрасте до 22 лет. Международный финал проводится раз в два года. В этом году местом проведения финала стала Казань (прошлый финал был в 2017 году в Абу-Да...

Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...

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

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

Конкурс Intel «Используй NUC – выиграй NUC». Итоги и победители В конце августа мы объявили о старте конкурса для изобретателей и рационализаторов (в самом широком смысле этих слов) «Используй NUC – выиграй NUC». Конкурс такого формате в блоге Intel проводился впервые, поэтому опасений было много, и самое главное из них — что в нем про...

Обзор кулера Cooler Master Hyper 212 RGB Black Edition: заметно охладил и ускорил Intel Core i5-8500 Сегодня ни для кого не секрет, что почти любые электронные устройства приходится охлаждать, и правильная температура – залог стабильной и производительно работающей системы. Сегодня мы тестируем процессорный кулер Cooler Master Hyper 212 RGB Black Edition. В случае с этим...

[Перевод] Как соединить GitLab и Pantheon и оптимизировать рабочие процессы Drupal и WordPress Наш гость, создатель инструментов для разработчиков из Pantheon, рассказывает, как автоматизировать деплои WordPress с помощью GitLab CI/CD. В Pantheon я занимаюсь связями с разработчиками, поэтому всегда ищу новые способы помочь разработчикам WordPress и Drupal решать проб...

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

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

Высокоскоростные карты CFexpress от Sony Компания Sony объявила, что разрабатывает новые карты с использованием совершенно новой технологии, которые смогут считывать и записывать данные со скоростью 1700 и 1480 МБ/с, соответственно, преодолевая каждый текущий тип камеры хранения. Несколько новых камер на рынке,...

Continuous delivery для вашей Kotlin Multiplatform библиотеки Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. В процессе работы мы столкнулись с тем, что в случае с Kotlin Multiplatform continuous integration и continuous del...

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

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

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

Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность Привет, Хабр! Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседов...

[Из песочницы] Бесконечный и нелепый список того, что вам нужно знать, чтобы безопасно использовать публичные сети Wi-Fi Привет, Хабр! Представляю вашему вниманию перевод статьи «The Complete, Endless, Ridiculous List of Everything You Need to Be Safe on Public Wi-Fi» автора Patrick F. Wilbur. Wi-Fi сети, вебсайты, протоколы, которые мы используем, не обеспечивают нам необходимой безопасност...

Roland VR-1HD – микшер для потоковой передачи мультимедиа Компания Roland анонсировала выпуск микшера для потоковой передачи мультимедиа контента, который может работать в режиме реального времени и позволяет создавать многокамерные видео трансляции.VR-1HD представляет собой портативный микшер оснащенный 3 фейдерами, 3 RGB пэдами, ...

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

Набор робототехники для детей - LEGO Education SPIKE Prime для детей Lego представила новый набор робототехники Spike Prime, который предназначен для того, чтобы познакомить детей среднего школьного возраста с робототехникой, разработкой и программированием в простой и увлекательной форме. Новый набор Spike Prime стоимостью $ 330 включае...

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

MSI также представила ноутбуки с качественными экранами Компания MSI также привезла на IFA 2019 несколько новых ноутбуков. Все они получили «визуальный идентификатор» Intel Project Athena, который означает, что новинки соответствуют ряду критериям процессорного гиганта. Модели MSI Prestige 14 и Prestige 15 ориент...

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

[Перевод] Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще» Disclaimer. Костис Капелонис — Developer advocate (человек, защищающий и отстаивающий принципы программной разработки) Codefresh, первой платформы CI/CD для Kubernetes и контейнеров. Миссия Codefresh «Автоматизировать и упрости всё, от кода до облака». Как инженер-программис...

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

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

Мобильная разработка hh.ru и где она обитает В далеком 2000 году, когда hh.ru был совсем маленьким и ласково назывался “National Job Club”, а доступ к интернету получили всего 3% россиян, у нас, разумеется, не было никакой мобильной разработки. Тогда и смартфоны, в нынешнем их виде, были лишь далекой мечтой. Шли годы, ...

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

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

GraphQL Voyager как инструмент для поиска уязвимостей В настоящее время все больше компаний начинают использовать GraphQL. Это относительно новая технология (если быть более точным, то это язык запросов), которая призвана решить существующие проблемы REST. Если вы еще не знакомы с GraphQL, то рекомендую начать с ресурсов: ...

Android Q DP3 в OnePlus 6, 6T, 7 и 7 Pro ​​OnePlus анонсировал Android Q Developer Preview 3 для OnePlus 6, 6T, 7 и 7 Pro. В этом случае OnePlus 'Android Q Developer Preview 3 является эквивалентом Android Q Beta 5 от Google. В комплект входит Game Space, замена существующего игрового режима. Game Space обеспечива...

Ubuntu 18.04 Root on ZFS В прошлом году потребовалось мне создать инструкцию по установке операционной системы Ubuntu 18.04. К слову, ничего сложного в установке Ubuntu нет, но есть нюанс: я хотел использовать файловую систему ZFS как базовую. С одной стороны, Ubuntu поддерживает ZFS на уровне ядра,...

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

WebComponents как фреймворки, взаимодействие компонентов Когда разговор заходит о веб компонентах, часто говорят: «Ты что хочешь без фреймворков? Там же все готовое». На самом деле есть фреймворки созданные на основе реализаций стандартов входящих в группу веб компонентов. Есть даже относительно неплохие, такие как X-Tag. Но сегод...

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

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

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

[Перевод] SVG или canvas? SVG и canvas — это технологии, которые можно использовать для рисования чего-либо на веб-страницах. Поэтому их стоит сравнить и разобраться в том, когда стоит применять SVG, а когда — canvas. Даже весьма поверхностное понимание сути этих технологий позволяет сделать вполне...

NoVerify: линтер для PHP от Команды ВКонтакте теперь в открытом доступе Расскажу, как нам удалось написать линтер, который получился достаточно быстрым, чтобы проверять изменения во время каждого git push и делать это за 5−10 секунд при кодовой базе в 5 миллионов строк на PHP. Мы назвали его NoVerify. NoVerify поддерживает базовые вещи вроде ...

Семинар по SLS 6 сентября Приглашаем вас на семинар по SLS-3D-печати, который пройдет 6 сентября в технопарке «Калибр»: «Возможности, преимущества над FDM и SLA, примеры внедрения». На семинаре представители Sinterit, приехавшие специально для этого из Польши, ознакомят участников с первой доступно...

В России появился блокчейн-конструктор для бизнеса На Петербургском международном экономическом форуме представили первую российскую блокчейн-платформу Jovi. ИТ-компания КРОК стала якорным партнером разработчика новой платформы - компании "Ноосфера", и будет использовать ее при работе над блокчейн-проектами для зак...

Желание выжить может развить интеллект искусственного разума Может ли мыслить существо, созданное человеком? Что отличает человека от робота? Конечно же, помимо отличной от механической внутренней начинки, у человека имеется уникальная способность — он умеет чувствовать. Опираясь на подобное различие между живым и мертвым, миров...

Шпаргалка по структурам данных в Go Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных да...

[Из песочницы] PHP: Как разобрать сложный XML-файл и не утонуть в собственном коде Доброе время суток! Сфера применения XML-формата достаточно обширна. Наряду с CSV, JSON и другими, XML — один из самых распространенных способов представить данные для обмена между различными сервисами, программами и сайтами. В качестве примера можно привести формат Commerc...

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

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

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

О линтерах, качестве кода, качестве вообще и управлении качеством Бойтесь своих желаний, они могут исполниться. Народная мудрость. Одна пара пожелала пожениться и обрести вечное счастье. Я взорвал их машину у церкви сразу после венчания. One Wish Grant, фильм Трасса 60. Ещё одна философская заметка про управление, а данном случае качес...

[Перевод] Шейдеры 3D-игр для начинающих Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю к...

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

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

[Перевод] Моя ошибка на миллиард долларов В первое время мне часто хотелось сдаться. Снова и снова возникало чувство, что мы всё делаем неправильно. Делать предположения о проблемах людей. Решать проблемы, которые мы придумали. Мы искали решения в темноте. У нас было ясное видение, но исполнение страдало. Мы знали ...

У пользователей Apple Card воруют деньги с карт. Что происходит? Титановая Apple Card — пожалуй, одна из самых красивых банковских карт в мире На прошлой неделе стало известно о первом случае мошенничества с Apple Card — титановую карту одного из пользователей «клонировали» и смогли совершить операцию с ее помощью. Это хорошее...

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

В Adobe CC больше недоступны старые версии Photoshop и Lightroom Сервис Adobe Creative Cloud долгое время позволял подписчикам загружать и использовать довольно старые версии приложений, но недавно разработчик внес в эту практику существенное изменение. Теперь облако предлагает только две последние версии приложений. «Отныне к...

В Search Console появился отчёт по наборам данных Google добавил в Search Console отчёт о новом типе расширенных результатов — наборах данных. Его можно найти в разделе «Улучшения». Этот отчёт будут видеть только те вебмастера, которые разметили свои наборы данных с помощью соответствующей разметки. Список всех типов ...

[Перевод] Как была устроена графика NES Выпущенная в 1983 году домашняя консоль Nintendo Entertainment System (NES) была дешёвой, но мощной машиной, достигшей феноменального успеха. При помощи блока обработки изображений (Picture Processing Unit, PPU) система могла создавать достаточно впечатляющую по тем времена...

Крокодилы летают, но низко-низко (об экранопланах без эмоций, зато с отступлениями) Скажу сразу: ничего про «не имеющее аналогов», «бездумно разрушенное» и т.п. – не будет. Что будет: — Немного истории; — Разъяснение того, что такое эффект экрана, его свойства и последствия; — Преимущества и недостатки; — Практические реализации у нас и за рубежом, ра...

[Перевод] Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я пост...

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

Qualcomm Snapdragon 735 может добавить поддержку 5G в средний класс смартфонов Поддержка сетей 5G в настоящее время ограничена несколькими ведущими устройствами, такими как Galaxy S10 5G, LG V50 ThinQ 5G и Huawei Mate 20 X 5G. Для того, чтобы повысить скорость внедрения, Qualcomm, разрабатывает чип с поддержкой 5G, который появится в будущих смартфонах...

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

Service Level Agreement: пишем SLA для… других, или заключение SLA с Оператором связи Уверен, что многие хабражители хоть раз в жизни занимались вопросом обеспечения услугами связи для какой нибудь конторы или компании (собственное жилище тоже считается), все мы когда-то, увы не всегда вдумчиво, «подмахивали» договор на услуги связи, надеясь, что все будет хо...

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

Платы с разъёмом Socket sTRX4 несовместимы со старыми процессорами Производители материнских плат начали публиковать описания своих материнских плат на базе набора логики AMD TRX40, который обеспечивает поддержку новых 7-нм процессоров Ryzen Threadripper в исполнении Socket sTRX4, не дожидаясь официального анонса новинки. Переход на новый п...

Графический процессор ARM Mali-G77 стал на 40 % быстрее Наряду с новым процессорным ядром Cortex-A77 компания ARM представила графический процессор, предназначенный для мобильных однокристальных систем следующего поколения. Mali-G77, который не следует путать с новым процессором дисплея Mali-D77, знаменует собой переход с архитек...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 39. Стеки и агрегация шасси коммутаторов Сегодня мы рассмотрим преимущества двух типов агрегирования свитчей: Switch Stacking, или стеки коммутаторов, и Chassis Aggregation, или агрегация шасси свитчей. Это раздел 1.6 экзаменационной тематики ICND2. При разработке дизайна сети компании вам понадобится предусмотр...

[Из песочницы] «Брендированные» флешки. Кот в «брендовом» мешке Недавно у одного моего знакомого случился неприятный казус. Его сын делал школьное домашнее задание по информатике, но результат его трудов исчез. Ребенок использовал в качестве носителя информации USB-флешку, на которой был нанесен логотип фирмы моего знакомого, и вот именн...

Преобразование полигональных моделей в граничное представление: алгоритм и примеры кода В большинстве систем проектирования (САПР) основным представлением моделируемого объекта является граничное представление геометрии или B-rep (Boundary representation). Но все чаще пользователям САПР приходится иметь дело с полигональными моделями, например, полученными в ре...

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

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

WISE-PaaS — облачная платформа для промышленного интернета вещей WISE-PaaS — (Platform as a Service) облачная платформа Advantech для промышленного интернета вещей, объединяющая в себе различные инструменты для сбора, обработки, и визуализации данных, автоматизации, управления устройствами и системами искусственного интеллекта и машинно...

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

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

[Перевод] Я самый большой скупердяй в инди-разработке игр Скриншот из Queen's Wish. Учтите, что я использую игровой арт, который мне нравится. Это необходимо, потому что потом придётся смотреть на него годами, и я не хочу сойти с ума. Неделю назад я опубликовал в блоге пост «Почему все мои игры выглядят так отстойно» (оригинал). ...

Waymo ведёт переговоры с альянсом Renault–Nissan–Mitsubishi по поводу создания беспилотных машин Как известно, компания Waymo использует для создания своих беспилотных авто машины Chrysler и Jaguar. Источник сообщает, что компания сейчас ведёт переговоры с альянсом Renault–Nissan–Mitsubishi касательно разработки беспилотных авто. Соглашение может быть д...

[Перевод] Подготовка приложения к Android Q. Часть 1 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Базовый курс». Также напоминаем о том, что мы продолжаем набор на расширенный курс «Специализация Android-разработчик» Мы находимся на 10-м году разработки Android (Android Q должен быть верс...

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

Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка» Привет, Хаброжители! Обработка текстов на естественном языке (Natural Language Processing, NLP) — крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам из...

Автоматизация задач администрирования API VMware vSphere с использованием Python В нашей компании активно используется платформа для виртуализации VMware vSphere. В ней живут тестовые среды продуктов, демонстрационные стенды, эмуляторы различных инфраструктур заказчиков и прочие не менее важные «виртуалки». Несмотря на достаточную мощность нашей инфрас...

Почему стоит купить смартфон с 48-Мп камерой Долгое время производители представляли устройства с 12 или 16-Мп камерами. Улучшалась апертура, увеличивались пиксели, внедряли оптическую стабилизацию, но пришло время пойти иным путем. Прослеживается новый тренд – 48-Мп камеры. Sony и Samsung выпустили такие модули (IMX5...

«Там надо знать и веб-стек, и C++»: интервью с Алексеем Козятинским о разработке Chrome DevTools и не только Как разрабатывать с помощью Chrome DevTools, всем известно. А как выглядит разработка самих Chrome DevTools? Алексей Козятинский ранее работал в Google и занимался именно этим, а теперь перешёл в Netflix, но от прежней деятельности далеко не ушёл. Чем именно он занимаетс...

С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...

Секционирование в SQL Server Секционирование («партицирование») в SQL Server, при кажущейся простоте («да чего там – размазываешь таблицу и индексы по файловым группам, получаешь профит в администрировании и производительности») – достаточно обширная тема. Ниже я попробую описать как создать и применить...

Учись, Apple! Тонкий, лёгкий и защищённый ноутбук Acer TravelMate X3410 может похвастаться широким набором портов Ноутбук в целом вряд ли бы заслужил отдельной новости, если бы не его набор портов […]

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

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

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

Архитектура нейронной сети для реализации алгоритма RL с возможностью задания одновременно выполняющихся действий Одна из классических схем нейронной сети для реализации алгоритма RL выглядит следующим образом: Где: inputs – входы в нейронную сеть; FC – (fully connected) архитектура скрытых слоев или CNN — FC – архитектура архитектура скрытых слоев (в зависимости о того, что подается ...

[Перевод] Отдельный уровень логирования для каждого запроса Читая Technology Radar от ThoughtWorks, я наткнулся на технику "Отдельный уровень логирования на каждый запрос (Log level per request)". Мы в Confirmit широко используем логирование, и мне стало интересно, как можно реализовать эту функциональность. Читать дальше →

IBM LTO-8 – простой способ хранить «холодные» данные Привет, Хабр! По статистике 80% данных устаревают в течение 90 дней и больше активно не используются. Весь этот массив данных нужно где-то хранить и желательно хранить с наименьшими затратами. И при этом иметь простой и быстрый доступ в случае необходимости. В последние ...

Жизнь на 6200 DPI. Обзор HyperX Pulsefire Core Привет! В обзорах часто сравнивают киберспортивных мышей с оружием, и это не просто красивая фраза. В какой-то степени даже сам рынок оружия похож на рынок геймерских аксессуаров. Их много, они непохожи друг на друга, и разные игроки выбирают разные стили управления. Соответ...

Bondtech - Модернизация экструдера Wanhao Duplicator 6 plus В этом руководстве показан процесс установки Bondtech комплекта обновления BMG для Wanhao Duplicator 6 Plus Прошивка Bondtech для Wanhao D6. Обновление иммет геометрию отличную от оригинальной, поэтому во избежание столкновения печатающей головки с задней панелью необходимо ...

Пульт управления Хабром на базе HMI от Advantech Your browser does not support HTML5 video. Видео: админский пульт управления Хабром. Позволяет регулировать карму, рейтинг, и банить пользователей. TL;DR: в статье я попробую создать шуточный пульт управления Хабром, используя среду разработки промышленных интерфейсов Webac...

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

[Перевод] Распознавание источников освещения на картах окружения В этой статье представлена реализация на Python алгоритма распознавания источников освещения на картах окружения (LDR или HDR) при помощи равнопромежуточной проекции (equirectangular projection). Однако после внесения незначительных изменений её также можно использовать с п...

Системные платы Gigabyte на чипсетах Z390 и C246 теперь поддерживают модули памяти объемом 32 ГБ Почти одновременно с компанией Asus, недавно сообщившей о том, что ее системные платы на наборе системной логики Z390 теперь поддерживают до 128 ГБ оперативной памяти, подобную информацию опубликовала компания Gigabyte Technology. В сообщении компании Gigabyte сказано, ...

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

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

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

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

Спецификация USB4 объединяет Thunderbolt 3 и USB со скоростью передачи до 40 Гбит / с Спецификация USB4 для новой версии USB была опубликована на форуме разработчиков USB-устройств. USB 4 — это серьезное обновление, которое «дополняет и развивает» текущие архитектуры USB 3.2 2×2 (USB-C) и USB 2.0. В соответствии с USB-IF архитектура USB4 основана н...

ARM представила второе в своём роде исключительно 64-битное ядро Cortex-A34 В 2015 году ARM презентовала энергоэффективное 64/32-битное ядро Cortex-A35 для гетерогенной архитектуры big.LITTLE, а в 2016-м выпустила 32-битное ядро Cortex-A32 для носимой электроники. А теперь, не привлекая особого внимания, компания представила 64-битное ядро Cortex‑A3...

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

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

Автоматизация SQL server в Jenkins: возвращаем результат красиво Снова продолжая тему обустройства Zero Touch PROD под RDS. Будущие DBA не будут иметь возможности подключиться к PROD серверам напрямую, но смогут использовать Jenkins jobs для ограниченного набора операций. DBA запускает job и через некоторое время получает письмо с отчетом...

[Перевод - recovery mode ] Тюнинг производительности запросов в PostgreSQL Настройка производительности базы данных — разработчики обычно либо любят это, либо ненавидят. Я получаю удовольствие от этого и хочу поделиться некоторыми методами, которые я использовал в последнее время для настройки плохо выполняющихся запросов в PostgreSQL. Мои методы ...

В Windows 10 Build 19481 не тестируется функция Sets Прошел почти год с тех пор, как Microsoft убрала Sets из Windows, функцию, которая позволяла вам открывать несколько вкладок в любом приложении Windows 10.После почти года молчания энтузиасты Microsoft снова заговорили о Windows Sets, так как знаменитый инсайдер Microsoft Wa...

[Перевод] Мегапакет: как разработчикам Factorio удалось решить проблему с мультиплеером на 200 игроков В мае этого года я участвовал в качестве игрока в MMO-мероприятии KatherineOfSky. Я заметил, что когда количество игроков достигает определённого числа, через каждые несколько минут часть из них «отваливается». К счастью для вас (но не для меня), я был одним из тех игроков,...

Как вырастить Евангелиста для вашей компании Как все начиналось Я Community Manager в компании Plesk. Десять лет назад, после шести лет работы в службе технической поддержки, меня пригласили в отдел R&D заняться построением сообщества пользователей Plesk. Последние 10 лет я занимался созданием и развитием сообщес...

Хватит использовать RSA Привет, %username%! RSA — первый широко используемый алгоритм асимметричной криптографии, который до сих пор популярен в индустрии. Он относительно прост, на первый взгляд. Шифрование и подпись RSA можно посчитать на листке бумаги, чем часто занимаются студенты на лаборат...

ОK, а мне точно нужен Kubernetes? В большой компании часто очень тяжело согласовывать выделение ресурсов под рабочие задачи. Весь Agile с хрустом разбивается о стену трёхнедельного согласования с ИБ новой инфраструктуры. Поэтому к нам часто приходят запросы на перевод инфраструктуры на контейнеры, чтобы вы...

«Черное зеркало» или реклама Picooc? Рекламные ролики. Нормальный человек переносит их в одном случае: когда ему срочно надо сделать перерыв в видео-марафоне. К сожалению, сарафанное радио и соцсети не всегда работают эффективно, так что компании вынуждены прибегать к видеорекламе до сих пор. Мы всегда старал...

Как сэкономить на психотерапевте используя test-driven development У вас когда-нибудь было такое состояние? Хочу показать вам, как TDD может улучшить качество кода на конкретном примере. Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим. Так получилось, что мне довелось написать два практически иден...

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

Самая большая проблема DevOps – это название Статья в Википедии, посвящённая DevOps, начинается с заявления о том, что DevOps – это слияние слов «разработка» и «эксплуатация». Таким образом, это методология, которая объединяет разработку программного обеспечения (Dev) с эксплуатацией ИТ (Ops). Оно, конечно, верно, есл...

Рассекречены параметры тройной камеры смартфона Honor 20: 48 Мп и оптический зум Honor 20 окажется более доступной версией смартфона Huawei P30 – в обоих случаях основные камеры тройные. До сегодняшнего дня ходили только слухи о наборе модулей тыльной камеры Honor 20, но сейчас компания неожиданно сама рассекретила основные параметры. И сделал...

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

[Перевод] Рассказ о том, почему я до сих пор использую jQuery Многие, когда речь заходит о jQuery, говорят так: «Просто пользуйтесь обычным JavaScript. Библиотека jQuery вам не нужна». Что тут сказать? Я не нуждаюсь во многих вещах, но, несмотря на это, хорошо, когда они есть. Так и jQuery. Я в этой библиотеке не нуждаюсь, но её, опред...

RepRapFirmware небольшой обзор прошивки + бонус библиотека для работы TMC2130 c RuRamps4D Я как то уже писал о том как загрузить прошивку RepRapFirmware (RRF) на плату RuRamps4D и подключить дисплей FullGraphic. Прошивка эта очень интересная, но информации про нее на портале немного, поэтому я хочу восполнить этот момент.Для начала я хочу сделать небольшой обзор ...

Обзор: сервис для получения экспертных рекомендаций по профессиональной эмиграции в США RB Relocate Привет, Хабр! Меня зовут Александр, уже пару лет я живу в США, развиваю здесь свои проекты и рассказываю о них. Если вы состоите в хабе IT-эмиграция, то наверняка видели мои статьи о переезде, развитии компаний и сложностях, с которыми приходится сталкиваться на этом пути....

Asus пока ограничилась весьма простыми версиями видеокарты GeForce GTX 1660 Компания Nvidia сегодня представила видеокарту GeForce GTX 1660. Производители видеокарт, конечно, сразу добавили на свои сайты соответствующие адаптеры. У Asus таких пока четыре, но в ближайшее время их явно станет больше, так как пока нет ни одной карты семейства ROG....

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

Тайная вечеря разработчиков Казалось бы, в небольших командах разработки (20+ человек) не должны возникать проблемы с разобщённостью, работой над общим кодом и принятием технических решений. Но все мы знаем, что это не так (не говоря уже о командах вроде нашей, где 80+ человек). Три года назад для их р...

Как включить Adobe Flash Player в Google Chrome Что не так с Adobe Flash? Да практически всё. Тяжелая и неповоротливая, эта технология нагружает устройства, на которых ее запускают, заставляя их работать медленнее, чем они способны на самом деле. Долгое время она практически не имела альтернатив, но со временем интерес к...

[Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с...

[Перевод] Не только обработка: Как мы сделали из Kafka Streams распределенную базу данных, и что из этого вышло Привет, Хабр! Напоминаем, что вслед за книгой о Kafka мы выпустили не менее интересный труд о библиотеке Kafka Streams API. Пока сообщество только постигает границы возможностей этого мощного инструмента. Так, недавно вышла статья, с переводом которой мы хотим вас позна...

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

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

Intel публикует кодер AV1 с открытым исходным кодом для серверов потокового вещания Компания Intel выпустила видеокодер с открытым исходным кодом для нового формата видео AV1, предназначенный для серверов потокового вещания. Кодер SVT-AV1 (Scalable Video Technology-AV1) сопровождается лицензией BSD-2 и доступен для операционных систем Linux, Windows и...

Тестирование поддержки FreeSync в GeForce: это всё меняет Приятным сюрпризом от NVIDIA на CES 2019, конечно, стало заявление о поддержке технологии VESA Adaptive Sync в продуктах GeForce — проще говоря, видеокарты NVIDIA теперь поддерживают AMD FreeSync. На данный момент только ускорители серий Pascal и Turing получили такую совмес...

Выбираем мобильного разработчика за 5 шагов: взгляд IT-компании Всем привет! Мобильные приложения сегодня приобретают все большее значение для бизнеса, но найти надежного подрядчика – непростая задача. Мы в mobile.SimbirSoft пообщались с нашими заказчиками и выяснили, что при выборе исполнителя их всегда волнует следующий вопрос: на что ...

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

Реализация моделей seq2seq в Tensorflow Порождение данных с помощью рекурентной нейронной сети становится все более популярным методом и находит свое применение во многих областях компьютерной науки. С начала рождения концепции seq2seq в 2014 году прошло всего пять лет, но мир увидел множество применений, начиная ...

Иструменты Node.js разработчика. Очереди заданий (job queue) При реализации бэка веб-приложений и мобильных приложений, даже самых простых, уже стало привычным использование таких инструментов как: базы данных, почтовый (smtp) сервер, redis-сервер. Набор используемых инструментов постоянно расширяется. Например, очереди сообщений, суд...

[Перевод] Эффекты фильтрации SVG. Часть 4. Двухцветные изображения при помощи feComponentTransfer Эта четвертая статья серии об SVG-фильтрах, в которой Sara Soueidan покажет вам, как использовать feComponentTransfer для создания эффекта двухтонового фильтра. Предлагаемая серия статей "Эффекты фильтрации SVG" Sara Soueidan, внештатного разработчика UI/UX интерфейса и авт...

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

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

Retentioneering: как мы open-source инструменты для продуктовой аналитики на Python и Pandas написали Привет, Хабр. Эта статья посвящена итогам четырехлетней разработки набора методов и инструментов обработки траекторий движения пользователей в приложении или на сайте. Автор разработки — Максим Годзи, который стоит во главе команды создателей продукта, он же — автор статьи. ...

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

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

Собираем окружение для современного TDD на JavaScript + VS code TDD уже давно не является чем-то диковинным: на хабре можно найти об этом подходе сотни статей, а каждый новичок знает, какую книгу об экстремальном программировании ему нужно прочитать. Многие мои коллеги тоже используют TDD. Они добавляют тест, пишут код, рефакторят, по...

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

Alexa сможет определить остановку сердца, слушая дыхание человека Если вам не повезет и у вас остановится сердце, шансы будут невелики. Из 400 000 человек, которые сталкиваются с этим каждый год в отдельной стране, выживает менее 6%. Это главная причина естественной смерти. Однако вероятность выжить будет намного выше, если оказать незаме...

Травим данные с travajs В своем предыдущем посте я описал основные моменты при разработке другой opensource библиотеки. Забыл упомянуть еще один: если никому не рассказывать про библиотеку, какая бы нужная она ни была, скорее всего никто про нее так и не узнает. Итак, встречайте trava.js — сочна...

Как перенести музыку из iTunes на Android-смартфон Переносим музыку из медиатеки iTunes на Android Если вы только что перешли на Android с iPhone, то почти наверняка задаетесь вопросом, как перенести музыку с вашего старого устройства на новое. Конечно, если вы использовали какие-либо потоковые сервисы для проигрывания аудио...

Apple рассказала, почему не откажется от Touch ID За Face ID — будущее, но Touch ID ещё не в прошлом Несмотря на то что Apple редко напрямую спрашивает своих пользователей о том, чего они ждут от будущих продуктов компании, обвинить её в неинформированности или отставании от трендов нельзя. В Купертино то и дело прово...

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

[Из песочницы] Хранение настроек в памяти Базового устройства Привет! Если Вам посчастливилось подержать в руках микроконтроллер ESP32 (мне посчастливилось больше и у меня в руках M5Stack) от китайской компании ESPRESSIF, то этот пост, возможно, будет полезен. Бывает ситуация, когда необходимо сохранить какие-то параметры в энергонеза...

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

[Из песочницы] Mikroik. IPSEC vpn за NAT как клиент Доброго всем дня! Так уж сложилось, что в нашей компании в течении последних двух лет мы потихоньку переходим на микротики. Основные узлы построены на CCR1072, а локальные точки подключения компов на устройствах попроще. Само собой существует и объединение сетей по IPSEC tu...

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

[Перевод] Дизайн уровней и геймплея roguelike на примере Cogmind Многие годы я использовал довольно стандартизированный подход к дизайну каждой новой карты Cogmind, и хотя сейчас их счёт уже идёт на десятки, в своём блоге я его никогда не рассматривал. В основном это вызвано тем, что подробный анализ всего процесса потребует раскрытия ку...

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

[Перевод] Ускоряем WebGL/Three.js с помощью OffscreenCanvas и веб-воркеров В этом руководстве я расскажу как с помощью OffscreenCanvas мне удалось вынести весь код работы с WebGL и Three.js в отдельный поток веб-воркера. Это ускорило работу сайта и на слабых устройствах исчезли фризы во время загрузки страницы. Статья основана на личном опыте, к...

Анонс весенне-летнего сезона вебинаров CleverTALK Уже в этот четверг начинается шестнадцатый сезон вебинаров по управлению ИТ CleverTALK. В этой новости представлено описание каждого вебинара: дата проведения, программа и ведущий. Начало каждого вебинара традиционно в 11:00. 16 мая. ITIL Practitioner – актуальная книжка или...

Чипсеты для Ryzen 3000 готовит не только AMD, но и ASMedia Несмотря на то, что флагманский набор системной логики для будущих процессоров Ryzen 3000, основанных на архитектуре Zen 2, компания AMD разрабатывает самостоятельно, это вовсе не означает, что сотрудничество с ASMedia будет разорвано. Как сообщает DigiTimes со ссылкой на от...

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

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

[Перевод] Почему вам стоит использовать язык Ада для программирования вашей системы Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада...

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

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

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

Microsoft Azure Developer Camp Россия 23 мая | 9:30 – 19:00 Офис Microsoft, БП Крылатские Холмы, ул. Крылатская 17к1, Переговорные комнаты Уран, Юпитер, Сатурн Москва, Россия Распространение облачных технологий постепенно изменяет методы разработки приложений, и перед программистами возникают новые сложные зад...

[Из песочницы] Упрощаем работу с базами данных в Qt с помощью QSqlRelationalTableModel Доброго времени суток, Хабровчане! В этой статье я хочу рассказать о своем опыте упрощения взаимодействия с базами данных SQL при разработке десктопного приложения с помощью класса QSqlRelationalTableModel кроссплатформенной библиотеки Qt. Пролог С Qt я познакомился еще буд...

Яндекс открыл бета-тестирование библиотеки минус-фраз Каталога с наборами фраз, которые можно использовать сразу в нескольких группах

Yandex Retro Games Battle 2019 — разрабатываем игры для ZX Spectrum Привет! Меня зовут Дмитрий Пугачев, я помогаю развивать музей Яндекса, в котором наша команда собирает редкие и интересные экземпляры вычислительной техники. Недавно мы приглашали читателей Хабра посетить наш музей в рамках акции «Ночь музеев». Честно говоря, мы не ожидали, ...

[Перевод] Как писать меньше кода и получать больше толку Как справедливо заметил легендарный писатель Жюль Верн: «Хорошо использованный минимум вполне достаточен». В нашу эпоху понятие хорошо использованного минимума применимо и к коду. Печально, но факт: в современном мире кода слишком много. Если быть точнее, то слишком много ...

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

[Перевод] Улучшаем письменный английский: как понять, когда использовать пассивный залог Один из наиболее часто встречаемых в интернете советов по улучшению письменного английского звучит так: «Не используйте пассивный залог» (passive voice). Об этом пишут в различных блогах, такие конструкции в 100% случаев подчеркивают многие инструменты для проверки граммат...

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

Git изнутри и на практике Умение работать внутри системы контроля версий — навык, который требуется каждому программисту. Зачастую может показаться, что закапываться в Git и разбираться в его внутренностях — лишняя потеря времени и основные задачи можно решить через базовый набор команд. Команде App...

Как работает датчик наклона Нередко в ходе работы над определенными проектами появляется необходимость осуществлять наклоны объекта, повороты, смещения и вибрацию. Для осуществления данных задач необходимо использовать специальные датчики наклона. На сайте http://wreckage.ru/tilt-sensors-ky-020-and-sw-...

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

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

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

«“Сделать приложение для людей” — это не набросать на коленке»: о мобильной разработке в ЦФТ Какие проблемы возникают при увеличении мобильной команды в 10 раз? По каким причинам в одной и той же компании Android-разработчики предпочитают использовать известные библиотеки, а в iOS чаще пишут собственные решения? Каково живётся мобильным разработчикам в финтехе? В...

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