Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 5 min 49 sec ago

Как шпионить за самим собой и зачем это нужно

6 hours 13 min ago

Возникало ли у вас когда-нибудь желание посмотреть на свою жизнь в цифрах?

Сколько дней в году вы проводите не в одиночестве? Действительно ли вы выпиваете раз в две недели, или это уже давно самообман? Сколько часов сна вам нужно, чтобы чувствовать бодрость? И что сильнее влияет на настроение — прогулка или занятие любимым хобби?

Давай разбираться, как это выяснить

Почему Wi‑Fi в самолете такой ужасный, дорогой и до сих пор есть не везде?

6 hours 23 min ago

Вас когда-нибудь раздражал бортовой Wi‑Fi?

Вы не одиноки. Почему интернет в самолете такой медленный и дорогой? Ведь на земле у всех прекрасно, видео в 4K летает, а тут еле письмо уходит. Неужели авиакомпании просто жадничают? Дело не в жадности.

Просто обеспечить быстрый интернет на высоте 10 км непросто. Давайте разберёмся, как работает бортовой Wi‑Fi, почему он столько стоит и почему, несмотря на технический прогресс, в ближайшие годы вряд ли стоит ждать в небе домашних скоростей.

ding!

3D-реконструкция древних городов: Теночтитлан/Мехико

6 hours 33 min ago

Сохранилось немало картин и карт из средневековья, но они часто стилизованы и лишены реализма. В результате современные люди слабо представляют то время. Лишь отдельные бытовые мелочи, такие как новгородские берестяные грамоты, дают возможность взглянуть на бытовую сторону жизни цивилизованных новгородцев 12−13 вв.

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

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

Читать далее

AdGuard DNS: от нуля до 100 000 000 пользователей через боль

6 hours 34 min ago

Современный DNS — это не только соответствие доменов IP-адресам, но и целое распределенное хранилище различных метаданных (SVCB-, HTTPS-записи, всевозможные верификации и публичные ключи).

Сегодня расскажем, как проект стал одним из основных DNS-сервисов в мире. Статья написана на основе доклада технического директора AdGuard Андрея Мешкова и директора по инфраструктуре AdGuard Константина Замякина в рамках Профессиональной конференции разработчиков высоконагруженных систем Saint HighLoad++ (июнь-2025).

Читать далее

Создаем GUI на Python: от простого скрипта к Markdown-редактору с Flet

7 hours 12 min ago

В этой статье мы познакомимся с Flet — революционным фреймворком, который позволяет делать именно это. Flet дает вам возможность создавать интерактивные GUI на чистом Python, а для отрисовки использует мощный движок Flutter. Результат — быстрые, красивые и нативные приложения для Windows, macOS, Linux и даже для веба, без необходимости писать ни строчки на Dart или JavaScript.

Читать далее

Как строится внутренняя исследовательская лаборатория в IT: от миссии до метрик успеха

7 hours 20 min ago

Короче, вот что я поняла за годы работы: в крупных цифровых продуктах UX‑исследования — это уже не «было бы круто», а must‑have. Без них ты просто не выживешь в конкурентной среде. Но вот между тем, чтобы сказать «ой, исследования важны

[Перевод] Наука утверждает, что психологический пик человека приходится на возраст 55-60 лет

7 hours 25 min ago

По мере того как ваша молодость уходит в прошлое, вы можете начать бояться старения.

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

И это знание объясняет, почему люди в этом возрасте могут быть лучшими в решении сложных задач и лидерстве на рабочем месте.

Читать далее

Заменяем лишние if-проверки на assert для инвариантов кода в C/C++

7 hours 28 min ago

Многие разработчики привыкли везде ставить if-проверки, даже для условий, гарантированных кодом. Зачем проверять то, что не может нарушиться? Такие проверки создают шум в коде и мусор в релизе. Assert решает эту проблему: документирует допущения и исчезает из финальной сборки. В статье покажу все преимущества assert'ов и предостерегу от подводных камней их использования.

Читать далее

Что делать, когда нашел эксплойт: шпаргалка, как помочь владельцу решения

7 hours 35 min ago

Привет! Я Никита, инженер-инсталлятор в Selectel. Представьте ситуацию: вы нашли уязвимость и понимаете, что ее можно воспроизвести. Цель — помочь владельцу сервиса закрыть дыру быстро и безопасно. Но до контакта важно остановиться и взвешенно проанализировать собственные действия. Чтобы вам было чуть проще сориентироваться «на месте», собрали ключевые советы и рекомендации под катом. 

Под кат →

[Перевод] Как мы освободили 7 ТиБ памяти

8 hours 42 min ago

Многие команды работают с кластерами Kubernetes побольше нашего. В них больше узлов, больше подов, больше ingress и так далее. По большинству размерностей нас кто-нибудь, да побеждает.

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

Проблема сильно усугубляется, когда daemonset должен выполнять listwatch пространств имён или сетевых политик (netpol), которые мы определяем для каждого пространства имён. Так как daemonset запускают под в каждом узле, каждый из этих подов выполняет listwatch одних и тех же ресурсов, из-за чего объём используемой памяти увеличивается при росте количества узлов.

