tgindex
Joni in Web
@joni_in_webрусский

Канал Никиты. Делюсь проектами, ошибками и лайфхаками. 🎯 Учиться, учиться — и получить прекрасный оффер!

Последний пост
19 янв.
Последнее чтение
11:16
Постов за неделю
0
Всего постов
18
Тип
открытый
Язык
русский
В каталоге с
12 авг.
Подписчики
222
+3 за 3 дн.
Сутки
+1
+0,45%
Неделя
 
Месяц
 
Просмотров на пост
1 311
16 постов
Вовлечённость
590,5%
к подписчикам
Постов в день
0,0
всего 18
Упоминаний
3
каналов
Охват размещения
оценка
1/24сутки в ленте
1/48двое суток
1/72трое суток

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • Когда в комментариях опять спорят о «найме в IT», а у тебя на руках миллионы дата-пойнтов и готовое исследование от Саши: ТУТ 👈

  • Тут могла бы быть ваша реклама, но ни мне ни вам она не нужна 🤪 Коротко о том, что я накодил за месяц в VILKY: 🟢 Автоматизировал парсеры для Finder.work и Vseti.app. Активных вакансий каждый день почти 15к и все в одном даше! 🟢 Перевел нормализацию с YandexGPT на scikit-learn (Зачем? -> Выходит дороговато каждый день нормализовывать 15к вакансий), настроил ML-пайплайн для грейдов и категорий — точность растёт. 🟢 Google Sheets для Tableau: исправил проблему с "тяжёлыми" файлами (<10MB), привёл данные к 3NF. 🟢 Для Finder (много IT и не-IT) ушёл от полного парсинга, внедрил инкрементальный ETL с DAG для проверки статусов вакансий на источниках. 🟢 На DBT пересоздал модели ODS-слоя по всем источникам, переписал всё на инкрементальную логику. О больших успехах читайте у Саши и Ромы в их каналах! Все о вилках в IT 👈

  • "Дорогу осилит идущий, а релиз — деплоящий" (с) Дон Кихот, *почти Пока Microsoft увольняет разработчиков по 6000 человек, расскажу, как я поднял лендинг для VILKY 😁. Что нового? ➡️Запустил лендинг в Docker Compose с Nginx, на React через Vite + Tailwind CSS (моя любимая связка). Настроил Яндекс.Метрику для отслеживания переходов из рекламы в TG-канал по целевым метрикам. ➡️Обновил Airflow с 2.7.3 до 2.9.2 и переехал на мощный VPS (Timeweb). Причина — фикс багов этой прекрасной версии 2.7.3 и парочки нужных мне библиотек (ошибки в логах Docker) и потребность в производительном облаке. ➡️Автоматизировал парсер Vsety. ➡️Переходим от YandexGPT к собственным моделям — нормализация исторических данных через сторонние LLM слишком дорогая. О больших успехах читайте у Саши и Ромы в их каналах! Все о вилках в IT 👈

  • YandexGPT — это нейросеть семейства GPT, разработанная компанией «Яндекс». Она предназначена для создания и обработки текстов, генерации идей и взаимодействия с пользователями с учетом контекста. А теперь и мы ее юзаем. Что удалось сделать за две недели, сейчас расскажу 😁: Пссс... К нашей с Сашей команде примкнул Рома, и мы вместе продолжаем работать над пет-проектом. Рома отвечает за Data Quality, пишет тесты и проводит их. А ещё у него есть канал Котолитик, где он подробнее рассказывает об этом. ⭐️ Нормализация и LLM Мы отправляем каждую вакансию в YandexGPT с кастомным промптом, чтобы получить нормализованные поля в формате JSON: навыки (например, "Python 3.8" → "Python"), зарплаты (min/max/валюта), локации. Модель неплохо справляется 🫂 Для валидации ответов (в доке YGPT честно пишут, что она может "выдумывать") Рома написал SQL-тесты. Они сравнивают исходные данные, распаршенные по полям, с тем, что вернул GPT. Например, если в вакансии навык "Питон" стал "Python", а ЗП "100k-150k RUB" разложилась на min: 100000, max: 150000, валюта: RUB — тест это подтверждает. 🛫Оптимизация дашборда через DBT Раньше часть расчётов (агрегации, фильтры) жила в Tableau у Саши — это тормозило дашборд при росте данных. Я перенёс их в DBT: теперь трансформации (например, категории вакансий) происходят на уровне базы данных. Результат: дашборд грузится быстрее, а логика версионируется в коде. Пока перенёс только ключевые расчёты, но уже видно прирост производительности — запросы на 20-30% шустрее. 🐤 Автоматизация Telegram-канала Настроил автоматическую отправку постов в @vilky_it. Данные из базы преобразуются в дашборды и дайджесты (топ навыков, новые вакансии, метрики - фантастическая красота от Саши), затем через скрипт публикуются в Telegram. ⁉️ Как это работает вместе - Собираем сырые данные вакансий. - Отправляем их в YGPT по API. - Получаем JSON, парсим в базу. - SQL-тесты Ромы проверяют корректность - что всё ОКЕЙ) - DBT трансформирует данные для дашборда. - Скрипт публикует визуализации в канал. Планы и эксперименты - Статья YGPT vs GigaChatMax: Уже есть кейсы. YGPT быстрее на коротких текстах, но GigaChatMax лучше ловит контекст в длинных описаниях. - Новые источники: Планируем подключить дополнительные платформы вакансий, чтобы расширить выборку. Посмотри на наш дашборд анализа зарплатных вилок 👈 Подписаться на аналитику в канале 👈

  • Я — Никита, и мне не хватает 24 часов в сутках 🤪. Вот дайджест нашего с Сашей (@data_bar) проекта по зарплатным вилкам IT. Что нового за неделю и зачем: - API на Flask + MongoDB и Geekjob для внешних данных Поднял API на Flask с JWT-токенами, развернул MongoDB и подключил третий агрегатор — Geekjob. Теперь внешние источники могут слать вакансии (текст, PDF), а мы парсим их и складываем в Mongo. Зачем? Чтобы собирать больше данных с рынка с хорошей изоляцией от основного хранилища. - DAG в Airflow: MongoDB → ClickHouse Написал DAG — тянет данные из MongoDB в ClickHouse, приводит к нужной схеме без движков. Зачем? Чтобы сразу получать чистые данные для аналитики (можно было и через движек таблички в CH, но мне нравится через даг). - 15 дней истории в дашборде 😎 Увеличили глубину дашборда до 15 дней — теперь можно смотреть динамику зарплат и вакансий. Зачем? Чтобы видеть тренды рынка в реальном времени. Посмотри на наш дашборд анализа зарплатных вилок 👈 Возможно старовато, но мне нравится draw.io 😏

  • Хабр Карьера — сервис для IT-специалистов из экосистемы Хабра, где можно найти вакансии от джунов до сеньоров, сравнить зарплаты и прокачать навыки. Это площадка с тысячами предложений, калькулятором доходов и рейтингом работодателей. А теперь давайте посмотрим, как мы с Сашей Варламовым (@data_bar) используем данные с Хабр Карьеры в нашем проекте — свежий дайджест обновлений! 😄 🆕 Что нового в дашборде? Данные Хабр Карьеры - Появились вакансии для Junior и Intern, которых раньше не было в Getmatch. Новые возможности - Сортировка по разным метрикам в таблице вакансий. - Логотипы компаний с Хабра — теперь таблицы выглядят нагляднее. - Прямые ссылки на вакансии прямо из дашборда. Тренды во времени - Ежедневные данные, чтобы отслеживать изменения: сколько вакансий, какие зарплаты, какие навыки востребованы. Что можно сравнить? - Вакансии и зарплаты на Getmatch и Хабр Карьере: где больше предложений, где выше вилки? - Категории: Junior/Intern против более опытных позиций. - Динамику рынка: как меняются спрос на навыки и зарплаты. *Можно найти вакансии с зарплатами до 2 600 000 рублей (да, такие есть 😠). Посмотри на наш дашборд анализа зарплатных вилок 👈 . . . . . Ты ещё тут? Погнали дальше, расскажу про техчасть 🧑‍💻 Чтобы всё работало стабильно, "совсем чуть-чуть" обновил инфраструктуру: - Перешли с PostgreSQL на Clickhouse, установленный прямо на VPS. В TimeWeb DBaaS нельзя было настроить подключение между базами — провайдер забирает права суперпользователя ради безопасности, но нам нужен был полный контроль. Настроил на VPS всё с нуля: пользователей, роли, базы, схемы, таблицы, плюс фаервол через мой VPN для защиты. - Docker, даже с запущенным контейнером ClickHouse без нагрузки, потребляет 20-30% CPU. Это значительный оверхед, особенно для нашего проекта, где ресурсы VPS ограничены. В то же время нативная установка ClickHouse без нагрузки использует всего 5% CPU (да, немного - но пока база не 100GB и дагов мало можем себе позволить). - Мигрировал вакансии с двух платформ из PostgreSQL в Clickhouse, сохранив структуру для анализа. - Нашел у себя грубую ошибку в инсерте в БД для Хабр парсер - потерял 4 дня слепков. Хороший урок: проверять всё тщательнее. - Подрубил ежедневное обновление Google-таблиц через Airflow. Собираю данные с Clickhouse (вьюшки с двух платформ) и раскладываю сущности по разным листам для дашборда — сейчас показываем 8 дней. При создании таблицы из дага через API Google Sheets наткнулись на проблему: курсы за субботу и воскресенье были пустыми в базе. Теперь это учтено — сохраняем курс с пятницы для выходных, чтобы данные были полными. - Поднял dbt и приступил к стейджингу. Настроил коннект к Clickhouse, выделил stg-слой с основными сущностями (вакансии, навыки, компании). Сейчас raw-слой — это просто распарсенные данные с платформ. Использую BashOperator в Airflow для ежедневного запуска dbt. На подходе — интеграция Great Expectations, чтобы проверять данные на качество прямо в dbt-пайплайне. 😉 Что дальше? - Подключить третью платформу. - Завершить нормализацию данных в dbt. - Автоматизация унификации данных (LLM для навыков, локаций, названий компаний). - Попробовать ML для прогноза зарплатных вилок.

  • 17 февр. 2025 г.10,7 тыс28274

    GetMatch — это сервис, который помогает IT-специалистам находить работу, а компаниям — закрывать вакансии. В отличие от классических job-бордов, GetMatch сразу показывает зарплатные вилки. Идея «просто» автоматизировать парсер вакансий зародилась у нас с Сашей Варламовым (канал Саши @data_bar) – как часто бывает, слово «просто» стало началом чего-то действительно масштабного. Сейчас у нас есть полноценная автоматизированная система, которая ежедневно парсит вакансии с GetMatch, загружает их в PostgreSQL, тянет курс рубля и доллара, отправляет отчеты в Telegram и полностью автоматизирует ETL-процесс для аналитики в дашборде. Поднял Airflow в docker-compose на Timeweb (не реклама, просто нравится админка), чтобы DAG’и можно было запускать и мониторить централизованно. Добавил CI/CD на GitHub Actions, чтобы больше не заходить на виртуалку вручную — всё деплоится автоматически. Был парсер getmatch, но я его переписал под Airflow с Taskflow API. Разделил задачи, сделал их атомарными и настроил on_failure_callback, который отправляет сообщения об ошибках в Telegram-канал. Теперь, если что-то сломается, я узнаю об этом сразу, а не через неделю, когда появится дыра в данных. База данных PostgreSQL развернута на другом VPS, чтобы разграничить вычисления и хранение данных. Создал таблицы vacancies, vacancy_skills, skills, где skills сразу вынесена в ref-таблицу, чтобы не дублировать текстовые значения. Настроил пользователей и доступы, подключил базу к Airflow. Бэкапы настроены на ежедневное обновление. Теперь каждая вакансия и навык привязаны к конкретному дню, что позволяет анализировать динамику рынка труда. Каждое утро DAG собирает свежие вакансии, тянет курсы валют и обновляет таблицы, а в Telegram приходит сообщение с итогами работы: сколько вакансий обработано, какие ошибки возникли. Теперь в дашборде можно: • Смотреть историю изменения вакансий по дням • Анализировать время жизни вакансий и скорость закрытия • Отслеживать корреляцию зарплат с навыками • Изучать спрос на скиллы в динамике Раньше были просто “актуальные вакансии”, теперь есть полноценная разбивка по дням, что открывает больше возможностей для анализа. Посмотри на наш дашборд анализа зарплатных вилок 👈 В планах — развернуть dbt и начать собирать слой трансформаций, чтобы сразу приводить данные в нужный вид для аналитики.

  • DeepSeek - как изменился путь IT-самурая Раньше путь IT-специалиста был тернист: документация → Stack Overflow → бесконечные поиски в Google. Сегодня всё проще: GPT → если нашёл ответ, ты молодец; если нет — делаешь кофе и придумываешь новый запрос (но помни: много кофе — тоже плохо! 😄). Но есть нюанс: доступ к GPT из России может быть ограничен. И тут на помощь приходит Storm VPN. А если хочется альтернативу, китайцы уже придумали своё решение — DeepSeek-V3. ✅ Обходит GPT-4o и Claude-3.5 Sonnet в ряде тестов. ✅ Отлично понимает русский язык. ✅ Работает быстрее, чем ChatGPT. ✅ Доступен для россиян — даже мобильные приложения есть! deepseek.com 👈

  • OpenVK — VK анонсировал инициативу по открытию исходного кода своих IT-систем, библиотек компонентов, инструментов и AI-моделей. 😄 А теперь немного личного: я уже почти 2 года использую VKUI (начиная с версии 4). Нашел эту библиотеку, когда начал писал UI для Telegram Mini App, и сразу влюбился. Там потрясающе продумана структура экранов — страницы, модальные окна, попапы, всё на своих местах и легко управляется. 😊 Если интересно, загляни сюда — там наглядно показано, как это устроено. OpenVK 👈 * пост для друга из Индии 🇮🇳

  • Downloadly.ir — как и узоры иранских мечетей, этот храм скрывает в себе множество всего. ✨ Когда-то давно наткнулся на ресурс, где собраны целые сокровищницы “слитых” курсов со всего мира. Они помогут вам разобраться в: Фронтенд ↔️ Бэкенд, Языки программирования на любой вкус, Основы Дизайна, Базы данных, API, Docker, CI/CD, LLM и многое другое. Почему стоит внимания: • Курсы с топовых платформ. • Теория и практика для реальных задач. • Отличный старт для pet-проектов и новичков. • Возможность выучить персидский гуляя по сайту 😄 Курсы с таких платформ как: • Udemy • LinkedIn Learning • Coursera • Pluralsight • Skillshare "Не сужу, хорошо сливать курсы или плохо, но кто ищет — тот всегда найдёт." downloadly.ir 👈

  • Toki — бесплатная нейронка-планировщик, которая превращает голосовые, текстовые и даже визуальные заметки в чёткий календарь. 🙌 Почему это мне нравится: • Пересылка в бота сообщений в Telegram и WhatsApp. Записываете голосовое, а нейросеть разберёт его и составит расписание. • Интеграция с Google Calendar, Apple Calendar и CalDAV для синхронизации на всех устройствах. • Напоминания о делах в нужное время. • Бесплатно и без рекламы. + Боту можно пересылать целые разговоры из нескольких сообщений, и AI сам разберётся, что важно, а что нет, чтобы составить ваш график. @hidolabot 👈

  • Joni in Web pinned Deleted message

  • 🎮 Тетрис. Куда же без него? Добавил в GameBoy легендарный Тетрис. Классика, проверенная временем! 👾 Играть 👈

  • 🐍 Скоро Год Змеи, и я решил, что без змейки никуда! За час собрал вечером мини-игру Crazy Snake — простую, но затягивающую. Работает через Telegram Mini App, написана на VK UI Kit + React + Vite + Vercel. 🎮 Играть в Crazy Snake 👈 Заходите, тестируйте и делитесь рекордами!

  • Допустим, вы умеете писать веб-приложения на React ⚛️ и вам нужно делать это быстро, не заморачиваясь с дизайном (ведь чувство прекрасного развито не у всех). Тогда вот что бы я использовал, а что никогда не трогал. Что бы использовал: 1. Material UI • Большой набор компонентов из коробки. • Легкая кастомизация и темизация. • Активное сообщество и регулярные обновления. 2. Chakra UI • Современный и минималистичный дизайн. • Высокая кастомизация через стилизации. • Постоянные обновления и активное развитие. Что бы не использовал: 1. Bootstrap • Шаблонный дизайн, который сложно кастомизировать. • Тяжеловесный и может замедлять загрузку приложения. 2. Semantic UI • Меньшее сообщество и реже обновляется. • Сложнее в настройке и кастомизации по сравнению с современными библиотеками. Если вам нужно быстро создать React-приложение без лишних хлопот с дизайном, рекомендую связку Vite + Vanilla Js + Material UI или Chakra UI. П.с. заметка для друга из Индии 🇮🇳

  • Интересно, как работает букмекер? 👍 Лекции от Евгения Лебедева — человека, который знает всё о ставках. Если ты хочешь разбираться в аналитике и делать осознанные прогнозы, это точно для тебя. Смотри лекции: Плейлист 1 👈 Плейлист 2 👈 Плейлист 3 👈

  • Стоит посмотреть 🔥 https://t.me/dev_yttg/1181 👈 #болтовня

  • Channel created