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

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

[Перевод] Как устроено автоматическое удаление мёртвого кода в Meta* В фреймворке Systematic Code and Asset Removal Framework (SCARF) компании Meta* есть подсистема выявления и удаления мёртвого кода. SCARF использует статический и динамический анализ программ для выявления кода, мёртвого с точки зрения как бизнеса, так и языков программиро...

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

Настройка протокола OSPF на оборудовании Cisco и HUAWEI В прошлой статье мы рассмотрели основные моменты настройки сетевого оборудования HUAWEI и остановились на статической маршрутизации. В сегодняшнем топике речь пойдёт о динамической маршрутизации по протоколу OSPF совместно с маршрутизаторами Cisco. Добро пожаловать под кат. ...

Представлен универсальный процессор X-Silicon CPU/GPU, ядро которого может выполнять любые задачи Компания X-Silicon представила открытую архитектуру C-GPU, которая сочетает процессорное ядро RISC-V с векторными возможностями и ускорения GPU в одном чипе.  создано DALL-E Платформа C-GPU X-Silicon нацелена на такие сегменты, как автомобильный рынок и рынок встр...

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

Как провести фаззинг REST API с помощью RESTler Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. Современная разработка программного обеспечения требует не только функционального, но и безопасного API. Сегодня мы расскажем, как провести фаз...

Timeweb Cloud CLI. Часть 1: S3 Салют! Не так давно компания Timeweb Cloud выпустила новую версию своего CLI (twc), который позволяет легко и удобно управлять всеми предоставляемыми ресурсами облачной платформы. В этой серии статей рассмотрим основные сценарии применения этого инструмента. В данном мате...

Современный С++ в разработке девайсов Привет, Хабр.Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных ...

Как настроить библиотеку SFML C++ в Visual Studio 2022 статическая компоновка В этой статье рассказывается, как настроить ваши проекты SFML С++ со статической компоновкой используя интегрированную среду разработки программного обеспечения Visual Studio.Установка SFML библиотекиЗагрузите библиотеку SFML c официального сайта. Выбираем самую последнюю ве...

Динамическая функция для генерации excel файла на Golang Привет! В данной статье рассматривается проблема генерации excel файла и возможности реализовать динамическую генерацию excel файла с использованием интерфейса. Читать далее

[recovery mode] Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы Существует несколько причин, почему стоит учить C# в 2024 году через бесплатные курсы:1. Популярность: C# является одним из самых популярных языков программирования, особенно в сфере разработки приложений для платформы Microsoft. Изучение C# открывает двери для работы над ши...

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

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

gRPC Привет, Хабровчане!Для тех, кто не в курсе, gRPC - это открытый фреймворк от Google, который был представлен миру в 2016 году. Основываясь на протоколе HTTP/2, gRPC использует Protocol Buffers в качестве языка описания интерфейса. Основная идея gRPC заключается в создании ун...

Создание базового образа с Packer Packer – это инструмент для создания однородных образов виртуальных машин и контейнеров для использования на различных платформах от HashiCorp. C ним можно легко автоматизировать процесс сборки образов на основе одного исходного конф. файла, используя предопределённые шаблон...

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

Без денег, репликации и кеша: ограничиваем нагрузку на сервисы, используя подходы из TCP При росте нагрузки одна из частей системы может подтормаживать. Часто уязвимым местом оказывается база данных. Так произошло и в нашем случае.Я работаю в Mindbox в команде, которая отвечает за выдачу товарных рекомендаций. Наша база периодически деградировала, заливать ее де...

Парсинг веб-сайтов: взгляд изнутри Статья о парсинге веб-сайтов освещает следующие аспекты:• Понятия парсинга и скрапинга; • Законность и этика парсинга; • Парсинг с использованием requests и BeautifulSoup; • Статические страницы; • Динамические страницы; • Работа с API; • Защита от парсеров; • Способы обхода...

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

Продюсеры и консьюмеры с Apache Kafka в Python Салют, Хабр!Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную...

Статический анализ мультиязычности Angular приложения c помощью ngx-translate-lint Не так давно мне довелось решить интересную задачу, направленную на снижение риска того, что разработчик забудет о мультиязычности приложения и это станет причиной заведения нежеланных багов в будущем. Изначально я искал решение проблемы на Хабре, но, увы, не нашел. Поэтому ...

C3D Collision Detection: представление детектора столкновений в составе C3D Toolkit Сергей Белёв, старший математик‑программист, C3D Labs, знакомит с новым компонентом C3D Toolkit — модулем C3D Collision Detection, рассказывает о том, что детектор столкновений представляет собой изнутри, и о том, какие возможности он предоставляет п...

[Перевод] Как я уменьшил размер образа docker на 40% Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл-скрипт...

PVS-Studio в 2023 За окном январь 2024 года, а это значит, пора подвести итоги за 2023 год! В этой статье мы не только рассмотрим всё новое, что появилось за 2023 год, но и освежим память по основным функциональным возможностям статического анализатора PVS-Studio. Читать дальше →

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

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

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

[Перевод] Разработка SQL Expert Bot: подробный гайд по использованию Vercel AI SDK и API OpenAI OpenAI заложила фундамент для революции в сфере искусственного интеллекта с появлением ChatGPT, открывая новую эру в области AI, которую активно используют как отдельные люди, так и бизнес‑сообщества. OpenAI даже предоставила API для разработки ...

Protestware: найти и обезвредить Protestware: найти и обезвредить Привет, Хабр! Меня зовут Владимир Исабеков, я работаю в Swordfish Security, где занимаюсь динамическим анализом приложений. Сегодня мы поговорим о таком явлении, как Protestware, когда вредоносный код встраивается в открытые программные компо...

Постфиксный калькулятор на Haskell Можно ли внедрить в Haskell постфиксный калькулятор?begin push 1 push 2 add endbegin push 1 push 2 push 3 add mul endНа первый взгляд такой код на Haskell не может работать. Функция begin должна иметь произвольное количество аргументов, а Haskell является языком со статическ...

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

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

Статический сайт на AWS с редиректом http→https, www.site→site ЗадачаЕсть AWS аккаунт, на котором требуется поднять статический сайт (html, js, css, png, jpg) на своём домене example.com.Ссылки: http://example.com, http://www.example.com, https://www.example.com должны перенаправлять на основной сайт https://example.com.План действийПок...

Основы работы с хранилищами в Kubernetes Привет, Хабр! В Kubernetes принято разделение хранилищ на два основных типа: постоянные и временные. Постоянные хранилища (PV) представляют собой сегменты дискового пространства, которые могут быть подключены к подам и сохранять данные даже после перезапуска или удаления кон...

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

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

Apache Flink: динамическое определение выходного топика в Kafka Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей статье — «Apac...

NLUX: Библиотека интерфейса Conversational AI В современном мире взаимодействие с компьютерами и приложениями становится все более естественным и удобным благодаря использованию разговорных интерфейсов и искусственного интеллекта. Однако, интеграция таких функциональностей в веб-приложения может стать вызовом для разраб...

Обзор языка Erlang и его синтаксиса Привет, Хабр! История Erlang 80-х годах прошлого века в стенах шведской компании Ericsson. Он был разработан первоначально для нужд телекоммуникаций, Erlang задумывался как инструмент для создания распределенных, отказоустойчивых систем с возможностью быстрого обновления код...

Кодогенерация и парсинг TypeScript с помощью typescript Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация...

Redux vs Mobx кого же выбрать для React-приложения в 2024 году? Привет, Хабр!Сегодня я хочу поделиться с вами своими размышлениями о том, какой стейт менеджер лучше использовать для разработки приложений на React в 2024 году. Как вы знаете, React — это одна из самых популярных и мощных библиотек дл...

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

Детектирование атак на контейнеры с помощью eBPF Привет, Хабр!Меня зовут Илья Зимин, я аналитик-исследователь угроз в компании R-Vision. Сегодня в статье я расскажу о возможностях обнаружения атак на контейнеризированные приложения с помощью такого инструмента, как eBPF, на примере приемов, связанных с побегом из Docker-ко...

Часы на языке "JS" имитирующие физику и гравитацию Реализовал давнюю идею написать часы с динамическими подвижными элементами. Получилось, даже что-то метафорическое. Смотришь на падающее время, жалеешь о том, что потерянное время не вернуть. О том как быстро идет время.

Клонирование голоса из музыки, удаление движимого текста из видео и новые фишки во второй части обновления Wunjo AI Привет, Хабр! Наконец, после множества бессонных ночей, я завершил работу над второй частью обновления open-source проекта Wunjo AI и воплотил своё видение приложения. В этом обновлении основное внимание уделено звуку: улучшено клонирование голоса, извлечение вокала или мело...

Dependency Injection контейнеры .NET, допускающие полиморфное поведение Иногда случается так, что при разработке приложения на платформе .NET с внедрением зависимостей и сервисами от контейнера требуется поддержка полиморфного поведения. Когда, например, у интерфейса есть несколько реализаций, и их нужно грамотно расфасовать по правильным кон...

Эволюция обработки данных: от MapReduce к стриминговому движку Yandex Query Language (YQL) — универсальный декларативный язык запросов к системам хранения и обработки данных, разработанный в Яндексе. А ещё это один из самых нагруженных сервисов: YQL ежедневно обрабатывает около 800 петабайт данных и 600 000 SQL-запросов, и эти показател...

Шифр Цезаря на Ассемблере Друзья, коллеги, всех приветствую! В этой статье мы напишем шифратор на грязном "макро-чистом" Ассемблере и в качестве элементарного шифра будем использовать Шифр Цезаря (Шифр сдвига с ключом k = n). Статья написана для новичков, которые могут погрузиться в мир "первой" крип...

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

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

Кратко про лидеров рынка Runbook Automation: Ansible, Puppet, и Chef Runbook Automation — это процесс использования специальных программных решений для автоматизации выполнения повторяющихся задач и процедур, которые в традиционных условиях выполняются вручную операторами IT-систем. RBA находит применение в автоматизации широкого спектра опер...

[Перевод] Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения...

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

Где заканчивается Flutter и начинается платформа? Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механиз...

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров Привет, Хабр!Гиперпараметры — это параметры, которые не учатся в процессе обучения модели. Они задаются заранее. От выбора гиперпараметров напрямую зависит качество и эффективность модели, а их оптимизация может улучшить результаты предсказаний.Традиционный подход к оптимиза...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

PostgreSQL и временные таблицы Мы много лет уже используем в качестве основной базы данных PostgreSQL. За это время он зарекомендовал себя быстрой и надежной СУБД. Однако, есть в PostgreSQL одна проблема, с которой приходится сталкиваться достаточно часто. К сожалению, реализация логики временных таблиц в...

Подписываем образы контейнеров с помощью cosign, garantir и skopeo Открытые контейнерные платформы, такие как OpenShift, стали неотъемлемой частью современной разработки и управления приложениями. Они обеспечивают удобство и надежность развертывания приложений в контейнерах, обеспечивая изоляцию, масштабируемость и управление ресурсами. Одн...

Обзор языка Crystal Привет, Хабр!История Crystal начинается в 2011 году, когда команда энтузистов решили создать язык, который бы исправил некоторые из тех ограничений и проблем, с которыми они сталкивались, работая с Ruby. Они мечтали о языке, который бы позволял писать код, легкий для пониман...

[recovery mode] TarantoolScript: статическая типизация в Lua-скриптах Tarantool Если вам когда-нибудь доводилось писать скрипты для Тарантула, то вы наверняка сможете понять мою боль. Тарантул - удивительный инструмент, который позволяет не только хранить относительно большие объёмы данных и обеспечивать поразительно быстрое выполнение операций CRUD над...

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

Шаблонизатор GO text template для новичков Шаблоны - это инструмент программирования, который позволяет создавать структурированный и повторно используемый контент или код. Они имеют много применений в различных областях, включая веб-разработку, генерацию отчетов, форматирование текста и многое другое. В целом, ...

Новые iPad Pro 2024 поддерживают более низкую частоту обновления, а Always-On Display — нет Новые модели iPad Pro оснащены OLED-дисплеями с частотой обновления, которая может снижаться до 10 Гц, но устройствам по-прежнему не хватает функции постоянно включенного дисплея, как у iPhone и Apple Watch. Хотя iPad Pro поддерживает ProMotion с 2017 года, до сих пор п...

Компиляция на этапе выполнения в C++: constexpr, consteval и constinit Сегодня мы поговорим о том, как constexpr, consteval, и constinit позволяют реализовывать компиляцию на этапе выполнения. Компиляция на этапе выполнения позволяет ускорить выполнение кода за счет выполнения расчетов на этапе компиляции, а не в рантайме.constexpr делает воз...

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

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

«Иногда лучше написать велосипед»: как тестировать кластеры Kubernetes с помощью Python Сегодня Kubernetes — это основное средство для оркестрации контейнеров на рынке, поэтому их тестирование занимает особую позицию в перечне задач. Большинство тривиальных тестов можно запустить через команду kubectl, либо фреймворк Sonobuoy для тестирования сертификации верс...

Представлена первая домашняя камера Xiaomi с 8-мегапиксельным датчиком, HyperOS и локальными ИИ-функциями Xiaomi сделала поклонникам новейшее предложение для домашней безопасности — Xiaomi Smart Camera C700. Эта флагманская камера может похвастаться поддержкой разрешением 4K и умной обработкой изображения без подключения к облаку. Xiaomi Smart Camera C700 — это ...

