es
Feedback
Computer Science

Computer Science

Ir al canal en Telegram

По всем вопросам: @altmainf Уважаемый менеджер: @altaiface

Mostrar más
7 916
Suscriptores
-124 horas
-87 días
-3230 días
Archivo de publicaciones
USB 3.0: Скорость передачи данных: • USB 3.0 обеспечивает гораздо более высокую скорость передачи данных по сравнению с USB 2.0. • Максимальная теоретическая скорость USB 3.0 составляет 5 Гбит/с, что в восемь раз быстрее, чем максимальная скорость USB 2.0 (480 Мбит/с). Совместимость: • USB 3.0 совместим с предыдущей версией (USB 2.0), что означает, что устройства USB 3.0 можно подключать к USB 2.0 портам, но в этом случае будет использоваться скорость USB 2.0. Энергопотребление: • USB 3.0 может предоставлять больше энергии для подключенных устройств, что полезно для зарядки и питания более мощных устройств. USB 2.0: Скорость передачи данных: • Максимальная скорость передачи данных USB 2.0 составляет 480 Мбит/с, что быстрее, чем предыдущие версии, но медленнее по сравнению с USB 3.0. Совместимость: • USB 2.0 совместим с предыдущими версиями, но не поддерживает высокие скорости передачи данных USB 3.0. Энергопотребление: • Общее энергопотребление USB 2.0 ограничено, что может быть недостаточным для более мощных устройств. USB 3.0 предоставляет значительное увеличение скорости передачи данных по сравнению с USB 2.0, что особенно важно при работе с большими файлами, например, при передаче видео или резервном копировании данных. Однако совместимость с более старыми портами USB 2.0 делает его удобным для использования с различными устройствами.

Если хочется заниматься наукой Поступай в магистратуру МФТИ при поддержке Т-Банка. Можешь совмещать учебу с работой в лаборат
Если хочется заниматься наукой Поступай в магистратуру МФТИ при поддержке Т-Банка. Можешь совмещать учебу с работой в лаборатории по направлениям AI и Computer Science. Что дает магистратура: — Работу над индустриальными задачами. — Результаты исследований могут стать основой публикаций и докладов на топовых конференциях. — Диплом МФТИ, возможность поступить в аспирантуру или продолжить карьеру в R&D или AI-центре Т-Банка. Магистратура очная и длится 2 года. Нагрузка — 52 часа в неделю: 30 часов — работа в научной лаборатории с официальным трудоустройством и зарплатой, 22 часа — лекции в университете. Успей подать заявку до 6 июля.

Не грузится? Понимаем. Бесплатный мессенджер для вашей компании - Битрикс24. Личные и групповые чаты, видеозвонки, каналы и н
Не грузится? Понимаем. Бесплатный мессенджер для вашей компании - Битрикс24. Личные и групповые чаты, видеозвонки, каналы и нейросеть. Всё привычно и удобно. Можно перенести рабочие чаты и файлы из Telegram в Битрикс24. Начните работать на бесплатном тарифе уже сейчас. Узнать больше #реклама 16+ bitrix24.ru О рекламодателе

BIOS и UEFI: в чём различие BIOS является микропрограммой, которая хранится на чипе материнской платы компьютера. При включении компьютера, прежде чем он начнёт загружать операционную систему из жесткого диска, загружается BIOS который выполняет тестирование оборудования компьютера. UEFI, который пришел на замену традиционного BIOS. Данный интерфейс прошивки поддерживает загрузочные разделы размером более 2 ТБ, более четырёх разделов на одном жестком диске, загружается быстрее и имеет более современные функции и возможности. При обычном использовании компьютера для пользователя не имеет значения BIOS на компьютере или UEFI. Оба интерфейса управляют низкоуровневыми функциями оборудования и запускаются во время старта компьютера, предназначены для корректной инициализации аппаратного обеспечения при включении системы. Обе имеют интерфейсы, с помощью которых можно изменить большое количество системных настроек.

