Обновить
256K+
4,67
Оценка работодателя
2 908,38
Рейтинг
78 136
Подписчики
Сначала показывать

Как реализовать семантический поиск для RAG-архитектуры в PostgreSQL без усложнения инфраструктуры?

Ситуация: вы разрабатываете чат-бота для техподдержки на базе RAG-архитектуры. Используете PostgreSQL как хранилище знаний и делаете поиск по текстовым полям, но качество ответов нестабильное: система плохо справляется с синонимами, профессиональным сленгом и переформулировками запросов. Обязательно ли внедрять отдельную векторную базу данных, или можно реализовать семантический поиск прямо в PostgreSQL? Возможна ли простая проверка продуктовой гипотезы без усложнения архитектуры?

Да, семантический поиск в RAG-сценариях можно реализовать прямо в PostgreSQL без выделенной векторной базы данных (ClickHouse, Opensearch, Qdrant, Milvus и т. д). 

Для этого используется PostgreSQL + расширение pgvector, которое добавляет поддержку хранения эмбеддингов (векторов) и поиск по расстоянию до ближайших соседей (KNN) прямо внутри SQL-движка. Разберем, как это работает на практике.

В RAG-пайплайне текст документов и запрос пользователя преобразуются в векторные представления. PostgreSQL хранит эти векторы в таблице и позволяет выполнять поиск по смысловой близости, а не по точному совпадению слов.

Для этой задачи будем использовать pgvector — это расширение к PostgreSQL, которое добавляет тип данных vector и операторы поиска по расстоянию до ближайших соседей (KNN).

Поддерживаются три основные метрики сравнения векторов:

  • L2 (евклидово расстояние) — классическое расстояние между двумя точками в многомерном пространстве. Хорошо работает, если векторы не нормализованы и распределение значений относительно равномерное.

  • Cosine similarity (косинусное сходство). В отличие от предыдущей метрики измеряет не абсолютное расстояние, а угол между двумя векторами. Подходит для текстовых эмбеддингов, где важна направленность, а не масштаб. Требует нормализации векторов.

  • Inner product (внутреннее произведение) — скалярное произведение двух векторов. Может использоваться как прокси для оценки «сходства» при обучении моделей и в задачах ранжирования.

Допустим, мы получаем на наш запрос именно такой вектор от модели OpenAI. Для хранения создаем таблицу с типом VECTOR:

CREATE TABLE items (
 id SERIAL PRIMARY KEY,
 title TEXT,
 embedding VECTOR(1536)
);

Добавим данные для нескольких векторов разных объектов:

INSERT INTO items (title, embedding) VALUES
 ('PostgreSQL embeddings', '[0.10, -0.80, 0.45]'),
 ('Neural image processing', '[0.42, 0.18, -0.35]'),
 ('Sound pattern matching', '[-0.20, 0.70, 0.60]'),
 ('Document clustering', '[0.09, -0.79, 0.48]');

Теперь сравним их попарно и отсортируем по расстоянию:

SELECT
  a.title AS title_a,
  b.title AS title_b,
  a.embedding <-> b.embedding AS distance
FROM items a
JOIN items b ON a.id < b.id
ORDER BY distance;

Оператор <-> здесь вычисляет расстояние между двумя векторами. Таким образом, мы можем оценивать степень семантической близости любых объектов, представленных векторами. Какая именно метрика используется, зависит от операторного класса, заданного при создании индекса.

В подобных RAG-сценариях нет необходимости сразу вводить отдельный класс инфраструктуры типа векторная БД. Семантический поиск можно реализовать эволюционно поверх существующего PostgreSQL.

А если вы не хотите самостоятельно заниматься настройкой индексов, тюнингом памяти и производительности, а также обновлением версии PostgreSQL, то воспользуйтесь DBaaS от Selectel. Мы предоставим вам кластер PostgreSQL с преднастроенными расширениями, готовый к эксплуатации под нагрузкой. Это позволит сосредоточиться на RAG-логике и качестве поиска, а не на инфраструктурной оптимизации.

Теги:
+7
Комментарии0

Как разрешить пользователю реплики удаленно подключаться к Master-серверу PostgreSQL?

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

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

Чтобы решить эту проблему, необходимо отредактировать конфигурационный файл клиентской аутентификации pg_hba.conf на стороне Master-сервера и явно разрешить репликацию для IP-адреса вашей реплики.

Откройте конфигурационный файл клиентской аутентификации:

nano /etc/postgresql/17/main/pg_hba.conf

