METANIT.COM – Telegram
METANIT.COM
5.88K subscribers
1.67K photos
81 videos
9 files
1.03K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Балансировщик нагрузки vs Обратный прокси vs API Gateway
Балансировщик нагрузки vs Обратный прокси vs API Gateway (продолжение)

Балансировщик нагрузки (Load Balancer)
- Равномерно распределяет трафик между серверами для повышения эффективности.
- Работает на уровне 4 (TCP) или уровне 7 (HTTP/HTTPS).
- Сценарии использования: высоконагруженные сайты, отказоустойчивость.
- Преимущества: повышает отказоустойчивость, обрабатывает всплески нагрузки, позволяет масштабирование.
- Недостатки: может стать единой точкой отказа без избыточности.
- Примеры: HAProxy, AWS ELB, Nginx.

Обратный прокси (Reverse Proxy)
- Пересылает клиентские запросы на серверы, скрывая детали серверов.
- Работает на уровне 7 (HTTP/HTTPS).
- Сценарии использования: SSL-терминирование, кэширование, публичный доступ к API.
- Преимущества: улучшает производительность, добавляет безопасность, позволяет фильтровать контент.
- Недостатки: добавляет сетевую задержку.
- Примеры: Nginx, Apache HTTP Server.

API Gateway (API Шлюз)
- Маршрутизирует запросы к правильным сервисам.
- Работает на уровне 7 (HTTP/HTTPS).
- Сценарии использования: микросервисы, мобильные API.
- Преимущества: центральная точка входа для API, обрабатывает аутентификацию и дросселирование.
- Недостатки: добавляет задержку и сложность, может стать бутылочным горлышком.
- Примеры: Kong, AWS API Gateway, Apigee, Tyk.
👍53👏1
Добавил два новых мобильных приложения на Android для руководств с сайта:

Руководство по ассемблеру NASM:
https://www.rustore.ru/catalog/app/com.metanit.nasm

Руководство по созданию мобильных приложений для Android:
https://www.rustore.ru/catalog/app/com.metanit.android

Ну и из интереса сделал еще одну небольшую игру для Andoid - Судоку
Если кому интересно, игра в Rustore - https://www.rustore.ru/catalog/app/com.metanit.sudoku
Игра в Google Play - https://play.google.com/store/apps/details?id=com.metanit.sudoku
👍21👎4🥰2👏1
SSO (Single Sign-On / Единый вход)
2🔥1👏1
SSO (Single Sign-On / Единый вход) (продолжение к предыдущему посту)

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

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

Чтобы полностью понять процесс SSO, давайте рассмотрим, как пользователь входит в LinkedIn с помощью Google в качестве поставщика удостоверений:

1. Запрос на доступ

Сначала пользователь пытается получить доступ к поставщику услуг (LinkedIn). На этом этапе пользователю предлагаются варианты входа в систему, и в этом примере он выбирает «Войти через Google».

2. Запрос на аутентификацию

Поставщик услуг (LinkedIn) перенаправляет пользователя к поставщику удостоверений (Google) с запросом на аутентификацию.

3. Проверка активной сессии

Получив запрос, поставщик удостоверений (Google) проверяет наличие активной сессии. Если она не найдена, запрашивается аутентификация.

4. Пользователь отправляет учётные данные

На этом этапе пользователь отправляет свои учётные данные (имя пользователя и пароль) поставщику удостоверений (IdP).

5. Проверка учётных данных

Поставщик удостоверений сверяет предоставленные учётные данные с каталогом пользователей (базой данных). Если учётные данные верны, IdP создаёт токен аутентификации или утверждение.

6. Поставщик удостоверений отправляет токен поставщику услуг

После создания токена или утверждения IdP отправляет его обратно поставщику услуг, подтверждая личность пользователя. Теперь пользователь аутентифицирован и может получить доступ к поставщику услуг (LinkedIn).

7. Доступ предоставлен с использованием существующей сессии

Поскольку поставщик удостоверений установил сессию, при попытке пользователя получить доступ к другому поставщику услуг (например, GitHub) ему не нужно повторно вводить свои учётные данные. Будущие поставщики услуг будут запрашивать аутентификацию у поставщика удостоверений, распознавать существующую сессию и предоставлять пользователю доступ на основе ранее подтверждённой сессии.

