Социальные сети Рунета
Понедельник, 20 мая 2019
14 августа 2018   11:54

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

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

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

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

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

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

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

Работа с изображениями на 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 Недавно мы открыли исходный код наиболее важной част...

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

[Перевод] Как настроить архивирование резервных копий 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 В мире машинного обучения одними из самых популярных типов моделей являются решающее дерево и ансамбли на их основе. Преимуществами деревьев являются: простота интерпретации, нет ограничений на вид исходной зависимости, мягкие требования к размеру выборку. Деревья имеют и кр...

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

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

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

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

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

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

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

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

[Из песочницы] Покупки в Android приложении — Play Billing Library И как это до сих пор на Хабре нет статьи об этом? Не дело, надо исправлять. Есть 2 способа добавить In-App покупки в Android-приложение — старый и новый. До 2017 года все пользовались библиотекой от anjlab, но с июня 2017 года ситуация изменилась, Google выпустила собстве...

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

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

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

[Перевод] Использование Fastify и Preact для быстрого прототипирования веб-приложений Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой ht...

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

R пакет tidyr и его новые функции pivot_long и pivot_wide Пакет tidyr входит в ядро одной из наиболее популярных библиотек на языке R — tidyverse. Основное назначение пакета — приведение данных к аккуратному виду. На Хабре уже есть публикация посвящённая данному пакету, но датируюется она 2015 годом. А я хочу рассказать, о наиболее...

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

[Перевод] Будущее внедрения зависимостей в Android Предлагаю вашему вниманию перевод оригинальной статьи от Jamie Sanson Создание Activity до Android 9 Pie Внедрение зависимостей (DI) — это общая модель, по ряду причин используемая во всех формах разработки. Благодаря проекту Dagger, он взят в качестве шаблона, используемог...

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

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

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

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

Физические безумства Добрый день, уважаемый читатель! Я, начинающий Java-программист, долгое время не мог освоиться с библиотекой Box2D. Во-первых, из-за того, что она написана для C++, и по ней нет документации, а синтаксис Си я не знаю. Во-вторых, из-за того, что подробные уроки по этой библио...

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

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

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

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

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

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

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

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

Security Week 09: 19-летняя уязвимость в WinRAR Объявляем неделю доисторических багов. Уязвимость в архиваторе WinRAR, обнаруженную и закрытую в конце января, подробно описали специалисты компании Check Point Software (новость, оригинальное исследование). В худшем случае брешь позволяет распаковать вредоносный файл в прои...

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 я перепробовал несколько стандартных библиотек для навигации, но при использовании каждой из них я испытывал просто ужасную, адскую боль. Они были сделаны настолько неудобно и неочевидно, что разработка даже простейших к...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распрост...

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

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

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

Безопасность со вкусом Google Отгремел Google I/O 2019 и пришла пора переписывать проекты на новую архитектуру изучать новинки. Так как я интересуюсь безопасностью мобильных приложений, то в первую очередь обратил внимание на новую библиотеку в семействе JetPack — security-crypto. Библиотека помогает пра...

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

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

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

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

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса. Напр...

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

[Перевод] «Чёрные дыры» веб-аналитики: сколько данных теряется в GA и почему Если вы когда-нибудь сравнивали данные двух аналитических инструментов на одном и том же сайте или сравнивали аналитику с отчётами и продажах, то, вероятно, замечали, что они не всегда совпадают. В этой статье я объясню, почему в статистике платформ веб-аналитики отсутству...

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

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

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

[Перевод] Лямбды: от C++11 до C++20. Часть 1 Добрый день, друзья. Сегодня мы подготовили для вас перевод первой части статьи «Лямбды: от C++11 до C++20». Публикация данного материала приурочена к запуску курса «Разработчик C++», который стартует уже завтра. Лямбда-выражения являются одним из наиболее мощных дополнений...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

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

Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...

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

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

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

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

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

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

[Перевод] Автоматизация библиотек на Typescript Хочу сразу оговориться: эта статья не дает готового к использованию рецепта. Это скорее моя история путешествия в мир Typescript и NodeJS, а также результаты моих экспериментов. Тем не менее, в конце статьи будет ссылка на GitLab репозиторий, который вы можете посмотреть, и ...

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

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

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

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

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

