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

Web-приложения на Flask: как бороться с циклическими импортами Flask – один из самых популярных фреймворков Python, но некоторые ошибки при его использовании могут привести к определенным затруднениям. В этой статье мы расскажем о том, как не допустить возникновения циклических импортов в проекте. Читать дальше →

Импорт ЕГРЮЛ ФНС средствами Apache NiFi. Шаг 2 — преобразование XML в JSON В одном из проектов возникла необходимость перевести процессы импорта данных сторонних систем на микросервисную архитектуру. В качестве инструмента выбран Apache NiFi. В качестве первого подопытного выбран импорт ЕГРЮЛ ФНС. В предыдущей статье было описано, как получить файл...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

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

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

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с ...

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

Была ли жизнь до Audio CD? Программный декодер PCM В прошлой статье мы рассказали про динамические QR коды, которые записывали на VHS кассеты. Эпидемия PCM зацепила и меня, так что пришло время поковырять этот формат. Читать дальше →

Программирование видео слоя в Raspberry Pi с использованием DispmanX API В этой статье я хочу продемонстрировать использование DispmanX API одноплатных компьютеров Raspberry. DispmanX API предоставляет возможность создавать на десктопе Raspberry новые отображаемые слои. Слои висят над слоями. Их можно динамически создавать, удалять, перемещать, ...

Топ-12 самых интересных ИТишных динамических инфографик Динамические (развернутые во времени) гистограммы очень прикольные. Есть в них особая драма, борьба, накал страстей. Плюс к этому анимация дает особое понимание происходящего. все течет, все изменяется, неизменны только перемены… Инфографика/видеографика/динамическая статис...

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

Вышел Wine 5.0 21 января 2020 года состоялся официальный релиз стабильной версии Wine 5.0 — свободного инструмента для запуска нативных Windows-программ в UNIX-среде. Это альтернативная, свободная реализация Windows API. Рекурсивный акроним WINE означает "Wine Is Not an Emulator"...

Отправка и прием данных неизвестной длины по UART через DMA в freeRTOS на STM32 с использованием LL В этой статье я расскажу о том, как реализовать работу с UART через DMA в freeRTOS. Приступим!

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

YouTrack с обновленным учетом времени Привет, Хабр!На связи команда YouTrack из JetBrains. В новой версии YouTrack мы добавили специальную страницу учета времени — теперь все записи о затраченном времени будут собраны вместе. Кроме того, мы поддержали импорт из GitLab и полностью локализовали YouTrack еще на три...

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

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

Как Windows 10X будет динамически менять обои для Рабочего стола Microsoft не много говорила о Windows 10X после ее анонса в октябре 2019 года, но слухи и утечки раскрыли новые детали модульной операционной системы Microsoft. Недавно в отчете сообщалось, что Windows 10X может поставляться с MacOS-подобной динамической функцией обоев Apple...

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

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

Как уменьшить потребление wifi модулей в десять и более раз Добрый день, Всем!!! Данная статья в основном касается популярного модуля ESP8266 (ESP8285). Недавно на одном из форумов мне задали вопрос о протоколе ESP-NOW. В итоге решил рассказать о способах сокращения потребления датчиков и исполнительных устройств, работающих по WiFi,...

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

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

