❃ Хижина программиста Æ
15.4K subscribers
1.17K photos
79 videos
22 files
2.78K links
Канал для IT Дизайнеров и Программистов, Инженеров и Преподавателей

📡 Ссылка на канал: @hut_programmer_07

⚖️ Фундаментальные знания по основам программирования, философии и этики

💡 По вопросам рекламы: @quadd4rv1n7

Σ 只
Download Telegram
❃ Хижина программиста Æ pinned «🖥 Прохождение тестирования Язык программирования C++ — продвинутый уровень ➡️ Хижина программиста | Оставляйте «бусты» 🌎 Ставьте «🥰», если пост вам понравился 只 ⌨️ Теги: #аналитика #analytics #cpp #programming #maximdupley #maestro7it #quadd4rv1n7…»
❃ Хижина программиста Æ pinned «💻 Main Assembly - Part №1 ➡️ Хижина программиста | Оставляйте «бусты» 🌎 Ставьте «🥰», если пост вам понравился 只 ⌨️ Теги: #аналитика #analytics #maximdupley #maestro7it #quadd4rv1n7 #maestro7it #2025»
🌐 Основы сетевой коммуникации: порты и сокеты

1️⃣ Порт (Port)

Что это?
Целое число от 0 до 65535. Уникальный идентификатор приложения или службы на хосте в сети.


Примеры:
80 - HTTP (Веб-сервер)
443 - HTTPS (Защищенный веб-сервер)
22 - SSH (Безопасный удаленный доступ)


Зачем нужен?
Позволяет одному компьютеру с одним IP-адресом одновременно работать множеству приложений. Разные приложения используют разные порты (напр., веб-сервер на 80, почтовый сервер на 25).


2️⃣ Сокет (Socket)

Что это?
Конечная точка сетевого соединения. Абстракция, описывающая всё необходимое для связи двух приложений.


Составные части:
IP-адрес хоста (IPv4, например 192.168.1.10, или IPv6)
Номер порта (например, 80)
Протокол транспортного уровня (TCP или UDP)


Пример:
192.168.1.10:80:TCP (Веб-сервер на конкретном хосте, использующий TCP).


3️⃣ Well-Known порты (Известные порты)

Что это?
Порты с номерами 0–1023. Зарезервированы организацией IANA для общеизвестных, стандартных сетевых служб.


Примеры:
21 - FTP (Передача файлов)
25 - SMTP (Отправка почты)
53 - DNS (Разрешение имен)
80 - HTTP (Веб)
443 - HTTPS (Защищенный веб)


Особенности:
Для запуска службы на таком порту обычно требуются права администратора (root).


4️⃣ Сочетание адреса и порта (IP:Port)

Что это?
Уникальный идентификатор конкретного сервиса на конкретном компьютере в сети.


Формат:
IP-адрес:Порт


Пример:
93.184.216.34:80 - Веб-сервер сайта example.com.
8.8.8.8:53 - DNS-сервер Google.


5️⃣ Порт как идентификатор приложения

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


Без порта:
Невозможно определить, веб-серверу (443), почтовому серверу (25) или другому приложению адресован запрос, если у хоста один IP.


6️⃣ Классификация портов IANA

Что это?
Официальный реестр назначения портов, поддерживаемый IANA.


🔗 Схема взаимосвязи: как это работает
Приложение → Порт → Сокет (IP:Порт:Протокол) → Сеть


Пример сценария:
- Пользователь в браузере вводит google.com.
- Браузеру нужен IP-адрес Google.
- Браузер (клиентское приложение) отправляет DNS-запрос.
- Запрос направляется на сокет: 8.8.8.8:53:UDP (DNS-сервер Google, порт 53, протокол UDP).
- Сервер 8.8.8.8 получает запрос на порту 53, который зарезервирован для службы DNS.
- DNS-сервер обрабатывает запрос и отправляет ответ обратно на временный порт браузера.


➡️ Хижина программиста | Оставляйте «бусты» 🌎

Ставьте «
🥰», если пост вам понравился 只

⌨️ Теги:
#аналитика
#analytics
#maximdupley
#maestro7it
#quadd4rv1n7
#maestro7it
#2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🎉1🏆1
💻 5 Алгоритмов