В популярной Ruby-библиотеке Bootstrap-Sass нашли бэкдор Скомпрометировав разработчика, злоумышленники добавили бэкдор в библиотеку Bootstrap-Sass. Вредоносную версию успели загрузить 1477 раз.

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

[Из песочницы] Consumer Driven Contracts или Gitlab CI глазами QA test automation Цели данной публикации: Краткое введение в Consumer Driven Contracts (CDC) Настройка CI pipeline на основе CDC Consumer Driven Contracts В этой части мы пройдемся по основным моментам CDC. Данная статья не является исчерпывающей на тему контрактного тестирования. Существуе...

SciPy, оптимизация с условиями SciPy (произносится как сай пай) — это основанный на numpy математический пакет, включающий в себя также библиотеки на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab. В это...

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

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

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

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

[Из песочницы] Пишем telegram бота на python с помощью библиотеки telebot Лирическое отступление Боты сегодня — это многофункциональный инструмент, как для бизнеса, так и для развлечений. Лично я считаю, что за ними будущее. Конечно, прочитав эту статью, вы не сможете создавать большие проекты, но заинтересоваться и начать — вполне. Установка и н...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

Робо-футболист от начинающих. Соревнования в МФТИ. Android & Arduino & Bluetooth Данная статья является полу-сиквелом к работе Love, Death and Robots «Машинка на Arduino, управляемая Android-устройством по Bluetooth, — полный цикл», состоящей из двух частей (раз, два). Вещи, описанные там, были немного доработаны-переделаны, а сам робот из ездящей машинк...

Разработка Kubernetes оператора с Operator Framework Как уже говорилось в статье Радар технологий, Lamoda активно двигается в направлении микросервисной архитектуры. Большинство наших сервисов упаковываются с помощью Helm и деплоятся в Kubernetes. Данный подход полностью удовлетворяет наши потребности в 99% случаев. Остается ...

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

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

[Перевод] Введение в сетевые политики Kubernetes для специалистов по безопасности Прим. перев.: Автор статьи — Reuven Harrison — имеет более 20 лет опыта в разработке программного обеспечения, а на сегодняшний день является техническим директором и соучредителем компании Tufin, создающей решения для управления политиками безопасности. Рассматривая сетев...

Concurrency и паттерны ошибок, скрытые в коде: Deadlock Наверняка, многие слышали, а кто-то встречал на практике, такие слова, как взаимные блокировки(deadlock) и гонки(race condition). Эти понятия относятся к разряду ошибок в использовании concurrency. Если я задам вам вопрос, что такое дедлок, вы с большой вероятностью без доли...

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

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

Подключение Micrometer для веб-приложения на Java Micrometer используется для сбора метрик приложения JVM и позволяет экспортировать данные в различные системы мониторинга. В этой статье я расскажу, как подключить Micrometer для spring web приложения и экспортировать данные в Prometheus (хороший пост о нем). Так как мое при...

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

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

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

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

В интернете появилась новая энциклопедия – Вики Пользователям интернета теперь доступен аналог Википедии — сайт https://wiki.bio. Энциклопедия включает только самые актуальные на сегодняшний день статьи на темы разного характера: наука, история, философия, спорт, общество и другие. Главная ст...

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

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

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

Где взять аудиосемплы для ваших проектов: подборка из восьми тематических ресурсов В прошлый раз мы делали подборку ресурсов с полноценными музыкальными композициями для приложений, игр или видео. Сегодня рассказываем о площадках с библиотеками коротких звуков и семплов, распространяемых в основном по лицензиям класса Creative Commons. Читать дальше →

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

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

[Из песочницы] Arduino и Processing. Как управлять микроконтроллером по COM порту. Двустороннее общение Всем привет! В интернете бытует заблуждение, что для управления компьютером при помощи самодельной электроники нужны только специальные платы, которые могут распознаваться как USB HID устройства. А касаемо Arduino все только и говорят о Arduino Leanardo. Такие популярные биб...

[Из песочницы] Создаем монорепозиторий с помощью lerna & yarn workspaces За последние несколько лет концепция монорепозиториев успешно зарекомендовала себя, так как позволяет значительно упростить процесс разработки модульных программных проектов, таких как инфраструктуры на основе микросервисов. Основные преимущества такого архитектурного подх...

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

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

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

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

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

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

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

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

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

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

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

