В некоторых случаях необходимо исследовать большие объемы информации и затрачивать на это минимум времени. Например, когда мы не хотим читать большой документ целиком, а нам нужно найти ответы на некоторые вопросы. Конечно, это звучит странно. Ведь, чтобы задать вопрос, нужно знать о чем документ :).
Тем не менее, сейчас многие говорят о RAGах. Технология позволяет "говорить" с информацией, которая может храниться в базе, или в огромном текстовом документе. Как правило, речь идет о текстовой информации. Но есть возможность построить RAG на картинках. В этой статье будем говорить именно о такой задаче и легком способе ее решения.
Читать далееОднажды я поставил перед собой цель: найти идеальный агрегатор — «сборник» нейросетей. Программу для Windows 11. Тот, который станет единым окном в мир ИИ. Потому что это удобнее, чем переключаться между десятком вкладок.
Я протестировал девять различных программ для Windows, Linux и macOS — от многофункциональных монстров до простых утилит (а у некоторых есть версии для Android и iOS). Это был путь проб, ошибок и неожиданных открытий. Изучив ландшафт решений, я выбрал самые полезные и стабильные.
Итак, в этом обзоре мы рассмотрим программы (и один веб‑сервис):
• Msty;
• ChatBox;
• Tome;
• ChatMCP;
• Kaas;
• Cherry Studio;
• LibreChat;
• Open WebUI;
• BotHub.
Вы узнаете, где можно параллельно общаться с 10+ моделями бок о бок, как сжимать длинные диалоги, какие клиенты позволяют создавать персональных ассистентов с базами знаний на основе ваших файлов, кто поддерживает больше всего форматов файлов и многое другое (сравнительная таблица в конце обзора).
Откройте для себя инструменты, которые превратят работу с нейросетями из хаотичного переключения между сервисами в продуманный и эффективный процесс!
Читать далее"Запахи" в тестах — это полезные сигналы, которые важно уметь распознавать, чтобы писать удобные и легко поддерживаемые тесты. Мы уже писали про "запахи" в E2E-тестах; сейчас же рассмотрим распространённые ошибки, которые возникают при написании модульных тестов.
Хоть написание модульных тестов и является обычной практикой для программистов, тестовый код по-прежнему часто рассматриваются как код второго сорта. Между тем здесь, как и в любой области программирования, стоит знать паттерны и антипаттерны.
В книге Джерарда Месароша о паттернах в xUnit есть полезные главы о «запахах тестов», и в интернете можно найти много других полезных материалов по этой теме. Нам же показалось интересным подойти к этой проблеме не со стороны теории, а со стороны практики: какие частые ошибки можно встретить в тестах, как их исправлять, и почему именно тесты нужно писать так, а не иначе?
Мы разберём всё это на примере: напишем один модульный тест на JUnit, и по ходу дела будем исправлять возникающие ошибки. Код примера доступен на GitHub.
Читать далееВ идеальных условиях именно роль «бизнес‑аналитик» в производственном ИТ‑процессе должна быть «входной точкой» для бизнес‑заказчика, формализующей, как правило, неструктурированные требования в структурированные. Через эту же роль должна производиться обратная связь ИТ‑команды бизнес‑заказчику.
Узнать большеДа, да, это моймаленький секрет — я посредственный программист. Определение слова «хакер», с которым я больше всего себя ассоциирую, звучит больше как «человек, который делает мебель топором». Я — именно такой, я пишу простой, прямолинейный, в основном, императивный код, потому что попытки разобраться в сложностях функциональных языков вызывают у меня головную боль.
По этой причине я всегда избегал более академических языков вроде OCaml, Haskell, Clojure и тому подобных. Я знаю, что это хорошие языки — люди намного умнее меня строят с их помощью потрясающие вещи, — но к тому моменту, когда я слышу слово «эндофунктор», я теряю всё внимание (и большую часть интереса к вопросу). Мои любимые языки — те, что требуют меньше интеллектуальных усилий: C, PHP, Python и Ruby.
Так что довольно занятно, что я с большим рвением принялся за Rust. Это, безусловно, самый сложный язык, с которым я чувствую себя хотя бы отдалённо комфортно «в бою». Отчасти потому, что я собрал набор принципов, позволяющих почти полностью избегать ссор с ужасающим механизмом контроля заимствования, временем жизни и прочими тёмными, пугающими уголками Rust. А ещё потому, что Rust помогает мне писать лучшее ПО, и я это чувствую (почти) всё время.
В духе помощи моим товарищам‑посредственным программистам, которые пытаются освоить Rust, ниже я представляю принципы, которые я собрал на данный момент. Поехали!
Читать далееВы знаете, что во многом разбираетесь, всё умеете и вообще человек хороший. Но другим со стороны это не всегда понятно. Чтобы ваши способности по достоинству оценили люди вокруг — рекрутеры, коллеги, руководители, друзья, партнёр, дети, — нужно чётко формулировать мысли, уметь презентовать себя и свои идеи.
Речь не только о карьере, собеседованиях и стендапах на дейли — тут всё понятно. 70% работодателей хотят видеть у сотрудников развитые коммуникационные навыки. Но от этих способностей зависит и личная жизнь. 63% женщин и 53% мужчин считают качество речи решающим фактором при выборе партнёра.
Хорошая новость в том, что правильная речь — это навык, а не врождённый талант. Его можно прокачивать так же, как и технические скилы. Об этом и поговорим.
Читать далееИИ перестраивает саму ткань разработки: ускоряет релизы, но множит баги, заставляет пересматривать тестирование и принципы командной работы. В 2025-м инженеры и лиды живут в двойственности — между стремительным ростом продуктивности и растущей ценой наблюдаемости, между автоматизацией и риском утраты человеческого взаимодействия. Новый отчёт InfoQ о культуре и методах разработки показывает: индустрия вступила в фазу, где платформенная инженерия становится наследником DevOps, а психологическая безопасность и умение работать малыми итерациями — вопросом выживания команд, а не модного тренда.
Куда движется индустрияКак использовать ML-модели, чтобы не просто анализировать пользователей, а управлять их поведением — предсказывать отток, оценивать эффект от акций и подбирать оптимальные воздействия.
В этой статье я собрал три типа моделей: прогнозирование поведения, uplift-модели и выбор оптимального воздействия. Давайте разбираем, как они устроены и где реально приносят пользу.
Читать далееСтатьи про продуктивность, которые я время от времени читаю, часто советуют сложные методики и приложения, весьма далёкие от реальной жизни. Я уже много лет пользуюсь простым способом, который держится на одном-единственном документе, моём логе. Расскажу, как он спасает меня от хаоса, в котором программирование — это не столько про код, сколько про общение. Ну, и просто немного об эффективности, королях и капусте.
Почему общение становится такой проблемой? Потому что его слишком много, оно хаотично и не имеет единого центра. Вас дергают коллеги, сыплются непонятные задачи, начальство ставит задания вскользь на созвонах, а через месяц интересуется результатом. Информация теряется в почте, чатах и в собственной памяти. А ещё фоном мозг напоминает: "Не забудь, надо сделать то-то и то-то!".
Весь этот хаос ломает главный инструмент разработчика — возможность сосредоточиться. Мой лог и стал тем самым центром, который вобрал в себя весь этот шум и превратил его в структурированные данные. Это та самая "крепость", где есть ответ на любой вопрос о моей работе.
Предуведомление: эта система — плод работы моих тараканов в моей, отдельно взятой голове, и может подойти не всем. Но её достоинство в том, чтобы попробовать: пара недель по 5 минут — невысокая цена за надежду побороть хаос.
Логи, логи... При чём тут логи???Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как NoDPI написанной на питоне (большое спасибо @Lord_of_Rings!). Сегодня я хочу представить вам (почти) свою разработку, не требующую ни питона ни прокси. Мы будем патчить прямо на диске библиотеку chrome.dll - входяющую в пакет Chrome на Windows и лежащую в директории "C:\Program Files\Google\Chrome\Application\140.0.7339.208\chrome.dll". Цифры могут меняться в зависимости от версии. Данный патч занимает всего 8 байт и после него у нас появится YouTube.
Защита от мошенничества: 2FA, финансовые лимиты, гостевой Wi-Fi и запреты на Госуслугах и другие лайфхаки.
Систематизируем цифровую гигиену: от сокращения цифрового следа до плана действий при взломе. Личный опыт построения эшелонированной обороны против мошенников.
Сегодня многие организации работают на базе решений из семейства 1С. Но для того, чтобы получить развитые практики BI – то есть реализовать полномасштабную аналитику для принятия управленческих решений на базе данных из 1С, всегда нужно было принимать немало дополнительных усилий. Все потому, что встроенные в платформу технологии не позволяют добиться уже привычного уровня гибкости, а использование промежуточных структур несет в себе ряд технологических неудобств. Все это стало причиной появления собственного коннектора Visiology к 1С. В этой статье мы рассказываем о том, какие проблемы возникают при попытке настроить автоматическую аналитику на базе 1С, и как новый компонент платформы Visiology помогает решить их все в комплексе.
Посмотреть, как Visiology работает с 1СВсем привет! Подводим итоги сентября дайджестом ключевых новостей. В прошлом месяце на npm отметились две крупных компрометации пакетов, включая первого самореплицирующегося червя. Он встряхнул всю экосистему и вынудил GitHub ужесточить правила аутентификации и публикации пакетов.
Кроме того, в Entra ID раскрыли уязвимость, которая могла привести к компрометации любого аккаунта, завязанного на эту систему идентификации. Из-за Великого Китайского Файрвола произошла беспрецедентная утечка, а августовская кража токенов Salesloft заметно выросла в масштабах. Об этом и других интересных ИБ-событиях сентября читайте под катом!
Читать далееВ новой подборке материалов по стратегическому менеджменту и маркетингу (первая и вторая) — академическая литература с фокусом на open source-стратегиях и управлении компанией в контексте открытой разработки. Статей по теме выходит не так много — не более пары десятков в год. Дело в том, что изучением open source с позиции стратегического управления занимается всего несколько человек в мире.
Рассказываю о четырех научных статьях 2025 года. Первая работа предлагает новый аналитический фреймворк для топ-менеджеров, корпоративных стратегов и исследователей. Вторая — поднимает ряд общих вопросов по теме изменения OSS-лицензий. Третья — рассматривает кейс известного open source-консорциума, а четвертая статья посвящена роли «якорных» компаний в открытых экосистемах.
Читать далееВсем привет! Мы сотрудники отдела внедрения мультиязычных систем и сервисов из IT-компании SM Lab: отвечаем за обучение пользователей работе с информационными системами (ИС) группы компаний «Спортмастер». Проще говоря, мы те самые люди, которые находятся между разработчиками, выкатывающими новый функционал, и пользователями, которым с этим функционалом предстоит работать. Обучаем не только сотрудников офисов и магазинов, но и иностранных партнёров ГК «Спортмастер».
Наша главная цель — помогать людям адаптироваться к новым системам и интерфейсам, будь то продавец Иван из Екатеринбурга или мистер Ли, упаковщик кроссовок на фабрике в Китае. Мы делаем всё, чтобы пользователи не терялись в новом интерфейсе, работали без проблем и ошибок, и всегда знали, на какую кнопку нужно нажать.
Читать далееRust и Go часто оказываются по разные стороны инженерных холиваров.
Кто‑то называет Go «языком для продакшна», кто‑то утверждает, что Rust — «единственный способ спать спокойно после деплоя».
Я работал с обоими языками: писал микросервисы на Go, системы обработки событий и сетевые агенты на Rust.
В этом посте — не теоретическое сравнение, а практическое: где Rust реально оправдан, а где Go дает фору по скорости разработки и стабильности.
Читать далееНаписал статью с подборкой пет-проектов на Python.
Постарался собрать идеи разной сложности: от простых скриптов для автоматизации до небольшого API на FastAPI и анализа данных. Упор делал на проекты, которые подойдут для портфолио начинающего разработчика.
Читать далееПривет, Хабр! Уверен, многие сталкивались с тормозами сервера, долгой загрузкой страниц. Логи молчат, нужно искать виновника. Системный мониторинг демонстрирует, что CPU вроде не загружен, память не полностью израсходована, а отклик системы оставляет желать лучшего.
В такие моменты стандартных утилит вроде top или htop часто недостаточно, нужен более детальный анализ. С этим мне приходится периодически сталкиваться, из-за чего и были написаны 3 bash-скрипта. Они дают сбор ключевых метрик системы для дальнейшего разбора.
Читать далееМы на Хабр Карьере помогаем IT-специалистам зарабатывать больше и находить качественные курсы, а компаниям — быть в курсе трендов на рынке найма.
Хотим поделиться классным обновлением и просто радостной новостью — теперь в разделе Курсы и обучение мы собираем не только курсы, но и рейтинг онлайн-школ, который составляем на основе реальных отзывов от студентов и по количеству курсов.
Открывайте рейтинг в соседней вкладке, а мы пока расскажем, как он работает.
Читать далееИзучая доступные материалы по нейросетям, легко заметить, что они делятся на два типа.
Первая группа — это академические статьи, где подробно рассматриваются математические основы работы нейросетей. Однако большое количество формул и строгих выкладок делает их трудными для восприятия неподготовленным читателем. Вторая группа — более простые и наглядные публикации, где через метафоры и примеры описываются общие принципы работы нейросетей и больших языковых моделей. Но они редко позволяют «заглянуть под капот» и понять, как именно устроены механизмы внутри.
Эта ситуация подтолкнула автора к идее: при помощи ChatGPT, Википедии и ряда других источников постепенно, шаг за шагом, разобрать ключевые математические формулы и принципы работы нейросетей. Результатом станет пошаговый «гайд», который проведёт читателя от самых простых понятий школьной математики к пониманию основ современных нейросетей, а в перспективе — к их программированию.
Автор не претендует на абсолютную полноту и строгость изложения. Все материалы будут сопровождаться ссылками на исходные публикации, а конструктивная критика и обратная связь будут искренне приветствоваться.
Гайд будет построен в виде коротких глав. В начале каждой главы даётся необходимая теоретическая база (в форме, доступной для читателя со школьным уровнем математики), а в заключении эта база используется для пояснения конкретного элемента работы нейронных сетей. В первой главе будет рассказано про математические функции и формулу искуственного нейрона.
Читать далее