Computer Science
رفتن به کانال در Telegram
По всем вопросам: @altmainf Уважаемый менеджер: @altaiface
نمایش بیشتر7 939
مشترکین
+124 ساعت
-77 روز
-2930 روز
آرشیو پست ها
7 939
В программировании термин "NaN" означает "Not a Number" и используется для представления числовых значений, которые не являются числами. Обычно они возникают при выполнении математических операций, которые не имеют определенного числового значения.
Примеры ситуаций, когда значение становится NaN:
• Деление на ноль: попытка деления числа на ноль приведет к NaN, так как математически невозможно разделить число на ноль.
• Математические операции с бесконечностью: например, бесконечность плюс или минус бесконечность дают NaN, так как эти операции не имеют определенного числового значения.
• Когда происходит попытка выполнить математические операции с типами данных, которые не могут быть преобразованы в числа.
В различных языках программирования, NaN представлен как специальное значение, которое обычно можно проверить с помощью функций или операторов, чтобы обнаружить нечисловые значения в вычислениях и обработать их соответственно.
7 939
Что такое низкоуровневое программирование? Основы и отличия от высокоуровневых языков
Низкоуровневое программирование — это подход к программированию, при котором программисты взаимодействуют с аппаратным обеспечением напрямую, используя языки, близкие к машинному коду. К таким языкам относятся ассемблер и языки C/C++ (в контексте работы с системными ресурсами). В отличие от высокоуровневых языков, таких как Python или JavaScript, где программисты работают с абстракциями и готовыми библиотеками, низкоуровневое программирование требует более глубокого понимания устройства компьютера.
Ключевые особенности низкоуровневого программирования:
• Память и процессор: программист контролирует использование памяти, регистры процессора и работу с системой.
• Минимальная абстракция: необходимо заботиться о всех деталях, например, о том, как данные размещаются в памяти.
• Скорость: код, написанный на низкоуровневых языках, часто быстрее, потому что он ближе к машинному коду и требует меньше системных ресурсов.
Различия с высокоуровневыми языками:
• Абстракция: В высокоуровневых языках задачи типа работы с памятью, файлами, сетями и графическим интерфейсом часто автоматизируются и скрываются от разработчика.
• Простота: Высокоуровневые языки предоставляют большое количество инструментов и библиотек для решения задач, что ускоряет процесс разработки.
7 939
Машина Тьюринга и машина Поста - это два различных математических моделей для описания абстрактных вычислительных устройств. Оба этих понятия являются важными для изучения теории вычислимости и алгоритмов.
Машина Тьюринга, названная в честь английского математика Алана Тьюринга, представляет собой устройство, состоящее из бесконечной ленты разделенной на ячейки, головки чтения/записи и контроллера. Каждая ячейка ленты может хранить символы, а головка может считывать и записывать символы на ленту. Контроллер управляет работой машины и определяет, какие символы считывать, записывать или выполнять действия над ними. Машина Тьюринга является универсальным модельным аппаратом, который позволяет моделировать вычисления и определять, какие задачи можно алгоритмически решать.
Машина Поста, названная в честь американского математика Эмила Поста, также используется для моделирования вычислений. Машина Поста представляет собой устройство, состоящее из бесконечной ленты, головки чтения и состояний. В отличие от машины Тьюринга, машина Поста работает с простыми конфигурациями, называемыми позициями, и имеет ограничение на количество состояний. Каждая позиция на ленте может содержать символы из алфавита. В начале работы машина Поста находится в некотором начальном состоянии, и головка чтения выполняет последовательность инструкций, определенных для каждого состояния. Машина Поста также способна решать вычислительные задачи, но ее возможности ограничены в сравнении с машиной Тьюринга.
Обе модели полезны для формализации и изучения вычислимости. Они позволяют анализировать и классифицировать вычислительные задачи по своей сложности, определять алгоритмическую разрешимость проблем и исследовать пределы вычислений.
7 939
Виртуализация — технология, которая позволяет создавать и использовать виртуальные версии ресурсов, таких как серверы, сети и рабочие станции. Это достигается с помощью ПО, известного как гипервизор.
Гипервизор — это слой ПО, который позволяет запускать несколько операционных систем на одном физическом сервере как отдельные виртуальные машины (ВМ). Гипервизоры бывают двух типов:
Гипервизор типа 1 (или "bare-metal"): Эти гипервизоры устанавливаются непосредственно на аппаратное обеспечение. Примеры включают VMware ESXi, Microsoft Hyper-V и Xen.
Гипервизор типа 2 (или "hosted"): Эти гипервизоры работают на операционной системе хоста, как обычное приложение. Примеры включают VMware Workstation и Oracle VirtualBox.
7 939
Формальные языки и грамматики
Важные концепты в теории автоматов и теории формальных языков, которые изучают структуры, используемые для описания и анализа различных типов языков, включая языки программирования, естественные языки и другие формализованные системы.Формальные языки: Множество строк (или слов), составленных из алфавита. Алфавит состоит из конечного набора символов, которые называются символами. Язык — это множество слов, построенных из этих символов. Пример: • Алфавит:
Σ={a,b} (два символа: a и b).
Язык, состоящий из всех строк, содержащих четное количество символов a: L={ϵ,aa,abba,aabaa,…}.
Грамматики
Набор правил, которые определяют, как можно строить строки формального языка из символов алфавита. Грамматики обычно делятся на несколько типов, в зависимости от их мощности и применимости.
1. Бэкусовская форма (Context-Free Grammar, CFG)
Это один из самых популярных типов грамматик. В CFG правила состоят из замен, где левая часть состоит из одного нетерминала, а правая — из последовательности терминалов и нетерминалов.
Пример: Грамматика для арифметических выражений:
E → E + T
E → E - T
E → T
T → T * F
T → T / F
T → F
F → ( E )
F → number
Здесь:
• E,T,F — нетерминалы.
• +,−,∗,/,(,),number — терминалы.
• Применяя эти правила, мы можем строить выражения, такие как number+number∗number.
2. Грамматики типа 0 (Rug grammar)
Это самая общая форма грамматик, где правила могут быть произвольными, и левые части правил могут содержать несколько символов, в том числе нетерминалы.
3. Грамматики типа 1 (Context-sensitive grammar)
Правила грамматики могут заменять строку, состоящую из нескольких символов, только если на определенной позиции в строке находится подходящий контекст.
4. Грамматики типа 2 (Context-free grammar)
В этих грамматиках правила заменяют один нетерминал на строку из терминалов и нетерминалов, не завися от контекста. Это наиболее популярный тип грамматик, применяемых в компиляторах и других системах.
5. Грамматики типа 3 (Regular grammar)
Самые простые грамматики, где правила имеют ограниченную форму. Например, они могут быть описаны с помощью регулярных выражений.7 939
HDD vs SSD
Принцип работы HDD и SSD кардинально отличается. Классические HDD состоят из одного или нескольких магнитных дисков и считывающих головок. SSD, наоборот, состоит из большого количества отдельных чипов Flash-памяти, которые встроены в диск по тому же принципу, что и в USB-флешках.
Так как у SSD нет механических частей, то, во-первых, это делает его прочнее, тише, но самое главное преимущество SSD в том, что они работают значительно быстрее классических жестких дисков. Благодаря этому ПК и ноутбуки с SSD запускаются примерно в два раза быстрее, чем с HDD, а файлы и программы открываются до четырех раз быстрее.
Но говорить, что SSD во всем превосходят HDD, тоже неверно. HDD все еще гораздо дешевле SSD, а также жесткие диски предлагают гораздо больше места для хранения данных. Здесь возможны объемы и 10, и 20 Тбайт, в то время как потребительские SSD в большинстве своем пока ограничиваются 8 Тбайт.
7 939
Радиоволны — вид электромагнитных волн, которые переносят энергию через пространство без необходимости в физической среде.
Используются для передачи информации на большие расстояния, например, в радио- и телевизионных вещаниях, сотовой связи, навигационных системах и других технологиях.Основы работы радиоволн Создание радиоволн: • Радиоволны создаются генератором электромагнитных колебаний, например, в радиопередатчике. Когда электрический ток проходит через антенну, он создает переменное магнитное и электрическое поле, которое распространяется наружу в виде радиоволн. Передача радиоволн: • Радиоволны распространяются в пространстве со скоростью света (примерно 300,000 км/с). Они могут проходить через атмосферу, отражаться от различных поверхностей и ионизированных слоев атмосферы (например, ионосферы), что позволяет им достигать удаленных точек на Земле. Прием радиоволн: • Когда радиоволны достигают антенны приемника, они создают в ней переменный электрический ток, аналогичный тому, что был создан в передающей антенне. Этот ток затем усиливается и обрабатывается для извлечения передаваемой информации, например, звука или изображения. Модуляция радиоволн: • Информация (например, аудио или данные) передается с помощью модуляции радиоволн. Существует два основных метода модуляции: - Амплитудная модуляция: изменение амплитуды волны в зависимости от передаваемого сигнала. - Частотная модуляция: изменение частоты волны в зависимости от сигнала. • Также существуют и другие методы модуляции, такие как фазовая модуляция (PM), цифровая модуляция (QAM, PSK) и другие. Частоты радиоволн: • Радиоволны охватывают широкий диапазон частот, от нескольких килогерц (КГц) до нескольких гигагерц (ГГц) и выше. Различные частоты используются для разных целей: - Низкие частоты (КГц и МГц) — для длинноволнового и средневолнового вещания. - Высокие частоты (МГц и ГГц) — для мобильной связи, спутниковых систем, Wi-Fi и микроволновых печей.
7 939
LOLCODE — это уникальный язык программирования, основанный на интернет-меме "LOLcats". Программы на LOLCODE выглядят как текст на "языке" LOLcats.
Пример простой программы на LOLCODE, которая выводит "Hello World!":
HAI 1.2
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
HAI 1.2 — начало программы, указывающее версию языка.
CAN HAS STDIO? — импорт стандартной библиотеки ввода-вывода.
VISIBLE "HAI WORLD!" — вывод строки "HAI WORLD!" на экран.
KTHXBYE — завершение программы.
Текст на "языке" LOLcats обычно выглядит как забавные и искаженные фразы, часто сопровождаемые изображениями кошек. I CAN HAS CHEEZBURGER? OH HAI! U CAN HAS CHEEZBURGER! Cтиль письма стал популярен благодаря интернет-мемам с изображениями кошек и смешными подписями.
7 939
Архитектура Клиент-Сервер: Технический разбор
Клиент-сервер — это распределенная структура приложения, где задачи разделены между поставщиком услуг (сервер) и потребителем (клиент). Взаимодействие строится на запросах и ответах через сеть.Стек технологий и протоколы 1. Транспортный уровень: TCP/IP (гарантирует доставку пакетов). 2. Прикладной уровень: HTTP/HTTPS (правила обмена данными). 3. Форматы данных: JSON, XML, HTML, Protobuf. 4. Порты: 80 (HTTP), 443 (HTTPS), 22 (SSH), 3306 (MySQL) и др. Жизненный цикл запроса (Request-Response Cycle) • DNS Resolution: Клиент преобразует домен (
example.com) в IP-адрес сервера через DNS-запрос.
• TCP Handshake: Установление соединения (SYN → SYN-ACK → ACK).
• HTTP Request: Клиент отправляет запрос.
• Server Processing: Бэкенд обрабатывает логику, делает запросы к БД (SQL/NoSQL).
• HTTP Response: Сервер возвращает статус и данные.
• Rendering/Parsing: Клиент обрабатывает ответ (рендеринг HTML или парсинг JSON).
• Connection Termination: Закрытие соединения (TCP FIN).
Структура HTTP-запроса и ответа:
Запрос (Client → Server):
POST /api/login HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer <token>
{
"username": "user1",
"password": "secure_pass"
}
• Method: GET, POST, PUT, DELETE.
• Headers: Метаданные (cookies, auth, content-type).
• Body: Полезная нагрузка (payload).
Ответ (Server → Client):
HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: session_id=abc123
{
"status": "success",
"user_id": 456,
"token": "eyJhbGci..."
}
• Status Code: Результат обработки (200, 404, 500).
• Headers: Информация о сервере, кэшировании, куки.
• Body: Данные или сообщение об ошибке.
Коды состояния HTTP (Status Codes)
• 2xx (Success):
- 200 OK — запрос успешен.
- 201 Created — ресурс создан.
- 204 No Content — успешно, но без тела ответа.
• 3xx (Redirection):
- 301 Moved Permanently — постоянный редирект.
- 302 Found — временный редирект.
• 4xx (Client Error):
- 400 Bad Request — ошибка в синтаксисе запроса.
- 401 Unauthorized — нужна авторизация.
- 403 Forbidden — доступ запрещен.
- 404 Not Found — ресурс не найден.
• 5xx (Server Error):
- 500 Internal Server Error — ошибка на стороне сервера.
- 502 Bad Gateway — шлюз получил неверный ответ.
- 503 Service Unavailable — сервер перегружен.7 939
📝 Курс от OTUS: «Администрирование PostgreSQL. Экспертный уровень» — продвинутое погружение в работу с базой данных PostgreSQL в любых средах.
Освойте управление PostgreSQL на экспертном уровне: от настройки локальной инфраструктуры до развёртывания высокодоступных кластеров в облаках и Kubernetes. Научитесь автоматизировать процессы, оптимизировать производительность и экономить ресурсы — без лишних сервисов и избыточных затрат.
🔥 Приглашаем на серию из 2 бесплатных вебинаров курса — для DevOps‑инженеров, SRE, архитекторов данных, администраторов БД и разработчиков, которые хотят выйти на новый уровень владения PostgreSQL. 🔧💾
📅 26 марта в 20:00 МСК: «Путешествие запроса в PostgreSQL: от разбора до исполнения (от parser до executor)»
На вебинаре разберём, как PostgreSQL превращает текст запроса в результат — вскроем «чёрный ящик» и изучим каждый этап:
• От текста к дереву: как работают лексер и парсер, что такое parse tree и query tree, и зачем нужен rule rewriter (на примере того, как VIEW превращается в подзапрос).
• Планировщик изнутри: как оптимизатор строит plan nodes, оценивает стоимость через статистику (pg_statistic, correlation, MCV) и почему иногда ошибается.
• Executor и runtime: как plan tree исполняется итераторной моделью (Volcano model), где живут данные в памяти.
• Как читать EXPLAIN ANALYZE, чтобы видеть реальные узкие места.
Результат: вы поймёте, как именно PostgreSQL обрабатывает запросы, научитесь осознанно оптимизировать производительность — без метода подбора индексов. Уйдёте с чётким алгоритмом анализа и устранения «узких мест».
📅 9 апреля в 20:00 МСК: «PostgreSQL как векторная база данных: ИИ‑поиск без лишних сервисов»
На вебинаре разберём, как использовать PostgreSQL с расширением pgvector для семантического поиска и RAG‑систем — без внедрения отдельной векторной БД.
Программа:
• Работа с pgvector: установка, типы данных, индексы.
• Сравнение PostgreSQL и специализированных векторных БД по скорости и точности.
• Проектирование гибридного поиска (точный + семантический) в рамках одной базы.
• Выбор между индексами IVFFlat и HNSW для своей задачи.
• Примеры RAG‑запросов с комбинацией tsvector и векторного поиска.
• Успешные кейсы использования PostgreSQL для ИИ.
Результат: вы сможете добавить ИИ‑функции в продукт без усложнения инфраструктуры. Уйдёте с готовым планом внедрения векторного поиска на базе PostgreSQL.
🎯 Почему стоит участвовать:
- Получите практические инструменты: разбор реальных кейсов, шаблоны конфигураций, чек‑листы для аудита производительности.
- Изучите современные решения: pg_probackup, Wal‑G, pg_rewind, pgvector.
- Научитесь автоматизировать: используйте Terraform для установки ВМ и Ansible для развёртывания ПО.
- Разберётесь в облаках: отличия GCP, Yandex Cloud, SberCloud, VKCloud и как эффективно работать в каждом.
- Сможете задать вопросы практикующим инженерам и архитекторам PostgreSQL в прямом эфире.
- Примените знания сразу после вебинаров: с готовыми скриптами и инструкциями.
👉 Регистрируйтесь сейчас, а мы напомним о вебинаре накануне. OTUS.RU
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
7 939
Краткие характеристики сетевых протоколов
TCP (Transmission Control Protocol):
• Обеспечивает надежную передачу данных через сетевые протоколы.
• Устанавливает соединение (TCP handshake) перед передачей данных.
• Гарантирует доставку данных в правильном порядке и без ошибок.
• Используется для передачи данных в приложениях, требующих надежности, таких как веб-браузеры и клиенты электронной почты.
UDP (User Datagram Protocol):
• Протокол без соединения, не гарантирует доставку данных.
• Быстрый и легкий протокол, используемый для передачи небольших пакетов данных.
• Часто используется в приложениях, требующих быстрой передачи данных, таких как потоковая передача видео и аудио.
HTTP (Hypertext Transfer Protocol):
• Протокол передачи гипертекста, используемый для передачи данных между веб-сервером и веб-клиентом (браузером).
• Работает поверх TCP и использует порт 80 по умолчанию.
• Использует методы GET и POST для получения и отправки данных.
HTTPS (HTTP Secure):
• Защищенная версия HTTP, использующая протокол SSL/TLS для шифрования данных.
• Используется для обеспечения безопасности передачи данных между веб-сервером и клиентом.
• Работает поверх TCP и использует порт 443 по умолчанию.
FTP (File Transfer Protocol):
• Протокол передачи файлов, используемый для передачи файлов между клиентом и сервером.
• Работает поверх TCP и использует порты 20 (для данных) и 21 (для управления) по умолчанию.
• FTP не шифрует данные, поэтому для защиты конфиденциальных данных рекомендуется использовать FTP через SSL (FTPS) или SFTP.
SMTP (Simple Mail Transfer Protocol):
• Протокол простой передачи почты, используемый для передачи электронных писем между почтовыми серверами.
• Работает поверх TCP и использует порт 25 по умолчанию.
• SMTP не шифрует данные, поэтому для защиты конфиденциальных данных рекомендуется использовать STARTTLS или SMTPS.
DNS (Domain Name System):
• Протокол, используемый для преобразования доменных имен в IP-адреса.
• Работает поверх UDP и использует порт 53 по умолчанию.
• DNS является распределенной системой имен, состоящей из иерархически организованных серверов.
7 939
Механизмы блокировок в PostgreSQL. Бесплатный урок курса «PostgreSQL DBA»
Блокировки в PostgreSQL редко выглядят как «ошибка». Обычно всё просто становится медленным: запросы зависают, транзакции живут слишком долго, а база начинает вести себя непредсказуемо. И пока вы не научитесь диагностировать блокировки и понимать, как они возникают, вы будете «тушить пожары» вместо управления системой.
📅 На открытом уроке 25 марта (ср) в 20:00:
— Сделаем практический разбор механизмов блокировок в PostgreSQL: от базовых типов до диагностики проблем.
— Разберём блокировки объектов, строк и блокировки в памяти и то, как они влияют на производительность.
— Научимся находить конфликты и «узкие места» через системные представления, выявлять долгие транзакции и разбирать взаимоблокировки (deadlocks).
— Отдельно — профилактика: как проектировать схему и транзакции так, чтобы снижать конфликты и повышать параллельную работу.
Урок не для тех, кто пишет «как получилось» и потом удивляется deadlock’ам, или хочет выучить одну команду и «закрыть тему блокировок навсегда».👉 Записаться: https://otus.pw/9rba/ Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
7 939
npm = Node Package Manager
Менеджер пакетов для Node.js.
Основная цель: управлять библиотеками (пакетами) для JavaScript/Node-проектов.
С его помощью можно:
• Устанавливать готовые пакеты (
npm install)
• Создавать свои пакеты (npm init)
• Обновлять пакеты (npm update)
• Управлять зависимостями проекта через package.json
Как работает npm:
npm состоит из трёх ключевых компонентов:
1. Командная строка (npm CLI)
• Ты вводишь команды: npm install express
• CLI обрабатывает запрос и общается с реестром npm.
2. npm Registry (репозиторий пакетов)
• Онлайн-хранилище всех пакетов: https://www.npmjs.com/
• Когда ты устанавливаешь пакет, CLI загружает его с этого репозитория.
3. node_modules и package.json
• Установленные пакеты хранятся в папке node_modules.
• Файл package.json фиксирует, какие пакеты и версии нужны для проекта.
Принцип работы установки пакета:
Пример: npm install lodash
1. CLI проверяет локальный кэш (~/.npm) — есть ли пакет уже скачан.
2. Если нет — скачивает пакет из npm Registry.
3. Устанавливает пакет в node_modules проекта.
4. Добавляет запись о пакете в package.json и package-lock.json.
Разновидности установки:
Локально: для конкретного проекта
npm install lodash
Глобально: доступно в системе для всех проектов
npm install -g nodemon
Основные файлы npm-проекта:
1. package.json — список зависимостей и скриптов проекта.
2. package-lock.json — фиксирует точные версии всех зависимостей для стабильности.
3. node_modules/ — физическое место хранения всех пакетов.7 939
QR-код представляет собой двухмерный матричный штрих-код, состоящий из черных и белых квадратных модулей, размещенных на белом фоне. Он содержит информацию в виде набора байтов, которая может быть расшифрована специальным сканером или мобильным устройством.
QR-код состоит из следующих элементов:
Поисковая позиция (англ. Finder pattern) - три квадрата в углах QR-кода, служат для автоматической коррекции, поиска и выравнивания кода.
Калибровочные полосы (англ. Alignment pattern) - несколько квадратов, расположенных на определенном расстоянии друг от друга внутри QR-кода, необходимы для расчета размеров и положения символов.
Синхронизационные строки (англ. Timing pattern) - вертикальные и горизонтальные полосы, определяющие размер и форму кода.
Данные - байты информации, которую необходимо закодировать в QR-коде, которые представлены в бинарном или текстовом формате.
Информационные области - области, заполняемые модулями, отображающими данные.
Коррекционные биты - блоки данных, используемые для коррекции ошибок, которые возникают при считывании QR-кода.
QR-код может содержать различные типы информации, включая текст, URL-адреса, контактные данные, номера телефонов и прочее. Количество информации, которое может быть закодировано в QR-коде, зависит от его размера и уровня коррекции ошибок.
7 939
PostgreSQL и секционирование: «разделяй и властвуй!». Бесплатный урок курса «PostgreSQL для администраторов баз данных и разработчиков»
Большие таблицы в PostgreSQL сначала «просто растут», а потом внезапно начинают убивать всё вокруг: запросы тормозят, вакуум длится вечность, обслуживание превращается в боль, а любой релиз страшно трогать. Секционирование — один из немногих инструментов, который реально помогает вернуть управляемость и скорость, если применять его правильно.
📅 На открытом уроке 16 марта (пн) в 20:00:
— Разберём, зачем вообще нужно секционирование и какие проблемы больших таблиц оно решает.
— Пройдёмся по основным видам секционирования в PostgreSQL: по списку значений, по диапазону и по хэшу.
— Отдельно разберём декларативный подход, как современный способ секционирования: синтаксис, создание и обслуживание секций, добавление и удаление, а также сравнение со старым методом через наследование.
— В конце — лучшие практики и частые ошибки, из-за которых секционирование «не взлетает».
Урок не для тех, кто ищет одну универсальную схему «на все случаи», хочет «ускорить всё одним движением» и не готов менять модель данных и запросы под реальную нагрузку.👉 Записаться: https://otus.pw/9ydp/ Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
7 939
Магнитный принцип чтения информации
Запись информации происходит на магнитно-чувствительный материал. Магнитное покрытие толщиной в несколько миллиметров нанесено на немагнитный каркас и имеет доменную структуру (состоит из множества микроскопических намагниченных частиц - доменов)
Магнитные поля доменов, попав под воздействие внешнего магнитного поля, ориентируются в соответствии с направлением магнитных силовых линий. Когда внешнее поле перестает воздействовать на магнитные поля доменов, на поверхности этих микроскопических частиц образуются зоны остаточной намагниченности, то есть сохраняется информация о подействовавшем на диск магнитном поле.
При чтении информации магнитные головки проходят над дорожками. При считывании намагниченные ранее участки направляют ЭДС в головке, проходящей над таким участком. Изменение направления ЭДС за определённое время характеризует двоичную единицу, неизменность – нуль. При этом, указанный промежуток времени изменения ЭДС называют битовым элементом.
7 939
Методы кодирования символов указывают на способы представления символов в компьютерных системах.
Некоторые из наиболее распространенных:
ASCII (American Standard Code for Information Interchange): Это стандартное кодирование символов для компьютеров, основанное на английском алфавите. Он представляет каждый символ одним байтом (8 битами) и может быть использован для представления 128 различных символов.
Unicode: Это международный стандарт для кодирования символов. Unicode расширяет ASCII, чтобы включить символы различных языков и символы, которые не входят в английский алфавит. Unicode может быть представлен различными способами, такими как UTF-8, UTF-16 и UTF-32, которые используют разное количество байтов для кодирования символов.
UTF-8 (Unicode Transformation Format 8-bit): Это переменная длина кодирование символов Unicode, которое использует от 1 до 4 байтов для представления символов в зависимости от их кодового значения. UTF-8 обычно используется в Интернете и в большинстве современных компьютерных систем, так как он эффективно представляет широкий набор символов и поддерживает обратную совместимость с ASCII.
UTF-16: Это кодирование символов Unicode с использованием 16-битных блоков данных. Оно может быть использовано для представления всех символов Unicode, но требует больше памяти, чем UTF-8.
ISO-8859: Это набор стандартных кодировок символов, разработанных Международной организацией по стандартизации. Каждая кодировка ISO-8859 предназначена для определенного набора символов, таких как ISO-8859-1 для латинского алфавита.
7 939
Кодирование графической и видеоинформации — процесс преобразования аналоговых или цифровых данных изображений и видео в специальный формат, который занимает меньше места, сохраняя при этом необходимое качество.
Кодирование графической информации:
JPEG (Joint Photographic Experts Group):
• Стандарт для сжатия статических изображений.
• Позволяет настроить уровень сжатия, что влияет на баланс между качеством и размером файла.
• Часто используется для фотографий и изображений с непрерывными тональными переходами.
PNG (Portable Network Graphics):
• Формат без потерь, хорошо подходит для изображений с прозрачностью.
• Предоставляет поддержку 24-битной палитры и альфа-канала.
GIF (Graphics Interchange Format):
• Широко используется для анимированных изображений.
• Поддерживает до 256 цветов, что делает его менее подходящим для фотографий, но хорошим для простых изображений с ограниченной цветовой палитрой.
Кодирование видеоинформации:
H.264 (MPEG-4 Part 10 AVC):
• Один из наиболее широко используемых стандартов видеокодирования.
• Обеспечивает высокое качество при сравнительно низкой пропускной способности.
H.265 (High Efficiency Video Coding - HEVC):
• Преемник H.264, обеспечивает еще более эффективное сжатие видео без ущерба для качества.
VP9:
• Открытый стандарт, разработанный Google.
• Предназначен для сжатия видео с высоким разрешением при более низкой пропускной способности.
AV1:
• Еще один открытый стандарт, разрабатываемый Alliance for Open Media.
• Предназначен для достижения высокого качества при сжатии видео и конкурирует с H.265.
7 939
DLL файлы, и для чего они нужны?
Аббревиатура DLL – обозначает «Динамически Подключаемую Библиотеку». Она установлена, во всех операционных системах Windows, и практически каждая программа или игра на компьютере пользуется данной библиотекой. В ней содержится информация о конфигурации системы, совместимости устройств, наборе команд для правильной работы и многое другое.
DLL файлы – это компоненты библиотеки, а нужна она для запуска программ, приложений и игр. Компьютер включился, и система работает исправно. Вы еще ничего не запускали и не открывали, а уже десятки DLL файлов используются. Простые часы, информация о конфигурации системы, порядок запуска программ, оформление и многое другое используют библиотеку.
Для того чтобы в текстовом документе начали появляться символы, соответствующие вашему вводу, нужна библиотека. По умолчанию система не знает, что означает нажатая вами клавиша,─ в этом его помогают компоненты DLL.
Аналогичная ситуация со всеми подключаемыми устройствами: принтером, мышью, клавиатурой, флеш-картой. Именно библиотека DLL файлов «рассказывает» им, как работать с параметрами вашей системы.
7 939
Злоумышленники усложняют фишинг, объем утечек растет
Фишинг стал сложнее, а утечки данных — масштабнее. Готова ли ваша ИБ-команда к новым вызовам?
3 марта эксперты «Солара» проведут ежегодный вебинар «Тренды информационной безопасности 2026: аналитика, кейсы, прогнозы от Solar JSOC».
Покажем аналитику и разберем:
- Как изменился ландшафт киберугроз в 2025 году для разных отраслей и чего ждать в 2026.
- Какие внешние угрозы стали ключевыми и как им противостоять.
- Как TI-фиды повышают эффективность SOC — рассмотрим реальные кейсы.
Регистрируйтесь и получите инсайты для комплексной защиты бизнеса.
Зарегистрироваться
#реклама 16+
rt-solar.ru
О рекламодателе
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