Python vs. Scala для Apache Spark — ожидаемый benchmark с неожиданным результатом Apache Spark на сегодняшний день является, пожалуй, наиболее популярной платформой для анализа данных большого объема. Немалый вклад в её популярность вносит и возможность использования из-под Python. При этом все сходятся на том, что в рамках стандартного API производитель...

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

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

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

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

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

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

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

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

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

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

Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 2: оптимизация байт-кода в PHP 7.1 В первой части рассказа по мотивам выступления Дмитрия Стогова из Zend Technologies на HighLoad++ мы разбирались во внутреннем устройстве PHP. Детально и из первых уст узнали, какие изменениях в базовых структурах данных позволили ускорить PHP 7 более чем в два раза. На этом...

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

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

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

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

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

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

В Украине запустили мобильную библиотеку «Абук» с аудиокнигами на украинском языке В Украине запустили мобильную библиотеку аудиокниг «Абук» для смартфонов под управлением Android и iOS. С помощью одноименного приложения со встроенным плеером можно купить и слушать аудиоверсии книг украинских издательств, сообщает издание AIN.UA. На данный момент в «А...

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

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

Микросервисная архитектура на современном стеке 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, написания декла...

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

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

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

Погружение в Dokan. Как сделать свою файловую систему для Windows без FUSE Для подписчиковВ Linux, как известно, многие вещи реализованы как файлы в файловой системе. А если и не реализованы, то их можно реализовать самому при помощи FUSE. В Windows это менее принято, но если все же очень хочется смонтировать что-то как ФС, то это возможно. Я покаж...

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

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

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

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

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

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

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

Сгибаемый смартфон Huawei Mate X Huawei Mate X получил большой 8-дюймовый дисплей, который складывается пополам наружу, превращая устройство в традиционный смартфон с 6,38- или 6,6-дюймовым экраном в зависимости от стороны. Кроме того, гаджет получил поддержку сетей пятого поколения с самой большой на сегод...

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

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

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

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

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

Фракталы в иррациональных числах Статья является продолжением моей первой статьи «Фракталы в простых числах». В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа . Без предисловия. Под кат. Читать дальше →

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

Делаем облачное видеонаблюдение своими руками: новые возможности Web SDK Ivideon У нас есть несколько интеграционных компонентов, позволяющих любому партнеру создавать собственные продукты: Open API для разработки любой альтернативы личного кабинета пользователя Ivideon, Mobile SDK, с помощью которого можно разработать полноценное решение, эквивалентно...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 крутых сервисов digital-маркетинга, о которых не слышали в России Привет, Хабр! Поделюсь своим опытом работы с сервисами, которыми практически не пользуются в России, но при этом они мега-популярны в Европе и США. Кратко распишу, что это за сервисы и для чего они нужны, их плюсы/минусы на личном опыте, и дам для сравнения аналоги популяр...

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

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

Фотогалерея дня: Valve показала как будет выглядеть обновленный интерфейс Steam Во время мероприятия GDC 2019 компания Valve продемонстрировала, как будет выглядеть обновленный интерфейс библиотеки игр магазина Steam. Разработчики пообещали запустить бета-тестирование нового интерфейса уже летом. Библиотека игр будет выглядеть более свежо, пользователь ...

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

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

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

Простая игра на SFML Будем делать игру «пятнашки» на языке C++ с использованием библиотеки SFML. Пятнашки — это широко известная головоломка, которая выглядит следующим образом: На игровом поле размером 4х4 случайным образом расположены 15 плашек с номерами от 1 до 15 и одно свободное место. П...

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

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

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

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

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

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

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

На миллионы пользователей Photoshop и Lightroom подадут в суд Двумя самыми популярными приложениями компании Adobe являются программы Lightroom и Photoshop, а позволяют они обрабатывать снимки, а также, кроме того, создавать полноценные графические изображения с нуля. Миллионы людей по всему миру активно используют данное программное ...

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

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

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

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

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