oVirt за 2 часа. Часть 4. Базовые операции Сегодня мы рассмотрим ряд базовых операций, которые регулярно потребуется выполнять администратору среды виртуализации. Статья — продолжение серии по oVirt: часть 1, часть 2 и часть 3: Содержание Создание ВМ и шаблона; Миграция ВМ (live migration); Миграция хранилища (stor...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

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

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

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

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

Книга «Совершенный алгоритм. Жадные алгоритмы и динамическое программирование» Привет, Хаброжители! В новой книге Тим Рафгарден рассказывает о жадных алгоритмах (задача планирования, минимальные остовные деревья, кластеризация, коды Хаффмана) и динамическом программировании (задача о рюкзаке, выравнивание последовательностей, кратчайшие пути, оптималь...

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

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

Новый рендер Samsung Galaxy S11 показал возможный дизайн смартфона Samsung Galaxy S11 анонсируют 18 февраля 2020 года, и, хотя большинство характеристик уже утекло, о дизайне до сих пор ходят слухи. Недавно опубликованное промо-изображение показало совсем не много (по факту, всего лишь модуль камеры, хоть и довольно специфичный). Это озна...

Sony Xperia 5 Plus получит 4K-экран и Snapdragon 865 В сети появились подробности о топовом смартфоне Sony Xperia 5 Plus, выход которого ожидается 24 февраля этого года. Если верить источнику, аппарат оснастят 6,6-дюймовым OLED-дисплеем с разрешением 4K, соотношением сторон 21:9 и поддержкой расширенного динамического диапазон...

В продаже появились смарт-телевизоры Xiaomi Mi TV 5 Pro Сегодня в продажу поступили умные телевизоры Xiaomi Mi TV 5 Pro. В Китае доступны телевизоры диагональю 55 дюймов, которые были оценены в $525 и 65 дюймов в $710. Также, позже выйдет и модель с диагональю экрана 75 дюймов. Напомним, что новинки могут похвастаться панелями...

Смарт-телевизоры Xiaomi Mi TV 5 Pro выходят в продажу Компания Xiaomi объявила о том, что новые умные телевизоры Xiaomi Mi TV 5 Pro с диагональю 55 и 65 дюймов появятся в продаже с 12 декабря по цене около 523 и 707 долларов соответственно. Позже выйдет и модель с диагональю экрана 75 дюймов. Напомним, что новинки могут похваст...

KZ S1 TWS-наушники за 24 доллара KZ S1 это гибридные беспроводные наушники. Они обладают динамическими и арматурными драйверами. Это позволяет добиться очень высокого качества звучания низких и высоких частот. Динамические драйверы отчетливо выдают басы. В гибридных наушниках два динамика: динамический обы...

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

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

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

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

Интернет вещей в Яндекс.Облаке: как устроены сервисы Yandex IoT Core и Yandex Cloud Functions В октябре прошлого года состоялась первая облачная конференция Яндекса Yandex Scale. На ней было объявлено о запуске множества новых сервисов, в том числе Yandex IoT Core, который позволяет обмениваться данными с миллионами устройств Интернета вещей. В этой статье я расск...

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

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

Для модернизации сети МТС в Центральном федеральном округе закуплено оборудование 5G-ready производства Ericsson Компания МТС, являющаяся крупнейшим российским оператором связи и поставщиком цифровых услуг, и компания Ericsson, известная как производитель телекоммуникационного оборудования, подписали соглашение об использовании оборудования 5G-ready производства Ericsson для масшт...

Компания ZTE Corporation создала уникальное решение SuperDSS Компания ZTE Corporation (0763.HK / 000063.SZ), крупный международный поставщик телекоммуникационных решений, а также корпоративных и потребительских технологий для мобильного Интернета, представила свою разработку SuperDSS — уникальное решение для динамического распре...

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

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

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

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

Игры с Wifi на ESP32 На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула статья https://habr.com/ru/post/477440/. Спасибо им за идею. Мне как раз было нечем заняться. Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в об...

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

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

Huawei представила роутеры с поддержкой стандарта Wi-Fi 6+: AX3 и 5G CPE Pro 2 В рамках прошедшей сегодня презентации новых продуктов китайской компании Huawei было представлено немало любопытных новинок, в том числе смартфон с гибким дисплеем Mate Xs, планшет MatePad Pro и обновлённые ноутбуки семейства MateBook. Кроме того, производитель продемонстри...

Что общего между LVM и матрешкой? Доброго времени суток. Хочу поделиться с сообществом практическим опытом построения системы хранения данных для KVM с использованием md RAID + LVM. В программе будет: Сборка md RAID 1 из NVMe SSD. Сборка md RAID 6 из SATA SSD и обычных дисков. Особенности работы TRIM/DI...

[Из песочницы] Сборка тонкого клиента RDP на базе Raspberry Pi С ростом популярности мини-ПК типа Raspberry Pi, и подобных ему клонов, возникла масса кейсов по их использованию в ИТ-инфраструктуре предприятия, умном доме / даче / гараже, и в других применениях. Одним из удобных и желаемых кейсов является использование RPi как тонкого к...

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

Доля процессоров AMD в бразильском импорте достигла 54% Но самым популярным оказался Intel Core i5-9400F.

Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB Недавно я рассказал, как с помощью типовых рецептов увеличить производительность SQL-запросов «на чтение» из PostgreSQL-базы. Сегодня же речь пойдет о том, как можно сделать более эффективной запись в БД без использования каких-либо «крутилок» в конфиге — просто правильно ор...

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

Мультимедийный DLP-проектор LG ProBeam BU50NST: яркость 5000 ANSI лм, лазерный источник света, динамическое разрешение 4К, поддержка HDR и встроенный мультимедийный плеер Проектор LG ProBeam BU50NST при заявленном световом потоке в 5000 ANSI лм имеет относительно небольшие габариты и массу, впрочем все равно типичным вариантом для него явно будет стационарное использование. Помимо этого ключевыми особенностями проектора являются условно вечны...

Новая версия Windows скопирует самую крутую функцию Apple Mac Функция динамических обоев, заслуженно, пользуется популярностью у пользователей компьютеров Apple с операционной системой macOS. Многими энтузиастами она рассматривается как самая крутая особенность macOS. Однако вскоре «монополии» может прийти конец &mdash...

Marshall представляет беспроводные наушники Monitor ll A.N.C. Бренд Marshall рассказал о выпуске новых беспроводных наушников Monitor ll A.N.C. Bluetooth-наушники обладают функцией активного шумоподавления и эргономичной конструкцией, которая позволяет носить их хоть целый день. Monitor II A.N.C. оснащены индивидуально настроенными ди...

К выходу готовится большой телевизор Xiaomi Mi TV 5 Pro Напомним, что в конце прошлого года в продажу поступили умные телевизоры Xiaomi Mi TV 5 Pro. До сегодняшнего дня были доступны только варианты диагональю 55 и 65 дюймов, которые были оценены в $525 в $710 соответственно. Завтра же в продажу поступит еще одна версия, которая ...

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

TuneMyMusic: как быстро перенести плейлист из одного музыкального сервиса в другой На импорт уйдёт всего пара минут.

Делимся опытом, как показывают себя SSD в рамках RAID и какой уровень массива выгоднее В прошлом материале мы уже рассмотрели вопрос о том “Применим ли RAID на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типа...

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

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

Google Ads объявил об интеграции с Zapier Google Ads объявил об интеграции с онлайн-конструктором автоматизаций Zapier. Решение от Zapier позволит компаниям автоматически импортировать офлайн-конверсии из CRM в Google Ads. Приложение определит и извлечёт такие события, отформатирует данные и загрузит их в рекламную ...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

Как перенести пароли из Google Chrome в iCloud Недавно компания Apple выпустила финальную версию macOS 10.15.4, которая принесла с собой немало мелких изменений и фиксов. Однако для многих едва ли не самым удобным нововведением, сделанным в новой версии macOS, стала возможность импорта паролей из Google Chrome в Связку к...

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

Использование алгоритмов ML для классификации многостраничных документов: опыт ВТБ В рамках кредитных конвейеров юридических лиц банки запрашивают у компаний оригиналы различных документов. Зачастую сканы этих документов поступают в виде единого многостраничного файла – «потока». Для удобства использования потоки нужно сегментировать на отдельные документы...

База знаний с мировыми кейсами использования искусственного интеллекта была создана в Москве Как рассказала заммэра Москвы Наталья Сергуниной, в мегаполисе на платформе ICT.Moscow была создана база знаний с мировыми кейсами использования искусственного интеллекта (ИИ). В настоящее время в ней содержится более трехсот примеров применения ИИ в различных сферах: о...

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

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

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

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

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

Представлен игровой монитор Acer VG280Kbmiipx Компания Acer представила монитор VG280Kbmiipx, который предназначен для использования в составе игровых систем. Новинка характеризуется 28-дюймовой IPS-панелью с разрешением 3840:2160 пикселей (4К), яркостью 300 кд/м2, контрастностью 1000:1, динамической контрастностью 100 ...

14 практических советов по использованию Tableau Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, ме...

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

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

Превращаем DSLogic U2Basic в DSLogic Plus Привет, Хабр! В данной статье расскажу как модифицировать DSLogic U2Basic до DSLogic Plus. Данная статья является обновлением статьи — Превращаем DSLogic Basic в DSLogic Plus Кому интересно — прошу под кат. Читать дальше →

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

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

Интеграция PVS-Studio в PlatformIO Недавно в среде разработки встраиваемых систем PlatformIO появилась поддержка PVS-Studio. В этой статье вы узнаете, как проверить свой код статическим анализатором на примере нескольких открытых проектов. Читать дальше →

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

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

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

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

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

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

Navigation Component-дзюцу, vol. 3 — Corner-кейсы В этой части трилогии про Navigation Component разберем как организовать навигацию в многомодульных приложениях, как работается с диплинками, а также рассмотрим кейсы со встраиваемыми фрагментами и диалогами. Это третья и заключительная статья в цикле про различные кейсы н...

[Перевод] Terraform в AWS: несколько аккаунтов и другие хитрости В этой статье поговорим о нюансах использования Terraform от HashiCorp, в частности о том, как использовать Terraform при управлении несколькими аккаунтами Amazon Web Services (так делают все чаще — из-за размера организации или предпочтений команды DevOps). По сути, AWS са...

Только что представленный Redmi K30 Pro показали на фото В сети появилась качественная фотоподборка представленного сегодня смартфона Redmi K30 Pro, который оценен в 425 долларов за базовую версию. За эти деньги вам предлагают аппарат с топовым восьмиядерным процессором, 6 ГБ или 8 ГБ оперативной, 128 ГБ и 256 ГБ флеш-памяти, 6,67...

Смартфон Sony Xperia 1.1 сможет снимать видео 8K HDR В сети появилась очередная порция подробностей о грядущем флагманском смартфоне компании Sony, который может получить название Sony Xperia 1.1. Сообщается, что аппарат получит квадрокамеру с модулями разрешением 64, 12, 12 Мп и времяпролетной камерой 3D ToF. Самое интересное...

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

Смартфон Poco F2 Pro показали на фото Вчера компания Poco представила флагманский смартфон Poco F2 Pro, а сегодня в сети появились качественные фотографии новинки. В Европе аппарат, которому прочат звание бестселлера, оценен в 500 евро. За эти деньги пользователь получает смартфон с топовым восьмиядерным про...

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

Наш опыт с графовой базой данных Dgraph в Kubernetes Недавно перед нами встала задача развернуть Dgraph в кластере Kubernetes. В этой статье я поделюсь полученным опытом: с чем мы столкнулись во время деплоя и последующего использования этого приложения в различных окружениях, от dev до production. Что вообще такое Dgraph? ...

5 альтернатив Node.js — и есть ли в этом смысл Node.js — не безупречный продукт, у него есть недостатки (использование JS?), некоторые из них тянулись еще с раннего этапа разработки из-за ошибочных решений, принятых Райаном Далем, о которых немного вспомнили в статье Как создатель node.js сам разочаровался в нем. Как э...

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

Asus ZenFone 8 впервые показал свои возможности Ожидается, что в этом году Asus анонсирует смартфоны серии ZenFone 8. Информация об модели данного семейства появилась в базе данных популярного бенчмарка Geekbench. Устройство получило модельный номер ASUS_I004D. По одним данным, это базовая модель ZenFone 8, по другим...

PostgreSQL 13: happy pagination WITH TIES На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008: OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ c...

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

Экран Xiaomi Mi 11 Pro получит MEMC и преобразование SDR в HDR Ранее известный инсайдер Digital Chat Station сообщил в социальной сети Weibo, что флагманский смартфон Xiaomi Mi 11 Pro получит экран разрешением QHD+ с частотой обновления до 120 Гц . На рынке уже есть подобные смартфоны, однако для Xiaomi эту будет заметный прогресс ...

Представлен игровой монитор MSI Optix G27CQ4 Компания MSI пополнила ассортимент мониторов моделью Optix G27CQ4, которая предназначена для использования в составе игровой системы. Новинка характеризуется 27-дюймовой VA-матрицей, радиусом кривизны 1500R, разрешением 2560:1440 пикселей, углами обзора по горизонтали и верт...

Keyboa: клавиатуры на максималках для ботов в Telegram Боты - одна из особенностей Telegram, сделавших мессенджер столь популярным. А его встроенные клавиатуры дают разработчикам большую свободу взаимодействия с пользователями.Keyboa помогает создавать встроенные клавиатуры любой сложности для ботов, разработанных на базе pyTele...

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

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

Таможенная и пограничная служба США внедряет блокчейн Владельцы интеллектуальной собственности постоянно рискуют потерять свой продукт, прежде всего из-за легкого доступа к зарубежному производству. Таможенная служба США намерена использовать блокчейн для борьбы с импортом контрафактной продукции. Испытания показали, что блокче...

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

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

Книга «Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений» Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода....

Greybox Fuzzing на примере AFLSmart Наверное, все слышали про крутой фаззер AFL. Многие используют его как основной фаззер для поиска уязвимостей и ошибок. Недавно появился форк AFL, AFLSmart, который имеет интересное развитие идеи. Если верить документации, он может мутировать данные по заранее подготовлен...

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

iPhone могут подорожать на 15% из-за пошлин США на китайский импорт С 15 декабря, импортируемые товары в США из Китая, будут облагаться дополнительным 15% налогом. Это коснётся и продуктов Apple. Изначально iPhone, iPad и MacBook должны были облагаться налогом с 1 сентября этого года. Но президент США перенес дату на декабрь, чтобы повышени...

Свой стек навигации. Лучше чем у ROS? Это вторая статья команды setUP про наш опыт создания автономных роботов для соревнований Eurobot Open и использования для этого ROS. Первая статья про механику и общую архитектуру роботов. Роботы ездят по ровному полю и большинство препятствий заранее известно, однако, ко...

Быстрый расчет формул из Excel на C# Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым пробл...

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

Oppo Find X 2 выйдет в начале 2020 года с Snapdragon 865 OPPO официально подтвердила, что Find X2 будет запущен в первом квартале 2020 года и будет работать на недавно анонсированном Snapdragon 865 SoC, и использовать новый датчик камеры Sony. Камера OPPO Find X2 будет иметь высокое разрешение, высокую чувствительность, высокую ск...

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

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

В столице состоялась пресс-конференция «Турецкие цитрусовые – самое время! Вкусные, натуральные турецкие цитрусовые в России» В расположенном в Москве пресс-центре «Комсомолки» было организовано проведение пресс-конференции, которая была посвящена турецким цитрусовым и их популярности на отечественном рынке. Напомним, что импорт этих фруктов стремительно растет в ноябре и декабре в связи с приближе...

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

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

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

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

Как включить шифрование в JetBrains Projector Projector — это способ запускать IntelliJ IDEA на удалённом сервере. Недавно я писал об этом статью, но умолчал о важной для любого параноика вещи — шифровании данных на вебсокете. Генерация и подкладывание ключей — довольно муторный кусок работы. Тут придётся познакомиться ...

98-дюймовый телевизор Redmi поступает в продажу В Китае после нескольких дней приема предварительных заказов стартовали продажи умного телевизора Redmi Max 98, который стал самым большим телевизором Redmi TV на сегодняшний момент. Насколько большим является телевизор? Согласно официальному описанию, он 13,6% бол...

Фото с закрытой презентации смартфона Sony Xperia 5 Plus попало в Сеть В рамках выставки MWC 2020 будет официально представлен новый флагманский смартфон Sony Xperia 5 Plus.В распоряжение источников попали фотографии с закрытого мероприятия, в рамках которого, видимо, уже официально представили смартфон Sony Xperia 5 Plus.Будущей новинке пророч...

55 дюймов, 4K, 120 Гц, HDR и MEMC за 550 долларов. Представлен игровой телевизор HiSense E75F — достойный конкурент Xiaomi HiSense сообщила через платформу Weibo, что на этой неделе компания выпустит в Китае игровой телевизор HiSense E75F. А пока что желающие уже могут оформить предварительный заказ на новый умный телевизор в популярных китайских магазинах. Телевизор HiSense E75F получ...

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

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

Визуализация сложных данных с использованием D3 и React Существует много возможныx вариантов реализации сложных графиков в ваших проектах. Я за несколько лет попробовал все возможные варианты. Сначала это были готовые библиотеки типа AmCharts 4. AmCharts сразу же оказался большим и неповоротливым. После этого были более гибкие и ...

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

Цифро-аналоговое и смешанное моделирование в PADS Professional Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих...

Дружим STM32 с LCD дисплеем 1604 по I2C шине (библиотека HAL) Привет, Хабр! В этой статье я хотел бы рассказать о своем опыте подключения LCD дисплеев к микроконтроллеру STM32 с использованием библиотеки HAL по I2C шине. Подключать буду дисплей 1602 и 2004. Они оба имеют припаянный I2C адаптер на основе чипа PCF8574T. Отладочной пл...

[Из песочницы] Используем passwordstore.org — менеджер паролей в стиле KISS Всем привет. В этой статье я хотел бы поделиться своим опытом настройки и использования pass — менеджера паролей для Linux и не только, примечательного своей простотой, использованием уже присутствующих в системе инструментов и возможностью работать исключительно из консоли....

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

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

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

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog) Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки :)Это первая часть статьи, в которой мы расс...

