Pull to refresh
0
0
Send message

Книга: «Простое объектно-ориентированное проектирование: чистый и гибкий код»

Reading time9 min
Views995
image Привет, Хаброжители!

Объектно-ориентированное проектирование (ООП) — не просто чисто инженерная задача; оно перерастает в искусство. Никакая заданная последовательность шагов не приведет к оптимальному проекту. Объектно-ориентированное проектирование требует творческого подхода.

В книге «Простое объектно-ориентированное проектирование: чистый и гибкий код» Маурисио Аниче рассматривает ООП с двух точек зрения: как предотвратить резкое увеличение сложности системы и как получить «достаточно хорошую» архитектуру.
Читать дальше →
Total votes 3: ↑3 and ↓0+7
Comments1

OpenShift и Kubernetes: сравнительный обзор, основные различия

Level of difficultyEasy
Reading time8 min
Views3.6K

OpenShift и Kubernetes (K8s) выбирают чаще всего для оркестровки контейнеров. Эти инструменты сложно сравнивать напрямую, поскольку Kubernetes — открытое решение (open source), а OpenShift — продукт (дистрибутив) на основе Kubernetes. В этой статье рассмотрены их основные функции и отличия, модели развёртывания и пригодность для различных вариантов использования.

Статья будет полезна тем, кто пока не знаком с этими инструментами и хочет узнать о них больше.

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments1

Руководство по созданию приложения для поиска данных на основе агента GraphRAG

Level of difficultyMedium
Reading time3 min
Views2.8K

Это приложение интегрирует GraphRAG с агентами AutoGen, работающими на локальных LLM от Ollama, для бесплатного и автономного встраивания и вывода.

Ключевые моменты включают:
1. Agentic-RAG: - Интеграция метода поиска знаний GraphRAG с агентом AutoGen через вызов функций.
2. Поддержка автономного LLM: - Настройка GraphRAG (локальный и глобальный поиск) для поддержки локальных моделей из Ollama для вывода и встраивания.
3. Вызов функций не из OpenAI: - Расширение AutoGen для поддержки вызова функций с LLM из Ollama через прокси-сервер Lite-LLM.
4. Интерактивный пользовательский интерфейс: - Развертывание пользовательского интерфейса Chainlit для обработки непрерывных разговоров, многопоточности и настроек пользовательского ввода.

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments3

Хватит называть контейнеризацию виртуализацией

Reading time5 min
Views17K

Привет, Хабр! Меня зовут Матвей Мочалов, я — компьютерный инженер и один из авторов корпоративного блога cdnnow! Как-то мы уже обсуждали особенности Docker на разных системах, а сегодня я хочу копнуть глубже — поговорить о том, как наша индустрия поймала саму себя в ловушку Джокера и умудрилась запутать всех, выдавая контейнеризацию за виртуализацию.

Продолжим об этом ниже в посте.

Читать далее
Total votes 48: ↑42 and ↓6+41
Comments45

Как развернуть сервис в Kubernetes: гайд для начинающих

Level of difficultyEasy
Reading time8 min
Views6K

Привет, Хабр! Сегодня мы попробуем развернуть простой сервис в Kubernetes на примере KaaS в облачной платформе Рег.ру. В качестве самого сервиса будем использовать imgproxy — минималистичный сервис подготовки изображений для web с предельно простым API. 

Этот гайд будет полезен новичкам, которые только начинают работу с Kubernetes. Рассмотрим, как настраивать среду и управлять ей, и освоим принципы работы с контейнерами. Кроме того, развертывание imgproxy в качестве примера поможет научиться обрабатывать изображения с помощью Kubernetes простым и удобным способом.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments1

SQL для Junior Data Engineers: примеры бизнес-задач

Level of difficultyEasy
Reading time6 min
Views5.8K

Вход в профессию Data Engineer требует не только владения инструментами для построения данных, но и уверенного знания SQL для решения задач различной сложности.

Несмотря на то, что многие SQL-запросы могут казаться «аналитическими», на практике именно Data Engineers часто отвечают за их написание и оптимизацию. Ведь аналитикам и специалистам по продукту требуется быстрый и точный доступ к данным для их анализа, а это означает, что DE должны обеспечить доступ к нужным данным и помочь в создании запросов для обработки больших объемов информации.

В этой статье я привожу примеры SQL-запросов, которые соответствуют уровню владения языком, необходимому для Junior Data Engineer.

Читать далее
Total votes 6: ↑3 and ↓30
Comments14

Разрабатываем первое AI приложение

Level of difficultyMedium
Reading time13 min
Views6.4K

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

За последние двадцать лет было предпринято много усилий для цифровизации информации и процессов. Большинство из них сосредоточено на накоплении данных в реляционных базах. Этот подход позволяет традиционным аналитическим методам машинного обучения обрабатывать и анализировать данные.

