Computer Science
7.83K subscribers
2 photos
17 links
По всем вопросам: @altmainf

Уважаемый менеджер: @altaiface
Download Telegram
В чем секрет скорости работы низкоуровневых языков?

Код, написанный на низкоуровневых языках (например, ассемблере или C), имеет несколько ключевых преимуществ:

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

• Оптимизация. Программисты могут вручную оптимизировать код, устраняя неэффективные участки.

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

• HTTP: Протокол передачи гипертекста — используется для обмена данными между клиентом и сервером в интернете.

HTTPS: Это более безопасная версия HTTP, где передача данных шифруется с помощью SSL/TLS.

Пример: Когда вы вводите URL в браузере, например, https://example.com, браузер использует HTTP или HTTPS, чтобы установить связь с сервером и запросить нужную информацию.

Реальный пример:
• HTTP: Когда вы заходите на незащищенные сайты (например, http://example.com), данные передаются открыто, и злоумышленники могут перехватить ваши данные.
• HTTPS: На защищенных сайтах (например, https://example.com) данные шифруются, что делает перехват невозможным.
Микросерверные приложения — архитектурный подход, при котором приложение разбивается на множество небольших, независимых сервисов, каждый из которых выполняет свою конкретную задачу. Такой подход позволяет улучшить масштабируемость, гибкость и устойчивость системы в целом.

Основные характеристики микросерверной архитектуры:


• Независимость: Каждый микросервис может разрабатываться, тестироваться и разворачиваться независимо от других. Это позволяет командам работать параллельно и быстрее реагировать на изменения.

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

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

• Устойчивость: Если один микросервис выходит из строя, это не обязательно приводит к сбою всего приложения. Другие сервисы могут продолжать работать.

• Автоматизация и CI/CD: Микросервисы хорошо интегрируются с практиками непрерывной интеграции и доставки (CI/CD), что упрощает процесс развертывания и обновления.
IaaS (Infrastructure as a Service) — Инфраструктура как услуга

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

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

Примеры поставщиков:
• Amazon Web Services (AWS)
• Microsoft Azure
• Google Cloud Platform (GCP)

Когда использовать IaaS:
• Когда вам нужны виртуализованные вычислительные ресурсы, но вы хотите контролировать, как они используются.
• Когда требуется создание и управление собственными виртуальными машинами и операционными системами.
SaaS (Software as a Service) — Программное обеспечение как услуга

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

Ключевые особенности:

Готовое приложение: Пользователи получают доступ к программному обеспечению через браузер или мобильное приложение.
Безопасность и управление: Все обновления и поддержка осуществляются провайдером.
• Легкость в использовании: Пользователи не должны беспокоиться о настройке или обслуживании программного обеспечения.

Примеры поставщиков:
• Google Workspace (Gmail, Google Docs)
• Microsoft Office 365
• Dropbox
• Salesforce

Когда использовать SaaS:
• Когда нужно использовать готовое приложение без необходимости в его развертывании или обслуживании.
• Когда вам нужно приложение с функциями для совместной работы, хранения данных или управления бизнес-процессами, без потребности в технической настройке.
PaaS (Platform as a Service) — Платформа как услуга

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

Ключевые особенности:
• Инструменты для разработки: PaaS предоставляет инструменты для разработки приложений, включая поддержку различных языков программирования и фреймворков.
• Автоматизация: Платформа может автоматизировать такие задачи, как масштабирование, обновления и управление инфраструктурой.
• Отсутствие необходимости в управлении инфраструктурой: Платформа управляет всеми низкоуровневыми компонентами (серверы, ОС и т. д.), а пользователи концентрируются на коде.

Примеры поставщиков:
• Google App Engine
• Heroku
• Microsoft Azure App Service

Когда использовать PaaS:

• Когда нужно сосредоточиться на разработке и развертывании приложений, без необходимости управлять серверной инфраструктурой.
• Когда проект требует быстрой разработки и развертывания с минимальными усилиями по настройке.
ИИ-агенты становятся сложнее, а вместе с ними растёт и нагрузка на PostgreSQL. Горячие обновления данных, очереди задач, история диалогов и работа с JSONB способны быстро превратить производительную систему в источник постоянных задержек. Чтобы этого не произошло, важно понимать внутренние механизмы базы данных.

4 августа в 20:00 МСК приглашаем вас на открытый урок курса «Администрирование PostgreSQL. Экспертный уровень».

На занятии разберём, как работают MVCC, HOT-обновления, партиционирование, хранение JSONB и механизм FOR UPDATE SKIP LOCKED для построения очередей задач без отдельного брокера сообщений. Вы узнаете, как диагностировать разрастание таблиц, правильно настраивать autovacuum и оптимизировать хранение данных в системах с высокой нагрузкой.

Если вы администрируете PostgreSQL, разрабатываете серверную часть ИИ-приложений или создаёте агентные системы, зарегистрируйтесь на открытый урок и получите практические подходы, которые помогут сохранить производительность базы данных даже при интенсивной работе: https://otus.pw/gWEu/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Виртуальная память — метод управления памятью, который позволяет операционной системе использовать часть жесткого диска в качестве дополнительной оперативной памяти. Это дает возможность запускать больше программ, чем может вместить физическая RAM.

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

Роль кэш-памяти:
• Уменьшение времени доступа к данным: процессор может получать данные быстрее, чем если бы он обращался к основной памяти.
• Повышение производительности системы в целом: кэширование позволяет избежать задержек, связанных с обращением к более медленной RAM.
Шрифт Брайля — это шрифт для незрячих, разработанный Луи Брайлем в 1824 году. Этот шрифт использует комбинации шести точек выступающих из поверхности бумаги, которые можно осязать пальцами. Каждая комбинация точек в шрифте Брайля представляет собой букву, цифру, знак пунктуации или другой символ.

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

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

Шрифт Брайля широко используется незрячими людьми по всему миру для чтения и записи текстов. Он играет важную роль в образовании, коммуникации и повседневной жизни незрячих людей, предоставляя им доступ к информации и возможность коммуникации с окружающими.
РАСТЕРИЗАЦИЯ: основа реалтайм-графики

Суть: Алгоритм преобразования 3D-геометрии (набора треугольников) в 2D-пиксели на экране. Это самый быстрый способ отрисовки, на котором построены 95% современных игр и приложений.

Как работает (графический конвейер):
Вершинная обработка: 3D-координаты вершин треугольника математически проецируются на 2D-плоскость камеры с учетом перспективы.
Собственно растеризация: Алгоритм определяет, какие именно пиксели экрана попадают внутрь границ спроецированного треугольника.
Фрагментная обработка: Каждому попавшему пикселю присваивается цвет на основе наложенной текстуры и базовой модели освещения (например, Фонга).

Реальные примеры:
• Движок id Tech 3 (Quake III Arena, 1999) заложил стандарты этого подхода.
• Мобильные игры (Genshin Impact, PUBG Mobile) используют исключительно растеризацию из-за строгих лимитов энергопотребления и вычислительной мощности.

Плюсы: Экстремальная скорость, предсказуемая и линейная нагрузка на GPU.
Минусы: Не умеет корректно рассчитывать глобальное освещение, сложные отражения и преломления. Эти эффекты приходится «подделывать» с помощью хак-методов (например, Screen Space Reflections), которые ломаются при выходе объекта за кадр.