С развитием всемирной паутины особую популярность набирают децентрализованные системы, основанные на одноранговых (P2P, пиринговых — эти термины являются синонимичными) сетях. В отличие от традиционных централизованных клиент-серверных моделей, где центральным звеном выступает сервер, обслуживающий клиентов, в одноранговых (децентрализованных) сетях все участники равноправны — здесь отсутствует иерархия и выделенный сервер. Любой участник сети может обмениваться информацией с любым другим, при условии соблюдения правил, или протоколов, используемых в таких сетях.
Стержнем, объединяющим разнородных участников в единую сеть, является возможность обмена информацией между ними. В клиент-серверных системах сетевое взаимодействие организовано достаточно тривиально: все компоненты подключены к центральному узлу — серверу, через который осуществляется передача данных от источников к получателям. В децентрализованных системах ситуация принципиально иная: отсутствует единый коммуникационный центр, и все участники взаимодействуют напрямую друг с другом. Именно поэтому организация сетевого взаимодействия в таких системах представляет собой гораздо более сложную и нетривиальную задачу.
Просыпаюсь утром, открываю свой чат с GPT, начинаю увлеченно обсуждать архитектуру нового проекта. Через час диалог превращается в философский трактат о смысле жизни, еще через час - в рецепт борща. И вот, когда я пытаюсь вернуться к архитектуре, модель смотрит на меня как на незнакомца: "А что за проект? Борщ, говорите?"
Если очень коротко, у современных LLM есть одна маленькая проблема, они вполне страдают тем же самым “альцгеймером”, что и люди, хоть и причины немного иные (а может и нет) и это конечно не медицинский диагноз, а конкретная технологическая проблема, которое бьет не только по качеству результата, но и по нашим с вами кошелькам :)
В итоге, пройдя 10 кругов ада, так и решил наконец сесть и разобраться, а почему они начинают забывать все важные детали, а также можно ли как-то удешевить таки API в подобных задачах?
Читать далееОднажды у нас в CRM появились 3 загадочных клиента. С каждым вёл переговоры отдельный продавец. А потом выяснилось, что эти клиенты — один и тот же человек с одним и тем же имейлом.
Меня зовут Антон Григорьев, я работаю продуктовым дизайнером в финтех-компании и веду телеграм-канал UX Notes. В этой небольшой статье я расскажу, как такое случилось, может ли произойти у вас и о чём стоит дополнительно подумать при проектировании форм регистрации и входа.
Спойлер: это не связано с европейским регламентом по защите данных (GDPR) и правом клиента быть забытым (потребовать от компании удаления всей информации о себе).
Читать далееСпециальности системного и бизнес-аналитика часто путают. Более того, в реалиях российского бизнеса многие работодатели стараются сэкономить объединить обе эти роли, чтобы их выполнял один человек.
В этой статье мы попробуем на примерах разобраться в особенностях этих профессий, их сходствах и различиях.
Читать далееВ этой статье мы соберем ОСРВ OpenVela от Xiaomi под отладочную плату STM32F411CEU6, используя WSL, который официально вроде как не поддерживается.
Эта ОС базирована на Apache Nuttx и имеет много фич от Xiaomi, включая HyperConnect.
В комплекте также небольшая предыстория от автора.
Цум ИнтрестингРак – это комплексное заболевание. Раковые клетки не просто «размножаются», они встраиваются в работу организма, как отдельная полноценная система. И не только питаются нашими ресурсами, но и уверенно избегают атак со стороны иммунитета. Вот эта гибридная защита от иммунитета и легла в основу препаратов от аутоиммунных заболеваний.
Читать далееВ первой части мы уже баловали 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 — новейшая операционная система от Microsoft с обновленным интерфейсом, повышенной производительностью и усиленными средствами безопасности. Однако официальная цена сильно бьет по бюджету, так что в этом гайде мы разберем все легальные способы сэкономить при переходе на актуальную операционку.
Читать далееЛюбой, кто серьезно размышляет о будущем и технологиях, рано или поздно сталкивается с аргументом о симуляции Ника Бострома. Его знаменитая трилемма является одной из самых элегантных и тревожных построений в современной философии, которое активно обсуждается, в том числе и на Хабре.
Читать далееНесколько лет назад я прочитал статью «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 :)
Читать далееВсем привет.
Я написал статью о том, как «за бесплатно», системными методами, сделать так, чтобы логи писали себя сами. Статья описывает как сделать так чтобы в логах отражались аргументы вызова метода и возвращаемый результат, при этом не обработанные исключения, тоже будут попадать в логи.
В первом же комментарии к той статье, мне дали ссылку на альтернативный способ. Способ через разработку атрибута и применение этого атрибута ко всем методам, которые хочется видеть в логах.
Ниже я подробно опишу применение этого способа автоматического логирования.
Читать далееНа своей прошлой работе, я руководил направлением B2C фронтендеров, я был что-то вроде функционального-руководителя, этакий "клей" между фронтами, сидящими в своих маленьких кросс-командах.
Как только я стал руководителем, я сделал всё, чтобы перестать писать код, ведь это же базовая база, мол ты же руководитель - давай РУКОВОДИ, для кода есть разработчики!
И так я сгорел
В статье рассматривается суть и природа добросовестного поведения ИТ-субъектов, которые готовы гарантировать создание высококачественных ИТ-продуктов в рамках выполнения ИТ-проектов, а также снижение до минимальных значений вероятность наступления нежелательных комплаенс-последствий для всех участников отношений и иных заинтересованных сторон.
Для достижения поставленной цели автором настоящей статьи был проведен анализ признаков добросовестного и недобросовестного поведения участников отношений, в том числе была изучена судебная практика, связанная с защитой прав от недобросовестного поведения контрагентов.
На основании проведенного исследования были сформулированы критерии добросовестности ИТ-субъектов, а именно отсутствие умысла на причинения материального ущерба заинтересованным сторонам и наличие эффективной и результативной системы управления рисками. Было установлено, что наличие умысла на причинение вреда характеризуется не только текущим поведением ИТ-субъектов (включение в контракт явно обременительных условий, сознательное нарушение норм действующего законодательства, использование некомпетентности участников сделки им во вред и др.), но и недобросовестными действиями, которые они совершали ранее в прошлых сделках. Также было обнаружено, что ответственность за реализацию превентивных мер по митигации рисков возложена на сторону, которая берет на себя обязательства выполнить работу по созданию ИТ-продукта. В частности, проведенное исследование показало, что если ИТ-субъекты заблаговременно, до заключения контрактов, не превентивно не воздействуют на 105 универсальных рисков, то во время выполнения работ заинтересованные стороны с большой вероятностью столкнуться с комплаенс-последствиями, которые будут способны негативно повлиять на процесс достижения проектных целей и причинять этим сторонам значительный материальный ущерб.
Читать далееClickHouse не тормозит, но теряет данные. Набор простых действий с объяснениями, позволяющий избежать потери данных.
Читать далее
Привет, Хабр! На связи Дима Пичугин, тимлид в направлении комплаенса и безопасности данных. В статье рассказываю о пользе, которую подразделение информационной безопасности Т-Банка получило от каталога данных Data Detective и процессов вокруг него.
Как человек, который стоял у истоков появления каталога данных в Т-Банке и выстраивал процессы защиты чувствительных данных, я надеюсь, что статья поможет кому-то избежать некоторых наших ошибок. При желании можно творчески позаимствовать некоторые из наших наработок для решения своих задач.
Читать далееЯ пользователь сети Интернет с 2006 года. Активно занимался веб‑серфингом всегда — изучал стремительно набирающий популярность новый видеохостер YouTube, со скудным на тот момент контентом, общался в социальных сетях Вконтакте, Мой мир Mail.ru, MySpace, Facebook, сидел в мессенджерах ICQ и mail.ru, застал групповые аудиочаты с незнакомцами в Skype (который, кстати, компания спешно отключила из за огромного количества мата, оскорблений, национализма и токсичности), читал ленту Bash, устанавливал и юзал программы, игры и вирусы на Symbian версий 6x и 7x. Но самое главное — было прочитано огромное, бесчисленное количество форумов по различным вопросам, в основном на технические темы.
С годами моя зона комфорта теряла свои компоненты, один за другим исчезали социальные сети, сайты становились заброшенными, последние сообщения на форумах датировались двух, четырехлетними записями, в мессенджерах все меньше людей было онлайн. Но это было нормально — происходило замещение на новые типы площадок, да и я сам остыл к сети Интернет, к гаджетам. Померк для меня даже образ великого сисадмина из Баша, в растянутом свитере, в своей админке, с пивом. Я воспринимал все происходящее естественной эволюцией Интернета, в том числе со сменой аудитории — старички уходят, молодежь приходит.
Но сейчас, в последние годы, я осознаю серьезную проблему, которая происходит на наших с вами глазах. Если вкратце — все мы, а особенно будущие пользователи сети, стремительно теряем невероятно огромный источник качественной информации.
Читать далееЕсть 2 разных способа говорения на иностранном языке. Они именно принципиально разные – как лазерная и струйная технологии печати. И нарабатываются по-разному. Непостижимым образом многие, кто мечтает «заговорить», этого не осознают. Речь пойдёт и о менее очевидных моментах развития навыка говорения. Это улучшенная версия старой статьи.
«Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка». Эту фразу из несуществующих слов предложил в начале XX века академик Л.В. Щерба. Из неё ясно, что «будлану́ла» — действие, которое ку́здра (ж.р.) совершила в отношении бо́кра (м.р.); бокрёнок, скорее всего, детёныш бокра. Для русского это очевидно сразу. Иностранцу придётся сначала выучить русский. Фраза показывает, что язык — это НЕ СЛОВА. Слова легко переходят из одного языка в другой. Язык — это принципы, по которым слова связываются друг с другом.
В том, чтобы научиться говорить, ничего сложного нет — проблема это придуманная. А все неудачи от того, что люди, как говорится, put the cart before the horse, ставят телегу впереди лошади. Пытаются говорить, не понимая, как связываются слова в языке. Это как пытаться бегать, не научившись ходить.
Не будем обсуждать руссо туристо, объясняющихся знаками и инфинитивами. Выделим три уровня «говорения»:
1-й уровень: говорим по-простому, но плюс-минус грамматически правильно. Например, не зная выражения «прикрой форточку», говорим проще: «закрой маленькое окно, но не до конца».
2-й уровень: говорим на конкретные темы именно теми фразами, которые используют носители языка («прикрой форточку»).
Читать далее«Парадокс мотивации» — новое издание книги, написанной исследователем, преподавателем в области теории воспитания и психологии Альфи Коном. Первое издание называлось более сложно: «Наказание наградой: что не так со школьными оценками, системами мотивации, похвалой и прочими взятками» («Punished by Rewards: The Trouble with Gold Stars, Incentive Plans, A's, Praise, and Other Bribes»).
С точки зрения проблематики управления персоналом, книга интересна тем, что в ней развивается тезис «деньги не фактор мотивации». При этом автор делает выводы, основанные на объективных данных и научном подходе.
Кон подвергает сомнению культуру, в которой такие стимулы, как вознаграждение за результат, похвала, аттестация и ранжирование персонала, являются единственно возможными и максимально универсальными способами управление мотивацией людей.
Читать далееВ современной технологической среде роль инженеров уровня Senior и Senior+ выходит далеко за рамки технической экспертизы. Это люди, которые соединяют команды разработки с топ-менеджментом, двигают инновации, задают технический вектор и помогают формировать будущее компании.
В этой статье — мой личный фреймворк стратегического мышления, применимый на любом этапе карьеры, особенно полезный для Senior и Senior+ инженеров. Он основан на почти 20 годах опыта работы с платформами, продуктами и командами в сферах облачной инфраструктуры и сетей — от гиперскейлеров до стартапов (и до, и после IPO), а также крупных корпораций.
Читать далееЯ создаю приложение с GUI для сбора и обработки данных с микроконтроллера на Python с помощью PyQt. И вот я наконец-то доделал часть функционала, предназначенного для взаимодействия компьютера с платой STM32, теперь необходимо было сделать интерфейс для обработки данных, в котором легко можно было бы настраивать параметры выполнения программы. Я начал думать, как не вносить в программу кучу флагов с соответствующими if-else конструкциями, и вот, что я придумал.
Читать далее