Смарт-реплай стикерами Привет, Хабр! Сегодня мы перезапустили ICQ. Ключевые функции нового мессенджера основаны на технологиях искусственного интеллекта: система быстрых подсказок стикеров и текста Smart Reply для ответа на пришедшее сообщение, предложение стикеров по введенным фразам, распознаван...

Apple MacBook Air «перекочует» на 10-нм процессоры Intel Ice Lake-Y На днях в базе данных 3DMark появилась запись с неизвестным лэптопом MacBook, основанном на таком же неизвестном процессоре Intel Core i3-1000NG4. Он оперирует двумя физическими ядрами с поддержкой технологии Hyper-Threading, работает на частоте...

Xiaomi официально представила новую прошивку MIUI 12 Компания Xiaomi официально представила новую фирменную прошивку MIUI 12, которую анонсировал сам Лей Цзунь.Глава Xiaomi сообщил, что MIUI пользуются в 221 стране мира, в которых разговаривают на 80 языках. Число активных пользователей прошивки в месяц составляет 310 млн.MIUI...

Oracle Cloud: бесплатный VPS 4 ядра ARM/24ГБ памяти: решаем проблему большого спроса (OCI CLI) Очень заманчивая конфигурация была недавно анонсирована в рамках доступа "Всегда бесплатно". К сожалению, "очень быстро разбирают", а именно - сложно запустить экземпляр, постоянно вылазит ошибка “Out of Capacity”. Здесь мы решаем эту проблему, так как Oracle время от време...

[Перевод] Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12 Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использова...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

К анонсу готовится смартфон Sony Xperia 5 Plus с 4K-экраном и Snapdragon 865 Японская компания Sony официально объявила, что ее мероприятие в рамках выставки MWC 2020 запланировано на 24 февраля.Если верить слухам, то в ходе данной пресс-конференции будет представлено сразу два флагманских смартфона Sony Xperia. Одним из них станет Sony Xperia 5 Plus...

В России представлены смартфоны TCL 10 Plus и TCL 10 SE Компания TCL выпустила в России смартфон TCL 10 Plus, который оснащен AMOLED-экраном диагональю 6,47 дюйма разрешением Full HD+, а также технологией улучшения качества картинки NxtVision. Устройство имеет сертификат Netflix и поддержку расширенного динамического диапазо...

Встраиваемые системы машинного обучения на базе Nvidia Jetson Аппаратные платформы для машинного обучения быстро развиваются и дешевеют. Модули Nvidia Jetson позволяют создавать эффективные и доступные решения для Edge Computing. Сегодня стало возможным уместить высокопроизводительную систему с 256 графическими ядрами Nvidia Cuda в к...

Xaomi Poco X2 готов к выходу В базе данных популярного бенчмарка Geekbench появились результаты тестирования мобильного устройства, построенного на неизвестной однокристальной системе Qualcomm с кодовым названием Phoenixin. В однопоточном режиме устройство набрало 547 баллов, а при использовании вс...

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

[Перевод] Малоизвестные, но популярные JS-фреймворки для фронтенда Не так давно мы, создавая динамические веб-приложения, использовали для работы с DOM чистый JavaScript или jQuery. С тех пор появилось много замечательных JavaScript-фреймворков и библиотек. Они помогают разрабатывать проекты, которые, по привлекательности и удобству, превос...

Tencent Pocket Reader II: компактная электронная книга стоимостью около $160 Китайская компания Tencent сегодня официально начала продавать на домашнем рынке компактную электронную книгу под названием Pocket Reader II, которая доступна в нескольких цветовых вариантах исполнения корпуса. Новинка оснащается дисплеем Carta 2 с технологией электронных че...

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

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

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

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

[Из песочницы] Виджеты на Android. Редкая фича, в которой придется разобраться Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH. У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптировать его под android? Если да, то часто ли ваши дизайнеры используют виджеты? К сожалению, виджет — редкий кейс для ...

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

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

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

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

LEGO Education WeDo 2.0 и Scratch — новая связка для обучения детей робототехнике Привет, Хабр! Несколько лет обучающий набор LEGO Education WeDo 2.0 и детский язык Scratch развивались параллельно, но в начале этого года у Scratch появилась поддержка физических объектов, в том числе и модулей LEGO Education. О том, как можно использовать эту связку для об...

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

Реализация аудиоконференций в Telegram + Asterisk В предыдущей статье я описывал реализацию выбора пользователем места жительства при регистрации в моем telegram боте, который я создавал вдохновившись идеей «Телефонного эфира». В этой же статье я опишу интеграцию бота с Asterisk . Читать дальше →

Origin EON15-X AMD: игровой ноутбук с 12-ядерным процессором AMD Ryzen 9 Компания Origin PC анонсировала портативный компьютер EON15-X AMD, способный удовлетворить запросы самых требовательных любителей игр и не только их. Новинка оборудована 15,6-дюймовым дисплеем на матрице IPS с разрешением 1920 × 1080 пикселей (формат Full HD). Частота обновл...

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

[Из песочницы] Desktop pet на C# WPF Desktop pet — пусть и бесполезное, но весьма забавное украшение рабочего стола. В данной статье показана, наверное, самая простая его реализация. Гифка под катом! Читать дальше →

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

