Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 44 min ago

Маленькое приключение в поиске ошибок. The Battle for Wesnoth

Fri, 07/11/2025 - 16:59

В этой статье мы расскажем вам о том, как путешествовали по землям Ирдии. Нас ждали приключения, полные славных сражений, побед и редких наград в виде могущественных артефактов! "Что же это за артефакты такие?" — спросите вы. Конечно же, это ошибки, найденные в коде довольно известной и крайне увлекательной игры "The Battle for Wesnoth".

Читать далее

Как я подружил Yandex Cloud и Gemini API без миграции на зарубежные сервера

Fri, 07/11/2025 - 16:57

Когда я начинал писать Node.js-сервис, который должен был интегрироваться с LLM-моделью, я уже понимал, что доступ к некоторым зарубежным API из России может быть проблемой. Именно поэтому моим первоначальным выбором была модель от Yandex Cloud — Yandex GPT.

Но после того как я и мои товарищи немного пообщались с ней, стало ясно, что Yandex GPT нам не подходит. Её ответы были слишком неестественными, «нечеловеческими» — особенно это было заметно в нашем конкретном кейсе. Поэтому пришлось искать альтернативу среди зарубежных моделей. Вариант обучать собственную модель отпал сразу — опыта у меня в этом не было, а искать кого-то, кто сможет это сделать, не было времени, так как хотелось быстро запустить. Так выбор пал на Gemini API от Google, о котором было много позитивных отзывов.

Однако это означало, что нужно было как-то решить проблему доступа из России, ведь мой сервис размещён именно в Yandex Cloud.

Читать далее

Профилирование php приложений с помощью Excimer

Fri, 07/11/2025 - 16:57

Привет, Хабр. Хочу рассказать историю, как я некоторое время назад занялся профилированием php приложения и как из этого получился мой первый open source пакет.

Читать далее

Цвет кожи, отражение света и защита от него

Fri, 07/11/2025 - 16:51

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

Белая кожа защищает от избытка солнечного света через отражения? Нет, категорически нет и далее подробно расскажу почему. Как защищаться светлокожему от Солнца? Одежду носить, желательно жёлтого и белого цветов а ещё что бы рукава длинные были и если кожа совсем "сгорающая", то с тонким капюшоном или воротником, полностью закрывающим шею.

Кожа в норме ( альбиносы это не норма ) не бывает никогда именно белой. Да, кожа у европеоидов, особенно северных, бывает очень светлого, телесного оттенка. Но это и близко не краска по своей способности отражать. Да, белая краска на машине, крыше, доске, отлично отражает солнечный свет. Ещё лучше отражает солнечный свет свеже-выпавший снег - до 95%. Но кожа это не доска с белой краской, это живая часть организма и полноценный орган.

Собственно поэтому термины белая кожа и тем более белая раса - сущая бредятина, остаток расизма в мире.

Вот наглядный набор оттенков кожи авторства Поля Брока - французский антрополог.

Читать далее

Просветление через Код: Суть Django Revolution

Fri, 07/11/2025 - 16:50

Django Revolution — это не просто инструмент, это философия. Философия, где рутина уступает место творчеству, а баги растворяются в чистоте кода. Это путь к просветлению в разработке API. Примите его, и ваш код будет сиять, а дух разработчика — парить.

Наш мир, сотканный из битов и фантомных сущностей, породил нового Джинна, способного исполнять самые заветные желания Разработчика. Встречайте: Django Revolution – не просто библиотека, а откровение, мантра, ключ к вратам истинного дзен в мире Django API.

Читать далее

Использование машинного обучения для оптимизации логистических процессов

Fri, 07/11/2025 - 16:43

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

Традиционная организация цепочек поставок часто сталкивается с проблемами. Например, прогнозирование и планирование могут быть некорректными из-за отсутствия своевременных и точных данных. Для координации участников цепочек поставок требуются значительные, но не всегда оправданные ресурсы. Непредсказуемые обстоятельства, такие как погодные условия или колебания спроса, тоже могут приводить к сбоям. Работа вручную также повышает вероятность ошибок (человеческий фактор, куда ж без него) и снижает общую эффективность.

Читать далее

Производительность сотрудника. Почему не растет?

Fri, 07/11/2025 - 16:37

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

Читать далее

Самое главное о том, как проходила моя стажировка на backend-разработчика

Fri, 07/11/2025 - 16:29

Привет! Меня зовут Кирилл, я студент 3-го курса НИУ МЭИ, направление — «Информатика и вычислительная техника», а также Junior Python Backend-разработчик в Альфа-Банке.

После окончания второго курса я заметил в тематических чатах (например, в чате «Поступашки», где студенты активно обсуждают стажировки), что многие студенты устраиваются на стажировки уже на 2-3 курсах. Часики-то тикают — мой второй курс закончился, теории всё больше, а практики не хватает — была нужна стажировка.