Тем не менее, несмотря на наши попытки структурировать все больше информации, мы по-прежнему сталкиваемся с трудностями в полном понимании и обработке всего нашего знания.

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments4

Structurizr инструкция для начинающих

Level of difficultyMedium
Reading time4 min
Views1.5K

Всем привет!

Хочу поделиться с вами инструкцией, как перенести архитектуру системы в Structurizr. Описание диаграмм будет через код, в нотации С4, о самой нотации есть отличная статья.

Применять будем инструмент Structurizr. Мы не будем рассматривать как ввести инструмент в контур вашего ландшафта, задача показать, что именно необходимо сделать архитектору, для описания текущего состояния и будущих состояний системы.

Давай посмотрим
Total votes 1: ↑1 and ↓0+3
Comments2

Как мы годами неправильно учим английский и не используем его в карьере

Level of difficultyEasy
Reading time6 min
Views44K

Привет, Хабр! Меня зовут Варя, я делаю свою школу математики на английском Around Academy. Много общаюсь с взрослыми и с детьми разных возрастов, которые видят свое будущее в IT и приходят ко мне учиться. Сегодня хочу поговорить о том, в чем проблема современных подходов к изучению языка. И о том, почему мы и даже наши дети никак не можем доучить этот инглиш ленгуаге.

Так почему?
Total votes 35: ↑22 and ↓13+13
Comments90

Как создать ассистента для поиска по видео

Reading time9 min
Views1.6K

Всем привет! Меня зовут Георгий, я старший разработчик‑исследователь в MTS AI. Одной из задач, которыми я занимаюсь в компании, является умная видеоаналитика. Это мощный инструмент, особенно с учетом современных технологий искусственного интеллекта, который может использоваться во многих отраслях: от торговли до обслуживания клиентов.

При этом у сегодняшних систем видеоаналитики есть существенное ограничение: они заточены под узкие задачи и конкретные типы событий — например, распознавание автомобильных номеров, пересечение границ, детектирование лиц. Конечно, прогресс не стоит на месте, и за прошедший год появилось много мультимодальных моделей, способных отвечать на широкий спектр вопросов по видео — но они работают лишь на очень коротких роликах и требуют серьезных вложений в «железо».

Тем не менее представьте, что можно создать общую систему видеоаналитики, которая заранее не настроена на определенные события. Она гибкая и умеет понимать задачи во время общения с пользователем. Запросы могут быть разнообразными, например: «предупреди меня, если в кадре произойдет ЧП, например, пожар или драка» или «я хочу найти кадры с желтыми автомобилями такси».

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments1

Kubernetes Ingress глазами новичка

Reading time3 min
Views95K

Что такое ingress?


Ingress это базовый тип ресурса в кубертенесе. Если просто объявить объект типа Ingress в кубернетисе то ничего не произойдет.


Что бы этот ресурс начал работу в кластере кубернетиса должен быть установлен Ingress Controller, который настроит реверсивный прокси в соответствии с Ingress объектом.


Ingress Controller состоит из 2х компонентов — реверсивного прокси и контроллера который общается с API сервером кубернетеса. Реверсивный прокси слушает входящий трафик на портах которые указаны в настройках (обычно в настройках по умолчанию указан только порт 80). Контроллер может быть как отдельным демоном (как в nginx), так и встроенным в прокси (как в traefik).


Не все клауд провайдеры кубернетеса предустанавливают Ingress Controller по умолчанию.


Контроллеры могут запускаться либо как DaemonSet либо как Deployment. DaemonSet идеально использовать как единственный Ingress Controller, что бы реверсивное прокси слушало на всех IP адресах воркеров. Deployment отлично подходит если перед Ingress контроллером стоит балансировщик — от провайдера кубернетиса (GKE, AKS), MetalLB если онпремис или обычный haproxy/nginx установленный на сервере (требутеся ручная настройка). При этой установке возможно установить несколько Ingress Controller.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments5

Системный аналитик 100 lvl — дорожная карта развития

Level of difficultyMedium
Reading time12 min
Views24K

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

Привет, Хабр! Меня зовут Любовь Кулева, я руководитель отдела разработки и методологии Учебного центра IBS. Каждый год в нашем центре сотни сотрудников проходят сертификацию навыков. Собрав статистику по итогам 2023 года, мы выяснили, что сертификацию успешно сдает лишь каждый третий системный аналитик. Да-да, вы не ослышались: это значит, что две трети специалистов в первый раз заваливают экзамен. Очевидно, что многие просто не замечают пробелов в собственных знаниях или не знают, какие именно компетенции следует подтянуть в первую очередь. Эта статья — дорожная карта для любого системного аналитика, желающего расти в профессии.

