Найти в Дзене
Закреплено автором
CODERIKK
Немного познакомимся и я расскажу о себе и своем опыте. Меня зовут Егор, мне 26 лет 🫶🏼 Мои основные специализации: - Программист, разработчик - BI-аналитик, аналитик данных  - Data Scientist (DS, DA, DE) Имею 2-а красных диплома 📕 Опубликовано 11 научных статей 📚 Зарегистрировано 3 рационализаторских предложения 📔 Большой опыт работы с библиотекой Pandas и библиотекой визуализации Matplotlib. Имею опыт работы с NLP (обработка естественного языка) в данном направлении начинал работу с машинным обучением, например, такие задачи как классификация отзывов по темам и определение настроение пользователя. Занимался парсингом новостных сайтов и отзовиков, проводил анализ отзывов и мнений, поиск ошибок и неисправностей. XML парсинг RSS лент. Разработал несколько полноценных, полнофункциональных Telegram-bot'ов на основе ИИ - Python асинхронных библиотек с использованием ChatGPT с регистрацией, верификацией по почте и различными моделями взаимодействия и сохранением контекста, с проектированием, реализации и использовании баз данных PostgreSQL и MySQL, размещенный на своём сервере под управлением системы Ubuntu. Разработал Desktop утилит для торговых предложений, отслеживания товаров внутри одного предприятия на основе разработанного графического интерфейса. Дипломы написаны по теме "Computer Vision" основной задачей которых было обнаружение и идентификация личности или объекта задачи. Также интересной задачей был поиск погрешностей и отклонений процесса за счет средств технологии Graph Mining (Process Mining). Опыт работы с Docker, в связи с переносом проекта на различные НРТК (наземных робототехнических комплексов) на основе Raspberry PI и Arduino. Опыт написание простых сайтов на основе Flask с применением SQLAlchemy. Опыт работы с Git и свои репозитории на GitHub и GitLab. Навык работы с Linux. Знание алгоритмов машинного обучения, искусственного интеллекта, статистики, ООП. Работа с Yandex Cloud и DataLens. Все это только небольшая часть моего опыта 🤭 Подпишись на мой Telegram-канал и развивайся в сфере IT без курсов, все просто и наглядно: CODERIKK
2 года назад
🔹 Прямой vs каскадный — когда что лучше
? 🔹 Делать один большой direct-запрос или разбивать в chain-of-thought шаги? 🔸 direct нужен, когда задача тривиальна: экономия времени и tokens повышает efficiency. Без этой стратегии получаешь лишние шаги и потерю скорости. 🔸 Используй direct для простых трансформаций и генерации вариантов. Direct: "Напиши 5 заголовков про Python для блога" 🔸 chain-of-thought нужен при сложных рассуждениях: планирование, отладка, проверка логики...
1 час назад
🔹 OLTP vs OLAP: transactional или аналитическая
? 🔹Чем отличаются OLTP (Online Transaction Processing) и OLAP (Online Analytical Processing) и зачем это нужно? 🔸 OLTP — transactional система для повседневных операций: много коротких транзакций (INSERT/UPDATE), низкая задержка, real-time ответы. Без этого приложение не сможет быстро регистрировать покупки или платежи. 🔸 OLAP — аналитическая система (обычно Data Warehouse) для сложных агрегатов и исторического анализа: оптимизирована для больших чтений и сложных JOIN/AGGREGATE, но не для частых записей...
1 день назад
🔹 ELT — когда трансформации в базе побеждают
🔹 Что решает ELT и чем отличается от ETL (Extract, Transform, Load)? 🔸 ELT нужен, чтобы убрать узкие места в сети и процессинге: вместо трансформаций до загрузки мы загружаем сырые данные и выполняем обработка в БД (база данных). Это сокращает движение данных и ускоряет итерации аналитиков. 🔸 Ключевое отличие: ETL трансформирует до загрузки; ELT — Extract, Load, then transformation внутри хранилища. В cloud (облаке) хранилища дают масштаб и дорогоэффективный compute для таких transformation...
2 дня назад
🔹 Партиционирование таблиц: ускоряем большие таблицы
🔹 Как партиционирование помогает улучшить производительность запросов? 🔸 Партиционирование (partitioning) уменьшает объём данных, которые нужно читать: вместо полного скана таблицы запросы читают только релевантные партиции — это снижает I/O и ускоряет обработку. 🔸 range — хорош для временных рядов: разделяйте по дате, чтобы старые партиции можно было быстро архивировать/удалять без влияния на свежие данные. 🔸 hash — полезен для равномерного распределения данных по партициям, когда нет естественного диапазона; уменьшает «горячие» партиции при высокой конкурентности...
3 дня назад
🔹 GIL: почему Python блокирует потоки (и что с этим делать
) 🔹 Что такое GIL и как он влияет на threading и parallelism? 🔸 GIL (Global Interpreter Lock) появился, чтобы защитить внутреннее состояние CPython — в основном простая реализация счётчика ссылок и структуры объектов. Без GIL пришлось бы тонко синхронизировать доступ на C‑уровне, что сильно усложнило бы реализацию интерпретатора. 🔸 GIL сериализует выполнение байт-кода, поэтому в CPU‑bound (CPU — Central Processing Unit) задачах потоки (threading) в CPython не дают настоящего параллелизма. Для IO (Input/Output) потоков выигрыш остаётся полезным...
4 дня назад
🔹 Монолит vs микросервисы: что брать
? 🔹 Как выбрать между monolith и microservice для простого проекта? 🔸 Monolith решает проблему простоты: все в одном процессе — одна сборка, локальные вызовы функций, простые деплой и отладка. Масштабирование (scalability) обычно вертикальное: больше CPU/RAM для всего приложения. 🔸 Microservice даёт гибкое масштабирование и независимые релизы: маленькие сервисы общаются по Application Programming Interface (API) — сетевые вызовы, можно масштабировать только узкие места. Цена: сеть, оркестрация, мониторинг и сложнее локально дебажить...
5 дней назад
🔹 Итоги недели: DataOps, SRE, принцип DRY и prompts
🔹 Зачем сводить DataOps, SRE и промт-инжиниринг — чтобы уменьшить хаос в данных, быстрее находить ошибки и получать предсказуемые ответы? 🔸 DataOps делает пайплайны повторяемыми и прозрачными: без него версии данных и трансформаций теряются, исправления становятся дороже. Выписывайте ключевые термины и проверяйте код. 🔸 SRE обеспечивает надёжность через мониторинг и инцидент-реакцию. Принцип DRY (Don't Repeat Yourself) уменьшает дублирование, упрощает правки и поиск ошибок...
5 дней назад
🔹 DRY: когда копипаст вреден
🔹 Что решает принцип DRY (Don't Repeat Yourself — «не повторяй себя»)? 🔸 Дублирование кода приводит к багам и большему времени поддержки: правка в одном месте — забыли в другом. 🔸 Когда применять: заметили одинаковую логику в нескольких местах — сигнал для рефакторинга. Это снижает риски и ускоряет изменения. 🔸 Как применять: вынести общую логику в подпрограммы (functions), общие модули или библиотеки для reusability (повторного использования). Юнит‑тесты помогают безопасно рефакторить...
6 дней назад
🔹 Prompt injection: не дай вводу переписать правила
🔹 Как вредоносная команда может изменить ответ модели и как этого избежать? 🔸 prompt injection появляется потому что модель выполняет инструкции из входа; если злоумышленник вложит команды в пользовательский текст — модель может их выполнить и сломать политику или утечь данные. 🔸 Атаки приходят через пользовательский ввод, внешние данные и third‑party плагины; без контроля любая вспомогательная строка может стать «новой системой» для модели. 🔸 sanitize — практический шаг: чистим, нормализуем...
1 неделю назад
🔹 ETL — три шага, которые спасают данные
🔹 Что такое ETL и зачем он нужен? (ETL — Extract (извлечение), Transform (преобразование), Load (загрузка)) 🔸 Решает проблему разбросанных и «грязных» данных: без ETL сложно собрать данные из разных систем, привести форматы и получить надёжную таблицу для аналитики. 🔸 Extract — считывание данных из источников (БД, API, файлы). Нужен, чтобы получить исходное «сырое» состояние; без него нечего обрабатывать. 🔸 Transform — очистка, нормализация, агрегации и бизнес-логика. Пример: привести даты к ISO, удалить дубли, посчитать KPI — здесь данные становятся полезными...
1 неделю назад
🔹 LIMIT и OFFSET: как вернуть N строк и не убить производительность
🔹 Как ограничить количество возвращаемых строк и сделать пагинацию? 🔸 Ограничить результат нужно, чтобы не отправлять все строки клиенту и не перегружать БД — экономия CPU, памяти и трафика. 🔸 LIMIT задаёт, сколько вернуть; OFFSET — сколько пропустить. В SQL (Structured Query Language) пример: SELECT id, name FROM users ORDER BY id LIMIT 20 OFFSET 40; 🔸 OFFSET становится дорогим при больших смещениях: СУБД сканирует и пропускает строки, тратя ресурсы...
1 неделю назад
🔹 Дубли и дедупликация: практическое
🔹 Как найти и удалить duplicate при загрузке данных? 🔸 Дубли появляются когда одна и та же сущность попадает в поток несколько раз — это ломает агрегаты, нарушает уникальные ключи и увеличивает хранилище. 🔸 distinct (DISTINCT) убирает полные повторы строк на чтении, но сравнивает весь набор столбцов и на больших объёмах будет дорогим по времени и памяти. 🔸 Используйте row_number (ROW_NUMBER()) чтобы пометить повторяющиеся группы по ключу и оставить одну запись по правилу (например, самая свежая)...
1 неделю назад