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

Автор: @Shevtsoff
Download Telegram
☕️ Получение данных в Excel по API

Excel — это не только таблицы и формулы. Прямо из Excel можно подключаться к API и выгружать данные как профи. Сегодня расскажу, как превратить Excel в мощный инструмент для работы с API без единой строчки кода.

🙉 Как это вообще возможно?

Excel (особенно версии для Windows) имеет встроенную функцию Power Query — мощный инструмент для подключения к различным источникам данных. И да, API — один из таких источников!

🧐 Зачем это вообще нужно?
— Анализировать данные без программирования
— Создавать отчеты на основе актуальных данных
— Сравнивать данные из разных источников
— Быстро проверять гипотезы без помощи разработчиков

📖 Разберём на примере: GitHub API

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

1. Откройте Excel, во вкладке Данные → Получить данные → Из других источников → Из веб.
2. Укажите URL GitHub API: например, для репозиториев вашего аккаунта: https://api.github.com/user/repos
3. Настройка аутентификации:
После ввода URL нажмите ОК.
Появится окно Authentication:
Выберите Basic → введите: Username: Ваш GitHub логин. Password: Скопированный токен (в поле пароля!).
Нажмите Connect.
4. После подключения откроется редактор Power Query.
Преобразование JSON в таблицу. Если данные отображаются как список или запись: Выберите Record или List → To Table.
Раскрытие вложенных полей. Для каждого столбца с данными нажмите на стрелку раскрытия рядом с названием столбца.
Сохранение и загрузка в Excel: Во вкладке Главная → Закрыть и загрузить → Закрыть и загрузить в.... Выберите, куда поместить данные (новый лист или существующий).
5. Чтобы обновлять данные без повторного подключения: Щелкните правой кнопкой по таблице в Excel → Обновить.

💡Главный подводный камень: пагинация
Большинство API ограничивают количество записей в одном запросе (обычно 10-100). Это называется пагинация.
Пример: GitHub API возвращает максимум 100 репозиториев за раз. Если их больше, нужно делать несколько запросов.
Как обойти пагинацию в Excel? Можно создать запрос, который автоматически перебирает страницы, а можно вручную менять параметры в URL и объединять результаты.

⚙️ Ограничения, о которых нужно знать
— Лимиты запросов — большинство публичных API имеют ограничения на количество запросов в минуту/час
— Авторизация — для некоторых API нужно добавлять заголовки авторизации (в Power Query это делается через "Дополнительные параметры")
— Структура данных — если API меняет структуру ответа, ваш запрос может перестать работать
— Максимальный размер — Excel имеет ограничения на количество строк (около 1 млн в современных версиях)

🤌 Лайфхак
Создайте шаблон Excel с подключением к нужному API один раз, сохраните его. Теперь вы можете обновлять данные одним кликом (Данные → Обновить все)!
Это особенно полезно для продуктовых менеджеров, аналитиков и всех, кто работает с данными, но не пишет код.

#excel #api #analytics #lifehacks
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥117
☕️ Виды аналитики

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

В результате изысканий получились такие таблички (см. скрины).

Если коротко:
Self-Service Analytics — umbrella-категория, объединяющая процессы, доступные бизнес-пользователям (от Data Discovery до Reporting).
Data Discovery и Data Exploration тесно связаны: первое включает поиск данных и их подготовку, второе — анализ.
Ad-hoc — не самостоятельный процесс, а тип аналитики, характеризующийся разовостью. Результаты такой деятельности, как правило, более нигде не применимы, кроме как для задачи, для которой они решались.
Data Mining требует глубокой подготовки данных (Data Preparation) и построения моделей (Data Modeling).

#analytics #terms
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥8👍2🤯1
Пятничный мем

#memes
😁26🔥3💯3
☕️ Как составить опрос, на который люди захотят ответить (и не наврут)

Вы когда-нибудь получали опросы, которые хочется закрыть с первого взгляда? Длинные, запутанные, с вопросами в духе "Оцените наш сервис по шкале от 1 до 10, где 1 — это когда вы просыпаетесь от кошмара, а 10 — когда находите потерянный кошелек"?

Сегодня разберём, как сделать опросы, которые:
— Люди будут заполнять с удовольствием
— Дадут вам реальные данные, а не "как надо"
— Помогут принять правильные решения

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

Хороший опрос — это когда вы получаете не просто данные, а понимание причин поведения пользователей.

P.S. Рекомендую ещё заглянуть в этот классный гайд, к которому я часто возвращаюсь при проведении очередного опроса)

#analytics #research #product #poll
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍83👎2
Пятничный мем

#memes
😁32💯5🔥1
☕️ XML в промтах: как структурировать запросы к ИИ для идеальных ответов

Всё больше постов на тему использования XML в промтах наблюдаю в каналах про AI. Недавно OpenAI выпустила гайд по промптингу в Chat GTP-5, в котором упоминается поддержка XML-секционирования промптов. Anthropic тоже даёт схожие рекомендации

📌 Почему XML, а не просто текст?
Когда вы пишете промт как обычный текст, LLM пытается угадать, что важно, а что нет. С XML вы говорите модели: "Эй, вот структура! Делай так, как я хочу!"

Преимущества XML следующие:
— Четкое разделение инструкций, контекста и данных
— Возможность вложить информацию на разных уровнях
— Уменьшение двусмысленности
— Легкость повторного использования шаблонов