Как работает multiprocessing в Python под капотом Я довольно давно пишу на Python и во многих проектах использовал multiprocessing — пакет стандартной библиотеки языка Python, который предоставляет интерфейс для работы с процессами, очередями, пулами процессов и многими другими удобными инструментами для параллельного прогр...

[Перевод] Kubernetes на AWS: пошаговое руководство В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:— Создание кластера с помощью kops: kops — это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS...

С активным шупоподавлением и ChatGPT: представлены новые наушники Nothing Ear и Ear (a) Британский стартап Nothing Technology представила обновлённые наушники Nothing Ear, а также удешевлённую модель Nothing Ear (a). Nothing также анонсировала интеграцию ChatGPT для новых наушников, позволяющую вызывать чат-бот на смартфонах Nothing с помощью жеста щипка н...

Отправка и обработка HTTP запросов в PostgreSQL Эта статья о том как отправлять и обрабатывать HTTP-запросы непосредственно из/в PostgreSQL. Автор расскажет о том, что такое асинхронное уведомление в PostgreSQL, и наглядно продемонстрирует, как с его помощью можно взаимодействовать с внешними системами из самой СУБД. Чита...

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

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? С момента выхода первой части статьи из рубрики «сам себе экосистема» прошёл уже практически год! За это время, мы успели с вами реализовать клиенты VK и YouTube, которые работают на Android 2.2+, а также на Windows Phone 8, написать небольшую 2D-игру с нуля весом менее 1М...

Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости Всем привет! Снова с вами Юрий Шабалин. Уже много лет я занимаюсь безопасностью мобильных приложений и в своих исследованиях доношу важность этого направления для бизнеса.В одной из прошлых статей я составлял шорт-лист мифов о безопасности мобильных приложений. Один из них б...

Простыми словами про обработку текстовых запросов пользователя в Телеграмм ботах на java Тем, кто так или иначе уже сталкивался с разработкой Telegram-ботов на java, известно, что бот должен уметь отправлять запросы Telegram-серверу и получать от него обновления (updates). В настоящее время существует два способа получения обновлений:- использование LongPolling ...

[recovery mode] Android-приложение на Compose с нуля: Часть 2 (UI) Здравствуй, дорогой читатель!В статье рассматривается поэтапная разработка дизайн-системы и UI для Android-приложения "Калькулятор", используя библиотеку Jetpack Compose. Начнём с создания проекта и закончим запуском приложения на эмуляторе.Ссылка на репозиторий Читать далее

«Физика для программистов» — как физтехи применяют её в приложениях. Маятники Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МТФИ ВШПИ. В этой части речь пойдёт про задачу моделирования поведения маятника: коротко разберём теорию, которая лежит в основе модели, немного подумаем над архитектурой и нап...

Управление контейнерами из Kotlin-тестов Нередко для выполнения тестов требуется запуск вспомогательных сервисов (баз данных, брокеров очередей и др.) и стандартной практикой в подходах DevOps является запуск тестов внутри управляемого окружения, где сначала создается контейнер с JVM, после чего внутри конвейера CI...

[Перевод] Hono vs. H3 vs. HatTip vs. Elysia — современные замены Express для сервера (или без сервера) H3 отмечает, что Express.js - старый и малоразвивающийся фреймворк, являющийся не оптимальным выбором для новых проектов из-за потенциальных проблем безопасности и утечек памяти, что, к слову, касается и Koa.В нашей статье мы сделаем акцент на фреймворках, поддерживающих зап...

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

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

Как перезапускать PySpark-приложение и зачем это может понадобиться Сегодня все крупные компании сохраняют и обрабатывают большие объёмы информации, причём стремятся делать это максимально эффективным для бизнеса способом. Меня зовут Мазаев Роман и я работаю в проекте загрузки данных на платформу SberData. Мы используем PySpark, который позв...

Кратко про язык программирования Triton Triton был разработан специально для выполнения на GPU и предоставляет удобную Python-ориентированную среду.Triton позволяет использовать модель программирования, основанную на блоках, которая значительно отличается от традиционной модели CUDA. Вместо управления потоками на ...

Раскрыт секрет камеры Google Pixel 8 Pro. В ней используется новейший сенсор Samsung После того, как вышел Google Pixel 8 Pro, много слухов ходило о его сенсорах. Высказывалось предположение, что в основной камере применяется датчик Samsung ISOCELL GNV, однако оно оказалось ошибочным. Впрочем, ошибиться было легко. В реальности в смартфоне используется...

Jenkins: оптимизируя динамический пайплайн → распределённая сборка компонентов ОС В процессе улучшения подходов к менеджменту зависимостей компонентов нашей Операционной Системы появилась необходимость перейти от монолитной статической сборочной системы на основе CI/CD инструментов к динамическому распределённому подходу с порождением сотен и тысяч автон...

Продуктовый подход к pet-проекту или как я разработал музыкальное веб-приложение Что вам может дать продуктовый подход к pet-проекту? Если смотреть на pet-проект не как на лабораторную работу, а как на будущий продукт, начинаешь лучше понимать весь цикл разработки. При таком подходе ты сперва выступаешь в роли заказчика: определяешь, какую задачу пользов...

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

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

[Перевод] PL/I — многогранный язык Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь иде...

Сборник советов, как упростить работу с YAML-файлами YAML (.yml) — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC). Несмотря на то, что работать с ним бывает проще, чем с тем же JSON (особенно в контексте взаимодействия с большими объемами данных), иногда использ...

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

Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk. Часть 4 Часть 1 Часть 2 Часть 3 В четвертой части, как и было обещано, рассмотрим ограничения и недостатки Asterisk как голосовой платформы и особенности его взаимодействия с VoiceNavigator. Голосовая платформа – это программно-аппаратный комплекс с функциями синтеза и распоз...

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров В этой заметке я решил рассказать о SimulIDE. Это относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus. S...

Введение в библиотеку Diffusers и диффузионные модели Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.Всегда хотели стать художником, но у вас лапки? :) Тогда Diffusers этот то, что вам нужно!В этой статье рассмотрим ...

Что такое бизнес-чат-боты и зачем они компаниям Бизнес-чат-боты – это программы, которые помогают компаниям общаться со своими клиентами 24/7 через мессенджеры, такие как WhatsApp, Facebook Messenger и другие. Они позволяют автоматизировать процесс общения с клиентами, сокращая время ответа на запросы и повышая качество о...

[Перевод] С новым годом: GPT в 500 строках на SQL В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:"Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQ...

Kotlin Object Multiplatform Mapper Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего прилож...

[recovery mode] Развертывание программного комплекса на Asp.net на российских ОС В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с несовместимостью ПО, необходимостью настройки пакетов и т.д. В этой статье рассмотр...

Как работать с динамическими блоками в nanoCAD и переносить объекты из AutoCAD Все привыкли к тому, что первый инструмент проектировщика — это AutoCAD, который доминирует в мире черчения и проектирования с момента создания с 1980-х годов. Известность AutoCAD в сообществе САПР сравнима с известностью Photoshop в с...

Cisco TRex на практике В этой статье описывается процесс работы с программным генератором сетевого трафика TRex. Этот инструмент предназначен для генерации различных типов сетевого трафика и анализа данных в режиме реального времени. Trex поддерживает работу на уровнях MAC и IP, позволяя пользоват...

DevSecOps: Сканирование образов при отправке в Amazon ECR Все больше компаний стремятся интегрировать безопасность в каждый этап разработки программного обеспечения. В контексте быстро развивающегося мира контейнеризации и облачных технологий, DevSecOps становится неотъемлемой частью создания безопасных и надежных приложений.Одним ...

Начало мая 2024 года ознаменовалось 60-летием языка программирования BASIC. В честь этого события несколько проектов FOSS BASIC выпустили новые версии Язык программирования BASIC, созданный более 60 лет назад для обучения начинающих программистов, до сих пор жив и развивается. В мае 2024 года легендарный язык отметил свой 60-летний юбилей, и сообщество разработчиков решило отпраздновать это событие по-особенному. Неск...

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

[Перевод] Создание сквозного конвейера MLOps с помощью Open-source инструментов MLOps с открытым исходным кодом: TL;DR Эта статья служит целенаправленным руководством для специалистов по исследованию данных и инженеров ML, которые хотят перейти от экспериментального машинного обучения к готовым к производству конвейерам MLOps. Мы выявим ограничения трад...

Разработка игр с использованием Go и библиотеки Ebiten Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр. Читать далее

120 Гц, 108 Мп, 5000 мА·ч, 45 Вт и «динамическая кнопка» — за 180 долларов. Представлен Realme 12 5G Realme представила в Индии смартфон Realme 12 5G. Это бюджетная модель с ценой 180 долларов за базовую версию с 6 ГБ ОЗУ и 128 ГБ флеш-памяти. Вариант 8/128 ГБ — всего на 12 долларов дороже. Realme 12 5G построен на однокристальной платформе MediaTek Dimensity 61...

По заветам кота Вжуха: превращаем веб-приложение в сервис на платформе VK Mini Apps VK Mini Apps — это платформа для создания мини-приложений, работающих внутри ВКонтакте. На ней можно создать продукт любого масштаба — от лендинга до сложного сервиса с множеством функций. А ещё вы можете портировать на площадку ваше веб-приложение, чтобы получить доступ к о...

Kubelet в Kubernetes Привет, Хабр!Kubelet — это агент, который работает на каждом узле в кластере Kubernetes. Он отвечает за то, чтобы контейнеры в Pod'ах были запущены и функционировали в соответствии с предоставленными спецификациями PodSpec. Kubelet непрерывно общается с сервером API Kubernet...

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

Sphinx для автодокументирования на проекте Sphinx был разработан 21 марта 2008 года, и является генератором документации в Python. Сам он так же был написан Python и преобразует файлы reStructuredText в HTML-вебсайты и другие форматы, включая PDF, EPub, Texinfo и man. Sphinx позволяет автоматически генерировать докум...

Mini LED, 65-100 дюймов, 4K, 288 Гц, девять динамиков и сабвуфер. Представлены официальные телевизоры игры Black Myth: Wukong от Hisense Представлены новые Mini LED-телевизоры Hisense E8N Pro, которые, как утверждается, являются официальными телевизорами новой игры Black Myth: Wukong , созданной по мотивам «Путешествия на Запад». Серия E8N Pro включает в себя чип обработки изображения Xinchip...

Как не сойти с ума, помечая цели для сбора метрик при мониторинге кластера. Спойлер: Victoria Metrics + Grafana В начале не было ничего. И создал DevOps кластер Kubernetes и сказал, что это есть хорошо. Но пришли злые программисты и начали требовать информацию о том, сколько ресурсов потребляют их контейнеры. Статическая vs динамическая конфигурация

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

Потоковая обработка данных: анализ альтернативных решений Всем привет! Я Алексей Пономаревский, разработчик решений для платформ сбора и обработки больших данных.Два года назад мы в ITSumma создали решение для потоковой обработки данных с помощью Apache Spark и базы данных Greenplum — spark-greenplum-connector. Это многофункциональ...

[Перевод] Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэто...

Симуляция миров: как работает нейросеть SORA Видеоконтент стал неотъемлемой частью нашей жизни. ТикТок, Ютуб и прочие платформы с каждым днём всё больше используются людьми как способ отвлечься от повседневности и позволяют ненадолго предаться прокрастинации. Кто бы что ни говорил, но в 2024 году человек не представляе...

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

Celery: изучаем на реальных примерах ч.1 Лучший способ что-то понять - попробовать на практике, а лучшая практика - это реальные примеры. В этой статье мы узнаем шесть основных сценариев использования Celery. Разберем основные методы и аргументы, которые точно пригодятся. От асинхронной обработки задач до управлени...

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

Лонгрид о JavaScript JavaScript — ужасный язык программирования. По сравнению с другими распространёнными языками он выглядит генетическим уродом. Дело даже не в отсутствии многопоточности, или статической типизации, или того, что node_modules для про...

Tenis: как загнать все мячи на один корт, или Как мы решились на создание своего алерт менеджера Мы в Ivinco помогаем нашим клиентам строить, развивать и поддерживать инфраструктуру. C некоторыми из них мы работаем уже более 10 лет, с другими только начинаем. Все это естественным образом предполагает, во-первых, гетерогенную среду для работы и, во-вторых, соседство лега...

Edge ML для людей с ограниченными возможностями С развитием технологий появились новые возможности для людей с ограниченными возможностями. Edge Machine Learning (Edge ML) представляет собой передовую технологию, которая приближает алгоритмы машинного обучения к источнику данных, что сокращает задержку и улучшает возможно...

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

