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

Изучаем VoIP-движок Mediastreamer2. Часть 7 Материал статьи взят с моего дзен-канала. Используем TShark для анализа RTP-пакетов В прошлой статье мы собрали схему дистанционного управления из генератора и детектора тональных сигналов, связь между которыми осуществлялась с помощью RTP-потока. В этой статье мы продолжа...

Изучаем VoIP-движок Mediastreamer2. Часть 8 Материал статьи взят с моего дзен-канала. Структура RTP-пакета В прошлой статье мы с помощью TShark выполнили захват RTP-пакетов, которыми обменивались наши приемник и передатчик. Ну а в этой мы раскрасим элементы пакета в разные цвета и поговорим об их назначении. Взглянем...

Изучаем VoIP-движок Mediastreamer2. Часть 4 Материал статьи взят с моего дзен-канала. Создаем измеритель уровня сигнала В прошлой статье мы внесли ясность в корректное завершение программ использующих медиастример. В этой статье мы соберем схему измерителя уровня сигнала и научимся читать результат измерения из фильтр...

Изучаем VoIP-движок Mediastreamer2. Часть 10 Материал статьи взят с моего дзен-канала. В прошлой статье мы сделали дуплексное переговорное устройство, выполняющее обмен звуковым сигналом через дуплексную RTP-сессию. В этой статье мы научимся писать фильтры и добавим сделанный своими руками фильтр в сделанное своими рук...

Изучаем VoIP-движок Mediastreamer2. Часть 2 Материал статьи взят с моего дзен-канала. Создаем тональный генератор В предыдущей статье мы выполнили установку библиотеки медиастримера, инструментов разработки и проверили их функционирование, собрав пробное приложение. Сегодня мы создадим приложение, которое сможет пропи...

Изучаем VoIP-движок Mediastreamer2. Часть 11 Материал статьи взят с моего дзен-канала. Механизм перемещения данных Блок данных dblk_t Сообщение mblk_t Функции работы с сообщениями mblk_t Очередь queue_t Функции работы с очередями queue_t Соединение фильтров Сигнальная точка графа обработки данных Закулисная деятельно...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

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

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

Фамильный вики-движок Bonsai: итоги 2019 года В начале прошлого года я рассказывал про проект Bonsai — движок для создания семейного вики и фотоальбома с открытым исходным кодом. С тех пор проект планомерно развивался. За год сделано несколько фич, благодаря которым движок теперь значительно проще попробовать в у себя и...

[Из песочницы] Как Gitlab-CI наследует переменные окружения? Переменные в Gitlab можно задать в нескольких местах: В настройках групп В настройках проекта Внутри .gitlab-ci.yml При этом переменные в настройках групп и проекта можно задать как "файл"или "обычную переменную" и поставить галочки "защищено"...

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