Хуже того — эти вызовы listwatch серьёзно нагружали apiserver. Если одновременно перезапускалось множество подов daemonset, например, при развёртывании, то они могли перегрузить сервер запросами и вызвать реальный вылет.

Читать далее

С go на C++ за две недели. Переписываю эмулятор ZX Spectrum

8 hours 44 min ago

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

Другим движущим фактором все-таки была бесплатность БЯМок от cloud.ru (не реклама, да и бесплатности больше нет). Ну где еще можно на халяву пожечь сотни миллионов токенов и получить хоть что-то работающее?

В общем, я принял волевое решение переписать все на С++. Под катом дневник "переписчика", в котором я последовательно описываю все боли и страдания начинающего писателя эмуляторов. Желающим сразу посмотреть на конечный результат можно сходить на https://github.com/kiltum/zxcpp

Читать далее

Инвертор напряжения или Inverting Buck-Boost

8 hours 50 min ago

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

Читать далее

[Перевод] Ранняя история алгебраических типов данных

8 hours 54 min ago

Это началось со статьи "Алгебраические типы данных на самом деле не такие страшные". Мы знаем о типах-суммах и типах-произведениях. Но задумывались ли вы когда-нибудь о том, откуда они получили такие имена, и как вообще были открыты они и их свойства? Я провел последнюю неделю в кроличьей норе истории, и я просто обязан поделиться тем, что я нашёл.

Читать далее

Как выстроить процесс работы с техническим долгом

9 hours 8 min ago

Как систематизировать работу с техническим долгом

Техдолг растёт, пока его никто не контролирует. Мы решили это так: выделили отдельную доску в Jira, разделили процесс на Backlog → To Discuss → Ready for Development → В работе, проводим регулярный груминг, оцениваем и приоритизируем задачи, сделали быстрые фильтры и дашборд для контроля времени.

Результат: прозрачность и приоритетность задач, техдолг перестал копиться «в стол», стало проще брать задачи без хаоса, улучшилось качество кода, выросла инициативность команды.

Читать далее

Ученые из МФТИ выяснили, сколько данных нужно для ИИ

9 hours 19 min ago

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

Коллектив ученых из Московского физико-технического института предложил два новых метода для решения этой задачи, основанных на анализе функции правдоподобия с использованием техники бутстрэпа.  Работа опубликована в журнале Computational Mathematics and Mathematical Physics.

Читать далее

[Перевод] Микробиом опухоли: скрытая сигнатура опухолей помогает при диагностике и лечении

10 hours 4 min ago

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

Читать далее

Телеграм опять щемят в России, а также блокировки Revolut для россиян

10 hours 8 min ago

Самые интересные новости финансов и технологий в России и мире за неделю: российским операторам запретили рассылать смс-коды для Telegram, Аяза Шабутдинова посадили на 7 лет, первый штраф за рекламу в Инстаграме, рекордная капитализация Nvidia на $5 трлн, реорганизация OpenAI в коммерческую компанию, а также предзаказ домашнего робота Neo за $20к.

Читать далее

Что нужно знать операторам связи о критической информационной инфраструктуре

10 hours 10 min ago

Более 50 тысяч информационных систем на российских предприятиях ― объекты критической инфраструктуры. Объясня., что это означает.

Еще в июле 2024 года Госдума приняла в первом чтении законопроект о переходе объектов критической информационной инфраструктуры на использование российского ПО.

Выполнение требований закона влечет рост расходов компаний, в том числе операторов связи, ведь все они ― субъекты КИИ. Как соответствовать требованиям и справляться с дополнительной нагрузкой на бизнес?

Читать далее

Код, понятный IDE и AI: использование атрибутов из JetBrains.Annotations

10 hours 33 min ago

У JetBrains есть фреймворк JetBrains.Annotations для .NET, который предоставляет набор полезных атрибутов. Они выступают дополнительными метаданными для статического анализатора JB, который включён в их IDE и ReSharper, для самих разработчиков и даже для нейросетей, которые работают с этим кодом.

Какие атрибуты доступны, как и где ими воспользоваться — об этом кратко и с примерами далее.

Читать далее

Нужны ли виртуальные машины?

15 hours 58 min ago

Я задал это вопрос ИИ (Google) и получил ответ:

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

Основные причины, зачем нужны виртуальные машины:

Запуск нескольких ОС: Позволяют использовать Windows на Mac или, наоборот, запускать различные операционные системы в отдельных окнах на вашем компьютере.

Тестирование: Можно безопасно тестировать новое или подозрительное программное обеспечение, не боясь навредить основной системе. Это особенно актуально для тестирования приложений на разных платформах (например, на Windows и Linux).

Изоляция и безопасность: ВМ создают изолированную среду. Если в виртуальной машине произойдет сбой или она заразится вирусом, это не повлияет на работу основной операционной системы.

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

Гибкость и масштабируемость: ВМ легко создать, настроить и перенести. Это позволяет компаниям быстро адаптироваться к меняющимся нагрузкам и легко масштабировать свои ресурсы.

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

Разберемся с каждым пунктом по отдельности.

Читать далее

Who's online

There are currently 0 users and 10 guests online.