habrahabr
Почему батареи в некоторых телефонах живут так мало

Тоже любите ставить телефон на зарядку ночью? А как часто вы заряжаете телефон днём? Вроде бы новый смартфон, а спустя год (а то и несколько месяцев) замечаете, что как будто заряда не хватает. Батарея — это буквально самая часто заменяемая деталь телефона. В статье разберём, почему заряда не хватает на весь день, как Li-ion-аккумулятор стал лидером, почему батарея умирает, что именно её разрушает и какая у этого природа. Детали под катом.Почему именно Li-ion победилКогда-то беспроводной телефо…

  • вторник, 14 октября 2025 г. в 00:00:15
habrahabr
Лучшие виртуальные карты 2025 года для оплаты зарубежных сервисов или расчётов за границей

Международные виртуальные карты Visa и MasterCard, которые можно оформить через интернетЧтобы почувствовать себя полноправным гражданином мира и платить за иностранные сервисы, такие как OpenAI, Netflix и Steam, нужна нормальная банковская карта. В первые годы санкций с этим были проблемы, но сейчас зарубежная виртуалка оформляется в онлайне за пару секунд без проверки личности. В интернете наплодились десятки финтех-сервисов для этого.Если нужна официальная карта, то и такие есть. Их выдают оф…

  • вторник, 14 октября 2025 г. в 00:00:14
golang
Сборщик мусора в Go. Часть 3: Управление скоростью GC

Команда Go for Devs подготовила перевод статьи о том, как в Go устроено управление скоростью работы сборщика мусора. TL;DR: даже при тысячах горутин GC подстраивается под нагрузку, выбирая между меньшим числом долгих пауз и большим числом коротких. Итог — разработчику почти не нужно вручную «крутить» настройки, рантайм сам находит оптимальный ритм.ПрелюдияЭто третья статья из серии из трёх статей, цель которой — помочь вам понять механику и семантику работы сборщика мусора в Go. В этой статье р…

  • вторник, 14 октября 2025 г. в 00:00:12
golang
Поймите указатели в Go меньше чем за 800 слов или вернём деньги

Не нашел перевод этой статьи, решил сделать, ногами не бейтеОригинал: Understand Go pointers in less than 800 words or your money backАвтор: Дэйв ЧейниДата: 26 апреля 2017 г.Проще говоря, указатель — это значение, которое указывает на адрес другого значения. Это определение из учебников, но если вы пришли из языка, который не позволяет работать с адресами переменных, эта фраза может показаться магической.Давайте разберемся.Что такое память?Компьютерная память (RAM) — это последовательность ячее…

  • вторник, 14 октября 2025 г. в 00:00:11
golang
Как мы нашли баг в компиляторе Go

Каждую секунду в дата-центры Cloudflare в 330 городах отправляется 84 миллиона HTTP-запросов. Из-за этого даже самые редкие из багов возникают достаточно часто. На самом деле, именно наши масштабы позволили нам недавно обнаружить в компиляторе Go на arm64 баг, вызывающий состояние гонки в генерируемом коде.В этом посте мы расскажем о том, как впервые столкнулись с багом, исследовали его и докопались до его первопричины.Исследование странной паникиВ нашей сети работает сервис, конфигурирующий яд…

  • вторник, 14 октября 2025 г. в 00:00:10
javascript
Создаём AI-ассистента для код-ревью с нуля

Каждый разработчик знает эту ситуацию. Вы сделали небольшую правку, создали Pull Request и... ждёте. Иногда ревью затягивается, потому что коллеги заняты, а иногда оно превращается в рутинный пинг-понг из-за пропущенной точки с запятой или несоответствия стайлгайду. Рутинные проверки отнимают драгоценное время и концентрацию, которые можно было бы потратить на обсуждение архитектуры и бизнес-логики.А что, если делегировать эту первую, самую механическую линию обороны машине? Что, если бы у нас …

  • вторник, 14 октября 2025 г. в 00:00:09
javascript
Использование Yandex Embedder на JavaScript

В прошлом примере я рассказал о том, как можно использовать YDB в качестве векторной базы знаний. Сегодня расскажу про то, как использовать Yandex Embedder.Но сначала несколько слов о том, почему Embedder - это очень важно.Итак, у нас есть задача: есть некоторая внутренняя система (у моем случае - YouTrack), есть ИИ (не важно какой). Я хочу получать ответы от ИИ с использованием данных из внутренней системы. Классическое решение - это выгрузка данных из внутренней системы в RAG и использование …

  • вторник, 14 октября 2025 г. в 00:00:07
javascript
Bricks: от идеи до UI за 60 секунд

Эта статья — продолжение цикла статей о платформе Bricks в Авито, поэтому для полного понимания происходящего перед прочтением данной статьи настоятельно рекомендую ознакомиться с работами моих коллег: Bricks: новый подход к управлению интерфейсами, Современные подходы к управлению UI: low-сode & Backend-Driven UI, Backend-driven UI: от идеи к проду.Дмитрий ГусевСтарший разработчик интерфейсов в AvitoЯ — Дмитрий Гусев, Frontend-разработчик в команде Bricks в кластере Core Services в Авито, …

  • вторник, 14 октября 2025 г. в 00:00:06
javascript
Протоколы (устройства) системы DevelSCADA (часть 1)

Система DevelSCADA, как и любая SCADA система, в первую очередь предназначена для взаимодействия с каким либо физическим оборудованием. Для этого система поддерживает набор популярных протоколов связи с различными устройствами автоматики. В DevelSCADA, для удобства работы, реализован механизм «Устройств», который позволяет без необходимости обращаться к низкоуровневым данным протокола, посредством графического интерфейса, настраивать связь с устройством и формировать список переменных, обмен зн…

  • вторник, 14 октября 2025 г. в 00:00:05