Habr.com

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

Маршрутизация в одноранговых сетях

Wed, 08/06/2025 - 01:53

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

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

Читать далее

Консолидация памяти — или как избежать альцгеймера у LLM

Wed, 08/06/2025 - 01:33

Просыпаюсь утром, открываю свой чат с GPT, начинаю увлеченно обсуждать архитектуру нового проекта. Через час диалог превращается в философский трактат о смысле жизни, еще через час - в рецепт борща. И вот, когда я пытаюсь вернуться к архитектуре, модель смотрит на меня как на незнакомца: "А что за проект? Борщ, говорите?"

Если очень коротко, у современных LLM есть одна маленькая проблема, они вполне страдают тем же самым “альцгеймером”, что и люди, хоть и причины немного иные (а может и нет) и это конечно не медицинский диагноз, а конкретная технологическая проблема, которое бьет не только по качеству результата, но и по нашим с вами кошелькам :)

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

Читать далее

anton@gmail.com, anton+habr@gmail.com, an.ton@gmail.com — почему всё это один и тот же имейл

Wed, 08/06/2025 - 00:58

Однажды у нас в CRM появились 3 загадочных клиента. С каждым вёл переговоры отдельный продавец. А потом выяснилось, что эти клиенты — один и тот же человек с одним и тем же имейлом.

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

Спойлер: это не связано с европейским регламентом по защите данных (GDPR) и правом клиента быть забытым (потребовать от компании удаления всей информации о себе).

Читать далее

Системный и бизнес-аналитик: кто есть кто

Wed, 08/06/2025 - 00:37

Специальности системного и бизнес-аналитика часто путают. Более того, в реалиях российского бизнеса многие работодатели стараются сэкономить объединить обе эти роли, чтобы их выполнял один человек.

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

Читать далее

Гайд на сборку OpenVela для STM32 из-под WSL от 16-летнего отрока

Wed, 08/06/2025 - 00:23

В этой статье мы соберем ОСРВ OpenVela от Xiaomi под отладочную плату STM32F411CEU6, используя WSL, который официально вроде как не поддерживается.
Эта ОС базирована на Apache Nuttx и имеет много фич от Xiaomi, включая HyperConnect.

В комплекте также небольшая предыстория от автора.

Цум Интрестинг

[Перевод] Обернуть инструменты раковых клеток на пользу организма

Wed, 08/06/2025 - 00:08

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

Читать далее

Flux Kontext проигрывает ControlNET: уроки новичкам

Wed, 08/06/2025 - 00:03

В первой части мы уже баловали Flux Kontext «девушками и котиками». Сегодня усложним задачу и проверим, как модель справляется с контурными подсказками, заменой цвета/фона и текстурированием 3D‑объектов в интерфейсе Forge WebUI — а заодно сравним результаты с классическим ControlNet (ControlNET для SD 1.5 и SDXL и FluxTools-V2 для Flux) и с ChatGPT.

В рамках этой статьи мы рассмотрим:

1.     Генерацию замка по контуру, с дальнейшей заменой кирпича на розовый цвет;

2.     Генерацию ювелирных часов, с дальнейшей заменой фона на чёрный цвет;

3.     Генерация текстур (битое стекло, лёд, хвоя, шерсть, морская пена) для 3D-текста "DMITRII DAK" (мой никнейм в сети);

4.     Сравнение Flux Kontext с ChatGPT, FluxTools-V2 и с ControlNet SD1.5 и SDXL.

По ходу покажу метрики времени и VRAM, а в финале подведу итоги: где Flux Kontext выигрывает, а где ControlNet остаётся незаменимым. Так же по стандарту проверим генерацию по плану на ChatGPT и с помощью FluxTools-V2.

Читать далее

Как легально активировать Windows 11 навсегда — подобрали безопасные способы

Tue, 08/05/2025 - 23:48

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

Читать далее

Почему наш мир — это забагованная ОС. IT-метафора гностиков

Tue, 08/05/2025 - 23:46

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

Читать далее

Нужно ли в PHP перед вызовом функций ставить обратный слэш?

Tue, 08/05/2025 - 23:24

Несколько лет назад я прочитал статью «How to dump and inspect PHP OPCodes» в которой наконец увидел, что опкоды в PHP действительно существуют. И кроме того, мы, разработчики, которые пишем на PHP на эти опкоды можем влиять, тем самым оптимизируя производительность нашего кода. В статье так же рассказывалось о том, как применение бэкслэшей может ускорить выполнение программ. Я был под впечатлением...

Опкодами (см. Код операции) называется некий промежуточный код, который всё ещё понятен человеку и который выполняется некой исполняющей средой. В случае PHP этой средой является Zend Virtual Machine (она же Zend Engine).

Технология опкодов и виртуальной машины не является чем то уникальным для PHP. Подобный подход использует Java, где опкоды компилируются в их бинарное представление и выполняются Java VM. Исходные коды Java-программ хранятся в файлах с расширением .class (потому что в Java искодники хранятся только в виде классов), а скомпилированные опкоды в файлах с расширением .java. В PHP же исходные коды программ хранятся в файлах с расширением .php. А вот опкоды не хранятся нигде, что вызвало к жизни многочисленные расширения, самым популярным из которых на сегодняшний день является OPcache.

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