Не нервничай, не спеши, не перебивай: история одной трагедии На этой неделе исполнилось 42 года со дня ужасного террористического акта на Канарских островах, который привел к гибели почти 600 человек. Нет, сам взрыв бомбы, устроенный боевиком из Движения за независимость Канарских островов (организация на сегодняшний день не существуе...

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

Анализ данных на Scala — суровая необходимость или приятная возможность? Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации...

Вычисляем символьные выражения с нечеткими треугольными числами в python Привет, Хабр! Сегодня миниатюрный туториал о том, как сделать разбор строки с математическим выражением и вычислить его используя нечеткие треугольные числа. При соответствующих изменениях кода туториал сгодится для работы и с другими «кастомными» переменными. Требования: ...

[Перевод] Глубокое обучение с подкреплением: пинг-понг по сырым пикселям Это давно назревшая статья об обучении с подкреплением Reinforcement Learning (RL). RL – крутая тема! Вы, возможно, знаете, что компьютеры теперь могут автоматически учиться играть в игры ATARI (получая на вход сырые игровые пиксели!). Они бьют чемпионов мира в игру Го, ви...

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

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

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

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

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

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

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

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

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

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

[Перевод] Миллионы бинарников спустя. Как укреплялся Linux TL;DR. В этой статье мы исследуем защитные схемы (hardening schemes), которые из коробки работают в пяти популярных дистрибутивах Linux. Для каждого мы взяли конфигурацию ядра по умолчанию, загрузили все пакеты и проанализировали схемы защиты во вложенных двоичных файлах. Ра...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WhatsApp может выпустить полноценное приложение для iPad WhatsApp — одно из самых популярных приложений для обмена сообщениями. Более 1 миллиарда человек используют его ежедневно. Но до сих пор у него не было полноценной версии для iPad. Эта проблема может быть устранена в ближайшее время, по слухам, разработчики работают над офиц...

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

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

Смартфоны 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 объединили усилия и выпустили новое приложение дополненной реальности, которое позволяет перенести персонажей из игры в реальный мир и сделать с...

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

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

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

Chrome Audit на 500: Часть 1. Лендинг В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение. Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нес...

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

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

Adam-3600 — многофункциональный промышленный контроллер Контроллер Adam-3600 — универсальное устройство для дистанционного управления промышленными объектами, сбора данных, мониторинга и автоматизации процессов. Одновременно может выступать как устройство связи с объектом (УСО), устройство сбора и передачи данных (УСПД) и прогр...

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

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

Один день из жизни модели ресторана Данная статья описывает новые компоненты фреймворка для имитационного моделирования, ранее представленного в статье «Простая система имитационного моделирования на Go». По мере расширения фреймворка появилась возможность моделировать более сложные системы, например, провест...

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

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

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

Angular: создание и публикация библиотеки Начнем с начала Если мне не изменяет память, то с версии 6 в angular появилась возможность создавать в одном workspace проекты разных типов: application и library. До этого момента люди, которые хотели создать библиотеку компонент, скорее всего, пользовались отличным и поле...

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

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

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

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

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

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

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

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

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

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

Основы реактивного программирования с использованием RxJS. Часть 2. Операторы и пайпы В предыдущей статье мы рассмотрели, что такое потоки и с чем их едят. В новой части мы познакомимся с тем, какие методы RxJS предоставляет для создания потоков, что такое операторы, пайпы(pipes) и как с ними работать. RxJS обладает богатейшим API. В документации описано б...

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

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

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

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

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

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

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

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

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

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

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

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

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

Apple обвинили в экономии на камерах новых iPhone Фотографические возможности флагманских iPhone явно далеки от идеальных, однако назвать их посредственными нельзя. Более того, есть определенная категория пользователей, которым снимки, сделанные на камеру смартфонов Apple, нравятся больше, чем работа лидеров рейтинга DxOMa...

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

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

[Перевод] Аналитика логов Nginx с помощью Amazon Athena и Cube.js Обычно для мониторинга и анализа работы Nginx используют коммерческие продукты или готовые open-source альтернативы, такие как Prometheus + Grafana. Это хороший вариант для мониторинга или real-time аналитики, но не слишком удобный для исторического анализа. На любом популяр...

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

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

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

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

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

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

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

Универсальный JSONDecoder На данный момент подавляющее большинство мобильных приложений являются клиент-серверными. Повсюду происходит подгрузка, синхронизация, отправка событий и основным способом взаимодействия с сервером является обмен данными посредством формата json. Читать дальше →

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

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

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

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

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

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

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

Facebook переименовал Архив объявлений в Библиотеку рекламы Facebook объявил о запуске Библиотеки рекламы – новой версии Архива объявлений, увидевшего свет в 2018 году. Ранее на этом портале содержалась детальная информация о политической рекламе. В частности, на кого она была нацелена, сколько показов получила, кто её разместил и ка...

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

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

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

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

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

Рекомендации по настройке AFA AccelStor при работе с VMware vSphere В рамках данной статьи хотелось бы рассказать об особенностях работы All Flash массивов AccelStor с одной из популярнейших платформ виртуализации – VMware vSphere. В частности, акцентировать внимание на тех параметрах, которые помогут получить максимальный эффект от использо...

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

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

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

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

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

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

«NoERP» или новый взгляд на нормализацию данных в корпоративных учетных системах Привет, Хабр! Данная статья представляет собой попытку взглянуть на архитектуру старых современных систем учета и планирования на предприятии (назовем их для краткости ERP) с высоты нового опыта. Поводом к написанию послужил маленький тест производительности WEB-приложения,...

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

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

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

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

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

TDE в Apache Ignite: история major feature в большом open source проекте Многим организациям, в особенности финансовым, приходится иметь дело с различным стандартами безопасности — например, с PCI DSS. Такие сертификации требуют шифрования данных. Прозрачное шифрование данных на диске Transparent Data Encryption реализовано во многих промышленных...

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

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

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

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

[Из песочницы] Настройка GitLab CI для загрузки java проекта в maven central Данная статья рассчитана на java разработчиков, у которых возникла потребность быстро публиковать свои продукты в репозиториях sonatype и/или maven central с использованием GitLab. В данной статье я расскажу про настройку gitlab-runner, gitlab-ci и maven-plugin для решения д...

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

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

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

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

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

Микросервисы на php и swoole для конвертации телеграм каналов в RSS В предыдущем посте я рассказал про то, как настроить и использовать php телеграм клиент madelineProto для парсинга постов. Но при использовании библиотеки я столкнулся с несколькими недостатками: Долгая обработка запросов из-за авторизации телеграм клиента; Неудобная нас...

Google рассказала, как создавать приложения на Android «Разработка Android-приложений на языке Kotlin» – это бесплатный онлайн-курс, который компания Google разработала совместно с образовательной организацией Udacity для того, чтобы любой желающий мог пройти самостоятельное обучение и постичь азы (и не только) программирования...

Facebook заплатила 10 000 долларов за DoS-уязвимость в библиотеке Fizz Хотя bug bounty программа Facebook не распространяется на уязвимости, связанные с отказом в обслуживании (DoS), но за такой баг в опенсорсной TLS-библиотеке Fizz социальная сеть выплатила крупную сумму.

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

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

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

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

MWC 2019: Nokia 9 PureView — флагманский смартфон с пятью камерами Слухи о новом флагманском смартфон Nokia 9 с основной камерой из пяти модулей появились в сети довольно давно, однако анонс устройства состоялся лишь сейчас в рамках MWC 2019. Итак, основная камера смартфона включает в себя пять 12-мегапиксельных модулей с апертурой f/1.8, ...

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

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

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

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

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

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

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

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

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

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

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

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

5 способов распознать песню при помощи смартфона Музыка окружает нас практически везде. При поездке в общественном транспорте, на прогулке или же просто просматривая ролик в интернете наверняка почти каждый из вас задавался вопросом: «Что это за композиция? Вот бы послушать ее отдельно!». Сегодня в эру интернета...

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

[recovery mode] Что такое Cordentity? [Перевод статьи] Cordentity — это приложение Corda (CorDapp) позволяющее использовать возможности технологии Self Sovereign Identity (SSI) другим CorDapps. Другими словами, Cordentity = Corda + Identity. Мы рады объявить, что теперь Cordentity является проектом Hyperledger Labs с открытым и...

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

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

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

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

Сосчитаем агентов «Ревизор» Не секрет, что за контролем блокировок по списку запрещённой информации в России следит автоматизированная система «Ревизор». Как это работает неплохо написано вот в этой статье на Habr, картинка оттуда же: Непосредственно у провайдера устанавливается модуль «Агент Ревизо...

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

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

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

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

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

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

[Из песочницы] IMaskjs — 3 года в Open Source Всем привет! Прошло 3 года с тех пор, как я начал работу над библиотекой imaskjs. Хотя opensource — это бесконечный процесс, но можно сказать что в целом работа закончена и перешла в вялотекущий багфикс. На данный момент я сделал все что хотел, других идей нет, разве тест...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

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

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

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

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

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

[Перевод] Храним SSH-ключи безопасно Хочу рассказать как безопасно хранить SSH-ключи на локальной машине, не боясь за то, что какое-то приложение может украсть или расшифровать их. Статья будет полезна тем, кто так и не нашел элегантного решения после паранои в 2018 и продолжает хранить ключи в $HOME/.ssh. Для...

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

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

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

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

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

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

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

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

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...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На GitHub продвигали более 300 приложений с бэкдорами Исследователи нашли на GitHub 89 аккаунтов, которые продвигали 73 репозитория с опасными приложениями и библиотеками для Windows, Mac и Linux.

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

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

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

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

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

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

БК 10бет – одна из самых молодых, но перспективных букмекерских контор Великобритании Букмекерские конторы нынче пользуются очень большой популярностью практически во всем мире. Существует их достаточно много. Есть как очень популярные, так и не очень популярные конторы. Поговорим об одной из отличных контор, которая является не очень известной, но достаточно...

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

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

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

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

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

8 приемов работы с CSS: параллакс, «липкий» футер и другие Эта статья о приемах работы в CSS, узнав о которых, я восклицал: «Агаааа!». Надеюсь, вы тоже сделаете пару открытий. CSS — специфическая технология. На первый взгляд она кажется очень простой. Но некоторые эффекты, которые в теории кажутся простыми, не являются таковыми...

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

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

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

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

Зачем нам на производстве AR и VR Привет! AR и VR — штуки модные, сейчас приложения с их использованием не сделал только ленивый (или тот, кому оно просто не надо). От Oculus до MSQRD, от простых игрушек, радующих детишек появлением динозавра в комнате, до прикладных приложений вида «Расставь мебель в своей ...

Maxon выпустила процессорный бенчмарк Cinebench R20 На протяжении последних лет одним из самых популярных бенчмарков для определения «сырой» вычислительной мощности процессора являлся Cinebench R15. Вполне ожидаемо, что за более чем пять лет с момента релиза данный тест успел устареть,...

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

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

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

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

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

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

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

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

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

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

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

Команда плагинов для настройки 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...

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

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

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

[Перевод] Вытащить YPbPr из Commodore 64 Commodore 64 — компьютер с огромной библиотекой программ, но с не очень качественным видеовыходом. Микросхема под названием VIC-II генерирует сразу S-Video, причём сигнал цветности — не совсем стандартный, а сигнал яркости — несколько зашумлённый. Но, сняв сигналы с 22 выв...

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

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

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

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

[Из песочницы] Как выбрать широкополосный модем для беспилотного летательного аппарата (БЛА) или робототехники Задача передачи большого объема данных с борта беспилотного летательного аппарата (БЛА) или наземной робототехники не редкость в современных приложениях. В данной статье рассматриваются критерии выбора широкополосных модемов и сопутствующие проблемы. Статья написана для разр...

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

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

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

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

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

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

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

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

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

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

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

Обман нейронной сети для начинающих В рамках ежегодного контеста ZeroNights HackQuest 2018 участникам предлагалось попробовать силы в целом ряде нетривиальных заданий и конкурсов. Часть одного из них была связана с генерированием adversarial-примера для нейронной сети. В наших статьях мы уже уделяли внимание ...

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

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

Масштабирование приложения в Kubernetes на основе метрик из Prometheus Распространённая ситуация: у вас есть несколько приложений, у одного из них пиковая нагрузка приходится на дневное время, а в другие часы к нему никто не обращается (либо обращаются, но редко); при этом другим приложениям мощности кластера могут пригодиться и в ночное врем...

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

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

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

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

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

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

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

[Перевод] Большой 7-сегментный дисплей c неоновым свечением на ESP8266 Мне нужно было сделать для работы электронный дисплей большого размера с функцией секундомера и неоновым свечением. Для управления был выбран чип ESP8266, в котором реализованы и функция часов, и секундомер. Чтобы получить неоновое свечение я применил цилиндры термоклея...

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

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

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

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

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

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

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

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

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

[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве Вас приветствует команда «Graceful Algorithms»! В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект...

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

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

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

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