SIMD имеет значение

SIMD имеет значение

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

Новый шаг к будущему без языковых границ

Новый шаг к будущему без языковых границ: Яндекс запустил в открытую бету технологию закадрового перевода прямых трансляций на YouTube В Яндекс Браузере появилась уникальная...
Алгоритм Skyline для упаковки 2D-прямоугольников

Алгоритм Skyline для упаковки 2D-прямоугольников

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

Веб-скрейпинг с помощью Puppeteer: особенности, преимущества и примеры автоматизации

Хотите управлять браузером одной строкой кода? Puppeteer — то, что вам надо. Эта библиотека от Google позволяет автоматизировать все: от кликов по странице до скриншотов и сбора данных. Рассмотрим ее ключевые возможности, неочевидные плюсы и примеры использования — от финтеха до тестирования.
Что если LLM лучше, чем мы думаем? 

Что если LLM лучше, чем мы думаем? 

Последние достижения в области LLM открывают новые возможности для оптимизации процесса аннотирования, особенно для обнаружения ошибок в метках в существующих наборах данных. Ознакомьтесь с новым подходом, использующим ансамбль LLM для выявления потенциально ошибочно помеченных примеров.
Автомасштабирование по запаздыванию Kafka с KEDA

Автомасштабирование по запаздыванию Kafka с KEDA

Настроим автоматическое масштабирование приложения на основе внешних источников событий. Как это делается с KEDA? Рассмотрим два способа.
Может ли ИИ покончить с усталостью от сигналов тревоги?

Может ли ИИ покончить с усталостью от сигналов тревоги?

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

Под ненадежным замком: скрытые риски встроенных менеджеров паролей

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

Почему каждый разработчик должен потерпеть неудачу (хотя бы раз)

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

Как не потерять полгода работы из-за отказа диска

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

Как повысить скорость итераций при программировании

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

Не смотрите свысока на отладку через печать

Люди склонны пренебрежительно относиться к отладке через печать, ведь она не использует сложные инструменты. Не использует отладчики, изысканные логгеры или профайлеры. А используется скромная инструкция print. Или функция print(), console.log() или println!(), или как она называется на вашем языке.
Асинхронная опасность: mmap неявно блокирует ввод-вывод

Асинхронная опасность: mmap неявно блокирует ввод-вывод

Отображение файла в память для чтения — звучит красиво: превратить неудобные вызовы чтения и ручную буферизацию в простое индексирование памяти… но под капотом оно блокирует ввод-вывод, превращает массивы байтов &[u8] в асинхронную опасность и делает "конкурентный" асинхронный код фактически синхронным!
Новая большая речевая модель Watson от IBM предоставит голос генеративному ИИ

Новая большая речевая модель Watson от IBM предоставит голос генеративному ИИ

Приготовьтесь к выпуску Watson LSM - новых больших речевых моделей, способных преобразовывать длинные аудиозаписи в готовые тексты. Пока они доступны только в закрытой бета-версии, но, войдя в массовое производство, смогут обеспечить бесперебойную работу с клиентами.
Как создать собственную библиотеку на Kotlin Multiplatform

Как создать собственную библиотеку на Kotlin Multiplatform

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

Среда разработчика в монорепозитории Stripe

В лонгриде автор делится подробностями организации работы в международной платежной системе Stripe, где, конечно же, вопросы актуальности и безопасности среды, а также пригодности к оперативным изменениям и исправлениям стоят особенно остро.
Привет из 1984 года. Я опять решил попробовать программировать на BASIC на VIC 20 впервые за 40 лет

Привет из 1984 года. Я опять решил попробовать программировать на BASIC на VIC 20...

Спустя 40 лет я снова включил свой старый VIC 20 — компьютер, на котором учился программировать в 11 лет.  А потом решил познакомить с ним свою дочь — представительницу поколения iPad и TikTok. Получится ли у нас диалог через четыре десятилетия цифровой эволюции?
Как мы создавали автоматизированное тестирование с помощью Playwright

Как мы создавали автоматизированное тестирование с помощью Playwright

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

Для переписывания программного обеспечения недостаточно нового кода

Очевидное решение — доверить рефакторинг команде, создавшей проблему, — часто оборачивается порочным кругом. Главный вопрос не в том, кто перепишет код, а в том, почему одна и та же команда раз за разом наступает на те же грабли — и как разорвать этот порочный круг.
Язык запросов Lisp Query Notation

Язык запросов Lisp Query Notation