Как устроена память в компьютере: Регистры, стек и куча Память в компьютере делится на несколько областей, каждая из которых выполняет свою роль при выполнении программы. Для низкоуровневого программиста важно понимать, как устроена эта память. • Регистры — это небольшие, но очень быстрые области памяти, расположенные прямо в процессоре. Они используются для хранения данных, которые активно обрабатываются в текущий момент. Регистры выполняют важнейшую роль в быстродействии программы. • Стек — это область памяти, используемая для хранения локальных переменных и информации о вызовах функций. Каждый раз, когда вызывается функция, информация о контексте этого вызова (например, параметры и адрес возврата) помещается в стек. • Куча — это область памяти, где происходят динамические выделения памяти во время работы программы (например, через операторы malloc или new в C/C++). Куча отличается тем, что память выделяется и освобождается вручную, что требует от программиста внимательности и аккуратности. • Данные — сюда попадают глобальные и статические переменные. Эти данные сохраняются на протяжении всей жизни программы.

В программировании термин "NaN" означает "Not a Number" и используется для представления числовых значений, которые не являются числами. Обычно они возникают при выполнении математических операций, которые не имеют определенного числового значения. Примеры ситуаций, когда значение становится NaN: • Деление на ноль: попытка деления числа на ноль приведет к NaN, так как математически невозможно разделить число на ноль. • Математические операции с бесконечностью: например, бесконечность плюс или минус бесконечность дают NaN, так как эти операции не имеют определенного числового значения. • Когда происходит попытка выполнить математические операции с типами данных, которые не могут быть преобразованы в числа. В различных языках программирования, NaN представлен как специальное значение, которое обычно можно проверить с помощью функций или операторов, чтобы обнаружить нечисловые значения в вычислениях и обработать их соответственно.

Что такое низкоуровневое программирование? Основы и отличия от высокоуровневых языков Низкоуровневое программирование — это подход к программированию, при котором программисты взаимодействуют с аппаратным обеспечением напрямую, используя языки, близкие к машинному коду. К таким языкам относятся ассемблер и языки C/C++ (в контексте работы с системными ресурсами). В отличие от высокоуровневых языков, таких как Python или JavaScript, где программисты работают с абстракциями и готовыми библиотеками, низкоуровневое программирование требует более глубокого понимания устройства компьютера. Ключевые особенности низкоуровневого программирования: • Память и процессор: программист контролирует использование памяти, регистры процессора и работу с системой. • Минимальная абстракция: необходимо заботиться о всех деталях, например, о том, как данные размещаются в памяти. • Скорость: код, написанный на низкоуровневых языках, часто быстрее, потому что он ближе к машинному коду и требует меньше системных ресурсов. Различия с высокоуровневыми языками: • Абстракция: В высокоуровневых языках задачи типа работы с памятью, файлами, сетями и графическим интерфейсом часто автоматизируются и скрываются от разработчика. • Простота: Высокоуровневые языки предоставляют большое количество инструментов и библиотек для решения задач, что ускоряет процесс разработки.

Машина Тьюринга и машина Поста - это два различных математических моделей для описания абстрактных вычислительных устройств. Оба этих понятия являются важными для изучения теории вычислимости и алгоритмов. Машина Тьюринга, названная в честь английского математика Алана Тьюринга, представляет собой устройство, состоящее из бесконечной ленты разделенной на ячейки, головки чтения/записи и контроллера. Каждая ячейка ленты может хранить символы, а головка может считывать и записывать символы на ленту. Контроллер управляет работой машины и определяет, какие символы считывать, записывать или выполнять действия над ними. Машина Тьюринга является универсальным модельным аппаратом, который позволяет моделировать вычисления и определять, какие задачи можно алгоритмически решать. Машина Поста, названная в честь американского математика Эмила Поста, также используется для моделирования вычислений. Машина Поста представляет собой устройство, состоящее из бесконечной ленты, головки чтения и состояний. В отличие от машины Тьюринга, машина Поста работает с простыми конфигурациями, называемыми позициями, и имеет ограничение на количество состояний. Каждая позиция на ленте может содержать символы из алфавита. В начале работы машина Поста находится в некотором начальном состоянии, и головка чтения выполняет последовательность инструкций, определенных для каждого состояния. Машина Поста также способна решать вычислительные задачи, но ее возможности ограничены в сравнении с машиной Тьюринга. Обе модели полезны для формализации и изучения вычислимости. Они позволяют анализировать и классифицировать вычислительные задачи по своей сложности, определять алгоритмическую разрешимость проблем и исследовать пределы вычислений.

