Таблица разделов
Таблица разделов — часть главной загрузочной записи (
Для создания на диске более
Адреса начала и конца раздела задаются в формате
Таблица разделов — часть главной загрузочной записи (
MBR), состоящая из четырёх записей по 16 байт. Каждая запись описывает один из разделов жёсткого диска. Первая запись находится по смещению 1BEh от начала сектора, содержащего MBR, каждая последующая запись вплотную примыкает к предыдущей.Для создания на диске более
4 разделов используются расширенные разделы, позволяющие создать неограниченное количество логических дисков внутри себя.Адреса начала и конца раздела задаются в формате
CHS, используемом традиционными функциями дискового сервиса BIOS, из-за чего номер цилиндра разорван на две части: старшие два бита хранятся в двух старших битах слова, отведённого под номера цилиндра и сектора; за ними следуют шесть бит номера сектора, а младшие восемь бит номера цилиндра занимают весь младший байт слова. Если задать корректный адрес с помощью формата CHS невозможно, все три байта полей начала и конца раздела должны содержать FFhИнструменты для управления политиками безопасности
Эти инструменты помогают контролировать соблюдение политик безопасности в процессе разработки и эксплуатации.
• OPA (Open Policy Agent): Открытый агент для управления политиками, который можно интегрировать в разные этапы DevOps-пайплайнов.
• Kubernetes RBAC: Управление доступом на основе ролей (Role-Based Access Control) в Kubernetes для контроля безопасности.
Эти инструменты ([1], [2], [3], [4], [5], [6], [7], [8], [9]), в сочетании с процессами DevOps и практиками безопасности, помогают создавать безопасные и надежные программные решения, снижая риски и улучшая общую безопасность на всех этапах разработки и эксплуатации.
Эти инструменты помогают контролировать соблюдение политик безопасности в процессе разработки и эксплуатации.
• OPA (Open Policy Agent): Открытый агент для управления политиками, который можно интегрировать в разные этапы DevOps-пайплайнов.
• Kubernetes RBAC: Управление доступом на основе ролей (Role-Based Access Control) в Kubernetes для контроля безопасности.
Эти инструменты ([1], [2], [3], [4], [5], [6], [7], [8], [9]), в сочетании с процессами DevOps и практиками безопасности, помогают создавать безопасные и надежные программные решения, снижая риски и улучшая общую безопасность на всех этапах разработки и эксплуатации.
DLL файлы, и для чего они нужны?
Аббревиатура DLL – обозначает «Динамически Подключаемую Библиотеку». Она установлена, во всех операционных системах Windows, и практически каждая программа или игра на компьютере пользуется данной библиотекой. В ней содержится информация о конфигурации системы, совместимости устройств, наборе команд для правильной работы и многое другое.
DLL файлы – это компоненты библиотеки, а нужна она для запуска программ, приложений и игр. Компьютер включился, и система работает исправно. Вы еще ничего не запускали и не открывали, а уже десятки DLL файлов используются. Простые часы, информация о конфигурации системы, порядок запуска программ, оформление и многое другое используют библиотеку.
Для того чтобы в текстовом документе начали появляться символы, соответствующие вашему вводу, нужна библиотека. По умолчанию система не знает, что означает нажатая вами клавиша,─ в этом его помогают компоненты DLL.
Аналогичная ситуация со всеми подключаемыми устройствами: принтером, мышью, клавиатурой, флеш-картой. Именно библиотека DLL файлов «рассказывает» им, как работать с параметрами вашей системы.
Аббревиатура DLL – обозначает «Динамически Подключаемую Библиотеку». Она установлена, во всех операционных системах Windows, и практически каждая программа или игра на компьютере пользуется данной библиотекой. В ней содержится информация о конфигурации системы, совместимости устройств, наборе команд для правильной работы и многое другое.
DLL файлы – это компоненты библиотеки, а нужна она для запуска программ, приложений и игр. Компьютер включился, и система работает исправно. Вы еще ничего не запускали и не открывали, а уже десятки DLL файлов используются. Простые часы, информация о конфигурации системы, порядок запуска программ, оформление и многое другое используют библиотеку.
Для того чтобы в текстовом документе начали появляться символы, соответствующие вашему вводу, нужна библиотека. По умолчанию система не знает, что означает нажатая вами клавиша,─ в этом его помогают компоненты DLL.
Аналогичная ситуация со всеми подключаемыми устройствами: принтером, мышью, клавиатурой, флеш-картой. Именно библиотека DLL файлов «рассказывает» им, как работать с параметрами вашей системы.
Кодирование графической и видеоинформации — процесс преобразования аналоговых или цифровых данных изображений и видео в специальный формат, который занимает меньше места, сохраняя при этом необходимое качество.
Кодирование графической информации:
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.
Кодирование графической информации:
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.
Методы кодирования символов указывают на способы представления символов в компьютерных системах.
Некоторые из наиболее распространенных:
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 для латинского алфавита.
Некоторые из наиболее распространенных:
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 для латинского алфавита.
Магнитный принцип чтения информации
Запись информации происходит на магнитно-чувствительный материал. Магнитное покрытие толщиной в несколько миллиметров нанесено на немагнитный каркас и имеет доменную структуру (состоит из множества микроскопических намагниченных частиц - доменов)
Магнитные поля доменов, попав под воздействие внешнего магнитного поля, ориентируются в соответствии с направлением магнитных силовых линий. Когда внешнее поле перестает воздействовать на магнитные поля доменов, на поверхности этих микроскопических частиц образуются зоны остаточной намагниченности, то есть сохраняется информация о подействовавшем на диск магнитном поле.
При чтении информации магнитные головки проходят над дорожками. При считывании намагниченные ранее участки направляют ЭДС в головке, проходящей над таким участком. Изменение направления ЭДС за определённое время характеризует двоичную единицу, неизменность – нуль. При этом, указанный промежуток времени изменения ЭДС называют битовым элементом.
Запись информации происходит на магнитно-чувствительный материал. Магнитное покрытие толщиной в несколько миллиметров нанесено на немагнитный каркас и имеет доменную структуру (состоит из множества микроскопических намагниченных частиц - доменов)
Магнитные поля доменов, попав под воздействие внешнего магнитного поля, ориентируются в соответствии с направлением магнитных силовых линий. Когда внешнее поле перестает воздействовать на магнитные поля доменов, на поверхности этих микроскопических частиц образуются зоны остаточной намагниченности, то есть сохраняется информация о подействовавшем на диск магнитном поле.
При чтении информации магнитные головки проходят над дорожками. При считывании намагниченные ранее участки направляют ЭДС в головке, проходящей над таким участком. Изменение направления ЭДС за определённое время характеризует двоичную единицу, неизменность – нуль. При этом, указанный промежуток времени изменения ЭДС называют битовым элементом.
QR-код представляет собой двухмерный матричный штрих-код, состоящий из черных и белых квадратных модулей, размещенных на белом фоне. Он содержит информацию в виде набора байтов, которая может быть расшифрована специальным сканером или мобильным устройством.
QR-код состоит из следующих элементов:
Поисковая позиция (англ. Finder pattern) - три квадрата в углах QR-кода, служат для автоматической коррекции, поиска и выравнивания кода.
Калибровочные полосы (англ. Alignment pattern) - несколько квадратов, расположенных на определенном расстоянии друг от друга внутри QR-кода, необходимы для расчета размеров и положения символов.
Синхронизационные строки (англ. Timing pattern) - вертикальные и горизонтальные полосы, определяющие размер и форму кода.
Данные - байты информации, которую необходимо закодировать в QR-коде, которые представлены в бинарном или текстовом формате.
Информационные области - области, заполняемые модулями, отображающими данные.
Коррекционные биты - блоки данных, используемые для коррекции ошибок, которые возникают при считывании QR-кода.
QR-код может содержать различные типы информации, включая текст, URL-адреса, контактные данные, номера телефонов и прочее. Количество информации, которое может быть закодировано в QR-коде, зависит от его размера и уровня коррекции ошибок.
QR-код состоит из следующих элементов:
Поисковая позиция (англ. Finder pattern) - три квадрата в углах QR-кода, служат для автоматической коррекции, поиска и выравнивания кода.
Калибровочные полосы (англ. Alignment pattern) - несколько квадратов, расположенных на определенном расстоянии друг от друга внутри QR-кода, необходимы для расчета размеров и положения символов.
Синхронизационные строки (англ. Timing pattern) - вертикальные и горизонтальные полосы, определяющие размер и форму кода.
Данные - байты информации, которую необходимо закодировать в QR-коде, которые представлены в бинарном или текстовом формате.
Информационные области - области, заполняемые модулями, отображающими данные.
Коррекционные биты - блоки данных, используемые для коррекции ошибок, которые возникают при считывании QR-кода.
QR-код может содержать различные типы информации, включая текст, URL-адреса, контактные данные, номера телефонов и прочее. Количество информации, которое может быть закодировано в QR-коде, зависит от его размера и уровня коррекции ошибок.
npm = Node Package Manager
Менеджер пакетов для Node.js.
Основная цель: управлять библиотеками (пакетами) для JavaScript/Node-проектов.
С его помощью можно:
• Устанавливать готовые пакеты (
• Создавать свои пакеты (
• Обновлять пакеты (
• Управлять зависимостями проекта через
Как работает npm:
npm состоит из трёх ключевых компонентов:
1. Командная строка (npm CLI)
• Ты вводишь команды: npm install express
• CLI обрабатывает запрос и общается с реестром npm.
2. npm Registry (репозиторий пакетов)
• Онлайн-хранилище всех пакетов:
• Когда ты устанавливаешь пакет, CLI загружает его с этого репозитория.
3. node_modules и package.json
• Установленные пакеты хранятся в папке node_modules.
• Файл package.json фиксирует, какие пакеты и версии нужны для проекта.
Принцип работы установки пакета:
Пример:
1. CLI проверяет локальный кэш (
2. Если нет — скачивает пакет из npm Registry.
3. Устанавливает пакет в
4. Добавляет запись о пакете в package.json и package-lock.json.
Разновидности установки:
Локально: для конкретного проекта
Глобально: доступно в системе для всех проектов
Основные файлы npm-проекта:
1.
2.
3.
Менеджер пакетов для 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 lodash1. 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/ — физическое место хранения всех пакетов.Краткие характеристики сетевых протоколов
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 является распределенной системой имен, состоящей из иерархически организованных серверов.
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 является распределенной системой имен, состоящей из иерархически организованных серверов.
Архитектура Клиент-Сервер: Технический разбор
Стек технологий и протоколы
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: Клиент преобразует домен (
• 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):
• Method: GET, POST, PUT, DELETE.
• Headers: Метаданные (cookies, auth, content-type).
• Body: Полезная нагрузка (payload).
Ответ (Server → Client):
• Status Code: Результат обработки (200, 404, 500).
• Headers: Информация о сервере, кэшировании, куки.
• Body: Данные или сообщение об ошибке.
Коды состояния HTTP (Status Codes)
• 2xx (Success):
-
-
-
• 3xx (Redirection):
-
-
• 4xx (Client Error):
-
-
-
-
• 5xx (Server Error):
-
-
-
Клиент-сервер — это распределенная структура приложения, где задачи разделены между поставщиком услуг (сервер) и потребителем (клиент). Взаимодействие строится на запросах и ответах через сеть.
Стек технологий и протоколы
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 — сервер перегружен.LOLCODE — это уникальный язык программирования, основанный на интернет-меме "LOLcats". Программы на LOLCODE выглядят как текст на "языке" LOLcats.
Пример простой программы на LOLCODE, которая выводит "Hello World!":
Пример простой программы на LOLCODE, которая выводит "Hello World!":
HAI 1.2CAN HAS STDIO?VISIBLE "HAI WORLD!"KTHXBYEHAI 1.2 — начало программы, указывающее версию языка.CAN HAS STDIO? — импорт стандартной библиотеки ввода-вывода.VISIBLE "HAI WORLD!" — вывод строки "HAI WORLD!" на экран.KTHXBYE — завершение программы.Текст на "языке" LOLcats обычно выглядит как забавные и искаженные фразы, часто сопровождаемые изображениями кошек.
I CAN HAS CHEEZBURGER?
OH HAI! U CAN HAS CHEEZBURGER!
Cтиль письма стал популярен благодаря интернет-мемам с изображениями кошек и смешными подписями.