Обратите внимание, что тут рассматривается настройка репликации на примере PostgreSQL 17.

Найти точное расположение файла можно в командной строке PostgreSQL с помощью команды SHOW:

sudo -u postgres psql -c "SHOW hba_file;"

Добавьте в pg_hba.conf следующую строку, указав вместо REPLICA_ВНУТРЕННИЙ_IP сетевой адрес вашего ведомого сервера:

host    replication    replicator    REPLICA_ВНУТРЕННИЙ_IP/32    scram-sha-256

Для доступа к реплицируемым данным у пользователя replicator должна быть привилегия replication:

ALTER ROLE replicator WITH REPLICATION;

Предварительно ознакомьтесь с порядком применения правил в pg_hba.conf в официальной документации.

Чтобы PostgreSQL применил изменения в конфигурации авторизации, выполните reload службы в терминале:

systemctl reload postgresql

В качестве альтернативы можно отправить сигнал процессу postmaster с помощью pg_ctl reload, вызовом SQL-функции pg_reload_conf() или используя kill -HUP.

После применения изменений Master-сервер начнет принимать входящие пакеты от указанного IP-адреса, и процесс репликации сможет успешно инициализироваться.

На первый взгляд, настройка репликации в PostgreSQL кажется простой задачей: достаточно открыть доступ в pg_hba.conf и подключить standby-сервер.

Но в production-инфраструктуре за этой «простой настройкой» скрывается целый стек инженерных задач: необходимо следить за консистентностью WAL-журнала, контролировать лаг между репликами, обеспечивать безопасную сетевую доступность между узлами, настраивать резервное копирование, регулярно тестировать сценарии аварийного переключения и быть готовым вручную восстанавливать кластер в случае деградации одного из серверов.

Поэтому в ряде сценариев современные команды переходят от self-managed PostgreSQL к PaaS-решениям вроде Managed Databases, где отказоустойчивость, репликация и обслуживание кластера уже реализованы на уровне платформы.

Это позволяет сократить операционные расходы на сопровождение инфраструктуры и снизить риск простоев критичных сервисов.

Теги:
+5
Комментарии0

Через час расскажем, как настроить аварийное восстановление с возможностью георезерва

Сегодня в 12:00 мск вместе Хайстекс Акура проведем практический вебинар «Как настроить аварийное восстановление с возможностью георезерва». На нем представим готовый сервис, который по клику обеспечивает запуск копий систем в облаке. Решение поможет в случае поломок, кибератак и аварий.

Вы узнаете, как организовать георезерв в облаке Selectel, пройти внедрение под ключ и подтвердить фактические RTO/RPO тестовым восстановлением. Особенно ждем системных администраторов, DevOps- и SRE-инженеров, CTO и руководителей IT-департаментов.

Программа вебинара

  • Почему бэкап не равен аварийному восстановлению: где заканчивается резервное копирование и начинается восстановление сервиса 

  • Почему аварийное восстановление сложно внедрять самостоятельно 

    Подробнее о докладе

  • Как устроен DRaaS от Selectel на базе Хайстекс Акура 

  • Георезерв Москва-Санкт-Петербург как один из сценариев аварийного восстановления ИТ-инфраструктуры 

  • Как подтвердить реальную готовность аварийного восстановления: тестовое переключение и проверка фактических RTO/RPO 

  • Ответы на вопросы

А если спросите нас по теме вебинара и ваш вопрос запомнится спикерам, подарим легендарного плюшевого Тирекса.

Присоединяйтесь через час →

Теги:
+6
Комментарии0

Задача о вирусе и 1 000 серверах

Представим, что в вычислительном кластере из 1 000 серверов одна машина заражена неизвестным вирусом. Он не нагружает процессор, не генерирует подозрительный сетевой трафик и не оставляет следов в системных журналах. Только раз в сутки вирус незаметно повреждает один файл резервной копии.

Для поиска зараженного узла начинающий сисадмин Олег написал анализатор логов. Скрипт проверяет любое количество серверов одновременно, объединяя их журналы в единый пул. Результат проверки может быть только двух видов:

  • Status: 500 — если среди проверяемых серверов есть зараженный;

  • Status: 200 — если зараженного сервера в группе нет.

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

Задача

Помогите Олегу определить — предложите решение, которое позволит определить один зараженный сервер из 1 000 возможных за 10 запусков анализатора. Напишите код на Python, который по результатам проверок сможет определить номер зараженного узла.

Посмотреть решение

Теги:
+9
Комментарии1

