habrahabr
История AMP, или Почему электронной почте не нужна интерактивность

«Система Email оставалась практически неизменной в то время, как окружающая веб-среда стремительно развивалась». — написал продакт-менеджер Google Аакаш Шейни в 2019 году. Но в Google решили «Хватит», и разработали фреймворк для электронной почты под названием AMP (accelerated mobile pages), обещающий «сохранение актуальности информации в ваших письмах» и «удобную возможность совершать действия прямо из сообщений». Четырьмя годами ранее поисковый монстр вышел на рынок мобильных приложений с…

  • суббота, 10 мая 2025 г. в 00:00:18
habrahabr
1С — архаика или рабочий инструмент? Разбор горячего анти-хайпа

Ваша статья — яркий пример «технологического снобизма», где эмоции подменяют рациональные аргументы. Да, 1С — не идеал. Да, у неё куча недостатков. Но называть её «рудиментом» и «цифровым аппендиксом» — значит демонстрировать непонимание реального бизнеса и экономики.Давайте разберёмся, почему 1С до сих пор жива, и почему её «архаичность» — это не недостаток, а следствие адаптации под конкретные условия.1. «Закрытый язык и отсталость» — или почему 1С не Git и не KubernetesВы пишете:«Где Git? Гд…

  • суббота, 10 мая 2025 г. в 00:00:17
habrahabr
Этот увлекательный мир радиопередатчиков на транзисторах

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

  • суббота, 10 мая 2025 г. в 00:00:16
habrahabr
Проблема высоких каблуков в играх

ВведениеВ этой статье мы поговорим о том, как разные типы обуви могут влиять на разработку игр, и покажем примеры того, как разработчики игр решают эти проблемы на практике.Но прежде чем приступить, давайте посмотрим, что можно делать на каблуках:Источники: 1, 2, 3, 4, 5Вот небольшая таблица на случай, если я запутаюсь в терминологии:Рост персонажаПроблемаИз-за разных размеров тел персонажей разработчикам игр приходится выполнять кучу дополнительной работы. Вот отличный пример из Dragons Dogma …

  • суббота, 10 мая 2025 г. в 00:00:15
habrahabr
ООП — это скам

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

  • суббота, 10 мая 2025 г. в 00:00:14
golang
Про конфигурацию go приложений и при чём тут vault

Когда-то я начинал свой путь как node.js разработчик и столкнулся с необходимостью конфигурировать приложение (кто бы мог подумать). Из простых решений, которые сразу приходят на ум, можно выделить:файлы (json, .env, toml, yaml, xml, ini и прочие)переменные окруженияаргументы процессаВ моём понимании это не совсем "конфигурация", а скорее способ передачи в неё данных. Так вот чтобы это всё заставить представлять из себя полноценную конфигурацию, с которой удобно работать, понадобилось п…

  • суббота, 10 мая 2025 г. в 00:00:12
golang
Часть 3. Векторизация на Go: CGo, транзакции, компиляторы, поддержка, байтовые инструкции

В первой части статьи мы рассмотрели, как можно вручную ускорить Go-код с помощью векторизации и SIMD-инструкций, реализованных через Go-ассемблер. Написали простую, но показательно быструю реализацию sliceContains и увидели, что даже базовая векторизация может дать ускорение в 10–14 раз по сравнению со стандартной реализацией.Во второй части статьи погрузились в практическое применение SIMD в Go-ассемблере, реализовали функцию SliceContainsV1 и изучили, как с помощью VADD, VDUP и других инстру…

  • суббота, 10 мая 2025 г. в 00:00:11
golang
Как я воевал с китайским умным туалетом для котов

В очередной раз, листая озон, я наткнулся на девайс, который привлек мое внимание. Самоочищающийся лоток для котов Petkit Pura Max, вещь весьма интересная, особенно, если у тебя три кота. Пушистые бандиты у меня крупные, потребляют много калорий и соответственно часто ходят в лоток.слева-направо Максвелл, Ульмо и ЭйнштейнОдна уборка за ними — это целый квест, а если хочешь уехать из дома на день‑другой, это обязательно нужно кого‑то просить убирать за ними. Умную кормушку и фонтан для воды я ку…

  • суббота, 10 мая 2025 г. в 00:00:10
javascript
Solid.js как альтернатива (P)React+MobX на практике

Как известно, у Solid довольно скудная экосистема, поэтому для сложных проектов я беру React+MobX. Однако недавно подвернулся небольшой mobile-only проект, в котором разве что маскированные инпуты и кастомные селекты, которых для Solid предостаточно. При этом требования к размеру выходных файлов и перфомансу были высокие.Очевидным решением посчитал взять Solid, заодно и сравнить его по всем параметрам (размер, перфоманс, возможности реактивности, удобство настройки) в реальном проекте. Никаких …

  • суббота, 10 мая 2025 г. в 00:00:09