Социальные сети Рунета
Воскресенье, 24 февраля 2019
14 августа 2018   11:54

angular-ngrx-data — state management и CRUD за пять минут

На сегодняшний день ни одно большое SPA приложение не обходится без state management (управления состоянием). Для Angular по данному направлению есть несколько решений. Самым популярным из них является NgRx. Он реализует Redux паттерн с использованием библиотеки RxJs и обла...

Подробности на сайте: habr.com

Использование FPC-библиотеки «InternetTools» в Delphi На самом деле, статья несколько шире – она описывает способ, позволяющий прозрачно задействовать и многие другие библиотеки (причём не только из мира Free Pascal), а InternetTools выбрана из-за своего замечательного свойства – это тот случай, когда (как ни удивительно) отсут...

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

Повторное использование приватных Android библиотек с помощью Sonatype Nexus Repository OSS Думаю, что у многих возникала необходимость повторно использовать отдельные модули своего Android приложения в другом проекте. Для решения этой задачи есть простые пути, например, публично разместить Android библиотеку с помощью JitPack. Решение отличное, но если нужно разме...

[Из песочницы] Освоение Vuex — с нуля до героя Привет, Хабр! представляю вашему вниманию перевод статьи «Mastering Vuex — Zero to Hero» автора Sanath Kumar. Официальная документация Vuex определяет его как паттерн управления состоянием + библиотека для приложений Vue.js. Но что это значит? Что такое паттерн управления со...

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

Работа с изображениями на Python в 2017 году Тема сегодняшнего разговора — чему же научился Python за все годы своего существования в работе с изображениями. И действительно, кроме старичков родом из 1990 года ImageMagick и GraphicsMagick, есть современные эффективные библиотеки. Например, Pillow и более производительн...

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

[Из песочницы] Радость Haxe. Роман с обделенным вниманием языком программирования Привет, Хабр! Представляю вашему вниманию перевод статьи The Joy of Haxe. FontStruct’s love affair with a neglected programming language. Довольно грубая попытка воспроизвести логотип Haxe в редакторе шрифтов FontStruct Недавно мы открыли исходный код наиболее важной част...

[Перевод] Как настроить архивирование резервных копий Veeam в Microsoft Azure Blob Storage с помощью StarWind VTL Предлагаю вашему вниманию перевод статьи моего коллеги Andrew Zhelezko о применении интегрированного решения для хранения резервных копий на базе продуктов Veeam, StarWind и Azure. Многие компании по сей день используют для своих сервисов ленточные библиотеки, однако всё бо...

REST-assured: полезные советы В данной статье я собрал полезные советы по использованию REST-assured, одной из самых распространенных Java-библиотек для автоматизации тестирования REST-API. Все примеры жизненные, они собраны из моей практики проведения code-review в более чем 50 проектах с автотестами....

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

Что внутри XGBoost, и при чем здесь Go В мире машинного обучения одними из самых популярных типов моделей являются решающее дерево и ансамбли на их основе. Преимуществами деревьев являются: простота интерпретации, нет ограничений на вид исходной зависимости, мягкие требования к размеру выборку. Деревья имеют и кр...

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

JavaScript-библиотека eslint-scope была скомпрометирована и похищала учетные данные nmp Неизвестные лица взломали разработчика популярной JavaScript-библиотеки eslint-scope (модуль для ESLint). Злоумышленники внедрили в библиотеку вредоносный код, похищавший учетные данные пользователей.

Как организовать общее состояние в react-приложениях без использования библиотек (и зачем нужен mobx) Cразу небольшой спойлер — организация состояния в mobx ничем не отличается от организации общего состояния без использования mobx на чистом реакте. Ответ на закономерный вопрос зачем тогда собственно этот mobx нужен вы найдете в конце статьи а пока статья будет посвящена воп...

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

[Из песочницы] Работа с формами в React.js, используя базовый инструментарий Введение За время работы на React.js мне часто приходилось сталкиваться с обработкой форм. Через мои руки прошли Redux-Form, React-Redux-Form, но ни одна из библиотек не удовлетворила меня в полной мере. Мне не нравилось, что состояние формы хранится в reducer, а каждое собы...

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

[Из песочницы] Использование функций JavaScript для построения 3D-моделей В данной статье рассмотрено применение геометрической библиотеки функций WebGeometry для построения моделей сложных многогранников. Библиотека написана на языке Javascript. Ссылка на GitHub с примером, в котором приведен простейший пример использования библиотеки. Замечани...

[Перевод] Лучший Способ Программирования (Better way To Code) От переводчика: Я не являюсь ни профессиональным программистом ни профессиональным переводчиком, но появление описанного в статье инструмента от создателя популярной библиотеки D3.js произвело на меня сильное впечатление. С удивлением обнаружил, что на Хабре, да и вообще в ...

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

[Из песочницы] Управление своими модулями для CMS c использованием composer Здравствуйте, друзья! Появление популярного менеджера зависимостей в PHP — является одним из важнейших событий в жизни PHP-сообщества. Composer разделил время на "до" — когда наши самописные библиотеки лежали в zip-архивах или просто разбросаны по папкам и копирова...

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

[Перевод] Используем Ramda вместе с Redux Это перевод статьи Using Ramda With Redux, в которой рассказывается о том, как упростить ваш код на основе библиотеки Redux с помощью библиотеки Ramda, позволяющей писать код в функциональном стиле. P.S. Если вы не знаете, что такое Ramda — приглашаю вас к переводу цикла ста...

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

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

Примеры использования customTask в Google Tag Manager Материал основан на статье Simo Ahava «customTask — The Guide». Примерно год назад (в 2017) произошло обновление JS библиотеки Universal Analytics. Обновление принесло с собой такую замечательную штуку как customTask. Данная фича, в рамках Google Tag Manager, позволяет выпо...

UI framework за 5 минут Некоторое время назад я задумался, почему так много UI frameworks для web? Я довольно давно в IT и не помню чтоб UI библиотеки на других платформах рождались и умирали с такой же скоростью как в WEB. Библиотеки для настольных OS, такие как: MFC, QT, WPF, и т.д. — были монст...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

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

[recovery mode] Изучаю Rust: Как я игру «Змейка» сделал Недавно начал изучать язык программирования Rust и так как когда я изучаю новый язык я делаю на нем «Змейку» то решил сделать именно ее. Для 3D графики использовалась библиотека Three.rs которая является портом библиотеки Three.js → Код → Скачать и поиграть Читать дальше...

ИОК: библиотеки GCrypt и KSBA как альтернатива OpenSSL с поддержкой российской криптографии. Продолжение Мы продолжаем разговор об альтернативе openssl и речь пойдет о библиотеке libksba, которая входит в состав GnuPG. Библиотека libksba предоставляет высокоуровневый интерфейс для работы с такими объектами инфраструктуры открытых ключей как сертификаты, запросы на сертификаты, ...

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

[Из песочницы] Паттерны корутин asyncio: за пределами await Предисловие переводчика: В очередной раз наступив на грабли при работе с python asyncio я отправился на просторы интернета, чтобы найти что-то более приятное, чем сухая документация. Мне попалась статья Yeray Diaz "Asyncio Coroutine Patterns: Beyond await", в котор...

[Из песочницы] Неочевидные особенности применения Rotativa для генерации PDF в ASP.NET MVC приложении Многие разработчики сталкиваются с задачей создания PDF отчетов для веб приложений, вполне естественный запрос. Я бы хотел представить вашему вниманию свой опыт работы с такой задачей при использовании библиотеки Rotativa для генерации отчетов. Это одна из самых, на мой взгл...

Разработка для Sailfish OS: отображение графиков с использованием D3.js и QML Canvas Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдет о работе с графиками в Sailfish-приложении. Мы расскажем о поиске и подключении библиотеки и о том, как мы отображае...

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

[Перевод] Де-факто закрытые исходники: аргументы в пользу понятного софта По следам истории «Бэкдор в одной из зависимостей библиотеки EventStream» — прим. пер. Меня как давнего сторонника FOSS исключительно удручает то, что происходит в последние несколько лет с разными сообществами FOSS (за некоторым исключением, конечно). Рассмотрим один из п...

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

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

[Перевод] Внедрение зависимостей в Go Недавно я создал небольшой проект на языке Go. После нескольких лет работы с Java я был сильно удивлён тем, как вяло внедрение зависимостей (Dependency Injection, DI) применяется в экосистеме Go. Для своего проекта я решил использовать библиотеку dig от компании Uber, и он...

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

Модуль управления силовым преобразователем: разработка и сборка Не для кого не секрет, что сложные современные преобразователи, например, online UPS, работают под управлением DSP/МК или ASIC. Основными поставщиками DSP для силовой электроники являются две компании — Texas Instruments и Infineon, но сегодня речь пойдет о продукции компани...

5 простых шагов к созданию сервера для тестирования android REST-запросов Добрый день. Не так давно возникла необходимость реализации в android приложении общения с API сервера посредством REST-запросов. Реализовать программную часть на android не составило большого труда, в связи с наличием удобной и простой библиотеки Retrofit. Однако, написав...

Патчим AndroidX На Google I/O 2018 была представлена замена существующим support-библиотекам — AndroidX Изначально, support-библиотеки разрабатывались для обратной совместимости новых API-интерфейсов и были тесно связаны с операционной системой. Разработка support-библиотек велась во внутр...

[Из песочницы] Быстрая математика с фиксированной точкой для финансовых приложений на Java Не секрет, что финансовая информация (счета, проводки и прочая бухгалтерия) не очень дружит с числами с плавающей точкой, и множество статей рекомендует использовать фиксированную точку (fixed point arithmetic). В Java этот формат представлен, по сути, только классом BigDeci...

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

Что мы знаем об Ant Design Сложно представить себе веб-приложение на React без библиотеки компонентов. Вы либо постепенно пополняете такую библиотеку сами по мере необходимости, либо используете сборную солянку из готовых решений, бережно отобранных по количеству звезд в безбрежном океане npm-модулей....

Интерактивная карта для веб-приложения за пару часов В прошлой статье я кратко рассказала о возможностях kepler.gl — нового Open Source инструмента для визуализации и анализа больших наборов гео-данных. Рисунок 1. Варианты карт, созданных с помощью kepler.gl (by Uber) Данное веб-приложение позволяет за считанные минуты созда...

Как построить IIoT архитектуру своими руками. Часть 2: «Вещи» В предыдущей статье мы достаточно кратко рассмотрели организацию и процессинг IoT данных с помощью проекта Apache NiFi. Этой статьей мы открываем серию, в которой детально расскажем о каждом этапе, начиная от самих устройств и заканчивая DataLake платформой аналитикой, машин...

[Перевод] Data Science в Visual Studio Code с использованием Neuron Сегодня у нас небольшой рассказ о Neuron, расширении для Visual Studio Code, которое является настоящей киллер-фичей для дата-сайнтистов. Оно позволяет совместить Python, любую библиотеку машинного обучения и Jupyter Notebooks. Подробнее под катом! Читать дальше →

[Перевод] Архитектура Redux. Да или нет? Автор материала, перевод которого мы сегодня публикуем, говорит, что входит в команду мессенджера Hike, которая занимается новыми возможностями приложения. Цель этой команды заключается в том, чтобы воплощать в реальность и исследовать идеи, которые могут понравиться пользов...

Centrifugo v2 — будущее сервера real-time сообщений и библиотека для Go Возможно, некоторые из читателей уже слышали про Centrifugo раньше. В данной статье речь пойдет о разработке второй версии сервера и новой real-time библиотеке для языка Go, лежащей в его основе. Меня зовут Александр Емелин. Летом прошлого года я присоединился к команде Авит...

Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения Часть 2: Решение И снова здравствуйте! Сегодня я продолжу свой рассказ о том, как мы классифицируем большие объёмы данных на Apache Spark, используя произвольные модели машинного обучения. В первой части статьи мы рассмотрели саму постановку задачи, а также основные проблемы...