Как связать контейнеры Nginx и PHP в Docker Compose, чтобы Nginx мог проксировать запросы?

Допустим, вы пытаетесь развернуть связку из веб-сервера и PHP. Контейнеры поднимаются, но веб-сервер выдает ошибку сети и не может достучаться до PHP-бэкенда. Разберемся, что нужно прописать в конфиге Nginx, чтобы они увидели друг друга.

Чаще всего подобная проблема возникает из-за того, что контейнеры изолированы друг от друга на сетевом уровне, либо в конфигурационном файле веб-сервера некорректно указан адрес целевого хоста. В экосистеме Docker Compose встроенный DNS-сервер автоматически сопоставляет имена сервисов с их внутренними IP-адресами. Поэтому не нужно прописывать статические IP — достаточно правильно использовать имена, заданные в манифесте. 

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

Чтобы Nginx мог передавать запросы PHP-FPM, необходимо:

  • убедиться, что оба контейнера находятся в одной сети (app_network),

  • указать в конфигурации Nginx правильный адрес PHP-контейнера (в нашем примере это php:9000, где php — имя сервиса в docker-compose.yml).

Шаг 1: Проверка манифеста docker-compose.yml

Убедитесь, что для обоих сервисов явно выделена одна общая сеть. Пример корректной структуры:

version: '3.8'
services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/html:/var/www/html
    depends_on:
      - php
    networks:
      - app_network

  php:
    image: php:8.2-fpm
    container_name: php
    volumes:
      - ./php:/var/www/html
    networks:
      - app_network

networks:
  app_network:
    driver: bridge

Шаг 2: Настройка конфигурации Nginx

В блоке location, отвечающем за обработку PHP-скриптов, в директиве fastcgi_pass вместо 127.0.0.1 или localhost необходимо подставить имя сервиса PHP из файла конфигурации:

server {
    listen 80;
    server_name localhost;

    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000;  # Связь с PHP-контейнером
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Директива depends_on в блоке Nginx гарантирует, что веб-сервер не начнет стартовать раньше, чем поднимется контейнер с PHP. Это предотвратит падение Nginx при первичном запуске окружения, если он не сможет сразу разрешить DNS-имя php.

Если вы хотите глубже разобраться в сетевых механизмах, управлении volumes и оркестрации контейнеров, читайте наш полный материал: Docker Compose и основы работы с контейнерами.

Теги:
+11
Комментарии0

Как управлять окружениями — venv / pip vs pipenv vs poetry?

Привет, Хабр! Продолжаем нашу рубрику с быстрыми ответами на некоторые часто встречающиеся вопросы. Сегодня разберем такую проблему: проекты постоянно ломаются из-за конфликтов зависимостей. Что выбрать для новых проектов и как сделать так, чтобы код работал одинаково, в том числе в CI?

Обычно начало всех проблем — смешение глобальных и локальных пакетов или отсутствие фиксированных версий библиотек. Главный совет: у каждого проекта должно быть собственное окружение с явно указанными зависимостями и сохраненным lock‑файлом в репозитории.

Если говорить о базе, то это связка venv и pip. Плюс она встроена в сам Python. Вы вручную создаете окружение, устанавливаете нужные пакеты и фиксируете их в requirements.txt. 

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

Сейчас это, пожалуй, наиболее сбалансированное решение: он создает и управляет окружениями, отслеживает версии, собирает wheel‑пакеты и умеет публиковать их в PyPI. Lock‑файл (poetry.lock) обеспечивает воспроизводимость сборок, а сам формат pyproject.toml — это стандарт. В итоге вы получаете чистое окружение, детерминированные зависимости и понятное поведение CI.

Вот пример рабочего цикла:

python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install poetry
poetry install
poetry run pytest

В CI чаще используют схему с экспортом зависимостей:

poetry export -f requirements.txt --without-hashes -o reqs.txt
pip install -r reqs.txt
pytest

Отдельно стоит упомянуть uv — относительно новый инструмент, созданный командой Astral (авторы Ruff). Он написан на Rust и совместим с Python. По сути, это те же функции pip, venv и частично poetry, но быстрее. От Poetry он отличается отсутствием публикации пакетов, но при этом умеет сам устанавливать и менять версии Python через .python-version

UV работает с pyproject.toml и имеет собственный uv.lock. Может использоваться вместе с Poetry, но лучше создавать единый uv.lock для строгой воспроизводимости. Для CI это удобно, вы пишите:

pip install uv

Далее есть два варианта:

  • uv venv — создает виртуальное окружение. Это аналог python3.13 -m venv .venv, но работает быстрее и с автоустановкой версии Python.

  • uv init — помимо .venv, добавляет шаблон проекта с pyproject.toml для зависимостей, Git-репозиторий и базовые файлы. Идеально для нового проекта.

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

Если хотите освоить инструменты Python, то в Академии Selectel у нас есть отдельная подборка статей. Там мы рассказываем, как настраивать инструменты, работать с базами данных, создавать программы с интерфейсом и использовать Python для парсинга.

Теги:
+8
Комментарии0

Как настроить TLS в клиенте Python при HTTPS-запросах?

Бывает так, что после обновления OpenSSL часть HTTPS-вызовов к внешним сервисам падает с ошибкой ssl.SSLError. Сейчас разберемся, как настроить Python, чтобы handshake проходил успешно и соединение оставалось безопасным.

После апдейтов OpenSSL часто отключают старые протоколы и слабые шифры — старые серверы не проходят handshake. Решение на клиенте — явно создать ssl.SSLContext, задать минимальную версию TLS и, при необходимости, набор шифров, а затем передать этот контекст в HTTP-клиент (например, httpx).

import ssl
import httpx

ctx = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH)
ctx.minimum_version = ssl.TLSVersion.TLSv1_2
ctx.set_ciphers('ECDHE+AESGCM:!ECDSA:!aNULL:!eNULL')

