Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 1 час 30 мин. назад

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

6 часов 37 мин. назад

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

Читать далее

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

6 часов 45 мин. назад

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

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

6 часов 50 мин. назад

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

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

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

Читать далее

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

6 часов 53 мин. назад

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

Читать далее

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

7 часов 15 сек. назад

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

Под кат →

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

8 часов 7 мин. назад

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

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

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

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

Читать далее

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

8 часов 9 мин. назад

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

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

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

Читать далее

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

8 часов 15 мин. назад

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

Читать далее

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

8 часов 19 мин. назад

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

Читать далее

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

8 часов 33 мин. назад

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

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

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

Читать далее

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

8 часов 44 мин. назад

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

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

Читать далее

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

9 часов 29 мин. назад

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

Читать далее

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

9 часов 33 мин. назад

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

Читать далее

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

9 часов 35 мин. назад

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

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

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

Читать далее

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

9 часов 58 мин. назад

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

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

Читать далее

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

15 часов 23 мин. назад

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

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

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

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

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

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

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

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

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

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

Читать далее

ИИ в белом халате: как он учится ставить диагнозы в виртуальной клинике

18 часов 27 мин. назад

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

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

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

Читать далее

Даем голос ESP: Уведомления в Telegram и ntfy

18 часов 28 мин. назад

В прошлой статье  мы рассмотрели, как отлаживать код, загружать отредактированные файлы и удалять ненужные файлы на устройстве прямо из браузера (беспроводное управление устройством) через WebREPL и через uPyLoader. Теперь научим устройство "говорить" — отправлять нам сообщения  через систему push-уведомлений популярных мессенджеров.

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

Мы протестируем две системы уведомлений:

Telegram-бот — для ESP32, который будет отображать сообщения от модуля, обладающего достаточными ресурсами  для обработки SSL-шифрования, требуемого Telegram API.

Продолжаем

Ноябрь 2025. Астрономический календарь

19 часов 5 мин. назад

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

Читать далее

Пишем свою мобильную ОС с нуля на Rust

вс, 11/02/2025 - 23:55

Почему бы не запустить своё ядро прямо на смартфоне? Без Android, без Linux — только Rust, загрузчик и паяльник. В этой статье расскажу о результатах своего эксперимента, как оживить голое ARM-железо, увидеть первые символы в UART и даже вывести что-нибудь на экран.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 6 гостей.