Социальные сети Рунета
Вторник, 14 мая 2024

[Перевод] Реализация технологии SSO на базе Node.js Веб-приложения создают с использованием клиент-серверной архитектуры, применяя в качестве коммуникационного протокола HTTP. HTTP — это протокол без сохранения состояния. Каждый раз, когда браузер отправляет серверу запрос, сервер обрабатывает этот запрос независимо от других...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 3 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим примеры развертывания Zip-функций, зависимости GitHub, а также подробнее опишем синхронизацию объектов между клиентом и сервером OpenWhisk. Читать дальше →

[Перевод] Учебный проект на Python: интерфейс в 40 строк кода (часть 2) Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для п...

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

Web Cryptography API: пример использования Доброго времени суток, друзья! В этом туториале мы рассмотрим Web Cryptography API: интерфейс шифрования данных на стороне клиента. Данный туториал основан на этой статье. Предполагается, что вы немного знакомы с шифрованием. Что конкретно мы будем делать? Мы напишем прос...

Как Амплифер использует Logux — инструмент для связи клиента и сервера Меня зовут Виталий Ризо, я старший фронтенд-разработчик в «Амплифере». Поделюсь, как мы применяем Logux в веб-приложении: организуем обмен данными в реальном времени, уведомления об ошибках без перезагрузки страницы, общение между вкладками браузера и интеграцию с Redux. Чи...

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

