METANIT.COM – Telegram
METANIT.COM
5.92K subscribers
1.68K photos
82 videos
9 files
1.06K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Минцифры планирует в ближайшие полгода определиться с единой политикой использования VPN-сервисов в России, сообщил руководитель министерства Максут Шадаев.

"Я думаю, что в ближайшие полгода мы определимся с контурами политики в этой части. Доля трафика VPN сейчас увеличивается. При этом понятно, что с недружественными VPN, которые не выполняют требования российского законодательства, Роскомнадзор борется. При этом зачастую попадают, так сказать, в замес и корпоративные VPN, которые нужны (компаниям - ИФ)", - сказал он

"Мы сейчас будем вырабатывать четкую политику в этой части. Потому что настало время договориться о единых правилах по VPN", - добавил министр.

Глава Минцифры пообещал поделиться конкретными деталями "ближе к осени".
https://www.interfax.ru/russia/1028468
🖕26🤡15😁4🤔32💊2🤮1💯1
20 структур, которые являются основой различных систем, обеспечивают работу поисковых систем, хранилищ временных рядов, блокчейна и многого другого.

1. Структуры с индексаторами (Indexing Structures)
Hash Index, B-Tree, Skiplist, Bitmap Index, Trie
Это структуры, к которым можно обратиться для быстрого доступа к данным. Будь то быстрый поиск по ключам и значениям в памяти или сортированные обходы на диске, эти структуры формируют ядро ​​производительности запросов в большинстве баз данных.

2. Поиск и сопоставление с образцом
Inverted Index (Инвертированный индекс), Suffix Tree (суффиксное дерево), Segment Tree (сегментное дерево), R-Tree(R-дерево)
Предназначены для глубокого поиска — от документов и строк до пространственных запросов, поддерживают полнотекстовый поиск, многомерные поиски и аналитику в реальном времени.

3. Хранилище, оптимизированное для записи
LSM-дерево, SSTable, фильтр Блума (Bloom Filter)
Базы данных с высоким уровнем загрузки, такие как Cassandra и RocksDB, используют их для оптимизации скорости записи, управления сжатием данных и быстрым приблизительным поиском с минимальными затратами памяти.

4. Пространственная и диапазонная индексация (Spatial & Range Indexing)
Quad Tree (Дерево квадрантов), Z-order Curve (кривая Z-порядка), Segment Tree (сегментное дерево)
Используются в таких приложениях, как карты, игровые движки и системы временных рядов, помогают эффективно разделять и получать доступ к многомерным или последовательным данным.

5. Расширенные варианты использования
Дерево Меркла (Merkle Tree), Suffix Tree (суффиксное дерево), фильтр Блума
От проверки транзакций в блокчейне до биоинформатики и дедупликации в распределенных системах — эти структуры данных созданы для обеспечения надежности и целостности в любом масштабе.
👍111🔥1👏1
(Иллюстрация к предыдущему посту - 20 ключевых структур для использования в базах данных)
❤‍🔥6🔥4👏1
В руководство по Android на Kotlin добавлены материалы по работе с классами Activity в Jetpack Compose

Activity и жизненный цикл приложения
https://metanit.com/kotlin/jetpack/19.1.php

Управление жизненным циклом Activity в компонентах Compose
https://metanit.com/kotlin/jetpack/19.2.php

Введение в Intent. Запуск Activity
https://metanit.com/kotlin/jetpack/19.3.php

Передача данных между Activity
https://metanit.com/kotlin/jetpack/19.4.php

Файл манифеста AndroidManifest.xml
https://metanit.com/kotlin/jetpack/1.8.php

#android #kotlin #compose
🔥16👍32
Порядок выполнения SQL-запросов #sql #database
👍19🔥6👏1
Обновлено руководство по фреймворку Angular до версии Angular 20
https://metanit.com/web/angular2/
#angular
👍13🥰3❤‍🔥2👌21🔥1
Типы индексов базы данных

Индекс базы данных обычно представляет пару ключ-значение, где ключ используется для поиска данных вместо соответствующих индексированных столбцов, а значение — указатель на соответствующую строку в таблице.
Большинству баз данных требуется некоторая форма индексации, чтобы соответствовать показателям производительности. Чтобы получить максимальную отдачу от базы данных, следует использовать правильный тип индекса.

𝗕-𝘁𝗿𝗲𝗲 (B-дерево) — одна из наиболее часто используемых структур индексации, в которой ключи иерархически сортируются. При поиске данных дерево просматривается до конечного узла, который содержит соответствующий ключ и указатель на соответствующие строки в таблице. B-дерево чаще всего используется из-за его эффективности при хранении и поиске по упорядоченным данным. Их сбалансированная структура означает, что ко всем ключам можно получить доступ за одинаковое количество шагов, что обеспечивает постоянную производительность.