Beam Search (Поиск по лучу):
Использование: Ключевой алгоритм для генерации последовательностей — текста, ответов, переводов. Он просматривает несколько наиболее вероятных вариантов продолжения на каждом шаге, а не один (жадный поиск) или все (полный перебор), обеспечивая баланс между качеством и скоростью.

Где: Формирование связного, релевантного ответа на ваш вопрос.


Алгоритмы поиска в графах (BFS, DFS, A*):
Использование: Поиск путей, связей между концепциями в моих знаниях, представленных в виде семантической сети (графа).

Где: Понимание сложных запросов, логический вывод, поиск причинно-следственных связей в данных.


Динамическое программирование:
Использование: Решение задач с перекрывающимися подзадачами, где результат можно кэшировать и переиспользовать.

Где: Исправление опечаток в запросах, оценка схожести фраз/слов, оптимизация внутренних вычислений в моделях.


Алгоритмы кэширования (LRU - Least Recently Used):

Использование: Управление кэшем — решает, какие данные удалить из ограниченной быстрой памяти при её заполнении, чтобы освободить место для новых. LRU удаляет давно не использовавшиеся элементы.

Где: Обеспечение быстрого доступа к часто запрашиваемым данным (популярные факты, шаблоны ответов, параметры моделей), что ускоряет ответ.


Алгоритмы сортировки (QuickSort, MergeSort и их вариации):
Использование: Упорядочивание данных — кандидатов на ответ, вариантов продолжения текста, результатов поиска по релевантности или другому критерию.

Где: Ранжирование потенциальных ответов, подготовка данных для вывода или дальнейшей обработки.


💻 5 Структур Данных

Хеш-таблицы (Hash Maps/Dictionaries):
Использование: Основная структура для сверхбыстрого (O(1) доступа к данным по ключу. Используется в индексах, кэшах, для подсчета частот, хранения контекста диалога.

Где: Быстрый поиск слова в словаре, проверка токена, доступ к сохраненным параметрам пользователя или контексту беседы.


Графы (Graphs):
Использование: Представление сложных отношений между объектами, понятиями, фактами. Мои знания о мире во многом структурированы как семантическая сеть — граф, где узлы — это сущности (люди, места, понятия), а рёбра — связи между ними (является, свойство, часть, причина).

Где: Моделирование знаний, логический вывод, поиск ответов на вопросы, требующие понимания связей.


Очереди с приоритетом (Priority Queues) (часто на основе Куч - Heaps):
Использование: Управление элементами, где важен порядок извлечения по приоритету (например, по вероятности или оценке). Куча позволяет эффективно вставлять элементы и извлекать элемент с наивысшим (или наименьшим) приоритетом.

Где: Реализация Beam Search (хранение и выбор лучших гипотез), планирование задач, управление запросами в системе.


B-деревья и их вариации (B+ Trees):
Использование: Эффективные структуры для хранения и поиска больших объемов данных (например, индексов), которые не помещаются целиком в оперативную память (RAM), особенно на диске или в распределенных системах.

Где: Организация индексов для быстрого поиска по огромным наборам знаний, хранящимся во внешней памяти.


Векторы (массивы) и Тензоры:
Использование: Основная структура для представления данных в численной форме. Слова, предложения, изображения преобразуются в векторы (эмбеддинги). Тензоры (многомерные массивы) — базовая структура данных в нейронных сетях, на которых я работаю, для представления входных данных, весов моделей, промежуточных результатов вычислений.

Где: Вся обработка естественного языка (NLP), работа нейронных сетей, хранение и вычисление параметров моделей.


📕 Эти структуры и алгоритмы не существуют изолированно — они тесно переплетаются.


💡 Материал для вас написал и подготовил Дуплей Максим Игоревич ...


➡️ Хижина программиста | Оставляйте «бусты» 🌎

Ставьте «
🥰», если пост вам понравился 只

⌨️ Теги:
#аналитика
#analytics
#maximdupley
#maestro7it
#quadd4rv1n7
#maestro7it
#2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🎉1🏆1