METANIT.COM – Telegram
METANIT.COM
5.92K subscribers
1.68K photos
82 videos
9 files
1.06K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
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
Вкратце алгоритмы сортировки
💩19👍11❤‍🔥2🤣2👏1🤡1
5 ключевых аспектов проектировании API.

1 - Интерфейс
Проектирование API связано с определением входов и выходов API. Например, определением того, как операции CRUD могут быть представлены пользователю или клиенту.

2 - Парадигмы API
API могут быть построены в соответствии с различными парадигмами, каждая из которых имеет свой набор протоколов и стандартов. Некоторые варианты — REST, GraphQL и gRPC.

3 - Отношения в API
API часто необходимо устанавливать отношения между различными сущностями. Например, у пользователя может быть несколько заказов, связанных с его учетной записью. Конечные точки API должны отражать эти отношения для лучшего клиентского опыта.

4 - Версионирование
При изменении конечных точек API важны правильное управление версиями и поддержка обратной совместимости.

5 - Ограничение скорости
Ограничение скорости примегяется для контроля количества запросов пользователя к API в течение определенного времени. Это имеет решающее значение для поддержания надежности и доступности API.
#api
👍7🔥1👏1💩1🤡1🥴1
Как работает двухфакторная аутентификация
16👎1🔥1👏1👀1
Тем временем на рынке труда по статистике hh в мае в сфере ИТ продолжилось ухудшение. Количество вакансий уменьшилось на 28% год к году, а соотношение количества активных резюме к количеству активных вакансий достигло 12,8, что представляет крайне высокий уровень конкуренции соискателей за рабочие места
https://stats.hh.ru/?hhIndexProfArea=information_technology&vacanciesProfArea=information_technology&resumesProfArea=information_technology
😭21🤯8🫡7😢31
Заголовок 𝐔𝐃𝐏
Рассмотрим структуру заголовока 𝐔𝐃𝐏 (к предыдущей иллюстрации)
Заголовок UDP состоит из четырех основных частей, и его общая длина составляет всего 8 байт. Во-первых, в него входит исходный порт, который занимает первые 2 байта. Он сообщает, с какого порта поступают данные на стороне отправителя.

Сразу за ним идет порт назначения, также 2 байта, который показывает порт на принимающей стороне, куда направляются данные. Эти порты помогают устройствам выяснить, какое приложение должно обрабатывать входящие данные — например, почтовый адрес для приложения.

Далее идет поле длины, еще 2 байта, которое показывает общий размер сегмента UDP, включая заголовок и фактические данные, которые следуют за ним.

Наконец, есть 𝐂𝐡𝐞𝐜𝐤𝐬𝐮𝐦, также 2 байта, который используется для проверки ошибок в сегменте UDP и даже частях заголовка IP.

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

Простота UDP делает его невероятно быстрым, но поскольку он не гарантирует доставку или порядок, вам придется самостоятельно обрабатывать эти вещи в своем коде, если они имеют значение для вашего проекта.
6👍3👏1
Ради интереса сделал две примитивных игры под Android на Kotlin (хотя разрабатываю под Android болеее 12 лет, с играми вообще не сталкивался).
Если у пользователей сайта будет интерес, то, возможно, в будущем добавлю руководство по созданию подобных игр.

Змейка
RuStore: https://www.rustore.ru/catalog/app/com.metanit.snake
Google Play: https://play.google.com/store/apps/details?id=com.metanit.snake

Реверси
RuStore: https://www.rustore.ru/catalog/app/com.metanit.reversi
Google Play: https://play.google.com/store/apps/details?id=com.metanit.reversi