React и Vue без npm и сборки Когда все начинают знакомство с React или Vue, как с двумя самыми популярными фреймворками для frontend, конечно-же все используем магические команды npm install, npm build. И только после этого папочку 'public' Мы деплоим «куда надо». Но есть и другой (я бы назвал его извр...

Используем Terraformer для адаптации действующей инфраструктуры в AWS для деплоев с Terraform Рассказываем про наш опыт импорта и адаптации конфигураций инфраструктуры, ранее развернутой вручную в AWS, в формат Terraform. Зачем? Причин может быть много: и отказоустойчивость, и упрощение горизонтального и вертикального масштабирования, и многие другие. С них и начнем ...

Adobe выпустила новое обновление для Lightroom Adobe выпустила новое обновление Lightroom для iOS и iPadOS, которое обеспечивает поддержку прямого импорта с SD-карт и других внешних устройств хранения в популярные приложения. Пользователи смогут создавать и обмениваться альбомами из версии Lightroom для iOS, которую зате...

Специалисты DxOMark оценили камеру iPhone 11 Специалисты DxOMark оценили камеру iPhone 11. Специалисты DxOMark к плюсам камеры отнесли следующие показатели: это яркие цвета, хорошую детализацию, точную и стабильную экспозицию, а также хорошую стабилизацию и широкий динамический диапазон при съемке видео. К минусам от...

Показано живое фото Motorola Edge+ с экраном Endless Edge Опубликовано живое фото флагманского безрамочного смартфона Motorola Edge+ во включенном состоянии.Ключевой особенностью Motorola Edge+ является его 6.7-дюймовый дисплей с разрешение FHD+, частотой обновления 90 Гц, поддержкой расширенного динамического диапазона HDR+. Экран...

Логистика. Часть 1. Оптимизация авиасообщения по направлениям и формирование расписания Наверняка каждому доводилось летать в полупустом самолете или встречаться с переносом рейса, возможно вы задумывались об оптимальности затрат и эффективности такого рейса. Сколько потенциальной прибыли недополучает авиакомпания? Действительно, рейсы бывают малоприбыльными, а...

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

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

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

Представлен более доступный конкурент Xiaomi Mi TV Stick. Анонс Amazon Fire TV Stick Lite и Fire TV Stick 3-го поколения Вчера компания Amazon представила новые телевизионные приставки Amazon Fire TV Stick Lite и Amazon Fire TV Stick 3-го поколения. Новая приставка в форме флешки Amazon Fire TV Stick Lite стоит 30 долларов, поэтому она станет для многим более интересным приобретением, чем...

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

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

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

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

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

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

Локализация по Aruco маркерам В прошлом посте мы рассказали, как проехать из точки А в точку Б, не задев при этом ничего. Но, чтобы что-то объехать, нужно понять, где находимся мы сами, и где находятся динамические препятствия (наши противники и не только). У человека есть глаза, уши и заложенный приро...

[Перевод] Инструмент для отслеживания DNS-запросов: dnspeep Недавно я создала небольшой инструмент под названием dnspeep, который позволяет понять, какие DNS-запросы отправляет ваш компьютер и какие ответы он получает. Всего мой код занял 250 строк на Rust. В этой статье я расскажу о коде, объясню, для чего он нужен, почему в нём воз...

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

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

Топ-3 HTML-элемента, которые мы забыли Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 3 HTML elements that we forgot» автора Stas Melnikov. Недавно я прочитал спецификации и понял, что мы используем ограниченный набор HTML-элементов. Поэтому хотел бы рассказать о трёх элементах, которые мы забыли,...

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

Линус Торвальдс остался недоволен рядом моментов в использовании Rust для Linux В прошлом году разработчики ядра Linux предложили использовать Rust для нового встроенного кода. В марте 2021 года эта идея была частично реализована — в состав ветки linux-next, на которой будет базироваться Linux 5.13, включили начальный набор компонентов для разработки д...

Kivy. Сборка пакетов под Android и никакой магии Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы A...

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

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

75-дюймовый телевизор Xiaomi Mi TV 4S Компания Xiaomi серьезно снизила китайские цены на свои телевизоры. Если вышедший год назад 75-дюймовый Mi TV 4S изначально стоил 1100 долларов, то теперь он доступен за 575 долларов. 70-дюймовый Mi TV 4A cбавил с 575 до 430 долларов, 65-дюймовый E65A – до 390 долларов, а 32...

Ах, эти строки Это текстовая версия моего доклада "Ах, эти строки" на конференции JPoint-2020. Дабы не тратить время читателей зря, сразу расставим все точки над "ё". О чём статья? Статья об эффективном (или не очень) использовании строк. Для кого статья? Статья для раз...

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

«Новые Былины». Для dev, ops и любознательных людей В этой статье я буду настраивать рабочее окружение для разработки игры "Былины", а также выполню разбиение самой игры на части, пригодные для использования в OpenFaaS. Все манипуляции буду делать на Linux, Kubernetes буду разворачивать в minikube с использованием VirtualBox...

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

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

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

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

GridGain и Intel обеспечат поддержку энергонезависимой памяти Intel Optane 200 серии для векторных вычислений GridGain Systems, поставщик корпоративных решений для вычислений в оперативной памяти (In-Memory) на основе распределенной базы данных Apache Ignite, объявила о партнерстве с компанией Intel. Цель сотрудничества - создание первой в отрасли платформы In-Memory-вычислений на б...

SwayWM — сам себе UnixPorn Всем привет. В этой статье я опишу свой опыт настройки и использования sway — тайлингового оконного менеджера для Linux. Читать дальше →

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

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

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

Представлен первый настоящий флагман Motorola с «бесконечной гранью» После череды слухов компания Motorola наконец официально представила смартфон Motorola Edge+, который является первым полноценным флагманом компании с поддержкой сетей пятого поколения. Смартфон получил дисплей под маркетинговым названием Endless Edge, которое можно пер...

Статическое тестирование безопасности опенсорсными инструментами Уязвимости в своём коде хочется находить как можно быстрее, а значит нужно автоматизировать этот процесс. Как именно автоматизировать поиск уязвимостей? Существует динамическое тестирование безопасности, существует статическое — и у обоих свои преимущества и недостатки. Сег...

Vue для самых маленьких a.k.a небольшой блог по всем канонам Всем привет! В данной статье рассмотрим разработку фронта простенького блога на Vue с использованием всех прелестей Vue включая Vuex и Router. А также поговорим про структуру приложения и работу с контейнером и роутером. Читать дальше →

[Из песочницы] Быстрая разработка Web приложения на Vaadin и Spring Boot Целью данной статьи является систематизация процесса разработки веб приложения на Vaadin 14 с использованием Spring Boot. Перед прочтением данной статьи, рекомендую прочитать следующий материал: Введение в Spring Boot Spring Data JPA Lombok возвращает величие Java Vaadin F...

Multiprocessing и реконсиляция данных из различных источников Привет, Хабр! В условиях многообразия распределенных систем, наличие выверенной информации в целевом хранилище является важным критерием непротиворечивости данных. На этот счет существует немало подходов и методик, а мы остановимся на реконсиляции, теоретические аспекты ...

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

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

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

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

IDA Pro: 11 советов, которые вы (может быть) не знали Как скопировать псевдокод в ассемблерный листинг? Как правильно выровнять структуры? Как лучше всего сделать экспорт куска данных для использования в скрипте? В этой статье я покажу компиляцию полезных, как мне кажется, советов для IDA Pro, честно украденных позаимствованных...

Как я разработал мобильную игру на Android с использованием React.js и выложил её в Google Play Store В данной статье рассмотрим все этапы разработки: от зарождения идеи до имплементации отдельных частей приложения, в том числе выборочно будут предоставлены некоторые кастомные куски кода.Данная статья может быть полезна тем, кто только задумывается или начинает разрабатывать...

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

Из жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем. Использование review-окружений в CI/CD м...

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

GS Group: популярность SSD в России растёт, но по суммарному объёму доля HDD составляет 88 % Аналитический центр холдинга GS Group выпустил отчёт о поставках накопителей данных в Россию за последние годы. Объём импорта HDD и SSD в 2019 году составил 9,1 млн штук, в то время время как в 2018 году было ввезено 8,7 млн накопителей. В последние два года этот рынок растё...

Как мы использовали айтрекер для количественного эксперимента Привет, Хабр. На связи UX-лаборатория Авито. Сегодня хотим рассказать об опыте использования айтрекера для проведения количественного эксперимента. Серьёзных инсайтов и уроков не обещаем, просто поделимся своими мыслями. Расскажем, что вышло из идеи эксп...

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

Солнечный удар. Разбираем две опасные уязвимости в Apache Solr Для подписчиковНедавно исследователи нашли две крупные уязвимости в опенсорсной платформе полнотекстового поиска Apache Solr. Первый баг связан с некорректной обработкой шаблонов Velocity, второй кроется в модуле импорта баз данных. Эксплуатация любого из них приводит к удал...

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

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

Настройка IPsec GRE туннель между FortiOS 6.4.5 и RouterOS 6.48.1 Стояла задача объединить филиалы с головным офисом предприятия, где находилась серверная. Fortigate 60E организовывал доступ в интернет и выполнял роль межсетевого экрана в головном офисе, в филиалах выполняли роль доступа в интернет Микротик разных моделей. Также было необх...

[Из песочницы] AI на минималках: пишем свой Сокобан и учим компьютер его решать В этой статье я расскажу как написать свою реализацию известной игрушки Сокобан, а также алгоритм для её решения с нуля. Заодно применю на практике некоторые шаблоны проектирования и принципы SOLID. Весь код расположен по адресу Читать дальше →

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

[Перевод] Worker Service в .NET Core 3: что такое и зачем нужно В .NET Core 3 появился новый шаблон проекта под названием Worker Service. Этот шаблон разработан, чтобы дать вам отправную точку для создания кроссплатформенных сервисов. В качестве альтернативного варианта использования: он дает очень хорошую среду для создания консольных п...

Флагманский смартфон OnePlus 8 представлен официально Гаджет получил Fluid AMOLED-дисплей диагональю 6,5 дюйма и разрешением 2400 х 1080 пикселей с частотой обновления картинки в 90 Гц и поддержкой расширенного динамического диапозона HDR10+.

Infortrend анонсировала новые модели в линейке NAS EonStor CS Компания Infortrend® Technology, Inc. (код TWSE: 2495), разработчик передовых корпоративных систем хранения данных, недавно представила новые модели в линейке горизонтально масштабируемых устройств NAS EonStor CS на базе Flash-накопителей. Использова...

Автоматизация аналитики Jira средствами Apache NiFi Приветствую, господа. Я Маша, мне 23, и я уже полгода изучаю и внедряю на практике Apache NiFi. Должна отметить, что спустя месяц после знакомства с этой технологией — я начала употреблять антидепрессанты. Был ли NiFi триггером или последней каплей достоверно неизвестно, к...

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

[Перевод] Нагрузочное тестирование на Gatling — Полное руководство. Часть 1 Эта статья представляет собой полное, подробное и исчерпывающее руководство по эффективному использованию Gatling для нагрузочного тестирования. Если вам нужно провести нагрузочное тестирование вашего сервера HTTP-приложений, то Gatling - идеальный инструмент для этой задачи...

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

Два моих любимых кейса использования ZeroTier: работа и стрельба в зомби У вас есть сервер под кроватью, умный дом на даче, а еще IP-камера в гараже. Как их всех объединить в одну сеть чтобы иметь доступ ко всем устройствам? В таких ситуациях принято использовать VPN, но есть решение эффективнее — ZeroTier. Он создает одноранговую (P2P) сеть ме...

HighLoad++, Анастасия Цымбалюк, Станислав Целовальников (Сбербанк): как мы стали MDA Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге Подробности и билеты по ссылке. HighLoad++ Siberia 2019. Зал «Красноярск». 25 июня, 14:00. Тезисы и презентация. Разработать промышленную систему управления и распространения данных с нуля — ...

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

Виталик Бутерин намекнул на возможность слияния Ethereum Classic и Ethereum 2.0 Интеграция блокчейна Ethereum Classic в экосистему Ethereum 2.0 в качестве отдельного шарда технически реализуема. Об этом заявил сооснователь Ethereum Виталик Бутерин, пишет Trustnodes. «Можно использовать тот же процесс слияния для импорта состояния ETC, который планируетс...

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

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

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

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

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

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

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

Intel рассказала о возможностях инструментария разработки oneAPI в играх и анонсировала скорую поддержку GPU В рамках проведения конференции Virtual Game Developers Conference (GDC) 2020 корпорация Intel устроила онлайн-презентацию, в которой подробно рассказывается о возможностях её инструментария для разработки oneAPI Rendering Toolkit, ориентированного на применение в играх. В с...

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

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

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

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

[Перевод] Полигоны Another World: Amiga 500 Эта статья часть серии про порты игры Another World. В ней пойдёт речь про хитрости при работе с Amiga 500. Рекомендуется сначала прочитать предыдущую статью. История Amiga начинается в середине 1982 года со звонка Ларри Каплана Джею Майнеру. Оба тогда работали в Atari в 70-...

Oppo Find X 2 выйдет в начале 2020 года с Snapdragon 865 на борту Qualcomm Tech Summit прошла для многих компаний очень успешно, в частности для китайского гиганта Oppo. Во время проведения конференции компания рассказала о планах выпуска своего следующего флагманского смартфона на базе мобильной платформы Snapdragon 865 в первом квартале ...

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

Импорт профиля принтера для Ultimaker Cura MAC Иногда всплывает вопрос: Производитель дает профиль принтера только под Windows версии слайсера. Что делать бедным МАС-оводам? Особенно тем кто, по каким то причинам не хочет сделать профиль заново.Если есть профиль принтера под Вин-Куру! :) То влить его на Мак очень просто!...

Ericsson внедрил решение для динамического распределения спектра в сети МегаФон Скорость передачи данных в сети МегаФон увеличилась более чем вдвое, а емкость сети выросла в полтора раза.

[Перевод] Реверс-инжиниринг популярного античита BattlEye BattlEye — это преимущетвенно немецкий сторонний античит, в основном разрабатываемый 32-летним Бастианом Хейко Сутером. Он предоставляет (или пытается предоставить) издателям игр простую в применении систему античита, использующую механизмы общей защиты, а также обнаружение...

Самое захватывающее обновление Android TV за последние годы: Android 12 принесёт на телевизоры интерфейс 4K, и не только Компания Google вовсю тестирует свою новую операционную систему Android 12. Свежая Android 12 Beta 3 стала доступна не только для смартфонов, но и для платформы умных телевизоров Android TV.  Как отмечают энтузиасты сообщества мобильных разработчиков XDA Developer...

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

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

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

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

Яндекс.Карты API, я устал. Я ухожу О последней и других каплях в чаше решения о прекращении использования Яндекс.Карты API. Что случилось? С 1 ноября Яндекс.Карты уменьшили лимиты на бесплатное использование HTTP API Геокодера с 25 000 до 1 000 запросов в сутки. Но не всех об этом уведомили. Читать дальше &...