Оговорюсь, что в рамках этой статьи я буду называть функции типа explode глобальными, дефолтыми или стандартными подразумевая одно и тоже. Хотя у PHP и есть стандартная библиотека, которая скорее мертва, чем жива, как впрочем и весь PHP :)

Читать далее

C#, Логи которые пишут себя сами, 2

Tue, 08/05/2025 - 23:13

Всем привет.

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

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

Ниже я подробно опишу применение этого способа автоматического логирования.

Читать далее

Тимлид, отдай свой код

Tue, 08/05/2025 - 23:03

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

Как только я стал руководителем, я сделал всё, чтобы перестать писать код, ведь это же базовая база, мол ты же руководитель - давай РУКОВОДИ, для кода есть разработчики!

И так я сгорел

Снижение рисков при создании ИТ-продуктов: формирование критериев добросовестности для ИТ-субъектов

Tue, 08/05/2025 - 23:02

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

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

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

Читать далее

ClickHouse не тормозит, но теряет данные. Часть 2 — от буферных таблиц к Kafka Engine

Tue, 08/05/2025 - 23:00

ClickHouse не тормозит, но теряет данные. Набор простых действий с объяснениями, позволяющий избежать потери данных.

Читать далее

Роль каталога данных в безопасности T Data Platform

Tue, 08/05/2025 - 22:48


Привет, Хабр! На связи Дима Пичугин, тимлид в направлении комплаенса и безопасности данных. В статье рассказываю о пользе, которую подразделение информационной безопасности Т-Банка получило от каталога данных Data Detective и процессов вокруг него. 

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

Читать далее

Серьезные проблемы Интернета последних лет, уничтожающее его как кладезь знаний и информации

Tue, 08/05/2025 - 22:15

Я пользователь сети Интернет с 2006 года. Активно занимался веб‑серфингом всегда — изучал стремительно набирающий популярность новый видеохостер YouTube, со скудным на тот момент контентом, общался в социальных сетях Вконтакте, Мой мир Mail.ru, MySpace, Facebook, сидел в мессенджерах ICQ и mail.ru, застал групповые аудиочаты с незнакомцами в Skype (который, кстати, компания спешно отключила из за огромного количества мата, оскорблений, национализма и токсичности), читал ленту Bash, устанавливал и юзал программы, игры и вирусы на Symbian версий 6x и 7x. Но самое главное — было прочитано огромное, бесчисленное количество форумов по различным вопросам, в основном на технические темы.

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

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

Читать далее

Этапы и принципы развития навыка говорения

Tue, 08/05/2025 - 22:03

Есть 2 разных способа говорения на иностранном языке. Они именно принципиально разные – как лазерная и струйная технологии печати. И нарабатываются по-разному. Непостижимым образом многие, кто мечтает «заговорить», этого не осознают. Речь пойдёт и о менее очевидных моментах развития навыка говорения. Это улучшенная версия старой статьи.

«Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка». Эту фразу из несуществующих слов предложил в начале XX века академик Л.В. Щерба. Из неё ясно, что «будлану́ла» — действие, которое ку́здра (ж.р.) совершила в отношении бо́кра (м.р.); бокрёнок, скорее всего, детёныш бокра. Для русского это очевидно сразу. Иностранцу придётся сначала выучить русский. Фраза показывает, что язык — это НЕ СЛОВА. Слова легко переходят из одного языка в другой. Язык  это принципы, по которым слова связываются друг с другом.

В том, чтобы научиться говорить, ничего сложного нет — проблема это придуманная. А все неудачи от того, что люди, как говорится, put the cart before the horse, ставят телегу впереди лошади. Пытаются говорить, не понимая, как связываются слова в языке. Это как пытаться бегать, не научившись ходить.

Не будем обсуждать руссо туристо, объясняющихся знаками и инфинитивами. Выделим три уровня «говорения»:

1-й уровень: говорим по-простому, но плюс-минус грамматически правильно. Например, не зная выражения «прикрой форточку», говорим проще: «закрой маленькое окно, но не до конца».

2-й уровень: говорим на конкретные темы именно теми фразами, которые используют носители языка («прикрой форточку»).

Читать далее

Парадокс мотивации

Tue, 08/05/2025 - 22:00

«Парадокс мотивации» — новое издание книги, написанной исследователем, преподавателем в области теории воспитания и психологии Альфи Коном. Первое издание называлось более сложно: «Наказание наградой: что не так со школьными оценками, системами мотивации, похвалой и прочими взятками» («Punished by Rewards: The Trouble with Gold Stars, Incentive Plans, A's, Praise, and Other Bribes»).

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

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

Читать далее

[Перевод] Как и зачем инженерам уровня Senior развивать стратегическое мышление

Tue, 08/05/2025 - 21:47

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

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

Читать далее

Как я заменил кучу флагов двумя словарями в Python

Tue, 08/05/2025 - 21:24

Я создаю приложение с GUI для сбора и обработки данных с микроконтроллера на Python с помощью PyQt. И вот я наконец-то доделал часть функционала, предназначенного для взаимодействия компьютера с платой STM32, теперь необходимо было сделать интерфейс для обработки данных, в котором легко можно было бы настраивать параметры выполнения программы. Я начал думать, как не вносить в программу кучу флагов с соответствующими if-else конструкциями, и вот, что я придумал.

Читать далее

Who's online

There are currently 1 user and 1 guest online.