#kotlin #android #compose
🔥367❤‍🔥3😁1
Роудмап full stack - разработчика
🤯25👍9💩6😁5😐54🤷‍♂3😱2
В сети были протестированы последние версии СУБД Redis 8.0 и Valkey 8.1 (Valkey - свободный форк Redis, развиваемый сообществом). Во всех тестах Valkey обогнал оригинал, в основном благодаря внедрению нового механизма для многопоточной обработки в асинхронном режиме.
В тестовом окружении Valkey 8.1.1 удалось добиться производительности в 999.8 тысяч SET-запросов в сек, тогда как в Redis 8.0 показал уровень в 729.4 тысяч запросов в сек. Пропускная способность Valkey оказался выше Redis на 37% для операций SET и на 16% для GET. Valkey также продемонстрировал снижение задержек при обработке запросов на 30% для операций SET и на 60% для операций GET.
В режиме многопоточной обработки до 3 потоков Valkey и Redis показывают примерно равные результаты, но затем вперёд вырывается Valkey, причем значительно.
Таким образом, Valkey уже не просто альтернатива Redis, а уже более предпочтительная система, которая обгоняет оригинал
https://www.gomomento.com/blog/valkey-turns-one-how-the-community-fork-left-redis-in-the-dust/
👍20🔥7👏1
Сбер представил GigaIDE Pro — российскую корпоративную альтернативу JetBrains

Сбер представил новую версию интегрированной среды разработки GigaIDE Pro, которая заменяет зарубежные аналоги и подходит для использования в закрытых контурах компаний и on-premise-средах. Об этом рассказал старший вице-президент, руководитель блока «Технологическое развитие» Сбербанка Андрей Белевцев.

Продукт минимизирует зависимость от зарубежных платформ, обеспечивая устойчивость и безопасность ИТ-процессов. Среда разработки поддерживает удалённую работу с распределенными инфраструктурами, упрощает редактирование и синхронизацию файлов, а также предлагает глубокую интеграцию с российскими системами тестирования, такими как Test IT и Test Ops.

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

Кроме этого, в новой версии продукта стала удобнее навигация по коду для фреймворков Spring и Jakarta, а для Python-разработки добавлены инструменты быстрого создания проектов на Django и Flask. В корпоративную поставку также входит локальный маркетплейс с проверенными на безопасность открытыми плагинами, заменяющий зарубежный аналог.

Андрей Белевцев, старший вице-президент, руководитель блока «Технологическое развитие» Сбербанка: "По нашим оценкам, сегодня GigaIDE занимает 14% рынка IDE в России. Наша среда разработки не только устраняет юридические и операционные риски, связанные с использованием зарубежных решений, но и предоставляет бизнесу инструменты для ускорения разработки и повышения качества программного обеспечения. Интеграция с российскими системами тестирования и локальный маркетплейс плагинов позволят бизнесу выстраивать устойчивые и эффективные процессы разработки, минимизируя зависимость от внешних платформ."
https://www.sberbank.ru/ru/sberpress/tekhnologii/article?newsID=4ab72391-f902-4c2f-99ea-3d38f2d1a6d2&blockID=69b149cd-6db4-45aa-ade1-b6920d771b11&regionID=34&lang=ru&type=NEWS
🤡26👍13🤮32👎2🔥1
Глава Минцифры Максут Шадаев сообщил о планах законодательного закрепления требований к производителям устанавливать RuStore на все устройства. Госдума уже приняла в первом чтении соответствующий законопроект.
По его словам, магазин приложений RuStore уже установлен на более чем 80 миллионах устройств. В каталоге представлены десятки тысяч программ от российских и зарубежных разработчиков. За год число установок выросло в три раза.

Шадаев также сказал, что российские сервисы с искуственным интеллектом, которые разрабатывают в том числе «Яндекс» и «Сбер», сопоставимы по качеству с ChatGPT. По его словам, доля отечественных ИИ-приложений в России по количеству пользователей составляет 95%.

Кроме того, Шадаев представил главе государства отчет о ходе создания государственного мессенджера. Да, в России будет собственный национальный менеджер - Max, разрабатываемый командой VK
Max — это аналог китайского WeChat. Сейчас для пользователей доступна бета-версия приложения, куда включены сообщения, звонки и конструктор чат-ботов и мини-приложений.

Особое внимание Шадаев уделил ситуации с YouTube. Согласно последним данным, две трети российского трафика YouTube перешли на отечественные платформы VK Видео и Rutube, заявил министр.

https://www.kommersant.ru/doc/7776575
https://www.kommersant.ru/doc/7776595
🤮37🤡24👍4💩2😐1
Запись экрана на Python #python
👏17👨‍💻3👍2