Apple впервые за 27 лет посетит выставку CES, а смартфоны iPhone вскоре могут подорожать из-за новых 15-процентных пошлин на китайский импорт 15 декабря начнут действовать новые пошлины, согласно которым товары, поставляемые в США из Китая, будут облагаться дополнительным 15-процентным налогом. Это затронет, в том числе, и продукцию компании Apple. Первоначально предполагалось, что iPhone и некоторые другие гаджет...

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

Huawei представила новые TWS-наушники FreeBuds 3i Компания Huawei официально представила в Англии новые беспроводные наушники FreeBuds 3i.Устройство станет улучшенной версией FreeBuds 3. Наушники отличаются от предшественника по дизайну, предлагают функцию активного шумоподавления, Bluetooth 5.0, 10-мм динамические драйверы...

Обзор и тестирование Samsung M378A1G43TB1-CTD 8Gb 2666MHz cl19 Всем привет, совсем недавно в руки попали два модуля оперативной памяти M378A1G43TB1-CTD, разгонный потенциал которых мы в данной статье и рассмотрим.

O Tilling-wm в 2-х словах Немного расскажу о моем опыте использования тиллинговых менеджеров окон, а также рассмотрим кратко плюсы и минусы, которые я нашёл за 3 месяца использования. Читать дальше →

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

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

Конкурент Redmi Note 9 построен на базе Helio G90. Realme 6 протестирован в Geekbench Сначала в базе данных популярного тестового приложения Geekbench появился смартфон Realme 6 Pro, а теперь же появились результаты тестирования младшей версии под названием Realme 6. Смартфон проходит под модельным номером RMX2001, база данных Geekbench подтверждает, что...

Флагманский камерофон Huawei P40 на первом изображении Уже через несколько месяцев на рынке появится флагманский камерофон Huawei P40, который, скорее всего, возглавит рейтинг DxOMark, как это делали его предшественники. Презентация новинки может состояться уже через месяц на выставке Consumer Electronics Show 2020 или же в...

#Audio_Technica AT2000PK Выпущены наборы в составе микрофона, наушников и регулируемой настольной микрофонной стойки: AT2005USBPK (129$) с динамическим USB-микрофоном, AT2020PK (149$) с конденсаторным микрофоном, AT2020USB+PK (199$) с конденсаторным USB-микрофоном, AT2035PK (199$) с конденсаторны...

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

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

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

FOSS News №2 — обзор новостей свободного и открытого ПО за 3-9 февраля 2020 года Всем привет! Продолжаю обзор новостей свободного и открытого ПО (и немного железа). В этот раз постарался брать не только российские источники, но и англоязычные, надеюсь получилось интереснее. Кроме того, кроме собственно новостей, добавлено немного ссылок на вышедшие за...

Как мы подружили Flutter с CallKit Call Directory Привет! В этом лонгриде я расскажу о том, как мы в Voximplant пришли к реализации собственного Flutter плагина для использования CallKit во Flutter приложении, и в итоге оказались первыми, кто сделал поддержку блокировки/определения номеров через Call Directory для Flutter....

Смартфон OPPO Find X2 Pro получит экран с частой обновления 120 Гц В сети появились свежие данные о смартфоне китайской компании OPPO - Find X2 Pro. Аппарат позиционируется под кодовым названием CPH2025. По недавнем слухам, смартфону приписывали однокристальную систему Snapdragon 865, 12 ГБ оперативной памяти, а также поддержку сетей пятого...

Монитор Lenovo ThinkVision Creator Extreme P27 оценен в 2500$ Компания Lenovo представила 27-дюймовый IPS-монитор ThinkVision Creator Extreme P27, ориентированный на профессионалов. Новинка характеризуется поддержкой HDR1000, разрешением 3840:2160 точек, частотой 60 Гц, яркостью 1200 нит, временем отклика 14 мс и отображением до миллиа...

Список смартфонов Xiaomi с поддержкой HDR10+ Отлично зарекомендовавший себя инсайдер под ником Xiaomishka, который регулярно первым добывает интересные новости о продуктах Xiaomi, Redmi и не только, опубликовал интересный список смартфонов китайского производителя с поддержкой расширенного динамического диапазона ...

Использование RabbitMQ вместе с MonsterMQ часть 5 В предыдущей части мы улучшили нашу систему логгирования. Вместо использования обменника типа fanout мы использовали обменник типа direct, позволившему нам выборочно принимать сообщения. Не смотря на улучшения, наша система до сих пор имеет ограничения, например мы не можем...

Контакты без имени в Айфоне – почему и как решить? Проблема импорта списка контактов в iPhone из сторонних сервисов или SIM-карты довольно распространена и чаще всего проявляется в виде отсутствия имен (отображаются лишь цифры номера). При этом пользователи зачастую не находят решения проблемы и каждый раз занимаются восстан...

