topdatalab – Telegram
topdatalab
1.26K subscribers
97 photos
10 videos
16 files
220 links
Канал поддержки книги «Как монетизировать данные». https://topdatalab.ru
Download Telegram
Немного негатива про AI кодинг 🙂

1) У меня была серьезная проблема с производительностью веб сервера из-за моей ошибки. Ни один LLM помощник не помог мне ее решить.
Помогла книга, которую я рекламировал выше
2) Ни один LLM агент не предложил использовать MATERIALIZED для CTE в Postgress. Я и сам не знал про эту опцию, пока не подсказали. Включил - улучшил производительность в разы
3) В процессе анализа кода я обнаружил три функции, которые делают одно и то же. Грешу на Claude
4) Примерно через неделю после плотной работы я обнаружил функцию на 1500 строк 🙂 до сих пор с ней разбираюсь
5) В целом AI плохо работают с абстракцией в коде
6) Агенты не подсказали мне использовать Pydantic и data classes

Меня лично эти проблемы заставили учиться серьезнее и обложиться книгами.
Но от агентов я не отказываюсь!
12👍8🔥2
topdatalab
Запустил пару недель назад веб-приложение с RAG 1) Сетка Qwen 3 embed 0.4B - работает прямо на процессоре, поэтому самая маленькая. Пришлось конвернуть в формат ONNX 2) Готовые эмбеддинги в Postgres в pg_vector. Считал на своем домашнем AI сервере Пробовал…
выложил новую версию приложения:
- добавил UI фильтры (htmx + JS)
- переинжинирил код
- добавил трех email провайдеров
- на днях буду менять нейросеть QWEN 3 на Gemma 3 embed

мои наблюдения по LLM кодингу:
- мелкие JS библиотеки плохо поддерживаются (Alpine JS), проще использовать обычный JS
- htmx, Tailwind - хорошо

Смотреть: https://corpsignals.com/app/

PS: не будет AGI 🙂 все это рекламная болтовня AI вендров.
Серьезный софт инжиниринг не заменит, но пишет он быстрее человека, чем я и пользуюсь
👍3
Завтра позвали на
https://www.anthropic.com/events/london-builder-summit-2025

думаю будет полезно


Update:
Hi Roman,
Thank you for your interest in Anthropic Builder Summit London on Wednesday, 1 October 2025.
An email you may have recieved a few minutes ago was sent in error and we apologize for any confusion.
Capacity for the event is very limited, and were unable to approve your application to attend at this time.
However, we will host a number of events in London in the future and would love to have you.  
🙈6👍3🔥31💯1
Неделю назад был модератором панели про AI в Enterprise search, здесь, в Лондоне
🔥13👍7
Вот и Andrew Ng выпустил курс по Agentic AI
https://www.deeplearning.ai/courses/agentic-ai/

В чем его крутость - он не привязан к framework (LangChain и пр). И это хорошо!
Думаю пройду его.
9👍3
Две плохие новости за последний месяц: Fivetran купила SQLMesh и dbt.

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

Про dbt не скажу, но SQLMesh наступала ей на пятки.
И такая консолидация плохо повлияет на развитие инструментов.
💯9👍4😢1
В компаниях часто нужно ограничить доступ к данным клиентов или филиалов.
Мне это удалось сделать в Metabase Pro, SQLMesh и Postgres.

Я использовал Row Access level в Postgres. Все управляется из кода SQLMesh.
Для это к конце SQLMesh скрипта нужно написать


JINJA_STATEMENT_BEGIN;
-- Enable Row Level Security
ALTER TABLE {{ this_model }} ENABLE ROW LEVEL SECURITY;
ALTER TABLE {{ this_model }} FORCE ROW LEVEL SECURITY;

-- RLS Policy for data_engineer role (full access)
DROP POLICY IF EXISTS rls_data_engineer_all ON {{ this_model }};
CREATE POLICY rls_data_engineer_all ON {{ this_model }} FOR ALL TO data_engineer USING (true) WITH CHECK (true);
GRANT ALL ON {{ this_model }} TO "data_engineer";