Управление зависимостями, события и паттерны Observer и Mediator Паттерны в чистом виде встречаются довольно редко и при изучении паттернов, особенно на ранних этапах, важны не столько сами паттерны, сколько понимание механизмов (тактик), с помощью которых они реализуются. В этой статье я хотел бы описать один из таких механизмов (управле...

[Из песочницы] MVIDroid: обзор новой библиотеки MVI (Model-View-Intent) Всем привет! В этой статье я хочу рассказать о новой библиотеке, которая привносит шаблон проектирования MVI в Android. Эта библиотека называется MVIDroid, написана 100% на языке Kotlin, легковесная и использует RxJava 2.x. Автор библиотеки лично я, исходный код её доступен ...

Краткий обзор алгоритма машинного обучения Метод Опорных Векторов (SVM) Предисловие В данной статье мы изучим несколько аспектов SVM: теоретическую составляющую SVM; как алгоритм работает на выборках, которые невозможно разбить на классылинейно; пример использования на Python и имплементация алгоритма в библиотеке SciKit Learn. Читать даль...

Тестирование приложения на Go как черный ящик при помощи Rspec Хорошо написанные тесты значительно уменьшают риск “поломать” приложение при добавлении новой фитчи или исправлении ошибки. В сложных системах, состоящих из нескольких взаимосвязанных компонентов, наиболее сложным является тестирование их точек соприкосновения. В этой стат...

Бэкдор в одной из зависимостей библиотеки EventStream Еженедельно из репозитория NPM загружается более 1,9 миллионов копий библиотеки EventStream. Она используется во многих крупных проектах для простой и удобной работы с потоками в Node.JS. Среди прочих, эта библиотека обрабатывает потоки и в популярном криптокошельке Copay ...

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

Визуализация данных для вашего Web-проекта Автор: Александр Кашеверов, Senior JavaScript Developer Добро пожаловать и приятного чтения! Статья для тех, кто раньше не использовал графики в веб, но собирается. Также для тех, кто хочет глубже познакомиться с этой темой. Цель — осветить предметную область и упрост...

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

Из Erlang/Elixir в Java и обратно. Приключение на 20 минут Всем хай! Когда приходится общаться из Erlang/Elixir мира с Java и обратно — не так уж и много вариантов имеется. Всеми заброшенный jinterface и новая библиотека encon, базовый пример использования которой представлен под катом. Читать дальше →

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

[Перевод] Микросервисы на Go с помощью Go kit: Введение В этой статье я опишу использование Go kit, набора инструментов и библиотек для создания микросервисов на Go. Эта статья — введение в Go kit. Первая часть в моем блоге, исходный код примеров доступен здесь. Читать дальше →

[Из песочницы] Архитектура MVVM в мобильных приложениях на Flutter Я начала изучать Flutter и недавно потратила целый день пытаясь внедрить архитектуру Model-View-ViewModel в свое приложение на Flutter. Обычно я пишу под Андроид на Java, MVVM реализую с помощью AndroidViewModel и LiveData/MutableLiveData. То есть опыт программирования и при...

Поваренная книга Ruby-разработчика: Domain Driven Design рецепты ( 2-я часть, структура и взаимодействие ) Введение В первой статье мы выделили область применения обозначенных практик, для каких проектов их можно применять, а для каких не следует. В данной статье я хотел бы сделать краткий обзор основных принципов DDD, а также поделиться личным опытом их применения. Более подро...

[Из песочницы] Как я заменил RxJava на корутины в своем проекте и почему вам вероятно также стоит это сделать Привет, Хабр! Представляю вам перевод статьи автора Paulo Sato на тему использования Kotlin Coroutines вместо RxJava в своих Android проектах. RxJava как базука, большинство приложений не использует и половины её огневой мощи. В статье пойдет речь о том, как заменить её кор...

«Память в вечном огне и в сердцах не умрет» 22 июня отмечается День памяти и скорби. Эта дата является началом Великой Отечественной войны. В этот день по всей стране проходит акция «Свеча памяти». Мы вспоминаем всех тех, кто погиб, защищая Родину, кто был замучен фашистами, кто умер от голода и холода. Посетители биб...

Пишем модуль ядра Linux: GPIO с поддержкой IRQ Хабр, привет! Данная статья посвящена разработке GPIO (General-Purpose Input/Output) модуля ядра Linux. Как и в предыдущей статье мы реализуем базовую структуру GPIO драйвера с поддержкой прерываний (IRQ: Interrupt Request). Читать дальше →

[Из песочницы] Взлет Хелидона Привет, Хабр! Представляю вашему вниманию перевод статьи Дмитрия Корнилова Helidon Takes Flight. Я не являюсь сотрудником Oracle, но мне показалась интересной статья о новом, набирающем популярность, типе фреймворков. Итак, поехали… Сегодня хороший день. Сегодня мы представ...

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

Как создавать библиотеки компонентов в Figma, экономя бюджет, на примере онлайн-аукциона В этой статье мы расскажем, как разрабатывали не сферическую в вакууме, а самую настоящую библиотеку компонентов, и как нам удалось игнорируя излишний перфекционизм (не в ущерб проекту) сэкономить 25% от заложенного бюджета. Это первая часть статьи, в которой будет много ...

Изучаем климат городов России с помощью Python На Python можно работать с данными и визуализировать их. Пользуются этим не только программисты, но и ученые: биологи, физики, социологи. Сегодня мы вместе с shwars, куратором нашего курса Python jumpstart for AI, ненадолго превратимся в метеорологов и изучим климат городов ...

Генератор клиента к базе данных на Golang на основе интерфейса Генератор клиента к базе данных на Golang на основе интерфейса. Для работы с базами данных Golang предлагает пакет database/sql, который является абстракцией над программным интерфейсом реляционной базы данных. С одной стороны пакет включает мощную функциональность по управ...

Пишем игру на LWJGL Создание игры на LWJGL #1 Написание игры — сложный и интересный процесс, который требует много времени. В данном цикле статей я расскажу, как создать простую 3D игру на Java с использование библиотеки LWJGL. Для создания своей игры необходимо следующее: Умения писать код ...

[Из песочницы] Воспроизведение медиафайлов с помощью библиотеки VLCj Предыстория (можно сразу пропустить и перейти к следующему пункту) При изучении Java, сразу после того как освоил Swing стало интересно, «А как же воспроизвести аудио, или видео?». Долго рылся на просторах Гугла, откопал там несколько библиотек которые в теории должны были...

[Из песочницы] UE4 | Инвентарь для Multiplayer #1 | Хранилище данных на DataAsset В этой статье я постараюсь раскрыть смысл и методику создания DataAsset, как хранилища для различного рода данных, а нашем случае это библиотека для Actors и их параметров. Читать дальше →

[Из песочницы] Реализация Вавилонской библиотеки В этой статье Вы узнаете всё о Вавилонской библиотеке, а самое главное — как воссоздать её, да и вообще любую библиотеку. Читать дальше →

В Департаменте культуры Москвы назвали 10 самых популярных библиотек столицы Как сообщает официальный портал мэра Москвы Mos.ru, в столичном Департаменте культуры составили рейтинг самых популярных в 2018 году московских библиотек. При формировании рейтинга эксперты учитывали такие показатели, как количество выданных научных и художественных книг, ча...

[Из песочницы] Node.JS: библиотека для модификации http ответов Некоторое время назад писал сайт с бэкендом на Express/Node.JS. Возникла проблема с минификацией ответов. Нашел много готовых пакетов, но у всех была проблема — не минифицировался html после шаблонов. В итоге принял решение написать свой маленький и родной велосипед — библио...

Свободные библиотеки для создания и редактирования файлов PDF Неделю назад состоялся релиз свободной библиотеки для генерации pdf-файлов версии OpenPDF 1.1.0, самый значительной апгрейд этой библиотеки за последнее время. OpenPDF — это Java-библиотека для создания и редактирования файлов PDF, которая распространяется под двойной лицен...

[Из песочницы] Кроссплатформенная разработка с помощью .NET, реактивного программирования, шаблона MVVM и кодогенерации Сегодня платформа .NET является по-настоящему универсальным инструментом – с её помощью можно решать широчайший круг задач, включая разработку прикладных приложений для популярных операционных систем, таких, как Windows, Linux, MacOS, Android и iOS. В настоящей статье рассм...

Знакомство с SOCI — C++ библиотекой доступа к базам данных Вступление Сама библиотека довольно таки зрелая, — первый релиз на гитхабе датируется аж 2004 годом. Я был удивлён когда хабр в поиске не выдал мне ни одной ссылки на статьи, в которых бы упоминалось об этой замечательной библиотеке. SOCI поддерживает ORM, через специализаци...

Corona SDK аномалия библиотеки json Всем привет. Мало для кого будет секретом, что использование json в ваших проектах на Corona SDK может сделать некоторые вещи довольно удобными. Я обнаружил одну интересную аномалию при работе с библиотекой, которая как показала практика, вовсе не является ошибкой, а скорее ...

Представляем библиотеку kubedog для слежения за ресурсами Kubernetes Рады анонсировать новую Open Source-разработку компании «Флант» для DevOps-специалистов и не только — kubedog. Это написанная на Go библиотека и CLI на её основе для отслеживания событий ресурсов Kubernetes и сбора их логов. На данный момент библиотека поддерживает слежен...

[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 2 — Инструменты и библиотеки, AutoML, RL, этика в AI Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...

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

[Bug bounty | mail.ru] Доступ к админ панели партнерского сайта и раскрытие данных 2 млн пользователей Относительно недавно я перешёл от поиска уязвимостей на случайных сайтах к Bug Bounty площадкам, и для многих такой выбор кажется очевидным — в таких программах исследователь в 90% случаев получит не только хороший опыт, но и гарантированную награду за валидную уязвимость,...

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

Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры) Введение Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучи...

Запускаем дисплей на STM32 через LTDC… на регистрах Приветствую! Недавно для проекта потребовалось запустить дисплей, который имел интерфейс LVDS. Для реализации задачи был выбран контроллер STM32F746, т.к. я с ним уже достаточно много работал и у него есть модуль LTDC, который позволяет работать напрямую с дисплеем без контр...

Обзор методов сегментации изображений в библиотеке scikit-image Thresholding Это самый простой способ отделить объекты от фона, выбрав пиксели выше или ниже определенного порога. Это обычно полезно, когда мы собираемся сегментировать объекты по их фону. Вы можете прочитать больше о пороге здесь. Люди, знакомы с фильмом «Терминатор», нав...

Удалённое выполнение кода через загрузку картинок на вашем сервере или локальном компьютере в ghostscript/imagick Кратко: если у вас на сайте есть загрузка изображений и вы обрабатываете их при помощи популярной библиотеки ImageMagick, то загрузив картинку можно выполнить shell-команду с правами юзера веб-сервера (например: загрузить RAT, майнер, слить исходники, получить доступ к базе,...

Несколько версий PHP на хосте с помощью Docker Часто перед разработчиками PHP встаёт задача проверить работу веб-приложения под несколько версий интерпретатора. Решить её можно разными способами. Можно банально установить разные версии PHP на один хост, но это чревато конфликтами библиотек и другими сложностями. Вторая к...

Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения Часть 1: Постановка задачи Привет, Хабр! Я архитектор решений в компании CleverData. Сегодня я расскажу про то, как мы классифицируем большие объемы данных с использованием моделей, построенных с применением практически любой доступной библиотеки машинного обучения. В этой с...

В Америке предложили заменить все библиотеки хабами Amazon. Общественность негодует Каждый работающий американец тратит около $500 в год на поддержку библиотек, которыми не пользуется. И это несмотря на то, что федеральное финансирование библиотек сократилось на 50% за последнее десятилетие. Но все эти деньги можно сэкономить, а параллельно – улучшить кач...

Перфоратор для дома - лучшие модели В этой статье я решил поделиться своими исследованиями о том, какие перфораторы считаются на сегодняшний момент самыми лучшими. Хочу представить топ 3 перфораторов для использования в домашнем ремонте. Все данные я собраны с сайта https://storgom.ua/perforatory.html. Из дан...

[Перевод] Как работают библиотеки виртуального окружения Вы когда-нибудь задумывались о том, как работают библиотеки виртуального окружения в Python? В этой статье я предлагаю ознакомится с главной концепцией, которую используют все библиотеки для окружений, такие как virtualenv, virtualenvwrapper, conda, pipenv. Изначально, в Py...

Яндекс.Музыка 2018.08 #2832 Яндекс.Музыка — универсальный плеер для вашей музыкальной коллекции. Слушайте в одном приложении музыку из библиотеки смартфона, постоянно растущего каталога Яндекс.Музыки, включающего более 8 млн. треков, и с Яндекс.Диска. Возможности приложения Яндекс.Музыка: беспла...

JsonWriterSax — библиотека для создания JSON Некоторое время назад я писал приложение на c++/Qt, которое отправляло по сети большие объемы данных в формате JSON. Использовался стандартный QJsonDocument. При внедрении столкнулся с низкой производительностью, а также неудобным дизайном классов, который не позволял нормал...

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

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

Как отличить хороший ремонт от плохого, или как мы в SRG сделали из Томита-парсера многопоточную Java-библиотеку В этой статье речь пойдет о том, как мы интегрировали разработанный Яндексом Томита-парсер в нашу систему, превратили его в динамическую библиотеку, подружили с Java, сделали многопоточной и решили с её помощью задачу классификации текста для оценки недвижимости. Читать да...

Патефон 8.2.6 Патефон — поисковик аудиокниг из интернета с возможностью онлайн прослушивания и скачивания. С приложением Аудиокниги Патефон самые популярные книги и долгожданные аудио новинки можно слушать совершенно бесплатно! Плеер всегда помнит место, где вы прервали прослушивание ауди...

ConvNets. Создание прототипа проекта с помощью Mask R-CNN Привет, Хабр! Мы, наконец, дождались еще одной части серии материалов от выпускника наших программ “Специалист по большим данным” и “Deep Learning”, Кирилла Данилюка, об использовании популярных на сегодняшний день нейронных сетей Mask R-CNN как части системы для классификац...

Создаем 2D игру на Python с библиотекой Arcade Всем привет! Мы продолжаем делится с вами интересными найденными вещами про питончик. Сегодня вот решили разобраться с 2D играми. Это, конечно, немного попроще, чем то, что проходят у нас на курсе «Разработчик Python», но не менее интересно это уж точно. Поехали. Python ...

[Из песочницы] Обзор и сравнение квантовых программных платформ гейтового уровня Привет, Хабр! Представляю вашему вниманию перевод статьи "Overview and Comparison of Gate Level Quantum Software Platforms" автора Ryan LaRose. Квантовые компьютеры доступны для использования в облачной инфраструктуре, но в тоже время недавний бурный рост квантовых...

В JavaScript-библиотеке event-stream обнаружен бэкдор для кражи криптовалюты с кошельков Copay Злоумышленник внедрил в популярную библиотеку вредоносный код, похищавший Bitcoin и Bitcoin Cash с кошельков Copay.

Обновление библиотеки SPPermission и хейтер — “Какая-то библиотека, кто-то обновил… Хейтер тут причем? Почему мне, отличному разработчику, нужно тратить время на эту статью?” мог подумать ты, мой дорогой друг. Не нужно тратить время. Это просто вечернее чтиво с долей несмешных юморесок. Текст будет о библиотеке Reque...

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

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

[Из песочницы] Автоматизация с Codeception + Gherkin + PageObject для самых маленьких Не найдя в интернете ни одного конкретного примера реализации Gherkin с паттерном проектирования Page Object для Codeception, подумалось, что будет не лишним рассказать интернету о собственной реализации этого паттерна. Эта статья рассчитана скорее на тех, кто уже немного...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 2 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. По...

Список игр Xbox Game Pass пополнила Life is Strange: Before the Storm В декабре библиотека сервиса Xbox Game Pass пополнилась двенадцатью играми разных жанров. На этом Microsoft решила не останавливаться и добавила в список ещё один проект. Им оказалось интерактивное приключение Life is Strange: Before the Storm. Игра является приквел...

Django Channels – ответ современному вебу В мире Django набирает популярность дополнение Django Channels. Эта библиотека должна принести в Django асинхронное сетевое программирование, которое мы так долго ждали. Артём Малышев на Moscow Python Conf 2017 объяснил, как она это делает, зачем она это делает и делает ли в...

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

[Перевод] Как создать приложение дополненной реальности с помощью ARCore В этом гайде вы узнаете, как добавить 3D-модели в реальный мир. Библиотека ARCore от Google позволяет добавлять на 2D-изображение (картинка или видео) полноценные 3D-модели. Вам необходимо предоставить системе некое опорное изображение, которое ARCore будет искать в реально...

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

[Из песочницы] Странности синтеза при работе с FPGA На сегодняшний день существует два наиболее распространённых языка описания аппаратуры: Verilog/SystemVerilog и VHDL. Сами языки описания аппаратуры являются достаточно универсальными средствами, но всегда ли это так? И от чего может зависеть «не универсальность» языка описа...

Zeppelin OS — еще один шаг к безопасным смарт-контрактам Ethereum сейчас одна из самых популярных платформ для создания децентрализованных приложений, которая активно развивается. Одно из новшеств Zeppelin мы сегодня попробуем своими руками. А для тех кто в «танке», Zeppelin — это компания, занимающаяся разработкой и проверкой без...

[Из песочницы] Разбираем протокол чайника Redmond G200S и подключаем его к HomeAssistant Вступление На Гиктаймс уже была статья, посвященная разбору протокола чайника Redmond SkyKettle. Однако там речь шла о модели RK-M171S, здесь же речь пойдет о более функциональном G200S. В данной модели изменился протокол взаимодействия, из за чего подход автора предыдущей с...

Aрифметика произвольной точности в Erlang @rawpixel Даже школьникам известно про существование различных систем счисления и тот факт, что не каждая конечная десятичная дробь является конечной дробью в двоичной системе счисления. Немногие задумываются о том, что вследствие этого факта операции над float и double не ...

От «Победы» до PornHub: как компании применяют тёмные паттерны Многие компании используют так называемые тёмные паттерны: интерфейсы, сделанные не для удобства пользователя, а для получения выгоды. Спикер курса Binary District «UX/UI для продуктологов и дизайнеров» — арт-директор компании «Наносемантика» Михаил Федосов — рассказал, каки...

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

[Перевод] Drag и Swipe в RecyclerView. Часть 1: ItemTouchHelper Существует множество обучающих материалов, библиотек и примеров реализации drag & drop и swipe-to-dismiss в Android c использованием RecyclerView. В большинстве из них по-прежнему используются устаревший View.OnDragListener и подход SwipeToDismiss, разработанный Романом...

Как мы в «1С: Предприятии» решаем системы алгебраических уравнений Работа с числовыми матрицами в целом и решение систем линейных алгебраических уравнений в частности — классическая математическая и алгоритмическая задача, широко используемая при моделировании и расчёте огромного класса бизнес-процессов (например, при расчёте себестоимости)...

Как правильно работать с исключениями в DDD В рамках недавно прошедшей конференции DotNext 2018 состоялся BoF по Domain Driven Design. На нем был затронут вопрос работы с исключениями, который вызвал жаркий спор, но не получил развернутой дискуссии, поскольку не являлся основной темой. Также, изучая множество ресур...

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

[Перевод] 11 библиотек (наборов компонентов) для React Native, о которых стоит знать в 2018-м В начале года мы опубликовали несколько материалов о популярных наборах компонентов для React, Angular и Vue. Сегодня мы представляем вашему вниманию перевод статьи из той же серии, посвящённой React Native. Учитывая непрекращающийся рост популярности React, и то, что мобиль...

[Из песочницы] Два процента «кота» или кто сфотографировал Мастера Йоду? В 2016 из-за давней мечты о видео-играх и «хайпа» вокруг AI я начал изучать Python. Computer Science is Fun потому только неделю назад я обучил первую recognition модель, но без использования Python (в computer science много соблазнов). Как и предсказывал Андрей Себрант (Ya...

[Перевод] Рассказ о возмутительной лёгкости взлома инфраструктуры разработки современного ПО В конце октября появилось сообщение о проблеме в чрезвычайно популярном Node.js-инструменте nodemon. Дело было в том, что в консоль выводилось предупреждение следующего содержания: DeprecationWarning: crypto.createDecipher is deprecated. Подобные оповещения об устаревших воз...

Оптимизация реляционных баз данных без даунтайма на примере самой нагруженной БД в Badoo В условиях highload сложность оптимизации реляционных баз данных возрастает на порядок, так как покупка ещё более мощного железа обходится дорого а также уже нет возможности просто выключить приложение ночью для долгого процесса альтера БД и миграции данных. Недавно мы ра...

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

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

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

FreeMarker шаблоны Apache FreeMarker — это механизм шаблонов: библиотека Java для генерации текстового вывода (HTML-страницы, xml, файлы конфигурации, исходный код и.т.д. На вход подается шаблон, например html в котором есть специальные выражения, подготавливаются данные соответствующие этим в...

Luxon — новая библиотека для работы с датами от команды Moment.js Казалось бы, зачем нужна еще одна библиотека для работы с датами и временем когда есть всем известная библиотека Moment?! Тем интереснее, что альтернатива предложена самой командой Moment. Читать дальше →

[Перевод] Регистрация событий при помощи Kafka Привет, Хабр! Мы раскупорили последние резервы книги "Apache Kafka. Потоковая обработка и анализ данных" и отправили ее в допечатку. Более того, мы получили контракт на книгу "Kafka Streams in Action" и приступаем к ее переводу буквально на будущей неделе. Чтобы показать...

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

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

KMPlayer 18.10.29 KMPlayer — популярный на PC корейский медиаплеер теперь доступен и для платформы Android. KMPlayer не требует отдельных кодеков и может воспроизводить большинство файлов без хлопот. Данный плеер обладает простым интерфейсом с необходимыми функциями. Поддерживаемые форма...

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

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

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

[Перевод] Лучше, быстрее, мощнее: styled-components v4 Автор материала, перевод которого мы публикуем сегодня, хочет представить сообществу веб-разработчиков бета-версию библиотеки styled-components v4. Он, выступая от лица создателей библиотеки, говорит, что теперь в styled-components имеется новое глобальное API для работы со ...

Интересный рюкзак Pix Backpack с дисплеем На выставке CES 2019 представили рюкзак с ретро-эстетическим дисплеем Pix Backpack. Данный рюкзак управляется через специальное мобильное приложение. Приложение имеет библиотеку изображений, анимации, виджетов и даже игр, которые заполняют цветной экран с низким разрешен...

Отладочная плата STM32F4 в форм-факторе Raspberry Pi Добрый день, уважаемые хабровчане! Хочу представить общественности мой проект — небольшая отладочная плата на базе STM32, но в форм-факторе Raspberry Pi. От других отладочных плат она отличается тем, что имеет совместимую с корпусами от Raspberry Pi геометрию и наличие ESP8...

Терминальный сервер для AutoCAD Терминальный сервер для CAD систем интересовал меня давно и данная статья является результатом изысканий в сети Интернет. В этой статье поговорим конкретно о терминальном сервере для Автокада. Автокад довольно ресурсоёмкое приложение требующее все ресурсы железа: и оператив...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.3 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

Микросервисная архитектура на современном стеке Java-технологий У нас были JDK 11, Kotlin, Spring 5 и Spring Boot 2, Gradle 5 с production-ready Kotlin DSL, JUnit 5, а ещё с полдюжины библиотек стека Spring Cloud для Service discovery, создания API gateway, клиентской балансировки, имплементации паттерна Circuit breaker, написания декла...

Поэтапная настройка Continues Integration (build, test, deploy) для .NET Core WebApp + GitHub Поэтапная настройка Continuous Integration (build, test, deploy) для .NET Core WebApp + GitHub Всем привет. Continues Integration (CI) давным-давно проник в мир разработки программного обеспечения и для многих является его неотъемлемой частью, которое позволяет создавать б...

Лучшие логотипы Doodle от Google за последние 20 лет Google существует на рынке уже 20 лет. За все это время компания внесла немалый вклад в развитие технологий в мире. Компания имеет множество подразделений, многие из них усердно работают над внедрением искусственного интеллекта в продукты компании. Например, самая популярна...

[Из песочницы] Повышение привилегий в Windows-среде Практика управления информационной безопасностью: pentest Повышение привилегий пользователя до уровня администратора домена Windows Введение Хорошая система управления информационной безопасностью (СУИБ) требует регулярной оценки своей эффективности. Существуют разные метод...

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

[Перевод] Фильтр Блума в Java с помощью Guava Всем доброго дня. Мы запустили новый курс — «Алгоритмы для разработчиков», предназначенных для тех подтянуть знания по разнообразным структурам и алгоритмам обработки данных, решению алгебраических задач и задач динамического программирования для различных языков. Так что с...

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

О преимуществах встраивания CSS в JS Этот пост является развернутым ответом на вопросы из этого разговора в Твиттере. Автор оригинала, Сунил Пай, является автором относительно популярной библиотеки glamor и работает разработчиком в Facebook. Каким образом Javascript оказывается более удобным чем CSS? Как написа...

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

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

Как сделать расширение на PHP7 сложнее, чем «hello, world», и не стать красноглазиком. Часть 2 Краткое содержание первой части В первой части я сделал болванку расширения, заставил ее правильно работать в IDE Clion, написал функцию-аналог my_array_fill() и проверил ее работоспособность в php. Что теперь? Теперь я запилю код библиотеки libtrie в наше расширение. Немно...

[Из песочницы] Поддержка очередей в Hangfire Hangfire — это библиотека для .net (core), позволяющая асинхронно выполнять некоторый код по принципу "fire and forget". Примером такого кода может быть отправка E-Mail, обработка видео, синхронизация с другой системой и т.д. Помимо "fire and forget" есть...

[Перевод] Xcode и продвинутая отладка в LLDB: Часть 1 Добрый день, сегодня предлагаю вам ознакомиться с переводом статьи об отладке iOS приложений при помощи LLDB. Одна из самых интригующих частей презентации WWDC 2018, Xcode и продвинутая отладка в LLDB была представлена инженерами Apple. Они дали несколько полезных советов о...

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

[Перевод] Коллапс волновой функции: алгоритм, вдохновлённый квантовой механикой Алгоритм Wave Function Collapse генерирует битовые изображения, локально подобные входному битовому изображению. Локальное подобие означает, что (C1) Каждый паттерн NxN пикселей в выходных данных должен хотя бы раз встречаться во входных данных. (Слабое условие C2) Распр...

Начинаем работу с Azure Machine Learning service Сегодня рассмотрим нашу пятую итерацию по созданию продукта для машинного обучения. Чтобы подойти к этой теме, кратко напомним о предыдущих продуктах и их состоянии на текущий момент. Рассмотрим только полностью интегрированные решения, которые позволяют пройти путь от расче...

Автоматизируем UI-тесты Android приложения с использование паттерна Page Object Паттерн Page Object появился в тестировании web и очень хорошо себя там зарекомендовал. Когда я начал автоматизировать тесты для android приложения, то первым делом подумал про него. Поискал информацию в сети, поспрашивал коллег и, в принципе, не нашел доводов не попробова...

[Из песочницы] Нейронная сеть с использованием TensorFlow: классификация изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «Train your first neural network: basic classification». Это руководство по обучению модели нейронной сети для классификации изображений одежды, таких как кроссовки и рубашки. Для создания нейронной сети используем py...

Напоминания на iPhone и iPad: полезные советы по использованию приложения Системное iOS-приложение Напоминания – одна из лучших (если не самая лучшая) программ, написанных программистами Apple. В статье мы расскажем, как выжать из Напоминаний максимум полезных возможностей. ПО ТЕМЕ: Все функции кнопок оригинальных наушников из комплекта iPhone. Пр...

[Из песочницы] Тестирование презентера с использованием PromiseKit Паттерн MVP в разработке мобильных приложений — это довольно простой способ разгрузить ViewController и вынести часть логики в презентер. Презентер начинает обрастать логикой, которая легко поддается тестированию. Пусть есть экран MelodyListViewController показывающий список...

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

[Перевод] Мышление в стиле Ramda: Заключение 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объекты 7. Неизменяемость и массивы 8. Линзы 9. Заключение 10. Использование Ramda с Redux 11. Функциональные компоненты с R...

[Из песочницы] TypeScript: Десериализация JSON в классы с валидацией типов у свойств Привет, Хабр! Хочу поделиться с вами своей библиотекой для десериализации объектов JSON в классы, которая еще и автоматически валидирует по типам входные данные. Не так давно в JavaScript появилась такая замечательная вещь как классы, которая значительно упростила процесс н...

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

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

Встреча #RuPostgres: масштабирование приложений на PostgreSQL 15 сентября в офисе Авито состоится встреча, посвященная масштабированию приложений на PostgreSQL. Поговорим об алгоритмах и нюансах реализации транзакционности в языках программирования, построении бизнес-транзакций в сервисах с паттерном database per service, как устроена ...

[Из песочницы] Подключение КриптоПро в Mono В связи с переходом на Linux возникла необходимость переноса одной из наших серверных систем написанной на C# в Mono. Система работает с усиленными ЭЦП, поэтому одной из поставленных перед нами задач была проверка работоспособности ГОСТовых сертификатов от КриптоПро в mono. ...

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

Corona Native для Android — использование произвольного Java кода в игре написанной на Corona Игровой движок Corona позволяет создавать кроссплатформенные приложения и игры. Но иногда предоставляемого им API бывает недостаточно. Для таких случаев есть Corona Native, позволяющий расширять функциональность с использованием родного кода для каждой платформы. В статье по...

Анализ логов Cisco устройств c помощью Splunk Cisco Security Suite Cisco и Splunk являются партнерами, причем как Cisco использует в своей работе Splunk, так и Splunk модернизирует свои решения для того, чтобы его клиенты могли легко работать с данными, генерируемыми устройствами Cisco. В рамках партнерства Cisco и Splunk реализовано уже...

PIP Camera 4.8.6 PIP камера лучший компаньон для самостоятельной снимков! Сделайте ваши фотографии дополнительный весело с творческими кадрами! PIP камера параллельное популярной режиме FotoRus 'Pic-Pic-в, и это является более мощным, и веселее, с добавлением нового режима PIP фреймы! Ре...

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

[Перевод] OutOfLine – паттерн размещения в памяти для высокопроизводительных приложений на C++ Во время работы в Headlands Technologies мне посчастливилось написать несколько утилит для упрощения создания высокопроизводительного кода на C++. Эта статья предлагает обобщенный обзор одной из этих утилит — OutOfLine. Читать дальше →

Дверь, которая с нами здоровается по именам и открывает только сотрудникам отдела У нас была пара дней промежутка между большими проектами, и мы решили поиздеваться над дверью руководителя подразделения. Just for fun. Потому что дроны нас в лицо уже узнают — чем дверь-то хуже? На момент старта IT-проекта у нас уже была накладная панель, напечатанная на ...

[Перевод] Закон об авторских правах только что стал немного лучше с точки зрения истории видеоигр В нескольких актах подряд Библиотека Конгресса США обозначила решения, которые помогут движению архивации и сохранения видеоигр Новые постановления Библиотеки Конгресса принесли хорошие новости для дела сохранения старых видеоигр. В 85-страничном акте, покрывающем всё, от ...

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

Работа с сервисом Managed Databases от Digital Ocean в .NET Core В том время, как у других облачных платформ уже давно есть свои решения для баз данных, Digital Ocean в этом сегменте до сегодняшнего дня ничего не предлагал. Но 14 февраля, в день всех влюбленных, компания решила сделать подарок своим клиентам и в режиме Limited Availabil...

Toyota RAV4 25th Anniversary: юбилейная серия популярного кроссовера Четверть века назад, 22 октября 1993 года, на автосалоне в Токио состоялась премьера автомобиля Toyota RAV4, который на сегодняшний день является одним из самых популярных кроссоверов в мире. Toyota отметила юбилей модели анонсом специальной серии RAV4 25th Annivers...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.2 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

[Из песочницы] Нейросети: реализация задачи про грибы на Tensor Flow и Python Tensor Flow — фреймворк для построения и работы с нейросетями от компании Google. Позволяет абстрагироваться от внутренних деталей машинного обучения и сосредоточиться непосредственно на решении своей задачи. Очень мощная вещь, позволяет создавать, обучать и использовать ней...

WebSockets в Angular: cоздаем Angular Service для работы с вебсокетами В этой статье я постараюсь детально охватить узкую сферу применения технологии в рамках фреймворка Angular и его уже неотъемлемого помощника — RxJs, при этом мы намеренно не будем касаться серверных реализаций, т.к. это полноценная тема для отдельной статьи. Данный текст б...

Веб-компоненты. Часть 3: html шаблоны и импорты Вступление Приветствую коллеги. Данная статья является третьей и последней статьей в серии статей о веб-компонентах.Первые две статьи доступны по ссылкам: Веб компоненты. Часть 1: Пользовательские элементы Веб-компоненты. Часть 2: Теневой DOM В данной статье речь пойдет о &...

Система управления складом с использованием CQRS и Event Sourcing. Процесс Разработки Данная статья является продолжением ряда статей опубликованных здесь ранее и посвященных этапам: Постановке требований Проектированию Реализации. Service Layer В ней описано каким образом мы организовали процесс разработки привлекая разработчиков из собщества Magento с ...

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

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

Как сделать поиск пользователей по Github используя VanillaJS Здравствуйте. Меня зовут Александр и я Vanilla ES5.1 разработчик в 2018 году. Данная статья является ответом на статью-ответ «Как сделать поиск пользователей по GitHub без React + RxJS 6 + Recompose», которая показала нам, как можно использовать SvelteJS. Предлагаю посмотрет...

[Из песочницы] Как я стандартную библиотеку C++11 писал или почему boost такой страшный Вместо предисловия Пожалуй с этой картинки должно начинаться любое повествование о boost, Loki, самостоятельных, да и так же поставляемых с компиляторами реализациях стандартной библиотеки C++. Да-да, и если вы думали что разработчики стандартной библиотеки для того же g+...

Реализация SSD кэширования в СХД QSAN XCubeSAN Технологии повышения производительности, основанные на использовании SSD и широко применяемые в СХД, уже давно изобретены. Прежде всего – это применение SSD в качестве пространства хранения, что на 100% эффективно, но дорого. Поэтому в ход идут технологии тиринга и кэширован...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.1 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

Релиз приложения для удаленного управления: Aspia 1.1.0 После нескольких месяцев разработки, готов представить новую версию приложения для удаленного управления – Aspia. Предыдущая статья на Хабре вызвала большой интерес у многих читателей к разработке и я постарался сделать релиз новой версии максимально интересным. Была продел...

[Перевод] Когда не стоит пользоваться алгоритмами STL. Пример с множествами Товарищи, добрый вечер! Вы так здорово разобрали у нас первый тираж книги "С++17 STL. Стандартная библиотека шаблонов" и продолжаете разбирать второй, что мы наконец-то решили изложить здесь и альтернативную точку зрения. Автор сегодняшней статьи — Иван Чукич (Ivan Čukić), ...

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

В Москве открылась первая смарт-библиотека По словам мэра Москвы, власти города намерены в ближайшие годы привести в порядок все городские библиотеки, нуждающиеся в ремонте — на их базе будут открыты современные библиоцентры. После капитального ремонта открылась Центральная библиотека № 197 им. Анны Ахматовой, она...

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

[Из песочницы] Как я съездил на Droidcon Berlin Привет, меня зовут Виталий, я Android разработчик компании Tinkoff.ru, работаю в Санкт-Петербургском офисе и в этом году я впервые посетил международную конференцию Droidcon Berlin, поэтом кратко хотел рассказать о своих впечатлениях. Данная статья не содержит большого колич...

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

[Из песочницы] Усложняя стандартный пример Стандартная библиотека С++ предлагает не только набор классов, но также определяет способ написания программ. В рамках данной статьи рассматриваются общие требования к реализации программ при помощи STL. Рассмотрим следующую задачу: Считать из файла input.txt массив целых ...

Тестирование белого ящика Разработка программ высокого качества подразумевает, что программа и её части подвергаются тестированию. Классическое модульное (unit) тестирование подразумевает разбиение большой программы на маленькие блоки, удобные для тестов. Либо, если разработка тестов происходит парал...

[] Бикватернионы Если вы открыли данную статью, то наверняка уже слышали о кватернионах, и возможно даже используете их в своих разработках. Но пора подняться на уровень выше — к бикватернионам. Можно и еще выше — к седионам! Но не сейчас. В данной статье даны основные понятия о бикватернио...

Native Instruments Komplete 12 – обновление самого популярного набора виртуальных инструментов В 2003 году немецкая компания Native Instruments представила музыкальной индустрии свой первый пакет программного обеспечения KOMPLETE. За последующие годы продукты компании успешно себя зарекомендовали среди профессиональных музыкантов и звукорежиссеров по всему миру. Nativ...

Технологии, используемые в анализаторе кода PVS-Studio для поиска ошибок и потенциальных уязвимостей Краткое описание технологий, используемых в инструменте PVS-Studio, которые позволяют эффективно обнаруживать большое количество паттернов ошибок и потенциальных уязвимостей. Статья описывает реализацию анализатора для С и C++ кода, однако приведённая информация справедлива...

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

[Перевод] Использование Retrofit 2.x в качестве REST клиента — Tutorial 1. Retrofit 1.1. Что такое Retrofit Retrofit — это REST клиент для Java и Android. Он позволяет легко получить и загрузить JSON (или другие структурированные данные) через веб-сервис на основе REST. В Retrofit вы настраиваете, какой конвертер используется для сериализации да...

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

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

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

LIKE стало самым популярным приложением недели в российском App Store Социальная видео-платформа и приложение LIKE на этих выходных возглавило рейтинг самых скачиваемых бесплатных приложений App Store в России. Более того, во вторник (26 июня) приложение заняло первое место в категории «Популярные» в App Store. Ранее в этом месяце, приложение ...

[Перевод] Трюки при линковке и загрузке файлов Mach-O Представляю вашему вниманию перевод моей статьи из блога Проекта Darling. Маленькая справка по используемым понятиям: Darwin – операционная система с открытым исходным кодом, лежащая в основе macOS, iOS и других ОС от Apple; Mach-O – бинарный формат исполняемых файлов и библ...

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

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

ABI Model Pattern v0.5.6 Beta ABI Model Pattern – библиотека с графическим интерфейсом, предназначенная для инициализации моделей, свойств моделей, а также для определения набора правил для каждого свойства. Созданные модели необходимы для хранения «структуры» данных, ограничения целостности и простоты и...

[Перевод] Строители против синтаксиса Java Шаблон проектирования «строитель» — один из самых популярных в Java. Он простой, он помогает делать объекты неизменяемыми, и его можно генерировать инструментами вроде @Builder в Project Lombok или Immutables. Но так ли удобен этот паттерн в Java? Читать дальше →

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

[Перевод] Основы работы с фьютексами Фьютекс (futex — сокращение от «Fast userspace mutex») — это механизм, предложенный разработчиками Linux из IBM в 2002 году и вошедший в ядро в конце 2003 года. Основной идеей было предоставить более эффективный способ синхронизации пользовательских потоков с минимальным кол...

[Из песочницы] Кратко о redux-saga каналах Добрый день, дорогие друзья. В данной статье хотел бы максимально просто и кратко описать механизм redux-saga каналов, на примерах приближенных к реальным кейсам, надеюсь у меня это вышло. Итак, начнем. Читать дальше →

Быстрый старт с WPF. Часть 1. Привязка, INotifyPropertyChanged и MVVM Всем привет! По разным причинам большинство из нас использует десктопные приложения, как минимум, браузер :) А у некоторых из нас возникает необходимость в написании своих. В этой статье я хочу пробежаться по процессу разработки несложного десктопного приложения с использова...

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

[Из песочницы] Опыт использования LoRaWAN в системе АСКУЭ в реальных городских условиях В этой статье изложены результаты опытной эксплуатации системы коммерческого поквартирного учёта энергоресурсов (далее АСКУЭ) в реальных городских условиях на базе отечественного оборудования LoRaWAN. Наша компания с 2010 г. занимается созданием систем коммерческого и техн...

Как сделать расширение на PHP7 сложнее, чем «hello, world», и не стать красноглазиком. Часть 1 ЗАЧЕМ?Я пишу эту статью для того, чтобы путь, который у меня занял в общей сложности не меньше года, читатель смог пройти за пару часов. Как показал мой личный опыт, просто программировать на Си несколько легче, чем заставить работать серьезное расширение для PHP. Здесь я ма...

Подробно об обновлении Segregated Witness и последствиях его принятия в Bitcoin В данной статье мы постарались детально рассмотреть изменения протокола Bitcoin, которые произошли в результате softfork-обновления Segregated Witness. Мы затронули вопросы, связанные с transaction malleability, сохранением обратной совместимости, увеличением пропускной спос...

TL;DR книги “Искусство заниматься наукой и инженерным делом” Ричарда Хэмминга На Хабре уже долгое время публикуется совместный перевод замечательной книги Ричарда Хэмминга "The Art of Doing Science and Engineering". Я долгое время хотел её прочитать в оригинале. Да не просто прочитать, а составить насколько возможно краткую выжимку основных идей каждо...

[Перевод] Самые быстрые Python веб-фреймворки в 2019 В 2018 году Python укрепил свои позиции популярности среди программистов и вошел в Top 3 самых популярных языков на github. Все больше и больше людей переходит на светлую сторону…то есть Python. Появилось еще большее количество разработчиков, которые интересуются данным яз...

Apple может удалить приобретённый контент из библиотеки iTunes Магазины приложений нередко сами удаляют программы, расширения для браузеров или другой контент, если считают его опасным или нарушающими условия использования. Однако, как оказалось, программами это не ограничивается. Пользователь iTunes Андерс да Сильва (Anders G ...

Kugou Music 9.0.5 Kugou Music — плеер от китайских разработчиков, обладающий роскошным звучанием и большим функционалом. Плеер, выдержанный в светлых тонах и проигрывающий множество музыкальных форматов. Релиз нового музыкального плеера! До сих пор самый мощный, построенный на самом широко ис...

Загрузка данных в Splunk: Universal Forwarder vs Heavy Forwarder. В чем разница? Сегодня мы поговорим об агентах(форвардерах) для загрузки данных в Splunk. В статье мы кратко расскажем о том, что это такое, какие типы бывают, в чем между ними разница и в каких ситуациях лучше использовать тот или иной форвардер. Читать дальше →

UE4 | Инвентарь для Multiplayer #5 | Передача информации между Сервером и Клиентом Список статейUE4 | Инвентарь для Multiplayer #1 | Хранилище данных на DataAsset UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ UE4 | Инвентарь для Multiplayer #3 | Структура взаимодействия UE4 | Инвентарь для Multiplayer #4 | Создание и подключение конейнер...

Magento 2: импорт продуктов из внешних источников Magento является e-commerce решением, т.е. больше нацелено на продажу продуктов, чем на сопутствующий продажам складской, логистический или финансовый учёт. Для сопутствующего лучше подходят другие приложения (например, ERP-системы). Поэтому достаточно часто в практике испол...

MVP и Dagger 2 – скелет Android-приложения – часть 1 Данная статья нацелена на новичков в Android-разработке и призвана помочь в создании минимально необходимой структуры приложения. Так получилось, что я относительно недавно начал программировать под Android – после месяца без проекта в компании, где я работаю, меня определи...

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

Приложение для iOS и Android на Kotlin + Flutter UI Вступление Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Ko...

Нам показали на что способна камера Honor V20 В битве за полезную площадь дисплея производители пришли к тому, что начали предлагать круглые «дырки» под фронтальную камеру. Сегодняшний день стал «триумфом» такого дизайнерского решения и первой «выстрелила» Honor. Полноценная презентац...

Нам показали на что способна камера Honor V20 В битве за полезную площадь дисплея производители пришли к тому, что начали предлагать круглые «дырки» под фронтальную камеру. Сегодняшний день стал «триумфом» такого дизайнерского решения и первой «выстрелила» Honor. Полноценная презентац...

Caller Name Announcer Pro 4.70 Приложение «Caller Name Announcer Pro» озвучивает имя абонента, когда он вам звонит или отправляет сообщение. Эта программа, которая мгновенно определяет абонента, вы даже не успеете дотянуться до телефона и посмотреть на экран. Наше приложение также способно идентифицироват...

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

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

[Перевод] Непрерывный рост JSON Статья написана в сентябре 2017 года JSON захватил мир. Если сегодня любые два приложения общаются друг с другом через интернет, то скорее всего делают это с помощью JSON. Стандарт принят всеми крупными игроками: из десяти самых популярных Web API, которые разработаны в ...

Docker + Laravel = ❤ В данной статье я расскажу о своём опыте "заворачивания" Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статическ...

Exactly once is NOT exactly the same: анализ статьи Введение Решил проанализировать статью, описывающую некоторые интересные детали потоковой обработки ровно один раз: exactly-once. Дело в том, что некоторые авторы очень странно понимают термины. Разбор статьи как раз позволит прояснить многие детали более глубже, т.к. выявле...

[Перевод] 7 библиотек для Android разработки на Kotlin Недавно я начал изучать Kotlin для Android-разработки, и мне это очень понравилось. Kotlin по синтаксису очень похож на Swift, и это удобно. Я всего лишь новичок в Android-разработке, поэтому скорее всего есть ещё много полезных библиотек, которые у меня ещё не было возможн...

Как сделать поиск пользователей по Github используя Angular Эта статья является ответом на: Как сделать поиск пользователей по GitHub используя React + RxJS 6 + Recompose, Как сделать поиск пользователей по GitHub без React + RxJS 6 + Recompose, Как сделать поиск пользователей по Github используя VanillaJS. Целью статьи является...

Apple празднует 10 лет онлайн-магазина приложений App Store В честь десятилетнего юбилея онлайн-магазина приложений App Store, компания Apple поделилась его основными достижениями и статистикой. Apple запустила App Store в июле 2008 году с 500 приложениями. Сегодня магазину исполнилось 10 лет. На данный момент App Store доступе...

Terms of service: 99% пользователей их просто не понимают Источник: Shutterstock Наверное, среди читателей Хабра есть те, кто детально знакомится с условиями предоставления услуг различных сервисов и приложений. Большинство просто ставит галочку там, где это требуется, и начинает работу. Кто-то может назвать это неправильным, но,...

[Из песочницы] Использвание Blender и FreeCad для импорта 3D-моделей компонентов в KiCad KiCad отличная программа для проектирования печатных плат, позволяющая создавать достаточно сложные проекты. Она поддерживает трёхмерную визуализацию изделия, что может быть очень полезно для нахождения ошибок в топологии или конструкции. Есть лишь одно неудобство: KiCad не...

Смартфоны Xiaomi Mi 8, Mi 8 Pro, Mi 8 Explorer Edition, Mi MIX 3 и Mi MIX 2s получили приложение King of Glory AR Camera King of Glory является одной из самых популярных мультиплеерных онлайновых игр в мире. Разработчики игры и специалисты Xiaomi объединили усилия и выпустили новое приложение дополненной реальности, которое позволяет перенести персонажей из игры в реальный мир и сделать с...

[Из песочницы] MC.exe (Message compiler), rc.exe, link.exe для формирования .dll для EventMessageFile Добрый день, уважаемые читатели Хабра. Данный пост представляет из себя гайд по созданию динамической библиотеки .dll, которая содержит в себе сообщения, необходимые для отображения в кастомном логере, располагающимся в Windows Event Viewer\Application and Services Logs\уууу...

Медиаплеер VLC скачан более 3 млрд раз, скоро появится поддержка AirPlay Приложение VLC Media Player с открытым исходным кодом от VideoLAN достигло важной вехи: разработчики сообщили, что количество скачиваний с официального сайта проекта перевалило за отметку в 3 млрд раз. Это впечатляющий показатель, учитывая, что VLC активно распростр...

Как использовать soy, requirejs, backbone js в плагинах для Atlassian Jira В этой статье разработаем плагин, который будет сохранять настройки плагина в Jira. Мы будем использовать библиотеки soy, requirejs, backbone js для отображения пользовательского интерфейса. Soy, requirejs, backbone js это встроенные в Jira библиотеки. Читать дальше →

Книга «Чистый Python. Тонкости программирования для профи» Привет, Хаброжители! Изучение всех возможностей Python — сложная задача, а с этой книгой вы сможете сосредоточиться на практических навыках, которые действительно важны. Раскопайте «скрытое золото» в стандартной библиотеке Python и начните писать чистый код уже сегодня. Ес...

[Из песочницы] Работа с устройствами на LibUsb из-под Android Как то-однажды мне понадобилось, чтобы один прибор, который управлялся через USB c десктопной программы, также мог управляться через Android приложение. Особенность была в том, что не использовались HID, CDC и прочие стандартные классы устройств. Передача данных осуществляла...

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

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

[Перевод] Единые инструменты в IT: хорошо или плохо? А вы бы хотели всегда работать в одной среде? Так, чтобы не приходилось скакать туда-сюда по средам разработки и при использовании инструментов. До идеала, конечно, еще далеко, но IT-мир стремится к этому. Сегодня рассказываем о единой кросс-платформенной библиотеке API. При...

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

Facebook опубликовал библиотеку для обработки изображений Spectrum Сегодня Facebook объявляет о запуске Spectrum - библиотеки обработки изображений.

Navigation Architecture Component. Практический взгляд На недавнем Google IO 2018 в числе прочего было представлено решение, помогающее в реализации навигации в приложениях. Сразу бросилось в глаза то, что граф навигации можно просмотреть в UI редакторе, чем-то напоминающем сториборды из iOS-разработки. Это действительно интере...

Самые популярные Android-бенчмарки Бенчмарков для Android — огромное множество, однако специфика каждого из них различна. В этой статье мы рассмотрим самые популярные Android-бенчмарки. Ниже представлен список самых популярных Android-бенчмарков. AnTuTu Вероятно, это самый популярный бенчмарк для And...

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

Интернет-библиотека «КиберЛенинка» начала работать на международном рынке В конце лета прошлого года одной из крупнейших в стране онлайн-библиотек «КиберЛенинка» удалось привлечь 30 млн руб. Средства были предоставлены структурами, аффилированными с собственником компании «Технониколь» И. Рыбаковым.

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

[Из песочницы] Использование GtkApplication. Особенности отрисовки librsvg Аннотация статьи. Использование GtkApplication. Каркас приложения. Makefile. Отрисовка библиотекой librsvg. Экспорт изображения в GtkImage и его масшабирование. Масштабирование SVG самописными функциями. Получение полного пути в приложениях. Тесты быстродействия GtkDrawing...

Делаем Shrimp еще полезнее: добавляем перекодирование картинок в другие форматы С начала 2017-го года наша небольшая команда разрабатывает OpenSource-библиотеку RESTinio для встраивания HTTP-сервера в C++ приложения. К своему большому удивлению мы время от времени получаем вопросы из категории «А для чего может потребоваться встраиваемый HTTP-сервер н...

NVIDIA Games 5.14.24619028 NVIDIA Games – новый способ поиска в огромной библиотеке отличных игр на устройствах NVIDIA® SHIELD. Подробнее о SHIELD можно узнать на www.nvidia.ru/shield/. ЭКСКЛЮЗИВНЫЕ ИГРЫ ДЛЯ ANDROID SHIELD — это лучший способ, чтобы насладиться премиальными играми для Android™, начи...

Тестируем создание библиотеки компонент для Angular с помощью новой команды для Angular/Cli — library Когда проектов становится чуть больше чем один, возникает необходимость как-то переиспользовать не только отдельные модули с кодом, но и сами UI-компоненты. Вариантов решения проблемы много — от традиционного копипаста, до настройки отдельного проекта с тестами, документаци...

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

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

[Из песочницы] Распознавание экомаркировок с использованием Azure Custom Vision из мобильного приложения В этой статье я хочу рассказать об использовании сервиса Custom Vision, для распознавания фотографий экомаркировок из мобильного приложения. Сервис CustomVision является частью облачного Cognitive Services на платформе Azure. О том, какие технологии пришлось изучить, как раб...

Резервное копирование на кассеты Есть сеть примерно из 90 очень крупных магазинов по России. Каждый магазин бэкапится на ленточную библиотеку (ниже на фото — ЗИП). Дальше они берут кассеты и везут их на машине в архив. Устройства механические: они ломаются, выходят из строя, мы ездим чинить. Потом они ...

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

Чехол на пять смартфонов и нейронная сеть: Google рассказала о создании портретного режима для Google Pixel 3 Смартфоны Google Pixel с самого первого поколения были признаны одними из лучших камерофонов на рынке, с выходом Google Pixel 3 положение компании укрепилось, хотя в основной камере продолжает использоваться всего один модуль. Google доказала, что для качественных сним...

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

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

Трансформация процессов разработки и доставки для унаследованного приложения Наша команда отвечает за эксплуатацию и развитие большого корпоративного продукта. В начале 2017 года, передохнув от крупного внедрения и перечитав "lessons learned", мы твердо решили пересмотреть процесс разработки и доставки нашего приложения. Нас беспокоила низкая скорост...

Google показала пример, как нужно делать аудиоплееры для Android У компании Google есть приложения, которые демонстрируют разработчикам примеры реализации различных функций операционной системы. Одним из самых популярных является Universal Android Music Player (UAMP). Это так называемое референсное приложение, основная задача которого сос...

[Из песочницы] Так ли хорош DRY или все же он может нарушать O из SOLID Принцип DRY (Do not Repeat Yourself) давно всем вполне очевиден и любим многими программистами. И многие согласны, что Copy/Paste это совсем не круто. В этой статье я хочу привести пример того, в каких случаях в промышленном программировании использование Copy/Paste более ум...

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

СКУД моего ЖК — безопасность на двух болтах Спешу предупредить читателей: Данная статья написана только для ознакомления, и ни в коем случае не призывает к любым противоправным действием. Автор не несет ответственности за любые неправомерные действия совершенные людьми с использованием информации из данной статьи. Пр...

[Из песочницы] Тестирование технологии кэширования RAID–массивов Adaptec Решения для работы с RAID-массивами из жестких дисков используются уже очень давно. В целом они продолжают оставаться популярными во многих областях, когда требуется относительно недорогой отказоустойчивый массив большого объема. Учитывая размеры современных винчестеров, их ...

Как устроен скоринг в индустрии каршеринга. Часть 1. Обзор популярных инструментов на реальных данных Каршеринг, несмотря на свою молодость, — одно из самых активно развивающихся направлений в автобизнесе России. С момента запуска первой компании прошло 5 лет, и сегодня на рынке работают более 25 операторов, специализирующихся на краткосрочной аренде. С развитием каршеринга ...

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

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

Управляем стоимостью проекта с Earned Value Management Как измерять и контролировать эффективность исполнения планов проектов — такие вопросы являются постоянной головной болью их руководителей. Подходов к решению этих задач много. В данной статье мы рассмотрим основные элементы техники по управлению освоенным объемом (Earned Va...

Переходим на Androidx или увлекательное путешествие по граблям Тема перехода на Androidx сейчас витает в воздухе. Уже есть коротенькая статья на английском от Daniel Lew, есть доклад. Но все они довольно поверхностно рассматривают сценарий перехода описанный в документации Google. Я же хочу поделиться своим опытом. В моем проекте испол...

Миграция схемы базы данных без даунтайма для postgresql на примере django Введение Привет, Хабр! Хочу поделиться опытом написания миграций для postgres и django. Речь в основном пойдёт про postgres, django же здесь хорошо дополняет, так как из коробки имеет автоматическую миграцию схемы данных по изменениям модельки, то есть имеет довольно полный ...

[Перевод] Вся правда об ОСРВ. Статья #13. Структуры данных задач и неподдерживаемые вызовы API В этой третьей и последней статье о задачах, я рассмотрю структуры данных Nucleus SE и опишу вызовы API RTOS, которые не реализованы в Nucleus SE, а также расскажу о других проблемах совместимости. Читать дальше →

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

[Из песочницы] Доступность игр на pygame Всем привет. В статье Звуковые игры: невидимый рынок ждёт героев были рассмотрены звуковые игры с крутым объемным звуком, и библиотеки для его создания. Ну а я решил начать с малого, и для начала организовать озвучивание синтезатором действий в пошаговых играх на pygame. ...

Android Go — будущий миллиард устройств и лимит в 50 МБ. Лекция Яндекса Новые направления развития уже знакомой платформы — это всегда интересно. С одной стороны, вы расширяете клиентскую базу, с другой — не вкладываетесь в создание софта с нуля, а используете существующие наработки. Но если направление действительно новое, со своей спецификой, ...

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

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

[Перевод] UDB. Что же это такое? В комментариях к моей статье про управление RGB светодиодами средствами блока UDB микроконтроллеров PSoC фирмы Cypress было высказано мнение, что неплохо бы в начале статьи кратко рассказать, что такое вообще UDB. Как я уже отметил в статье, про UDB кратко не написать, но ...

Биткоин-кошелек Copay находится в зоне риска из-за уязвимости Node.js Используемый во многих веб-приложениях модуль Node.js под названием event-stream был скомпрометирован, сообщает CCN. Уязвимость ставит под удар, в частности, опенсорсный кошелек Copay от популярного биткоин-процессинга BitPay, использующий этот модуль. Согласно жалобе на Git...

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

Еще один способ увидеть коммуникации приложений Добрый день, коллеги. Как известно, есть очень полезная утилита — sysmon. В двух словах, она позволяет вам собирать и "логировать" события, происходяшие в Windows. Одним из таких событий является попытка установить сетевое соединение. Таким образом, можно попытаться узнать, ...

Как работает Headless Chrome Уже из названия понятно, что headless-браузер — это нечто без головы. В контексте фронтенда — это незаменимый инструмент разработчика, с помощью которого можно тестировать код, проверять качество и соответствие верстке. Виталий Слободин на Frontend Conf решил, что необходимо...

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

[Из песочницы] Docker Compose + Consul + Spring Boot + FeignClient План: Настройка сервисов в Docker Compose Регистрация сервисов в Consul’e и добавление переменных в хранилище Consul’a Makefile Конфигурация БД FeignClient Конец Данная статья показывает пример того, как поднять локальный development environment с использованием Docker Com...

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

Книга «Spring. Все паттерны проектирования» Привет, Хаброжители! Мы издали книгу в которой дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассм...

Почему открытие YouTube в Firefox или Edge может занимать в 5 раз дольше, чем в Google Chrome Неожиданным открытием поделился сегодня с общественностью Крис Петерсон из Mozilla: как выяснилось, в данный момент открытие страницы YouTube в браузерах Firefox и Edge происходит в 5 раз медленнее, чем в Google Chrome. В чём же причина подобного явления? Дело в том, что н...

Сборник демографических рассказов в одной карте В свежем номере журнала The Lancet опубликована моя статья — любопытная карта и небольшое к ней пояснение. Решил рассказать об этом на Хабре, поскольку есть надежда, что реализованный способ визуализации данных может пригодиться еще кому-то. Kashnitsky, I., & Schöley...

Восстанавливаем детальную геометрию объектов для более точной валидации ассортимента Занимаясь вопросами качества поиска, рано или поздно приходится столкнуться с задачей визуальной валидации продуктов. Опустим простые задачи, с которыми справится обычный классификатор, сосредоточившись на случаях, которые требуют более или менее точной геометрии объекта: ...

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

Символьное решение линейных дифференциальных уравнений и систем методом преобразований Лапласа c применением SymPy Реализация алгоритмов на языке Python с использованием символьных вычислений очень удобна при решении задач математического моделирования объектов, заданных дифференциальными уравнениями. Для решения таких уравнений широко используются преобразования Лапласа, которые, гово...

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

Cruise открывает исходный код Worldview В Cruise Automation сотни инженеров и тестировщиков работают с данными, собранными на дорогах и через симулятор. Также специальная внутренняя команда AV Tools создает приложения для визуализации, поиска и анализа этих данных. Ведь пользователи и разработчики должны понимать ...

SpEL injection Intro В процессе работы и исследований различных сервисов мы всё чаще можем встретить Spring Framework. И логичным шагом является знакомство с его структурой и возможными уязвимостями. Самыми интересными для любого пентестера являются уязвимости, которые приводят к исполнен...

Становление дизайнера: от фриланса из общежития до работы с топовыми компаниями и запуска своего продукта Эта статья стала самой объемной, важной, но, при этом, самой простой в написании, а все потому, что я не придумывал сюжет, не искал факты и не формировал заключение. В ней все так, как было, начиная с моего приезда в Москву из маленькой деревни, до сегодняшнего дня. (~ 17...

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

[Из песочницы] Снимки событий в Axonframework 3, улучшаем производительность Обзор фреймврока Axonframework Axonframework это фреймфорк реализующий несколько принципов и паттернов проектирования такие как: CQRS – разделяет обработку запросов на чтение и запись данных Event Sourcing – это когда состояние приложения хранится как цепочка событий DDD Ag...

[Перевод] Паттерны проектирования в Kotlin Говорят, что «паттерны проектирования — это обходные пути недостатков определенного языка программирования». Самое забавное, что это сказали сторонники Lisp и Scheme, у которых в языках всё было в порядке. Но, похоже, разработчики языка Kotlin восприняли это высказывание по...

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

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

Конспект книги «Никогда не ешьте в одиночку» Предыдущий конспект книги «Переговоры без поражения. Гарвардский метод» вызвал интерес со стороны читателей Хабра, поэтому решено было продолжить начинание. Данный конспект познакомит с книгой Кейта Феррацци «Никогда не ешьте в одиночку». Автор книги — нетворкер № 1 в мире....

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

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

Представители Серовского завода ферросплавов встретились со студентами — в библиотеке 19 июня в Центральной городской библиотеке им. Д. Н. Мамина-Сибиряка представители Серовского завода ферросплавов встретились со студентами политехнического и металлургического техникумов. Встреча представителей ферросплавного завода и студентов прошла в Центральной городско...

На поводу у трендов, или движение навстречу RxJava и LiveData На дворе 2018 год. Всё чаще встречаются слова RxJava и LiveData. Но если вдруг так случилось, что в вашем приложении до сих пор балом правят старомодные решения вроде библиотеки android-priority-jobqueue или AsyncTask (да, бывает и так), то эта статья специально для вас. ...

[Перевод] Больше возможностей с паттернами в C# 8.0 Совсем недавно вышла Visual Studio 2019 Preview 2. И вместе с ней пара дополнительных функций C# 8.0 готова к тому, чтобы вы их опробовали. В основном речь идет о сопоставлении с образцом, хотя в конце я коснусь и некоторых других новостей и изменений. Эта статья на английск...

[Из песочницы] Восстановление смазанных и расфокусированных изображений с помощью фильтра Винера. Реализация на C++ OpenCV В продолжении статьи про восстановление расфокусированных и смазанных изображений хочу поделиться своими результатами восстановления реальных изображений с помощью фильтра Винера. В качестве библиотеки обработки изображений использовалась OpenCV 3.4. Фотокамера – Nikon D320,...

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

Передача данных через анимированные QR на Gomobile и GopherJS В данной статье я хочу рассказать о небольшом и забавном проекте выходного дня по передаче файлов через анимированные QR коды. Проект написан на Go, с использованием Gomobile и Gopherjs – последний для веб-приложения для автоматического замера скорости передачи данных. Если ...

[Из песочницы] Прозрачная авторизация для приложения на Oracle Weblogic Server В данной статье расскажу, как мы перешли с NTLM на Kerberos авторизацию для приложений на Oracle Weblogic Server, тем самым упростив пользователям вход, убрав необходимость вводить пароль. Все пользователи, а также сервер приложения находятся в одном домене, так же ранее был...

[Из песочницы] Пример использования Java-библиотеки для создания Telegram-бота Каждый разработчик (и не только), который использует Telegram в повседневной жизни, хотя бы раз задумывался о том, каково это — создать своего бота, на сколько это сложно и какой язык программирования лучше использовать? Читать дальше →

Реактивное приложение без Redux/NgRx Сегодня мы разберем по косточкам реактивное angular-приложение (репозиторий на github), написанное целиком по стратегии OnPush. Также приложение использует reactive forms, что вполне типично для enterprise-приложения. При этом мы не будем использовать Flux, Redux, NgRx, I...

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

Модификация к игре на основе dll-wrapper'a Имеется игра In Verbis Virtus с необычной механикой — творить заклинания с помощью микрофона. Это не симулятор Амаяка Акопяна, это головоломка от первого лица с нетипичным управлением. Для этого в игре используется библиотека распознавания речи Sphinx. Задумка выглядит инт...

Новый тариф «МТС» стал самым выгодным во всей России. Куча интернета и минут за копейки Самым популярным и известным сотовым оператором в России является «МТС», который обходит по своей капитализации основных конкурентов, коими являются «МегаФон» и «Билайн». Проблема в том, что данная телекоммуникационная компания, как правило, просит много денег за Сообщение ...

2. Анализ логов Check Point: SmartEvent Здравствуйте, коллеги. В прошлый раз, в статье «1. Анализ логов Check Point: официальное приложение Check Point для Splunk» мы обсуждали разбор логов шлюза безопасности на основе официального приложения в системе логирования Splunk. В заключении пришли к выводу что хоть пр...

«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 3 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

Метеостанция на Arduino от А до Я. Часть 2 Продолжение. Начало здесь. Софт. Выбор компонентов Выбор железа и софта тесно взаимосвязан как «курица и яйцо». С чего начать, с железа, с софта? Если у вас хорошее железо, но к нему нет драйверов, библиотек и софта (IDE, утилиты для прошивки и т.п.), то оно бесполезно, и н...

[Из песочницы] Создаем простой maven проект с использованием Java EE + WildFly10 + JPA (Hibernate) + Postgresql + EJB + IntelliJ IDEA В данной статья я расскажу, как сконфигурировать проект на JBoss с использование JPA. В подробности JPA, Hibernate, EJB лезть не буду, это отдельная тема. Просто покажу структуру проекта, как настроить datasource на WildFly и все это запустить в IntelliJ IDEA. Данный каркас,...

Как без даунтайма масштабировать базы данных в Яндекс.Облаке. Пример с тремя хостами Пост подготовили участники команды Яндекс.Облака: Иван Веткасов — архитектор, Леонид Клюев — редактор Недавно мы рассказали об архитектуре Яндекс.Облака. Теперь давайте перейдем от теории к практике. В Облаке есть несколько сервисов для автоматизированного контроля за СУБД: ...

Как найти приложения для Apple Watch, которые скоро перестанут работать Сегодня, если вы запустите на watchOS 4.3.1 приложение, которое использует старые watchOS SDK, вы увидите предупреждение. Оно расскажет о том, что приложение является устаревшим. В watchOS 5 такие приложения перестанут работать. Мы расскажем, как подготовиться к этому. Ис...

[Перевод] GitLab 11.7 поставляется с Releases, Multi-level Child Epics и реестром NPM Управление релизами стало намного проще GitLab 11.7 выпускает Releases в GitLab Core. Теперь у пользователей есть снэпшоты релиза, включающие не только исходный код, но и все связанные артефакты. Больше не надо вручную собирать исходный код, выходные данные сборки и прочие ...

Сдай Windows на анализы. Комплексный аудит безопасности — от файервола до Active Directory Для подписчиковВ этой статье мы пройдемся по самым популярным и мощным утилитам для проверки уровня защищенности десктопных и серверных версий Windows (именно это и называется hardening), а также посмотрим на разные тулзы для настройки опций, усиливающих безопасность. Это — ...

Samsung Galaxy S10 Plus получит невероятно большой дисплей Ранее редакция THG.ru опубликовала обзор Samsung Galaxy Note 8. Это лучший на сегодняшний день смартфон на платформе Android - с большим 6,3-дюймовым экраном Infinity, универсальной двойной камерой и усовершенствованному стилусу S Pen. Подробнее об этом читайте в статье "Sam...

Обзор ASUS ZenFone 5 — недорогой флагман Сегодняшний герой обзора – ASUS Zenfone 5, который был представлен на MWC, где мы впервые его и потрогали. Видео есть на нашем канале, если вы подписаны, то вы наверняка его видели. После презентации в Москве мы получили к себе модель на полноценный тест и поехали с ним на р...

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

[Перевод] Ray: Распределенная система для использования ИИ Здравствуйте, коллеги. Надеемся еще до конца августа приступить к переводу небольшой, но поистине базовой книги о реализации возможностей ИИ на языке Python. Господин Гифт, пожалуй, в дополнительной рекламе не нуждается (для любопытствующих — профиль мэтра на GitHub): ...

«Удаление» объектов в Django Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей. Читать дальше →

[Из песочницы] Пагинация во Vue.js Привет, Хабр! Представляю вашему вниманию перевод статьи "Pagination in Vue.js" автора Denny Headrick. Пагинация увеличивает UX, позволяя пользователям визуализировать данные в небольших блоках или на страницах. Вот и компонент Vue.js можно сделать с разбивкой по ...

[Из песочницы] PHP, YII2 и формирование больших excel-файлов Начало Одна поддерживаемая нашей компанией учетно-отчетная система начала очень быстро разрастаться в количестве хранимых данных. Система написана на PHP с использованием фреймворка Yii2. Изначально отчеты строились через библиотеку PhpSpreadsheet, которая пришла на смену, у...

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

Прыжок в облако. Строим бюджетное решение для интернета вещей на NodeMCU + Azure IoT Hub Самое популярное назначение IoT устройств это сбор телеметрии. На сегодняшний день цены на облачные IoT сервисы снизились настолько, что позволить себе их использовать может и обычный рядовой пользователь. Сегодня расскажем о том, как отправить данные в облако с платы NodeMC...

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

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

Фил Спенсер хочет реализовать Xbox GamePass на всех платформах С момента запуска  на Xbox One в июне 2017 Xbox Game Pass стал самым ценным сервисом подписки среди игроков. Данный подписочный сервис теперь включает в себя новые игры Microsoft Studios, такие как Forza Horizon 4 или предстоящий Crackdown 3 (который будет доступен по подпи...

Более полутора сотен библиотек Москвы подготовили новогодние программы для детей Дети из Москвы со второго по шестое января смогут бесплатно посетить организуемые в 158 библиотеках мегаполиса мероприятия. Это литературные представления и мастер-классы, в основном посвященные сказкам Александра Пушкина и Ивана Крылова. Выбор такой тематики обоснован тем ф...

Анализ безопасности корпоративной беспроводной сети На сегодняшний день беспроводные Wi-Fi сети используются почти повсеместно: благодаря простоте использования сети, высокой мобильности пользователей и дешевизне установки данная технология всё чаще и чаще становится обязательной составляющей не только домашних, но и корпорат...

Анимированные числа на Android Красивый и привлекательный UI — это важно. Поэтому для Android существует огромное количество библиотек для красивого отображения элементов дизайна. Часто в приложении требуется показать поле с числом или какой-либо счетчик. Например, счетчик количества выделенных элементов ...

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

[Из песочницы] Паттерн: Сага Привет, Хабр! Представляю вашему вниманию перевод статьи "Pattern: Saga" автора Chris Richardson. Ситуация Есть приложение, к которому применялся паттерн Database per Service. Теперь у каждого сервиса приложения есть своя собственная база данных. Некоторые бизнес транзакции ...

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

Публикация приложения в Microsoft Store: некоторые изменения за год Вот уже год прошел с момента выхода статьи об особенностях публикации в MS Store. За прошедший год произошло много событий – GDPR, выход VS 2019 и прочие изменения. В сегодняшней небольшой статье мне бы хотелось немного рассказать о том, какие изменения произошли в особенно...

[Перевод] GraphQL будущее микросервисов? GraphQL часто представляют как революционный путь дизайна веб API по сравнению с REST. Однако, если вы ближе посмотрите на эти технологии, то вы увидите, что между ними очень много различий. GraphQL относительно новое решение, исходники которого были открыты сообществу Фейсб...

Обновляем Angular до 6-ой версии в проекте без использования CLI В этой статье я расскажу о тернистом пути обновления Angular с кастомным Webpack конфигом, который нашей команде пришлось пройти неделю назад. Возможно, наш опыт будет полезен тем, кто использует Angular со своим Webpack конфигом, а остальным — интересен как иллюстрация того...

Kotlin DSL: Теория и Практика Разработка тестов приложения — не самое приятное занятие. Этот процесс занимает долгое время, требует большой концентрации и при этом крайне востребован. Язык Kotlin дает набор инструментов, который позволяет довольно легко построить собственный проблемно-ориентированный язы...

The Division покинет Xbox Game Pass к концу месяца, а Ultimate Marvel VS. Capcom 3 прошла вне очереди Корпорация Microsoft рассказала о том, какие игры в этом месяце покинут библиотеку сервиса Xbox Game Pass. После объявленной недавно январской подборки сервис должны покинуть четыре игры, одна из которых крупная. В меню Xbox указано, что из библиотеки уйдут Tom Clan...

Xcode 10.2, macOS Mojave 10.14.4, iOS 12.1 и другие бета-версии Вышли новые беты Xcode, macOS Mojave и iOS — и вот основные моменты, которые я усвоил. Swift 5 для Xcode 10.2 beta Swift Прежде всего, последняя бета-версия Xcode идет в комплекте с новой версией Swift: Apple Swift 5.0 (swiftlang-1001.0.45.7 clang-1001.0.37.7) Target: x8...

[Из песочницы] Разработка под Android. Немного о быстрой работе со списками Всем привет! Мои посты — желание помочь в работе с какими-то элементами Android. Если вы разработчик, который еще не сформировал для себя алгоритм для построения списков — вам может оказаться полезным почитать этот материал. В основном, я бы хотел предлагать готовые решения ...

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

[Перевод] 5 источников данных, которые превращают данные APM в аналитику производительности приложений В предыдущей статье мы писали, как Splunk можно использовать для аналитики работы приложений. А сегодня расскажем об основных источниках данных для аналитики производительности приложений, по версии Билла Эммента, директора по маркетингу решений в Splunk. Читать дальше →

«Календарь тестировщика» за август. Прочти книгу Продолжаем цикл «Календарь тестировщика». В этот раз ответим на вопросы: зачем тестировщику читать книги? Что лучше книг? Есть миллион статей про это. У тестировщиков Контура Виталия Рощупкина и Кати Пальчиковой есть ещё одно мнение. И проверенные ими способы: как найти врем...

Фил Спенсер хочет реализовать Xbox Game Pass на всех платформах С момента запуска  на Xbox One в июне 2017 Xbox Game Pass стал самым ценным сервисом подписки среди игроков. Данный подписочный сервис теперь включает в себя новые игры Microsoft Studios, такие как Forza Horizon 4 или предстоящий Crackdown 3 (который будет доступен по подпи...

Локализация в Go с помощью базовых библиотек Создать хорошее приложение непросто. Какое бы уникальное и полезное приложение вы ни написали, если оно не нравится пользователю, то у вас, как говорится, a big problem. Большинству людей не нравится и отпугивает все, что им непонятно. Зачастую пользовательский интерфейс и п...

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

Платформер Fox n Forests для Switch кратно обходит по продажам версии для ПК и PS4 Уникальность платформы Nintendo Switch, а также менее обширная (по сравнению с другими платформами текущего поколения) библиотека игр наряду с отсутствием большинства крупных проектов позволяют некоторым независимым разработчикам добиваться серьёзных успехов на этой...

Cucumber 3 + Java Несколько месяцев назад состоялся релиз Cucumber JVM 3.0.0. Новая версия призвана сделать работу с данным BDD фреймвоком более очевидной и гибкой. В данной статье я расскажу об изменениях и новых фичах, а также приведу примеры их использования. Читать дальше →

Сотовый оператор Tele2 запустил самый лучший тариф Не секрет, что вот уже как почти три года сотовый оператор Tele2 является полноценным конкурентом участников «большой тройки». В настоящее время данная компания оказывает услуги связи и мобильного интернета жителям более чем 65 регионов России, Сообщение Сотовый оператор Te...

Распределённые приложения на C++ с минимумом усилий Цель моего поста — рассказать о C++ API распределенной базы данных Apache Ignite, который называется Ignite C++, а также о его особенностях. О самом Apache Ignite на хабре писали уже не раз, так что наверняка некоторые из вас уже примерно представляют, что это такое и зачем ...

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

[Питер] Встреча JUG.ru с Венкатом Субраманиамом — Design Patterns in the Light of Lambda Expressions В четверг, 18 октября, за день до Joker 2018, в петербургском офисе компании Oracle состоится встреча JUG.ru с Венкатом Субраманиамом (Dr. Venkat Subramaniam), всемирно известным Java-энтузиастом, Java-чемпионом, известным спикером, консультантом и популярнейшим автором книг...

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

Книга «Блистательный Agile. Гибкое управление проектами с помощью Agile, Scrum и Kanban» Что такое гибкое управление проектами? Нужно ли оно вашему проекту? Будет ли от этого выгода? Хотите разобраться, как работает гибкое управление проектами и воспользоваться этим мощным подходом? Тогда вы выбрали правильную книгу. «Блистательный Agile» — это не очередной...

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

10 материалов о необычных музыкальных инструментах и нетипичных способах извлечения звука В качестве чтения на выходные мы хотели бы предложить вам наиболее популярные материалы нашего «Мира Hi-Fi». Сегодняшний топ-10 посвящен необычным музыкальным инструментам. Здесь есть исторические разборы и статьи о технологиях, предвосхитивших современные семплеры, нейронн...

Работа с базой данных из приложения В начале я обозначу некоторые проблемы и особенности при работе с БД, покажу дыры в абстракциях. Далее мы разберем более простую абстракцию, основанную на иммутабельности. Предполагается, что читатель немного знаком с паттернами Active Record, Data Maper, Identity Map и Unit...

Apache Kafka + Spring Boot: Hello, microservices Привет, Хабр! В этом посте мы напишем приложение на Spring Boot 2 с использованием Apache Kafka под Linux, от установки JRE до работающего микросервисного приложения. Коллеги из отдела фронтэнд-разработки, увидевшие статью, сетуют на то, что я не объясняю, что такое Apache ...

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

Как я объединял данные плагина Tempo для Jira Server и Jira Cloud и мигрировал их обратно в Jira Cloud Всем привет! Плагины Tempo для Atlassian Jira установлены на большом количестве инстансов Jira как в клауде, так и на серверах. Мне пришлось объединять данные из клаудной и серверной Jira и устанавливать объединенные данные обратно на Клауд. Помимо стандартных данных Jira м...

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

Фантастический концепт iPhone 11 с 8 камерами В Сети появился фантастический концепт-арт нового смартфона iPhone 11, который оснащен огромным количеством камер. Если говорить точнее, то в основной камере сразу шесть модулей, а фронтальная является сдвоенной. Фронтальная камера разрешением 24 Мп в нерабочем состоян...

Развиваем Shrimp: контролируем параллельные запросы, логируем через spdlog и еще… На прошлой неделе мы рассказали про свой небольшой демо-проект Shrimp, который наглядно показывает, как можно использовать C++ные библиотеки RESTinio и SObjectizer в более-менее похожих на реальность условиях. Shrimp — это маленькое приложение на C++17, которое посредством...

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

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

Хабрарейтинг 2018: лучшие материалы за 2018 год Привет Хабр. Данный пост является логическим завершением публикаций про жизненный цикл статьи на Хабре (первая и вторая части), в результате чего был сделан достаточно интересный инструмент для статистического анализа. Методика оказалась весьма полезной, и позволяет находит...

Пользоваться ES File Explorer теперь опасно. В приложении найдены уязвимости Французский исследователь безопасности, известный под псевдонимом Эллиот Алдерсон (Elliot Alderson) обнаружил уязвимость в популярном файлменеджере ES File Explorer, которая позволяет получить доступ к данным других пользователей, подключенных к той же Wi-Fi сети. Всё, что д...

Как я начал любить Vue Вступление Данный пост — это логическое продолжение моего поста/статьи — Как я перестал любить Angular / How I stopped loving Angular. Рекомендуется к ознакомлению перед прочтением. Вот уже около года во всех проектах, в которых я участвую, я использую Vue вместо Angular. В...

Использование offensive-методов для обогащения Threat Intelligence На сегодняшний день Threat Intelligence, или активный сбор информации об угрозах информационной безопасности, представляет собой инструмент первой необходимости в процессе выявления инцидентов ИБ. Среди типовых источников TI можно выделить бесплатные подписки с вредоносными...

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

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

Как сжать загрузчик для STM8 до размера 8 байт в памяти FLASH Со времени написания предыдущей статьи ” Как сжать загрузчик для STM8 до размера 18 байт в памяти FLASH” появились две версии загрузчика STM8uLoader . Загрузчик STM8uLoader версии $36 научился передавать управление прикладной программе по любому адресу в памяти RAM без у...

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

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

Valve намерена облегчить запуск игр для Windows на Unix-подобных ОС Одним из главных недостатков игровых систем Steam Machine, как известно, была относительно скромная библиотека игр. Данные компьютеры работали под управлением разработанной компанией Valve операционной системы SteamOS (на базе Debian Linux), что закрыло им...

Sketch-библиотека для работы Дизайнер и проектировщик в «СКБ Контур» Александр Храмцов дал подробную инструкцию по работе с открытой библиотекой компании, опубликованную в общем доступе.

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

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

Цифровой магазин игр Discord Store попробует посоперничать со Steam Ставшая за короткое время популярной геймерская платформа Discord замахнулась на лавры Steam и представила свой собственный цифровой магазин игр. Discord Store теперь доступен всем желающим, но пока в режиме бета-теста. То есть пока ещё можно столкнуться с какими-то нед...

Книга «C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. 3-е издание» Всем привет, мы уже писали про новую книгу Марка Прайса, теперь публикуем отрывок из книги «Разработка мобильных приложений с помощью Xamarin.Forms» Мы создадим мобильное приложение для управления списком клиентов в базе данных Northwind, которое может быть запущено на iOS...

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

Как бесплатно читать на «ЛитРес» через библиотеку Книги очень легко получить, но они доступны только через приложение или на сайте.

Bitfinex дополнила Honey Framework новыми инструментами для автотрейдинга Биткоин-биржа Bitfinex представила новый набор опенсорсных библиотек для тестирования и реализации трейдинговых стратегий. As part of the Honey Framework, today we are releasing a new set of open source libraries that together provide a full trading strategy & backtestin...

Популярный open source — часть вторая: 5 инструментов для управления облаком В прошлый раз мы рассказывали о наиболее популярных и обсуждаемых инструментах и сервисах для работы с логами и базами данных. Тема сегодняшнего материала — управление контейнерами и балансировка нагрузки в облаке. Читать дальше →

14 игр для iOS содержат вирус Исследователи Wandera обнаружили в Apple App Store в общей сложности 14 игр, которые содержат серьезные потенциальные угрозы для потребителей. Аварийные приложения подключаются к серверу, который подключен к вирусу Goldluck. Интересно, что Goldluck полностью ориентирован на ...

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

[Перевод] Все равно не обойдетесь! — Использование интерфейсов и внедрение зависимостей для долговечного проектирования Всем привет! У нас наконец-то есть контракт на обновление книги Марка Симана "Dependency Injection in .NET" — главное, чтобы он поскорее ее дописал. А еще у нас в редактуре книга уважаемого Динеша Раджпута о паттернах проектирования в Spring 5, где одна из глав также посвящ...

[recovery mode] LAppS: Пол миллиона 1KB-WebSocket сообщений в секунду с TLS на одном CPU Для тех кто не в курсе: LAppS — Lua Application Server, это почти как nginx или apache, но только для WebSocket протокола, вместо HTTP. HTTP в нём поддерживается только на уровне Upgrade запроса. LAppS изначально затачивался на высокую нагрузку и вертикальную масштабируемос...

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

[Перевод] Перегрузка, которая запрещена, или bridge-методы в Java В большинстве моих собеседований на технические позиции есть задача, в которой кандидату необходимо реализовать 2 очень похожих интерфейса в одном классе: Реализуйте оба интерфейса одним классом, если это возможно. Объясните, почему это возможно или нет. interface WithPrimi...

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

СУБД Vertica поддерживает полный цикл машинного обучения внутри DataWareHouse Выбор единой платформы для реализации задач машинного обучения в организации позволяет решить проблему фрагментации экосистемы и заложить надежный фундамент для будущего развития, уверен Яссин Файх (Yassine Faihe), директор департамента технического консультирования заказчик...

[Перевод] DOOMBA Моя гостиная, попавшая в Ад. Теперь в моём конвертере Noesis есть скрипт Roomba. Он отслеживает пылесос Roomba и сохраняет данные трекинга, что позволяет визуализировать эти данные множеством разных способов, в том числе, разумеется, превратить их в рандомизированную карту...

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

Google нашла способ сделать Google Assistant по-настоящему полезным. Ждем офлайн-режим? Google Assistant по праву может считаться одним из лучших голосовых ассистентов. Он не только обладает близким к человеческому произношением, но и способен выполнить гораздо больше команд, чем решения конкурентов. Однако даже он неидеален. Поэтому компания Google, стремясь ...

[Перевод] NL2API: создание естественно-языковых интерфейсов для Web API Привет, Хабр! Совсем недавно мы кратко рассказывали о Natural Language Interfaces (Естественно-Языковых Интерфейсах). Ну а сегодня у нас не кратко. Под катом вы найдете полноценный рассказ о создании NL2API для Web-API. Наши коллеги из подразделения Research опробовали уника...

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

[recovery mode] Интеграция 3CX с Microsoft Dynamics 365 В этой статье мы расскажем, как подключить CRM-интеграцию Microsoft Dynamics 365 к IP-АТС 3CX. В данный момент 3CX завершает поддержку интеграций на стороне клиента 3CXPhone и переводит все CRM-интеграции на сторону сервера АТС по технологии REST API. Это позволяет настроит...

Детектирование и подсчет посетителей в режиме реального времени на одноплатном компьютере «Up-board» В С++ направлении мы разработали приложение для подсчета количества посетителей на основе анализа видеопотока с видеокамеры. Его отличительной особенностью было в то, что приложение разрабатывалось как отдельный автономный модуль для запуске на плате Up Board. Это позволяет ...

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

Нейросеть для разработчиков C++ Всем привет. Написал библиотеку для обучения нейронной сети. Кому интересно, прошу. Читать дальше →

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

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

BlackBerry Hub 1.6.2 BlackBerry Hub — обеспечивает централизованную обработку всех видов связи, позволяя управлять сообщениями в одном месте. Теперь общаться со своими друзьями и коллегами стало проще, чем когда бы то ни было. Вы можете оперативно систематизировать данные и выполнять необходимы...

Правила джентльменского поведения в IT: история ITIL В начале 2019 года библиотеку инфраструктуры информационных технологий ITIL ждет самое серьёзное обновление с 2011. Уже почти 30 лет ею пользуются по всему миру — и в частном бизнесе, и в государственных структурах. Вспомним, для чего ITIL создали и как она менялась. Читат...

StartAndroid 1.7 Уроки программирования Android. Весь контент на русском языке в понятной форме. Интерфейс приложения простой, минималистичный. Особенности: - Пометка прочитанных уроков - Поиск уроков - Автоматичекая проверка обновлений - Закладка - Карточный модуль с подсветк...

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

Red Hat купила компанию NooBaa По мнению аналитиков Gartner, "акцент в использовании облачных технологий на предприятиях сместился в сторону гибридных и мультиоблачных сред. К 2020 году 75 % организаций перейдут на одну из двух этих моделей"[1]. Становясь де-факто стандартом для современных рабо...

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

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

Участники проекта OpenSSL усилили криптозащиту На прошлой неделе вышла новая версия криптографической библиотеки OpenSSL — 1.1.1. Согласно анонсу, она содержит ряд важных усовершенствований; самым существенным из них является поддержка новейшего протокола защиты передачи данных TLS 1.3. Использование TLS 1.3, спецификаци...

“Слухай” – первая онлайн-библиотека аудиокниг на украинском языке С сегодняшнего дня заработал сайт “Слухай”, на котором пользователи могут найти более сотни аудиокниг на […]

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

Популярное приложение из Google Play заразило более 0,5 млн смартфонов на Android Как бы сильно компания Google и прочие производители мобильных устройств на базе операционной системы Android не старались обезопасить владельцев смартфонов под управлением данной ОС, но сделать это не получается, причем никакого прогресса в данном направлении Сообщение Поп...

Ночная жизнь неба или в поисках Персеид — обработка Недавно на Хабре была опубликована статья со съёмками ночного неба «Ночная жизнь неба или в поисках Персеид». Но самих метеоров авторы не смогли обнаружить из-за большого количества спутников, которые в данном случае являются ложными объектами. Я не смог пройти мимо, решил ...

[Перевод] Программирование с PyUSB 1.0 От переводчика: Это перевод руководства Programming with PyUSB 1.0 Данное руководство написано силами разработчиков PyUSB, однако быстро пробежавшись по коммитам я полагаю, что основной автор руководства — walac. Позвольте мне представиться PyUSB 1.0 — это библиотека Python...

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

Курс биткоина выше 8 300 долларов США - возвращаемся в майнинг? Ни для кого не является секретом, что после обвала курса биткоина с 20 000 долларов США до пяти тысяч - энтузиазм многих начинающих майнеров поутих. Аналогичные уровни просадки отмечались и в других криптовалютах, поэтому утешать себя тем, что если биткоин просел - выросли д...

[Перевод] TensorFlow.js и clmtrackr.js: отслеживание направления взгляда пользователя в браузере Автор статьи, перевод которой мы публикуем, предлагает поговорить о решении задач из сферы компьютерного зрения исключительно средствами веб-браузера. Решить подобную задачу не так уж и трудно благодаря JavaScript-библиотеке TensorFlow. Вместо того, чтобы обучать собственную...

Мобильная MOBA Vainglory вышла на компьютерах Студия Super Evil Megacorp сделала игру Vainglory действительно кроссплатформенной выпуском версий для Mac и Windows. На данный момент они находятся на стадии открытого альфа-тестирования, из-за чего в версиях игры для компьютеров есть множество багов и недоработок. ...

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

[Перевод] Javascript-фреймворки: тенденции 2019 года Представляем вам перевод статьи Nwose Lotannaс, которая была опубликована на blog.bitsrc.io. В ней подборки лучших фреймворков и информация, полезная как новичкам, так и опытным специалистам. Очередной отчет от State of JS и наш прогноз на новый год уже здесь! Давайте охва...

Microsoft выпустила Windows UI Library Preview для разработчиков UWP-приложений Компания Microsoft объявила о выпуске предварительной версии Windows UI (WinUI) Library для разработчиков UWP-приложений. Эта библиотека, распространяемая в виде пакета NuGet, совместима с предыдущими выпусками Windows 10, начиная с Anniversary Update, что позволяет создава...

Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1 Spring Framework является одним из самых сложных фремворков для понимания и изучения. Большинство разработчиков изучают его медленно, через практические задачи и гугл. Этот подход не эффективен, так как не даёт полной картины и при этом требует больших затрат. Я хотел бы ...

Приложение YouTube Music обзавелось новыми функциями Официальное мобильное приложение для сервиса YouTube Music, который должен стать полноценной заменой устаревающему Google Music, получает важные обновления, добавляющие простые и даже банальные, но очень удобные функции. Для начала стоит сказать о том, что теперь появилась в...

Приложение YouTube Music обзавелось новыми функциями Официальное мобильное приложение для сервиса YouTube Music, который должен стать полноценной заменой устаревающему Google Music, получает важные обновления, добавляющие простые и даже банальные, но очень удобные функции. Для начала стоит сказать о том, что теперь появилась в...

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

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

Apple Wallet. Что это такое и как интегрировать в него свою карту Принято считать, что Wallet – не самый популярный сервис в СНГ. Но уже во втором проекте подряд заказчик ставит задачу «Сделать интеграцию с Wallet». Поэтому я решил написать эту статью, чтобы рассказать о сервисе в целом и показать, как интегрировать в него свой продукт. Чт...

[Из песочницы] Решаем проблемы типов данных в Ruby или Make data reliable again В этой статье я хотел бы рассказать о том, какие проблемы с типами данных есть в Ruby, с какими проблемами столкнулся я, как их можно решить и как сделать так, чтобы на данные, с которыми мы работаем, можно было положиться. Читать дальше →

Анализ производительности WSGI-серверов: Часть вторая Данная статья является переводом статьи Кевина Голдберга «A Performance Analysis of Python WSGI Servers: Part 2» dzone.com/articles/a-performance-analysis-of-python-wsgi-servers-part с небольшими дополнениями от переводчика. Введение В первой части этой серии Вы познакоми...

Как сделать поиск пользователей по GitHub без React + RxJS 6 + Recompose Эта статья является ответом на статью-перевод «Как сделать поиск пользователей по GitHub используя React + RxJS 6 + Recompose», которая буквально вчера научила нас как надо использовать React, RxJS и Recompose вместе. Что ж, предлагаю теперь посмотреть, как это можно реализо...

[Перевод] WebAssembly — это возвращение апплетов Java и Flash? В последней статье по WebAssembly я сделал следующее утверждение: Некоторые сравнивают WebAssembly с Java-апплетами. В определённом смысле они правы, но с другой стороны сильно ошибаются. Как-нибудь я напишу статью о различиях, но пока поговорим о сходстве. В некотором смысл...

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

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

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

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

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

Появились первые фото, сделанные камерой Lenovo S5 Pro, состоящей из четырех модулей Напомним, компания Lenovo должна представить смартфон Lenovo S5 Pro, в основной камере которого будет сразу четыре модуля. Теперь же в Сети появились первые фотографии, сделанные на камеру Lenovo S5 Pro. Теперь у нас возникли сомнения в том, что Lenovo S5 Pro получит к...

[Перевод] Профессиональная контейнеризация Node.js-приложений с помощью Docker Автор материала, перевод которого мы публикуем сегодня, работает DevOps-инженером. Он говорит, что ему приходится пользоваться Docker. В частности, эта платформа для управления контейнерами применяется на разных этапах жизненного цикла Node.js-приложений. Использование Docke...

Данные пользователей Windows на ПК с поддержкой сенсорного ввода пишутся в отдельный файл Большое количество моделей ноутбуков и all-in-one рабочих станций в наше время имеют поддержку сенсорного ввода. Это сделано для удобства пользователя и ускорения процесса его работы. Но, как оказалось, у компьютерных систем с активированной поддержкой тач-ввода есть одна ...

YouTube Music станет основным музыкальным приложением для Android-смартфоном В конце этой недели разработчики из Google впервые в этом году обновили музыкальное приложение YouTube Music, повысив его версию до 2.65. Обновление не принесло с собой новую функциональность, однако стало известно, в каком направлении сейчас двигаются создатели данного...

HomeKit и ioBroker Давайте дружить домами Без сомнения, Apple iOS остается одной из самых популярных мобильных ОС, а значит, современные системы автоматизации должны уметь интегрироваться в эту экосистему и предоставлять возможность взаимодействия. Именно для этого предназначен фреймворк Homekit, который позволяет ...

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

[Перевод] 5 уроков, которые мы усвоили, написав более 300 000 строк инфраструктурного кода Краткий мастер-класс по разработке инфраструктурного кода В октябре этого года я выступил с докладом на конференции HashiConf 2018, где рассказал о 5 ключевых уроках, которые я и мои коллеги из Gruntwork усвоили в процессе создания и поддержки библиотеки из более чем 300 00...

Check Point Maestro Hyperscale Network Security — новая масштабируемая security платформа Компания Check Point довольно резво начала 2019 год сделав сразу несколько анонсов. Рассказать обо всем в одной статье не получится, поэтому начнем с самого главного — Check Point Maestro Hyperscale Network Security. Maestro это новая масштабируемая платформа, которая позв...

[Перевод] Что не так с std::visit в современном C++ Сигма-тип и вы Давайте поговорим о простой, но мощной концепции в программировании — сигма-типах. Сигма-тип (тип-сумма, меченное объединение) может содержать значения одного и только одного из нескольких типов. Например, рассмотрим настройки в INI-подобном файле конфигураци...

[Перевод] Паттерны и анти-паттерны CI/CD. Часть 1 Всем привет! Друзья, в последний день зимы у нас запустится новый поток по курсу «DevOps практики и инструменты». В преддверии старта курса делимся с вами первой частью статьи: «Паттерны и анти-паттерны CI/CD». Задача пайплайна развертывания состоит из трех частей: Види...

[Из песочницы] LEMP стек c PHP 7 на CentOS 7 + Let's Encrypt в Google Cloud для развертывания приложения Symfony 4 Добрый день, уважаемый Хабр! В данном посте я приведу конкретные шаги по установке и настройке связки Nginx + MySQL + PHP7 на CentOS 7. Стоит отметить, что в данной статье будет рассказано про настройку системы для одного домена. В качестве площадки будет использоваться инст...

За 2018 год аудитория мобильного приложения «Госуслуги» увеличилась почти вдвое В 2018 году через приложение пользователи заполнили и отправили более 12,6 млн электронных форм заявлений на получение госуслуг, что в два раза превышает показатели прошлого года.Самой популярной услугой стала возможность узнать размер пенсионных накоплений - граждане сделал...

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

Простое объяснение простоты. Глава 1: Теоретически просто Простое объяснение простоты КДПВ с областями, которые нам придется посетить, чтобы ответить на ГЛАВНЫЙ вопрос. Предисловие Я часто слышал совет: сделай проще. А что значит простой? Когда мы говорим, что X — простой, каковы наши ожидания от X? Когда мы говорим, что X проще...

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

Контроллер DMX — цифровой мастер Расширяется ассортимент DMX оборудования, использующего популярнейший протокол цифрового управления DMX512, который на сегодняшний день является одним из наиболее распространенных стандартов управления светом. Новый универсальный контроллер DMX SR-1009HSWP предназначен...

Китай активно борется с вредоносными приложениями и недостоверной информацией в Сети Управление киберпространства Китая, также известное как Управление Центральной комиссии по киберпространству (Cyberspace Administration of China, CAC), является главным органом контроля интернета и цензуры для Китайской Народной Республики. Согласно свежим данным д...

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

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

OpenSceneGraph: Основы работы с геометрией сцены Введение OpenGL, являющийся бэкэндом для OpenSceneGraph, использует геометрические примитивы (такие как точки, линии, треугольники и полигональные грани) для построения всех объектов трехмерного мира. Эти примитивы задаются данными об их вершинах, в которые входят коорди...

Какой могла бы быть официальная веб-версия Apple Music Сервис Apple Music присутствует на всех популярных платформах — Mac, iOS, Android и Windows. Но по какой-то причине музыкальный сервис так и не обзавелся веб-версией. Радует только то, что компания предоставляет разработчикам официальный доступ к API, что позволяет эн...

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

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

Качественные изображения впервые демонстрируют нестандартную особенность смартфона Honor View 20 Вчера состоялся формальный анонс камерофона Honor View 20 (или Honor V20), который получил врезанную в экран фронтальную камеру и 48-мегапиксельную основную камеру. Полноценный анонс запланирован только на 26 декабря, но уже сейчас у нас есть качественные изображения за...

[Перевод] Огромное игровое наследие Adobe Flash и мои попытки его сохранить Самая старая игра на сайте Newgrounds была загружена в 2000 году Adobe Flash (ранее Macromedia Flash) — пожалуй, самая большая сокровищница в истории игр. За двадцать лет под неё вышли буквально десятки тысяч игр: библиотека обширнее, чем у любой игровой приставки. И чере...

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

Все, что на данный момент известно о складном Samsung Galaxy F 2019 В данной статье мы расскажем Вам обо всем, что на сегодняшний день известно о складном устройстве от Samsung, дебют которого намечен на начало следующего года.

Бинарные модули для Python Python — классный. Мы говорим «pip install» и скорее всего нужная библиотека поставится. Но иногда ответ будет: «compilation failed», потому что есть бинарные модули. Они практически у всех современных языков страдают какой-нибудь болью, потому что архитектур много, что-то н...

Анатомия платформы Huawei FusionServer хостинга RUVDS Компания Huawei Technologies, известная прежде всего как поставщик сетевого и телекоммуникационного оборудования, более пяти лет назад начала мощный натиск на мировой серверный рынок, нацеливаясь на повышение узнаваемости своего бренда среди корпоративных заказчиков серверов...

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

Как «Флант» нанимает сотрудников «Флант» — это технологическая компания. Сейчас у нас порядка 60 человек и 7 команд. Что примечательно, практически все в той или иной мере инженеры — включая менеджеров, которые нет-нет, да и напишут строчку-другую кода. Нашей отличительной чертой является постоянное изучен...