Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

Погружение в One‑Time Events в Android

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.4K

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

В Android для таких событий есть специальное название – One-Time Events, или же просто Effects – события, которые мы отправляем UI из ViewModel и хотим, чтобы они обработались ровно один раз.
И они отличаются от состояния экрана! Состояние существует всегда, а effect отправляется и обрабатывается единожды; в состоянии существуют данные, с которыми user взаимодействует, или которые повторно могут отображаться на экране, когда как effect — совершенно противоположное.

Моделировать такой паттерн можно несколькими способами: через состояние, SharedFlow или Channel. В этой статье мы разберем на простом примере каждый подход и обсудим минусы и плюсы, а также обсудим лучшее обходное решение!

Читать далее
Статья

Киберустойчивость начинается с данных

Время на прочтение10 мин
Охват и читатели6.4K

Авторы: Екатерина Гафиятуллина, менеджер по развитию бизнеса Innostage, и Артём Шмарев, руководитель центра компетенций по управлению данными Юникон Бизнес Солюшнс

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

При этом бизнес требует мгновенного доступа к данным — для аналитики, машинного обучения, цифровых продуктов и автоматизации. Но чем активнее они циркулируют между внутренними системами, облачными хранилищами, подрядчиками и ИИ-контурами, тем сложнее обеспечить их защиту и управляемость. На этом фоне ключевой вызов для CISO (Chief Information Security Officer, директор по информационной безопасности) и топ-менеджмента — отсутствие полной картины: какие данные существуют, где они хранятся, кто имеет к ним доступ, как они перемещаются и какие риски создают для бизнеса.

Читать далее
Статья

Добываем хладагенты из фруктов

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели15K

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

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

Читать далее
Пост