Обучение универсальной модели NLU c BERT и Multitask Learning В современной компьютерной лингвистике понимание смысла написанного или сказанного достигается с помощью моделей естественного языка (NLU). С постепенным ростом аудитории виртуальных ассистентов Салют встает вопрос об оптимизации наших сервисов, работающих с естественным яз...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

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

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

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

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

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Новый Microsoft Edge выходит на Windows 10 May 2020 Update 15 января был официально запущен новый браузер Microsoft Edge на основе Chromium. В январе компания также объявила о том, что она автоматически развернет новый браузер для пользователей Windows 10 через отдельное обновление Windows. Для Windows 10 версии 1909 (обновление за ...

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

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf. В этой статье я расскажу про бесшовную миграцию данных при установке новой версии приложения, написанного на Flutter, поверх предыдущей версии, написанной на нативе. Это решение реализовано моим коллег...

[Из песочницы] Защита проекта VBA в MS Excel Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA. Дисклеймер: В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сил...

Простой веб сервер для SPA/PWA за «5 минут» Как создать Простой веб-сервер, используя только стандартные инструкции nodejs Часто для разработки MPA/SPA/PWA приложений требуется простой веб-сервер. Однажды, на одном большом митинге в ответ на вопрос: «Что ты делал?», я сказал, что поднимал веб-сервер для хостинга PWA п...

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

Про кластер серверов 1С Кластер — это разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс Gregory F. Pfister, «In search of clusters». Дано: есть бизнес-прило...

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

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

Архитектура и дизайн Android приложения (мой опыт) Хабр, привет! Сегодня я хочу рассказать об архитектуре, которой я следую в своих Android приложениях. За основу я беру Clean Architecture, а в качестве инструментов использую Android Architecture Components (ViewModel, LiveData, LiveEvent) + Kotlin Coroutines. К статье прил...

DDoS-атака через социальную инженерию TL;DR Атакующий подменяет source ip на адрес вашего сервера и триггерит автоматические абузы. В результате клиента на хостинге за вредоносную активность, которой не было. Комментарий от vdsina.ru: Эта статья написана нашим клиентом, который перешёл к нам от крупного хосте...

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

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

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

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

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

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

Разработчик оценил сложность современных браузеров Известный Linux-разработчик, соавтор графического протокола Wayland, пользовательского окружения Sway и почтового клиента Aerc, Дрю ДеВолт (Drew DeVault) провёл анализ спецификаций W3C, которым должны соответствовать современные браузеры. Он скачал 1217 спецификаций с помощ...

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

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

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

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

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

Похититель печенек. Зловред Android ставит под угрозу даже хорошо защищённые аккаунты в соцсетях «Лаборатории Касперского» сообщила о двух новых вредоносных программах под Android, которые способны красть файлы cookie, сохранённые в браузере на смартфонах и в приложениях популярных социальных сетей, включая Facebook. Это позволяет злоумышленникам...

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

Немного о WebRTC: что где использовать и случай из практики WebRTC — это браузерная технология, предназначенная для передачи потоковых данных между браузерами или приложениями с использованием технологии двухточечной передачи (point-to-point transmission). Эта технология хороша тем, что позволяет устанавливать связь между пользоват...

Как просканировать весь интернет Весь диапазон IPv4 адресов — это 4-миллиарда IP-адресов. Это кажется огромной цифрой, но весь IPv4 интернет можно полностью просканировать на предмет одного TCP-порта за 40 минут, например найти все веб-серверы в мире или все открытые SSH-порты. При этом достаточно одного ...

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

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

[Перевод] Почему Discord переходит с Go на Rust Rust становится первоклассным языком в самых разных областях. Мы в Discord успешно используем его и на серверной, и на клиентской стороне. Например, на стороне клиента в конвейере кодирования видео для Go Live, а на стороне сервера для функций Elixir NIF (Native Implemente...

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

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

[Перевод] Умная перчатка для велосипедистов Перевод с сайта instructables.com, автор проекта: Matlek В данной статье я подробно расскажу процесс изготовления «умной перчатки» и её светодиодной панели, предназначенных для повышения безопасности велосипедистов и других людей, путешествующих по дорогам. Сначала можно ...

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

Тестирование android приложений с использованием selenoid. Поиск location в мобильном приложении с помощью Appium Предисловие из поста: Selenoid — это программа, которая позволяет управлять браузерами и Android-эмуляторами с помощью специальных драйверов. Умеет запускать каждый из них изолированно в Docker-контейнере. Основная идея Selenoid состоит в том, чтобы запускать новый контейнер...

Искусственный интеллект с фломастером. Как мы тренировали нейросеть BERT находить опечатки в новостях Мы часто рассказываем о технологиях и библиотеках, которые зародились и сформировались в Яндексе. На самом деле мы ничуть не реже применяем и развиваем сторонние решения. Сегодня я расскажу сообществу Хабра об одном из таких примеров. Вы узнаете, зачем мы научили нейросеть...

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

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

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий. Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — б...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

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

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

Web Storage API: примеры использования Доброго времени суток, друзья! В данной статье мы рассмотрим парочку примеров использования Web Storage API или объекта «Storage». Что конкретно мы будем делать? Научимся запоминать время воспроизведения видео. Поработаем с формой входа на страницу. Напишем логику спис...

Распознавание объектов на android с помощью TensorFlow: от подготовки данных до запуска на устройстве Обучение нейросети распознаванию образов — долгий и ресурсоемкий процесс. Особенно когда под рукой есть только недорогой ноут, а не компьютер с мощной видеокартой. В этом случае на помощь придёт Google Colaboratory, которая предлагает совершенно бесплатно воспользоваться GPU...

[Перевод] Управление жестами: От края до края (I) Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи. Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке. В Android Q был добавлен новый режим навигации по системе, п...

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

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

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

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

100 теоретических вопросов по JavaScript Доброго времени суток, друзья! Представляю вашему вниманию список из первых 100 вопросов по основам JavaScript из этого репозитория с краткими ответами и ссылками на «Современный учебник по JavaScript» Ильи Кантора (JSR) и MDN. Также в конце имеются ссылки на статьи для п...

Хакеры взломали Android эмулятор NoxPlayer NoxPlayer разработан компанией BigNox из Гонконга и предназначен для запуска Android-приложений на компьютерах под управлением операционных систем Windows и Mac. Число пользователей эмулятора по всему миру превышает 150 млн человек."На основе телеметрии ESET мы увидели ...

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

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

Руководство по использованию Tarantool Cartridge в Kubernetes Привет, меня зовут Иван, и сегодня я расскажу как управлять приложением Tarantool Cartridge в кластере Kubernetes при помощи Tarantool Operator. Мы пройдем полный цикл от разработки до эксплуатации: Подготовим инструменты Создадим тестовое приложение Упакуем его в docker У...

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

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

РЕД ОС поставят на серверах Huawei Huawei и РЕД СОФТ объявили о сотрудничестве, в рамках которого импортонезависимая операционная система РЕД ОС будет установлена на сервера Taishan 200 (модель 2280). Сервера этой серии работают на процессорах Huawei Kunpeng 920 на основе архитектуры ARMv8 и предназначе...

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

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

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

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

Вышла книга «КОМПАС-3D: создание моделей и 3D-печать» В начале года издательство «Питер» выпустило книгу «КОМПАС-3D: создание моделей и 3D-печать». Книга простыми словами рассказывает, как разработать модель для последующей 3D-печати, и будет полезна всем, кто хочет создавать собственные модели техники и механизмов и использова...

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

Как я сделал Discord бота для игровой гильдии с помощью .NET Core Всем привет! Недавно я написал Discord бота для World of Warcraft гильдии. Он регулярно забирает данные об игроках с серверов игры и пишет сообщения в Discord о том что к гильдии присоединился новый игрок или о том что гильдию покинул старый игрок. Между собой мы прозвали эт...

Мониторинг многопоточных приложений Node.JS В этой статье мы разберем особенности мониторинга многопоточного Node.JS приложения на примере нашего коллектора для сервиса мониторинга и анализа логов серверов PostgreSQL. Читать дальше →

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

[Перевод] Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture Начнем сначала В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM. Что делаем API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо н...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

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

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

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

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

Мониторим базу PostgreSQL — кто виноват, и что делать Я уже рассказывал, как мы «ловим» проблемы PostgreSQL с помощью массового мониторинга логов на сотнях серверов одновременно. Но ведь кроме логов, эта СУБД предоставляет нам еще и множество инструментов для анализа ее состояния — грех ими не воспользоваться. Правда, если про...

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

Подключение к session в Java и Python. HttpURLConnection и CookieManager (Java). Requests(Python) Допустим, что нам надо подключиться к серверу, авторизоваться и поддерживать сессию. В браузере это выглядит следующим образом: На адрес http://localhost:8080/login отправляется пустой GET запрос. Сервер присылает формочку для заполнения логина и пароля, а также присылает ...

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

Security Week 18: текстовая бомба для iOS Если из разных видов уязвимостей собрать воображаемый сборник лучших хитов, то различного рода ошибки обработки ввода займут там лучшие места. Одним из древнейших способов вывода программы или всей системы из строя является zip-бомба — архив небольшого размера, который разво...

Из грязи в RPKI-князи-1. Подключаем валидацию маршрутов в ВGP Привет! Я работаю старшим сетевым инженером в компании DataLine, занимаюсь сетями с 2009 года и успел со стороны понаблюдать, как компании подвергались атакам из-за уязвимости протокола маршрутизации BGP. Один BGP Hijacking чего стоит: пару лет назад хакеры с помощью перехва...

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

Автоматизация Для Самых Маленьких. Заметки. RESTful API Эта статья — одна из обещанных коротких заметок по ходу цикла статей Автоматизация Для Самых Маленьких. Поскольку основным способом взаимодействия с IPAM-системой будет RESTful API, я решил рассказать о нём отдельно. Воздаю хвалы архитекторам современного мира — у нас ест...

Пробуем запустить GAN сети в OpenVINO Репозиторий моделей Open Model Zoo библиотеки OpenVINO содержит много самых разных глубоких нейронных сетей из области компьютерного зрения (и не только). Но нам пока не встретилось GAN моделей, которые генерировали бы новые данные из шума. В этой статье мы создадим такую мо...

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

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

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

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

Первые шаги с aiohttp: часть 2. Подключаем базу данных к приложению Привет!В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически с...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

Книга «Глубокое обучение с подкреплением. AlphaGo и другие технологии» Привет, Хаброжители! Мы издали книгу Максима Лапаня shmuma, это — подробное руководство по новейшим инструментам глубокого обучения с подкреплением и их ограничениям. Мы реализуем и проверим на практике методы кросс-энтропии и итерации по ценностям (Q-learning), а также гра...

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

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

Сколько кода на C++ нужно написать для разбора HTTP-заголовка Authorization с помощью easy_parser из RESTinio? Мы продолжаем развивать бесплатный и открытый встраиваемый в С++ приложения HTTP-сервер RESTinio. В реализации RESTinio активно используются C++ные шаблоны, о чем мы здесь регулярно рассказываем (недавний пример). Одной из точек приложения C++ной шаблонной магии стал easy_p...

Токен авторизации на примере JSON WEB Token Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реа...

Kingston представил накопитель для сервера Накопитель Kingston DC1000B предназначен для центров обработки данных. Модель представлена емкостью 240 Гб и 480 Гб. Производитель дает пятилетнюю гарантию. DC1000B использует 3D TLC NAND и интерфейс подключения PCIe Gen3 x4 NVMe. Накопитель обеспечивает скорость чтения 3...

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

Как присоединиться к Clubhouse, если нет iPhone? Мы поможем Сегодня о Clubhouse не слышал разве что глухой. Новомодная социальная сеть для любителей голосовых сообщений набирает невиданные обороты, а конкуренты в лице Twitter и Facebook обещают представить свои аналоги в кратчайшие сроки. ‎Clubhouse: Drop-in audio chat (Free, App St...

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

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

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

Lua на STM32 Привет! Иногда хочется быстро что-то попробовать на микроконтроллере, запрограммировать маленький работающий прототип какой-то идеи. Для этих целей, как известно, хорошо подходят скриптовые языки. В этой статье я хочу рассказать, как с помощью Embox запустить интерпретатор ...

Делаем страницу на React с базой сотрудников при помощи Airtable и Quarkly Слышали про такой инструмент, как Airtable, но не знали, с чего начать? Тогда приглашаем в мир визуального программирования построения БД! Этим постом мы начинаем цикл обучающих статей, в которых будем давать практические примеры работы с нашим инструментом Quarkly. В этом у...

Тинькофф установил инновационный цифровой банкомат и запустил сервис оплаты по QR-кодам Тинькофф объявляет о подключении сервиса оплаты по QR-кодам Системы быстрых платежей (СБП). С 19 декабря сервис доступен в мобильном приложении Тинькофф на iOS, на Android он появится в ближайшее время. Совершить покупку с помощью QR-кода можно в розничных торговых точ...

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

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

Когда смартфоны Huawei и Honor получат новейшую EMUI 10.1. Точный план запуска Компания Huawei продолжает раскрывать подробности о запуске новой версии фирменной оболочки EMUI 10.1. На этот раз, стал известен план  с уточнёнными сроками.  Данная версия платформы была представлена одновременно с флагманской серией смартфонов Huawei P40 и...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Панель запуска «Поехали» в Параметрах в Windows 10 Согласно нашему собственному тестированию и полученным нами отчетам пользователей, Microsoft, похоже, добавляет новые параметры в большой заголовок в приложении «Параметры» в Windows 10. Microsoft начала экспериментировать с заголовком Параметров два года назад, и он был вып...

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0. Но для начала давайте вооб...

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтоб...

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

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

[Из песочницы] Авторизация пользователя при помощи Starlette + Vue.js Вступление Задача — создать пример авторизации пользователя с использованием фреймворков Starlette (https://www.starlette.io/) и Vue.js *, который был бы максимально комфортным разработчикам Django для «миграции» в асинхронный стек. Почему Starlette? В первую очередь скор...

Cтарт ракеты-«неудачницы» Vega отложили на неопределённый срок Очередной старт ракеты Vega компании Arianespace был назначен на 29 июня на 03:51 по московскому времени. Ожидалось, что ракета отправится с космодрома Куру Гвианского космического центра во Французской Гвиане. На борту Vega находится 53 спутника, принадлежащие 21 различному...

PKCS#11 для самых маленьких В этой статье мы познакомимся со стандартом PKCS#11, предназначенным для работы с различными криптографическими устройствами. Для демонстрации мы будем использовать токены и смарт-карты Рутокен ЭЦП 2.0. Читать далее

Android-эмулятор Citra 3DS для запуска игровых программ для Nintendo 3DS доступен в Google Play Официально объявлено о выпуске первого полноценного эмулятора Citra 3DS для запуска игровых программ, разработанных для игровых приставок Nintendo 3DS. Платформа была разработана компанией Citra Team. Подробнее об этом читайте на THG.ru.

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

Новая платформа Google сокращает затраты на обучение ИИ-модулей Фреймворк SEED RL построен на платформе TensorFlow 2.0 и использует комбинацию графических и тензорных модулей для централизации модели логического вывода. Вывод затем выполняется с использованием компонента, который обучает модель.Этот компонент, как заявляют в Google, може...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

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

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 1. Выбираем и устанавливаем сервер tl;dr; И так, что будет сделано в конце всего туториала? создадим основной сервер, так называемое лобби — место, куда попадают все игроки, только что подключившиеся к серверу запустим второй сервер, на котором установим популярную мини-игру Murder Mystery установим и на...

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

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

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее. Читать дальше →

ОС Android 11 поломала камеру всех смартфонов Google Pixel. Откат до Android 10 и восстановление заводских настроек не помогают Финальная версия операционной системы Android 11 была официально запущена ранее в этом месяце. Изначально операционная система стала доступна на фирменных смартфонах семейства Google Pixel. В конце недели на форуме Reddit и других сайтах появилось много сообщений о том,...

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

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

[Из песочницы] Используем macOS для удалённой сборки Unreal Engine билдов из-под Windows Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS. У нас есть два варианта:...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

В iOS 14 можно менять приложения по умолчанию — как это будет работать? Одна из ключевых новых функций iOS 14 и iPadOS 14, которую практически не показывали во время презентации на WWDC, заключается в том, что Apple позволила пользователям изменять приложения электронной почты и веб-браузера по умолчанию. Тем не менее, эта функциональность пока...

Whirlpool запустила официальный сайт Компания Whirlpool рассказала об открытии своего первого официального сайта аутлета – outletcentr.ru. Клиенты компании смогут приобрести широкий ассортимент моделей из прошлых коллекций по доступным ценам. Товар можно приобрести прямо на сайте, оставив короткую заявку, пос...

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

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

[Перевод] Periwinkle: процессор с одной инструкцией Хочу рассказать о процессоре, который я разработал в 2016 году. Он реализован на C как виртуальная машина. Мой друг Бьёрн написал для него ассемблер на F#. Periwinkle представляет собой процессор OISC (one instruction set computer), в отличие от RISC и CISC. У него нет ника...

В США разработали мобильный телефон с поворотным циферблатом Инженер Брукхейвенской национальной лаборатории Джастин Хаупт разработала роторный мобильный телефон, который не только функционален, но и доступен для изготовления с помощью комплекта «сделай сам». Подробнее об этом читайте на THG.ru.

Как сжать модель fastText в 100 раз Модель fastText — одно из самых эффективных векторных представлений слов для русского языка. Однако её прикладная польза страдает из-за внушительных (несколько гигабайт) размеров модели. В этой статье мы показываем, как можно уменьшить модель fastText с 2.7 гигабайт до 28 ме...

Translate-SwiftUI: переводчик из iOS 14 Translate-SwiftUI — воссоздание приложения-переводчика из iOS 14 на SwiftUI. В недавнем запуске iOS 14 одна вещь привлекла мое внимание — это новое приложение для перевода. Мне нравится его минимализм. Анимации расслабляющие и успокаивающие. Я воссоздал приложени...

[Перевод] Ответ философам от GPT-3 Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло. Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текст...

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

Mail.ru Cloud Solutions запустила в облаке аналитическую базу данных Arenadata DB Mail.ru Cloud Solutions (MCS) запускает в облаке Arenadata DB как сервис — аналитическую базу данных на основе распределенной СУБД с открытым исходным кодом Greenplum, предназначенную для хранения и обработки больших объемов данных и легко масштабируемую в рамках одного инте...

Включаем Enhanced Session Mode для Arch Linux-гостей в Hyper-V Пользование виртуальными машинами на Linux в Hyper-V из коробки — несколько менее комфортное занятие, чем с гостевыми Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пак...

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

Инструментарий фронтенд-специалиста: полезные утилиты и фичи для ускорения разработки Прошли те времена, когда фронтендеру достаточно было открыть «Блокнот», написать несколько строк кода, проверить его в браузере и загрузить на сервер через FTP. Современная разработка пользовательского интерфейса сильно усложнилась. Экосистема JavaScript растет и изменяетс...

Nvidia выпустила техно-демо Attic RTX на основе Unreal Engine 4 Компания Nvidia разработала техническую демонстрацию Attic, предназначенную для показа всевозможных технологий и спецэффектов на основе трассировки лучей. Программа создана на движке Unreal Engine 4. Для работы Attic понадобится персональный компьютер с операционной системой...

Как запустить две версии Microsoft Edge одновременно в Windows 10 Microsoft заявила, что новый браузер Edge на базе Chromium будет доступен для Windows 10, Windows 7 и macOS с 15 января 2020 года. Microsoft предложит автономный установщик Microsoft Edge для всех поддерживаемых платформ, но новый Edge будет поставляться в комплекте и с Wind...

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

Приложения Android стали доступны для Windows 10 Компания Microsoft запустила очень полезное новшество операционной системы Windows 10 для пользователей смартфонов. В приложении Your Phone (Ваш телефон) заработала функция «приложения Android на ПК».  Ранее эта функция Your Phone предлагалась только у...

Алиса читает тексты на сайтах в Яндекс.Браузере для Android В Яндекс.Браузере для Android теперь можно не только читать статьи и новости, но и слушать их с помощью Алисы. Если хочется расслабиться или, наоборот, делать несколько дел одновременно и работать с разными вкладками или приложениями, ...

[Перевод] Вставка реальных объектов в Unity с помощью Meshroom Из этой статьи вы узнаете, как использовать фотограмметрию для фотосканирования и вставки объектов реального мира в проекты Unity при помощи Meshroom. В контексте 3d-моделей фотограмметрия — это процесс создания 3D-моделей из отсканированных объектов. Вам нужны реалистичн...

[Перевод] Как оценивать интеллект? Подход Google От себя: В ноябре 2019 года вышла программная статья от Google «Об оценке интеллекта» Франсуа Шолле (создатель Keras). 64 страницы посвящены тому, как появилось современное понимание ИИ, почему машинное обучение от него так далеко, и почему мы все еще не можем адекватно изм...

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

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

Как получить термоэлектрик в 7 раз быстрее Ученые НИТУ «МИСиС» разработали сверхбыстрый способ получения термоэлектрического материала, способного напрямую преобразовывать тепло в электричество. Соединение на основе сложного оксида металлов было получено в 7 раз быстрее, чем во всех ранее представленных мировых экспе...

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

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

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

[Перевод] Создание небольшого API на Deno В этом посте я хотел бы рассказать и показать процесс создания небольшого API с помощью Deno. Deno — новейшая среда для запуска Javascript и Typescript, разработанная создателем Node.js — Райаном Далем. Читать дальше →

Зачем нам потребовалось написать свою реализацию MRCP-сервера. Часть 1 Привет, Хабр! Сегодня мы хотели бы поделиться кейсом создания собственного MRCP-сервера. Это протокол передачи данных, используемый серверами для предоставления различных услуг (таких как распознавание речи и синтез речи) для своих клиентов. MRCP опирается на другие протокол...

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

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

Хит-парад убогих уязвимостей Microsoft Уж кого нельзя обвинить в скупости на разного рода ошибки и уязвимости, так это корпорацию Microsoft. За примером далеко ходить не надо — достаточно посмотреть на Windows 10, просто утопающую в багах. Упрекать разработчиков не стоит: они «старательно» выпускают патчи, испр...

[Перевод] Подвергаем модель GPT-3 тесту Тьюринга Я уже некоторое время играюсь с новой моделью GPT-3 от OpenAI. Когда я только получил доступ к бета-версии, то первое, что мне пришло в голову, было: насколько GPT-3 похожа на человека? Близка ли она к тому, чтобы пройти тест Тьюринга? Как это работает Позвольте объяснить, ...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

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

Microsoft анонсировала WinUI 3 Preview 1 Microsoft выпустила публичную версию WinUI 3 Preview 1 (библиотека для создания пользовательского интерфейса приложений). В компании утверждают, что это самая передовая разработка на данный момент. Она помогает использовать новые дизайнерские элементы в универсальных програ...

Типизируй все Всем привет! У нас уже есть одна статья про развитие типизации в Ostrovok.ru. В ней объясняется, зачем мы переходим с pyContracts на typeguard, почему переходим именно на typeguard и что в итоге получаем. А сегодня я расскажу подробнее о том, каким образом происходит этот пе...

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

Много свободной RAM, NVMe Intel P4500 и все люто тормозит — история о неудачном добавлении раздела подкачки В данной статье я расскажу о ситуации, которая недавно произошла с одним из серверов нашего облака VPS, поставив меня в тупик на несколько часов. Я около 15 лет занимаюсь конфигурированием и траблшутингом серверов Linux, но данный случай совершенно не укладывается в мою прак...

Бесплатный перенос данных из облака на сервер доступен на «Р7-Офис» Разработчик экосистемы офисных приложений «Р7-Офис» сообщил о запуске новой услуги для заказчиков. Теперь пользователи офисных решений от «Р7» смогут в любое время бесплатно перенести все данные из облачного офиса «Р7-Офис», доступного с сайта компании по модели SaaS (soft a...

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

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

Пентест вебсайта с помощью Owasp Zap Сегодня защита веб-приложения имеет решающее значение, поэтому осваивать пентест инструменты приходится и самим разработчикам. О мощном фреймворке WPScan для пентеста WordPress мы уже писали, но сайты бывают и на других движках. Именно поэтому сегодня разберем более универс...

[Из песочницы] Простой zero-copy рендеринг аппаратно ускоренного видео в QML Введение Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддержив...

Шутка стала реальностью: в EVE Online появился режим «электронной таблицы» без графики Уже многие годы среди игроков бытует шутливое мнение, что многопользовательская научно-фантастическая игра EVE Online — это просто электронные таблицы в космосе. Но теперь CCP Games сделала проект таковым буквально: с обновлением в игре появился режим отключения отображения ...

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

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

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

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

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

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

CalyxOS: лучший способ очистить Android от следов Google Android Open Source Project — свободный проект. Однако в него очень глубоко проникла корпорация Google. К сожалению, всё больше API и библиотек Android теперь доступны только на смартфонах с предустановленными приложениями Google Apps (GApps). Таким способом Google эффектив...

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

[Из песочницы] Простой Telegram-бот на Flask с информированием о погоде Всем привет, в этой статье я расскажу как сделать простейшего телеграмм бота на Python для отправки текущей погоды в Москве. Статья расчитана на новичков в Python, которые бы хотели узнать больше о том, как взаимодействовать с внешними сервисами по API. Технологии и API: Py...

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

Gotta go fast. Оптимизация запросов содержимого письма по IMAP Всем привет! В прошлой статье я рассказал как можно быстро синхронизировать содержимое ящика в локальном кеше. Здесь же я хочу рассказать об особенностях запроса содержимого писем и как лучше запрашивать контент, не боясь за большой расход трафика. Читать дальше →

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

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

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

Власти США собирают компромат на Apple Минитерство юстиции США ищет разработчиков, которые пострадали от действий Apple Apple, как и любая коммерческая компания, в первую очередь стремится к тому, чтобы извлечь из своей деятельности максимум прибыли. Что бы там ни говорил Тим Кук, который утверждает, что для Appl...

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

Сенсорный терминал для суровых условий Устройства Advantech TPC — это тонкие клиенты для запуска приложений человеко-машинного интерфейса (англ. Human-machine interface, HMI). Представляют из себя полноценный x86 компьютер с пассивным охлаждением, встроенный в защищенный монитор с тачскрином. HMI-терминалы пре...

Чек-лист для тестирования числового поля При тестировании встречаются как интересные задачки с замудреной логикой, так и простые, вроде проверки простой строки или числового поля. Для простых полей можно один раз написать чек-лист проверок, а потом переиспользовать, лишь немного меняя под «своё» поле. Сегодня мы р...

Я иду искать: геопозиционирование хоста по IP-адресу в глобальной сети Интернет на примере криптобиржи Binance В статье рассмотрены методы геопозиционирования сетевых интерфейсов по IP-адресу на примере API-сервиса криптобиржи Binance. Геопозиционирование основано на дистанционно-временных моделях пересчета времени кругового обхода (RTT) в дистанцию и определения примерного местопо...

Audio-Technica выпустила в России трио внутриканальных наушников E-серии Audio-Technica объявила о появлении в России трёх новых внутриканальных наушников ATH-E40, ATH-E50 и ATH-E70. Все три модели используют специально разработанный корпус, отсекающий внешние шумы, и обеспечивают комфорт при прослушивании в течение долгого времени. Подробнее об ...

Защищенный удаленный доступ с помощью решений Check Point + бесплатные лицензии Про организацию удаленного доступа за последние пару недель не написал только ленивый. Многие производители предоставили бесплатные лицензии для Remote Access VPN. Check Point не остался в стороне и предоставляет возможность в течение 2-х месяцев бесплатно использовать их ...

Создаем и запускаем в облаке мощный и главное бесплатный сервер Minecraft Пару месяцев назад, когда Oracle представила в своем публичном облаке двухсокетные серверы с 80-ядерными ARM-процессорами, в англоязычном блоге Тодда Шарпа появилась статья о том, как запустить сервер Minecraft в облаке. Теперь, когда Oracle добавил эти процессоры в Always F...

[Перевод] Локальное хранилище или куки? Безопасное хранение JWT на клиенте JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фрон...

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

Корпоративные телефоны каждому из 31 тысячи сотрудников У каждого сотрудника Леруа Мерлен есть корпоративный телефон. Там два слота под симки: один — под корпоративную с пакетом в 100 минут и трафиком для корпоративных приложений и 3 Гб на мобильный интернет-трафик, во второй можно втыкать личную. На телефонах — мессенджеры, соцс...

Postgresso 20 Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главная новость Feature Freeze Функциональность 13-й версии PostgreSQL заморожена. Теперь только доработки и исправления багов. Список нового, вопреки многим ожиданиям, довольно обширный...

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action ВступлениеВ связи с желанием апгрейдить свое рабочее место, появилась потребность в мониторе, на котором будут отображаться информативные виджеты, например: погода, календарь, показатели датчиков в доме -, и, так как готовые решения меня не устраивают, я решил, что сделаю св...

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

Скачайте Яблык – обновленное официальное приложение сайта Yablyk.com для iPhone Огромное количество наших читателей посещают сайт с мобильных устройств, при этом использовать браузер не всегда удобно. Мы рады сообщить, что в App Store появилось масштабное обновление приложения Яблык для iPhone и iPad. Приложение транслирует материалы, публикуемые на род...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

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

Видеоурок Теплицы: собственный VPN-сервер за 2 доллара и 2 клика с помощью Amnezia VPN Вова Ломов настоятельно рекомендует вам посмотреть этот скринкаст и по-возможности поделиться им с другом, подругой и родственниками. В нем — про Amnezia VPN — self-hosted VPN, разработанный российским программистом на хакатоне DemHack, который провели комаанды Теплица и Рос...

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

7 полезных бесплатных мини-приложений для Mac Для Mac созданы тысячи программ, которые делают жизнь пользователя проще и приятнее. В этой статье мы представим подборку отличных приложений из разряда «мал золотник, да дорог». ♥ ПО ТЕМЕ: Горячие клавиши для выключения и перезагрузки Mac.   1. Thor Программа позволяет...

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

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

Pure Storage присоединилась к Google Cloud Anthos Ready Storage Initiative Компания Pure Storage присоединилась к Google Cloud&#39;s Anthos Ready Storage Initiative -&nbsp;экосистеме партнеров&nbsp;Google, создающих решения для ее&nbsp;открытой платформы&nbsp;Anthos, которая позволяет бизнесу&nbsp;ускорить разработку нов...

[Перевод] Как реализовать кластеризацию в Power BI с помощью PyCaret И снова здравствуйте. Сегодня мы продолжаем серию переводов в преддверии старта базового курса «Математика для Data Science». В одной из последних статей мы говорили о том, как создать детектор аномалий в Power BI, интегрировав в него PyCaret, и помочь аналитикам и специа...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

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

Чему я научился, написав библиотеку компонентов на Svelte Попробовав Svelte в личных проектах, мне захотелось двигаться дальше, и взять фреймворк в проект побольше. Для этого написал библиотеку компонентов svelte-atoms. За основу я взял UI кит на React, который используем на работе. Каким приемам Svelte я научился, читайте под кат...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

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

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

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

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

SOA на Laravel и JSON-RPC 2.0 SOA (Сервис-Ориентированная Архитектура) строится путём комбинации и взаимодействия слабо-связанных сервисов. Для демонстрации создадим два приложения Клиент и Сервер. А их взаимодействие организуем посредством протокола удаленного вызова процедур JSON-RPC 2.0. Читать дал...

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

Какого цвета слово? Раздражающая игра, от которой не оторваться! Способность мозга быстро переключаться с одной задачи на другую и обдумывать множество вещей одновременно называется когнитивной гибкостью. Её можно и нужно тренировать. Один из способов — тест Струпа. Выбирайте цвета, которыми написаны слова, а на их значение не обращайте в...

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

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

Приложение Apple TV теперь доступно на некоторых телевизорах LG 2019 года LG объявила о том, что приложение Apple TV и сопутствующий потоковый сервис «Apple TV» + теперь доступны на некоторых телевизорах LG 2019 года в США и более чем в 80 других странах. Добавление приложения «Apple TV» в линейку телевизоров LG 2019 года следует за дебютом CES но...

От монолита к распределенной системе Постоянный рост конкуренции среди Банков заставляет подстраиваться под разные категории Клиентов. Так, одним проще зайти на сайт и оформить заявку на банковский продукт онлайн, другие же привыкли выбирать новые продукты и услуги непосредственно при живом общении с банковским...

[Перевод] Управление датчиками умного дома при помощи Google Assistant Здравствуйте, коллеги в этом руководстве расскажу как при помощи Google Assistant и протокола mqtt управлять датчиками умного дома, на примере платы ESP8266 и светодиода. Также создадим свое приложение для Assistant с блэкджеком и php скриптами. Всех желающих прошу под кат. ...

Powershell настоящий язык программирования. Скрипт оптимизации рутины в техподдержке Работая в компании IT-аутсорса в качестве руководителя 3 линии поддержки, задумался, как автоматизировать подключение сотрудников по RDP, через VPN к серверам десятков клиентов.Таблички с адресами, паролями и прочими настройками серверов, конечно, хорошо, но поиск клиента и ...

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

DJI уже месяц не может пропатчить приложения DJI Fly для Android 10 Компания DJI столкнулась со сложностями с поддержкой их приложением DJI FLY операционной системы Android 10 на некоторых телефонах. Первые сообщения о невозможности запустить приложение появились в Play Market приблизительно 8 декабря (по крайней мере то, что мне видно в...

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

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

Купи сервер Fujitsu и получи ИБП в подарок! Компания Landata вручает подарки! При закупке одной из трех моделей серверов Fujitsu со склада компании: - Сервер PRIMERGY RX2510 M2 Xeon E5-2620v4 8C/16T 2.10GHz 20MB/ 8GB DDR4-2400 RG/ max 4x3.5" HDD/ RAID SATA 0/1/10/ 2x1Gbit LAN/ RMK/ PS 450W ...

Запустить Linux в браузере — поможет эмулятор jor1k (со встроенными Monkey Island, Doom и Frontier Elite II) В материале говорим о возможностях этого открытого инструмента и его технических параметрах. Также расскажем об аналогичных проектах, разрабатываемых в этой сфере. В предыдущих сериях: «Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боево...

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

Сергей Зайченко: «Если вы не знаете, где брать данные, берите их из OSM» Сергей Зайченко является одним из создателей картосервиса поискового портала «Спутник», в основе которого OpenStreetMap. Наверное, это один из самых удачных и масштабных примеров использования данных из OSM в рунете. Почему было решено использовать OSM, зачем развивали соо...

Основы линейной регрессии Здравствуй, Хабр! Цель этой статьи — рассказать о линейной регрессии, а именно собрать и показать формулировки и интерпретации задачи регрессии с точки зрения математического анализа, статистики, линейной алгебры и теории вероятностей. Хотя в учебниках эта тема изложена стр...

В мае стартуют продажи ADATA XPG SPECTRIX D50 DDR4 RGB ADATA объявляет о выпуске новых скоростных модулей памяти XPG SPECTRIX D50 DDR4 RGB. Частота работы модулей достигает 4800МГц, а максимальный объём одной планки составляет 32Гб. В сочетании с элегантным строгим дизайном, XPG SPECTRIX D50 способны удовлетворить потребности ов...

Как сделать работу с Microsoft Remote Desktop лучше Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и поругаю Windows 10 и AVC, разберу решение нескольких типичных проблем. Считаем, что для подключения используется...

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

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

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

Свой сервер видеоконференций Jitsi. Часть 1 Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему: Свой сервер видеоконференций Jitsi. Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи ...

[Из песочницы] Flutter. Асинхронность и параллельность Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart (и Flutter в частности). TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы ...

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

Гарнитура Google Glass Enterprise Edition 2 стала доступна для разработчиков Компания Google сделала гарнитуру дополненной реальности Google Glass Enterprise Edition 2 доступной для покупки разработчиками. Это произошло примерно через девять месяцев после того, как эта модель была представлена и стала доступна через партнеров Google, внедряющих ...

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

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

WD Gold NVMe от Western Digital: SSD-накопители для предприятий Western Digital презентовал новое семейство корпоративных сетевых накопителей — WD Gold NVMe. Продукт предназначен для хранения корпоративных приложений и наборов данных с высокой пропускной способностью. Твердотельные накопители дополняют недавно выпущенные жесткие диски W...

Магия виртуализации: вводный курс в Proxmox VE Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экон...

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

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

Альтернативный браузер Vivaldi сделал рывок вперёд и превращается в настоящего монстра Команда набирающего популярность браузера Vivaldi объявила о выпуске масштабного обновления Vivaldi 4.0, которое приносит множество новых функций.  Vivaldi получил встроенный переводчик для мобильной и десктопной версий. Если язык страницы отличается от устан...

BMG Mini на Voxelab Aquilla Статья больше рассчитана на "чайников" и идет как продолжение - этой.Многие в личке просили подробно обьяснить как поставить другой механизм подачи и как это прописать в принтере. По методу установки\креплению в принципе все механизмы одинаковые, я напишу на примере BMG Mini...

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

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

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

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

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

Серия систем охлаждения Corsair iCUE RGB PRO XT включает модели с радиаторами длиной до 360 мм Одновременно с системой воздушного охлаждения A500 компания Corsair представила системы жидкостного охлаждения iCUE PRO XT. Серия включает модели iCUE H100i RGB PRO XT, H115i RGB PRO XT и H150i RGB PRO XT с радиаторами длиной 240 мм, 280 мм и 360 мм соответственно. На ...

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

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

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

Аппаратные атаки на микроконтроллеры с использованием ChipWhisperer и методы защиты от них Аппаратные атаки представляют большую угрозу для всех устройств с микроконтроллерами (далее – МК), поскольку с их помощью можно обойти разные механизмы безопасности. От таких атак тяжело защититься программными или аппаратными средствами. Для примера можно прочитать статью...

Серверы Huawei на процессорах Kunpeng 920 получат российскую «импортонезависимую» операционную систему Компании Huawei и РЕД СОФТ сообщили о подписании соглашения о технологическом сотрудничестве. Предмет соглашения — продажи на российском рынке комплексных решений, в которых объединены флагманские продукты двух компаний: серверы Huawei Taishan 200 (модель 2...

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

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

CVE-2019-18683: Эксплуатация уязвимости в подсистеме V4L2 ядра Linux В данной статье описана эксплуатация уязвимости CVE-2019-18683 в ядре Linux, которую я обнаружил и исправил в конце 2019 года. Указанный CVE-идентификатор присвоен нескольким аналогичным ошибкам типа «состояние гонки», которые присутствовали в подсистеме V4L2 ядра Linux на п...

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

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

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

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

Защита и взлом Xbox 360 (Часть 3) В 2011 году, через 6 лет после выпуска игровой приставки Xbox 360, исследователями был обнаружен занимательный факт — если на вывод RESET центрального процессора на очень короткое время подать сигнал «0», процессор не сбросит своё состояние (как должно быть), но вместо это...

Как работают мобильные кошельки на примере приложения «Mir Pay» Как известно, в 2015 году мы запустили в эксплуатацию платежную систему «Мир», и карты «Мир» в России принимаются повсеместно. Это, конечно, очень здорово, но сейчас набирает популярность использование мобильных кошельков для оплаты покупок. Согласно статистике, в 2019 году ...

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

Идеальный скрипт запуска сервера Minecraft Автор очень любит игру, и сам является администратором небольшого сервера «чисто для друзей». Как водится среди любителей, на сервере замодировано все, а это влечёт за собой нестабильность работы и как следствие падения. Так как Powershell автор знает лучше, чем расположен...

Samsung представила новые телевизоры QLED 8K Компания Samsung Electronics показала на CES 2020 в Лас-Вегасе новый модельный ряд QLED 8K. У моделей Q950 практически нет рамки — соотношение площади экрана к корпусу телевизора составляет почти 99%, а толщина корпуса Q950 всего 15 миллиметров. Линейка одной из пер...

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе. Ге...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

Microsoft Xbox Series X сможет возобновлять игры с паузы даже после перезагрузки Ранее на этой неделе Microsoft раскрыла ряд ключевых характеристик для своей игровой приставки Xbox Series X следующего поколения и, пользуясь молчанием Sony относительно PlayStation 5, продолжает дозированно раскрывать детали о своей игровой системе. В новом подкасте Micros...

(S)SDLC, или Как сделать разработку безопаснее. Часть 3 Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные вопросы, возникающие при внедрении SAST в процесс разработки. Во второй части остановились на ...

[Перевод] Ansible против Puppet Ansible и Puppet представляют собой системы управления конфигурациями (SCM), необходимые для построения повторяющихся инфраструктур. Ansible отличается простотой использования, имеет безагентную архитектуру (не требует установки агента/клиента на целевую систему) и YAML-по...

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

Что такое платформа как услуга (PaaS)? В модели «Платформа как услуга» (PaaS) разработчики, по сути, арендуют все, что им нужно для создания приложения, полагаясь на облачного провайдера для средств разработки, инфраструктуры и операционных систем. Это одна из трех сервисных моделей облачных вычислений. PaaS знач...

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

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

Как I2P-роутер работает без выделенного IP-адреса. Магия прямого подключения двух абонентов за NAT-ом Модель выхода в сеть через NAT работает только в одну сторону – от пользователя за натом до веб-ресурса. Когда соединение установлено пользователем, веб-сервер может ему отвечать, но, если установленной сессии нет, – до пользователя нельзя достучаться извне, потому что тысяч...

Мониторинг показателей linux сервера в Home Assistant через mqtt Возникла необходимость поставить дома еще один сервер, и я задался целью мониторить его показатели в домашнем умном доме, в качестве которого используется Home Assistant. Быстрое и потом вдумчивое гугление не дало устраивающих меня универсальных решений, поэтому построил сво...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

Google тестирует «идеальный» тёмный режим Chrome для смартфонов Android Тёмная тема для смартфонов успела завоевать множество поклонников. С запуском Android 10 она стала доступна на системном уровне. Множество приложений сейчас уже имеют встроенные тёмные темы и многие способны синхронизировать этот параметр с Android 10.  На данный ...

«Вкусвилл» запустит маркетплейс товаров и услуг «Довериум» Площадка будет работать по рекомендательной модели — ритейлер расскажет клиентам о партнёрах и даст ссылки на их сайты.

Старые iPhone получили поддержку функции FiLMiC Pro Новое семейство iPhone 11 имеют одну возможность съёмки видео одновременно на несколько модулей с помощью приложения FiLMiC Pro. Теперь такая возможность добралась и до старых моделей смартфонов компании Apple. Камера научилась снимать видео одновременно со всех модулей: ши...

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

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

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

Популярный недорогой Honor получит стабильную Android 10 со дня на день Не так давно Honor, подшефный бренд Huawei, выпустил стабильное обновление фирменной оболочки EMUI 10 на основе свежей версии операционной системы Android 10 для смартфона Honor 10 Lite. А теперь компания подтвердила скорый запуск апдейта для ещё одного популярного смар...

Что такое Полный геном и зачем он нужен Атлас запустил новый продукт — Полный геном. Теперь мы можем исследовать не только отдельные точки в геноме, как в генетическом тесте, но и прочитать всю последовательность нуклеотидов генома. В этой статье рассказываем, что это и зачем это нужно. Внимание! Мы подарим Полны...

Представляем .NET 5 Preview 1 В конце прошлого года мы выпустили .NET Core 3.0 и 3.1. В этих версиях добавлены модели настольных приложений Windows Forms (WinForms) и WPF, ASP.NET Blazor для создания одностраничных приложений и gRPC для кроссплатформенного обмена сообщениями на основе контрактов. Мы такж...

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

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

Samsung Galaxy Watch подключили к российским в «умным» протезам Научно-исследовательский центр Samsung Electronics в России в сотрудничестве с компанией «Моторика», резидентом Сколково, разработали систему управления высокотехнологичными протезами конечностей при помощи носимых устройств Galaxy Watch. Компании реализова...

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

Microsoft подтвердила проблемы в играх при установке последних обновлений для Windows 10. Но решение уже на подходе Почти десять дней тому назад пользователи начали отмечать неадекватную работу ПК после установки обновления KB5001330 в Windows 10 . Проблемы возникли с доступом к пользовательским папкам Изображения и Мои документы; в играх регистрируется снижение к...

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

Локализация приложений — 10 главных языков Полезно почитать перед запуском приложения на нескольких языках. Статья основана на статистике рынка приложений и конкретных примерах локализации.

[Перевод] Понимание CSS Grid (2 часть): Grid-линии Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Lines» автора Rachel Andrew В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному эл...

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

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

Поднимаем свой инстанс Webogram с проксированием через nginx Привет, Хабр! Недавно я попал в ситуацию, в которой необходимо было работать внутри корпоративной сети с неполным доступом к интернету и как вы можете догадаться по заголовку — Telegram в ней был заблокирован. Уверен, что данная ситуация знакома многим. Я вполне могу обход...

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

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

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

[Перевод] Prometheus: мониторинг HTTP через Blackbox экспортер Всем привет. В мае OTUS запускает практикум по мониторингу и логированию, как инфраструктуры так и приложений с помощью Zabbix, Prometheus, Grafana и ELK. В связи с этим традиционно делимся полезным материалом по теме. Blackbox экспортер для Prometheus позволяет реализоват...

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

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

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

Книга «PowerShell для сисадминов» Привет, Хаброжители! PowerShell — это одновременно язык сценариев и командная оболочка, которая позволяет управлять системой и автоматизировать практически любую задачу. В книге «PowerShell для сисадминов» обладатель Microsoft MVP Адам Бертрам aka «the Automator» покажет, к...

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

Microsoft Office 2021 выйдет 5 октября; Office LTSC 2021 уже доступен Microsoft объявила о релизе пакета приложений Office LTSC 2021 с удлинённым сроком поддержки, который предназначен для коммерческих клиентов и государственных учреждений. Вместе с этим компания сообщила, что релиз потребительской версии Office 2021 состоится 5 октября 2021 ...

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

Складной флагман Samsung Galaxy Fold 2 похож на Huawei P40 Pro+ на новых рендерах В Сети появились новые рендеры перспективного флагмана Samsung с гибким экраном – Galaxy Fold 2, и на них модель очень похожа на представленный вчера Huawei P40 Pro+. Это если акцентировать внимание на тыльной панели и оформлении блока основной камеры. Все дело в...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

Программное обновление уменьшает разницу между наушниками Galaxy Buds и Galaxy Buds+ Компания Samsung Electronics объявила о выпуске обновления программного обеспечения ждя наушников Galaxy Buds, которое наделяет их возможностями, присущими модели Galaxy Buds+. В частности, становится доступна функция Microsoft Swift Pair, которая позволяет подключать G...

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

Обзор ноутбука ASUS X571G Рассказывая о ноутбуках компании ASUS, мы уделяем много внимания игровым моделям и ультрабукам. Тем временем, классические ноутбуки обновляются и улучшаются. И основная масса продаж приходится на доступные модели, оптимизированные под наилучшее соотношение стоимости и предла...

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

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32 Введение Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой о...

WebRTC через Kurento: опыт тестирования и внедрения В этой статье я поделюсь опытом работы с технологией WebRTC и медиасервером Kurento на этапе тестирования и внедрения. Расскажу с какими проблемами я столкнулся и как их решил. Я не расскажу о том как разработать приложение с нуля, но приведу много полезных ссылок. Уверен, ...

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

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04 В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабо...

Windows 10 запущена на Raspberry Pi 4 Мини-компьютер Raspberry Pi 4 является наиболее производительным в линейке Pi, так что разработчик ПО, известный как Marcin, решил установить на него Windows 10. Уточним, что речь идет не о варианте Windows 10 IoT Core, который, кстати, официально пока совместим только ...

Распаковка Huawei TaiShan 2280v2 Серверы с процессорами на архитектуре arm64 старательно входят в нашу жизнь. В этой статье мы покажем распаковку, установку и небольшой тест нового сервера TaiShan 2280v2. Читать дальше →

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

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

[Перевод] Букварь по дизайну систем (Часть 1 с дополнениями по микросервисам) Несколько лет назад, для закрытия одного их предметов мне довелось перевести данный букварь. Де-факто этот вариант стал официальным переводом. Но развитию этого перевода мешает, тот факт, что он был написан в Google Drive и закрыт на редактирования. Сегодня я уделил время н...

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

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

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

Переходя на удаленку, компании открывают хакерам доступ к своим серверам RDP - протокол, разработанный Microsoft для удаленного управления ОС Windows - на сегодня самый популярный способ подключения к рабочему окружению. Однако по умолчанию RDP использует порт 3389 и, если ИТ-служба компании не уделяет должного внимания безопасности удаленного до...

Индикатор качества канала серверного WebRTC через TCP Publish и Play Существует две основных функции работы WebRTC на стороне сервера в области потокового видео: публикация и воспроизведение. В случае публикации видеопоток захватывается с вебкамеры и двигается от браузера к серверу. В случае воспроизведения, поток двигается в ...

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

Новый банковский Android-троян обходит 2-факторную защиту Google Специалисты из компании мобильной безопасности ThreatFabric сообщили об обнаружении нового банковского Android-трояна.Речь идет о трояне Cerberus, который может красть коды, сгенерированные приложением для двухэтапной аутентификации Google Authenticator. Указанное ПО считает...

[Перевод] Алгоритм AdaBoost Перевод статьи подготовлен в преддверии старта продвинутого курса «Математика для Data Scienсe». Введение Алгоритм AdaBoost можно использовать для повышения производительности любого алгоритма машинного обучения. Машинное обучение стало мощным инструментом, позволяющим д...

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

Как вести логи в Talend Open Studio Talend Open Studio for ESB — free-to-download инструмент на основе визуальных компонентов, предназначенный для интеграции приложений и бизнес-систем в гетерогенной инфраструктуре предприятия. Читать дальше →

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

[Перевод] Реализуем машинное обучение на iOS-устройстве с использованием Core ML, Swift и Neural Engine Привет, хабр! В преддверии старта продвинутого курса «Разработчик iOS», мы традиционно подготовили для вас перевод полезного материала. Введение Core ML — это библиотека машинного обучения, выпущенная в свет Apple на WWDC 2017. Она позволяет iOS разработчикам добавлять ...

[Перевод] Обучение и оценка модели с Keras Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях: При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использова...

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

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

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

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

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

Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet Написано огромное количество документации и статей о важной визуальной составляющей приложений — анимации. Несмотря на это мы смогли вляпаться в проблемы столкнулись с загвоздками при её реализации. Данная статья о проблеме и анализе вариантов её решения. Я не дам вам сере...

Возможности ClickHouse для продвинутых разработчиков. Алексей Миловидов (2018г) В докладе планируется рассмотреть малоизвестные или недостаточно хорошо освещённые в документации возможности ClickHouse: инкрементальная агрегация и манипуляции с состояниями агрегатных функций, межкластерное копирование, выполнение запросов без использования сервера и т.п...

[Перевод] Разворачиваем модель машинного обучения с Docker – Часть 1 Перевод статьи подготовлен в преддверии старта базового и продвинутого курсов по машинному обучению. Расширяем возможности для наших студентов. Теперь в OTUS есть целых два курса по Machine Learning: базовый и продвинутый. Оба курса стартуют в августе, в связи с чем мы приг...

React.js — формошлепство или работа с формами при помощи пользовательских хуков В этом посте будет реализован простой пользовательский хук для работы с состояниями формы и будут разобраны способы работы с объектами и массивами. В завершение разберем валидацию форм и реализуем соответствующие функции. Читать дальше →

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

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

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

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

Utopia запускает блокчейн-экосистему для шифрованного обмена данными Проект Utopia объявил о запуске децентрализованной экосистемы со встроенной криптовалютой, мессенджером, возможностями для обмена и хранения файлов, собственным аналогом DNS и браузером для приватного серфинга. Клиент Utopia доступен для Windows, MacOS и Linux. Об этом сообщ...

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

UML для разработчиков Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то у...

[Перевод] Новый эксперимент: Вызов сервисов .NET gRPC из браузера с gRPC-Web Рады объявить об экспериментальной поддержке gRPC-Web с .NET. gRPC-Web позволяет вызывать gRPC из приложений на основе браузера, таких как JavaScript SPA или приложений Blazor WebAssembly. gRPC-Web для .NET обещает привнести многие замечательные функции gRPC в приложения дл...

[Перевод] Анонс Vite 2.0 Подумайте о предварительно сконфигурированном dev-сервере + сборщик, но более компактном и быстром. Он использует встроенную в браузер поддержку ES модулей и инструменты, такие как esbuild, для быстрого и современного опыта разработки.Чтобы понять, насколько быстро работает ...

Приложение myASUS позволит использовать смартфон в качестве дополнительного дисплея В рамках выставки CES 2020 компания ASUS продемонстрировала новую возможность для своего приложения-посредника myASUS. Эта программа предназначена для смартфонов и ПК, позволяя удалённо управлять фирменным оборудованием. Программа есть в Microsoft Store и в Google Play.

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

Google запустил конкурента Zoom для всех желающих Компания Google объявила о широком запуске видеоконференций в Google Meet для обычных пользователей.  Ранее расширенные возможности сервиса были доступны только бизнес-пользователям GSuite и GSuite for Education. А теперь бесплатный доступ открывается для в...

В семейство Corsair iCue RGB Pro XT вошли три универсальные СЖО Компания Corsair анонсировала семейство универсальных систем жидкостного охлаждения (СЖО) iCue RGB Pro XT, рассчитанных на процессоры AMD и Intel. В серию вошли три модели — H150i, H115i и H100i. Они оборудованы радиатором формата соответственно 360 мм, 280 мм и 240 мм. Стар...

Tesla начала поставки электромобиля Model Y на несколько дней раньше графика Первые электромобили Tesla Model Y будут доставлены покупателям уже в эту пятницу, 13 марта. Ранее Tesla заявляла, что поставки этой модели начнутся 15 марта. Покупатели в штате Вашингтон, Фримонте и Сан-Диего (штат Калифорния) подтвердили дату поставки Model Y 13 марта, сог...

Object Detection. Распознавай и властвуй. Часть 2 В прошлом посте я начал разбираться в двухступенчатых Object Detection моделях и рассказал о самой базовой и, соответственно, первою из них – R-CNN. Сегодня мы рассмотрим другие модели этого семейства: Fast R-CNN и Faster R-CNN. Поехали! Читать дальше →

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь. Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался. В данной части напишем простейший пример Hello World на HAL, посмотрим как ...

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

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

В браузер Atom пришла Маруся Разработчики браузера Atom, за которым стоит Mail.ru Group, объявили о выпуске важного обновления. В браузере Atom появились функции голосового управления благодаря интеграции с цифровым помощником Марусей.  Марусю можно попросить открыть нужный сайт, рассказать н...

Здоровых людей нет, есть недообследованные: ранняя диагностики ишемической болезни сердца Современная диагностика заболеваний путем визуализации насчитывает множество методов: МРТ, КТ, ФА, УЗД и т.д. Каждый из них по-своему уникален и предоставляет определенный спектр информации про здоровье пациента. Однако у всего есть свои недостатки, и вышеперечисленные мет...

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

Домашний веб-сервер на солнечных батареях отработал 15 месяцев: аптайм 95,26% Первый прототип солнечного сервера с контроллером заряда. Фото: solar.lowtechmagazine.com В сентябре 2018 году энтузиаст из Low-tech Magazine запустил проект «низкотехнологичного» веб-сервера. Задача была снизить энергопотребление настолько, чтобы домашнему self-hosted сер...

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

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

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

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

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

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

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

[Перевод] Создание CI/CD-цепочки и автоматизация работы с Docker Я написала мои первые сайты в конце 90-х. Тогда приводить их в рабочее состояние было очень просто. Был Apache-сервер на каком-нибудь общем хостинге, на этот сервер можно было войти по FTP, написав в браузерной строке нечто вроде ftp://ftp.example.com. Потом надо было ввести...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

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

FOSS News №4 — обзор новостей свободного и открытого ПО за 17-23 февраля 2020 года Всем привет! Продолжаю обзор новостей свободного и открытого ПО (и немного железа). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №4 за 17-23 февраля 2020 г.: Исследование RedHat: Open Source вытесняет проприетарное ПО из корпоративного сегмен...

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

Как подружить PyTorch и C++. Используем TorchScript Около года назад разработчики PyTorch представили сообществу TorchScript — инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++. Ниже я делюсь опытом его ...

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

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

Эволюция методов mesh denoising: от простых фильтров до 3D глубокого обучения В этой обзорной статье вы узнаете, что такое mesh denoising, какие методы использовались и используются для устранения шума на полигональных сетках (от классических фильтров до передовых графовых нейронных сетей), и получите общее представление о развитии направления. С пом...

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

Lively Wallpaper – живой анимированный рабочий стол в Windows 10 Windows 10 включает в себя широкий спектр настроек для изменения внешнего вида рабочего стола и приложений, чтобы операционная система выглядела более индивидуальной. В настоящее время вы можете переключаться между темной или светлой темой и изменять цветовой акцент для меню...

о Redux архитектуре во Flutter приложениях Не так давно вышла статья о чистой архитектуре во Flutter. Хочу осветить тему немного под другим углом и развить тему управления глобальным состоянием с помощью Redux. Читать далее

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

Полноценный Kubernetes с нуля на Raspberry Pi Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, ...

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

Поддержка Touch в JavaScript Какие проблемы могут быть у frontend-программиста, если тестировщик запустит его приложение на iPad с новой трекпад-клавиатурой, Windows-планшете, с неопределенным состоянием “режима планшета” или ноутбуке с подключенным к нему телевизором c поддержкой Multi-touch? Это дале...

Быстрый роутинг и NAT в Linux По мере исчерпания адресов IPv4, многие операторы связи столкнулись с необходимостью организовывать доступ своих клиентов в сеть с помощью трансляции адресов. В этой статье я расскажу, как можно получить производительность уровня Carrier Grade NAT на commodity серверах. Чита...

Windows 10 научится отправлять и принимать RCS RCS, как ожидается, в будущем придет на смену устаревшей технологии SMS. Уже сейчас в некоторых странах Google предлагает воспользоваться возможностью обмена сообщениями по протоколу RCS в обход операторов мобильной связи.Как пишет портал Engadget со ссылкой на сообщение ...

Palit представила новые модели видеокарт GeForce RTX Super Компания Palit представила новые модели видеокарт GeForce RTX Super на основе архитектуры Nvidia Turing - GeForce RTX 2080 Super и GeForce RTX 2070 Super, которые вошли в серию серии GamingPro. Подробнее об этом читайте на THG.ru.

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

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

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

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

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

Реклама в уведомлениях и вход с Apple — как изменится App Store с 30 апреля Apple постоянно обновляет рекомендации для приложений в App Store — так компания общается с разработчиками и дает им понять, какие функции должна содержать та или иная программа, чтобы она могла размещаться в магазине приложений на iOS. По данным Apple, 77% всех устро...

rpm-gpg-repository-mirroring — Скрипт для скачивания RPM пакетов из репозиториев, для которых нельзя сделать RPM зеркало В некоторых организациях с серверов нет доступа в интернет. В таких случаях делают зеркала основных репозиториев. Но что делать, если доступ с серверов ограничен, а нужные rpm пакеты нужно установить? Обычно используют скачивают reposync или скачивают руками и делают локальн...

«Вкусвилл» запустит маркетплейс товаров и услуг «Довериум» без комиссии для партнёров Площадка будет работать по рекомендательной модели — ритейлер расскажет клиентам о партнёрах и даст ссылки на их сайты.

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

[Из песочницы] Использование контроллера Arduino для прерываний В данной стать я приведу пример использования arduino контроллера для вызова прерываний программы на C#. Стоит отметить, что в WindowsForms присутствует элемент Timer который включается и выполняет код через определенный промежуток времени. Я решил реализовать подобное...

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

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

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

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

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

Изучаем английский с помощью Telegram бота Нет, это не одна из сотен статей о том, как написать свой первый Hello World бот на Python. Здесь вы не найдете подробной инструкции, как получить API-токен в BotFather или запустить бота в облаке. Взамен я вам покажу как раскрутить всю мощь Python на максимум, чтобы добить...

Redmi 10X получит флагманскую Qualcomm Snapdragon 865, а вовсе не MediaTek Helio G85. Смартфон засветился в материалах по MIUI 12 В недавно опубликованных постерах новой фирменной оболочки MIUI 12 для смартфонов Xiaomi и Redmi обнаружилась информация о пока не представленной новинке китайского производителя.  На одном из скриншотах видны характеристики модели с номером M2003J15SC. Как ожидае...

Тонкости авторизации: обзор технологии OAuth 2.0 Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. 3 года назад мы написали сервис Auth для реализации сквозной аутентификации, а сейчас пишем уже вторую версию. В основе сервиса лежит стандарт ...

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

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

Лучшие китайские смартфоны декабря 2019 года по мнению Antutu 6 января 2020 года Antutu опубликовал рейтинг производительности Android-смартфонов, которые в настоящее время доступны в Китае. Рейтинги составлены на основе тестирования с помощью программного обеспечения для сравнительного анализа и относятся к двум различным категориям —...

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

Последнее обновление Windows 7 заменяет обои на черный экран 14 января корпорация Майкрософт выпустила последнее обновление для системы безопасности Windows 7, но, похоже, ошибка в обновлении заменяет фон рабочего стола черным экраном. Согласно нескольким сообщениям на Reddit и форуме Microsoft, KB4534310 содержит странную ошибку, кот...

[Перевод] DevOps vs Agile: В чем разница Разница в том, что происходит после разработки Когда ПО только начали разрабатывать, процесс разработки не подходил ни под один вид управления. Затем появился водопад, который ввел идею о том, что разработка ПО может быть определена временем создания или сборки приложения....

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

Все, что вам нужно знать о SaaS Поместите свое программное обеспечение в облако. Программное обеспечение как услуга (Software as a Service), обычно сокращенно SaaS, представляет собой модель распространения программного обеспечения, согласно которой, вместо загрузки программного обеспечения для локального ...

Борьба за производительность по-настоящему больших форм на React На одном из проектов мы столкнулись с формами из нескольких десятков блоков, которые зависят друг от друга. Как обычно, мы не можем рассказать о задаче в деталях из-за NDA, но попробуем описать свой опыт “укрощения” производительности этих форм на абстрактном (даже немного н...

Windows 10 предлагает Paint и WordPad в качестве дополнительных функций Windows 10 20H1, также известная как версия 2004, представит множество новых функций и улучшений операционной системы. Windows 10 версии 2004 также включает новую страницу настроек дополнительных функций и два важных инструмента – Paint и WordPad теперь не являются обязатель...

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

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

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

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

Размещение кучи FreeRTOS в разделе CCMRAM для STM32 При разработке одного девайса на базе STM32F407 столкнулся с проблемой нехватки оперативной памяти. Назначение самого девайса не принципиально, но важно, что изначальный код писался для десктопной системы и его нужно было просто портировать на микроконтроллер под управлением...

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

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

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

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

Считывание защищенной прошивки из флеш-памяти STM32F1xx с использованием ChipWhisperer В предыдущей статье мы разбирались с Vcc-glitch-атаками при помощи ChipWhisperer. Нашей дальнейшей целью стало поэтапное изучение процесса считывания защищенной прошивки микроконтроллеров. С помощью подобных атак злоумышленник может получить доступ ко всем паролям устройст...

Snort или Suricata. Часть 3: защищаем офисную сеть В предыдущей статье мы рассказали, как запустить стабильную версию Suricata в Ubuntu 18.04 LTS. Настроить IDS на одном узле и подключить бесплатные наборы правил довольно несложно. Сегодня мы разберемся, как с помощью установленной на виртуальном сервере Suricata защитить ко...

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

Создана специальная клавиатура DIY для работы с Adobe Photoshop Создана компактная клавиатура для работы с Adobe Photoshop. Доступны четыре модели для выполнения основных операций приложения. Подробнее об этом читайте на THG.ru.

Истории аварий с Patroni, или Как уронить PostgreSQL-кластер В PostgreSQL нет High Availability из коробки. Чтобы добиться HA, нужно что-то поставить, настроить — приложить усилия. Есть несколько инструментов, которые помогут повысить доступность PostgreSQL, и один из них — Patroni. На первый взгляд, поставив Patroni в тестовой среде...

Лучшие VPN приложения для Windows 10 Несмотря на все свои недостатки, операционная система Windows на сегодняшний день является наиболее популярной ОС среди пользователей всего мира. Одним из ключевых преимуществ Windows версии 10 является большой выбор приложений виртуального доступа (VPN), совместимых с данно...

[Перевод] О структуре параллельных вычислений или доводы против оператора «Go» Каждый язык, поддерживающий параллельные (конкурентные, асинхронные) вычисления, нуждается в способе запуска кода параллельно. Вот примеры из разных API: go myfunc(); // Golang pthread_create(&thread_id, NULL, &myfunc); /* C with POS...

История одного патча Apple В этом году мы с a1exdandy выступали на конференциях VolgaCTF и KazHackStan с докладом про Patch Diffing программ написанных на Оbjective-С и то, как с его помощью можно искать и находить 0-day и 1-day уязвимости в продуктах компании Apple. Видео выступления можно посмотрет...

IoT-шлюз для промышленных протоколов на базе i.MX6 и Linux WISE-710 — это универсальное устройство, которое одновременно может быть шлюзом для промышленных интерфейсов, устройством сбора и обработки данных, хабом для IoT устройств и маршрутизатором. Построено на базе SoC i.MX6 и работает под управлением Ubuntu или Yocto Linux. П...

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

Documentolog запустила специализированную СЭД для международного обмена документами Компания Documentolog запустила сервис для международного легитимного обмена документами Doculite.global, предназначенного для электронного взаимодействия бизнеса в странах СНГ. Сервис реализован на основе системы электронного документооборота ...

Python в Mobile development Ни для кого не секрет, что область применения Python довольно широка: начиная от web-технологий, игровой индустрии и заканчивая проектами NASA. Python работает практически везде: от карманных компьютеров и смартфонов до серверов сети и практически на всех известных платфор...

Пишем telegram бота на языке R (часть 1): Создаём бота, и отправляем с его помощью сообщения в telegram Аудитория telegram ежедневно растёт с геометрической прогрессией, этому способствует удобство мессенджера, наличие каналов, чатов, и конечно возможность создавать ботов. Боты могут использоваться в совершенно разных целях, от автоматизации коммуникации с вашими клиентами до...

OpenID Connect: авторизация внутренних приложений от самописных к стандарту Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощае...

Критический RCE-баг во встроенном сервере GoAhead Исследователи из Cisco Talos обнаружили две новые уязвимости в веб-сервере GoAhead компании EmbedThis. Недостатки позволяют не прошедшему аутентификацию злоумышленнику выполнить на устройстве сторонний код или добиться состояния отказа в обслуживании. Проблема может затронут...

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть I За прошлый год я собрал и настроил автоматизацию для небольшой квартиры около оживленной дороги. В этой статье я расскажу об использованных решениях в климатической системе, освещении, мультимедиа и в программном обеспечении. Читать дальше →

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

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

[Перевод] Связь между C# и C#: REST, gRPC и все, что между Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняш...

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

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

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

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

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

Как на любом Android включить автозаполнение паролей из Android 11 Автозаполнение паролей – штука чрезвычайно удобная. Несмотря на то что первоначально этот инструмент появился именно на iOS, Google довольно быстро смекнула, что Android тоже в нём нуждается, и реализовала его у себя. Правда, получилось у поискового гиганта далеко не так кр...

Простые запросы SNMP в Python (с помощью pysnmp) Этот пост предназначен в первую очередь для сотрудников телекома, админов и новичков в разработке, впервые столкнувшихся с необходимостью отправить snmp-запросы к какому-нибудь коммутатору и разобрать полученный ответ. Разберем основы работы с библиотекой pysnmp на примере ...

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

Fitbit Charge 4 фитнес-трекер с защитой от воды Компания Fitbit представила четвертое поколение своих фитнес-трекер с названием Charge 4. Fitbit Charge 4 предназначен для отслежки здоровья пользователя, так как он умеет определять уровень кислорода в крови, отслеживать частоту сокращения сердца, количество сожжённых в т...

Анонс Swatch Tissot T-Touch Connect Solar: умные часы с гибридным питанием Всемирно известная швейцарская компания по производству наручных часов Swatch ранее уже выпускала несколько моделей смарт-часов, однако особого успеха они не сыскали. И вот компания предприняла еще одну попытку, представив модель Tissot T-Touch Connect Solar. Подробнее об эт...

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

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