Виртуализация — технология, которая позволяет создавать и использовать виртуальные версии ресурсов, таких как серверы, сети и рабочие станции. Это достигается с помощью ПО, известного как гипервизор. Гипервизор — это слой ПО, который позволяет запускать несколько операционных систем на одном физическом сервере как отдельные виртуальные машины (ВМ). Гипервизоры бывают двух типов: Гипервизор типа 1 (или "bare-metal"): Эти гипервизоры устанавливаются непосредственно на аппаратное обеспечение. Примеры включают VMware ESXi, Microsoft Hyper-V и Xen. Гипервизор типа 2 (или "hosted"): Эти гипервизоры работают на операционной системе хоста, как обычное приложение. Примеры включают VMware Workstation и Oracle VirtualBox.

Формальные языки и грамматики
Важные концепты в теории автоматов и теории формальных языков, которые изучают структуры, используемые для описания и анализа различных типов языков, включая языки программирования, естественные языки и другие формализованные системы.
Формальные языки: Множество строк (или слов), составленных из алфавита. Алфавит состоит из конечного набора символов, которые называются символами. Язык — это множество слов, построенных из этих символов. Пример: • Алфавит: Σ={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) Самые простые грамматики, где правила имеют ограниченную форму. Например, они могут быть описаны с помощью регулярных выражений.

HDD vs SSD Принцип работы HDD и SSD кардинально отличается. Классические HDD состоят из одного или нескольких магнитных дисков и считывающих головок. SSD, наоборот, состоит из большого количества отдельных чипов Flash-памяти, которые встроены в диск по тому же принципу, что и в USB-флешках. Так как у SSD нет механических частей, то, во-первых, это делает его прочнее, тише, но самое главное преимущество SSD в том, что они работают значительно быстрее классических жестких дисков. Благодаря этому ПК и ноутбуки с SSD запускаются примерно в два раза быстрее, чем с HDD, а файлы и программы открываются до четырех раз быстрее. Но говорить, что SSD во всем превосходят HDD, тоже неверно. HDD все еще гораздо дешевле SSD, а также жесткие диски предлагают гораздо больше места для хранения данных. Здесь возможны объемы и 10, и 20 Тбайт, в то время как потребительские SSD в большинстве своем пока ограничиваются 8 Тбайт.

Радиоволны — вид электромагнитных волн, которые переносят энергию через пространство без необходимости в физической среде.
Используются для передачи информации на большие расстояния, например, в радио- и телевизионных вещаниях, сотовой связи, навигационных системах и других технологиях.
Основы работы радиоволн Создание радиоволн: • Радиоволны создаются генератором электромагнитных колебаний, например, в радиопередатчике. Когда электрический ток проходит через антенну, он создает переменное магнитное и электрическое поле, которое распространяется наружу в виде радиоволн. Передача радиоволн: • Радиоволны распространяются в пространстве со скоростью света (примерно 300,000 км/с). Они могут проходить через атмосферу, отражаться от различных поверхностей и ионизированных слоев атмосферы (например, ионосферы), что позволяет им достигать удаленных точек на Земле. Прием радиоволн: • Когда радиоволны достигают антенны приемника, они создают в ней переменный электрический ток, аналогичный тому, что был создан в передающей антенне. Этот ток затем усиливается и обрабатывается для извлечения передаваемой информации, например, звука или изображения. Модуляция радиоволн: • Информация (например, аудио или данные) передается с помощью модуляции радиоволн. Существует два основных метода модуляции: - Амплитудная модуляция: изменение амплитуды волны в зависимости от передаваемого сигнала. - Частотная модуляция: изменение частоты волны в зависимости от сигнала. • Также существуют и другие методы модуляции, такие как фазовая модуляция (PM), цифровая модуляция (QAM, PSK) и другие. Частоты радиоволн: • Радиоволны охватывают широкий диапазон частот, от нескольких килогерц (КГц) до нескольких гигагерц (ГГц) и выше. Различные частоты используются для разных целей: - Низкие частоты (КГц и МГц) — для длинноволнового и средневолнового вещания. - Высокие частоты (МГц и ГГц) — для мобильной связи, спутниковых систем, Wi-Fi и микроволновых печей.

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тиль письма стал популярен благодаря интернет-мемам с изображениями кошек и смешными подписями.

Архитектура Клиент-Сервер: Технический разбор
Клиент-сервер — это распределенная структура приложения, где задачи разделены между поставщиком услуг (сервер) и потребителем (клиент). Взаимодействие строится на запросах и ответах через сеть.
Стек технологий и протоколы 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 — сервер перегружен.