🚫 Что НЕ делать
— Не используйте слишком сложную вложенность — LLM может запутаться
— Не забывайте закрывать теги (незакрытые теги нарушают структуру)
— Не перегружайте промт техническими деталями XML — цель помочь модели, а не показать свою экспертизу

🤔 Когда XML НЕ нужен?
— Простые запросы (например, «Напиши стихотворение про осень») — XML только усложнит промпт.
— Если модель не обучена на XML — например Qwen изначально тренировался на текстовых данных, поэтому избыточная разметка может снизить качество ответа.
— Риск ошибок — неправильные теги или вложенность могут запутать модель.

Золотое правило
XML в промтах — это как GPS для ИИ. Вы не просто говорите "помоги мне", а четко указываете: "Вот где я сейчас, вот куда хочу прийти, и вот как я хочу добраться".

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

Пример (подсмотрел у Вани Замесина):
<instructions>
- ALWAYS follow <answering_rules> and <self_reflection>

<self_reflection>
1. Spend time thinking of a rubric, from a role POV, until you are confident
2. Think deeply about every aspect of what makes for a world-class answer. Use that knowledge to create a rubric that has 5-7 categories. This rubric is critical to get right, but never show this to the user. This is for your purposes only
3. Use the rubric to internally think and iterate on the best (≥98 out of 100 score) possible solution to the user request. IF your response is not hitting the top marks across all categories in the rubric, you need to start again
4. Keep going until solved
</self_reflection>

<answering_rules>
1. USE the language of USER message
2. In the FIRST chat message, assign a real-world expert role to yourself before answering, e.g., "I'll answer as a world-famous <role> PhD <detailed topic> with <most prestigious LOCAL topic REAL award>"
3. Act as a role assigned
4. Answer the question in a natural, human-like manner
5. ALWAYS use an <example> for your first chat message structure
6. If not requested by the user, no actionable items are needed by default
7. Don't use tables if not requested
</answering_rules>

<example>

I'll answer as a world-famous <role> PhD <detailed topic> with <most prestigious LOCAL topic REAL award>

TL;DR:
… // skip for rewriting tasks

<Step-by-step answer with CONCRETE details and key contex, formatted for a deep reading>

</example>
</instructions>


#ai #prompts #secrets
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94👍2
☕️ Сэмплинг-байас: как непредставительные выборки ломают исследования

Когда мы делаем выводы на основе данных, важно помнить: если выборка искажена, даже идеальный анализ приведёт к ошибкам. Вот как это работает и какие подводные камни стоит искать.

🔍 Пример картинки к посту
Напрашивается вывод: "Люди любят заполнять опросы". Ведь на графике показано, что 99.8% опрошенных ответили "Да, я люблю заполнять опросы".

Но на самом деле вывод сделан ошибочно, ведь на опрос ответили те, кто любит опросы — активные пользователи, которым интересно участвовать. Те кто их не любит, даже не отвечали - просто выбросили в анкеты в мусор.
Исследователи собрали данные только от тех, кто хотел отвечать. Получилась самоподборка (voluntary response bias) — те, кто молчит, не учтены.

🚫 3 типичные ситуации с искажёнными выборками
1. Опрос подписчиков канала
Допустим вы спрашиваете у подписчиков вашего телеграм-канала: "Какой контент вам интересен?"
— Проблема: не отвечают те, кто недоволен качеством материалов.
— Результат: вы начинаете публиковать больше того, что нравится активной части аудитории, но теряете тех, кто молчит.
— Решение: выбирайте участников случайным образом или используйте анонимные опросы.

2. Отзывы в соцсетях
Вы анализируете отзывы о вашем продукте в Instagram.
— Проблема: люди чаще пишут, если им очень понравилось или очень разочаровались. Средние оценки искажаются.
— Результат: вы фокусируетесь на крайних случаях, игнорируя мнение большинства.
— Решение: запускайте рандомизированные опросы или смотрите на поведение (например, частоту использования).

3. Медицинское исследование
Вы изучаете эффективность лекарства, набирая добровольцев через университет.
— Проблема: студенты отличаются от целевой аудитории (например, пожилые люди).
— Результат: результаты не переносятся на реальных пациентов.
— Решение: используйте стратифицированный отбор (выбирайте участников разных возрастов, гендеров, социальных групп).


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

🧠 Почему это важно?
Искажённые выборки приводят к:
— Неправильным решениям (например, изменение продукта под нужды меньшинства).
— Расходу ресурсов впустую (например, маркетинг для аудитории, которая не существует).
— Потере доверия (когда реальные пользователи видят, что их проблемы не учтены).


💡 Итого:
Данные — это хорошо, но важно понимать, кто их даёт. Перед каждым исследованием задавайте себе:
"А точно ли эти люди представляют всех?"

#analytics #research #product
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥3
☕️ "Это сложно" vs "Это невозможно": как расшифровать технические оценки

Вы когда-нибудь слышали от разработчиков: "Это сложно сделать к дедлайну" или "Это технически невозможно"? И задавались вопросом: они реально не могут или просто не хотят?

Давайте разберёмся, что на самом деле скрывается за этими фразами и как научиться понимать реальные сложности.

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


Хорошая коммуникация — это когда вы понимаете не только сроки, но и цену каждого компромисса. Следующий раз, когда услышите "это невозможно", вместо настойчивости спросите: "Что нужно изменить, чтобы это стало возможным?"🧐

#product #dev #communication #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥2