В руководство по сетевому программированию на Python добавлены материалы про Создание локального HTTP/HTTPS-сервера
https://metanit.com/python/network/2.1.php
#python
https://metanit.com/python/network/2.1.php
#python
🔥21👍6❤3🤮1
НАСТРОЙКА СЕТИ В LINUX
(продолжение предыдущего поста)
1. Введение
→ Linux предоставляет мощные и гибкие инструменты для настройки и управления сетевыми параметрами.
→ Эти настройки определяют, как ваша система подключается к локальным сетям, интернету и удалённым сервисам.
→ В зависимости от дистрибутива Linux, сеть можно настраивать с помощью утилит командной строки, конфигурационных файлов или NetworkManager.
2. Просмотр сетевых интерфейсов
→ Проверить все сетевые интерфейсы:
→
→
→
→ Включить или отключить интерфейс:
→
→
3. Назначение IP‑адресов
→ Назначить временный IP‑адрес:
→
→ Удалить назначенный IP‑адрес:
→
→ Просмотреть назначенные IP‑адреса:
→
4. Постоянная настройка IP
→ Постоянные настройки зависят от дистрибутива Linux.
Debian/Ubuntu:
Пример:
→ Применить конфигурацию:
→
RHEL/CentOS/Fedora:
Пример:
→ Перезапустить сетевую службу:
→
Arch Linux:
Пример:
→ Перезапустить systemd‑networkd:
→
5. Настройка DNS
→ Проверить настройки DNS:
→
→ Установить DNS вручную:
Добавить в
→ С использованием NetworkManager:
→
6. Использование NetworkManager (nmcli)
→ Показать устройства:
→
→ Подключиться к Wi‑Fi:
→
→ Установить статический IP:
→
→
→
→
7. Настройка маршрутизации
→ Показать маршруты:
→
→ Добавить маршрут:
→
→ Удалить маршрут:
→
8. Проверка сетевых подключений
→ Проверить доступность:
→
→ Проверить разрешение DNS:
→
→ Проследить сетевой путь:
→
→ Отобразить открытые порты:
→
→ Проверить сетевую статистику:
→
9. Настройка брандмауэра (кратко)
UFW (Ubuntu):
→ Включить:
→ Разрешить порт:
Firewalld (RHEL/Fedora):
→ Разрешить сервис:
→ Перезагрузить брандмауэр:
10. Имя хоста и файл hosts
→ Показать имя хоста:
→
→ Изменить имя хоста:
→
→ Редактировать файл hosts:
→
Пример:
11. Инструменты для устранения сетевых неполадок
→
→
→
→
→
→
(продолжение предыдущего поста)
1. Введение
→ Linux предоставляет мощные и гибкие инструменты для настройки и управления сетевыми параметрами.
→ Эти настройки определяют, как ваша система подключается к локальным сетям, интернету и удалённым сервисам.
→ В зависимости от дистрибутива Linux, сеть можно настраивать с помощью утилит командной строки, конфигурационных файлов или NetworkManager.
2. Просмотр сетевых интерфейсов
→ Проверить все сетевые интерфейсы:
→
ip link →
ip addr →
ifconfig (устаревший инструмент)→ Включить или отключить интерфейс:
→
sudo ip link set eth0 up →
sudo ip link set eth0 down3. Назначение IP‑адресов
→ Назначить временный IP‑адрес:
→
sudo ip addr add 192.168.1.50/24 dev eth0→ Удалить назначенный IP‑адрес:
→
sudo ip addr del 192.168.1.50/24 dev eth0→ Просмотреть назначенные IP‑адреса:
→
ip a4. Постоянная настройка IP
→ Постоянные настройки зависят от дистрибутива Linux.
Debian/Ubuntu:
/etc/netplan/*.yamlПример:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
→ Применить конфигурацию:
→
sudo netplan applyRHEL/CentOS/Fedora:
/etc/sysconfig/network-noscripts/ifcfg-eth0Пример:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=1.1.1.1
→ Перезапустить сетевую службу:
→
sudo systemctl restart NetworkManagerArch Linux:
/etc/systemd/network/*.networkПример:
[Match]
Name=eth0
[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8
→ Перезапустить systemd‑networkd:
→
sudo systemctl restart systemd-networkd5. Настройка DNS
→ Проверить настройки DNS:
→
cat /etc/resolv.conf→ Установить DNS вручную:
Добавить в
/etc/resolv.conf:nameserver 8.8.8.8
nameserver 1.1.1.1
→ С использованием NetworkManager:
→
sudo nmcli dev show | grep DNS6. Использование NetworkManager (nmcli)
→ Показать устройства:
→
nmcli dev status→ Подключиться к Wi‑Fi:
→
nmcli dev wifi connect "SSID" password "PASSWORD"→ Установить статический IP:
→
nmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.100/24 →
nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1 →
nmcli con mod "Wired connection 1" ipv4.method manual →
nmcli con up "Wired connection 1"7. Настройка маршрутизации
→ Показать маршруты:
→
ip route→ Добавить маршрут:
→
sudo ip route add 10.0.0.0/24 via 192.168.1.1→ Удалить маршрут:
→
sudo ip route del 10.0.0.0/248. Проверка сетевых подключений
→ Проверить доступность:
→
ping 8.8.8.8→ Проверить разрешение DNS:
→
ping http://google.com→ Проследить сетевой путь:
→
traceroute http://google.com→ Отобразить открытые порты:
→
ss -tulnp→ Проверить сетевую статистику:
→
netstat -tulnp (устаревший инструмент)9. Настройка брандмауэра (кратко)
UFW (Ubuntu):
→ Включить:
sudo ufw enable → Разрешить порт:
sudo ufw allow 80Firewalld (RHEL/Fedora):
→ Разрешить сервис:
sudo firewall-cmd --add-service=http --permanent → Перезагрузить брандмауэр:
sudo firewall-cmd --reload10. Имя хоста и файл hosts
→ Показать имя хоста:
→
hostname→ Изменить имя хоста:
→
sudo hostnamectl set-hostname new-name→ Редактировать файл hosts:
→
/etc/hostsПример:
127.0.0.1 localhost
192.168.1.100 myserver.local
11. Инструменты для устранения сетевых неполадок
→
ip → основной инструмент для работы с интерфейсами, маршрутизацией, IP‑адресами →
ss → проверка сокетов →
tcpdump → захват пакетов →
nmap → сканирование сети и портов →
dig → запрос DNS →
journalctl -u NetworkManager → просмотр журналовTelegram
METANIT.COM
НАСТРОЙКА СЕТИ В LINUX
(продолжение в следующем посте)
(продолжение в следующем посте)
👍10❤🔥8❤3
JetBrains закрывает Fleet — легковесную IDE (текстовые редактор аля VS Code) нового поколения, развиваемую параллельно с IntelliJ IDEA. Fleet позиционировался как лёгковесная многопрофильная IDE, а затем — как редактор с интеллектуальной поддержкой кода.
Несмотря на технический успех и влияние на другие продукты компании, Fleet не смог занять устойчивую нишу. Команда признала, что поддержка двух похожих линеек IDE лишь запутывала пользователей. Вместо этого JetBrains переориентируется на новый вектор — агентную разработку, где код пишут AI помощники.
https://blog.jetbrains.com/fleet/2025/12/the-future-of-fleet/
Несмотря на технический успех и влияние на другие продукты компании, Fleet не смог занять устойчивую нишу. Команда признала, что поддержка двух похожих линеек IDE лишь запутывала пользователей. Вместо этого JetBrains переориентируется на новый вектор — агентную разработку, где код пишут AI помощники.
https://blog.jetbrains.com/fleet/2025/12/the-future-of-fleet/
The JetBrains Blog
The Future of Fleet | The Fleet Blog
TL;DR Fleet started as our attempt to explore a new generation of JetBrains IDEs, developed in parallel with those based on the IntelliJ Platform. Over time, we learned that having two general-purpose
👎12🤮6🤷♂5👍3😁1
Nvidia будет программно отслеживать местонахождение своих чипов для борьбы с контрабандой
Nvidia разработала технологию определения местоположения своих ИИ-ускорителей. Это поможет компании предотвратить контрабанду чипов искусственного интеллекта в страны, куда их экспорт запрещён.
Nvidia демонстрировала функцию в частном порядке в последние месяцы, но пока не выпустила её. Это программная опция, которую клиенты смогут установить на ускорители. По словам источников, функция будет использовать так называемые конфиденциальные вычислительные возможности графических процессоров.
Функция сначала станет доступна на новейших чипах Blackwell, которые обладают наибольшим количеством функций безопасности «аттестации» по сравнению с предыдущими поколениями Hopper и Ampere, но Nvidia изучает варианты внедрения технологии и для этих более старых ускорителей.
Таким образом компания стремится на призывы Белого дома и законодателей от обеих основных политических партий в Конгрессе США и принять меры по предотвращению контрабанды чипов ИИ в Китай и другие страны (например, в Россию), где их продажа ограничена.
https://www.reuters.com/business/nvidia-builds-location-verification-tech-that-could-help-fight-chip-smuggling-2025-12-10/
Nvidia разработала технологию определения местоположения своих ИИ-ускорителей. Это поможет компании предотвратить контрабанду чипов искусственного интеллекта в страны, куда их экспорт запрещён.
Nvidia демонстрировала функцию в частном порядке в последние месяцы, но пока не выпустила её. Это программная опция, которую клиенты смогут установить на ускорители. По словам источников, функция будет использовать так называемые конфиденциальные вычислительные возможности графических процессоров.
Функция сначала станет доступна на новейших чипах Blackwell, которые обладают наибольшим количеством функций безопасности «аттестации» по сравнению с предыдущими поколениями Hopper и Ampere, но Nvidia изучает варианты внедрения технологии и для этих более старых ускорителей.
Таким образом компания стремится на призывы Белого дома и законодателей от обеих основных политических партий в Конгрессе США и принять меры по предотвращению контрабанды чипов ИИ в Китай и другие страны (например, в Россию), где их продажа ограничена.
https://www.reuters.com/business/nvidia-builds-location-verification-tech-that-could-help-fight-chip-smuggling-2025-12-10/
Reuters
Nvidia builds location verification tech that could help fight chip smuggling
Nvidia has built location verification technology that could indicate which country its chips are operating in, the company confirmed on Wednesday, a move that could help prevent its artificial intelligence chips from being smuggled into countries where their…
👎26🤮8👍4🤯3😁2🤬2🤡2
Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux
На проходящей конференции Maintainers Summit разработчики ядра Linux признали успешным эксперимент по добавлению в ядро Linux компонентов на языке Rust и решили перевести поддержку языка Rust из статуса экспериментальной в полноценную,
Возможность разработки драйверов и модулей на языке Rust была добавлена в ядро 6.1 три года назад . С тех пор в состав ядра были включены абстракции для разработки на Rust драйверов для GPU и других компонентов
Сторонники продвижения Rust считают, что Rust исключает появление большинства ошибок, выявляемых в ядре и вызванных особенностями языка Си (обращение к памяти после её освобождения, выход на границу буфера и т.д.), и что применение Rust для нового кода позволяет сократить время разработки, благодаря снижению трудозатрат на отладку и брагодаря выявлению ошибок на ранней стадии написания кода.
Противники же внедрения Rust в ядро считают недопустимым использование нескольких языков программирования в сложных проектах - смешанные кодовые базы усложняют работу мэйнтейнеров, так как ставят их в зависимость от кода на другом языке.
https://lwn.net/Articles/1049831/
На проходящей конференции Maintainers Summit разработчики ядра Linux признали успешным эксперимент по добавлению в ядро Linux компонентов на языке Rust и решили перевести поддержку языка Rust из статуса экспериментальной в полноценную,
Возможность разработки драйверов и модулей на языке Rust была добавлена в ядро 6.1 три года назад . С тех пор в состав ядра были включены абстракции для разработки на Rust драйверов для GPU и других компонентов
Сторонники продвижения Rust считают, что Rust исключает появление большинства ошибок, выявляемых в ядре и вызванных особенностями языка Си (обращение к памяти после её освобождения, выход на границу буфера и т.д.), и что применение Rust для нового кода позволяет сократить время разработки, благодаря снижению трудозатрат на отладку и брагодаря выявлению ошибок на ранней стадии написания кода.
Противники же внедрения Rust в ядро считают недопустимым использование нескольких языков программирования в сложных проектах - смешанные кодовые базы усложняют работу мэйнтейнеров, так как ставят их в зависимость от кода на другом языке.
https://lwn.net/Articles/1049831/
LWN.net
The (successful) end of the kernel Rust experiment
The topic of the Rust experiment was just discussed at the annual Maintainers Summit. The cons [...]
👎19🔥7✍6🤮5❤4🥰3🤔2👍1🎉1
Распространенные стратегии масштабирования базу данных:
(продолжение предыдущего поста)
1) Кэширование запросов к базе данных
→ Одно из самых простых улучшений для обработки нагрузки на базу данных. Снижайте нагрузку, кэшируя результаты часто запрашиваемых запросов. Такие инструменты, как Redis или Memcached, хранят эти результаты в оперативной памяти, позволяя вашему приложению получать данные быстрее — без многократных обращений к базе данных.
2) Индексирование базы данных
→ Ещё одна простая стратегия, которая даёт значительный прирост производительности. Индексирование ускоряет поиск данных, позволяя быстро находить нужную информацию без сканирования каждой строки. Обычно реализуется с помощью B‑деревьев; индексы снижают сложность доступа к данным с O(n) до O(log n). Запросы выполняются существенно быстрее.
3) Репликация для чтения (read replication)
→ В средах с высокой нагрузкой на чтение репликация может стать следующим эффективным решением. При репликации для чтения у вас есть единственная база данных, в которую вы записываете данные. Она клонируется в несколько (столько, сколько вам нужно) реплик‑баз данных, из которых вы читаете данные. Каждая реплика располагается на отдельном сервере.
4) Шардирование базы данных
→ В отличие от предыдущих стратегий, ориентированных на обработку нагрузки при чтении, шардирование затрагивает и чтение, и запись. Шардирование предполагает разделение базы данных на более мелкие независимые части (шары), каждая из которых обрабатывает свою часть данных. Это позволяет осуществлять горизонтальное масштабирование за счёт распределения нагрузки между несколькими серверами. Хотя этот метод весьма эффективен, он значительно усложняет управление данными и логику запросов. Обычно к шардированию стоит обращаться только после того, как вы исчерпали более простые решения.
(продолжение предыдущего поста)
1) Кэширование запросов к базе данных
→ Одно из самых простых улучшений для обработки нагрузки на базу данных. Снижайте нагрузку, кэшируя результаты часто запрашиваемых запросов. Такие инструменты, как Redis или Memcached, хранят эти результаты в оперативной памяти, позволяя вашему приложению получать данные быстрее — без многократных обращений к базе данных.
2) Индексирование базы данных
→ Ещё одна простая стратегия, которая даёт значительный прирост производительности. Индексирование ускоряет поиск данных, позволяя быстро находить нужную информацию без сканирования каждой строки. Обычно реализуется с помощью B‑деревьев; индексы снижают сложность доступа к данным с O(n) до O(log n). Запросы выполняются существенно быстрее.
3) Репликация для чтения (read replication)
→ В средах с высокой нагрузкой на чтение репликация может стать следующим эффективным решением. При репликации для чтения у вас есть единственная база данных, в которую вы записываете данные. Она клонируется в несколько (столько, сколько вам нужно) реплик‑баз данных, из которых вы читаете данные. Каждая реплика располагается на отдельном сервере.
4) Шардирование базы данных
→ В отличие от предыдущих стратегий, ориентированных на обработку нагрузки при чтении, шардирование затрагивает и чтение, и запись. Шардирование предполагает разделение базы данных на более мелкие независимые части (шары), каждая из которых обрабатывает свою часть данных. Это позволяет осуществлять горизонтальное масштабирование за счёт распределения нагрузки между несколькими серверами. Хотя этот метод весьма эффективен, он значительно усложняет управление данными и логику запросов. Обычно к шардированию стоит обращаться только после того, как вы исчерпали более простые решения.
Telegram
METANIT.COM
Распространенные стратегии масштабирования базу данных:
(продолжение в следующем посте)
(продолжение в следующем посте)
👍6❤2🔥1👏1
Половина крупного бизнеса допустила сокращения сотрудников из-за ИИ
Почти половина крупных российских компаний планирует сокращения сотрудников в результате внедрения ИИ, в малом и среднем бизнесе — реже. В России на этом фоне начались первые суды из-за увольнения по причине ИИ
Почти половина крупного бизнеса (47%) планирует сократить штат сотрудников благодаря внедрению решений искусственного интеллекта. Ровно столько же крупных компаний таких сокращений не планируют. Еще 6% респондентов затруднились ответить на этот вопрос.
Большинство всех компаний (68%), вне зависимости от размера бизнеса и опыта использования ИИ, не планируют сокращения персонала при переходе к новым технологиям. В то же время 22% предприятий, напротив, рассматривают оптимизацию штата.
При этом чем меньше бизнес, тем меньше доля тех, кто рассматривает возможность сокращения работников. Так, среди среднего бизнеса таких 37%, среди малого — 18%, а среди микро — 11%. Значительно более низкая доля компаний, планирующих сокращения, среди микро- и малого бизнеса может быть следствием как недостаточности финансовых и других ресурсов в настоящее время для масштабного внедрения ИИ-сервисов, так и недостатка знаний, недоверия к искусственному интеллекту, считают авторы исследования.
https://www.rbc.ru/technology_and_media/11/12/2025/693932199a7947fd13afb1cc
Почти половина крупных российских компаний планирует сокращения сотрудников в результате внедрения ИИ, в малом и среднем бизнесе — реже. В России на этом фоне начались первые суды из-за увольнения по причине ИИ
Почти половина крупного бизнеса (47%) планирует сократить штат сотрудников благодаря внедрению решений искусственного интеллекта. Ровно столько же крупных компаний таких сокращений не планируют. Еще 6% респондентов затруднились ответить на этот вопрос.
Большинство всех компаний (68%), вне зависимости от размера бизнеса и опыта использования ИИ, не планируют сокращения персонала при переходе к новым технологиям. В то же время 22% предприятий, напротив, рассматривают оптимизацию штата.
При этом чем меньше бизнес, тем меньше доля тех, кто рассматривает возможность сокращения работников. Так, среди среднего бизнеса таких 37%, среди малого — 18%, а среди микро — 11%. Значительно более низкая доля компаний, планирующих сокращения, среди микро- и малого бизнеса может быть следствием как недостаточности финансовых и других ресурсов в настоящее время для масштабного внедрения ИИ-сервисов, так и недостатка знаний, недоверия к искусственному интеллекту, считают авторы исследования.
https://www.rbc.ru/technology_and_media/11/12/2025/693932199a7947fd13afb1cc
РБК
Половина крупного бизнеса допустила сокращения сотрудников из-за ИИ
Почти половина крупных российских компаний планирует сокращения сотрудников в результате внедрения ИИ, в малом и среднем бизнесе — реже. В России на этом фоне начались первые суды из-за увольнения по
🖕16🤔5🤡3❤2🤷♂2😁1😢1
В Госдуме заявили о возможном ограничении в России работы всех сервисов Google
Все сервисы Google могут попасть под ограничения работы в России из-за закона о хранении персональных данных, заявил «Газете.ру» депутат Госдумы Андрей Свинцов. По его словам, компания хранит все данные российских граждан за пределами страны, что представляет «серьезную угрозу». В список сервисов Google входят одноименный поисковик, почта Gmail, карты Google Maps, видеохостинг YouTube, хранилище Google Диск, браузер Chrome и другие приложения и сервисы
По словам депутата, бизнес привык к сервисам Google и выстроил на них всю систему управления, однако российские IT-решения «ничем не уступают западным». «Они современные, то есть недавно созданные, многие из них даже по качеству лучше. Есть, которые необходимо дорабатывать, но это тоже не годы, а, может быть, полгода. Те решения, которые сегодня есть на рынке, будут доработаны. Поэтому считаю, что абсолютно правильная тенденция мягкого выдавливания всего американского с территории Российской Федерации», — подчеркнул он.
Депутат добавил, что сервисы Google могут постепенно начать замедляться на территории страны, чтобы у граждан страны и бизнеса было время на переход на российские аналоги. Forbes обратился за комментариями в Минцифры и Роскомнадзор.
https://www.forbes.ru/tekhnologii/551808-v-gosdume-zaavili-o-vozmoznom-ogranicenii-v-rossii-raboty-vseh-servisov-google
Все сервисы Google могут попасть под ограничения работы в России из-за закона о хранении персональных данных, заявил «Газете.ру» депутат Госдумы Андрей Свинцов. По его словам, компания хранит все данные российских граждан за пределами страны, что представляет «серьезную угрозу». В список сервисов Google входят одноименный поисковик, почта Gmail, карты Google Maps, видеохостинг YouTube, хранилище Google Диск, браузер Chrome и другие приложения и сервисы
По словам депутата, бизнес привык к сервисам Google и выстроил на них всю систему управления, однако российские IT-решения «ничем не уступают западным». «Они современные, то есть недавно созданные, многие из них даже по качеству лучше. Есть, которые необходимо дорабатывать, но это тоже не годы, а, может быть, полгода. Те решения, которые сегодня есть на рынке, будут доработаны. Поэтому считаю, что абсолютно правильная тенденция мягкого выдавливания всего американского с территории Российской Федерации», — подчеркнул он.
Депутат добавил, что сервисы Google могут постепенно начать замедляться на территории страны, чтобы у граждан страны и бизнеса было время на переход на российские аналоги. Forbes обратился за комментариями в Минцифры и Роскомнадзор.
https://www.forbes.ru/tekhnologii/551808-v-gosdume-zaavili-o-vozmoznom-ogranicenii-v-rossii-raboty-vseh-servisov-google
Forbes.ru
В Госдуме заявили о возможном ограничении в России работы всех сервисов Google
Все сервисы Google могут попасть под ограничения работы в России из-за закона о хранении персональных данных, заявил «Газете.ру» депутат Госдумы Андрей Свинцов. По его словам, компания хранит все данные российских граждан за пределами страны, что пре
🤡79🙈9👎6👍2😁2❤1🔥1😭1👀1
Что происходит при добавлении объекта в векторную базу данных
(продолжение предыдущего поста)
Со стороны это выглядит как один вызов API, но на самом деле процесс гораздо сложнее, чем может показаться.
При добавлении объекта параллельно запускаются четыре процесса:
Индексация свойств
Все свойства вашего объекта индексируются для быстрого фильтрации и поиска по ключевым словам.
Генерация векторов
Если вы не предоставили векторы, внешние модели (Cohere, OpenAI, JinaAI и др.) создают эмбеддинги на основе ваших данных.
Индексация векторов
Эти векторы организуются в специализированные структуры данных (например, HNSW) для эффективного поиска по схожести.
Хранение объекта
Полный объект вместе с его векторным представлением сохраняется для последующего извлечения.
Каждый из этих процессов имеет собственное время обработки и задержки ввода‑вывода. Одна только индексация векторов предполагает организацию эмбеддингов таким образом, чтобы данные можно было эффективно извлекать. А для генерации эмбеддингов могут потребоваться вызовы внешних API, что добавляет сетевые задержки.
Понимание того, как работают векторные базы данных, поможет вам эффективнее оптимизировать их производительность. Если ваша модель генерации эмбеддингов работает медленно, она становится узким местом. Если векторный индекс настроен неправильно, ухудшается скорость поиска. Если индексация свойств перегружена, возникают проблемы с фильтрацией
(продолжение предыдущего поста)
Со стороны это выглядит как один вызов API, но на самом деле процесс гораздо сложнее, чем может показаться.
При добавлении объекта параллельно запускаются четыре процесса:
Индексация свойств
Все свойства вашего объекта индексируются для быстрого фильтрации и поиска по ключевым словам.
Генерация векторов
Если вы не предоставили векторы, внешние модели (Cohere, OpenAI, JinaAI и др.) создают эмбеддинги на основе ваших данных.
Индексация векторов
Эти векторы организуются в специализированные структуры данных (например, HNSW) для эффективного поиска по схожести.
Хранение объекта
Полный объект вместе с его векторным представлением сохраняется для последующего извлечения.
Каждый из этих процессов имеет собственное время обработки и задержки ввода‑вывода. Одна только индексация векторов предполагает организацию эмбеддингов таким образом, чтобы данные можно было эффективно извлекать. А для генерации эмбеддингов могут потребоваться вызовы внешних API, что добавляет сетевые задержки.
Понимание того, как работают векторные базы данных, поможет вам эффективнее оптимизировать их производительность. Если ваша модель генерации эмбеддингов работает медленно, она становится узким местом. Если векторный индекс настроен неправильно, ухудшается скорость поиска. Если индексация свойств перегружена, возникают проблемы с фильтрацией
Telegram
METANIT.COM
Что происходит при добавлении объекта в векторную базу данных
(продолжение в следующем посте)
(продолжение в следующем посте)
👍4👾3❤2🔥2
Обратное давление и архитектура
(описание к предыдущему посту)
Обратное давление — ключевой элемент корректно работающей инфраструктуры.
Когда базы данных, очереди сообщений, пулы соединений или другие системы оказываются перегружены, как они справляются с нагрузкой?
Некоторые программы реагируют на перегрузку тем, что позволяют своим ресурсам исчерпаться, в результате чего система аварийно завершается (например, из‑за нехватки памяти — OOM). С точки зрения реализации такое поведение просто, но оно вызывает каскадные сбои, которые могут привести к полному выходу системы из строя и даже к потере данных. Это недопустимо!
Более удачный подход: каждый компонент оказывает обратное давление на своих клиентов. Обратное давление — это принцип, согласно которому программный сервис, обнаружив, что он достиг предела возможностей или приближается к нему (максимальное число соединений, полное использование доступных буферов памяти и т. п.), сообщает об этом клиентам — либо посредством явных сообщений, либо путём отказа в соединении. Иными словами, сервис защищает собственное состояние ценой снижения качества обслуживания или отказа в обслуживании некоторых клиентов.
Если серверные компоненты спроектированы с учётом сигналов обратного давления, неожиданные скачки нагрузки приводят лишь к снижению производительности, а не к полному отключению всей системы.
(описание к предыдущему посту)
Обратное давление — ключевой элемент корректно работающей инфраструктуры.
Когда базы данных, очереди сообщений, пулы соединений или другие системы оказываются перегружены, как они справляются с нагрузкой?
Некоторые программы реагируют на перегрузку тем, что позволяют своим ресурсам исчерпаться, в результате чего система аварийно завершается (например, из‑за нехватки памяти — OOM). С точки зрения реализации такое поведение просто, но оно вызывает каскадные сбои, которые могут привести к полному выходу системы из строя и даже к потере данных. Это недопустимо!
Более удачный подход: каждый компонент оказывает обратное давление на своих клиентов. Обратное давление — это принцип, согласно которому программный сервис, обнаружив, что он достиг предела возможностей или приближается к нему (максимальное число соединений, полное использование доступных буферов памяти и т. п.), сообщает об этом клиентам — либо посредством явных сообщений, либо путём отказа в соединении. Иными словами, сервис защищает собственное состояние ценой снижения качества обслуживания или отказа в обслуживании некоторых клиентов.
Если серверные компоненты спроектированы с учётом сигналов обратного давления, неожиданные скачки нагрузки приводят лишь к снижению производительности, а не к полному отключению всей системы.
Telegram
METANIT.COM
Обратное давление и архитектура
(описание в следующем посте)
(описание в следующем посте)
👍8👏8❤3❤🔥1🤣1
RuStore с 1 февраля 2026 года отключает монетизацию приложений для физлиц и самозанятых через инструменты RuStore. Чтобы продолжать публиковать планые приложения, необходимо зарегистрировать ИП или юрлицо в ФНС, затем создать новый аккаунт и заново подключить монетизацию
В качестве альтернативы можно продолжить работу в RuStore в текущем статусе, но без монетизации через платёжные инструменты платформы. В этом случае можно перевести платные приложения в бесплатные и продолжать публиковать и обновлять приложения без ограничений, либо при необходимости использовать альтернативные инструменты монетизации
Если же не успеть внести изменения до 1 февраля 2026 года, то платные приложения будут автоматически скрыты c витрины RuStore, а платёжные SDK — BillingClient SDK и Pay SDK — перестанут работать, списания по активным подпискам будут остановлены
https://www.rustore.ru/help/developers/monetization/disable-monetization-selfemployed
В качестве альтернативы можно продолжить работу в RuStore в текущем статусе, но без монетизации через платёжные инструменты платформы. В этом случае можно перевести платные приложения в бесплатные и продолжать публиковать и обновлять приложения без ограничений, либо при необходимости использовать альтернативные инструменты монетизации
Если же не успеть внести изменения до 1 февраля 2026 года, то платные приложения будут автоматически скрыты c витрины RuStore, а платёжные SDK — BillingClient SDK и Pay SDK — перестанут работать, списания по активным подпискам будут остановлены
https://www.rustore.ru/help/developers/monetization/disable-monetization-selfemployed
🤡46🤣8🤔4🤷♂1👍1🤬1😭1
Сравнительный анализ технологий обмена данными между клиентом и сервером: Short Polling, Long Polling, SSE (Server‑Sent Events) и WebSocket.
(продолжение в следующем посте)
(продолжение в следующем посте)
👍2🔥1
Сравнительный анализ технологий обмена данными между клиентом и сервером: Short Polling, Long Polling, SSE (Server‑Sent Events) и WebSocket.
(продолжение предыдущего поста)
## 1. Short Polling (короткий опрос)
Принцип работы:
Клиент регулярно (с фиксированным интервалом) отправляет HTTP‑запросы на сервер: *«Есть ли новые данные?»*
Сервер отвечает сразу, даже если данных нет.
Схема:
Плюсы:
- Простота реализации.
- Работает на любом HTTP‑сервере.
- Совместим со всеми браузерами.
Минусы:
- Высокий overhead: много пустых ответов.
- Задержка между обновлениями = интервал опроса.
- Нагрузка на сеть и сервер из‑за частых запросов.
Когда использовать:
Редкие обновления, простота важнее эффективности.
## 2. Long Polling (длинный опрос)
Принцип работы:
Клиент отправляет запрос. Сервер держит соединение открытым и отвечает только когда есть данные (или по таймауту). После ответа клиент сразу отправляет новый запрос.
Схема:
Плюсы:
- Меньше пустых ответов, чем в Short Polling.
- Почти мгновенная доставка данных (как только они появляются).
- Простая реализация.
Минусы:
- Соединение постоянно переподключается.
- Высокая задержка при потерях пакетов (нужно ждать таймаут).
- Нагрузка на сервер из‑за долгих соединений.
Когда использовать:
Средние требования к скорости, устаревшие системы без WebSocket.
## 3. SSE (Server‑Sent Events)
Принцип работы:
Однонаправленный канал: сервер самостоятельно отправляет данные клиенту через постоянное HTTP‑соединение. Клиент слушает события.
Схема:
Плюсы:
- Автоматическая доставка данных от сервера.
- Низкое потребление ресурсов (одно соединение).
- Встроенная поддержка перезапуска при обрыве.
- Простой API в браузерах (
Минусы:
- Только сервер → клиент (однонаправленный).
- Ограниченная поддержка в старых браузерах.
- Может конфликтовать с прокси/файрволами.
Когда использовать:
Новостные ленты, уведомления, мониторинг (где нужен только push от сервера).
## 4. WebSocket
Принцип работы:
Двунаправленный полнодуплексный канал. После рукопожатия (HTTP → WebSocket) клиент и сервер могут одновременно отправлять данные.
Схема:
Плюсы:
- Мгновенный двусторонний обмен.
- Минимальный overhead (нет HTTP‑заголовков).
- Подходит для чатов, игр, коллаборативных приложений.
Минусы:
- Сложнее реализовать (нужен WebSocket‑сервер).
- Требует поддержки на стороне сервера и клиента.
- Может блокироваться корпоративными сетями.
Когда использовать:
Интерактивные приложения (чаты, онлайн‑игры, трейдинг).
(продолжение предыдущего поста)
## 1. Short Polling (короткий опрос)
Принцип работы:
Клиент регулярно (с фиксированным интервалом) отправляет HTTP‑запросы на сервер: *«Есть ли новые данные?»*
Сервер отвечает сразу, даже если данных нет.
Схема:
Клиент → запрос → Сервер
Клиент ← ответ (пустой/с данными) ← Сервер
( пауза )
Клиент → запрос → Сервер
...
Плюсы:
- Простота реализации.
- Работает на любом HTTP‑сервере.
- Совместим со всеми браузерами.
Минусы:
- Высокий overhead: много пустых ответов.
- Задержка между обновлениями = интервал опроса.
- Нагрузка на сеть и сервер из‑за частых запросов.
Когда использовать:
Редкие обновления, простота важнее эффективности.
## 2. Long Polling (длинный опрос)
Принцип работы:
Клиент отправляет запрос. Сервер держит соединение открытым и отвечает только когда есть данные (или по таймауту). После ответа клиент сразу отправляет новый запрос.
Схема:
Клиент → запрос → Сервер
(сервер ждёт данных)
Клиент ← ответ (с данными) ← Сервер
Клиент → запрос → Сервер
...
Плюсы:
- Меньше пустых ответов, чем в Short Polling.
- Почти мгновенная доставка данных (как только они появляются).
- Простая реализация.
Минусы:
- Соединение постоянно переподключается.
- Высокая задержка при потерях пакетов (нужно ждать таймаут).
- Нагрузка на сервер из‑за долгих соединений.
Когда использовать:
Средние требования к скорости, устаревшие системы без WebSocket.
## 3. SSE (Server‑Sent Events)
Принцип работы:
Однонаправленный канал: сервер самостоятельно отправляет данные клиенту через постоянное HTTP‑соединение. Клиент слушает события.
Схема:
Клиент → открывает поток → Сервер
(соединение держится)
Сервер → событие → Клиент
Сервер → событие → Клиент
...
Плюсы:
- Автоматическая доставка данных от сервера.
- Низкое потребление ресурсов (одно соединение).
- Встроенная поддержка перезапуска при обрыве.
- Простой API в браузерах (
EventSource).Минусы:
- Только сервер → клиент (однонаправленный).
- Ограниченная поддержка в старых браузерах.
- Может конфликтовать с прокси/файрволами.
Когда использовать:
Новостные ленты, уведомления, мониторинг (где нужен только push от сервера).
## 4. WebSocket
Принцип работы:
Двунаправленный полнодуплексный канал. После рукопожатия (HTTP → WebSocket) клиент и сервер могут одновременно отправлять данные.
Схема:
Клиент → HTTP-рукопожатие → Сервер
(переход на WebSocket)
Клиент ↔️ данные ↔️ Сервер
(двусторонний обмен в реальном времени)
Плюсы:
- Мгновенный двусторонний обмен.
- Минимальный overhead (нет HTTP‑заголовков).
- Подходит для чатов, игр, коллаборативных приложений.
Минусы:
- Сложнее реализовать (нужен WebSocket‑сервер).
- Требует поддержки на стороне сервера и клиента.
- Может блокироваться корпоративными сетями.
Когда использовать:
Интерактивные приложения (чаты, онлайн‑игры, трейдинг).
Telegram
METANIT.COM
Сравнительный анализ технологий обмена данными между клиентом и сервером: Short Polling, Long Polling, SSE (Server‑Sent Events) и WebSocket.
(продолжение в следующем посте)
(продолжение в следующем посте)
🔥10❤1👍1🥰1👏1