𝗛𝗮𝘀𝗵 𝗶𝗻𝗱𝗲𝘅𝗲𝘀 (хеш-индексы) лучше всего использовать при поиске точного соответствия значений. Ключевым компонентом хэш-индекса является хэш-функция. При поиске определенного значения искомое значение передается через хэш-функцию, которая возвращает хэш-значение. Это хэш-значение сообщает базе данных, где в хэш-таблице находятся ключ и указатели.

𝗕𝗶𝘁𝗺𝗮𝗽 𝗶𝗻𝗱𝗲𝘅𝗶𝗻𝗴 (индексы на основе битовых карт) используется для столбцов с несколькими уникальными значениями. Каждое битовое изображение представляет уникальное значение. Битовая карта указывает на наличие или отсутствие значения в наборе данных с помощью 1 и 0. Для существующих значений позиция 1 в битовой карте показывает местоположение строки в таблице. Индексы битовой карты очень эффективны при обработке сложных запросов, в которых используется несколько столбцов.
При индексировании таблицы обязательно тщательно выбирайте столбцы для индексации на основе наиболее часто используемых столбцов в предложениях WHERE.

𝗰𝗼𝗺𝗽𝗼𝘀𝗶𝘁𝗲 𝗶𝗻𝗱𝗲𝘅 (составной индекс) можно использовать, когда несколько столбцов часто используются вместе в предложении WHERE. С составным индексом комбинация двух или более столбцов используется для создания объединенного ключа. Затем ключи сохраняются на основе стратегии индекса, например, указанных выше параметров.
👍83👏1
(Иллюстрация к предыдущему посту - Типы индексов базы данных)
5🥰1👏1
Как искать в Google с помощью Python #python
23🍌13🔥7👎6
Все способы центрирования блоков div в CSS
12👍7🔥3👏1
Как использовать rest-оператор в JavaScript наглядно #javanoscript #js
Вкратце про свой опыт использования ИИ. Честно говоря, у меня действительно разочарование, но не только от вчерашнего контрпродуктивного общения с Гигачатом, а вообще из-за развития ИИ в целом. Не думаю, что ИИ когда-нибудь сможет заменить даже разработчика уровня Junior
🎉35🤡13👍11🤨7🤔5🤷‍♂3👨‍💻3🔥2😁1🐳1🦄1
Алгоритмическая сложность 10 наиболее распространенных ML-алгоритмов
🔥15👍3👏2🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядное видео о том, как исходный код компилируется в исполняемый файл
❤‍🔥11👾6👍4
Структура пакета TCP/IP вкратце
🔥172👏1💩1🤡1🥴1
Объяснение структуры пакета TCP/IP к предыдущему рисунку

Заголовок IP (IPv4) и заголовок TCP взаимодействуют, обеспечивая надежную доставку данных по назначению.

Начиная с заголовка IPv4, начального сегмента пакета, он охватывает ширину 32 бита, при этом каждая строка отображает 32-битный сегмент. Ключевые поля включают версию (установленную на 4 для IPv4), длину (указывающую размер заголовка) и тип обслуживания (для приоритизации пакетов).

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

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

Переходя к заголовку TCP после заголовка IP, TCP фокусируется на обеспечении точной и последовательной доставки данных. Поля исходного порта и порта назначения (по 16 бит каждое) идентифицируют приложения, отправляющие и получающие данные, аналогично порту 80 для HTTP.

Порядковый номер контролирует порядок байтов данных, номер подтверждения проверяет полученные данные, а зарезервированные биты вместе с флагами TCP (например, SYN, FIN) управляют инициированием/завершением соединения и передачей данных.

Размер окна регулирует объем передачи данных до ожидания подтверждения, контрольная сумма защищает заголовок и целостность данных, а Urgent Pointer отдает приоритет критически важным данным. Параметры TCP, схожие с параметрами IP, вводят дополнительные конфигурации при необходимости.

Наконец, раздел «Данные» завершает процесс, охватывая фактически передаваемый контент, такой как веб-страницы или электронные письма. Многоуровневый подход TCP/IP обеспечивает эффективную доставку данных: IP направляет пакеты на правильное устройство, в то время как TCP гарантирует точную передачу контента.
#tcp
🔥11❤‍🔥1👏1💩1🤡1🥴1
Вкратце о заголовке TCP
👍8🔥3❤‍🔥1💩1🤡1🥱1
В дополнение к предыдущему посту о структуре пакета TCP рассмотрим его заголовок.
Длина заголовка составляет минимум 20 байт, но может увеличиваться при добавлении опций, и каждая его часть выполняет определенную задачу по поддержанию бесперебойного и безошибочного соединения.