[Из песочницы] Хакинг классического Sonic the Hedgehog для Sega В этой статье я хочу разобрать внутреннее устройство легендарной игры Sonic the Hedgehog для приставки Sega Mega Drive, а также способы ее модификации или, как еще говорят, хакинга. Эта игра насчитывает порядка сотни хаков, включающих как действительно достойные работы (таки...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

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

Как мы обошли bytenode и декомпилировали байткод Node.js (V8) в Ghidra «Да я роботов по приколу изобретаю!» Рик СанчесМногим известно, что в 2019 году АНБ решило предоставить открытый доступ к своей утилите для дизассемблирования (реверс-инжиниринга) под названием Ghidra. Эта утилита стала популярной в среде исследователей благодаря высокой «вс...

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

Yeastar LTE Module Модуль Yeastar LTE позволяет передавать VoIP-данные через сети 4G. Модуль обеспечивает IP-АТС Yeastar серии S мобильным интернетом для подключения к VoIP-операторам по протоколу SIP, что в свою очередь можно использовать как резервный канал интернета или ...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

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

Microsoft начала пересаживать пользователей на Edge с движком от Chromium Компания Microsoft официально выпустила обновлённую версию браузера Edge, в основе которой лежит движок от Chromium.

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

[Из песочницы] Использование Camunda для удобной оркестровки на основе REST и Workflow Engine (без Java) Привет, Хабр! Представляю вашему вниманию перевод статьи «Use Camunda as an easy-to-use REST-based orchestration and workflow engine (without touching Java)» автора Bernd Rücker. 07.07.2020 г., перевод статьи Bernd Rücker Я часто обсуждаю микросервисную архитектуру с люд...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

Unigine Engine — новый уникальный Пролог Не так давно я увидел showreel движка, который выглядит более чем конкурентно showreel В этой статье я максимально кратко расскажу об этом движке и косвенно сравню с прямыми конкурентами. зарегестрироваться и скачать тутunigine.com Немного про историю : Все началос...

[Перевод] Руководство Google по стилю в C++. Часть 10 Часть 1. Вступление … Часть 9. Комментарии Часть 10. Форматирование … Эта статья является переводом части руководства Google по стилю в C++ на русский язык. Исходная статья (fork на github), обновляемый перевод. Читать дальше →

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

[Перевод] Контрольный список для ревью кода в распределенных системах points of view by sanja Микросервисная архитектура широко распространена в разработке программного обеспечения. Но организации, которые ее используют, помимо сложностей в реализации бизнес-логики сталкиваются еще и с распределенными сбоями. Ошибки распределенных вычислений...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

.NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров .NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С ее помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, ...

[Перевод] Опенсорсные инструменты и пакеты для работы с HTTP API Мы продолжаем серию статей о создании HTTP API с помощью .NET 5. В предыдущей статье мы рассмотрели создание обнаруживаемых HTTP API с помощью ASP.NET Core 5 Web API. В этой статье мы рассмотрим пакеты и инструменты для работы с HTTP API с открытым исходным кодом. Ну что ж, ...

Как перенести шейдер из игрового движка в Substance Painter Меня зовут Тарас Улейский, я Technical Artist в Plarium Kharkiv. Для оптимизации графики нашей Survival RPG на мобильных устройствах мы использовали свои кастомные шейдеры. Они предполагают использование уникальных текстур и карт, которые не похожи на текстуры и карты в друг...

Консоль Microsoft Xbox Series X получит специализированный аудиопроцессор В конце февраля сообщалось, что игровая консоль нового поколения Microsoft Xbox Series X получит поддержку объёмного звука на основе трассировки лучей. Теперь появились новые подробности об аудиосистеме устройства. Известно, что за счёт обработки звука с помощью трассировки ...

Apache Kafka для чайников Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на W...

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

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

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

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

[Перевод] Введение в gRPC на Rust В статье будет показано как создать gRPC сервер и клиент на Rust. Для большей наглядности клиент будет также Telegram ботом. В итоге будет получена следующая архитектура: Статья является не всеобъемлющим руководством по gRPC в Rust, а скорее практическим гайдом, демонстриру...

SDR трансивер SoftRock Ensemble RXTX Данная статья является продолжением серии публикаций про SDR (Software Defined Radio). В двух предыдущих статьях мы разобрались, как работает схема Tayloe, как с помощью схемы Tayloe осуществить синхронный приём АМ сигналов, и как устроен связной SDR-приёмник. В этой публи...

Руководство по Node.js для начинающих. Часть 2 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Движок JavaScript V8 V8 — название движка JavaScript, поддерживаемого Google Chrome. Эта та штука, которая берет ваш JavaScript-код и выполня...

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

[Перевод] Трансформеры как графовые нейронные сети TL;DR: перевод поста Chaitanya Joshi "Transformers are Graph Neural Networks": схемы, формулы, идеи, важные ссылки. Публикуется с любезного разрешения автора.Друзья-датасаентисты часто задают один и тот же вопрос: графовые нейронные сети (Graph Neural Networks) — п...

Как мы улучшили интерфейс VSO-движка Playrix и приблизили его по удобству к Unity Ранее на Хабре мы уже писали о том, как сделали собственный игровой движок VSO, а сегодня расскажем, как мы улучшали его интерфейс и удобство работы с ним. Статья будет полезна всем, кто только начинает разбираться с UX/UI и хочет узнать, как с помощью базовых прин...

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

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

[Перевод] Руководство Google по стилю в C++. Часть 1 Часть 1. Вступление … Часть 8. Именование Часть 9. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на...

[Перевод] Bluetooth Low Energy: подробный гайд для начинающих Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование э...

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

MQTTv5.0: Обзор новых функций Привет всем любителям IoT и железок! В этой статье я расскажу про, пожалуй, самый популярный протокол передачи данных, используемый в сфере Интернета вещей, — MQTT. А если конкретнее, то про MQTT Version 5.0 (версия, опубликованная 7 марта 2019 года). А если еще конкретнее...

[Перевод] Имитация рисования от руки на примере RoughJS RoughJS это маленькая (<9 КБ) графическая библиотека JavaScript, позволяющая рисовать в эскизном, рукописном стиле. Она позволяет рисовать на <canvas> и с помощью SVG. В этом посте я хочу ответить на самый популярный вопрос о RoughJS: как это работает? Немного ист...

[Перевод] Symfony и Гексагональная архитектура В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда пойм...

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

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

STM-32 Минимальная аудио плата В ожидании часов спроектировал девайс на STM32. По функциональности задумывалось реализовать простой диктофон или плеер и посмотреть на сколько возможна обработка звука на STM32F103 семействе, хотя бы с использованием Fixed-Point Для реализации минимальной аудио платы я в...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

Let vs where в Ocaml/Haskell Языки Ocaml и Haskell ведут родословную из языка ISWIM, описанного в знаменитой статье Питера Лендина "The next 700 programming languages". В ней автор, отталкиваясь от языка LISP, создаёт новый язык программирования и, в частности, вводит ключевые слова let, and и where, ко...

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

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

[Из песочницы] Практичные способы маппинга данных в Kotlin Маппинг данных – один из способов для разделения кода приложения на слои. Маппинг широко используется в Android приложениях. Популярный пример архитектуры мобильного приложения Android-CleanArchitecture использует маппинг как в оригинальной версии (пример маппера из CleanArc...

Microsoft открыла исходный код языка программирования Project Verona Некоторое время назад стало известно, что Microsoft работает над созданием нового языка под кодовым названием Project Verona, который предназначен для безопасного программирования инфраструктуры. Новый язык включает в себя некоторые идеи из популярного языка программировани...

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

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

[Перевод] Понимание CSS Grid: Создание Grid-контейнера Перевод «Understanding CSS Grid: Creating A Grid Container» Рейчел Эндрю Хотя технология CSS Grid стала поддерживаться некоторыми браузерами еще в 2017 году, у многих разработчиков пока не было возможности использовать её в своих проектах. Технология CSS Grid привносит множ...

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

Что значит быть эффективным? Эффективность – красивое слово. Удобно вставлять его в фразы типа: "я работаю максимально эффективно", "нужно найти эффективное решение", "повышаем эффективность процессов", "наша цель – эффективный код", "Вася – эффективный менед...

Python &amp;amp; EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

ViennaNET: набор библиотек для backend’а. Часть 2 Сообщество .NET-разработчиков Райффайзенбанка продолжает краткий разбор содержимого ViennaNET. О том, как и зачем мы к этому пришли, можно почитать в первой части. В этой статье пройдемся по еще не рассмотренным библиотекам для работы с распределенными транзакциями, очеред...

Собираем свою библиотеку для SSR на React Server Side Rendering часто применяется в разных проектах. Существуют крутые фреймворки для React – NextJS и Gatsby. Но в то же время любой фреймворк диктует архитектуру приложения, а это приводит к проблемам в больших приложениях. Поэтому часто можно встретить собственные с...

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

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

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

Как работать с API Google Таблиц (Google Sheets API v4) на языке R с помощью нового пакета googlesheets4 Электронные таблицы по-прежнему остаются довольно популярным инструментом для работы с данными, а среди различных процессоров электронных таблиц наиболее популярными являются Google Таблицы. Во-первых, это бесплатный инструмент, во-вторых, функционал Google Таблиц достаточно...

На macOS вышла финальная версия браузера от Microsoft После достаточно длительного тестирования компания Microsoft выпустила первую публичную версию своего обновленного браузера под названием Edge. С недавних пор в основе приложения лежит популярный движок Chromium.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No commen...

[Перевод] Стек технологий Shiro Games Наш игровой движок Heaps.io и набор инструментов и технологий, на котором он основан, являются результатом опыта, накопленного за двадцать лет, посвященных созданию игр: сначала в компании Motion-Twin (создатели Dead Cells), а с 2012 года в Shiro Games (Evoland, Northgard и ...

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

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

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

В исходниках Windows XP найдена скрытая тема оформления в стиле Mac Энтузиасты вовсю изучают исходный код операционной системы Windpws XP, который некоторое время назад утёк в сеть, и уже обнаружили несколько весьма интересных вещей. Например, в системе присутствуют скрытые темы оформления, которые создавались на раннем этапе разработки Win...

[Перевод] Руководство Google по стилю в C++. Часть 2 Часть 1. Вступление Часть 2. Заголовочные файлы … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятн...

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

Книга «Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.» Привет, Хаброжители! Если вы побаиваетесь конкурентного и многопоточного программирования, эта книга написана для вас. Стивен Клири предоставляет в ваше распоряжение 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования. К...

Утвержден национальный стандарт в области АСУ ТП для АЭС Дата введения в действие нового документа - 1 июля 2020 года. Новый стандарт заменит ГОСТ Р МЭК 61513-2011 "Атомные станции. Системы контроля и управления, важные для безопасности. Общие требования" и устанавливает требования к системам контроля и управления (СКУ),...

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

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

Минкомсвязи объяснило, к каким сайтам проложат «бесплатный интернет» Эти и другие изменения содержатся в новых поправках к законам "Об информации, ИТ и защите информации" и "О связи", разработанными Минкомсвязи и участниками рынка. Как пишет CNews со ссылкой на РБК, это предварительная версия документа, и в дальнейшем она...

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

[Перевод] Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr) В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML. Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежа...

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

Nvidia представила физический движок PhysX 5.0 На днях AMD выпустила в свободный доступ библиотеку деформируемой физики FEMFX на основе метода конечных элементов. Почти сразу мы увидели ответ от Nvidia — компания анонсировала пятую версию движка PhysX. Как и в...

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.Я и мой ...

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

Российский разработчик за день создал версию Clubhouse для Android В России, да и во всём мире сейчас стремительно набирает популярность новая социальная сеть Clubhouse, в основе которой лежит голосовое общение. Проблема в том, что пока сервис доступен только для iOS и по приглашениям.  И хотя соцсеть запустили в апреле 2020 года...

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

Выбрана СЭД для российских госорганов Как выяснил CNews, "Хоулмонт" стала победителем тематического тендера подведомственного Минкомсвязи НИИ "Восход", который занимается созданием платформы юридически значимого электронного документооборота (ЮЗЭДО).Эти работы "Восход" ведет в рамка...

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

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

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

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

Zabbix: мониторим всё подряд (на примере Redis'а) Zabbix — замечательный продукт для администраторов крупных программно-аппаратных комплексов. Он настолько хорош, что может использоваться не только крупным бизнесом, но и средне-малым бизнесом, и даже в pet-проекте. В общем, у меня есть небольшой опыт работы с Zabbix'ом и я ...

В VK добавили Callback кнопки для ботов . Доброго времени суток, уважаемые жителя Хабра) Мой первый пост. Будет кратко, емко и надеюсь актуально. 9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199... давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — v...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скор...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

[Перевод] Учимся видеть Перед вами — оптическая иллюзия Мюллера-Лайера. Возможно, вы её уже видели (в этой статье я использую слово «видеть» в смысле «воспринимать»; не все познают мир через зрение).  На рисунке имеются два отрезка, обрамлённых стрелками, направленными в разные стороны. Иллюзия с...

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

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

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

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

[Перевод] ELK SIEM Open Distro: Интеграция с WAZUH Продвигаемся дальше по нашему проекту. Мы завершили часть SIEM. Пришло время перевести наш проект из простого наблюдателя в активного ответчика. Одним из важных инструментов, которые мы использовали для этого, является Wazuh. В этой статье мы надеемся просветить вас о преиму...

Небольшой вклад в борьбе Avalonia UI против зоопарка платформ Эта статья – результат проверки проекта Avalonia UI с помощью статического анализатора PVS-Studio. Avalonia UI – это кроссплатформенная платформа пользовательского интерфейса на основе XAML, с открытым исходным кодом. Это один из технологически значимых проектов в истории ....

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

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

Парсер данных по произвольной грамматике в 400 строк Есть много существующих инструментов для парсинга файлов по заданной грамматике. Например, ANTLR или Yacc. Они используют конечные автоматы и генерируют большие файлы с исходным кодом для парсинга. Действительно ли это так сложно? Попробуем сделать сами. В этой статье я пока...

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

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

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...

Android: архитектура Fuchsia и тяжеловесные вычисления в UI-потоке Для подписчиковВ этом выпуске: погружение в архитектуру и безопасность ОС Fuchsia, несколько способов использовать Kotlin в качестве скриптового языка, неожиданный способ запустить тяжеловесные вычисления в основном потоке приложения, советы по работе с отладчиком, способ хр...

Путь к ООП: Взгляд инженера Дисклеймер Статья не предполагает какой-то принципиально новый взгляд на вещи, кроме как с точки зрения изучения этого материала с «абсолютного нуля». Материал основан на записях примерно 7-летней давности, когда мой путь в изучении ООП без IT-образования только начинался...

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

[Перевод] Быстрая загрузка страниц на самых простых дешёвых телефонах Те телефоны, о которых идёт речь в заголовке, по-английски называют «feature phone». Они отличаются крайне скромными возможностями. Кроме того, они весьма доступны, так как стоят в районе $20-25. Их можно сравнить с облегчёнными версиями современных смартфонов. Такие телефон...

[Перевод] Обучение на табличных данных. TABNet. Часть 2. Реализация Продолжение перевода про архитектуру TABNet. Первая часть здесьМы предложили TabNet, новую архитектуру глубокого обучения для табличного обучения. TabNet использует механизм последовательного улучшения выбора подмножества семантически значимых функций для обработки на каждом...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

[Перевод] Планирование редакции Rust 2021 Рабочая группа Rust 2021 Edition рада сообщить, что следующая редакция Rust — Rust 2021 — запланирована на этот год. Пока что формально описывающий её RFC остаётся открытым, но мы ожидаем, что в скором времени он будет принят. Планирование и подготовка уже начались, и мы идё...

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки. Flutter: создан компанией Google и выпущенный в 2017 году; в качестве языка программирования использует Dart; не использует нативные компоненты, рисуя весь интерфейс внутри со...

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

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

[Перевод] Классификация изображений на Android с помощью TensorFlow Lite и сервиса Azure Custom Vision Классификация изображений позволяет нашим приложениям Xamarin распознавать объекты на фотографиях. Все более и более распространенной становится возможность сделать фотографию и распознать ее содержимое. Мы можем наблюдать это в наших банковских приложениях при внесении мо...

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

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

Общий финансовый анализ на Python (Часть 3) После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические мо...

[Перевод] Фронтенд-разработчику: 10 направлений, в которых стоит развиваться в 2021 году Профессия «фронтенд-разработчик», без сомнения, будет одной из самых востребованных в 2021 году. Раньше тем, кто работал в этой сфере, для создания интерактивных сайтов достаточно было знать HTML, CSS и, возможно, jQuery. Но сегодня фронтенд-разработчик вынужден существоват...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

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

История разработки SDK для приема платежей в мобильном приложении на Flutter Привет, Хабр!На связи разработчики из Mad Brains. Мы специализируемся на разработке сервисов для мобильных устройств. Имеем опыт в реализации интеграционных решений, собственные продукты в сфере мобильной электронной коммерции, а также входим в 20-ку лучших мобильных раз...

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

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

Изучаем ELK. Часть I — Установка Elasticsearch Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK. В этой ...

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

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

Какие функции могут появиться в Android 11 Android 11 станет еще лучше! Android 10 по-прежнему является недостижимой мечтой для многих пользователей смартфонов под управлением Зеленого Робота (да даже Android 9 получили еще далеко не все), но при этом разработчики из Google уже работают над Android 11. Новое программ...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

«Hadoop. ZooKeeper» из серии Технострима Mail.Ru Group «Методы распределенной обработки больших объемов данных в Hadoop» Предлагаю ознакомиться с расшифровкой лекции "Hadoop. ZooKeeper" из серии "Методы распределенной обработки больших объемов данных в Hadoop" Что такое ZooKeeper, его место в экосистеме Hadoop. Неправда о распределённых вычислениях. Схема стандартной распре...

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04 Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недоро...

Envoy. 1. Введение Приветствую! Это небольшая статья, отвечающая на вопросы: "что такое envoy?", "зачем он нужен?" и "с чего начать?". Что это Envoy — это L4-L7 балансировщик написанный С++, ориентированный на высокую производительность и доступность. С одной стор...

Книга «Программирование на Rust» Привет, Хаброжители! Официальный гайд по языку программирования Rust поможет вам создавать более быстрое и надежное программное обеспечение. Высокоуровневая эргономика и низкоуровневое управление часто противоречат друг другу, но Rust бросает вызов этому конфликту. Авторы ...

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

Яндекс снабдил англоязычные видео закадровым переводом 7 сентября 2021 года. Яндекс начал предлагать автоматически перевести англоязычные видеоролики. Научно-популярные передачи, кулинарные шоу, лекции Илона Маска и Ричарда Фейнмана, стендапы и видеоблоги - всё это теперь можно посмотреть в русской озвучке. Перевод получается за...

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

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

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

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

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

Владимир Путин поручил создать цифровую платформу «Национальный словарный фонд» Такое поручение утверждено президентом РФ по итогам заседания Совета по русскому языку, состоявшегося 5 ноября 2019 года.Доклад должен быть представлен до 1 сентября 2020 года, далее - один раз в полгода, говорится в документе.Напомним, что о создании "Национального сло...

[Из песочницы] Разработка круговых интерфейсов Оглавление Введение Классификация круговых интерфейсов Принципы проектирования кругового интерфейса Основы анимации кругового интерфейса Библиотека классов на JavaScript для реализации круговых интерфейсов Введение Круговой интерфейс – это графический интерфейс, элементы кот...

Власти предлагают создать в России аналог GitHub В Минэкономики подтвердили “Коммерсанту”, что идея российского аналога GitHub актуальна и является одним из "ключевых мероприятий для обеспечения условий для создания открытых библиотек ИИ" в рамках реализации национальной стратегии развития ИИ до 2030 ...

ITIL 4: Текущее состояние дел Практики (ITIL 4 practice guides) Книги (ITIL 4 guides) Экзамены Тренинги 14 ноября опубликованы описания практик (ITIL 4 management practices). Пока пятнадцать из тридцати четырёх. Всего шестнадцать документов, включая «инструкцию по чтению» (Reader’s Manual). Документы д...

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

Тесты визуальной регрессии. Перезагрузка В своей предыдущей статье я рассказывал про опыт использования движка Gemini для разработки визуальных тестов, точнее, тестов визуальной регрессии. Такие тесты проверяют, не «съехало» ли что-нибудь в UI после очередных изменений с помощью сравнения текущих скриншотов с ранее...

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

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

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

Тестируем ruGPT-3 на новых задачах Рекомендательные системы с нуля, чат-боты и многое другое Погрузившись в пучину текстовых данных, в октябре этого года мы обучили модели ruGPT-3 — модели для русского языка на основе архитектуры от OpenAI. Но на что же способны эти модели? В этой статье мы соберем первые при...

[Перевод] Собственные игровые движки: небольшое исследование Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что и...

[Перевод] Современные архитектуры фронт-энда В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе. Материал состоит из трех частей Теория и история Реализация Перспективы Читать дальше →

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

[Из песочницы] Регистрация и авторизация с помощью Spring Security на примере простого приложения Добрый день! В этой статье будет рассмотрено создание простого веб приложения с использованием Spring Boot и Spring Security. В приложении будет реализована регистрация новых пользователей и авторизация, ограничение доступа к страницам сайта в зависимости от роли пользовате...

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

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

[Перевод] Работаем с двухмерной физикой в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Martin Heinz «Implementing 2D Physics in JavaScript». Давайте немного развлечемся, создавая двухмерные симуляции и визуализации в JS. Создание реалистичной анимации физических процессов может казать...

Анализ исходного кода Emby при помощи анализатора PVS-Studio Emby — довольно известный медиасервер, наравне с Plex и Kodi. В этой статье мы попробуем проверить его исходный код при помощи статического анализатора PVS-Studio. На официальном сайте Emby есть маленькая пометочка «Built with ReSharper». Что же, так даже интереснее. Читать...

[Перевод] 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard) Data Science для начинающих 1. Sentiment Analysis (Анализ настроений через текст) Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R. Sentiment Analysis — это анализ слов для определения настроений и мнений...

[Перевод] Спецификация D-Bus. Часть 1 Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать пер...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

[Перевод] Поля расстояний Raymarching-а: объяснение и реализация в Unity Raymarching — это достаточно новая техника, используемая для рендеринга сцен реального времени. Она особенно интересна тем, что полностью вычисляется в шейдере экранного пространства. Другими словами, рендерер не получает доступа к данным мешей и сцена отрисовывается на одн...

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js,...

Шпаргалка по визуализации данных в Python с помощью Plotly Plotly — библиотека для визуализации данных, состоящая из нескольких частей: Front-End на JS Back-End на Python (за основу взята библиотека Seaborn) Back-End на R В этой простыне все примеры разобраны от совсем простых к более сложным, так что разработчикам с опытом будет...

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

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

[Из песочницы] Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 1/2 Современная вычислительная техника позволяет создавать классные компьютерные игры! И сейчас, достаточно популярны игры с 3d-графикой, так как, играя в них, ты окунаешься в вымышленный мир и теряешь всякую связь с реальностью. Развитие интернета и браузерных технологий сделал...

«Лаборатория Касперского» тестирует корпоративное устройство Об этом пишет "КоммерсантЪ" со ссылкой на слова руководителя направления по развитию бизнеса KasperskyOS Григория Сизова. По словам Сизова, сейчас компания разрабатывает концепцию, изучает бизнес-модели и ведет переговоры с производителями чипсетов и вендоров, а в ...

[Из песочницы] Как рассказать об основных компонентах Android за 15 минут Введение В этой статье пойдет речь о том, как рассказать человеку, ранее не знакомому с программированием под Android, об основных его компонентах. Заинтересовать и показать, что все не так сложно, как многие думают. При этом сделать это за 15 минут и не уходя в объяснение к...

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

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

Новую Fable делают на движке ForzaTech, а не Unreal Engine 5 Microsoft ищет разработчика в студию Turn 10. Этот сотрудник будет работать над тремя AAA-играми из двух франшиз — Fable и Forza Motorsport / Horizon. И всё потому, что обе игры делаются на движке ForzaTech, а не Unreal Engine 5, как предполагалось ранее. Ссылка на вакансию ...

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

Что нового в TestMace часть 1. Облачная синхронизация, обновленный интерфейс и многое другое Всем привет! После долгого перерыва TestMace вновь вылезает из норы, чтобы поведать миру о новостях, связанных с проектом. Если кто забыл либо не читал статью о нас, TestMace — это IDE для работы с API. Наша тулза ставит целью покрыть весь спектр работ с существующим API, к...

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

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

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

Intel представила совершенно новые 10-нанометровые процессоры Atom Компания Intel вчера представила не только обновлённую линейку серверных процессоров Xeon Gold. Ещё одной новинкой стали новые CPU Atom P5900. Да, в данном случае слово «Atom» присутствует непосредственно в названии. Обычно, когда речь заходит о процессорах ...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

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

[Перевод] Чем отличаются Dagger, Hilt и Koin под капотом? Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger...

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

Созданы первые искусственные люди В «Твиттере» появилось сообщение о готовности компании Samsung представить первого искусственного человека. Его опубликовал ведущий специалист проекта «Неон» индийский ученый Пранав Мистри. «Код наконец-то работает и готов к демо-версии CORE R3. Теперь он может автономно уп...

[Перевод] Неоморфизм с помощью SwiftUI. Часть 1 Салют, хабровчане! В преддверии старта продвинутого курса «Разработчик IOS» мы подготовили еще один интересный перевод. Неоморфный дизайн — это, пожалуй, самый интересный тренд последних месяцев, хотя, по правде говоря, Apple использовала его в качестве своего дизайнерског...

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

В AR-движке Google ARCore появилась функция оценки глубины сцены Google анонсировала очередное обновление движка ARCore, предназначенного для работы технологии дополненной реальности. Ранее в нем появилась функция Environmental HDR, добавляющая реальное освещение для объектов дополненной реальности, а теперь было объявлено о скором появл...

Стоит ли жаловаться на собеседования? Как мне кажется, на Хабре есть две вечные темы, на которые статьи появляются с завидной регулярностью и собирают массу комментариев и плюсов. Первая тема — "мне слили карму, систему кармы надо изменить/отменить". Вторая тема — "меня не взяли на работу, процесс...

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

Язык R для пользователей Excel (бесплатный видео курс) В связи с карантином многие сейчас львиную долю времени проводят дома, и это время можно, и даже нужно провести с пользой. В начале карантина я решил довести до ума некоторые проекты начатые несколько месяцев назад. Одним из таких проектов был видео курс "Язык R для пол...

Дзен позволил встраивать в статьи эмбеды Яндекс.Форм В Яндекс.Дзене появилась возможность проводить опросы, конкурсы, собирать заявки на мероприятия (и многое другое). Это можно сделать с помощью сервиса Яндекс.Формы, код которого теперь вставляется в статьи. Пока эта возможность находится на стадии тестирования и будет доступ...

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

[Перевод] Погружение в CQRS Эта статья является конспектом материала Clarified CQRS. Прежде чем начать разбираться с CQRS, нужно понять две основные движущие силы, стоящие за ним: сотрудничество и устаревание.Сотрудничество относится к ситуациям, когда несколько участников используют или изменяют один ...

Nvidia представила архитектуру Turing и три новые видеокарты для профессионалов Сегодня на выставке SIGGRAPH компания Nvidia представила новую архитектуру видеокарт, которая будет в ближайшие несколько лет использоваться во всех новых 3D-картах компании. Архитектура получила название Turing. В компании отмечают, что Turing стала самым большим прорывом с...

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

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

Впечатляющее первое демо движка Unreal Engine 5. Такая графика нас ждёт в играх следующего поколения Компания Epic Games сегодня впервые продемонстрировала новый игровой движок Unreal Engine 5. Он сменит очень популярный Unreal Engine 4, на котором было создано огромное количество игр. К примеру, именно на Unreal Engine 4 создана достаточно свежая игра Gears 5, да и Ge...

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go» Привет, Хаброжители! Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите...

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

Публикуем дизайн-библиотеки компонентов VKUI в Figma Библиотеки в дизайн-инструментах — это важная часть дизайн-системы. Мы считаем, что дизайнеры должны работать с элементами, которые максимально приближены к реализации в коде. Поэтому в библиотеках мы собрали для них самые актуальные компоненты, которые отражают все те же со...

У Google уже готова собственная SoC для смартфонов и хромбуков По данным источника, компания Google достаточно далеко продвинулась в создании собственных однокристальных систем (SoC) для мобильных устройств и хромбуков. В рамках проекта Whitechapel, реализуемого при технической поддержке Samsung, уже создана первая модель. Как утве...

Аутенти(фи?)кация Некоторые термины, заимствуемые из английского, входят в русский язык с нарушением всех языковых правил. Характерный пример из 90-х — слово флуд, непохожее ни на транскрипцию [flʌd], ни на транслитерацию flood. Более свежий пример — биткоин: окончание -оин характерно для хим...

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

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

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

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

[Перевод] Модели мира. Могут ли агенты учиться в своем воображении? От переводчика: вопросы, поднятые в прошлой моей статье (видимо не слишком удачной) тем не менее вывели меня (огромное спасибо комраду Kilorad за ссылку!) на материал, который я посчитал необходимым перевести и выложить сюда. Да, я, к сожалению, посредственно владею как язык...

Процессорные войны. История синего зайца и красной черепахи Современная история противостояния Intel и AMD на процессорном рынке ведёт свой отсчет еще со второй половины 90-х. Эпоха грандиозных преобразований и выхода в мэйнстрим, когда Intel Pentium позиционировался как универсальное решение, а Intel Inside стал чуть ли не самым узн...

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

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

[Из песочницы] Зачем ограничивать наследование с помощью final? Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией. Гибкост...

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

В Иркутской области запустят «Кнопку помощи при ЧС» Министр имущественных отношений Иркутской области Владислав Сухорученко заявил о том, что руководство региона поддерживает реализацию гуманитарного проекта "Кнопка помощи при ЧС", говорится в пресс-релизе, распространеном организацией "Красный крест".&quo...

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

Графика в терминале Эта история началась, когда я узнал о существовании bpytop. Меня поразила детализация графиков и я начал разбираться как это сделано. Оказалось, что для вывода графиков использовались символы алфавита Брайля, представляющие из себя комбинацию из 8 точек: 2 точки в ширину и 4...

Как передать ссылку с iPhone на любое устройство с браузером Нам пишет разработчик приложения LinkBridge На AppleInsider.ru довольно давно существует рубрика Dev Story. В ней разработчики рассказывают про опыт создания своих приложений. Но что-то в последнее время их почти не стало. С тех ламповых времен, когда игры имели Lite и полн...

Правила своевременного приготовления вкусного программного обеспечения. Часть 1: границы возможностей Ранее в статье «JIRA как средство от бессонницы и нервных срывов» был предложен вариант применения JIRA для управления проектом по разработке программного обеспечения в интересах крупного государственного заказчика. Однако неосторожное обращение со средствами автоматизации у...

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

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

Zen 4, RDNA3 и совершенно новая видеокарта Radeon. AMD рассказала о новых архитектурах и ближайших планах Компания AMD провела мероприятие Financial Analyst Day, на котором рассказала о грядущих процессорных и графических архитектурах. Начнём мы со свежей дорожной карты компании, которая позволяет нам понять, когда ждать те или иные новинки. Как можно видеть, до 20...

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

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

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

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

DCImanager 6 — новая панель управления серверами и оборудованием дата-центра. Первое знакомство и сравнение с «пятёркой» 28 января мы закончили тестирование и выпустили стабильную версию DCImanager 6 — новой панели управления серверами и оборудованием дата-центра. Предыдущее поколение работало почти 10 лет, поэтому обновление получилось значительным. В этой статье сравним две версии и расскаж...

Безопасность 5G Одна из самых популярных тем в последнее время: безопасен ли 5G для здоровья людей. Однако, в этой статье речь пойдет совсем не об этом, а об архитектуре безопасности этой сети. Насколько надежные технологии скрываются внутри? Читать далее

Книга «C++ для профи» Привет, Хаброжители! С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться. «C++ для профи» адресован программистам среднего и продвину...

USB4: все тот же USB? В конце 2020 года ожидается выход устройств с поддержкой интерфейсов нового поколения USB4/Thunderbolt 4. Данные интерфейсы похожи, однако имеют ряд принципиальных отличий. Среди таких отличий можно выделить наиболее значимое: спецификации на USB4 общедоступные и любой жела...

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

[Перевод] Python. Язык, на котором просто мыслить Привет, Хабр! У нас возможен предзаказ долгожданного второго издания книги "Простой Python". Перевод первого издания вышел в 2016 году и по сей день остается в числе бестселлеров. Поскольку мы убеждены, что Python — лучший язык программирования для начинающих, ...

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

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

Swift: Копируй-изменяй Часто бывает так, что нам нужно скопировать объект, изменив некоторые его свойства, но сохранив остальные неизменными. Для этой задачи существует функция copy().Это отрывок описания метода copy() из документации Kotlin. На нашем родном языке Swift это означает примерно таку...

На Сахалине осенью откроется первый в ДФО коммерческий центр обработки данных ЦОД будет обрабатывать данные систем, задействованных в проектах "Безопасный город", "Умный город" и других проектах, требовательных к цифровой инфраструктуре. Работа ведется в рамках национального проекта "Цифровая экономика РФ", инициированног...

Intel представит архитектуру Xe GPU на GDC 2020 Intel планирует подробнее рассказать о своей новой архитектуре Xe Gpu на конференции разработчиков игр GDC 2020, которая пройдет с 16 по 20 марта в Сан-Франциско. Новая архитектура графического процессора Xe обеспечивает значительное улучшение вычислений, геометрии и п...

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

Вокруг data.table Эта заметка будет интересна для тех, кто использует библиотеку обработки табличных данных для R — data.table, и, возможно, будет рад увидеть гибкость ее применения на различных примерах. Вдохновившись хорошим примером коллеги, и надеясь, что вы уже почитали его статью, пред...

Windows Core OS – будущее Windows 10 и Xbox Microsoft работает над секретной операционной системой Windows Core OS, которая лежит в основе ее будущих версий Windows 10. Хотя Microsoft официально не объявляла о проекте, в прошлом году в официальных документах и сообщениях о работе на LinkedIn появились многочисленные с...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

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

[recovery mode] Архитектура Y messenger Y messenger разрабатывается чтобы быть одновременно и защищенным на уровне Tox, BitMessage, и удобным на уровне Telegram и WhatsApp. В этой статье я опишу как выглядит архитектура и какие решения были использованы чтобы достичь поставленных целей. Какие преимущества совреме...

Топ модель, только из пластика Всем привет, недавно закончили проект по созданию шарнирной куклы, т.к я совсем новичок, надеюсь не закидают тапками.Для создания использовалась программа Blender, воплощал в реальность принтер Ender 3PRO.Пластик Esun PLA+, настройки разные, к примеру кисти соплом 0.2, высот...

Contact Center AI: третий участник в разговоре – это нормально Наши клиенты и читатели блога знают про Dialogflow – платформу для создания умных ботов. Именно Dialogflow лежит в основе Contact Center AI (далее CCAI) от корпорации добра. Схематично стек технологии равен DialogFlow + WaveNet (text-to-speech) + voice recognition (speech-t...

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

[Из песочницы] 6 самых распространённых ошибок разработчиков при написании HTML и CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «The 6 most common mistakes developers when writing HTML and CSS» автора Stas Melnikov. Использование атрибута placeholder вместо элемента label Часто разработчики используют атрибут placeholder вместо элемента label....

[Перевод] Внутри многокристального секционного микропроцессора Am2901 от AMD 1970-х годов Вы, возможно, знакомы с современными процессорами производства компании Advanced Micro Devices. Но AMD начала производить процессоры ещё в 1975 году, когда впервые представила свой Am2901. Это был т.н. многокристальный секционный процессор: каждый из чипов обрабатывал по 4 б...

Действительно простая графика в R для науки и публицистики R — очень мощный инструмент для работы со статистикой: от предварительной обработки до построения моделей любой сложности и соответствующей графики. Простой гугл-запрос выдаст большое количество литературы по тому, как «легко и быстро» использовать R. Здесь будут и огромные...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

Современный Web-UI для SVN в 2020 году cSvn — это web-интерфейс к Subversion репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С. В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра S...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

[Перевод] Микросервисы на Java: практическое руководство Вы можете использовать это руководство, чтобы понять что такое Java микросервисы, как вы их разрабатывать и создавать. А также получить обзор библиотек для разработки Java микросервисов. Примечание: Статья ~ 7000 слов, вероятно, не стоит читать ее на мобильном устройстве. До...

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

Bing анонсировал новые user-agents для Bingbot Американский поисковик Bing вслед за Google анонсировал новые агенты пользователя для своего краулера Bingbot. В будущем user-agents будут постоянно обновляться, чтобы всегда отображать актуальную версию используемого движка рендеринга. Поисковик решил обновить агентов польз...

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

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

Pipes & Filters. Пример применения и реализации при помощи Spring В данной статье речь пойдёт о применении паттерна Pipes & Filters. Для начала мы разберём пример функции, которую позже перепишем с помощью выше упомянутого паттерна. Изменения в коде будут происходить постепенно и каждый раз мы будем создавать работоспособный вариант, п...

[Перевод] Thanos — масштабируемый Prometheus Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Фабиан Рейнарц (Fabian Reinartz) — разработчик программного обеспечения, фанат Go и любитель решать сложные задачи. Также он мэйнтейнер Prometheus и соучредитель Kubernetes SIG instr...

[Перевод] Go глазами Rust-программиста: первые впечатления В преддверии старта курса «Разработчик Golang» подготовили перевод интересного материала. А каким было ваше первое впечатление от Go? На протяжении последних нескольких недель мне довелось использовать Go в работе. Я впервые использовал Go на более-менее крупном и серьезно...

Unity + git = дружба: часть 1 джентльменский набор Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git. Вот список типи...

StealthWatch: интеграция с Cisco ISE. Часть 4 В более ранних статьях было рассмотрено несколько обширных тем касательно решения по мониторингу Cisco StealthWatch. Напомню, что StealthWatch — решение по мониторингу трафика в сети на предмет инцидентов безопасности и легитимности сетевого взаимодействия. В основе работы...

ТОП-5 моих любимых браузеров для телефона Обычно при покупке смартфона на Android в нем установлено два браузера. Первым, конечно, является Google Chrome, а вторым фирменный браузер производителя смартфона. Зачем он нужен не очень понятно, но это правило хорошего тона — он должен быть и компания должна его ка...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

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

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

Вышло существенное обновление программы Apple Logic Pro X Компания Apple представила обновление программы Logic Pro X, в котором полностью переработан профессиональный инструмент сэмплинга Live Loops и добавлены новые функции для создания ритмов. По словам разработчика, Logic Pro X 10.5 «открывает уникальные возможности ...

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

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

Давайте отключим vacuum?! Алексей Лесовский Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!" Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на э...

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

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

Шпион под прикрытием: проверяем исходный код ILSpy с помощью PVS-Studio В блоге компании PVS-Studio можно найти далеко не одну статью с результатами проверок исходного кода различных компиляторов. С другой стороны, немного обделённым вниманием PVS-Studio кажется другой класс программ - класс декомпиляторов. Дабы сделать мир более гармоничным, бы...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

API, ради которых наконец-то стоит обновиться с Java 8. Часть 1 На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java (9, 10, 11, 12, 13), и совсем скоро выйдет ещё одна, Java 14. В этих новых версиях появилось гигантское количество...

Российская компания сделала телефон для военных Ключевой особенностью нового устройства стало его полное соответствие 76-ФЗ «О статусе военнослужащих». У INOI 244Z конструктивно не предусмотрены камера и диктофон, нет Bluetotth и возможности доступа интернет, что позволяет его использовать в армии России. Телефон оснащён ...

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

Архитектура транзакций в Apache Ignite В этой статье мы рассмотрим, как устроены транзакции в Apache Ignite. Не будем останавливаться на концепции Key-Value хранилища, а перейдем сразу к тому, как это реализовано в Ignite. Начнем с обзора архитектуры, а затем проиллюстрируем ключевые моменты логики транзакций при...

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

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

[Перевод] Life in the Fast Lane Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая: Стек Go Your Own Way. Часть первая: Куча В первой из серии статей о GC я представил сборщик мусора в языке D и...

Группа «Россети» создаст 34 цифровых района электрических сетей в 2020 году Цифровой РЭС - это район электрических сетей с высоким уровнем автоматизации, обеспечивающей "умный" учет электроэнергии и удаленную наблюдаемость в режиме онлайн, а также позволяющей реализовать функции самодиагностики и самовосстановления.В Группе "Россети&q...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

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

Техподдержка 3CX отвечает: Обновление на 3CX v16 с предыдущих версий В новый год с новой АТС! Правда, не всегда есть время или желание разбираться в тонкостях перехода между версиями, собирая информацию из разных источников. В этой статье мы собрали всю информацию, необходимую для простого и быстрого обновления до 3CX v16 Update 4 со старых в...

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

Компонент Slider из библиотеки материального дизайна Началось с небольшой детективной истории — разглядывая сайт Material Design, наткнулся на страницу Sliders. В описании говорилось, что данный компонент доступен для Android и даже дана ссылка на Гитхаб. Меня это немножко удивило, так как я ни разу о нём не слышал. Перехожу п...

Массивы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена...

[Из песочницы] Ты еще не используешь tmux на полную! (Наверное) Привет, Хабр! Представляю вашему вниманию перевод статьи "(たぶん)君はまだtmuxの真の力を引き出せていない". Содержание Что такое tmux Запуск и начало новой сессии Открытие нового окна Переходы между окнами Разделение окон и создание панелей Передвижение между панелями Передвижение ме...

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

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Киев подписал с ЕС соглашение о выделении €25 млн на цифровизацию "Вице-премьер по евроинтеграции [Дмитрий] Кулеба и еврокомиссар подписали соглашение о помощи Евросоюза на €25 млн в цифровизации нашей страны", - заявил Гончарук на совместном брифинге с комиссаром ЕС по вопросам расширения и политике соседства Оливером Варге...

Изменения в апрельском обновлении для Xbox One (версия 2004) Microsoft поделилась информацией о некоторых изменениях, которые будут ждать пользователей в апрельском обновлении системы для Xbox One (версия 2004). В настоящее время новая версия доступна только участникам программы Xbox Insider, но публичный релиз уже не за горами. Одно...

Apple может перевести свой браузер на платформу Chromium Читатель Артём Пожаров поделился интересной новостью, в которой рассказал о возможном переходе Safari на движок Chromuim. Сейчас его использует большинство популярных браузеров, вроде Google Chrome и Opera. Далее идёт его текст: Ни для кого не секрет, что Chromium (и G...

[Перевод] Четыре приема быстрой разработки на Unity3D Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-дже...

Огромное обновление Firefox для Android Mozilla представила обновленный браузер Firefox для Android. Он содержит множество новых функций и оптимизаций. Большинство из них пришли непосредственно из настольной версии браузера. Компания хочет обеспечить бесперебойную работу на разных платформах. В результате Fir...

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

RE: 23 минуты. Оправдание тугодумов to: %username% cc: nmivan bcc: https://habr.com/post/482142/ Я всегда думал, что я – тупой. Точнее, что я — тугодум.Штош. Мы с Володей Тагаковым (а он, кстати, в Яндексе работал) обсудили эту тему. Володя был согласен с посылом статьи, в то время как я — не был. Мы 23 дня ...

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

[Перевод] 10 интересных репозиториев на GitHub, полезных любому разработчику Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО. Фото с ресурса Unsplash. Автор: Vishnu R Nair GitHub — это лучшая платформа для обме...

[Перевод] Нововведения JavaScript ES2020 с простыми примерами Представляем вам перевод статьи из блога Carlos Caballero на сайте Medium.com. Ранее мы публиковали материал этого автора о функциях ES10, появившихся в 2019 году. Читать дальше →

Игровая графика уровня настольных ПК на смартфонах? Crytek готова выпустить мобильную версию движка CryEngine Компания Crytek объявила о том, что её игровой движок CryEngine вскоре станет доступен на смартфонах. Если точнее, то компания уже приглашает разработчиков присоединиться к бета-тестированию движка, которое начнётся позже в этом году. Скорее всего, первые мобильные игры...

Microsoft рассказывает о своей новой функции управления вкладками для Edge и Chrome В январе Microsoft выпустила первую версию Edge на базе Chromium для Windows 10, Windows 7 и macOS. Поскольку Edge теперь основан на Chromium, Microsoft активно вносит свой вклад в Chromium. Ранее на этой неделе появились новые подробности о том, как Microsoft сотрудничает с...

В России на замену Zoom тестируют госсервис «Сферум» Как пишет "Интерфакс" со ссылкой на министра просвещения Сергея Кравцова, проекту теперь предстоит пройти тестирование еще в 15 субъектах России. В Mail.ru Group сообщили CNews , что называться сервис будет "Сферум"."Сферум" - это сервис видеоко...

[Перевод] Keras Functional API в TensorFlow В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ац...

Минпросвещения запустило онлайн-платформу для дистанционного обучения школьников Как рассказал министр просвещения Сергей Кравцов на онлайн-конференции в МИА "Россия сегодня" на тему "Обеспечение возможности обучения на дому с использованием дистанционных технологий", новый сервис уже доступен для использования, здесь всё разбито по д...

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

[Перевод] Как устроен билд APK файла внутри Процесс создания APK и компиляции кода Рассматриваемые темы Архитектура процессоров и необходимость для виртуальной машины Понимание Java виртуальной машины Компиляция исходного кода Виртуальная машина Андроид Процесс компиляции в .dex файл ART против Dalvik Описание каждой...

[Перевод] Ошибки при работе с датой и временем в SQL Server Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик". Содержание Ошибка #1: Предполагать, что значения даты и времени хранятся в виде форматированных строк Ошибка #2: Забыть о людях, которые живут в других частях света Ошибка #3: ...

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

В России создадут медицинский ИИ на отечественных нейропроцессорах По сведениямCNews, предполагается, что НПАК станет основой доверенной информационной инфраструктуры, обеспечивающий работу с большими медицинскими и медико-биологическими объемами данных.На текущий момент проект находится в самой начальной стадии - 20 декабря 2019 г. был зап...

Массивно-параллельная база данных Greenplum — короткий ликбез Для Hadoop и Greenplum есть возможность получить готовый SaaS. И если Хадуп — известная штука, то Greenplum (он лежит в основе продукта АrenadataDB, про который далее пойдёт речь) — интересная, но уже менее «на слуху». Arenadata DB — это распределённая СУБД на базе опенс...

Qualcomm представила новые чипы Snapdragon Wear 4100 для смарт-часов Компания Qualcomm сегодня представила новые платформы Snapdragon Wear 4100 и Snapdragon Wear 4100+, разработанные для умных часов следующего поколения. Платформа Snapdragon Wear 4100+ основана на проверенном гибридном подходе и включает в себя быстрый процессор, более интелл...

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

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

Квартиру можно купить и оплатить онлайн Анатолий Попов, заместитель председателя правления Сбербанка: "Группа ʺПИКʺ - не только крупнейший девелопер страны, но и безусловный лидер отрасли по внедрению технологических инноваций. Благодаря достигнутым договоренностям тысячам наших клиентов станет нам...

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

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

[Из песочницы] Валидация XML с помощью XSD, JAXB и Spring Framework Обзор Здравствуйте! В этой статье я хочу описать программу валидации XML с помощью Spring Framework. Наиболее очевидная область применения такой валидации — это программирование web-сервисов. Валидация производится через преобразование XML-Java (unmarshalling) по соответству...

[Перевод] Смешиваем OpenJDK и NodeJS: межъязыковые взаимодействия и вертикальная архитектура Привет, Хабр! Давно вынашивали мысль обсудить с вами тему GraalVM, откладывали, пока не нашли, наконец, сегодняшнюю статью, тематика которой серьезно выходит за рамки разбора конкретной виртуальной машины. Автор Майк Хёрн (Mike Hearn) ни много ни мало излагает целую парадиг...

PubSub почти бесплатно: особенности NOTIFY в PostgreSQL Если ваши микросервисы уже используют общую базу PostgreSQL для хранения данных, или ей пользуются несколько экземпляров одного сервиса на разных серверах, можно относительно «дешево» получить возможность обмена сообщениями (PubSub) между ними без интеграции в архитектуру Re...

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

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

Пример event-driven приложения на основе вебхуков в объектном S3-хранилище Mail.ru Cloud Solutions Rube Goldberg coffee machine Event-driven architecture повышает ценовую эффективность используемых ресурсов, потому что они задействуются только в тот момент, когда они нужны. Существует масса вариантов, как это реализовать и не создавать дополнительные облачные сущности в...

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

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

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

Про перевод «сфер» Про «сферы» Не знаю, как вас, а меня корёжит, когда «в сфере» переводят на английский in the sphere. В этой статье я как раз поговорю об этих всяких сферах и сразу дам спойлер — слова sphere вы нигде в примерах не увидите. Примерно в половине случаев эта фраза вообще не пере...

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

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

Применение принципов функционального программирования при проектировании ERP Привет, Хабр! В этой статье мы попробуем взглянуть на архитектуру учетных систем (ERP, CRM, WMS, MES, B2B, ...) с позиций функционального программирования. Существующие системы сложны. Они базируются на реляционной схеме данных, и имеют огромный мутабельный стейт в виде сот...

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

Xiaomi Mi A2 получает обновление до Android 10 Xiaomi Mi A2 на сегодняшний день бестселлером не является, но и определенную популярность все же заработал. Доступное устройство на чистом Android One, не отягощенное излишествами, с довольно неплохой камерой… В общем всё прилично, вот только выпущена модель летом 2018-го с ...

Как настроить SSH-Jump Server Для работы с облачной инфраструктурой рекомендуется создавать SSH Jumpstation. Это позволяет повысить безопасность и удобство администрирования серверов. В этой статье мы расскажем, как настроить единую точку входа для подключений по ssh – SSH Jump Server. Для реализации выб...

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

10 самых популярных курсов Microsoft на русском Привет, Хабр! Совсем недавно мы выложили первую часть серии подборок полезных обучающий курсов для программистов. И вот незаметно подкралась последняя пятая часть. В ней мы перечислили некоторые из самых популярных IT-курсов, которые доступны на нашей учебной платформе Micro...

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

#видео | Ученые создали подробную 3D карту мозга плодовой мушки Плодовые мушки — частые участники самых разных научных исследований Яркая и красивая карта мозга крохотной плодовой мушки дает возможность увидеть 20 миллионов синапсов, которые связывают 25 миллионов нейронов. На 3D карте можно увидеть только четверть мозга плодовой м...

[Перевод] Фантомные типы в Swift Не каждый язык со статической системой типов обладает такой строгой типобезопасностью, как Swift. Это стало возможным благодаря таким особенностям Swift, как фантомные типы (phantom types), расширения универсальных типов и перечисления со связанными типами. На этой неде...

Популярно об артиклях в английском языке Артикли — это самые распространенные слова в английском языке. Эти невзрачные a, an и the занимают около 8,5% объема любого текста. Если немного утрировать, то из каждого часа работы с текстом вы пять минут тратите только на прочтение артиклей. Вместе с этим артикли — это ...

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

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

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

Используем Cura для печати на SLA Photon Оговорюсь сразу  что статья была первично была опубликована на хабре, решил что тут тоже может кого заинтересовать и решил продублировать...Как это бывает, решил изучить новые технологии 3д печати и купил себе 3D SLA принтер Photon, но его софт а именно слайсер (AnyCubic Pho...

Radeon RX 5950 XT — цена в 1000 долларов и производительность на 33% выше, чем у RTX 2080 Ti Согласно всем слухам и утечкам, позже в этом году AMD должна выпустить на рынок новые видеокарты поколения Navi, которые при этом будут основаны на новой архитектуре — RDNA2. Она даст жизнь настоящих флагманским видеокартам. Если учитывать утечки из сертификационн...

Введение в IDAPython На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел. Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, ...

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

Hernia, Preservative, Сrest, Absent и другие 60 английских слов, которые часто переводят неверно Наш язык имеет немало заимствованных слов. Иностранные слова в оригинале на самом деле могут иметь совсем другие значения, чем слышимые и употребляемые нами. И таких примеров довольно много. А иногда настоящий перевод в нашем языке эволюционировал и стал означать нечто связа...

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

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

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

Еще раз про try и Try По вопросу обработки ошибок уже множество статей написано и все равно возникают вопросы и споры. Я не стану рассматривать все способы и языки, но хотел бы остановится на исключениях в JVM и сравнить их с функциональным подходом (`Try`/`Either`) на примере Scala.Эта статья та...

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

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

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

В "Ростов-Арена" может появиться дата-центр Губернатор считает , что для этого можно задействовать современные серверные помещения на стадионе "Ростов Арена". Также глава региона призвал привлечь к этой работе представителей бизнес-сообщества. "Мы уже давно говорим о необходимости создания на Дону реги...

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

Методы борьбы с legacy-кодом на примере GitLab Можно бесконечно холиварить о том, является ли GitLab хорошим продуктом. Лучше посмотреть на цифры: по итогам раунда инвестирования оценка GitLab составила 2,7 млрд долларов, в то время как предыдущая оценка была $1,1 млрд. Это означает бурный рост и то, что компания будет н...

Видеоигра Warframe получит поддержку RTX и DLSS Разработчики Digital Extremes объявили о переходе к новому движку рендеринга. Новый графический движок принесет в игру поддержку технологий RTX и DLSS. Digital Extremes полностью откажется от устаревшей системы, но намерены сохранить производительность и масштабируемость в...

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

[Перевод] Концепции, лежащие в основе Web Audio API Доброго времени суток, друзья! В этой статье объясняются некоторые концепции из теории музыки, на основе которых работает Web Audio API (WAA). Зная эти концепции, вы сможете принимать взвешенные решения при проектировании аудио в приложении. Статья не сделает вас опытным ...

Европейский союз создаст собственную индустрию облачных вычислений Куратором этого масштабного мероприятия станет новая организация - Европейский альянс по промышленным данным и облакам.Как пишет портал Politico, почти все страны, кроме Дании и Кипра, подписали 15 октября 2020 г. совместную декларацию, в которой обязались выделить государст...

[Перевод] Создание псевдотрёхмерной гоночной игры В детстве я редко ходил в залы аркадных автоматов, потому что особо в них не нуждался, ведь дома у меня были потрясающие игры для C64… но есть три аркадные игры, на которые у меня всегда находились деньги — Donkey Kong, Dragons Lair и Outrun… … и я очень любил Outrun — ско...

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

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

Чего ожидать от флагманских смартфонов 2020 года: подробности о Qualcomm Snapdragon 865 Qualcomm раскрыла подробности о заранее анонсированном процессоре Snapdragon 865. Конечно, чип нового поколения будет включать продвинутую поддержку 5G. Но есть и другие важные новшества вроде обработки 200-Мп фотографий, захвата видео 4K HDR и 8K, поддержки Dolby Vision, но...

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

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

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

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

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

Сниппеты. Как сделать процесс работы с документацией проще Привет, Хабр! Меня зовут Павел Лесюк. Я тестировщик нативных мобильных приложений. В своей предыдущей статье я привел список инструментов, которые могут использоваться тестировщиками и некоторыми другими специалистами для повышения продуктивности своей работы. В новой сери...

Как улучшить звук на смартфоне Xiaomi Как улучшить звук на смартфонах Xiaomi? Смартфоны Xiaomi в России и в особенности среди наших читателей достаточно популярны. А популярны они за счет своей низкой стоимости, но, вероятно, не самого лучшего звука. Телефоны компании не могут предложить качественное звучание ме...

Лучшие приложение для прослушивания музыки на Android Многие пользователи мобильных устройств слушают музыку через сервисы потоковой передачи, такие как Pandora, Spotify, Google Play Music или Apple Music. При этом немалая часть меломанов предпочитает использовать собственную коллекцию медиа - и потому что потоковая передача не...

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

Mail.ru Group создаст для «Сухого» цифровую платформу предиктивной аналитики Цифровая платформа даст возможность централизованно собирать, обрабатывать и анализировать данные как с производственного оборудования, так и информацию о производственных процессах из информационных систем на предприятиях ПАО "Компания “Сухой”". Накопл...

[Перевод] Установка и настройка AlienVault SIEM (OSSIM) Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». OSSIM (Open Source Security Information Management) — это проект с открытым исходным кодом от Alienvault, который обеспечивает функционал SIEM (Security information and event management). Он обе...

Selenium vs Puppeteer vs Cypress vs Playwright Всем привет. Я qa automation engineer уже 14 лет и 9 из них мне так или иначе приходилось работать с автоматизацией веб-приложении (и не только). Я писала свои автотесты на C#, Java, и Js. Сейчас я хотела бы поделиться опытом, как я выбираю фреймворк для тестирования веб при...

AMD представила самый мощный в мире суперкомпьютер El Capitan на основе CPU и GPU, которые выйдут не ранее следующего года Компания AMD сегодня опубликовала пресс-релиз, в котором рассказала о суперкомпьютере El Capitan и его особенностях. Напомним, это система уровня exascale (1018 операций с плавающей запятой в секунду), которая создаётся по заказу Министерства энергетики США компанией Cr...

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

[Перевод] Nintendo DS: внутреннее устройство, принципы работы и взлом Оригинальная Nintendo DS (Blue edition). Выпущена 21.11.2004 в Америке, 02.12.2004 в Японии и 11.03.2004 в Европе. Краткое введение Эта консоль стала интересным ответом на множество потребностей, которые было невозможно удовлетворить в экосистеме портативных устройств. В н...

В сети кофеен CoffeeBean запущена оплата по биометрии Сервис оплаты покупок с использованием технологии распознавания лица запустили "Ростелеком" и банк "Русский стандарт". К середине 2020 года биометрический эквайринг будет внедрен во всех кофейнях сети CoffeeBean. Оплачивать покупки "одним взглядом&qu...

Российская СУБД взамен Oracle обойдется Казначейству в 650 миллионов Поставку ПО для перевода ключевых информсистем Федерального казначейства с СУБД Oracle Database Enterprise Edition на отечественную Postgres Pro Enterprise компании Postgres Professional в ближайшие три года осуществит "ОТР-БИТ". Это следует из итогового протокола ...

[recovery mode] Уйти от jQuery к Svelte, как это было Всем привет. Это отчёт в продолжение статьи "Уйти от jQuery к Svelte, без боли". Ниже я расскажу о трудностях с которыми столкнулся, их было не много, и только одна была настолько фундаментальной, где без поддержки сообщества я бы не справился. Введение Я планир...

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 2 Продолжение статьи о написании своей прошивки для фотополимерного LCD 3D-принтера. Первая часть лежит тут. В ней было описан первый этап — создание графического пользовательского интерфейса для дисплея с сенсорной панелью. В этой части продолжу описывать этапы своего проек...

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

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

[Перевод] Как разработать ансамбль Light Gradient Boosted Machine (LightGBM) В преддверии старта нового потока курса «Машинное обучение» представляем вашему вниманию материал о Light Gradient Boosted Machine (далее — LightGBM), библиотеке с открытым исходным кодом, которая предоставляет эффективную и действенную реализацию алгоритма градиентного буст...

[Перевод] Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к пост...

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

[Перевод] Перевод OWASP API Security Top 10 Эта статья - перевод OWASP API Security Top 10, опубликованного в 2019 году. Проект состоит из десяти наиболее актуальных рисков безопасности API. Полная версия документа на русском языке опубликована здесь. Читать далее

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 1/2 В этой статье мы собираемся создать пайплайн непрерывной интеграции (CI) с Tekton, фреймворком с открытым исходным кодом для создания конвейеров CI / CD в Kubernetes. Мы собираемся подготовить локальный кластер Kubernetes через kind и установить на нем Tekton. После этого мы...

Германия заплатит 800 тыс. евро за платную поддержку Windows 7 По данным газеты Handelsblatt, к 22 января 2020 года в немецком парламенте и других правительственных органах находится не менее 33 тыс. компьютеров под управлением Windows 7. За поддержку каждой системы нужно платить отдельно, а расходы будут зависеть от версии ПО.За первый...

Асинхронное взаимодействие. Брокеры сообщений. Apache Kafka Данная публикация предназначена для тех, кто интересуется устройством распределенных систем, брокерами сообщений и Apache Kafka. Здесь вы не найдете эксклюзивного материала или лайфхаков, задача этой статьи – заложить фундамент и рассказать о внутреннем устройстве упомянутог...

[Из песочницы] Коронавирус: мы все умрём? Что мы говорим Богу смерти? — Не сегодня. Сирио Форель, сериал «Игра престолов». Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в ...

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

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

Новые процессоры Intel ещё не вышли, а уже разочаровали. Настольные Rocket Lake будут основаны на уже устаревшей архитектуре В начале следующего года компания Intel должна выпустить настольные процессоры Rocket Lake. Это будут первые за многие годы настольные CPU с новой архитектурой, но, к сожалению, они всё ещё будут производиться по 14-нанометровой технологии.  И ...

S.T.A.L.K.E.R. 2: первый скриншот и новая информация Киевская студия GSC Game World анонсировала первый официальный скриншот S.T.A.L.K.E.R. 2. Это прямое продолжение популярной серии, запущенной в начале 2000-х годов. Тогда вышли проекты «Тень Чернобыля», «Чистое небо» и «Зов Припяти». До последнего времени о полноценном сикв...

Tarantool: взгляд аналитика Всем привет! Меня зовут Андрей Капустин. Я работаю системным аналитиком в Mail.ru Group. Наши продукты формируют единую экосистему для пользователя, в которой данные генерируют множество независимых инфраструктур: службы заказов такси и еды, почтовые сервисы, соцсети. Сегодн...

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

[Из песочницы] Создание Discord-бота на Python. Часть 1 Версии, которые стоят у автора Версия Python: 3.8.2 Версия discord.py: 1.3.3 Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощь...

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

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

Kakao Games анонсировала MMO Dysterra: как Halo, только не от Microsoft Корейский издатель Kakao Games анонсировал MMO под названием Dysterra. По трейлеру понятно, что это некое подобие Halo от Microsoft с упором на мультиплеер. Весь игровой процесс происходит от первого лица, а наш персонаж — настоящий боец будущего в железном костюме. Игроки б...

[Из песочницы] Kamailio SBC или не SBC? Возможно многие, кто по той или иной причине сталкивается VoIP, особенно с решениями с открытым исходным кодом, слышали такое выражение: "Kamailio SBC". В этой статье постараемся разобраться правильно ли приравнивать Kamailio к SBC (пограничный контроллер сессий) и...

Nvidia представила новый движок PhysX 5.0 Компания Nvidia представила новую версию движка PhysX. Как и недавно анонсированный FEMFX от AMD, PhysX 5.0 использует метод конечных элементов (FEM) - стандартный для отрасли метод моделирования деформируемых тел. Подробнее об этом читайте на THG.ru.

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию м...

Индия выделила $1,12 млрд на развитие квантовых компьютеров Чиновники подчеркнули значение развивающихся технологий в рамках так называемой "новой экономики", основанной на инновациях, которые разрушают устоявшиеся бизнес-модели - искусственный интеллект (ИИ), IoT|[[Интернет вещей Internet of Things (IoT)|[[Интернет вещей I...

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

Обучение, переговоры, консультации удалённо — Часть 2: Vinteo Server — 3 месяца бесплатной видеоконференцсвязи События, происходящие сейчас во всём Мире, неотвратимо продолжают влиять на отрасль удалённых коммуникаций. Много лет назад видеоконференцсвязь (ВКС) была признаком высокого достатка компании. Последние годы, на волне развития программных решений видеокоммуникаций, ВКС из ра...

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

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

[Из песочницы] Краткое сравнение архитектуры SDS или поиск подходящей платформы хранения (GlusterVsCephVsVirtuozzoStorage) Данная статья написана для того, чтобы помочь выбрать для себя подходящее решение и понять отличия между такими SDS как Gluster, Ceph и Vstorage (Virtuozzo). В тексте используются ссылки на статьи с более детальным раскрытием тех или иных проблем, поэтому описания будут мак...

Micron представила движок хранения данных с открытым исходным кодом Micron Technology, сегодня анонсировала первый движок хранения данных с открытым исходным кодом (HSE), разработанный специально для твердотельных накопителей (SSD) и памяти класса хранения (SCM). Подробнее об этом читайте на THG.ru.

Типизированные запросы OData в TypeScript Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запрос...

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

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

Клиенты смогут разместить все облачные сервисы Oracle в собственных ЦОД В своем центре обработки данных клиент сможет пользоваться таким же полным набором современных облачных сервисов и их преимуществами, что и в публичных облачных ЦОД Oracle, в том числе API-интерфейсами, лучшими в отрасли SLA-соглашениями и передовыми инструментами обеспечени...

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

Запись разговоров возвращается на смартфоны Xiaomi и Redmi Google уже некоторое время работает над функцией записи звонков в своем приложении «Телефон». Мы впервые увидели некоторые доказательства еще в январе, а затем несколько снимков экрана и видео с этой функцией в действии. Похоже, что компания готовится представить ее широкой ...

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

Сбер запускает сервис речевых технологий До конца года доступ к сервису, разработанному командой SberDevices, будет бесплатным.SmartSpeech можно использовать на сайтах, в приложениях или умных устройствах для озвучивания контента и команд или голосового ввода. Также используемые в сервисе технологии синтеза и распо...

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

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

Путин распорядился сделать бесплатным доступ к сайтам дистанционного обучения и заказа лекарств Впервые Путин высказал инициативу об обеспечении бесплатного доступа к набору социально-значимых сайтов высказал в своем послании Федеральному собранию 15 января 2020 г. Этот проект получил название "Доступный интернет".Занимавший тогда пост министра связи Констант...

Скринкаст терминала с помощью asciinema Вы наверняка знакомы с asciinema (github), это удобный опенсорсный инструмент для записи действий в терминале. Записи сохраняются в простом для чтения текстовом формате, поэтому весят совсем немного, а веб-плеер по сути воспроизводит текст из терминала вместо видео, так чт...

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

[Перевод] Изготовление контроллера терминала IBM 3270 IBM 3270 – это терминал компьютерного мейнфрейма. Я давно восхищаюсь мейнфреймами от IBM, и особенно этими терминалами. У ранних моделей, 3278 и 3279, была уникальная эстетика, а их блочная система работы заметно отличается от той, которой пользовались вездесущие терминалы с...

Информация о новом GPU AMD кажется несколько странной В Сети появились новые данные о графическом процессоре Navi 12, который должен занять место между Navi 10, лежащем в основе карт Radeon RX 5700, и Navi 14, являющимся основой для моделей RX 5500. Вполне логично, что на основе Navi 12 должны быть построены модели Radeon ...

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