Рабочие процессы SSO, подобные описанному выше, работают на протоколах SSO — наборе правил, которые регулируют взаимодействие и доверие между IdP и SP. Распространённые протоколы включают язык разметки утверждений безопасности (SAML), OpenID Connect и OAuth.
👍5🥰1👏1
"Эра программистов-людей подходит к концу"

Softbank (японская транснациональная инвестиционная холдинговая компания, специализирующаяся на управлении инвестициями) в этом году планируется развернуть миллиард агентов ИИ.
«Эра программистов-людей подходит к концу», — заявил основатель Softbank Масаёси Сон. «Наша цель — полностью передать кодирование и программирование агентам ИИ. (...) в настоящее время мы инициируем этот процесс».
Согласно отчёту, генеральный директор Softbank подсчитал, что для замены каждого сотрудника потребуется около 1000 агентов ИИ, поскольку «сотрудники обладают сложным мыслительным процессом».

Если Сону удастся добиться своего, Softbank в этом году отправит на работу первый миллиард агентов ИИ, а в будущем за ними последуют ещё триллионы. Большинство агентов ИИ будут работать на других агентов ИИ. Таким образом, задачи, переговоры и решения в Softbank будут автоматизированы. Таким образом, эти меры не будут ограничиваться программистами.

«Агенты будут активны 24 часа в сутки, 365 дней в году и будут взаимодействовать друг с другом», — сказал Сон. Они будут самостоятельно обучаться и собирать информацию. Японский бизнесмен ожидает, что агенты ИИ будут значительно более продуктивными и эффективными, чем люди. Они будут стоить всего 40 японских иен (в настоящее время около 23 евроцентов) в месяц. Исходя из заявленной цифры в 1000 агентов на сотрудника, это составляет 230 евро в месяц вместо зарплаты одного человека.

Сон считает галлюцинации, характерные для ИИ, «временной и незначительной проблемой». Для осуществления своей технологической мечты ему ещё нужны программное обеспечение и операционные системы для создания и управления легионами программ ИИ. И, конечно же, гигантские центры обработки данных и электростанции для их работы.
https://www.heise.de/en/news/Softbank-1-000-AI-agents-replace-1-job-10490309.html
🤡79🤣34😁5👀3🤔2🦄2👎1😱1🖕1
Шпаргалка по большим языковым моделям LLM
🤮10🔥5👍4
Условные конструкции - не самое дешевое удовольствие на уровне процессора, и замена условных конструкций на таблицы позволяет ускорить выполнение программы.
Но можно пойти дальше и заменить недешевую операцию умножения на ряд логический операций
🤯20👍104🔥4
«Сбер»: базовые знания искусственного интеллекта обязательны как для действующих, так и для новых сотрудников

В «Сбере» сообщили, что базовые знания искусственного интеллекта и умение применять ИИ стали обязательны как для действующих, так и для новых сотрудников. Исключение по необходимости применения ИИ в «Сбере» будет сделано только для тех сотрудников, у кого специфика работы не связана с использованием таких сервисов, например уборщиков и грузчиков.

По словам первого заместителя предправления «Сбербанка» Александра Ведяхина, если 30 лет назад в резюме часто встречалась фраза «уверенный пользователь ПК», то сегодня требуются уже уверенные пользователи ИИ.

В «Сбере» требования к специфике знаний и навыков в ИИ различаются в зависимости от профиля кандидата. Например, для специалистов первой линии «Сбера», которые напрямую работают с клиентами, ключевое требование — способность применять ИИ‑инструменты для более эффективного решения повседневных задач. Речь идёт о базовых навыках работы с нейросетями — эти компетенции проверяются уже на собеседовании. Кандидатов в «Сбере» спрашивают об использовании ИИ‑инструментов в работе и повседневной жизни.

Специалистам аналитических и IT‑направлений «Сбера» нужно иметь более глубокие знания ИИ. От них в компании ожидают системной интеграции ИИ в профессиональную деятельность. Для проверки таких навыков на собеседованиях в «Сбере» введены практические задания по ИИ. Отдельное тестирование — фактчекинг и рерайтинг с помощью нейросетей.