Вышел 9-й номер журнала Paged Out (#8 выпустили в июне), который включает в себя различные материалы на тему этичного хакинга и информационной безопасности. Издание публикуется в формате: 1 страница — 1 статья. Все остальные Paged Out выпуски можно скачать с сайта проекта.

Теги:
+5
Комментарии0
Пост

Как реализовать семантический поиск для RAG-архитектуры в PostgreSQL без усложнения инфраструктуры?

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

Да, семантический поиск в RAG-сценариях можно реализовать прямо в PostgreSQL без выделенной векторной базы данных (ClickHouse, Opensearch, Qdrant, Milvus и т. д). 

Для этого используется PostgreSQL + расширение pgvector, которое добавляет поддержку хранения эмбеддингов (векторов) и поиск по расстоянию до ближайших соседей (KNN) прямо внутри SQL-движка. Разберем, как это работает на практике.

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

Для этой задачи будем использовать pgvector — это расширение к PostgreSQL, которое добавляет тип данных vector и операторы поиска по расстоянию до ближайших соседей (KNN).

Поддерживаются три основные метрики сравнения векторов:

  • L2 (евклидово расстояние) — классическое расстояние между двумя точками в многомерном пространстве. Хорошо работает, если векторы не нормализованы и распределение значений относительно равномерное.

  • Cosine similarity (косинусное сходство). В отличие от предыдущей метрики измеряет не абсолютное расстояние, а угол между двумя векторами. Подходит для текстовых эмбеддингов, где важна направленность, а не масштаб. Требует нормализации векторов.

  • Inner product (внутреннее произведение) — скалярное произведение двух векторов. Может использоваться как прокси для оценки «сходства» при обучении моделей и в задачах ранжирования.

Допустим, мы получаем на наш запрос именно такой вектор от модели OpenAI. Для хранения создаем таблицу с типом VECTOR:

CREATE TABLE items (
 id SERIAL PRIMARY KEY,
 title TEXT,
 embedding VECTOR(1536)
);

Добавим данные для нескольких векторов разных объектов:

INSERT INTO items (title, embedding) VALUES
 ('PostgreSQL embeddings', '[0.10, -0.80, 0.45]'),
 ('Neural image processing', '[0.42, 0.18, -0.35]'),
 ('Sound pattern matching', '[-0.20, 0.70, 0.60]'),
 ('Document clustering', '[0.09, -0.79, 0.48]');

Теперь сравним их попарно и отсортируем по расстоянию:

SELECT
  a.title AS title_a,
  b.title AS title_b,
  a.embedding <-> b.embedding AS distance
FROM items a
JOIN items b ON a.id < b.id
ORDER BY distance;

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

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

А если вы не хотите самостоятельно заниматься настройкой индексов, тюнингом памяти и производительности, а также обновлением версии PostgreSQL, то воспользуйтесь DBaaS от Selectel. Мы предоставим вам кластер PostgreSQL с преднастроенными расширениями, готовый к эксплуатации под нагрузкой. Это позволит сосредоточиться на RAG-логике и качестве поиска, а не на инфраструктурной оптимизации.

Теги:
+8
Комментарии0
Статья

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

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели5.1K

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

Проблемой становится уже не отсутствие контента, а отсутствие связной позиции.

Почему бренд говорит именно об этой проблеме? Как он объясняет её причины? Чем его версия происходящего отличается от версии конкурентов? Какие доказательства подтверждают его слова? Что должны повторить клиенты, если захотят рассказать о компании другим?

На эти вопросы традиционный контент‑маркетинг отвечает плохо. Зато политические кампании работают с ними десятилетиями.

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

Читать далее
Статья

Я научил Obsidian искать по смыслу. Как устроен локальный семантический индекс без отдельной векторной БД

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели8.8K

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

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

Например, в заметке могло быть написано:

Читать далее
Новость

Более 20 тыс. российских учителей прошли обучение работе с искусственным интеллектом

Время на прочтение2 мин
Охват и читатели6.3K

«Яндекс» подвёл итоги программы повышения квалификации для учителей, посвящённой использованию ИИ в образовательном процессе. По данным компании, после завершения обучения доля педагогов, применяющих ИИ при подготовке к занятиям, выросла с 46% до 74%. Всего к программе присоединились более 20 тыс. педагогов из разных регионов России. Обучение проводили совместно с региональными институтами развития образования и педагогическими вузами, рассказали Хабру в пресс‑службе «Яндекса».

Читать далее
Статья

Как древнегреческим астрономам удалось измерить расстояние до Луны

Время на прочтение4 мин
Охват и читатели9.8K

Привет всем любителям физики и физического эксперимента! Сегодня день рождения Нила Армстронга, первого человека, ступившего на Луну в ходе экспедиции корабля «Аполлон-11». И тема соответствующая — по такому случаю мы даже сместили время публикации со вторника на среду. Давайте разбираться, как измерить расстояние от Земли до Луны.

Читать далее
Статья

Когда мои старые способы учиться перестали успевать за миром

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.8K

История о том, как поиск системы заметок постепенно превратился в исследование памяти, понимания и роли среды.

Читать далее
Статья

«Второй мозг» в Obsidian: как я полтора года собирала базу знаний, которая не разваливается

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.7K

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

В статье представлена архитектура базы слоями, выживших плагины, переезд синхронизации с Google Drive на CouchDB на своём VPS и грабли, с которыми я столкнулась.

Читать далее
Статья

Аналитика без готовых инструкций: какие кейсы ищут для A&PM EVENT 2026

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели6K

В программе INFOSTART A&PM EVENT 2026 формируется секция «Прикладные компетенции аналитика». Заявок в этом направлении пока меньше, чем в других, поэтому у сильного практического кейса сейчас больше шансов пройти предварительный отбор и попасть в голосование. Первый тур голосования начнется 18 августа. Заявки принимаются до 28 августа...

Читать далее
Новость

Слушайте 2ой выпуск подкаста «про код.ии.прод»

Время на прочтение1 мин
Охват и читатели5.8K

Привет! Меня зовут Женя, я деврел в Банки.ру.
Слушайте 2ой выпуск нашего подкаста на платформах:

🔗 Яндекс Музыка
🔗 VK Music
🔗 Apple Podcasts
🔗 Spotify

Разогнали один неудобный вопрос: ИИ реально ускоряет разработку от идеи до прода (end-to-end) — или просто генерирует больше PR-ов?

Читать далее

Ближайшие события

Новость

KOMPAScon 6.0: фестиваль инженерной культуры и 3D‑технологий

Время на прочтение2 мин
Охват и читатели6.9K

4 сентября в Москве пройдет шестой инженерный фестиваль KOMPAScon для профессионалов и всех, кто интересуется 3D-технологиями. Его организатор, компания АСКОН, приглашает инженеров, опытных и начинающих пользователей КОМПАС-3D и других систем проектирования, студентов инженерных специальностей и техноблогеров.

На фестивале участников ждет обмен опытом с коллегами, лекции и мастер-классы, современные технологии, инженерный квест, призы и подарки, а также знакомство с разработчиками и техподдержкой КОМПАС-3D.

Читать далее
Статья

Как мигрировать 1 млн строк кода с одного языка на другой за 2 недели

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели10K

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

За последний месяц отдельные разработчики Anthropic с помощью Claude Fable 5, Claude Opus 4.8 и dynamic workflows перенесли десять проектов объемом от десятков до сотен тысяч строк кода. В этой статье мы разберем два примера и лучшие практики, сформировавшиеся в ходе этих проектов.

Джарред Самнер, сооснователь Bun и технический специалист Anthropic, использовал Claude Code, чтобы перенести Bun с Zig на Rust. Менее чем за две недели было создано миллион строк кода. До слияния ветки 100% существующих тестов Bun проходили в CI. После слияния обнаружилось 19 регрессий, все они уже исправлены. В июне версия на Rust вошла в состав Claude Code.

Майк Кригер, один из руководителей Anthropic Labs, за выходные перенес кодовую базу на Python в 165 000 строк TypeScript. В процессе работали сотни агентов, использовались восемь контрольных этапов, три раунда состязательного ревью и финальная проверка, которая сравнивала вывод каждой команды с результатом оригинальной версии на Python.

Новые возможности Claude Code меняют экономику давно откладываемых проектов. Ниже описан процесс из шести шагов, который мы теперь используем, он основан на выводах из этих миграций.

Читать далее
Статья

Почему для Telegram-квестов мне пришлось написать свою виртуальную машину: История Questogram

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8K

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

Читать далее
Статья

Ubuntu Touch 24.04-2.0: что в свежем релизе мобильной Linux-системы

Время на прочтение6 мин
Охват и читатели13K

Несмотря на то что Canonical закрыла Ubuntu Touch почти девять лет назад, мобильная Linux-система продолжает развиваться силами фонда UBports и сообщества. Проект регулярно получает обновления и постепенно расширяет список поддерживаемых устройств. Новый релиз Ubuntu Touch 24.04-2.0 — очередной шаг в развитии ветки 24.04. Основные изменения затронули браузер, работу с современными дисплеями и ряд повседневных функций, которыми пользователи пользуются каждый день. Давайте разберемся, что получилось у разработчиков.

Читать далее
Статья

Как подключить механизм «Статусы проверки документов» к произвольному документу в 1С:ERP

Время на прочтение4 мин
Охват и читатели6K

Как подключить механизм «Статусы проверки документов» к документу «Пересчёт товаров», не затрагивая другие объекты и, по возможности, не снимая объекты с поддержки.

Статья написана на примере конфигурации ERP УХ 3.2.11.5. Логика шагов применима к другим документам и близким версиям конфигурации.

Читать далее
Статья

VK Security Gate: наша платформа для разработчиков

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.5K

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

В статье разберём, из чего состоит Security Gate, как устроены приоритизация находок и интерфейс и какие возможности доступны разработчикам.

Читать далее
Новость

Пользователи Google Drive теперь могут оставлять замечания к моментам видео без ручного ввода таймкодов

Время на прочтение2 мин
Охват и читатели6.2K

Пользователи веб-версии Google Drive теперь могут оставлять комментарии к конкретным моментам видео без необходимости вручную вводить таймкоды.

Читать далее