Chromebook: заметки реального пользователя Два года назад моим вторым портативным компьютером стал Chromebook. В этой статье я расскажу о личном опыте использования устройства на базе ChromeOS. Мне приходилось знакомиться с операционными системами, как вполне привычными (Windows, Linux, MacOS), так и с экзотикой (O...

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

Новый недорогой смартфон OPPO с поддержкой сетей пятого поколения В базе данных китайского регулятора TENAA засветился новый доступный смартфон с поддержкой сетей пятого поколения компании OPPO, который получил кодовое название PCLM50. Анонсировать аппарат должны уже скоро. Новинка характеризуется 6,4-дюймовым AMOLED дисплеем (2400:1080 то...

Настройка автовыравнивания фазы в дифференциальных парах в САПР Cadence Allegro Иногда даже любимые программы могут доставить мучения — особенно если не знаешь, как правильно настраивать ту или иную функцию. В редакторе печатных плат Cadence Allegro есть такая офигенно полезная опция, High Speed, которая ооочень помогает в трассировке скоростных сигнало...

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

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

Перевернутая пирамида как конец вашего проекта В этой статье я хочу поделится небольшим опытом касательно построения команд в ИТ-проектах. Поговорить я хочу о такой не всегда очевидной вещи как «Пирамида зрелости команды». Читать дальше →

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

Как мы мигрировали с Oracle JDK и Java Web Start на AdoptOpenJDK и OpenWebStart Доброго времени суток. В данной статье я расскажу о «модернизации» в компании, в которой я работаю, такого инструмента как Java Web Start, а точнее об его замене альтернативным opensource решением. Читать дальше →

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

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

В World of Warcraft что-то намечается: поддержка контроллеров или порт на консоли? World of Warcraft — это без сомнения одна из самых популярных игр в жанре MMORPG в истории. Она развивается с 2004 года, но все это время доступна только на компьютерах. Осенью прошлого года компания Blizzard анонсировала новое дополнение под названием Shadowlands, релиз кот...

В России представлены беспроводные наушники Jabra Elite Active 75t Наушники представляют собой спортивную версию недавно анонсированной модели Elite 75t — они обладают повышенной прочностью и оптимизированы для использования во время тренировок и занятий фитнесом.

ChaiScript — скриптовый язык для C++ Когда возникает потребность внедрить скриптовый язык в проект на C++, первым делом большинство людей вспоминает Lua. В этой статье его не будет, я расскажу о другом, не менее удобном и легком в освоении языке под названием ChaiScript. Читать дальше →

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

Отладка микроконтроллеров ARM Cortex-M по UART Часть 2 В прошлой статье я рассказывал про прерывание DebugMon и регистры с ним связанные. В этой статье будем писать реализацию отладчика по UART. Читать дальше →

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

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

Wulfric Ransomware – шифровальщик, которого нет Порой так хочется заглянуть какому-нибудь вирусописателю в глаза и спросить: зачем и почему? С ответом на вопрос «как» мы справимся сами, а вот узнать, чем думал руководствовался тот или иной создатель вредоносного ПО, было бы очень интересно. Тем более, когда нам попадаются...

Xiaomi Redmi K30 Pro Zoom Edition подтверждён генеральным директором компании Судя по слухам, Redmi K30 Pro должен получить версию под названием Zoom Edition. Сегодня эту информацию подтвердил генеральный директор Redmi, дочернего предприятия Xiaomi, Лу Вейбинг (Lu Weibing). gizmochina.com Прямого заявления от главы компании не поступало, однако подп...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

[Перевод] Создание зомби-шутера от третьего лица с помощью DOTS Салют, хабровчане. Как мы уже писали январь богат на новые запуски и сегодня мы анонсируем набор на новый курс от OTUS — «Разработчик игр на Unity». В преддверии старта курса делимся с вами переводом интересного материала. Мы пересобираем ядро Unity с помощью нашего стек...

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

Ассортимент Adata пополнили модули памяти DDR4 XPG Hunter объемом до 32 ГБ Компания Adata Technology представила линейку модулей памяти DDR4 XPG Hunter. Они выпускаются двух видов — U-DIMM и SO-DIMM. Модули U-DIMM DDR4-2666 доступны в вариантах объемом 8 и 16 ГБ, работающих с задержками CL16-18-18 при напряжении питания 1,2 В. Модули U-...

[Из песочницы] Риски IT-проектов и IT-команд Нехорошая ситуация с Nginx — даёт повод вспомнить другие кейсы про неприятности при работы с командами проектов, тем более что исправлять ошибки в оформлении команд — намного сложнее чем ошибки в коде. (кейсы идут — не по «важности» а в порядке вспоминания) Читать дальше &r...

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

[Перевод] Разбираем идеальный кейс фишинга при аренде квартиры Недавно я стал жертвой (к счастью, неудачной) фишинговой атаки. Несколько недель назад я бродил по сайтам Craigslist и Zillow: я хотел арендовать жилье в районе залива Сан-Франциско. Мое внимание привлекли симпатичные фото одного местечка, и мне захотелось связаться с аренд...

Samsung Galaxy Z Flip понравился журналистам Буквально позавчера компания Samsung официально анонсировал свой новый складной смартфон Samsung Galaxy Z Flip, который действительно выглядит очень интересно и привлекательно. При этом у гаджета, естественно, есть свои недостатки, о которых рассказали журналисты. Оказалось,...

Windows 10 версии 2004 поставляется с опциями регулирования обновлений Обновить Windows 10 иногда сложно людям с медленным интернет-соединением или ограниченной пропускной способностью. Операционная система всегда подключена к Сети и использует ваши интернет-данные через обновления и Microsoft Store, но функция оптимизации доставки позволяет ог...

Грабли на пути к keep-alive Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В стать...

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

Отложенные ретраи силами RabbitMQ Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ Читать дальше →

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

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

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

[Перевод] Докеризация приложения, построенного на базе React, Express и MongoDB Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как упаковывать в контейнеры Docker веб-приложения, основанные на React, Express и MongoDB. Здесь будут рассмотрены особенности формирования структуры файлов и папок таких проектов, создание файлов D...

Western Digital iNAND MC EU521: модули памяти UFS 3.1 для 5G-смартфонов Компания Western Digital анонсировала модули флеш-памяти iNAND MC EU521, рассчитанные на использование в смартфонах топового уровня с поддержкой мобильной связи пятого поколения (5G). Представленные изделия соответствуют стандарту UFS 3.1 (Universal Flash Storage), который о...

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

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

В игровых ноутбуках Lenovo Legion используются видеокарты Nvidia GeForce RTX 2080 Super и процессоры Intel Core H 10-го поколения Компания Lenovo анонсировала выпуск ноутбуков Legion, адресованных любителям игр. В этих компьютерах будут использоваться новейшие видеокарты Nvidia GeForce RTX 2080 Super, технология Max-Q Design и мобильные процессоры Intel Core H 10-го поколения (Comet Lake-H). Точн...

Samsung разработала компьютеризированный маркер Буквально недавно представители южнокорейского гиганта Samsung рассказали о уникальных разработках, которые компания планирует продемонстрировать в рамках ежегодной технологической выставки CES 2020, которая начнется уже на следующей недели. Так, среди прочих устройств Samsu...

oVirt за 2 часа. Часть 3. Дополнительные настройки В этой статье мы рассмотрим ряд необязательных, но полезных настроек: использование дополнительных имен для менеджера; подключение аутентификации через Active Directory; Mutlipathing; управление питанием; замена SSL сертификата; архивация; менеджмент-интерфейс хостов (cockp...

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

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

Panasonic представил на CES 2020 VR-очки с поддержкой HDR и UHD Корпорация Panasonic представила первые в мире очки виртуальной реальности, поддерживающие изображение сверхвысокой четкости и High Dynamic Range (HDR). Гаджет, внешне напоминающий олдскульные «гогглы», так же прост и удобен в использовании, как обычные солнечные очки. Премь...

Тестирование в Kotlin при помощи Spock Цель статьи заключается в том, чтобы показать какие возникают трудности при использовании Spock с Kotlin, какие есть пути их разрешения и ответить на вопрос, стоит ли использовать Spock, если вы разрабатываете на Kotlin. Подробности под катом. Читать дальше →

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

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

[Из песочницы] Стилизация флажков и переключателей с использованием CSS3 При создании CSS стилей для HTML форм, разработчики часто сталкиваются с невозможностью непосредственно менять внешний вид элементов флажков (checkboxes) и переключателей (radio buttons). Рассмотрим как можно обойти это ограничение при помощи инструментария CSS3 и без исполь...

Samsung анонсировала «искусственного человека» Недавно Samsung опубликовала серию изображений, намекающих на выход некоего нового продукта. Он получит название Neon и должен быть связан с технологиями искусственного интеллекта. Все подробности о проекте компания пообещала рассказать на выставке CES 2020. А сейчас продолж...

Microsoft назвала телевизоры LG лучшими для HDR-игр на Xbox Series X LG и Microsoft заключили эксклюзивное соглашение, чтобы вместе предложить владельцам Xbox Series X и новых телевизоров LG игры в разрешении 4K при частоте 120 кадров секунду с расширенным динамическим диапазоном (HDR). OLED-телевизоры LG Series X поддерживают Dolby Visi...

Анонс Realme Buds Q и Buds Air Neo, Realme Power Bank 2 и Realme TV Realme продолжает расширять портфолио устройств под своим брендом. Сегодня она сделала сюрприз своим поклонникам, представив несколько новинок. Претендуют на роль хита продаж полностью беспроводные наушники Realme Buds Q и Buds Air Neo. Поставляются они со специальным кейсом...

[Перевод] C++ vtables. Часть 2 (Virtual Inheritance + Compiler-Generated Code) Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Интересно развиваться в данном направлении? Смотрите запись мастер-класса «Практика использования Google Test Framework»! Часть 3 — Виртуальное наследование В первой и второй части этой статьи мы г...

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

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

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

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

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

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

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

Преимущества ЦМК шин KAMA PRO Надежность, износостойкость, топливная экономичность, повышенная ходимость — вот лишь некоторые преимущества цельнометаллокордных (ЦМК) шин в сравнении с грузовыми комбинированными. Экономическая эффективность их использования в сравнении с «традиционными» стала еще более оч...

[Перевод] Радужные раскраски — лучшие друзья математиков Недавно радужные раскраски помогли провести новое доказательство. И они уже не в первый раз оказываются полезными. Your browser does not support HTML5 video. Цветовое кодирование латинского квадрата и его графа может многое о них рассказать Недавно мы рассказывали о новом ...

[Из песочницы] Использование QubesOS для работы с Windows 7 На Хабре не так много статей, посвященных операционной системе Qubes, а те, что я видел мало описывают опыт применения. Под катом надеюсь это исправить на примере использования Qubes в качестве средства защиты (от) среды Windows и, попутно, оценить количество русскоговорящих...

Pinebook Pro: уже не Chromebook Иногда создается впечатление, что Chromebook'и в основном покупают для того, что бы поставить на них Linux. Навскидку статьи на хабре: одная, вторая, третья, четвертая, ... Поэтому компания PINE Microsystems Inc. и сообщество PINE64 решили, что рынку помимо Chromebook-полуфа...

Team Group представила два накопителя с новейшим модулем охлаждения Team Group анонсировала два новых твердотельных накопителя, получивших название под T-Force Cardea Zero Z330 и Z340. Подробнее об этом читайте на THG.ru.

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

И снова про embedded: ищем баги в проекте Embox Embox – это кросс-платформенная мультизадачная операционная система реального времени для встраиваемых систем. Она рассчитана на работу в условиях невысоких вычислительных ресурсов и позволяет запускать Linux-приложения на микроконтроллерах без использования самого Linux. К...

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

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

Samsung представила телевизоры MicroLED для дома и флагманский Samsung Q950TS QLED 8K Samsung представляет модульные телевизоры MicroLED для домашнего использования, в линейку вошли модели с дисплеями диагональю от 75 дюймов, которые подходят для самых разных домов и интерьеров. Новые 88- и 150-дюймовые MicroLED-телевизоры практически не имеют рамок...

Зональное хранение данных Недавно компания Western Digital объявила об инициативе по зональному хранению данных — инициативе, ориентированной на открытую инфраструктуру данных, предназначенную для использования преимуществ зональных устройств хранения данных. Zoned Storage — это новая парадигма хра...

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

[Из песочницы] STM32 + CMSIS + STM32CubeIDE Здесь я расскажу как создать минимальный проект на CMSIS с использованием «родной» IDE для микроконтроллеров STM – STM32CubeIDE. Возможно STM32CubeIDE и обладает рядом недостатков, но у нее, на мой взгляд, есть несколько преимуществ – таких как проприетарность и бесплатнос...

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

Предвзятый и субъективный взгляд на резюме разработчика Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет. В этой статье мы поговорим о том, как разработчики создают резюме. Я расскажу о том, что меня, как интервьюера, мотивировало и вооду...

Использование Graylog и NLog для сбора логов от приложений на C#. Личный опыт КДПВ Хабр, приветствую! Описанное ниже ни в коем случае не tutorial или best practice. Я решил всего лишь агрегировать и задокументировать свои достижения в поставленном вопросе. Надеюсь, содержимое данной статьи позволит ищущим информацию по логированию почерпнуть что-т...

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

Разрабатываем чат на React с использованием Socket.IO Доброго времени суток, друзья! Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO». Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и ч...

Недорогие «профессиональные» AirPods задержатся Несколько дней назад в Сети появилась информация о том, что Apple позже в этом году выпустит наушники AirPods Pro Lite. Никаких подробностей о них не было, но название намекало на то, что эта модель будет дешевле текущих AirPods Pro. Правда, использование слова lite в ...

[Перевод] Автоматизируем установку WordPress с NGINX Unit и Ubuntu Есть множество материалов по установке WordPress, поиск в Google по ключевым словам "WordPress install" выдаст порядка полумиллиона результатов. Но тем не менее фактически среди них весьма мало годных руководств, по которым можно установить и настроить WordPress и...

5G-модули IoT Fibocom были задействованы в передаче данных в китайской 5G-сети Компания Fibocom (код акций: 300638), ведущий разработчик встраиваемых беспроводных модулей сотовой связи для Интернета вещей (IoT), сообщила, что ее 5G-модули FG150 и FM150 позволили осуществить первый сеанс комплексной передачи данных в рамках автономной(Standalone) сети 5...

[Из песочницы] Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство Введение Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО. Следует отметить, что существует определенная проблема, связанная с невозм...

Скрытая активация камеры браузерами: Большой Брат или технологический просчёт? Всем привет! Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы". Но данный пост будет не обо мне. Он будет историей о подозрительной (с точки зрения приватности в контексте мобильных телефонов) ситуации, с...

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

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

[recovery mode] Включаем поддержку NVMe на старых материнках на примере Asus P9X79 WS Привет Хабр! В голову мне закралась мысль, и я ее думаю. И придумал. Все дело в жуткой несправедливости производителя, которому абсолютно ничего не стоило добавить модули в UEFI Bios для поддержки загрузки с NVMe через переходники на материнках без слота m.2 (что, к стати, б...

WebRTC на Android: как включить аппаратное кодирование на множестве устройств Для видеозвонков в Badoo мы используем стандарт WebRTC и кодек H.264. Если верить документации, этот кодек должен без проблем работать на любых устройствах Android начиная с Android 5.0. Но на практике всё оказалось не совсем так. В этой статье я расскажу про особенности реа...

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

Canon представила обновление прошивки видеокамеры XF705 Компания Canon Europe анонсировала бесплатное обновление прошивки видеокамеры XF705. Оно добавит дополнительные функции записи XF-AVC и MP4 и поддержку HDR при съемках на XF705 с высокой частотой кадров. Это обеспечит более совершенную технологию, простоту использования вид...

Микрофронтенды: разделяй и властвуй Всем привет! Меня зовут Аня, я фронтенд-разработчик в Delivery Club. Хочу рассказать про использование микрофронтендов. Поговорим о том, что же это за зверь такой — микрофронтенд, почему мы решили использовать этот подход в своих проектах и с какими проблемами столкнулись ...

Анонсирован флагманский камерофон Vivo X30 Сегодня на китайском рынке был представлен флагман Vivo X30. Напомним, что одной из самых главных отличительных черт, стала камера данного аппарата. Это основная квадрокамера модулями на 64, 32, 8 Мп и перископная камера разрешением 13 Мп. Также у смартфона появился режим...

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

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

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

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

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

Network automation. Случай из жизни Привет, Хабр! В данной статье мы бы хотели поговорить про автоматизацию сетевой инфраструктуры. Будет представлена рабочая схема сети, которая функционирует в одной маленькой, но очень гордой компании. Все совпадения с реальным сетевым оборудованием являются случайными. Мы ...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

Флагман Sony Xperia 5 Plus на официальных изображениях На сайте Slashleaks опубликовали первые официальные изображения нового флагманского смартфона Sony Xperia 5 Plus, который должен быть представлен на выставке Mobile World Congress в конце февраля. Смартфон Sony Xperia 5 Plus получит экран CinemaWide диагональю 6,6 дюйма...

[Перевод] Знакомимся с методом обратного распространения ошибки Всем привет! Новогодние праздники подошли к концу, а это значит, что мы вновь готовы делиться с вами полезным материалом. Перевод данной статьи подготовлен в преддверии запуска нового потока по курсу «Алгоритмы для разработчиков». Поехали! Метод обратного распространени...

[Перевод] Рецепты по приготовлению оффлайн-приложений Доброго времени суток, друзья! Представляю вашему вниманию перевод замечательной статьи Джейка Арчибальда «Offline Cookbook», посвященной различным вариантам использования сервис-воркера (ServiceWorker API, далее по тексту — просто воркер) и интерфейса кэширования (Cache ...

Можете написать Deadlock на Camunda BPM? А я могу Некоторое время назад я писал про успешную миграцию с IBM BPM на Camunda, и теперь наша жизнь полна счастья и приятных впечатлений. Camunda не разочаровала, и мы продолжаем дружбу с этим BPM-движком. Но, увы, Camunda может преподносить и неприятные сюрпризы, из-за которых ...

Java-дайджест за 27 декабря Рон Пресслер собрал и выложил новый «официальный» прототип Project Loom (файберы для Java). В качестве основы используется JDK 14. Скачать можно здесь, прочитать анонc можно здесь. Люди потихоньку начинают втягиваться в тему, и на GitHub уже лежит несколько проектов, испол...

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

Grafana+Zabbix: Визуализация работы производственной линии В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной ...

Xamarin.Forms. Личный опыт использования В статье речь пойдет о Xamarin.Forms на примере живого проекта. Кратко поговорим о том, что такое Xamarin.Forms, сравним с похожей технологией WPF, увидим, как достигается кроссплатформенность. Также разберём узкие места, с которыми мы столкнулись в процессе разработки, и до...

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

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

Ноутбук Samsung Galaxy Chromebook появился в продаже Компания Samsung дала старт продажам ноутбука Galaxy Chromebook, который был представлен на выставке CES 2020. Новинка характеризуется корпусом из алюминиевого сплава толщиной 9,9 мм и массой 1,04 кг, 13,3-дюймовым AMOLED-дисплеем, который можно открыть и закрыть на 360 град...

Флагман Motorola с «бесконечной гранью» впервые показали вживую В Сети появилась первая реальная фотография флагманского смартфона Motorola Edge+, который получил изогнутый по бокам экран под маркетинговым названием Endless Edge, которое можно перевести как «бесконечная грань». Дисплей характеризуется диагональю 6,7 дюйм...

Учим AI Dungeon говорить по-русски Недавно ребята из сбер(-банка) анонсировали и выложили в свободный доступ свою модель gpt-3 и я понял, что можно наконец то реализовать свою давнюю мечту - сделать AI dungeon для русского языка. Данная игра сильно выстрелила в прошлом году, про нее было написано множество ст...

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

[Перевод] Как сократить время сборки образов Docker в GitLab CI Современный цикл разработки программного обеспечения зачастую подразумевает, что ваши приложения регулярно упаковываются в контейнеры. Эта задача может занимать много времени, чем может значительно замедлять ваше тестирование или развертывание. Проблема становится особенно о...

IP-телефония. Виды VoIP устройств, обзор плюсов-минусов. Что выбрать? По данным исследований DISCOVERY Research Group среднегодовой темп роста IP-телефонии в России составляет 30%. Предположительно рынок IP-телефонии в России к 2021 году вырастет до 14,2 млрд. Как видите, рост довольно серьезный. С развитием услуг IP-телефонии растет и рынок V...

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

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

5 способов провалить внедрение DDD Спустя годы после выхода "Domain-Driven Design", идеи Эванса вошли мейнстрим. Разработка через моделирование должна была уменьшить неопределенность, позволить разрабатывать ПО за меньшее число итераций. Должна была, но ничего не вышло. На собеседованиях и митапах я...

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

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

Новейшую комплексную линейку продуктов 5G RAN представила ZTE Компания ZTE Corporation (0763.HK/000063.SZ), крупный международный поставщик телекоммуникационных, корпоративных и потребительских технологий для мобильного Интернета, представила решение «SuperDSS» с поддержкой динамического распределения спектра по модели «...

Хороший ли выбор Svelte для реализации виджета? Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его д...

[Перевод] Дешёвый подлый трюк, подаривший цветную графику первым домашним компьютерам Пионер видеоигр Алан Элкорн рассказывает о том, как показал Стиву Возняку хак, позволивший компьютеру Apple II работать с цветами, и откуда взялся знаменитый звук «блип» в игре Pong Домашняя консоль Atari Pong, поступившая в продажу в магазины The Sears под брендом Tele-Gam...

Motorola представила флагманский смартфон Edge+, получивший безрамочный экран, большую батарею и очень мощную камеру Новинка оснащена заходящим на боковые грани 6,7-дюймовым OLED-дисплеем разрешением 2520 x 1080 пикселей с соотношением сторон 21:9, повышенной частотой обновления картинки в 90 Гц и поддержкой расширенного динамического диапазона HDR10.

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

Postgres: bloat, pg_repack и deferred constraints Эффект раздувания таблиц и индексов (bloat) широко известен и присутствует не только в Postgres. Есть способы борьбы с ним “из коробки” вроде VACUUM FULL или CLUSTER, но они блокируют таблицы во время работы и поэтому не всегда могут быть использованы. В статье будет немн...

Представлена серия 8K-телевизоров Skyworth Q71 Компания Skyworth официально представила новую линейку смарт-телевизоров Q71 8K, предлагающую множество интересных особенностей.Представители новой линейки оснащены 10-битной 8K-панелью, способной отображать 1.07 млрд цветов. Экран характеризуется 90-процентным охватом цвето...

MSI Optix G241: монитор для киберспорта с частотой обновления 144 Гц В ассортименте MSI появился монитор Optix G241, спроектированный для использования в составе настольных систем игрового класса. В основе панели — матрица IPS размером 23,8 дюйма по диагонали. Разрешение составляет 1920 × 1080 пикселей, что соответствует формату Full HD. Углы...

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

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

Монитор Lenovo G27c имеет кадровую частоту 165 Гц Компания Lenovo представила игровой монитор G27c, который может похвастаться вогнутой 27-дюймовой VA-панелью с радиусом кривизны 1500R и безрамочным дизайном. Новинка характеризуется разрешением 1920:1080 пикселей, углами обзора по горизонтали и вертикали до 178 градусов, вр...

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

[Из песочницы] Реализация скелетной анимации для трёхмерных моделей Здравствуйте! В данный момент на Хабре существует большое количество статей, посвящённых компьютерной графике и реализации различных эффектов, однако текстов на тему реализации скелетной анимации (особенно "с нуля") достаточно немного. Постараюсь восполнить этот пр...

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

Новое фото с камеры смартфона Honor 30S В сети появилась новая фотография, сделанная на основную камеру смартфона Honor 30S, который будет представлен уже сегодня. Данный снимок, очевидно, был сделан на модуль, предназначенный для макрофотографии. Что до главного модуля, то он будет оснащаться датчиком изображения...

Список игр с поддержкой технологии AMD FidelityFX Super Resolution, которая позволит значительно поднять кадровую частоту в играх на старых адаптерах Совсем недавно AMD наконец-то анонсировала очень полезную технологию FidelityFX Super Resolution, которая позволит поднять кадровую частоту в играх на старых видеокартах. Старший вице-президент подразделения AMD Radeon Technologies Group Скотт Херкельман (Scott Herkelma...

Михаил Салосин. Golang Meetup. Использование Go в бэкенде приложения «Смотри+ Михаил Салосин (далее – МС): – Всем привет! Меня зовут Михаил. Я работаю бэкенд-разработчиком в компании MC2 Software, и я расскажу об использовании Go в бэкенде мобильного приложения «Смотри+». Кто-нибудь из присутствующих любит хоккей? Тогда это приложение для вас. О...

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

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

Huawei представила умные часы Watch 4X с NFC и двумя камерами Компания Huawei официально анонсировала новые умные часы для детей, которые получили название Huawei 4X, а также сразу две камеры, что является одной из ключевых особенностей устройства. Фронтальная камера, которая используется для видеозвонков, имеет разрешение 5 Мп, а...

Huawei готовит анонс улучшенной версии собственного гибкого смартфона Mate X Буквально недавно Huawei анонсировала собственное мероприятие, которое состоится 23 февраля, а уже сейчас в сети появилась информация о том, что же нас ждет в рамках грядущей презентации.

Гигант Samsung Galaxy M51 с аккумулятором ёмкостью 7000 мА•ч рассекречен Продолжают появляться подробности о смартфоне Samsung Galaxy M51, в котором, как ожидается, будет установлен аккумулятор ёмкостью 7000 мА•ч. Источник утверждает, что Samsung Galaxy M51 будет поставляться в версиях с 6 ГБ и 8 ГБ оперативной памяти. Ожидается, что об...

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

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

Huawei выпустила беспроводную зарядную станцию мощностью 40 Вт В ассортименте компании Huawei появилась новая беспроводная зарядная станция мощностью 40 Вт.Новая зарядная станция получила название Huawei Super Fast Charge. Стоимость устройства составит около $30.Девайс получил сертификат TUV Rheinland по безопасной быстрой зарядке. Обещ...

Samsung Galaxy Chromebook выходит 6 апреля по цене 999 долларов Компания Samsung официально подтвердила, что тонкий дизайнерский ноутбук с экраном OLED, который получил название Samsung Galaxy Chromebook, поступит в продажу 6 апреля по цене 999 долларов. Samsung Galaxy Chromebook позволяет открывать и закрывать экран на 360 градусов...

[Перевод] Способы использования Math.random() в JavaScript Math.random() — это один из API JavaScript. Это — функция, которая возвращает случайные числа. Диапазон возвращаемых чисел представлен значениями от 0 (включая 0, то есть, она может вернуть 0) до 1 (не включая 1, то есть — единицу она вернуть не может). Math.random(); // во...

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

OnePlus покажет на CES 2020 устройство OnePlus Concept One Consumer Electronics Show станет первой крупной выставкой электроники в 2020 году. Громких анонсов там ждать не стоит — они чаще происходят во время Mobile World Congress в феврале, а вот интересных — вполне. Так, компания OnePlus сперва просто анонсировала специальное меро...

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

Consul + iptables = :3 В 2010 году у компании Wargaming было 50 серверов и простая сетевая модель: бэкенд, фронтенд и файрвол. Количество серверов росло, модель усложнялась: стейджинги, изолированные VLAN с ACL, потом VPN с VRF, VLAN c ACL на L2, VRF с ACL на L3. Закружилась голова? Дальше будет в...

Друпал-дайджест — 2019/декабрь [#33] Друпал-дайджест за декабрь 2019 года: вышедшие версии, изменения внесённые в ядро разрабатываемых веток, статьи, модули, темы и статистика использования Drupal. Дайджест не включает статьи на английском языке, которые публикуются в Drupal Planet и The Weekly Drop. Читать д...

«Бюджетный» флагман OnePlus Z всё же может получить процессор Snapdragon Согласно новым данным, в готовящемся к выпуску смартфоне OnePlus Z производитель использует процессор Qualcomm Snapdragon, а не MediaTek Dimensity 1000, как сообщалось ранее. Информация была опубликована пользователем Twitter, скрывающимся под ником @MaxJmb. Именно он ранее ...

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

В приложении Facebook появился тихий режим Facebook добавил в мобильное приложение соцсети тихий режим (Quiet Mode), который позволяет приостановить «большинство» push-оповещений. Новая настройка добавлена на панель «Your Time on Facebook», которая была запущена в ноябре 2018 года в рамках общеотраслевой инициативы, ...

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

[Перевод] Использование Grid для макетов страниц, а Flexbox — для макетов компонентов Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ...

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

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

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

[Из песочницы] Вступление в работу с возвратом пользователя: советы для Hooked-модели Всем привет! Я — Сергей, R&D officer в Genesis. В этом тексте хочу поделиться своими знаниями и опытом по созданию привычки использования продукта, рассказать о том, как это влияет на прибыльность бизнеса и почему предпринимателей встречают по возврату. Читать дальше &...

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

Монитор EIZO Foris Nova вышел за пределы Японии Компания EIZO выпустила в Китае 4K OLED-монитор Foris Nova, выполненный методом печати. Данный экран был представлен еще в прошлом октябре и продавался только в Японии. Новинка характеризуется 21,6-дюймовой панелью, каркасом из алюминиевого сплава, контрастностью 1 000 000:1...

[Перевод] Ещё пять идей, как прокачать свое мастерство разработчика (декабрь 2019) Цель публикации — подкуинуть несколько идей, что можно повторить, чтобы повысить свое мастерство front-end разработчика. Это просто идеи, без исходников и туториалов, что немного усложняет задачу, но прививает более самостоятельный подход к обучению. Предыдущий полный списо...

Складной смартфон Escobar Fold 2 оказался клоном Samsung Galaxy Fold В прошлом году, в декабре, почти через 26 лет после смерти наркобарона Пабло Эскобара, был представлен самый дешевый складной смартфон под названием Pablo Escobar Fold 1, стартовая цена которого составила 349 долларов.Теперь компания, вдохновленная Пабло Эскобаром, выпустила...

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

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

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

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

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

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

Игровой Nubia Red Magic 5G получит Snapdragon 865 и тройную камеру В этом году мы увидим немало флагманов с Snapdragon 865 на борту. Положила «глаз» на этот топовый чип и компания Nubia, которая вот уже пару лет в числе тех, кто развивает нишу игровых смартфонов. А в этом году она еще и решила совместить игровые возможности моби...

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

Как я искал нормальный RDP-клиент и нашел целых три Remote Desktop Protocol — один из самых распространенных протоколов для удаленного управления, потому что он используется для работы с операционными системами Windows, которые часто незаменимы в корпоративной среде. Естественно, самый распространенный способ подключения к ...

В TENAA появился неизвестный смартфон Huawei В базе данных китайского регулятора TENAA появились загадочные телефоны Huawei с номерами моделей MED-AL00 / TL00 и MOA-AL00 / TL00 с идентичными характеристиками.В данный момент известно, что смартфоны оснащаются 6.3-дюймовыми дисплеями, габаритами 159.07 х 74.06 х 9.04 мм,...

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

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

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

Catchain: алгоритм консенсуса блокчейна TON В предыдущем обзоре наша команда R&D рассказала о структуре Telegram Open Network и особенностях функционирования ключевых узлов (валидаторов) TON Blockchain, а также поделилась опытом Mercuryo, как валидатора сети. Эта статья посвящена одному из ключевых вопросов, отве...

[Из песочницы] Ещё раз про аппаратные ключи GPG за копейки В февралe 2020 года на Хабре появилась увлекательная статья про преобразованию программатора ST-Link v2 в аппаратный ключ шифрования. Уже тогда в комментариях появились жалобы на то, что результат не удаётся повторить, но они остались без ответа. За прошедшее время до меня ...

Слухи: смартфон Huawei Nova 7 SE получит чип Kirin 820 и камеру на 64 Мп Несколько дней назад стало известно о том, что китайская компания Huawei готовит к запуску новые смартфоны серии Nova. Помимо моделей Nova 7 и Nova 7 Pro, производитель выпустит аппарат Nova 7 SE, предполагаемые характеристики которого были опубликованы в Сети. По сообщениям...

TV Box или Smart TV? Приветствую вас, хабровчане! Накануне выходных и в связи с наступлением серых, осенних будней – мы поговорим про увеселительные гаджеты. Речь пойдёт о том, что же лучше – TV Box или Smart TV? Для кого-то ответ очевиден, а кто-то только подумывает – какой же выбрать TV Box...

[Из песочницы] Зачем нужен eSIM. Как это работает и почему об этом так много говорят Мы стоим, как обычно, на пороге очередной технологической революции (я уже запутался какой там номер...). IoT или Интернет вещей принесет новые бизнес модели, новые сценарии использования и приведет к очередному переделу всего рынка телекома. Как и в любом деле существует ку...

Первый OLED-телевизор Xiaomi получил поддержку Dolby Vision На данный момент даже самые последние модели телевизоров Xiaomi не поддерживают расширенный динамический диапазон Dolby Vision. Взять, к примеру, флагманскую модель Xiaomi Mi TV 5 Pro, которая поддерживает HDR 10+. Однако свежий пост в социальной сети Weib официального ...

AOC анонсировала 240 герцовый монитор 24G2ZE AOC представила несколько игровых мониторов разного бюджета. Рассмотрим один из вариантов. Монитор AOC 24G2ZE представляет 24 дюймовый экран с TN матрицей. Разрешение монитора 1920 на 1080 пикселей, частота обновления составляет 240 Гц, а время отклика 0,5 мс. Максимальная я...

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

[Из песочницы] List Comprehension vs Map Привет, Хабр. Часто при работе с последовательностями встает вопрос об их создании. Вроде бы привык использовать списковые включения (List Comprehension), а в книжках кричат об обязательном использовании встроенной функции map. В этой статье мы рассмотрим эти подходы к раб...

Флагманский камерофон Motorola уступил двухлетнему iPhone 7 Plus Motorola One Zoom, который позиционируется как флагманский камерофон компании, был выпущен в сентябре, но только сейчас лfборатория DxOMark опубликовала соответствующий тест его фото- и видеовозможностей. По итогам тестирования Motorola One Zoom получил всего 87 баллов,...

VVVVVV??? VVVVVV!!! :) Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо увидели в нём название знакомой компьютерной игры. VVVVVV – это инди-игра в жанре «платформер», завоевавшая сердца многих игроков своей приятной внешней простотой и не менее при...

[Перевод] Переход с reCAPTCHA на hCaptcha в Cloudflare Компания Cloudflare сообщила о том, что она недавно перешла с использования сервиса reCAPTCHA, предоставляемого Google, на сервис hCaptcha, который поддерживает компания Intuition Machines. В Cloudflare очень рады тому, что им удалось совершить этот переход, так как он спо...

База данных на SharedPreferences — Android Kotlin Для хранения большого количества информации в Android используется DataBase (SQLite, FireBase и т. п.), а для простого хранения настроек SharedPreferences. Вопрос, можно ли использовать SharedPreferences как своего рода Базу Данных и как это сделать? Статья написана об учеб...

Вейвлет деревья Succinct data structures свежее веяние в алгоритмистике. В русскоязычной школе материала мало, нет даже устоявшегося перевода. Будем восполнять этот пробел. На правах первопроходцев терминологию будем вводить налету. Пусть, скажем, компактные структуры данных. На Хабре уже п...

xAPI и IMS Caliper. Или ADL против IMS? Появление xAPI (ADL) не было неожиданным событием. Очень продолжительное время велись обсуждения TinCan'а, огромное количество открытых форумов «кипели» при обсуждении новой спецификации. И только после достаточного обсуждения, ADL выпустила релиз спецификации. Затем, уже ...

Приглашаем на Robot Operating System MeetUp Лаборатория робототехники Сбербанка и российское ROS-сообщество при поддержке Intel приглашают на очередной, третий MeetUp по Robot Operating System, который состоится в субботу, 18 апреля. И пусть по всем очевидным причинам мероприятие на этот раз пройдет в онлайн формате, ...

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

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

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

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

Экспорт услуг в сфере ИКТ Как указано в отчете Института статистических исследований и экономики знаний (ИСИЭЗ) НИУ ВШЭ, посвященном объему, динамике и структуре экспорта услуг, связанных с ИКТ, по сравнению с 2010 г. их объем вырос вдвое (в целом по услугам - в 1,4 раза). Даже в период самого значи...

20 упражнений динамической растяжки для приятного разогрева Лёгкая тренировка на 5–10 минут снимет напряжение и увеличит гибкость.

Анонсирован выпуск PhysX SDK 5.0 Компания Nvidia анонсировала выпуск новой версии кроссплатформенного программного инструмента для моделирования физических эффектов в компьютерной графике — PhysX SDK 5.0. Первым среди новшеств, реализованных в новой версии PhysX, производитель упоминает поддержк...

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

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

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