with httpx.Client(verify=ctx, timeout=10.0) as client:
    r = client.get('https://api.example.com')
    r.raise_for_status()
    print(r.status_code)

В коде мы указываем TLSv1_2 как минимальный порог. Это удобно: если сервер уже поддерживает TLS 1.3, все само заработает на самой новой версии. Но если какой-то внешний сервис еще не успел обновиться, соединение не разорвется, и все продолжит работать на стабильном 1.2. Так мы получаем универсальный код, который не сломается при работе со старыми API.

Для отладки TLS handshake применяйте openssl s_client -connect host:443 -tls1_2 чтобы увидеть, какие шифры поддерживает сервер. Временное ослабление minimum_version даст совместимость, но хуже для безопасности — лучше апгрейдить серверную часть. Сертификаты и ключи храните вне кода (секреты/volumes), не логируйте их, и при работе в контейнерах используйте безопасные механизмы передачи секретов.

Если хотите освоить инструменты Python, то в Академии Selectel у нас есть отдельная подборка статей. Там мы рассказываем, как настраивать инструменты, работать с базами данных, создавать программы с интерфейсом и использовать Python для парсинга.

Теги:
+7
Комментарии0

Задача о 17 серверах и сетевом архитекторе

Привет, Хабр! Принесли задачу — попробуйте ее решить и сверить ответ с нашим.

Условие

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

На следующее утро на смену заступил дежурный инженер. Взглянув на ТЗ и схему коллеги, он лишь покачал головой, налил кофе и заявил: «Сеть построить не получится, архитектор где-то просчитался».

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

Задача

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

Узнайте решение в Академии Selectel.

Теги:
+9
Комментарии1

Что делать, если Python-сервер падает из-за утечки памяти?

Привет, Хабр! Это наша экспериментальная рубрика, в которой мы даем новичкам быстрые ответы на четкие вопросы. Писать статью будет излишним, а некоторую пользу до аудитории донести, возможно, получится.

Итак, допустим, агент спустя время начинает расти по памяти и в итоге все падает. Где копать и как временно ограничить ущерб, пока ищете утечку?

Первое, что нужно сделать — измерить и локализовать. tracemalloc показывает, какие строки выделяют больше всего памяти, gc — количество объектов. 

Часто проблема в неограниченных кэшах, списках или в C-расширениях. Сначала стоит включить tracemalloc, дать процессу поработать и снять снапшот:

import tracemalloc
tracemalloc.start()
# после нагрузки
snapshot = tracemalloc.take_snapshot()
top = snapshot.statistics('lineno')[:10]
for stat in top:
    print(stat)

Параллельно делайте gc.collect() и логируйте число объектов len(gc.get_objects()), чтобы увидеть рост. На время расследования применяйте эксплуатационные меры: для WSGI-сервисов используйте Gunicorn с --max-requests и --max-requests-jitter, чтобы процессы периодически перезапускались и не накапливали мусор. А в контейнерах ставьте cgroup-пределы (--memory) и настраивайте restart-политику, чтобы платформа автоматически перезапускала упавшие поды.