Что можно и что нельзя делать с Async/Await Синтаксис async/await, введенный в Swift 5.5, значительно упростил асинхронное программирование, сделав его более доступным и интуитивно понятным. Однако, как и любой мощный инструмент, он может быть использован неправильно. Здесь я хочу рассмотреть пять распространенных оши...

Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные Привет, Хабр! Я Виктор, техлид продукта CI/CD в Samokat.tech. А это, :(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже ...

Создание и обработка с помощью ИИ: Adobe запустила веб-версию Photoshop с популярными инструментами Firefly Компания Adobe объявила о запуске веб-версии Adobe Photoshop — упрощенной онлайн-версии фирменного десктопного приложения для редактирования фотографий. Веб-версия Photoshop находилась в статусе беты почти два года, а теперь доступна в составе всех платных тариф...

MovableType — отрывки из разработки плагинов MovableType — не сильно популярная в нашей стране, однако весьма стоящая на посмотреть система ведения блогов. Из коробки поддерживает множество блогов, с 5й версии — еще и управление полноценное сайтом. Работает на perl, путем генерации множества статических html файлов, за...

Как проверить приложение Андроид на вирусы – краткая инструкция В настоящее время существует множество бесплатных и платных онлайн-ресурсов, книг и видеоуроков, посвященных безопасности Android-приложений и методам обнаружения вредоносного программного обеспечения. Изучение таких материалов может помочь освоить основные принципы анализа ...

LLM'ы в преобразовании запроса на естественном языке в SQL (text2sql) Привет, Хабр! На связи участница профессионального сообщества NTA Марина Коробова.Данные занимают центральное место в информационном обществе. Именно информация является основой для принятия решений, развития бизнеса и научных исследований. Многие организации инвестируют огр...

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

Концепция RAII (Resource Acquisition Is Initialization) Здравствуй, Хабр!RAII (Resource Acquisition Is Initialization) - это важная концепция в C++. Она представляет собой парадигму управления ресурсами, которая способствует безопасности и эффективности кода. В основе RAII лежит идея связывания жизненного цикла ресурса (например,...

Как делить пользователей на группы в АБ-тестах: ошибки и рекомендации В предыдущих статьях статья 1, статья 2, статья 3 мы рассмотрели основные подводные камни автоматизации и анализу АБ тестов, привели подробный обзор статей по этой теме, а так же рассмотрели типичные задачи аналитика данных. В контексте АБ-тестов одним из ключевых аспектов я...

В России представлен Xgimi Horizon Ultra – первый в мире длиннофокусный проектор 4К с технологией Dual Light и поддержкой Dolby Vision Xgimi представляет на российском рынке новый длиннофокусный проектор Xgimi Horizon Ultra с разрешением 4К, технологией Dolby Vision и аудиосистемой Harman Kardon. В новом проекторе впервые используется технология Dual Light, которая объединяет в себе два источника света...

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

Терминал для работы с COM-портом TerminalTMB Описание теерминала для работы с COM-портом TerminalTMB. Данная программа предоставляет широкий функционал по упрощению, визуализации, автоматизации и минимизации рутиных действий при работе с последовательным портом. Может использоваться при разработке софта для микроконтро...

Изометрическое Черчение в Inkscape Во время инженерной работы постоянно приходится проектировать заказные детали. Очевидно, что нужен какой-то векторный редактор для быстрого и простого создания статической графики. Редакторы 3D черчения как правило платные. При этом есть бесплатные программы для 2D черчения....

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2 Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частьюВведениеДанная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ...

[Перевод] Фильтры действий в ASP.NET Core ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filter...

Идеальный отзыв (UGC) Я взяла цитату из комментария к своей предыдущей статье @newintellimouse для того, чтобы порассуждать об идеальном пользовательском контенте. Также на создание статьи меня натолкнула мысль моего коллеги аналитика Никиты Сушкова о том, что один из трендов в обработке пользов...

Диспетчер Задач для Микроконтроллера В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RT...

[Перевод] Я счастлив, что больше не веб-разработчик Я написал своё первое одностраничное веб-приложение на Javascript в 2005 году, сразу после того, как узнал о XMLHttpRequest и до появления серьёзных фреймворков. Я оставил профессиональную веб-разработку примерно в 2009 году (а начал её в 1997 году с WebObjects), а последний...

Nvidia представила программную платформу NIM для для оперативного развертывания AI-моделей На конференции GTC Nvidia анонсировала новую программную платформу Nvidia NIM, предназначенную для оптимизации развёртывания пользовательских и предварительно обученных моделей искусственного интеллекта в производственных средах. Источник: Nvidia Как правило, на р...

Как загружать классы в Java 8 и Java 9+? Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.Модули...

Интероперабельность с нативным кодом через платформу .NET Привет, Хабр!Часто некоторые проекты требуют от нас все более новых подходов к решению задач. Одна из таких задач - эффективное взаимодействие управляемого кода .NET с нативным кодом, которое позволяет по максимуму использовать ресурсы ОС и другого ПО, написанного не на .NET...

Генерация зависимостей внутри программы В программировании программы часто строятся иерархично. Один программный компонент вызывает функции из другого программного компонента. Как бы представить эту взаимосвязь в законченной программе? Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, c...

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

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнен...

As const в Typescript Привет, Хабр!В разработке часто возникают ситуации, когда точность типов и нежелание допускать неясности в коде становятся первостепенными задачами. В таких случаях, разработчикам приходится искать инструменты, предоставляющие максимальную ясность и строгость в определении д...

Бесплатные курсы для изучения SQL в 2024 году Изучение SQL в 2024 году остается важным для по нескольким причинам:1. Широкое применение: SQL является стандартным языком для работы с реляционными базами данных, которые широко используются в различных отраслях. Большинство предприятий и организаций все еще хранят свои дан...

Аналитик предоставляет подробную информацию об обновлениях камеры для iPhone 16 Pro и iPhone 17 Pro С iPhone 16 Pro Apple смогла уменьшить динамический остров до необходимого минимума, тем самым увеличив доступную площадь дисплея, с одной стороны, и создав больше места для динамического контента, с другой.

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

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

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

Приглашаем на Ozon Tech Community BI Meetup Всем привет!Меня зовут Дмитрий, я руководитель группы разработки инструментов BI. Стоит ли говорить, что данные вокруг нас и, если мы не умеем с ними работать, то мы не можем функционировать как бизнес вообще? Наша команда платформы данных старается обуздать десятки пет...

[Перевод] FIFO очередь asyncio в Python Очереди в Asyncio могут быть полезны для создания программ, в которых используются паттерны производитель-потребитель, где одна или несколько корутин производят элементы и помещают их в очередь, а одна или несколько корутин потребляют элементы и обрабатывают их из очереди.В ...

Как написать свою первую спецификацию на REST API. С какими ошибками может столкнуться аналитик и как их избежать? Всем привет! Делюсь очередным выпуском нашей рубрики «Открытый микрофон», тема этого выпуска — «Как написать свою первую спецификацию на REST API».Спикером стала Мария Яковлева. Маша — ведущий аналитик Платформы Сфера, НОТА (Т1 Консалтинг). В интернете много описаний особенн...

Obtainium — агрегатор закачек apk из разных источников Android предлагает богатый выбор сторонних репозиториев и магазинов приложений помимо Play Маркета: F-Droid (opensource), Aptoide, APKMirror и фирменные магазины вендоров. Однако разработчики часто выкладывают приложения только на собственных сайтах или GitHub. Это требует с...

Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN Привет, Хабр!Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер – все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также ...

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

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

Apple Vision Pro: обзор платформы и создание первого мобильного приложения Привет! Меня зовут Андрей Груненков, я iOS - разработчик в агентстве InstaDev. Делаем мобильные приложения, которые помогают бизнесу расти. В этой статье я расскажу о том, как разработать первое мобильное приложение для платформы Apple Vision Pro.Для начала надо сказать пару...

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качест...

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

Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, ч...

Yul: Учимся использовать inline assembly в Solidity В этой статье я расскажу про язык среднего уровня между Solidity и байт-кодом, который применяется в EVM. Основная задача Yul - это оптимизация смарт-контрактов по газу, как на уровне языка так и на уровне компилятора, а также гораздо больший контроль над выполнением кода. М...

Сначала войдите через Телеграм Как-то мне понадобилось ограничить доступ к статическому сайту. Я написал сервер, который просит пользователей войти через Телеграм и пропускает только людей из белого списка. Ничего сложного, но вдруг кому-то понадобится. Читать далее

Инструмент статического анализа Slither Всем привет! Я из команды по анализу уязвимостей распределенных систем Positive Technologies. Мы занимаемся исследованием безопасности в области блокчейн-технологий и хотим поделиться обзором фреймворка для статического анализа кода, написанного на Solidity, — Slither. Он ра...

Как в РСХБ разработали средство генерации SQL-запроса для упрощения задач по тестированию Привет, Хабр! Меня зовут Андрей Околелов, я работаю ведущим инженером в Блоке обеспечения и контроля качества выпуска изменений ПО в РСХБ. В банковской сфере я работаю с 1992 года, с 2018 основная деятельность — тестирование банковских прил...

Асинхронная работа с файловой системой в Vert.x Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Это полиглоттная платформа, поддерживающая не только Java, но и Kotlin, Groovy, Scala, и еще js. В контексте статьи раб...

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

3D МОДЕЛИРОВАНИЕ ДЛЯ НАЧИНАЮЩИХ 3D-моделирование: руководство для начинающих3D-моделирование - это процесс создания трехмерных представлений объектов с использованием специализированного программного обеспечения. Оно используется во многих отраслях, включая кино, игры, архитектуру и дизайн.Типы 3D-моделиро...

Безотказные очереди в RabbitMQ: Гарантированная доставка сообщений RabbitMQ - это открытая реализация протокола AMQP (Advanced Message Queuing Protocol), является мощным и гибким брокером сообщений. Он обеспечивает надежное и эффективное взаимодействие между компонентами системы, предоставляя разработчикам инструменты для создания гибких и ...

Gemini AI теперь доступен в Google Chrome для создания эффективного контента Google Chrome получил новую функцию  — генератор письма с искусственным интеллектом. По своей сути этот инструмент на базе Gemini, он представляет собой функцию «Помоги мне написать», встроенную в Gmail, но расширенную на всю сеть и основанную на ...

Как использовать Spring в качестве фреймворка для Flink-приложений Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в наши продукты в цикле статей. В ...

OpenAPI/Swagger для начинающих Эта статья в основном для аналитиков, которые впервые сталкиваются с необходимостью описания запросов в Swagger, но может быть полезна всем, кто хочет разобраться или ищет подсказку. Читать далее

Представлены новейшие стиральные и сушильные машины Samsung: быстро и дёшево стирают, не портят вещи и покрываются 20-летней гарантией Samsung представила новые полностью автоматические стиральные машины с фронтальной загрузкой на базе искусственного интеллекта, заявив, что они сокращают время стирки до 50%, а также утверждают, что они на 70% более энергоэффективны, чем традиционные стиральные машины. ...

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

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

NativeScript в мире кроссплатформенной разработки Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании Smartex. В этой статье я расскажу о NativeScript, основных преимуществах платформы и ее недостатках.Материал будет полезен не только разработчикам, которые уже пишут прило...

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

CRTP в C++ Привет, Хабр!CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X>. Этот паттерн позволяет базовому классу напрямую обращаться к метода...

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

Мониторинг и трассировка в Go: от Prometheus до Jaeger Привет, Хабр!Когда приложения становятся все более сложными и распределенными, и эффективное управление ими требует глубокого понимания происходящего внутри. Мониторинг позволяет нам наблюдать за состоянием приложения, собирать ценные метрики о его работе и предоставлять нам...

Динамический шеринг GPU в Kubernetes: разбор взлетов, падений и существующих решений Привет, Хабр! С вами снова Антон, все еще DevOps-инженер в отделе Data- и ML-продуктов Selectel, который все еще исследует тему шеринга GPU. В предыдущей статье я рассказал, как можно использовать шеринг видеокарт в Kubernetes. В комментариях была затронута тема динамическ...

Как я за месяц написал интерпретируемый язык программирования на Python Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.ПредысторияМне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом ...

Как работает Kubernetes пока ты спишь Эта статья - базовое описание того, из каких компонентов состоит Kubernetes, как он работает «под капотом». Это важно так как платформа сложная и: •  понимание ее работы влияет на факторы разработки; •  становится понятно, что можно и чего нельзя; • &n...

Сказание о static и неименованном пространстве имен для функции в C++ Команда разработчиков получила от руководства задание срочно написать приложение для обработки пользовательских данных. Руководитель быстро декомпозировал задачу на две и поручил одной команде сделать модуль подготовки данных, а другой - реализовать сами расчеты.// Все персо...

Как написать идеальный запрос для ChatGPT Управление промтами – важный навык для работы с нейросетями. Однако иногда не знаешь, как лучше их прописать. В результате ответы, генерируемые чат-ботами, оказываются очень общими и неточными.Я потратил много часов на различные курсы по промт-инжинирингу и постоянно тестиро...

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

Вызов пользовательских функций в API Gigachat Недавно в документации к API GigaChat появился раздел, посвящённый работе с функциями, аналогично тому, как это реализовано в ChatGPT. Идея заключается в том, что модели передаётся информация о доступных ей функциях, и в зависимости от запроса пользователя модель может ...

Рулим запуском Spark-приложений в Airflow с помощью самописного оператора Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.Все Spark-приложения сабмитятся из Docker-контейнеров. И здесь сталкиваемся с пробл...

Быстрое пополнение словарного запаса при изучении иностранного языка методом «Ознакомление-забывание-вспоминание» Привет, Хабр!В этой статье мы описываем полную методику быстрого пополнения словарного запаса при чтении неадаптированной литературы на иностранном языке. Статья будет интересна тем, кто владеет иностранным языком на уровне B2-С1 и столкнулся с необходимостью увеличить слова...

Храним файлы Strapi в облаке Selectel Привет, я некоторое время работаю над своим пет проектом, где в основном занимаюсь фронтом, а для данных использую headless CMS под названием strapi.io. В какой-то момент у меня появилась потребность вынести медиа хранилище из локальной папки в облако. А так-как основно...

Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++ Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-с...

AtomSite 1.1. Русская версия блог-движка на ASP.NET MVC Перевел один из немногих готовых работающих движков на ASP.NET MVC. Далее — объяснение, что такое AtomSite (для тех, кто не слышал о нем) и много скриншотов. Что такое AtomSite?AtomSite 1.1 — это блог-движок, написанный на платформе ASP.NET MVC. Он находится на ранних...

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

Packer: мультисборка, пост-процессоры и пользовательские плагины Привет, Хабр!Packer — это open-source инструмент для создания идентичных машинных образов для множества платформ из одного исходного файла конфигурации. Т.е с пакером можно автоматизировать создание образов для Amazon EC2, VMware, Docker и т.д, используя единый процесс сборк...

Процессорный кулер Jiushark JF13K Diamond: белый с подсветкой или черный, 7 тепловых трубок, 2 вентилятора 120 мм Наше тестирование показало, что кулер Jiushark JF13K Diamond можно использовать с процессорами типа Intel Core i9-13900K (LGA1700), имеющими реальное потребление порядка 165 Вт, при этом даже с учетом возможного повышения температуры внутри корпуса до 44 °C и максимальной те...

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

Операция «K». Ищем баги в коде IntelliJ IDEA В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio. Читать далее

[Перевод] Сравнение популярных брокеров MQTT с открытым исходным кодом MQTT (Message Queue Telemetry Transport) — легковесный протокол обмена сообщениями для публикации/подписки сообщений, на настоящий момент этот протокол является основным стандартом в Интернете Вещей (IoT). Брокер MQTT — главный узел (серверное ПО) для подключения IoT устройс...

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6 Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутент...

Миграция конфигурации сборки с Groovy на Kotlin DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ...

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

[Перевод] Построение архитектур для обработки данных в режиме реального времени при помощи Apache Kafka, Flink и Druid Командам, которые занимаются обработкой данных (поступающих пакетными партиями в рабочих потоках) сложно соответствовать современным требованиям по обработке данных в режиме реального времени. Почему? Потому что пакетный поток данных – от доставки данных до их дальнейшей о...

[Перевод] Java ScopedValue: Ускоренный ThreadLocal В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue (в значительной степени как поддержка и развитие Virtual Threads). ScopedValue предназначен для того, чтобы предоставить более легкую альтернативу ThreadLocal, которая хорошо работает с в...

NET hosting. Обзор вариантов и пример деплоя приложения Приложения Dotnet и Mono можно развернуть на сервере разными способами. В статье мы рассмотрим специализированные решения для хостинга dotnet приложений и предоставим инструкцию по развертыванию, написанную на конкретном примере. Читать далее

Restyle как новый стандарт для создания UI в React Native Restyle предоставляет набор инструментов, которые позволят строить UI продуктов на основе токенов. Особенно очень хорошо такой подход залетает, когда в продукте есть Дизайн Система и этот набор токенов действительно определен.Одно из основных преимуществ библиотеки Restyle п...

Функциональный Rijndael Rijndael (авторы Vincent Rijmen, Joan Daemen) - алгоритм, признанный стандартом шифрования в 2001 году, ныне называемый AES (Advanced Encryption Standard).Материалов про AES много, и я сразу выделю отличие этой статьи от других:• приведена реализация шифра в функциональной п...

Виртуальная клавиатура на Python+OpenCV В данной статье разберемся, как написать виртуальную клавиатуру, используя Python+Opencv.Идея заключается в создании виртуальной клавиатуры, выводе на экран и возможности ее использования. Подразумевается, что клавиатура будет работать с текстовыми редакторами. Для того, что...

Navmesh, lightmaps и lightprobes: реализация и использование в Playcanvas В этой небольшой заметке хотелось бы поделиться результатами реализаций нескольких технологий из gamdev-а. В основном коснёмся двух тем. Первая тема - это использование navmesh-ей для нахождения путей в пространстве трёхмерной сцены. Вторая тема - это использование lightmap ...

Чем сейчас занимается научная голография Периодически на Хабре появляются новости о новых голографических устройствах. Одна из таких разработок, на которую мы обратили внимание, ― «голографический» дисплей, представленный на CES. Любопытно, что к голографии в научном понимании такие разработки имеют очень косвенное...

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии 10 В этой статье мы подошли к самому "свежему" поколению ПЛИС фирмы Intel, а именно 10 поколение. И теперь мы будем создавать проект в среде симуляции для Arria 10.Напомню, что высокоскоростные приёмопередатчики - это пара RX и TX, встроенные в ПЛИС, которые позволяют преобразо...

Семантический поиск и генерация текста на R. Часть 1 Для этой задачи использую LLM (Large Language Models - например, chatGPT или opensouce модели) для внутренних задач (а-ля поиск или вопрос-ответную систему по необходимым данным).Я пишу на языке R и также увлекаюсь NLP (надеюсь, я не один такой). Но есть сложности из-за того...

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

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

[Перевод] Как утереть нос NumPy с помощью двумерного БПФ Двумерное преобразование Фурье — один из важнейших алгоритмов компьютерной науки этого столетия. Он нашел широкое применение в нашей повседневной жизни — от фильтров Instagram до обработки MP3-файлов.Наиболее частой реализацией, используемой рядовым пользователем, иногда даж...

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

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

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse Привет, Хабр!Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь "А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-ус...

Пишем приложение на Python для подготовки к собеседованиям по Python На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возник...

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

Microsoft анонсирует DirectSR для Windows на мартовской конференции GDC На конференции GDC, запланированной на 21 марта 2024 года, Microsoft намерена представить собственную технологию масштабирования изображения под названием DirectSR (DirectX Super Resolution) для платформы Windows. Презентация состоится в рамках сессии «DirectX Start of the ...

Android 15 может позволить управлять аудиовыходом телефона прямо с Pixel Watch Эти изменения позволяют приложениям (и смарт-часам) динамически менять назначение аудиовыхода, даже если звук воспроизводится через другое приложение

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

На этот раз без длинного фирменного экрана 4К, но зато с 7-кратным оптическим зумом и улучшенной автономностью. Характеристики и изображения Sony Xperia 1 VI 17 мая ожидается официальная премьера нового флагмана Sony — смартфона Xperia 1 VI, но ресурс MSpoweruser уже опубликовал ключевые подробности. Sony Xperia 1 VI получит в очередной раз обновленную камеру с тремя модулями. В основном пропишется широкоугольный объе...

MERGE и её улучшение производительности с помощью work_mem С выходом PostgreSQL 15 мы застали появление долгожданной команды MERGE, которая позволяет реализовывать эффективные способы синхронизации обновлений.Суть MERGE заключается в ее универсальности: она позволяет объединить операции INSERT, UPDATE и DELETE в одном запросе, автом...

Pure.DI помогает сделать DI чистым В статье поговорим о Dependency Injection. Обсудим что такое чистый DI, коснемся DI контейнеров и их эволюции. В основной части речь пойдет о генераторе исходного кода Pure.DI и о том, как он помогает создавать приложения в парадигме чистого DI. Чита...

Как в C# быстро извлечь подстроку Извлечение подстроки. Казалось бы, что тут может быть сложного? В любом современном языке программирования это можно сделать через функцию substring или через slicing. За время работы C# разработчиком я повидал разный код, в том числе разные способы извлечения подстроки. В э...

Проблема Looney Tunables позволяет получить root-права в дистрибутивах Linux Новая Linux-уязвимость, получившая название Looney Tunables (CVE-2023-4911), позволяет локальному злоумышленнику получить root-привилегии, используя переполнение буфера в динамическом загрузчике ld.so библиотеки GNU C. Проблема представляет угрозу практически для всех основн...

REST API/Web сервер на PowerShell Все привет! В продолжение статьи о возможностях PowerShell, хочу поделиться несложной реализацией создания REST API и простого Web-сервера, используя только PowerShell на базе класса .NET HttpListener. Такая реализация позволяет настроить endpoint (конечные точки) для обрабо...

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

Как провести фаззинг REST API с помощью RESTler. Часть 2 Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможн...

Есть ли Undefined Behavior в Rust? Если вы никогда не сталкивались с Rust-ом, а слышали, что он помогает избежать Undefined Behavior (UB), то отчасти это так. Некоторые делят язык Rust на 2 части: safe и unsafe. Я бы поделил на 4 части: safe, unsafe, const и async. Но нас интересуют safe и unsafe. Получить UB...

Статический анализ структуры базы данных (часть 1) Статический анализ структуры базы данных — это процесс выявления ошибок, нерекомендуемых практик и потенциальных проблем в базе данных только на основе структуры, типов данных, свойствах объектов. Статиеский анализ структуры не задействует ни пользовательские данные, ни ста...

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

Собирательный образ Junior Android Developer. Какой он в 2024? С каждым годом мобильные приложения становятся неотъемлемой частью нашей повседневной жизни, укрепляя свою позицию. Они интегрировались в различные аспекты делая нашу жизнь более удобной. В свете растущего интереса к сфере IT, не мало людей стремятся попасть в мир мобильной ...

Язык программирования Mojo: что нового в версии 24.3? На днях была опубликована новая версия языка программирования Mojo, теперь это 24.3. Новинка получила несколько важных компонентов, которые требуются для создания приложений на этом языке. Например, компилятор, интерактивная REPL-оболочка для сборки и запуска программ, отлад...

GigaChat и русский жестовый язык Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод с жестового языка на русский и американский английс...

[Перевод] Perfect DLL Hijacking. Разбор техники Привет, Хабр, на связи лаборатория кибербезопасности компании AP Security!  В статье речь пойдет о такой технике, как DLL Hijacking, а именно как это работает от А до Я.DLL Hijacking - это техника, позволяющая внедрять сторонний код в легитимный процесс (EXE), обманывая...

NEOWIZ представила сервис Adventure на своей игровой Web3 платформе Intella X Крупнейшая южнокорейская игровая компания NEOWIZ представила сервис Adventure на своей игровой Web3 платформе Intella X. Новая функция платформы представляет собой значительный шаг вперед в преодолении разрыва между традиционными геймерами и инновационным ландшафтом технолог...

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

[Перевод] Детализированные стратегии кэширования динамических запросов Сегодня я хотел бы поговорить о стратегиях кэширования для совокупных запросов к часто обновляемым данным, основанным на времени. На предыдущем месте работы я провел немало «мозговых циклов» и с удовольствием поделюсь некоторыми своими находками. Читать дальше →

XMPP vs WebSockets: что использовать для приложения чата Если вы планируете разработать приложение для коммуникации в реальном времени, например чат, следует тщательно выбирать технологии. В этой статье Анастасия Иванова, технический писатель платформы МТС Exolve (входит в экосистему МТС), сравнивает два популярных инструмента — п...

Почему Сборка с Помощью Есlipse ARM GCC Плагинов это Тупиковый Путь В программировании микроконтроллеров часто используют Eclipse с плагинами.Главным образом от незнания языков скриптов сборки (Make, Cmake, Ninjia и т п).В этом тексте я напишут почему способ сборки из Eclipse c ARM плагинами — это тупиковый путь...

Из пет-проекта в самостоятельную компанию: Алексей Миловидов о разработке ClickHouse и премии Highload++ Алексей Миловидов — разработчик и создатель технологии ClickHouse. Проект получил больше $2 млрд инвестиций. Эта распределенная аналитическая система управления базами данных с открытым исходным кодом используется компаниями со всего мира. Она столбцовая и позволяет онлайн о...

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

Используем Gemini для просмотра лекции В феврале Google мы познакомились с Gemini 1.5 Pro с контекстным окном в 1 миллион токенов. Больший размер контекста означает, что Gemini 1.5 Pro может обрабатывать огромные объемы информации за один раз — 1 час видео, 11 часов аудио, 30 000 строк кода или более 700 000 слов...

Реализация многооконного приложения на Vue 3 В наше время чуть ли не каждое приложение использует браузерный клиент. Это просто в написании, это кроссплатформенно, это легко в использовании. Браузерные решения уже активно используются и в промышленной сфере: аналитиками, операторами. WEB-приложения для управления промы...

Представлен 540-Гц монитор AOC AGON PRO AG246FK Компания AOC представила геймерский монитор AGON PRO AG246FK, который основан на 24,1-дюймовой матрице TN с разрешением 1920:1080 пикселей (формат Full HD). Новинка характеризуется очень высокой кадровой частотой в 540 Гц, пиковой яркостью 400 нит, временем отклика от серого...

Обзор бесплатных чат-ботов в телеграме 2024 Запуск инновационных технологий, таких как Midjourney и Chat GPT, значительно повысил интерес к искусственному интеллекту, что, в свою очередь, способствовало появлению в Телеграме специализированных чат-ботов. Эти боты предоставляют возможность использовать функции популярн...

Umka обрастает мясом: улучшения в языке, менеджер пакетов, применение в играх Только что вышла новая версия 1.3 моего встраиваемого скриптового языка Umka со статической типизацией. С момента выпуска версии 1.0 язык пополнился замыканиями, инструкцией выбора switch по фактическому типу интерфейса, тернарным условным оператором, более удобным API для в...

Persistent-request библиотека для надежных запросов Всем привет!В этой статье расскажу, как решил написать библиотеку https://packagist.org/packages/xman12/persistent-request и что там внутри.Как и любая библиотека, эта решает свои задачи, а именно гарантированное выполнение запроса и последующую обработку. Я находил, как мин...

Bybit запустила динамическое дельта-хеджирование Bybit, одна из трех крупнейших криптобирж в мире по объему торгов, объявила о запуске динамического дельта-хеджирования. Этот инструмент управления рисками расширяет возможности институциональных клиентов и профессиональных трейдеров, позволяя им точно ориентироваться в вола...

Сказ о том, как я эмулятор Intel 4004 на Python писал Рассказываю о том, как я решил написать эмулятор дедушки современных микропроцессоров - Intel 4004 с очень ограниченным функционалом на языке Python.. Читать далее

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

GraphQL и микросервисная архитектура: объединяем сервисы в федерацию Меня зовут Владислав Гончаров, я разработчик в команде Platform V DataSpace СберТеха. Расскажу, как мы решаем вопрос с объединением сервисов в GraphQL и микросервисной архитектуре, которая позволяет разбить любое большое приложение на маленькие сервисы. С одной стороны, их п...

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

Обзор библиотеки Stan в R Приветствую! Stan - это библиотека на C++, предназначенная для байесовского моделирования и вывода. Она использует сэмплер NUTS, чтобы создавать апостериорные симуляции модели, основываясь на заданных пользователем моделях и данных. Так же Stan может использовать алгоритм о...

Анонс новинки: Shining 3D FreeScan Trak Pro2 FreeScan Trak Pro2 - это улучшенная версия портативной оптической системы FreeScan Trak Pro.В ней используются передовые лазерные технологии для достижения высокой точности и повторяемости без необходимости маркировки объектов.Эффективность сканирования значительно улучшена ...

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

Kotlin (не) против Java: особенности компиляции в байткод В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с...

Рисуем с нейросетями: тонкие корректировки в Midjourney и Lumenor.ai Привет, Хабр! Я – Михаил Суворов, ведущий дизайнер коммуникаций в X5 Tech. В статье я расскажу несколько рабочих способов “уговорить” нейросеть нарисовать то, что вам нужно. Я использую нейросети как генераторы изображений, в первую очередь для создания иллюстраций.Если вы д...

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

Приложение «VK Видео» представили для телеприставок Apple TV Команда «ВКонтакте» сообщила о запуске бета-версии приложения «VK Видео» для tvOS – телеприставок Apple TV. Владельцам этих устройств станут доступны новые функции и адаптированный интерфейс.  Приложение «VK Видео» для App...

Обзор на новую CSS-in-JS либу от Facebook* – StyleX Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX. По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым ее преимуществом является перфоманс.В этой статье мы рассмотрим пример исполь...

На помойку? Никак нет! Пишем нативные приложения для дешевых китайских телефонов Если сейчас приехать в пункт приема металлолома, то можно обнаружить просто огромные кучи различных телефонов и прочих электронных «отходов», которые стоят под открытым небом и ждут, когда придёт их черёд окончательного разложения. Однако при ближайшем рассмотрении выясняе...

Как установить NCALayer на Linux Всем привет, меня зовут Абай. В последнее время часто замечаю, что у пользователей Linux в Казахстане постоянно проблемы с установкой NCALayer, поэтому решил написать гайд, который простым языком объяснит, как установить его через терминал... Читать далее

[Перевод] Как так вышло, что при лишнем шаге сборки моё приложение на Zig ускоряется в 10 раз Вот уже несколько месяцев я интересуюсь двумя технологиями: языком программирования Zig и криптовалютой Ethereum. Чтобы подробнее изучить обе, я написал на Zig интерпретатор байт-кода для виртуальной машины Ethereum.Язык Zig отлично подходит для оптимизации производительност...

Не время вкладываться в литий? ИИ помог найти альтернативу для производства аккумуляторов В самом начале нового года стало известно, что Microsoft и Pacific Northwest National Laboratory смогли разработать новый материал, который теоретически может снизить объём используемого при создании аккумуляторов лития. Во всяком случае батарея на базе этого соединения уже ...

REST API vs GraphQL: в чём между ними разница Сегодня в среде разработчиков часто продвигают GraphQL в качестве замены REST, хотя обе технологии можно использовать одновременно. В этой статье Екатерина Саяпина, Product Owner личного кабинета платформы МТС Exolve (входит в экосистему МТС), рассмотрит интерфейсы подробнее...

Каждый запрос в ChatGPT обходится OpenAI в 4 цента. Компания думает выпуске собственных ИИ-чипов Использование ChatGPT обходится компании OpenAI очень дорого. Согласно данным аналитика Bernstein Стейси Расгон, каждый запрос стоит примерно 4 цента. Поэтому компания OpenAI изучает возможность создания собственных чипов искусственного интеллекта, о чем пишет ...

[Перевод] Grafana Beyla: автоинструментарий eBPF с открытым исходным кодом для наблюдения за приложением Часто для правильной интеграции инструментов мониторинга в приложение приходится добавлять агент мониторинга Observability в развертывание или пакет. А в таких языках, как Go, нужно вручную добавлять точки трассировки. В любом случае после добавления инструментов придётся вы...

5 крутых функций, ради которых я жду обновление Android 15 Несмотря на то, что релиз Android 15 запланирован лишь на осень 2024 года, компания Google уже активно тестирует бета-версии операционной системы для разработчиков, благодаря чему в сеть просачивается много информации относительно новой ОС. Уже сейчас ясно, что очередное по...

Pgpool-II Привет, Хабр!Pgpool-II позволяет юзерам PostgreSQL управлять пулами соединений БД, реализовывать репликацию данных между серверами БД. Pgpool-II работает как прокси-сервер между клиентскими приложениями и серверами PostgreSQL, перехватывая запросы от клиентов и направляя их ...

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

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

Получение мостов tor из GMail с помощью Python В предыдущей статье была рассмотрена установка и настройка tor в ОС Linux Mint 21.3, а также были рассмотрены несколько способов получения мостов obfs4 с помощью сайта и телеграмм бота. В комментариях был задан вопрос по пово...

[Перевод] Если вы собираетесь сидеть и ничего не делать, то хотя бы делайте это правильно Иногда бывает нужно, чтобы API не делал ничего. При этом важно, чтобы он не делал ничего правильным образом.Например, у Windows есть сложная инфраструктура печати, но этой инфраструктуры нет у Xbox. Что должно произойти, если приложение попытается выполнить печать на Xbox?Не...

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

DIY: Ваше собственное облако на базе Kubernetes (часть 2) Продолжаем серию постов про то как построить своё собственное облако в экосистеме Kubernetes. В прошлой статье мы разобрали как можно подготовить базовый дистрибутив Kubernetes на базе Talos Linux и Flux CD. Теперь нам предстоит обсудить возможность запуска виртуальных машин...

Реализуем touch жесты на vanilla js. Часть 1 (rotate) В рамках этой статьи я пошагово реализую жест поворота в мобильной версии сайта используя ванильный javascript. Для этого мы рассмотрим как устроены touch события мобильного браузера, а также немного вспомним тригонометрию. Читать далее

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

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

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

Это реально? Что должен уметь джуниор системный аналитик по профессиональному стандарту Минтруда России Нам оставили немало комментариев к статьям по подготовке к собеседованию системного аналитика (СА) о том, что примеры со сложными вопросами по SQL, REST и диаграммам — избыточны. И что СА не обязан знать, как написать код обработки запроса на Python, И даже СУБД — тоже не сф...

Спутниковая связь от 3GPP: как смартфоны будут звонить через спутник В последнее время выходило много новостей много информации о спутниковой связи с обычных телефонов. Например, MediaTek представила платформу для смартфонов с поддержкой спутниковой связи по стандартам 3GPP. Как это работает?В статье мы (команда кластера развития инфраструкту...

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

От конструктора до облака: какие есть способы разработки мобильных приложений Привет! На связи Вася Крючков, уже больше 7 лет я занимаюсь разработкой мобильных приложений и сейчас работаю в компании IMSHOP.IO, где за 5 лет разработали больше 150 приложений для ритейла. За эти годы часто встречал случаи, когда е-com менеджеры и технические директора сл...

Оптимален ли блокчейн для хранения идентификационных данных? Приветствую, Хабр! Моя предыдущая статья была посвящена формализованным критериям выбора базовой технологии хранения и обработки данных, совокупность которых позволяла ответить на вопрос, использовать ли в конкретной системе блокчейн-технологии или ограничиться хорошо изучен...

OpenStreetMap в Flutter-проекте: что такое flutter_map, как его внедрить и чем дополнить Всем привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. Ранее мы обсудили, как использовать инструменты yandex_mapkit в Flutter-проекте. В этой статье рассмотрим еще один плагин для работы с картографическими сервисами – flutter_map, изучим его возможности, ...

Интерактивные и документированные диаграммы для сложных систем Мой первый on-call выдался нелегким. Недели тренингов и обучения не подготовили меня к тому что придется бегать по Slack каналам различных команд и искать того, кто может что либо знать о какой-то из частей системы. Оказалось что многие страницы в корпоративной Wiki уже не о...

Разработка Tower Defense на Unity — часть 2, проектирование И так, в прошлой статье цикла тут мы определились с концепцией игры, геймплеем и программными средствами. Самое время поговорить об архитектуре, организации игрового процесса, что и как будет происходить. Чтобы определиться с организацией всех процессов в игре необходимо раз...

Apple разработала необычный патент навигационной системы Если верить зарубежным инсайдерам, компания Apple готовится реализовать новые функции искусственного интеллекта вместе с выпуском iOS 18, и часть этих новых функций связана с приложением Apple Maps. Дело в том, что сейчас все пользуются сервисом Google Maps, хотя компания Ap...

СВЧ фазовращатель Захотелось разработать микрополосковый фазовращатель на диодах, производимых на предприятии, на котором работаю. Прочитал статьи, узнал основную схемотехническую идею.В общем смысл таков: используя переключательные PIN-диоды "направлять" СВЧ сигнал по тому или одному из двух...

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

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868 Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи. Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 p...

Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.В то же время мне показалась весьм...

[Перевод] На пути к 1-разрядным моделям машинного обучения В последнее время активно разрабатываются технологии экстремально малоразрядного квантования, например, BitNet и 1.58 bit. Они пользуются большим интересом в сообществе машинного обучения. Основная идея данного подхода заключается в том, что перемножение матриц с кванто...

TMS на замену TestRail: писали для себя, а выложили в open source В прошлом году TestRail прекратил предоставлять и продлевать лицензии компаниям из России, поэтому мы в YADRO решили разработать собственную тест-менеджмент систему TestY. Опирались на опыт работы с другими сервисами, чтобы добавить тот функционал, которого не хватало нашим ...

Лучшие игровые движки 2024 для 2D разработки Defold - это бесплатный движок для создания 2D игр и других интерактивных приложений. Он разработан компанией King (известной по игре Candy Crush) и предлагает простой и эффективный способ создания кроссплатформенных проектов. 1. Язык программирования: Defold использует язык...

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

Адаптация мобильного приложения для пользователей скринридеров. Опыт Яндекс Лавки Приложениями пользуются разные люди, и некоторым из них для этого нужны вспомогательные технологии — например, скринридеры (программы экранного доступа). Такие программы могут озвучить контент на странице, если приложение соответствует определённым стандартам. Например, они ...

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

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

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

VDI откуда не ждали. Как мы тестировали протокол подключения к удаленным рабочим столам Loudplay С уходом иностранных вендоров большинство ИТ-компаний стали изучать возможности по замене зарубежного ПО отечественными аналогами. Конечно, системы VDI далеко не на первом месте в списке на импортозамещение, и более или менее серьезные проекты начинаются только сейчас. Мы те...

[Перевод] Разбираемся с динамической памятью (кучей) в приложениях Java Начнём с простого вопроса. В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, как...

Масс-спектрометр Peregrine PITMS, созданный для анализа лунной атмосферы, пережил возвращение на Землю С миссией Peregrine связывались большие надежды в отношении научных задач в том числе, изучении состава сверхтонкой лунной атмосферы. Однако, миссия столкнулась с неожиданными сложностями сразу после выхода в открытый космос. Утечка топлива на посадочном модуле стала пр...

Кратко про алгоритм обучения Q-learning и как он реализуется в Python для новичков Привет, Хабр!Q-learning — это алгоритм обучения с подкреплением, который позволяет агенту оптимизировать свою стратегию действий в динамичной среде, стремясь максимизировать сумму будущих наград. Агент исследует среду, принимая решения, основанные на предыдущем опыте, а не н...

Frontend внутри Bitrix. Использование и написание экстеншенов + SPA приложение на Vue или React В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React. Читать далее

Kotlin Multiplatform в мобильной разработке. Рецепты общего кода для Android и iOS Kotlin Multiplatform — технология, которая позволяет использовать общую кодовую базу для бизнес-логики приложений разных платформ и писать платформенный код только там, где это необходимо. Хотя последнее время о ней много и часто говорят, найти информацию о нюансах внедрения...

Анонс Windows 11 Insider Preview Build 22635.2841 (канал Beta) Добрый вечер, друзья! Прошлой ночью Microsoft выпустила новые предварительные сборки Windows 11 (версия 23H2) под номером 22635.2841 (KB5032286) для участников программы Windows Insider на канале Beta. Полный номер сборки: 10.0.22635.2841.ni_release_svc_betaflt_prod1.231121...

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

Проверяем YTsaurus. Доступность, надёжность, open source В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и использование направлены на расширени...

Новинка Xiaomi: представлен People Presence Sensor Xiaomi представила новый датчик под названием «датчик присутствия людей» (People Presence Sensor), который обещает точное определять, есть ли в радиусе действия люди. Ключевым отличием этого датчика от «Mijia Human Body Sensor 2S от Xiaomi является вкл...

Крошечный корпус, Intel Core Ultra 5/7 и до 96 ГБ DDR5-5600. Представлен мини-ПК Asus NUC 14 Pro Asus представила мини-ПК NUC 14 Pro, который доступен в двух вариантах. Основное различие между ними заключается в наличии дополнительного 2,5-дюймового отсека. Asus заявила, что мини-ПК NUC 14 Pro можно быстро обновить без инструментов. Устройство поддерживает функцию...

Creative Zen Air Plus и Creative Zen Air Pro:TWS гарнитуры с LE Audio Компания Creative Technology объявила о выпуске Creative Zen Air Pro и Creative Zen Air Plus, новейшего пополнения семейства Creative Zen Air. Эти новейшие наушники удобны и в то же время инновационны. Благодаря аудиокодеку LE Audio с кодеком LC3, 10-мм динамическим излучат...

SpaceX выкатила огромную ракету Starship Super Heavy на стартовую площадку перед следующим запуском Космическая компания SpaceX продолжает готовиться к следующему испытательному полету своей гигантской ракеты Starship. Пресс-служба сообщила, что первая ступень Starship, ракета-носитель Super Heavy с 33 двигателями, перемещена на стартовую площадку Starbase в Бока-Чика...

Google позволит скрывать контент от своего «ненасытного» ИИ Google вводит новую функцию в файл индексирования robots.txt, которая позволяет издателям контента определять, может ли их контент использоваться для расширения генеративных API Bard и Vertex AI.

Процессорный кулер NZXT T120 RGB: белый или черный, 4 тепловые трубки прямого контакта, вентилятор 120 мм Наше тестирование показало, что кулер NZXT T120 RGB можно использовать с процессорами типа Intel Core i9-13900K (LGA1700), имеющими реальное потребление порядка 140 Вт, при этом даже с учетом возможного повышения температуры внутри корпуса до 44 °C и максимальной температуры...

Симфония робота: какие ИИ-инструменты по созданию музыки актуальны в 2023 году На протяжении всего 2023 года искусственный интеллект на слуху у всех: дизайнеров, копирайтеров, программистов, теперь у артистов, музыкантов и композиторов. Музыка — целая вселенная, сложнее текстов и картинок. В ней множество разных стилей и направлений: блюз, джаз, кантри...

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется под лице...

«Щас спою»: чат-бот ChatGPT научился писать музыку и песни Американская компания OpenAI объявила о выпуске интересного обновления генеративной системы искусственного интеллекта, ChatGPT. Как сообщили на официальном сайте, ChatGPT теперь способен генерировать оригинальные мелодии по запросу и описанию пользователей.  Сгене...

Cotea: программный контроль исполнения Ansible Привет! Я Давид Бадалян, работаю в Исследовательском центре доверенного искуственного интеллекта ИСП РАН. В статье я хочу поговорить об Ansible – одной из самых популярных систем по автоматизации развёртывания. Стоит запустить Ansible программно, и он становится черным ...

Ракета-носитель Ariane 6 завершила длительные испытания статическим огнём Двигатель основной ступени Vulcain 2.1 отработал около 7 минут, что примерно соответствует времени работы основной ступени в космическом полете

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

[Перевод] 15+ Инструментов на базе искусственного интеллекта для разработчиков Перевод статьи https://www.marktechpost.com/2023/12/04/15-ai-tools-for-developers-august-2023.От переводчика: Выбор темы современных инструментов на базе ИИ оказался для меня не только хайповым, но и лично значимым. Мой интерес к этой области возник из желания совместит...

Процессорный кулер Cooler Master Hyper 212 Halo White башенного типа: четыре тепловые трубки прямого контакта, вентилятор 120 мм, многоцветная многозонная подсветка Наше тестирование показало, что кулер Cooler Master Hyper 212 Halo White можно использовать с процессорами типа Intel Core i9-13900K (LGA1700), имеющими реальное потребление порядка 140 Вт, при этом даже с учетом возможного повышения температуры внутри корпуса до 44 °C будет...

Функциональная панель Инструменты в Платформе nanoCAD При работе с CAD-системами у пользователя зачастую возникает потребность адаптировать интерфейс «под себя» – к примеру, собрав в выбранном месте все часто используемые и специализированные инструменты. В Платформе nanoCAD такую возможность предоставляет функциональная панель...

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось  На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется по...

Transient storage в EVM (EIP-1153): на грани добра и зла В одной из статей о расчете газа в Ethereum (ссылка) я рассказал об истории изменений механизмов подсчета газа для хранилища смарт-контракта (storage) — от правил, заложенных в протоколе изначально, до EIP-3529. Во всех этих изменениях прослеживается основная проблема: нерац...

Митап по С++ в Питере и онлайн: цена абстракции, статический анализ и дискуссия о код-ревью 20 марта собираемся на бесплатном митапе в Санкт-Петербурге и онлайн. Константин Владимиров расскажет о цене абстракции, а разработчик из команды телекома YADRO Владимир Леонтьев на примере инструмента генерации RPC-серверов покажет, как написать кодогенератор. В конце встре...

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

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

[Перевод] AVX10/128 — глупая идея, которую нужно удалить из спецификации Intel недавно раскрыла спецификацию AVX10 как средство консолидации подавляющего большинства расширений AVX-512 в единую спецификацию. Целью этого было решение нескольких проблем, в частности, поразительного количества конфигураций, целевых платформ и спагетти из реализаций ...

О динамическом программировании на пальцах Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!Усаживайтесь поудобнее, леди и джентльмены! Вперед!

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

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

В Японии запустили первую в мире сеть 5G с ускорением на основе GPU Nvidia Японский оператор NTT DOCOMO сегодня объявил о развёртывании первой в мире коммерческой сети 5G с ускорением на основе GPU.  Новый продукт называется 5G Open RAN, и это первая виртуальная сеть 5G для коммерческого развертывания в телекоммуникационных компаниях с и...

Делаем crackme. Часть первая: whitebox AES Эта статья первая из цикла, в котором мы будем создавать crackme для linux amd64. В crackme будут реализованы шифрование каждой функции отдельным ключём и наномиты для противодействия отладке. В данной статье мы рассмотрим алгоритм встраивания к...

[Перевод] Сколько строк на C нужно, чтобы выполнить a + b в Python? В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсбер...

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

Parameter-Efficient Fine-Tuning (PEFT): методы LoRA, Prefix tuning, Prompt tuning и Adapters На сегодняшний день созданы разные большие языковые модели (LLM), которые показывают превосходные результаты, но для раскрытия их полного потенциала необходимо дообучение для точного решения конкретных задач. Традиционный метод файнтюнинга, при котором настраиваются все пара...

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

9 архитектурных антипаттернов при разработке телеграм-ботов на Python Привет, Хабр! Если вас заинтересовал заголовок этой статьи, значит, вас интересует созданием телеграм-ботов, и вы стремитесь к совершенству в этом. Разработка телеграм-ботов требует не только креативности, но и правильной архитектуры. В этой статье мы рассмотрим 9 архитектур...

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

VisionFive2 (ядро Linux) В предыдущей статье мы рассмотрели процесс сборки загрузчика. Теперь мы рассмотрим ядро Linux, исходные коды которого поддерживает компания StarFive в репозитории https://github.com/starfive-tech/linux. Кроме того, мы рассмотрим создание скриптов загрузки ядра (boot.scr) для...

Разработка децентрализованных приложений на Spring Boot: инструменты Web3 Tech Привет! Меня зовут Даниил, я разработчик в Web3 Tech. Недавно в JVM-инструментарии для нашей основной платформы «Конфидент» состоялся новый релиз, в который вошли библиотеки клиента для взаимодействия с нодой и Spring Boot стартеры. Далее в посте я расскажу об этих библиотек...

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

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

Сравнение алгоритмов балансировки нагрузки: Round Robin vs. Least Connections vs. IP Hash Привет, уважаемые читатели Хабра!Сегодня сетевые приложения чрезмерно сложны. В такой среде балансировка нагрузки становится неотъемлемой частью инфраструктуры, позволяя равномерно распределять запросы между серверами и обеспечивать отказоустойчивость. Без балансировки нагру...

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

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

Convex — альтернатива Firebase и Supabase Convex - это платформа для создания бэкенда. В нее входит: Server Functions, ACID Database, Vector Search, Scheduling and crons, File StorageВсе в Convex работает в режиме реального времени. Также написаны удобные интерфейсы для работы с Convex на React Читать далее

Tecno Camon 30 Premier 5G получил SoC Dimensity 8200 Ultimate Компания TECNO пополнила ассортимент смартфонов моделью CAMON 30 Premier 5G, которая основана на производительной 4-нанометровой платформе MediaTek Dimensity 8200 Ultimate с тактовой частотой до 3,1 ГГц. Новинка также характеризуется тройной основной камерой с модулями разре...

Heretic: full stack фреймворк на основе Marko.js В последнее время вышло так, что я по неведомой причине стал часто заниматься популяризацией Marko.js, декларативного и реактивного языка разметки, который разрабатывается eBay. С одной стороны, это связано с тем, что Marko незаслуженно часто обходят стороной, хотя он п...

Представлен телевизор TCL 65T7K Mini LED Компания TCL пополнила ассортимент телевизоров моделью 65T7K Mini LED, которая основана на 65-дюймовой панели с подсветкой Mini LED. Новинка характеризуется 512 участками подсветки, разрешением 3840:2160 точек (формат 4K), частотой обновления изображения 144 Гц, динамической...

The Sims 4: разбор нарративных механик самой знаменитой игры без сюжета С момента своего запуска в 2014 году, The Sims 4 превратилась не просто в игру, но в целый культурный феномен, привлекая миллионы поклонников по всему миру. Этот необычайный успех можно объяснить множеством факторов, но одним из ключевых является уникальная возможность игры ...

Microsoft выпустила Windows 11 Build 22621.2500 для инсайдеров в Release Preview Channel Компания Microsoft выпустила Windows 11 Build 22621.2500 (KB5031455) для инсайдеров Windows в Release Preview Channel в Windows 11 версии 22H2. Это обновление включает следующие функции и улучшения: • Новое! Это обновление влияет на блеск основных моментов поиска в окне поис...

Процессорный кулер DeepCool AK620 Digital башенного типа с шестью тепловыми трубками, двойным радиатором, двумя вентиляторами 120 мм, подсветкой и информационной панелью Наше тестирование показало, что кулер DeepCool AK620 Digital можно использовать с процессорами типа Intel Core i9-13900K (LGA1700), имеющими реальное потребление порядка 170 Вт, при сохранении очень низкого уровня шума — 25 дБА и ниже. К достоинствам кулера следует отнести а...

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

Что такое Software Bill of Materials и зачем он нужен разработчикам Последнее время наблюдается рост числа кибератак, нацеленных на разработчиков и вендоров программного обеспечения. Поэтому в ИТ-сообществе все чаще обсуждают спецификацию Software Bill of Materials, или SBOM. Ее внедряют как стартапы, так и корпорации. Обсудим, что это за ин...

Топ Необходимых Bash-Команд для Разработчика [Шпаргалка] Bash - самый распространенный командный интерпретатор в UNIX-подобных системах, предоставляет возможность выполнения практически любого действия через терминал. Не все операции можно выполнить через графический интерфейс, в то время как Bash дает возможность полного контроля...

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

InfiniBand в Windows — это просто К написанию этой небольшой инструкции меня привела статья на Хабре - Быстрая сеть в домашней лаборатории или как я связался с InfiniBand . Я был очень заинтригован данным вопросом, но каково было моё удивление, когда я не мог найти почти никакой информации по InfiniBand на W...

Титан или Алюминий: какой материал выбрать для 3D-печати? Металл в настоящее время является одним из самых востребованных материалов в процессах аддитивного производства. Неудивительно, ведь превосходные свойства делают его идеальным выбором для самых требовательных областей применений с точки зрения производительности и прочности....

Самый яркий экран, Snapdragon 8 Gen 3, 24 ГБ/1 ТБ, три камеры по 50 Мп и 120 Вт. Xiaomi 14 Pro обрастает деталями Ожидается, что Xiaomi станет одним из первых брендов, использующих чип Snapdragon 8 Gen 3 в своем Xiaomi 14 Pro. В сети появились новые подробности о дисплее Xiaomi 14 Pro. Как пишет Gizmochina, Xiaomi 14 Pro будет оснащен 6,7-дюймовым дисплеем Micro Quad Curved 2K C8, ...

Microsoft тестирует чат-бот на основе ИИ для Xbox Microsoft в настоящее время тестирует чат-бота для Xbox, который работает на базе искусственного интеллекта (ИИ) и может использоваться для автоматизации задач поддержки. Источники, знакомые с планами Microsoft, сообщает The Verge, что гигант программного обеспечения те...

JetBrains выпустила новую IDE для работы с документацией Writerside Инструмент используется в JetBrains уже более 10 лет, и, по словам команды, продукты JetBrains, от языка программирования Kotlin до IntelliJ Platform SDK, используют Writerside для создания своей документации. Читать далее

Wolfram Language JavaScript Frontend Wolfram Language JavaScript Frontend - это проект, цель которого в создании бесплатной альтернативы для Mathematica с открытым исходным кодом, но со своими особенностями и преимуществами, а если точнее то в реализации пользовательского интерфейса для ядра Wolfram Language (W...

Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам При работе над паттерном навигации моя команда выяснила интересный факт — мало материалов для дизайнеров. Я провела своё исследование: поговорила с разработчиками, проанализировала множество приложений и заглянула в гайдлайны.В статье покажу три самых популярных вида навигац...

Вопросы по SQL, которые часто задают на собеседовании. Часть 1 SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков. Читать далее

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

eSIM и протоколы спецификации GSMA SGP.02: кейс МТС Привет, Хабр! Меня зовут Алексей Степанов, я работаю аналитиком в проектах IoT Connected Car и eSIM M2M в «МТС Диджитал».Среди наших клиентов — совершенно разные компании. Производители умных счётчиков для воды, терминалов для эквайринга, и даже автомобилей.В этом посте расс...

Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel Привет, коллеги! В этой статье я сделаю небольшой обзор NativePHP, который появился на последнем Laracon. Что из себя представляет NativePHP? Перед нами фреймворк, который позволяет нам писать нативные десктоп приложения, используя PHP. Приложения кроссплатформенные - можно ...

Мечтают ли нейроовцы о генеративных трубах? Кратко о PCG в контексте игровой индустрии Привет, Хабр! Меня зовут Владимир Садовский и я трудоголик (вялые аплодисменты) работаю программистом инструментария в Nau Engine. А ещё — обожаю игры. С детства. Компьютер у меня появился, когда мне было восемь. Предполагалось, что для учебы, но на глаза мне попалась Carmag...

Linux From Scratch на Zynq UltraScale+ MPSoC В данной статье я постараюсь описать процесс создания кастомного образа Linux на Zynq UltraScale+ MPSoCс. Каждый необходимый компонент будет собран отдельно с использованием соответствующих утилит. Статья разбита на разделы, которые шаг за шагом знакомят вас с процессом сбор...

[Перевод] Агрегат WITH CUBE В предыдущей статье говорилось о том как  работает агрегат WITH ROLLUP. В этой статье мы рассмотрим, как реализована агрегация WITH CUBE. Как и предложение WITH ROLLUP, предложение WITH CUBE позволяет просчитать несколько «уровней» агрегации в одном опера...

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

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

[Перевод] Что понимают технологические компании и чего не понимают традиционные компании о разработчиках ПО Я работал в разнообразных технологических компаниях: от «традиционных» центров программирования и консалтингов до инвестиционных банков и быстрорастущих технологических фирм. Также я общался с разработчиками ПО, работающими в стартапах, банковской сфере, автомобилестроении,...

Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов Привет, Хабр!Многомерный анализ данных позволяет нам оперировать множеством измерений и атрибутов, создавая более глубокое понимание данных. Это важно для принятия обоснованных бизнес-решений, улучшения производительности и оптимизации процессов.Работая с данными, мы сталкив...

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

Insta360 представила экшн-камеры Ace и Ace Pro в стиле GoPro с откидными экранами и функциями ИИ Компания Insta360 представила две новинки в серии фирменных экшн-камер - Ace и Ace Pro. Новинки позаимствовали дизайн популярной серии Hero от GoPro, но важным изменением возможностью поднимать 2,4-дюймовый сенсорный экран на задней панели для удобства ведения видеоблог...

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

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

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

Автосборка Fsbl, U-Boot, linux kernel и установка debian для amd64 для Zynq Ultrascale zcu106 В данной статье описывается способ создания минималистичного образа sd карты c debian amd64 на примере отладочной платы с zynq ultrascale zcu106. Данный способ можно использовать для создания загрузочных образов других устройств с соответствующими изменениями. Битстрим, ядро...

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии IV. Практика В прошлой статье мы описали и подготовили всё, что необходимо для сборки TestBench. В этой статье мы переходим от теории к практике. Читать далее

CPU планировщики в Linux В статье будет рассказано про основные алгоритмы, которые ядро Linux использует для планирования задач, готовых к выполнению. Как влияет приоритет задач и указанная для неё политика на то, как она будет получать процессорное время и сколько. Читать далее

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

Xiaomi 14 Ultra появился в открытой продаже Компания Xiaomi выпустила открытую продажу на территории Китая флагманский камерофон Xiaomi 14 Ultra. Аппарат доступен по цене в 905, 975 и 1085 долларов за конфигурации с 12/256 ГБ, 16/512 ГБ и 16 ГБ/1 ТБ оперативной и флеш-памяти соответственно. Ранее представители компани...

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

Логирование в Golang Привет, Хабр!Как в Golang логирование поживает? Рассмотрим этот вопрос в статье.Рассмотрим основные библиотеки и подходы. Читать далее

ChatGPT-4 в помощь: используем AI в доработке простого iOS-приложения Мне всегда было интересно, получится ли применить AI-инструменты в трудовых буднях программиста. Когда появился ChatGPT, я начал пробовать использовать его в работе, и он быстро стал для меня вспомогательным инструментом. Буквально на днях вышло его крупное обновление, и ста...

Как расширить дисковое пространство на VPS за счет дисков на сервере в домашней сети В настоящее время очень широкое распространение получили решения, основанные на self-hosting'e. При этом, под этим термином понимается идеология и практика, предусматривающая размещение веб-сервисов на собственных серверах, например домашних, вместо испол...

[recovery mode] Как в Node.js контролировать потребление памяти при обработке сетевых запросов Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.Расскажу, как с помощью Node.js Streams и ме...

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

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

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

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные...

Что умеет операционная система Kaspersky OS и чем она отличается от Android Несмотря на строгость и всеобъемлющий характер антироссийских санкций, многие сферы, контролируемые западными компаниями, для нас с вами почти не изменились. Например, ни iOS, ни Windows, ни даже Android никто так и не отключил. Все устройства, работающие на базе иностранны...

Web Application and API Protection (WAAP): эволюция WAF (Web Application Firewall) WAAP (Web Application and API Protection) является брандмауэром веб-приложений следующего поколения WAF (Web Application Firewall). Термин впервые начал использовать Gartner для описания защиты современных, постоянно меняющихся web-сервисов. Так как в мир...

Система условных обозначений BPMN Система условных обозначений BPMN позволяет разрабатывать, документировать и улучшать бизнес-процессы. Основное внимание в BPMN уделяется достижению прозрачности и понимания процессов.Рассмотрим подробней. Читать далее

Космическая сокровищница всё ещё заперта: команда OSIRIS-REx столкнулась с трудностями при открытии контейнера с образцами астероида Во многих отношениях миссия NASA по сбору образцов астероида OSIRIS-REx уже является огромным успехом. На основе предварительного анализа образцов, собранных за пределами основного контейнера, космическое агентство объявило, что материал астероида богат как водой, так и...

Pixel 8 Pro снимает видео, а затем искусственный интеллект в ЦОД Google его улучшает. Представлена функция Video Boost Компания Google представила сегодня свои новые смартфоны Pixel 8 и Pixel 8 Pro, но, как обычно, интересны не только сами аппараты, но и программные решения. Одно из них — Video Boost.  Эта функция стоит отдельного внимания, так как она и реализована необычно...

Проверка игрового движка qdEngine, часть вторая: упрощение C++ кода В этой статье мы рассмотрим, как статический анализатор PVS-Studio воодушевляет заняться рефакторингом кода. Ведь чем короче, проще и понятнее код, тем меньше в нём ошибок. Читать дальше →

Когда Intel зачем-то разделила сокет LGA 1151 на два несовместимых поколения, а теперь энтузиаст показал, как можно обойти запрет Компания Intel в своё время решила сделать так, чтобы системные платы с сокетом LGA 1151 существовали в двух вариантах, а процессоры были совместимы только с одним из них. Прошло несколько лет, и энтузиаст с псевдонимом _Nordlicht_ обошёл это ограничение.  Если то...

Аутентификация в Kubernetes через Gitlab'овские JWT токены Представим ситуацию, что мы деплоим по push-модели. В качестве платформы для запуска деплоя у нас используется Gitlab: в нём настроен пайплайн и джобы, разворачивающие приложения в разные окружения в KubernetesКакой бы инструмент мы не использовали (kubectl, helm), для манип...

“Строка бога”/идеальный промт, часть 3, продолжение про ИИ-генераторы музыки “Человек создан для счастья, как птица для полета” В. Г. Короленко из его рассказа “Парадокс”Здравствуйте, уважаемые читатели!В этой статье я хотел бы продолжить тему появления субъязыка текстовых запросов к нейросетям, однако в этот раз речь пойдет об использовании ИИ в цел...

Как и зачем мы парсим XML Большинство разработчиков рано или поздно сталкиваются с XML. Этот язык разметки настолько глубоко вошел в нашу жизнь, что сложно представить систему, в которой не используется он сам или его подмножества. Разбор XML - достаточно типовая задача, но даже в ней можно выделить ...

У Twitter появится приложение для телевизоров X (Twitter бывший) объявила о создании приложения для смарт-телевизоров под названием X TV, предлагающего потоковое видео. Однако точная дата запуска не была уточнена. По словам генерального директора Линды Якарино, приложение обещает «реальный» контент и широкую доступность...

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O Привет, Хабр!При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД. В этой статье мы как р...

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

AstraLinux для приборостроения Ни для кого не секрет, что в марте 2022 года был подписан приказ, согласно которому для безопасности и технологической независимости требуется перейти на отечественное ПО, в частности операционные системы. Мне стало интересно, если я переведу домашний ПК на AstraLinux, смогу...

NASA тестирует летающий дрон Dragonfly для исследования Титана Dragonfly — космический дрон размером с автомобиль, он будет питаться от РИТЭГа (радиоизотопный источник электроэнергии) и искать потенциальные предшественники жизни на спутнике Сатурна, Титане. Но прежде чем Dragonfly сможет отправиться в реальную миссию, инженер...

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

Инновационная технология NVIDIA «включает» HDR в любом видео Она позволяет на лету расширить динамический диапазон SDR-контента без сложных настроек — правда, только при условии соблюдения определённых требований к железу

Обработка результатов статистических наблюдений с помощью толерантных интервалов Здравствуйте, уважаемые читатели!В статье хочу поделиться личным опытом использования толерантных интервалов для обработки результатов статистических наблюдений, привести некоторые примеры и дать краткое описание процедуры расчета с реализацией на языке Python. Может быть, к...

Как работает дедупликация данных в потоке Kafka-to-Kafka? Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей части «Как исп...

Не пора ли валить с gnu libc на что‑то другое? Пользуюсь открытым ПО значительное время. Сижу на Линуксе.Но в последнее время настолько часто сталкиваюсь с различными багами, что думается иногда, а как оно вообще в принципе работает?Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU....

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

Конец эпохи: Microsoft окончательно закрыла магазин приложений для Windows 10 Mobile Компания Microsoft предприняла последний решительный шаг по прекращению поддержки мобильных устройств на фирменной платформе Windows Mobile.  Фото: Windowslatest Напомним, изначально поддержка устройств всех устройств Windows 10 Mobile прекратилась 10 декабря 2019...

Как написать текст на сайт с помощью ChatGPT: советы и промты Разбираемся, какие задачи по контенту можно делегировать нейросети, как делать запросы к ChatGPT, чтобы получать полезные ответы, и можно ли использовать такой контент на сайте без проблем с поисковиками.

Книга: «Podman в действии» Привет, Хаброжители! Пришло время обновить свой контейнерный движок! Менеджер контейнеров Podman обеспечивает гибкое управление слоями образов и полную совместимость с Kubernetes, а также дает возможность пользователям без прав администратора создавать, запускать непривиле...

«Замена Chrome». Браузер Arc стал доступен для пользователей Windows 11 После нескольких месяцев бета-тестирования The Browser Company наконец выпустила официальную версию браузера Arc 1.0.1 для пользователей Windows 11, которым уже не нужно записываться в список ожидания. Arc в настоящее время поддерживает только Windows 11. Тем, кто испол...

[Перевод] Вспоминая IBM PC и совместимые компьютеры Немного личных впечатлений от IBM PC XT и Amstrad PC1640 — как это было в 80-е.Оригинальный компьютер IBM PC был выпущен в 1981 году и с первых дней ему сопутствовал успех. Помимо звучного названия IBM, имелись и более серьёзные причины его популярности. Среди основных можно...

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

Что на замену: Apple тестирует прототип iPhone 16 Pro без «динамического острова» Компания Apple выпустила новейшую серию смартфонов iPhone 15 менее двух месяцев назад, но уже работает над наследниками. Свежими подробностями о грядущем флагмане iPhone 16 поделился авторитетный сетевой информатор Маджин Бу (Majin Bu).  По данным источника, Apple...

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

Запускаем Matlab внутри Docker-контейнера с поддержкой GUI в ОС GNU/Linuxх Возникла задача запускать графические приложения в полностью изолированной среде: как от Интернета, так и от файловой системы «хозяйской» ОС. В моём случае это был Matlab. Пишут, что в последних версиях он стал шибко «умным»: сам без спроса постоянно лезет в сеть и чем-то та...

Xiaomi 14 Ultra появился в российской продаже Российские ритейлеры дала старт открытым продажам флагманского смартфона Xiaomi 14 Ultra, который вышел в Китае чуть больше месяца назад. В России за новинку просят 150 тысяч рублей, но до 30 апреля каждый покупатель получит в подарок фотокомплект Xiaomi 14 Ultra Photography...

[Перевод] Что нужно знать, чтобы успешно пройти System Design Interview Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) вклю...

Генерируем отчеты PDF на Android с использованием HTML и WebView в фоне Сервис, прежде всего, должен решать задачу пользователя. Часто приложения должны делать то, что, казалось бы, должно ложиться на плечи сервера и других публичных API. В рамках этой статьи хочу рассказать про наш опыт переноса функционала генерации PDF-отчетов на Android-устр...

Релиз без ошибок. Невозможное возможно? Привет! Меня зовут Сергей, я технический эксперт в компании Bercut. Когда-то увлекался Delphi и J2ME, издал несколько книг на эти темы, а сейчас создаю высоконагруженные приложения для баз данных.Первой СУБД, с которой я познакомился — случилось это в далеком 2002 году, ...

Илон Маск показал испытания нового космического корабля. Запуски Starship могут стать такими же обыденными, как старты Falcon 9 Миллиардер Илон Маск перепостил сообщение, опубликованное его компанией SpaceX, в котором опубликовано видео со статическими испытаниями нового космического корабля Starship. Полноценные статические огневые испытания всех шести двигателей Raptor на Flight 4 Starship. S...

Готовимся к собеседованию по Rust: 4 самых частых вопросов. Часть 1 Привет, Хабр!Rust — язык программирования с акцентом на безопасность, скорость и параллелизм. Rust решает многие проблемы, с которыми сталкиваются на других ЯП, например, управление памятью без сборщика мусора. Очевидно из-за многих преимуществ Rust выбирают все большей комп...

[Перевод] Как интеллектуальные NPC Ubisoft справляются с динамическим взаимодействием с игроками? Снятся ли NEO NPC электроовцы? На GDC 2024 компания Ubisoft официально представила миру NEO NPC — генеративную технологию на базе ИИ для внутриигровых диалогов и взаимодействия игроков с неигровыми персонажами. Проект NEO NPC возник в результате сотрудничества между разра...

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

Стиль написания кода на Wolfram Language Я как большой фанат Wolfram Language (WL) очень часто изучаю открытые репозитории с кодом на этом языке. Изучив достаточно много кода я заметил, что стиль написания этого кода очень сильно разнится от проекта к проекту. Но так же я изучил много встроенных пакетов в Mathemati...

Отладка в SQL Developer Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.  В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия...

Zalman ZM-VE500 и неподдерживаемые ОС: «швейцарский нож» инженера дата-центра vs винтажные устройства На Хабре уже есть статья про Zalman ZM-VE500, написанная системным инженером ЦОД. Это одно из немногих устройств, которое содержит в себе эмулятор оптического привода и позволяет иметь под рукой сразу коллекцию ISO-образов операционных систем. Вот только любителям ретрокомпь...

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

Непобедимый null: копаемся в исходном коде nopCommerce nopCommerce — бесплатная платформа для создания интернет-магазинов с открытым исходным кодом, разработанная на базе ASP.NET Core. Сегодня мы узнаем, какие неоднозначные моменты таятся в коде платформы. Читать далее

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

«Самые энергоэффективные нейроны во Вселенной». Стартап Extropic представил принципиально новый подход к вычислениям ИИ и создал прототип алюминиевого процессора Возможно, на рынке вычислений ИИ в обозримом будущем произойдёт ещё одна революция. Как минимум стартап Extropic говорит, что стремится именно к этому.  Заявления у компании действительно весьма серьёзные. В Extropic говорят, что они создали подход к вычислениям, к...

Делаю игрулю на Playdate на чистом C. Глава 2 Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В эти...

[Перевод] NumPy: оттачивайте навыки Data Science на практике В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты ку...

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

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

WebAssembly: короткий обзор ассемблера для фронтенда В последнее время фронтенд все больше и больше обрастает новыми технологиями, одна из них — WebAssembly. На ней можно написать полноценное web‑приложение и почти все на что способна ваша фантазия. В статье мы рассмотрим, что такое WebA...

[recovery mode] Разработка расширения для PHP на C++. Хуки встроенных функций и методов PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако, иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как с...

Создание простого калькулятора в android studio В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio. Читать далее

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

Показывают ли карты Гугл Гренландию В наше время технологии развиваются с невероятной скоростью, и одним из ярких примеров этого являются карты Гугл. Эти карты предоставляют пользователям возможность исследовать мир в режиме реального времени, не выходя из дома. Многие люди используют карты Google из-за их удо...

SpaceX выиграла контракт на $70 миллионов на развёртывание военных спутников Starshield О ходе работы Starshield известно мало, однако SpaceX раскрыла несколько ключевых аспектов этого проекта. Например, данный проект будет использовать ту же технологию широкополосного доступа, что и группировка спутников Starlink. Однако он будет предназначен дл...

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

Смартфон для джаваскриптера-олдфага: стоит ли гику брать дешманские девайсы на KaiOS? Смотрим на Nobby 240 LTE Друзья! Много ли платформ вы знаете, где для написания пользовательских приложений используется стек… веб-технологий, причём это единственный нативный способ писать программы? Услышав о HTML5 + CSS + JS, на ум приходит разве что webOS — которая используется в современных т...

Синкерим, хешайдим, терминируем: 6 утилит, чтобы ускорить ваши локализации Наша команда Mobile Doc&Loc «Лаборатории Касперского» занимается подготовкой документации и локализации B2C-продуктов компании для мобильных устройств. Основная сложность (и одновременно фишка) нашей работы заключается в том, что необходимо регулярно подготавливать перев...

Истории из жизни вредоносов: знакомимся с Remnux Представим следующую ситуацию, у нас имеется файл, который скорее всего содержит вредоносный код. Варианты с отправкой этого файла сазу на virustotal.com мы пока рассматривать не будем, так как это слишком просто не спортивно.Можно конечно, поднять виртуалку/контейнер с Wind...

Как сделать нейросети ассистентом SMM-менеджера: наш опыт Нейросети в маркетинге сегодня используют не только из-за высокой скорости решения задач и их относительной дешевизны по сравнению с целой командой специалистов, но и потому, что это стало модным. Логотип, нарисованный Midjourney, или презентация, написанная с помощью ChatGP...

Введение в архитектуру MLOps Привет, Хабр!MLOps, или Machine Learning Operations, это практика объединения машинного обучения и операционных процессов. Она направлена на упрощение и ускорение цикла разработки, тестирования, развертывания и мониторинга моделей машинного обучения. В MLOps применяются прин...

[Перевод] Управление памятью в Linux Управление памятью (memory management) является важной подсистемой операционной системы Linux, которая обеспечивает эффективное использование ресурсов физической и виртуальной памяти. В Linux управление памятью в основном подразумевает обработку запросов к памяти от про...

[Перевод] Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример.Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна...

[Перевод] Создание интерактивных анимаций с помощью React Spring Эта статья посвящена React Spring — библиотеке анимации на основе JavaScript. Мы рассмотрим её фичи, включая различные хуки и компоненты, и то, как использовать их в приложениях. Читать далее

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

Суслик и пингвин: кодим на Go под Linux Язык ядра Linux, его модулей и утилит написаны на языке C. Хоть он и является старым языком и прародителем многих других, но его до сих пор используют. В экосистему линукса постепенно проникают и более молодые языки — например, Rust. Но сегодня мы поговорим об детище Google ...

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

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

Разбор crackme от KilLo (.net) Предупреждение Crackme (как, впрочем, следует из названия) это программы, созданные специально для того, чтобы их взломать (понять алгоритмы, заложенные разработчиком, и используемые для проверки введенных пользователем паролей, ключей, серийных номеров). Подходы и методик...

[Перевод] Common Table Expressions Common Table Expressions (CTE) или обобщенное табличное выражение, впервые появилось в версии SQL Server 2005, и это простой способ разбить сложный запрос T-SQL на несколько запросов, что придаёт больше гибкости и управляемости. CTE во многом очень похожи на представлен...

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

«Строка бога»/идеальный промт, часть 2, продолжение истории Здравствуйте, уважаемые читатели!В этой статье я хотел бы продолжить тему появления субъязыка текстовых запросов к нейросетям (которая может быть полезна не только для инженеров, но и всех энтузиастов, которые, как, к примеру, и я проводят значительное время за работой с ИИ-...

FreeIPA vs Samba AD Используя продукты ведущих вендоров, мы не всегда задумываемся о том, что в них реализованы лучшие практики, позволяющие экономить на администрировании, повышать безопасность инфраструктуры и обеспечивать удобство для работы пользователей. Но эти детали, как шило в... мешке,...

Google выпустила новое приложение с ИИ для создания видеороликов На этой неделе компания Google без лишнего шума анонсировала приложение для создания видеороликов на основе искусственного интеллекта. Новое приложение под названием Google Vids предназначено для пользователей Google Workspace и использует возможности Google Gemini — искусс...

Медленная сборка кода с .NET Roslyn: как найти и устранить причину .NET разработчики знают, что такое ждать сборки кода. Работать при этом невозможно: пока не увидишь, как обновится приложение, — не перейдешь к следующему шагу. А переключиться на другую задачу за это время не успеешь. Получается, если в день переписать к...

[Перевод] Руководство по интеграции Flowable с Spring Boot BPMN — это язык визуального моделирования бизнес-процессов, использующий графические блок-схемы. Это открытый стандарт, созданный консорциумом Object Management Group (OMG).Процессный движок Flowable позволяет разворачивать процессы в соответствии с международным отраслевым ...

Возможность удаления Edge, отключения Bing и других функций Windows определяется JSON-файлом Принятый в Евросоюзе Закон о цифровых рынках (Digital Markets Act, DMA) вынуждает Microsoft внести значительные изменения в Windows 10 и Windows 11. В ближайшие месяцы пользователи из ЕС получат возможность удалить Microsoft Edge, отключить Bing в поиске на панели задач, уб...

Обзор синтаксиса Tailwind CSS Салют, Хабр!Tailwind CSS – это utility-first CSS фреймворк, который отличается от традиционных CSS фреймворков вроде Bootstrap или Foundation тем, что вместо предопределенных компонентов предлагает набор utility-классов, позволяющих стилизовать элементы прямо в HTML.Utility-...

Тестируем отечественную систему виртуализации: VMmanager Привет, Хабр!В первой статье моего цикла я предложил читателям выбрать системы виртуализации, которые должны стать «подопытными кроликами» в моем исследовании. Одним из лидеров народного голосования стала российская платформа VMmanager. Пришло время посмотреть, что из себя п...

Кратко про микросервисы на Scala и Erlang Привет, Хабр!Микросервисы давно являются некой "попсой" для создания гибких, масштабируемых и отказоустойчивых систем. И естественное имеет свою реализацию в функциональном программирование.В статье рассмотрим два языка программирования, которые выделяются своим функциональн...

Google выпустила вторую бета-версию Android 15 для разработчиков. Что нового На этой неделе Google выпустила новую сборку Android 15 — Developer Preview 2. Эта сборка привносит в платформу множество изменений, ориентированных на разработчиков, и одним из главных ее изменений является официальная поддержка спутниковой связи в Android. Среди других за...

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

Полное краткое руководство по grammY — JS-библиотеке для создания Telegram-ботов Привет! Меня зовут Арсений, я сеньор фронтенд-разработчик. В этой статье хочу рассказать про основные механизмы библиотеки grammY и разобрать стартовый набор файлов бота, обработку ошибок, виды обработчиков событий, контекст обновлений, работу с разными видами клавиатур и м...

Совершенствуем развертывание приложений в Kubernetes с помощью Canary Deployment Привет, Хабр! В мире современной разработки программного обеспечения Kubernetes стал непреложным стандартом для оркестрации контейнеров. Его масштабируемость, надежность и гибкость сделали его первым выбором для многих команд, стремящихся ускорить процесс развертывания и обн...

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

Анализ текстовых данных с помощью NLTK и Python Привет, Хабр!NLTK предлагает удобные инструменты для множества задач NLP: токенизация, стемминг, лемматизация, морфологический и синтаксический анализ, а также анализ настроений. Библиотека идеально подходит как для начинающих, так и для опытных разработчиков, предоставляя и...

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

Где бесплатно изучать Rust в 2024 В 2024 году Rust остается одним из наиболее востребованных и перспективных языков программирования. Вот несколько причин, почему учить Rust может быть полезно:1. Безопасность: Rust разработан с упором на безопасность, предотвращая многие типичные ошибки программирования, так...

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

Реализация SHA256 и SHA512 на языке RUST Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust.Статья будет полезна всем, кто интересуется криптографией, хочет повысить уровень безопасности своих приложений или просто расширить свои знания в области программирования на R...

4 стихии программной документации: The Grand Unified Theory of Documentation В статье я хочу рассказать об одной интересной теории разработки документации на системы и программы. Её авторы утверждают, что создали ни много ни мало «Великую Единую Теорию Документации». В теории изложены идеи и правила, которые часто встречаются в разных методиках разра...

4 стихии программной документации: The Grand Unified Theory of Documentation В статье я хочу рассказать об одной интересной теории разработки документации на системы и программы. Её авторы утверждают, что создали ни много ни мало «Великую Единую Теорию Документации». В теории изложены идеи и правила, которые часто встречаются в разных методиках разра...

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

Мульти-тенант в Django Привет, Хабр! Мульти-тенант (multi-tenancy) — это подход, который позволяет одному экземпляру приложения обслуживать множество клиентов или арендаторов (тенатов). Каждый арендатор изолирован от других, имея возможность кастомизации под свои нужды, при этом основной кодовой б...

[recovery mode] Простой production-ready генератор студийных фото продуктов В данной статье мы рассмотрим простой пример готового к запуску в продакшн приложения с генеративным пайплайном. Расчет идет на возможность простого масштабирования и распределения вычислений на GPU. Читать далее

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