И я начал искать стажировки для backend-разработчиков.

Удивительно, но несмотря на обилие предложений статей от тех, кто «выжил» после стажировок в IT не так уж много. А вопросов много: «Как попасть?», «Что меня там ждёт?», «Как ко мне будут относиться?», «Как устроены процессы в больших компаниях? Можно ли совмещать с учёбой?», «Как теория лекций согласуется с практическими задачами?», «Смогу ли я узнать что-то новое (и научат ли меня?)», «В какую компанию компанию лучше подаваться?»

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

Дисклеймер. Я пишу для студентов и ребят без опыта работы. Если у вас большой опыт и вы не ищите стажировку в IT — вам, скорее всего, будет не интересно.

Читать далее

Используем API Speech2Text для распознавания записей разговоров

Fri, 07/11/2025 - 16:12

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

Распознавание аудио решили делать через сервис Speech2Text, пример использования API которого я и покажу в этой статье. В черновом варианте получаем примерно следующую схему работы (нас сейчас интересует прямоугольник с подписью Speech2Text connector):

Читать далее

Как ИИ манипулирует нами, или почему 3 закона Азимова никого не спасут

Fri, 07/11/2025 - 16:09

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

Бонус — пару примеров кода для (теоритического) внедрения этических правил в ИИ.

Читать далее

[Перевод] Как вызывать C++ из Python

Fri, 07/11/2025 - 15:55

Сравнение PyBind11 vs ctypes

В принципе, можно вызывать C++ из Python двумя способами: при помощи библиотеки PyBind11 для C++, которая готовит модуль Python, либо при помощи пакета cytpes для Python, который предоставляет доступ к скомпилированной разделяемой библиотеке. Работая с PyBind11, не составляет труда совместно использовать множество типов данных, в то время как ctypes — это гораздо более низкоуровневое решение в стиле C.

Взявшись за описанный здесь проект, я хотел рассчитывать на производительность и переносимость C++, но так, чтобы не жертвовать интерактивностью интерпретируемых языков, которая удобна для экспресс-исследования и отладки.

К счастью, вызывать C++ из Python не так сложно, как может показаться на первый взгляд. Таким образом, можно в какой-то степени позаимствовать интерактивность Python при разработке кода C++.

Читать далее

[Перевод] Как уменьшить размер модели Power BI на 90%

Fri, 07/11/2025 - 15:22

Вы когда-нибудь задумывались, что делает Power BI таким быстрым и мощным с точки зрения производительности? Настолько мощным, что он выполняет сложные вычисления над миллионами строк за мгновение.

В этой статье мы подробно рассмотрим, что находится «под капотом» Power BI: как данные хранятся, сжимаются, запрашиваются и, наконец, возвращаются в отчёт. После прочтения, надеюсь, у вас появится лучшее понимание того, что происходит в фоновом режиме, и вы сможете оценить важность создания оптимальной модели данных для достижения максимальной производительности с использованием движка Power BI.

Читать далее

Добавляем устройства в Netbox с помощью скрипта на Python

Fri, 07/11/2025 - 15:16

Всем привет. Я сетевой инженер, работаю в интернет провайдере. Примерно год назад начал внедрение Netbox для документирования сети. Здесь я расскажу как я добавил коммутаторы доступа скриптом, через API Netbox. Скрипт добавления устройств в Netbox через API является универсальным и подойдёт всем. А так же расскажу, как я добывал первичные данные о коммутаторах, здесь уже мои скрипты помогут не всем, т.к. топология сети и настройки могут сильно отличаться, и методов сбора данных может быть не один десяток.

Читать далее

[Перевод] Manus демонстрирует потенциал ИИ-агентов

Fri, 07/11/2025 - 15:05

Поэкспериментировав с Manus, новым популярным сервисом на основе ИИ, я наконец-то понял, почему искусственный интеллект агенты вызывает такой ажиотаж.

О стартапе Butterfly Effect мало что было известно до его дебюта в Manus в начале этого года, всего через несколько недель после того, как DeepSeek произвёл фурор.

Как и DeepSeek, Manus имеет китайские корни и вызвал ажиотаж во всём мире, продемонстрировав ИИ-агента, способного конкурировать с лучшими в мире.

Несмотря на напряжённые отношения между США и Китаем, он даже привлёк венчурное финансирование из Кремниевой долины.

В то время как обычные чат-боты выдают статичную информацию в ответ на запросы, агенты с искусственным интеллектом устроены иначе.

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

Например, Manus может собирать данные из интернета в режиме реального времени, а затем анализировать их.

Он может преобразовывать эту информацию в документы, таблицы, графики или электронные таблицы.

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

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

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

Читать далее