📝 Курс от OTUS: «Администрирование PostgreSQL. Экспертный уровень» — продвинутое погружение в работу с базой данных PostgreS
📝 Курс от 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

Краткие характеристики сетевых протоколов 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 является распределенной системой имен, состоящей из иерархически организованных серверов.

Механизмы блокировок в PostgreSQL. Бесплатный урок курса «PostgreSQL DBA» Блокировки в PostgreSQL редко выглядят как «ошибка»
Механизмы блокировок в PostgreSQL. Бесплатный урок курса «PostgreSQL DBA» Блокировки в PostgreSQL редко выглядят как «ошибка». Обычно всё просто становится медленным: запросы зависают, транзакции живут слишком долго, а база начинает вести себя непредсказуемо. И пока вы не научитесь диагностировать блокировки и понимать, как они возникают, вы будете «тушить пожары» вместо управления системой. 📅 На открытом уроке 25 марта (ср) в 20:00: — Сделаем практический разбор механизмов блокировок в PostgreSQL: от базовых типов до диагностики проблем. — Разберём блокировки объектов, строк и блокировки в памяти и то, как они влияют на производительность. — Научимся находить конфликты и «узкие места» через системные представления, выявлять долгие транзакции и разбирать взаимоблокировки (deadlocks). — Отдельно — профилактика: как проектировать схему и транзакции так, чтобы снижать конфликты и повышать параллельную работу.
Урок не для тех, кто пишет «как получилось» и потом удивляется deadlock’ам, или хочет выучить одну команду и «закрыть тему блокировок навсегда».
👉 Записаться: https://otus.pw/9rba/ Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576

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/ — физическое место хранения всех пакетов.

QR-код представляет собой двухмерный матричный штрих-код, состоящий из черных и белых квадратных модулей, размещенных на белом фоне. Он содержит информацию в виде набора байтов, которая может быть расшифрована специальным сканером или мобильным устройством. QR-код состоит из следующих элементов: Поисковая позиция (англ. Finder pattern) - три квадрата в углах QR-кода, служат для автоматической коррекции, поиска и выравнивания кода. Калибровочные полосы (англ. Alignment pattern) - несколько квадратов, расположенных на определенном расстоянии друг от друга внутри QR-кода, необходимы для расчета размеров и положения символов. Синхронизационные строки (англ. Timing pattern) - вертикальные и горизонтальные полосы, определяющие размер и форму кода. Данные - байты информации, которую необходимо закодировать в QR-коде, которые представлены в бинарном или текстовом формате. Информационные области - области, заполняемые модулями, отображающими данные. Коррекционные биты - блоки данных, используемые для коррекции ошибок, которые возникают при считывании QR-кода. QR-код может содержать различные типы информации, включая текст, URL-адреса, контактные данные, номера телефонов и прочее. Количество информации, которое может быть закодировано в QR-коде, зависит от его размера и уровня коррекции ошибок.

PostgreSQL и секционирование: «разделяй и властвуй!». Бесплатный урок курса «PostgreSQL для администраторов баз данных и разр
PostgreSQL и секционирование: «разделяй и властвуй!». Бесплатный урок курса «PostgreSQL для администраторов баз данных и разработчиков» Большие таблицы в PostgreSQL сначала «просто растут», а потом внезапно начинают убивать всё вокруг: запросы тормозят, вакуум длится вечность, обслуживание превращается в боль, а любой релиз страшно трогать. Секционирование — один из немногих инструментов, который реально помогает вернуть управляемость и скорость, если применять его правильно. 📅 На открытом уроке 16 марта (пн) в 20:00: — Разберём, зачем вообще нужно секционирование и какие проблемы больших таблиц оно решает. — Пройдёмся по основным видам секционирования в PostgreSQL: по списку значений, по диапазону и по хэшу. — Отдельно разберём декларативный подход, как современный способ секционирования: синтаксис, создание и обслуживание секций, добавление и удаление, а также сравнение со старым методом через наследование. — В конце — лучшие практики и частые ошибки, из-за которых секционирование «не взлетает».
Урок не для тех, кто ищет одну универсальную схему «на все случаи», хочет «ускорить всё одним движением» и не готов менять модель данных и запросы под реальную нагрузку.
👉 Записаться: https://otus.pw/9ydp/ Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576