Работая в айтишечке
1.14K subscribers
292 photos
4 videos
57 links
Канал о том, как эффективно работать в IT: простые объяснения технических вещей, лайфхаки, лучшие практики и полезные инструменты для повседневных задач.

Автор: @Shevtsoff
Download Telegram
Всем привет! 👋

Количество подписчиков перевалило за 1000, а это повод познакомиться))

Я Данила Шевцов — продакт в Avito. До этого был продактом в Яндексе.
Работаю в основном над внутренними (B2E) продуктами — то есть теми, которые делают жизнь коллег внутри компаний чуть удобнее, а иногда и спасают от хаоса.

Чем я занимался?
→ Системы управления проектами и знаниями
→ Платформы документирования
→ Feature store и ERP-системы
→ Сейчас — BI-система, которую мы строим своими руками

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

Моя страсть?
Я обожаю данные. Если что, лезу в логи, фронтовые ручки и raw-данные. В этой связи очень рад быть продактом BI-системы - тут и данные и продуктовые задачи.

Почему я пишу сюда?
Работаю в IT уже не первый год. За это время накопил практический опыт в product management, аналитике данных, системном дизайне и командной коммуникации.
Хочу делиться не абстрактными теориями, а реальными кейсами, лайфхаками и инсайтами, которые работают в повседневной работе. Здесь нет «воды» — только проверенные практики, которые помогут вам стать эффективнее в профессиональной деятельности.

Что ждёт тебя здесь?
— Реальные кейсы из Avito и Яндекса
— Практические гайды — по работе с API, SQL, метриками, Git и другим инструментам
— Лайфхаки и инструменты — от простых команд в браузере до продвинутых возможностей ИИ
— Технический ликбез — сложные темы (CLI, RAG, MCP) простыми словами для нетехнических специалистов
— Полезные ссылки, инструменты, книги
— И да, иногда будет юмор — потому что без него в продукте никак 😅

Подписывайся, если:
— Ты product-менеджер, аналитик или работаешь над цифровыми продуктами
— Хочешь понимать технический контекст, даже если не пишешь код
— Интересуешься инструментами ИИ для повышения продуктивности
— Ценишь конкретику вместо абстракций и готов(а) применять знания на практике
— Работаешь с внутренними корпоративными продуктами и ищешь способы улучшить adoption и UX


P.S. Я не продаю курсы, не делаю платные рекомендации и не пишу по заказу. Это мой канал — мои мысли, мой опыт, мои ошибки. Спасибо, что вы здесь ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
61🔥22🥰11🍾2
☕️ Миграция между системами

Сколько лет работаю в ИТ, постоянно сталкиваюсь с необходимостью "закапывания" (sunsetting) изживших себя сервисов и миграции на новые. Я столько раз "хоронил" старые сервисы, что уже чувствую себя похоронным агентом цифровых систем 😄 Каждый раз казалось, что это последняя миграция в моей жизни, но рынок не стоит на месте — технологии устаревают, требования меняются, и снова приходится собирать команду для "переезда".

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

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

Сохраняйте себе — пригодится, когда ваш руководитель скажет: "Нам нужно переехать на новую систему до конца квартала".😉

P.S. Решил написать этот пост, т.к. в работе как раз есть ещё один кандидат на закапывание 🪦

#lifehacks #howto #guides
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥8👍2👏1
☕️ Как «подружить» LLM с вашей PostgreSQL: лайфхак для быстрой аналитики

Если ваш сервис использует в качестве БД PostgreSQL и вы часто пишете SQL-запросы для аналитики — вам знакома боль: «а какая там колонка?», «как называется связующая таблица?», «какие индексы есть?».

Обычно лезут в pg_catalog или DBeaver, но есть способ проще и удобнее — особенно если вы используете LLM для генерации запросов.

Забудьте про системные таблицы — встречайте pg_dump 🔥 — утилиту командной строки из поставки PostgreSQL, которая создаёт резервные копии БД. Но её можно использовать и для экспорта схемы данных в читаемом виде. И это идеальный способ получить полный контекст для LLM.

(👀 см. карточки ↑)

⚠️ Важные нюансы
— Фильтруйте чувствительные данные перед отправкой в LLM: удалите комментарии с секретами, триггеры с логикой бизнес-правил.
— Обрезайте большой дамп — если схема огромная, оставьте только релевантные таблицы для задачи.
— Используйте .pgpass — чтобы не вводить пароль каждый раз при запуске pg_dump.

Промпт для генерации описания таблиц на основе схемы из pg_dump:

Проанализируй схему PostgreSQL, полученную через утилиту pg_dump (включая CREATE TABLE-запросы, комментарии к таблицам и колонкам, а также определения внешних ключей), и сформируй структурированное описание каждой таблицы в следующем формате:

# Описание таблиц BI-системы

## Хранилище данных: PostgreSQL

### Таблица: [название таблицы]
**Описание:** [Текст из COMMENT ON TABLE. Если комментарий отсутствует, сформулируй краткое описание на основе названия таблицы и контекста.]

**Колонки:**
- **[имя колонки]** ([тип данных]): [Текст из COMMENT ON COLUMN. Если комментарий отсутствует, опиши назначение на основе названия колонки и типа данных. Для внешних ключей добавь: "Ссылка на [таблица].[колонка] ([пояснение связи, например: 'определяет контекст видимости', 'используется для проверки условий']".]