Наибольшие требования в «Сбере» по ИИ предъявляются к разработчикам. Они должны не только свободно ориентироваться в ИИ‑инструментах, понимать принципы их работы, а в идеале иметь опыт создания собственных ИИ‑решений. Компетенции по ИИ в «Сбере» для разработчиков оцениваются на углублённых технических собеседованиях с профильными экспертами.

Руководителям высшего звена в «Сбере» критически важно понимать возможности ИИ и уметь принимать управленческие решения с опорой на данные, полученные с помощью интеллектуальных систем. Кросс‑интервьюер в «Сбере» теперь проверяет инновационность и адаптивность кандидата на руководящую должность с учётом его знаний и опыта применения ИИ, который оценивается в комплексе и соотносится с требованиями к конкретной позиции.

В «Сбере» добавили, что от стажёров и студентов требуется только желание обучиться работе с ИИ. В компании помогут научиться применять нейросети в работе.

https://www.sberbank.ru/ru/sberpress/all/article?newsID=2f9bea94-db49-4b88-ab98-350064f158df&blockID=1303&regionID=177&lang=ru&type=NEWS
🤮258🥴5🤔2👎1
Стратегии кэширования
👍5🔥1👏1
Стратегии кэширования (продолжение к предыдущему посту)

Кэширование — это концепция хранения часто используемых данных во временном месте, доступ к которому осуществляется быстрее, чем к исходному источнику.

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

Таким образом, если мы используем кэширование данных, мы можем:
1. Значительно улучшить время отклика.
2. Снизить нагрузку на базу данных.
3. Обеспечить более плавный пользовательский опыт.

Стратегии, оптимизированные для чтения

Кэширование в стороне (Cache-Aside)
* Приложение сначала проверяет наличие данных в кэше.
* Если данные найдены (попадание в кэш), они возвращаются.
* Если нет (промах кэша), данные извлекаются из базы данных, сохраняются в кэше и затем возвращаются.
* Известна как «отложенная загрузка» — получение данных по требованию.
* Первый запрос для определённого фрагмента данных всегда приводит к промаху кэша, так как данные ещё не загружены.
* Отличается простотой реализации.

Применение:
* Для нагрузок с преобладанием операций чтения и редко изменяющимися данными.

Чтение через кэш (Read-Through)
* Кэш выступает в качестве основного источника данных.
* Если данных нет в кэше:
* они извлекаются из базы данных;
* сохраняются в кэше;
* возвращаются в приложение.
* По сути, это абстрагирование источника данных от приложения.

Применение:
* Для приложений, где критически важны сверхбыстрые операции чтения (аналитика в реальном времени и т. д.).

Предварительное обновление (Refresh-Ahead)
* Кэш проактивно обновляет данные до их истечения, снижая вероятность промахов кэша.

Применение:
* Для приложений с предсказуемыми шаблонами доступа к данным.

Клиентское кэширование (Client-Side Caching)
* Данные кэшируются на устройстве клиента.
* Повышенная сложность, требуется управление аннулированием кэша на стороне клиента.

Применение:
* Для приложений с часто используемым статическим контентом или когда персонализация не является основной задачей.

Стратегии, оптимизированные для записи

Запись через кэш (Write-Through)
* Данные сначала записываются в кэш, а затем «немедленно» в базу данных.
* Операция записи считается завершённой только после обновления и кэша, и базы данных.
* Обеспечивает строгую согласованность данных между кэшем и базой данных.

Применение:
* Для приложений, где критически важна согласованность данных.

Запись позади (Write-Behind / Write-Back)
* Данные сначала записываются в кэш, а затем «асинхронно» в базу данных.

Применение:
* Для приложений, где производительность записи является приоритетом, и допустима некоторая потеря данных.

Запись в обход (Write-Around)
* Обходит кэш при записи, записывая напрямую в базу данных.
* Кэш обновляется только при последующих операциях чтения.

Применение:
* Для нагрузок с преобладанием операций записи, где большинство данных записывается один раз и редко читается.
👍11🔥4👏2
Шпаргалка по работе с векторами в C++ #cplusplus #cpp
11👍3😱2😁1
Вкратце как работает COM (Component Object Model)
🥰10👎1🔥1👏1🤯1
Отношения между паттернами проектирования
👍14🤯7💩4🤓3🫡3👏1
Приложение Linux Terminal для Android, выпущенное Google в начале этого года, в новой сборке Android Canary позволяет запускать графические приложения Linux.
Приложение Terminal позволяет загружать экземпляр Debian в виртуальной машине и запускать полноценные приложения Linux, недоступные на Android.
При открытии Terminal в этой сборке можно увидеть в правом верхнем углу новую кнопку, которая запускает действие "Display" приложения Terminal и перенаправляет графический вывод из виртуальной машины Linux на хост Android.

