Найти в Дзене
Закреплено автором
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 года назад
🔹 Индексы в PostgreSQL: какие выбрать и почему
🔹 Какие типы индексов в PostgreSQL и когда их применять? 🔸 Индекс решает проблему медленных full table scan: он ускоряет поиск, но увеличивает запись и занимает место. Выбираем тип по характеру запросов и по операторам, которые используем. 🔸 B-tree — дефолтный индекс. Отлично для равенств, диапазонов, ORDER BY и UNIQUE. Используйте для PK, FK и числовых/строковых колонок с сортировкой. 🔸 Hash — индекс только для равенств. Подходит, когда много точечных = запросов и B-tree не даёт нужной производительности; обычно реже применяется из‑за ограниченной поддержки операторов...
10 часов назад
🔹 Асинхронность vs конкурентность: python-практика
🔹 Чем отличаются concurrency и parallelism — и как asyncio + threadpool играют вместе? 🔸 concurrency решает проблему простаивания: позволяет управлять множеством задач одновременно, чтобы не блокировать поток при ожидании I/O (input/output). 🔸 parallelism — реальное параллельное выполнение на разных ядрах CPU (central processing unit); нужен для ускорения CPU-bound операций, иначе многозадачность не даст прироста. 🔸 Практика: для I/O-bound используйте asyncio; для блокирующих или CPU-bound функций — отправляйте их в threadpool (ThreadPoolExecutor) или в process pool...
1 день назад
🔹 Event Sourcing: восстановление состояния через журнал событий
🔹 Как восстановить состояние системы из событий? 🔸 Сохраняем изменения как события, а не перезаписываем состояние. Это решает проблему потери истории и даёт источник правды для recovery: event store — append-only immutable log, где каждое событие фиксирует изменение. 🔸 Во время восстановления читаем event store и реиграем события (реиграть события) в приложении: последовательное применение событий строит текущее состояние. Пример реигровки: state = State() for e in event_store...
2 дня назад
🔹 Результаты недели: идемпотентность, prompt injection, SRE и OKR
🔹 Что из этого нужно прямо сейчас? 🔸 идемпотентность нужна, чтобы повторные запросы не создавали дубли и не ломали данные: при сбоях клиент может ретраить — система должна вернуть тот же результат или отклонить повтор. Практика: хранить request_id и проверять его. 🔸 prompt injection — это попытка через ввод изменить поведение системы; проблема в доверии к входным данным. Защита: фильтры, строгие шаблоны, контекстная валидация и тестовые запросы. 🔸 SRE (Site Reliability Engineering) vs DevOps...
3 дня назад
🔹 Hot swap: заменить без остановки
🔹 Что такое hot swap и зачем он нужен? 🔸 Hot swap нужен, чтобы менять или апгрейдить hardware без остановки сервисов — например заменить неисправный диск; без этого приходилось бы останавливать сервисы и терять доступ. 🔸 Это свойство оборудования и операционной системы: контроллеры, слоты и драйверы позволяют безопасно отключать и подключать устройство во время работы. Практически это процесс физической замены без полной перезагрузки. 🔸 Нужен при upgrade, в кластерах с высокой доступностью и в дата‑центрах, где простои стоят дорого...
3 дня назад
🔹 Стиль промпта: вопрос vs команда
🔹 Как формулировка (вопрос или команда) и тональность меняют результат? 🔸 Суть: разная формулировка решает проблему неоднозначности — вопрос обычно приглашает к обсуждению, команда просит конкретный результат. Без этого получите не то, что нужно. 🔸 Вопрос = мягкий тональность, варианты и объяснения. Команда = прямой тон, ожидается чёткий формат и краткий результат. 🔸 Практика: нужен точный output (список, код, шаги) — команда. Хочется идей и рассуждений — вопрос...
4 дня назад
🔹 SRE vs DevOps: кто отвечает за надёжность
? 🔹 Что делает SRE и чем он отличается от DevOps? 🔸 SRE (Site Reliability Engineering) существует, чтобы поддерживать availability — доступность сервисов — на уровне, указанном в SLA (Service Level Agreement). Без этого фичи могут регулярно ломать пользователей. 🔸 Типичные задачи SRE: автоматизация рутины, мониторинг, инцидент-ответ и постмортемы. Всё это даёт предсказуемую надёжность и восстановление после сбоев. 🔸 DevOps (development + operations) — это культура и практики для быстрой доставки...
5 дней назад
🔹 Типы пайплайнов: batch vs event-driven
🔹 В чём разница между классическим ETL (Extract, Transform, Load) и event-driven pipeline? 🔸 Чтобы решать разные проблемы: один путь — обрабатывать большие объёмы периодически, другой — быстро реагировать на события в системе. 🔸 batch pipeline: обрабатывает данные пачками по расписанию (ночные ETL), прост в отладке, хорош для тяжёлых агрегатов, но даёт высокую задержку и большие пиковые нагрузки. 🔸 stream pipeline: потоковая обработка, данные идут непрерывно; триггер (trigger) — событие, которое запускает обработку (например, сообщение в Kafka или webhook)...
6 дней назад
🔹 CASE WHEN — условные поля в SQL
🔹 Как добавить в запрос колонку с условием без портить группировку? 🔸 CASE нужен, чтобы превращать логические условия в значения прямо в SELECT — полезно, когда нужно классифицировать строки или считать метрики без дополнительной обработки данных. 🔸 Синтаксис: CASE WHEN условие THEN значение [WHEN ...] ELSE значение END. WHEN проверяет, ELSE возвращает значение по умолчанию. Работает в SQL (Structured Query Language). 🔸 При...
1 неделю назад
🔹 Чтение и запись файлов в Python — быстро
🔹 Как открыть, прочитать и записать текстовый файл в Python? 🔸 Работа с файлами нужна, чтобы программа сохраняла данные между запусками — без файлов всё в памяти исчезает при закрытии процесса. Это решает проблему постоянного хранения и обмена данными. 🔸 Если открывать файл вручную через open() и забыть закрыть, можно потерять данные или заблокировать файл. Конструкция with автоматически закроет файл, а режимы 'r', 'w', 'a' управляют чтением/перезаписью/добавлением. read() считывает строку/весь текст, write() записывает строку...
1 неделю назад
🔹 Registry схем: зачем нужен Schema Registry
? 🔹 Что делать, если продюсер меняет схему сообщений? 🔸 Продюсер поменял поля — консьюмеры начинают падать или читать некорректные данные. Schema registry хранит схемы централизованно и проверяет совместимость, чтобы изменения не ломали потребителей. 🔸 Продюсер — сервис, который пишет события; консьюмер — который их читает. Без реестра договоренности по полям живут в голове разработчика и быстро расходятся. 🔸 Для Avro и Protocol Buffers (protobuf) реестр версий (versioning) присваивает id каждой схеме...
1 неделю назад
🔹 Результаты недели: стриминг, нормализация, Python и SQL
🔹 Чему научились и зачем это нужно? 🔸 Streaming vs batch — решает проблему задержки: стриминг обрабатывает данные непрерывно для мгновенных реакций, batch собирает и обрабатывает пачками для сложной агрегации и репортинга. Выбирайте стриминг при необходимости низкой латентности, batch — для стабильных, тяжёлых расчётов. 🔸 1NF–3NF (NF — нормальная форма) — нужна чтобы убрать дубли и аномалии при изменении данных. 1NF: атомарные поля, 2NF: убрать частичные зависимости, 3NF: убрать транзитивные зависимости...
1 неделю назад