Пример запуска Gunicorn:

gunicorn myapp:app --workers 4 --max-requests 1000 --max-requests-jitter 50

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

Если хотите освоить инструменты Python, то в Академии Selectel у нас есть отдельная подборка статей. Там мы рассказываем, как настраивать инструменты, работать с базами данных, создавать программы с интерфейсом и использовать Python для парсинга.

Теги:
+7
Комментарии0

Заключительная рубрика ИТ-кроссворда. Старт через 15 минут 🦖

В 12:00 по московскому времени открываем последнюю рубрику ИТ-кроссворда — «ML-железо». В публикации вас будут ждать вопросы об вендорах, подборе комплектующих и распределении вычислительных ресурсов.

Зарегистрироваться →

👉 Отвечать на вопросы можно с 12:00 до 18:00 (МСК). Среди призов — комплекты эксклюзивного мерча Selectel и бонусы на аренду серверов.

Напоминаем, что бороться за первое место в общем зачете не обязательно, вы еще успеваете посоревноваться и выиграть призы, даже если ранее не подключались к игре! Победители и номинанты будут в каждой из четырех рубрик.

Теги:
+9
Комментарии0

Старт третьей рубрики ИТ-кроссворда уже через 30 минут 🦖

В 12:00 по московскому времени открываем новую рубрику ИТ-кроссворда — «Безопасность ML и AI». В публикации вас будут ждать вопросы об использовании ML в ИБ и новых типах угроз.

Зарегистрироваться →

👉 Отвечать на вопросы можно с 12:00 до 18:00 (МСК). Среди призов — комплекты эксклюзивного мерча Selectel и бонусы на аренду серверов.

Напоминаем, что завтра вас ждет заключительный кроссворд, однако бороться за первое место в общем зачете не обязательно, вы еще успеваете посоревноваться и выиграть призы! Победители и номинанты будут в каждой из четырех рубрик.

Теги:
+8
Комментарии0

Выигрывайте мерч и бонусы на аренду серверов — сегодня стартует рубрика об истории AI и ML

В 12:00 по московскому времени открываем вторую рубрику ИТ-кроссворда — «История AI и ML». В публикации вас будут ждать вопросы о ключевых событиях, знаковых моделях и личностях, которые повлияли на формирование ИИ.

Зарегистрироваться →

👉 Отвечать на вопросы можно с 12:00 до 18:00 (МСК). Среди призов — комплекты эксклюзивного мерча Selectel и бонусы на аренду серверов.

Напоминаем, что новые рубрики будут открываться ежедневно по 9 июля. Отвечайте на вопросы и набирайте баллы, чтобы выиграть призы. 🦖 Не обязательно бороться за первое место в общем зачете. Победители и номинанты будут в каждой из четырех рубрик!

Теги:
Всего голосов 5: ↑5 и ↓0+12
Комментарии0

Выигрывайте эксклюзивный мерч и бонусы на аренду серверов в ИТ-кроссворде. Старт через полчаса

Уже в 12:00 по московскому времени открываем первую рубрику ИТ-кроссворда — «Модели и все, что с ними связано». Среди призов — 13 комплектов мерча и промокоды на аренду серверов.

Зарегистрироваться →

Напоминаем, что новые рубрики будут открываться каждый день с 6 по 9 июля. Отвечайте на вопросы и набирайте баллы, чтобы выиграть призы. 🦖 Не обязательно бороться за первое место в общем зачете. Победители и номинанты будут в каждой из четырех рубрик!

Теги:
Всего голосов 4: ↑4 и ↓0+11
Комментарии0

Вебинар уже через 20 минут: расскажем, как защищать данные в S3

В 12:00 мск на вебинаре разберем все: от базовых Bucket Policies и версионирования до продвинутых Conditional Write, Object Lock (WORM) и клиентского шифрования. Расскажем, как комбинировать эти инструменты для защиты от случайного удаления и кибератак. Объясним, как соответствовать регуляторным требованиям. Вебинар практический, так что вы увидите реальные примеры настройки S3 через API и CLI.

Вы узнаете

  • Какие уровни защиты данных в S3 существуют 

  • Как настраивать версионирование, Conditional Write, Object Lock, шифрование с реальными командами и примерами кода 

  • Какие границы и подводные камни существуют у каждого инструмента 

  • Как комбинировать механизмы для защиты от ransomware, случайного удаления, взлома ключей и соответствия 152-ФЗ 

Подключайтесь: 

📹 на YouTube;

📹 во ВКонтакте.