На этом экране можно ввести команду «weston», чтобы открыть графическую среду. Weston — это референсная реализация компоновщика Wayland, современного протокола сервера отображения, и он предустановлен в Linux Terminal для Android.
В графической среде удалось запустить такие приложения, как Gedit, простой текстовый редактор (на скриншоте - Gedit).

https://www.androidauthority.com/linux-terminal-graphical-apps-3580905/
👍189👏1
Истечение срока действия ключа Microsoft может создать проблемы для пользователей Linux

В сентябре текущего года истекает срок действия сертификата подписи Microsoft, который необходим для процесса безопасной загрузки (Secure Boot) в системах UEFI. Это может вызвать серьезные проблемы у пользователей Linux.
Secure Boot — это механизм безопасности, встроенный в UEFI, который проверяет цифровую подпись загрузчиков операционной системы. Для корректной работы Linux-систем требуется валидный сертификат подписи.

Последствия для пользователей:
* Возможные проблемы с загрузкой Linux-систем
* Необходимость обновления ключей загрузки
* Возможные сложности с установкой и обновлением некоторых дистрибутивов Linux

Пользователям Linux рекомендуется:
* Заранее проверить статус Secure Boot в своей системе
* Быть готовыми к обновлению ключей загрузки
* Следить за официальными обновлениями от разработчиков дистрибутивов

Хотя проблема носит технический характер, она может затронуть значительное количество пользователей Linux. Разработчикам дистрибутивов и конечным пользователям следует заранее подготовиться к возможным изменениям в процессе загрузки системы. Ситуация требует внимания со стороны сообщества Linux для минимизации потенциальных проблем.
https://www.tomshardware.com/tech-industry/cyber-security/microsoft-signing-key-required-for-secure-boot-uefi-bootloader-expires-in-september-which-could-be-problematic-for-linux-users
💩5🔥2🌚2🤯1🤬1😢1
По итогам первого полугодия 2025 г. компании предлагали ИТ-специалистам 96 тыс. руб. (медиана по стране в целом), и это на 10% больше, чем в аналогичный период прошлого года.
Наиболее востребованными в ИТ остаются программисты и разработчики, но их популярность постепенно снижается. Если в 2022 г. было зарегистрировано 102,8 тыс. вакансий для этой категории специалистов, то к 2025 г. их количество сократилось до 62,5 тыс.

На фоне общего падения числа ИТ-вакансий (-12%) и роста резюме (+14%) спрос на ключевые, но широко распространенные технологии резко снизился. По сравнению с 2024 годом, количество вакансий, упоминающих SQL, упало на 30% (до 18 тыс.), Linux — на 20% (до 14 тыс.), Python — на 21% (до 12 тыс.), PostgreSQL — на 20% (до 10 тыс.), а разработку технических заданий (ТЗ) — на 39% (до 8.8 тыс.).

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

Работодатели все чаще используют практические тесты, архитектурные кейсы, код-ревью и проблемные собеседования для объективной проверки. Сертификации, особенно по облачным платформам (AWS, Azure, GCP), Agile, DevOps, становятся критически важными, особенно в крупных ИТ-компаниях и финансовом секторе.

Портрет успешного кандидата на высокооплачиваемую позицию — это междисциплинарный специалист-лидер, сочетающий глубокую техническую экспертизу с сильными коммуникативными и управленческими навыками, пониманием полного цикла разработки и бизнес-контекста. Активность в Open Source, содержательное GitHub-портфолио, участие в профессиональных сообществах и менторство становятся серьезными конкурентными преимуществами.

https://www.cnews.ru/news/top/2025-07-24_headhunter_74_it-kompanij_ne
🤔134💩4🤓3👎2🏆2
Композиция структур в C++ под капотом #cpp #cplusplus
14👍8😨5🤔3🔥1
8 концепций проектирования систем