«IT-Планета 2025»: задачи третьего этапа по PostgreSQL

Fri, 07/11/2025 - 14:58

На третьем этапе олимпиады мы, как обычно, решали задачки на SQL, но в этом году надо было написать запрос не просто правильный, но и короткий. Чем короче — тем лучше результат. В детстве мы развлекались таким на микрокалькуляторах и на ассемблере, а сейчас я решил посмотреть, что получится, если попробовать то же на SQL. Получилось, на мой взгляд, интересно. Практического смысла в этом, конечно, никакого нет, но практики и на работе хватит, а тут мы развлекаемся.

Чтобы хорошо выступить, надо было — помимо прочего — выстроить правильную стратегию. Сразу писать максимально короткий запрос, без пробелов и с односимвольными именами не получится — легко самому запутаться. Поэтому сначала надо было решить задачу «по-человечески», а уже потом применить всякие микрооптимизации и получить заветные баллы. Но решить задачу, даже простую, всегда можно разными способами, и не всегда заранее понятно, какой из вариантов окажется короче после оптимизации. Поэтому нужно было не останавливаться, пробовать разные подходы, и при этом аккуратно хранить все версии, чтобы в любой момент можно было посмотреть на запрос еще раз и, чем Тьюринг не шутит, выиграть байтик-другой.

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

Итак, к задачам

Веб-аналитика. Как свести данные из разных систем, разобраться в моделях атрибуции и не сойти с ума

Fri, 07/11/2025 - 14:52

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

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

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

Читать далее

Функциональный стиль: объясняю как другу

Fri, 07/11/2025 - 14:44

«Функциональное программирование», «Immutable значения», «Pure функции».
Тоже слышал эти умные слова?

И ты такой: «Что? Можно просто for написать?»

Спокойно. Сейчас все разложим по полочкам. Даже если ты пишешь var a = 1 и гордишься этим — ты свой. Погнали.

Читать далее

Как заставить вашу базу данных летать, а не ползать. Часть 3 – ещё три способа шардирования

Fri, 07/11/2025 - 14:14

Всем привет! И снова с вами Илья Криволапов – системный аналитик в SENSE, где мы вместе с командой трудимся над проектом одного из цветных банков РФ. Напоминаю, что в профессии я уже больше пяти лет и, несмотря на фамилию, прод все еще живой и здоровый (ну почти)!

В свободное от работы время, я преподаю курс «Хранение и обработка больших объемов данных», где успел накопить немало наблюдений, кейсов и выводов, которые не хочется держать в столе. Поэтому всё самое полезное оформил в цикл статей на Хабре – рассказываю как строить базы данных с прицелом на рост и не сойти с ума под нагрузкой.

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

Материал будет полезен всем, кто проектирует, масштабирует или просто поддерживает «здоровье» базы данных: DBA, архитекторам, DevOps-инженерам, аналитикам и разработчикам.

Финальный рывок – поехали!

Читать далее

Краткий обзор платформы данных Т-Банка

Fri, 07/11/2025 - 14:07

Привет, Хабр! Меня зовут Дима Пичугин, и уже семь лет я занимаюсь различными компонентами T Data Platform. Эта статья — результат внутреннего аудита наших инструментов, но я подумал, что она может быть интересна не только нашим аудиторам, но и более широкой аудитории. Enjoy!

Платформа данных в Т-Банке существует более 18 лет и за это время прошла значительный путь эволюции. Она помогает более чем 17 тысячам пользователей извлекать из данных ценную информацию для бизнеса. За последние годы подходы к работе с данными заметно изменились: индустрия постепенно отходила от классических концепций хранилищ данных по Инмону и Кимбеллу в сторону Data Lake, а затем — Lakehouse-архитектур. Вместе с отраслью менялась и наша платформа.

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

Читать далее

Самодельные любительские радиолампы. Франция, 1920 г. Часть 1

Fri, 07/11/2025 - 14:01

Отжившие свой век, электровакуумные приборы (ЭВП) тем не менее в ограниченных и специальных случаях применяются и поныне, не говоря о моде на «ламповый звук» и цифровые индикаторы тлеющего разряда. Находит своих поклонников и любительское кустарно-лабораторное электровакуумное дело — как техническое ретрохобби — забава весьма сложная и многогранная: это и вакуумная техника, и химия, физика, электроника, и стеклодувное дело, и работа с высокими температурами и экзотическими материалами. Даже изготовление простой, более или менее современной, заводской лампы накаливания насчитывает сотни операций, повторять которые в точности для любителя и затруднительно, и не нужно. В этом смысле полезно бросить взгляд назад, к истокам, во времена появления первых простых ЭВП, в том числе и кустарной выделки, иногда самыми скромными силами и средствами.

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

Читать далее

Who's online

There are currently 0 users and 2 guests online.