Теги:
Всего голосов 3: ↑3 и ↓0+8
Комментарии0

Вопрос на засыпку: кто в 1956 году предложил термин «искусственный интеллект»?

Если знаете ответ — у вас есть хорошие шансы в ИТ-кроссворде. 6 июля запускаем третий сезон онлайн-соревнования для всех, кто интересуется AI, ML и сферой ИТ в целом. В этом году вас ждет более 100 вопросов по четырем темам:

• модели и все, что с ними связано;
• история ML и AI;
• безопасность ML и AI;
• ML-железо.

С 6 по 9 июля каждый день будет открываться новая рубрика. Отвечайте на вопросы и набирайте баллы, чтобы выиграть эксклюзивные призы и бонусы на аренду серверов. 🦖

Регистрируйтесь, чтобы не пропустить старт →

Теги:
Всего голосов 6: ↑5 и ↓1+13
Комментарии0

Вебинар: через час расскажем, как управлять IT-инфраструктурой через Terraform

Terraform-провайдер Selectel позволяет управлять физическими серверами и другими ресурсами по концепции IaC. Мы готовим большой апдейт этого сервиса — на вебинаре расскажем все подробности.

Что вас ждет:

  • поделимся возможностями Terraform-провайдера для управления IT-инфраструктурой;

  • презентуем большой обновление и покажем, как теперь управлять локальными сетями и настраивать разделы;

  • объясним, как работают новые функции.

Приятный бонус: все слушатели вебинара получат промокод на 3 000 бонусов в панели Selectel, чтобы протестировать возможности Terraform.

📹 Смотреть на YouTube

📹 Смотреть в VK

Теги:
Всего голосов 7: ↑5 и ↓2+8
Комментарии0

Проходите мини-курс «Безопасная разработка ПО»

Привет, Хабр! Мы выпустили вторую и третью части бесплатного курса в Академии Selectel. Материалы будут полезны опытным специалистам, которые хотят углубить знания и освоить инструменты защиты. Приступите к обучению прямо сейчас — изучение займет около двух часов.

Перед стартом рекомендуем пройти первую часть «Безопасная разработка: проектирование ПО». Это упростит понимание материала.

Часть 2 «Реализация»

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

Часть 3 «Проверка безопасности и управление уязвимостями»

Уделять внимание безопасности необходимо на ранних этапах разработки ПО. В третьей части рассмотрим особенности статического и динамического анализа, а также процесс работы с уязвимостями — от обнаружения до обработки сообщений и устранения найденных проблем.

Теги:
Всего голосов 5: ↑5 и ↓0+10
Комментарии0

Хотите перейти с Docker на Podman? 🦭

Проходите бесплатный мини-курс в Академии Selectel. Внутри — восемь полезных материалов, которые помогут освоить инструмент с открытым исходным кодом для работы с контейнерами. Вы научитесь:

  • использовать базовые команды и Podman Compose, 

  • работать с зависимостями и переменными окружениями,

  • мигрировать инфраструктуру из Docker. 

Примените полученные знания на практике в облаке Selectel и SELECTOS. Вы можете запросить промокод, чтобы попрактиковаться в панели управления бесплатно. 

Начните проходить прямо сейчас  ➡️

Теги:
Всего голосов 3: ↑3 и ↓0+8
Комментарии0

Начинаем вебинар «Как развернуть катастрофоустойчивые сервисы в облаке Selectel»

Уже рассказываем, как построить IТ-инфраструктуру, которая продолжит работать, даже если целый дата-центр откажет. Подключайтесь к прямой трансляции.

О чем расскажем

✔ Отказоустойчивость как основа продакшена

✔ Архитектура геораспределенного облака Selectel

✔ Практика: как развернуть катастрофоустойчивые сервисы и приложения в облаке Selectel

Вы поймете, как спроектировать надежную инфраструктуру не только в теории, но и на практике.

Смотрите трансляцию:

👉 на YouTube,

👉 во ВКонтакте.

Теги:
Всего голосов 4: ↑3 и ↓1+6
Комментарии0

Развиваете AI-проект? Получите грант до 2 000 000 ₽ от Selectel ❤️

Запустили программу поддержки для тех, кто развивает проекты с использованием ML-инструментов. Десять участников получат от нас грант до 2 000 000 ₽ на IT-инфраструктуру. Участвовать могут как стартапы, так и крупные компании.

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

Отправьте заявку прямо сейчас →

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0
1
23 ...

Информация

Сайт
slc.tl
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Александр Шилов