**Бизнес-логика:**
- [Перечисли ключевые аспекты логики на основе:
1. Связей через внешние ключи (например: "Связь с [таблица] через [колонка] определяет [логика]"),
2. Флагов/статусов (например: "Использование флага [колонка] позволяет [действие]"),
3. Контекста из комментариев (например: "Алерты срабатывают при [условие] на основе данных из [таблица]").
Каждый пункт должен начинаться с тире и содержать пояснение, как колонка или связь влияет на бизнес-процессы.]

---

Требования к оформлению:
1. Используй строгую структуру с markdown-заголовками (###, **, -).
2. Для внешних ключей в разделе "Колонки" всегда указывай связанную таблицу и логику связи (например: "Ссылка на queries.id, по результатам которого проверяются условия алерта").
3. В "Бизнес-логике" фокусируйся на взаимодействии таблиц, условиях срабатывания, правах доступа и других бизнес-аспектах (не технических деталях).
4. Если в схеме отсутствуют комментарии, сделай обоснованные выводы на основе названий колонок и типов данных (например, `is_active` → "Флаг активности записи").
5. Не добавляй информацию, которой нет в схеме (только то, что можно вывести из pg_dump и логических связей).

Пример корректного описания для таблицы alerts (как в приложенном файле) должен быть воспроизведен для каждой таблицы в схеме.


🤌 Итого
pg_dump — это не только для бэкапов. Это мощный инструмент для ускорения работы с данными, особенно в связке с LLM. Вы экономите время на рутине и фокусируетесь на том, что действительно важно — анализе и принятии решений.

См.также
Как писать SQL-запросы с помощью LLM: гайд для менеджеров без аналитиков
Pg_dump документация

#tips #llm #sql #analytics
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥85👍3
Пятничный мем

(немного грустный)

#memes
😢19
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Инструмент, который превратит ваш код из "уродца" в "звездочку"

Вы когда-нибудь тратили 20 минут, чтобы сделать скриншот кода для поста, только чтобы в итоге всё равно выглядело как школьная тетрадь с помарками? 😅

На прошлой неделе я написал пост про SQL-запросы и буквально стонал от ужаса при мысли о скриншотах. Старые инструменты давали:
— Скучное белое поле с серым текстом
— Обрезанные края и размытые шрифты
— И главное — полное отсутствие стиля

И тогда я открыл для себя Carbon — сервис, который превращает ваш сухой код в визуальные шедевры. Просто вставляете код → выбираете тему → экспортите картинку. И всё!

Раньше я бы потратил полчаса на скриншоты, а с Carbon — сделал 4 идеальных изображения за 4 минуты.

Это бесплатно. Не требует регистрации. И работает так быстро, что вы не успеете допить кофе.

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

P.S. А вы какие инструменты используете для оформления технического контента?

#tools #dev #productivity #coding #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍7
☕️ Букмарклеты: мощные кнопки в вашей панели закладок

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

Сегодня расскажу про букмарклеты, которые решат эти проблемы за один клик.

Букмарклет (bookmarklet) — это скрипт на JavaScript, сохраненный как обычная закладка в браузере. Вместо URL-адреса в нем хранится код, который выполняется на текущей странице при клике.

🔥 Мой кейс
Нужно было собирать данные с разных страниц сайта. Написал букмарклет через LLM:
— Закинул HTML страницы
— Описал, что хочу на выходе
— Модель сама нашла нужные элементы и сгенерировала код
— Теперь за клик копирую отформатированный текст в буфер!

🛡 Ещё кейс (см. скрины)
Букмарклет для "засекречивания" цифр в дашбордах. Перед скриншотом кликаю — все числа заменяются на █. Идеально для презентаций!
Вот код (можете сохранить себе):
javascript:(function(){function replaceDigitsInNode(node) {if (node.nodeType === Node.TEXT_NODE) {const originalText = node.textContent;const modifiedText = originalText.replace(/\d/g, '█');if (originalText !== modifiedText) {const newNode = document.createTextNode(modifiedText);node.parentNode.replaceChild(newNode, node);}}}function processElement(element) {const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT, null, false);const nodesToReplace = [];let node;while (node = walker.nextNode()) {nodesToReplace.push(node);}nodesToReplace.forEach(replaceDigitsInNode);}processElement(document.body);})();


💡 Как создать свой?
1. Опишите задачу LLM (например: "Напиши код букмарклета в одну строку, который..."). Идеально если ещё дадите модели скачанную html-страницу (Ctrl + s)
2. Скопируйте готовый код из
javascript: (() => {
// Your code here!
})();

3. Создайте закладку, вставьте код в URL — готово!

🚀 Что ещё можно
— Скрывать блоки рекламы
— Переключать тёмную тему
— Сохранять выделенный текст в Notion/Telegram
— Анализировать цены на маркетплейсах
— что угодно, загляните сюда чтобы попробовать

💬 Попробуйте!
Самые унылые рутинные задачи в браузере решаются одной закладкой. А какие моменты вас бесит больше всего? Может, придумаем букмарклет прямо в комментах? 😉

P.S. Спасибо Руслану, что рассказал про букмарклеты в своём канале)

👀 Смотрите также
What are Bookmarklets? How to Use
15 Useful Bookmarklets for Web Devs
Набор букмарклетов для аудита доступности a11y (чтобы сохранить себе, перетащите ссылку в закладки)

#lifehacks #tools #llm #dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩12🔥86