Автор делится своей разработкой — альтернативой sed и awk для любителей Lisp. В материале вы найдете примеры применения языка, в частности для JSON, и ссылку на более техническое описание в формате PDF.
Я могу назвать себя "экспертом по ИИ", а вы?

Я могу назвать себя «экспертом по ИИ», а вы?

Страшилки об искусственном интеллекте заполонили интернет. Но кому следует их бояться? Тем, кто создает модели ИИ, новые алгоритмы, сайты и приложения на основе ИИ, или тем, кто только использует все это? Пока еще искусственный интеллект не захватил наш мир, определитесь, кто вы - созидатель или потребитель. 
Разработка мобильных приложений —  это все еще золотая жила (если вы делаете все правильно)

Разработка мобильных приложений —  это все еще золотая жила (если вы делаете все правильно)

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

EdgeCloud: вывод генеративного ИИ на новый уровень с помощью конвейеризации моделей

Знакомьтесь с EdgeCloud - первой гибридной платформой для облачных вычислений, которая реализует операции МО для настройки, управления и поддержки конвейеров моделей ИИ. Получите удовольствие от использования демонстрационной площадки EdgeCloud для преобразования текста в изображение.
Предварительный просмотр Jetpack Compose-анимации по ключевым кадрам в Android Studio

Предварительный просмотр Jetpack Compose-анимации по ключевым кадрам в Android Studio

Умело созданные интерактивные элементы способствуют улучшению пользовательского опыта. Сегодня создадим анимацию по ключевым кадрам в Jetpack Compose и просмотрим ее в Android Studio Koala.
Оптимизация кэширования в TrendNow: объединение OkHttp Cache и базы данных Room. Часть 7

Оптимизация кэширования в TrendNow: объединение OkHttp Cache и базы данных Room. Часть 7

В этой части предлагается эффективное решение по оптимизации кэширования на стороне клиента: объединение OkHttp Cache и базы данных Room. OkHttp Cache будет управлять кэшем ответов, а база данных Room - сохранять метаданные кэша и контролировать истечение срока действия кэша.
Почему Cloudflare не использует контейнеры в инфраструктуре платформы Workers?

Почему Cloudflare не использует контейнеры в инфраструктуре платформы Workers?

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

Почему трудно писать полезные библиотеки

Легко представить, как выглядит полезный продукт, гораздо сложнее его произвести. Вот почему стоит поговорить о том, как создаются полезные библиотеки, которых, к сожалению, не так много, как хотелось бы. 
Управление памятью в Ruby on Rails

Управление памятью в Ruby on Rails

Изучим модель памяти с ее компонентами, принцип работы сборщика мусора. Как оптимизируется использование памяти в Ruby, выполняются мониторинг и профилирование?
Ранние версии кодовых баз популярных проектов: как все начиналось

Ранние версии кодовых баз популярных проектов: как все начиналось

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

Создавайте и запускайте собственные инструкции на языке ассемблера!

Создание собственных ассемблерных инструкций стало доступнее с появлением открытых архитектур, таких как RISC-V. Этот подход позволяет разрабатывать и тестировать новые команды процессора с помощью программной эмуляции. Рассмотрим практический метод эмуляции пользовательских инструкций через обработку сигнала SIGILL.
VPR — первый процессор на RISC-V от Nordic

VPR — первый процессор на RISC-V от Nordic

Дениэл Магнум — главный инженер-программист платформы построения смешанных облачных решений Upbound разбирает загрузку нового процессора на архитектуре RISC-V. Он заглядывает в формальное описание устройств, код на C, ассемблерный код загрузки и знакомит читателей с межархитектурным взаимодействием различных наборов процессорных инструкций. Подробности читайте ниже.
Наскучил JavaScript? Достойная альтернатива - Mint

Наскучил JavaScript? Достойная альтернатива - Mint

Недавно я создал небольшое веб-приложение с помощью Mint. Для меня это определенно стало освежающим опытом, который я и вам рекомендую. Mint является относительно малоизвестным...
Как дуэт Angular-Wiz поменяет правила игры

Как дуэт Angular-Wiz поменяет правила игры

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

Возможности C++, о которых должен знать каждый разработчик

С момента своего появления C++ очень хорошо развился как язык программирования. Конечно, это не произошло моментально. Когда-то этому языку не доставало динамичности. В то время...
Тип Result в Rust

Тип Result в Rust

Рассмотрим тип Result для обработки случаев успеха и случаев ошибок в вычислениях на Rust и методы для манипулирования значениями и их обработки. Изучим примеры использования и функциональность методов.
CSS

Преимущества использования препроцессора (Sass) при написании CSS

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