Первые два поля — это 𝐒𝐨𝐮𝐫𝐜𝐞 𝐏𝐨𝐫𝐭 и 𝐃𝐞𝐬𝐭𝐢𝐧𝐚𝐭𝐢𝐨𝐧 𝐏𝐨𝐫𝐭 (Исходный и целевой порты), каждое длиной 2 байта, которые идентифицируют отправляющее и принимающее приложения — например, порт 80 для веб-трафика.

Затем идут 𝐒𝐞𝐪𝐮𝐞𝐧𝐜𝐞 𝐍𝐮𝐦𝐛𝐞𝐫 и 𝐀𝐜𝐤𝐧𝐨𝐰𝐥𝐞𝐝𝐠𝐦𝐞𝐧𝐭 𝐍𝐮𝐦𝐛𝐞𝐫, оба по 4 байта каждое.
Они помогают отслеживать порядок пакетов данных и подтверждать, что было получено, что очень важно для того, чтобы ничего не потерялось и не перемешалось.

Поле Offset, которое составляет 4 бита, сообщает нам, какова длина заголовка в 32-битных словах (умножьте на 4 для байтов), а зарезервированные биты просто предназначены для будущего использования.

Флаги TCP, такие как 𝘚𝘠𝘕 , 𝘈𝘊𝘒 , 𝘰𝘳 𝘍𝘐𝘕 — это 6 бит, которые управляют состоянием соединения, например, запуском или закрытием. Также есть 𝐖𝐢𝐧𝐝𝐨𝐰 (𝟐 байта) для управления потоком, 𝐂𝐡𝐞𝐜𝐤𝐬𝐮𝐦 (𝟐 байта) для обнаружения ошибок и 𝐔𝐫𝐠𝐞𝐧𝐭 𝐏𝐨𝐢𝐧𝐭𝐞𝐫 ( 𝟐 байта) для приоритетных данных. ⁣

Также есть несколько дополнительных полей, например TCP Options, которые могут различаться по длине. К ним относятся такие вещи, как Maximum Segment Size или Timestamps, которые помогают точно настроить соединение для лучшей производительности.

Раздел флагов на изображении содержит биты, такие как CWR и ECE для управления перегрузкой, как объяснено в 𝐑𝐅𝐂 𝟑𝟏𝟔𝟖 , и другие, такие как RST или PSH для управления состоянием соединения.

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

Все это вместе делает протокол TCP надежным для таких вещей, как просмотр веб-страниц или передача файлов.
👍5🔥42💩1🤡1🥴1
Минцифры открыло доступ к системе сертификации IT‑специалистов на «Госуслугах».

Теперь все желающие могут бесплатно, добровольно и вне независимости от уровня образования подтвердить свои ИТ-компетенции, пройдя тестирование на специальной платформе.

Сертификат Минцифры позволит работодателям точнее оценивать уровень специалистов, а соискателям даст дополнительное преимущество при трудоустройстве.

Какие навыки можно подтвердить
В этом году на платформе планируется разместить материалы по 21 ИТ-компетенции.

Сейчас можно пройти тесты
по 5 языкам программирования — Python, Java, SQL, C#, PHP
и 12 теоретическим направлениям — HTML, ООП, PostgreSQL, «Функциональное тестирование», «Регресионное тестирование», Git, API, CSS, Docker, «Алгоритмы и структуры данных», JavaScript, Linux.

В течение года будут добавлены ещё 2 языка программирования — C++ и Go, а также 2 теоретических направления — «Математическая статистика» и «Машинное обучение».

Как получить сертификат
На странице «Национальная система подтверждения ИТ-компетенций» на Госуслугах выберите навык, перейдите на платформу и пройдите оценку.

Специалист, успешно прошедший испытание, получит сертификат Минцифры. Документ будет доступен в течение года в личном кабинете на Госуслугах в разделе «Образование».

https://www.gosuslugi.ru/itskills
🔥20🤔7👍3🤬2💩1🤡1
«Яндекс» внедрит в голосового помощника «Алису» в своём браузере навыки ИИ-агента. Компания планирует сделать новый функционал доступным в бета-версии браузера летом, рассказал представитель «Яндекса».
AI-ассистент «Алиса» сможет не только искать информацию и анализировать её, но и взаимодействовать с сайтами. Например, если пользователь попросит забронировать визит к специалисту или столик в ресторане, цифровой помощник найдёт форму на сайте заведения, заполнит её и отправит запрос. ИИ-агенты уже внедрены в сервисах «Еда» и «Маркет», что ускорило решение вопросов клиентов на 10-15%, сообщил представитель «Яндекса».
https://www.rbc.ru/technology_and_media/02/06/2025/683d49509a7947da350e267f
👎8👍3🤡32💩2