Читать далее
Total votes 19: ↑16 and ↓3+15
Comments15

Почему так страшно писать статьи, устроиться на новую работу, получить много денег?

Level of difficultyEasy
Reading time9 min
Views14K

Я не любитель Хэллоуина и всего с ним связанного (ну разве что кроме печёной тыквы). Однако, когда коллеги запланировали активности с размахом, подумалось, что для многих этот день — символ победы над страхом. Помните, как мы в детстве проходили через ночное кладбище или тёмные закоулки, а потом невероятно гордились собой? В этих приключениях заложены сложные биологические механизмы, но мы поговорим не о них — в конце концов, вряд ли на Хабре кто-то собрался выживать и быть лицом к лицу с опасностью жизни и здоровью. Поговорим о страхах других видов.

Читать далее
Total votes 37: ↑34 and ↓3+57
Comments42

Универсальный фреймворк для работы с нейросетями

Level of difficultyEasy
Reading time5 min
Views6.2K

Привет, Хабр! Меня зовут Денис Зеленых, я дизайнер, арт-директор, а также ревьюер в Яндекс Практикуме. В этой статье хочу поделиться универсальными рекомендациями по написанию промтов для нейросетей.

Читать далее
Total votes 9: ↑4 and ↓5+2
Comments9

«Я спросил у Ясеня». Преимущества и недостатки использования искусственного интеллекта в работе системного аналитика

Level of difficultyEasy
Reading time4 min
Views1.8K

Привет Хабр! Меня зовут Татьяна Ошуркова, я разработчик, аналитик и автор телеграм-канала IT Talks. В этой статье я хочу разобрать преимущества, возможности и недостатки использования больших языковых моделей в работе системного аналитика.

С появлением возможности использовать LLM в работе, решение многих задач приняло совершенно новый вид. Безусловно, как и все технологии, LLM сегодня помогают найти новые подходы, придумать решения или даже могут выполнить работу за нас.

Читать далее
Total votes 7: ↑2 and ↓5-3
Comments1

Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта

Level of difficultyMedium
Reading time21 min
Views4.4K

Разработка, развёртывание и поддержка моделей машинного обучения в продакшене может быть сложной и трудоёмкой задачей. Здесь на помощь приходит Machine Learning Operations (MLOps) — набор практик, который автоматизирует управление ML-процессами и упрощает развёртывание моделей. В этой статье я расскажу о некоторых основных практиках и инструментах MLOps на примере реализации проекта от начала до конца. Это поможет вам эффективнее управлять ML-проектами, начиная с разработки и заканчивая мониторингом в продакшене.

Прочитав эту статью, вы узнаете, как:

— Использовать DVC для версионирования данных.
— Отслеживать логи, артефакты и регистрировать версии моделей с помощью MLflow.
— Развернуть модель с помощью FastAPI, Docker и AWS ECS.
— Отслеживать модель в продакшене с помощью Evidently AI.

Читать далее
Total votes 17: ↑17 and ↓0+22
Comments3

Оптимальные протоколы обучения 2024 согласно исследованиям Стэнфорда

Level of difficultyEasy
Reading time4 min
Views17K

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

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

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

Читать далее
Total votes 46: ↑44 and ↓2+52
Comments17

Как оценить LLM модель

Reading time12 min
Views1.8K

В одном из прошлых блогов я представил концепцию тестирования крупных языковых моделей (LLM). Однако тестирование крупных языковых моделей (LLM) - достаточно сложная тема, которая требует дальнейшего изучения. Существует несколько соображений относительно тестирования моделей машинного обучения и, в частности, LLM, которые необходимо учитывать при разработке и развертывании вашего приложения. В этом блоге я предложу общую структуру, которая будет служить минимальной рекомендацией для тестирования приложений, использующих LLM, включая разговорные агенты, расширенную генерацию поиска и агентов и т. д.

Читать далее
Total votes 5: ↑2 and ↓30
Comments1

Kafka. Лучшие практики применения. Настройки Producer & Consumer

Level of difficultyMedium
Reading time20 min
Views21K

Привет, Хабр!

Меня зовут Михаил, я являюсь ФинТех системным аналитиком, исполняющим роль архитектора на проектах. И сегодня я хочу поделиться материалами по Kafka, которые подготовил для обучения сотрудников из своей команды. В материале постарался отразить самые важные технические моменты по Kafka, которые будут подкреплены наглядными кейсами и примерами использования. Материал будет полезным как для начинающих, так и для продвинутых пользователей. Желаю приятного прочтения.

Kafka. Лучшие практики применения.
Total votes 31: ↑25 and ↓6+21
Comments36
1
23 ...

Information

Rating
Does not participate
Registered
Activity