-- RLS Policy for general role (full access)
DROP POLICY IF EXISTS rls_general_select ON {{ this_model }};
CREATE POLICY rls_general_select ON {{ this_model }} FOR SELECT TO general USING (true);
GRANT SELECT ON {{ this_model }} TO "general";

-- RLS Policy for germany role (restricted by legal_entity)
DROP POLICY IF EXISTS rls_germany_select ON {{ this_model }};
CREATE POLICY rls_germany_select ON {{ this_model }} FOR SELECT TO eu USING (entity = 'Germany');
GRANT SELECT ON {{ this_model }} TO "germany";

JINJA_END;

-- ACCESS RIGHTS
ON_VIRTUAL_UPDATE_BEGIN;
ALTER VIEW @this_model SET (security_invoker = true);
ALTER VIEW @this_model SET (security_barrier = true);
GRANT SELECT ON @this_model TO "general";
GRANT SELECT ON @this_model TO germany;
ON_VIRTUAL_UPDATE_END;


Здесь используются три роли с разным доступом:
- data_engineer- полный доступ
- general - полный доступ на SELECT
- germany - доступ только к строкам, где в колонке entity написано Germany

К сожалению pre statement макросы, которые генерируют несколько строк SQL работают плохо в SQLmesh, поэтому использовал Jinja.
Также мне не удалось сделать доступы на уровне колонок. Оно заработало, но в Metabase пользователь не может видеть таблицу, если у него ограничен доступ к одной из колонок. Я пытался обойти это, но нарвался на баг в SQlMesh
https://github.com/TobikoData/sqlmesh/issues/5461

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

Как работает с этим Metabase: https://www.metabase.com/docs/latest/permissions/impersonation
73
Примерно с 28 мая DBT запустила новый проект FUSION.
Выглядит как ответ SQLMesh.

https://github.com/dbt-labs/dbt-fusion
Заявили, что пишут на Rust, а не на Python. Не уверен, что это правльное решение для open source проекта.
2👍1
Как я пишу код в Cursor!

1) Я использую fdd - feature driven design. Весь код лежит в иерархических папках. Стараюсь строго следовать локальности кода. В одной папке могут быть тесты, python, java scrip, jinja

2) Самое главное в каждой папке держать md файл с описанием фичи. Не больше 500 строк. Что там писать? Как вам фантазия позволяет.

3) Как вносятся изменится:
- пишу текстом что нужно в режиме Plan, auto. Тегаю нужные md файлы
- отвечаю на вопросы, детально проверяю план
- нажимаю кнопку Build, тестирую
- в новых чатах фиксю баги

Фича работает:
- Прошу курсор внести изменения в документацию. Всегда внимательно вычитываю. На мой взгляд, md файлы даже важнее самого кода
- делаю code review в Codex для uncommited изменений

Всё!
17🔥3👎1
У нас получилось завести ducklake!

Catalog в Postgres, данные в S3. Dbt смог залить данные. Удалось также подключить с локальной машины через Dbeaver.
Bueanavista больше не нужна. Как только закончим полный переезд, отпишусь
🔥17
Про увольнения от AI.
На днях созванивался с рекрутером - внедрить AI в компанию, в корой работает 700 человек.
Цель: сократить персонал до 500 человек.

Я сам работу не ищу, да и задача слишком суровая.
Но имейте ввиду, что спрос на это уже пошел!
😱7🤬6🔥32😁2👍1
Нужны люди, кто занимаются оптовыми продажами, не важно где.

Может есть у меня кто-то тут? Мне нужен звонок на 15 минут

Буду рад, если поделитесь со своими знакомыми
👍2🔥1
Робо рука, осталось нож научить держать :)
https://github.com/TetherIA/aero-hand-open
😁2
Salary Suvery 2025_1.pdf
4.6 MB
Свежее исследование про зарплаты тех специалистов в ФинТехе в UK и USA.

1) текучка высокая - 89% готовы сменить работу
2) Половина недовольны своей текущей ролью - стагнация зарплат и отсутствия роста (91% без повышения).
3) Зарплаты в data особо не растут
4) Тренд на AI - компании активно создают свои команды по работе с ИИ.
🔥4👍1