ReadAndRun

ReadAndRun

Пикабушник
101 рейтинг 3 подписчика 0 подписок 3 поста 0 в горячем
0

Как на самом деле работает интернет: разбор на пальцах и простых примерах

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

Вот как устроен этот процесс, если разложить его на простых примерах.

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

2. Как компьютер находит нужный адрес
Компьютеры не понимают букв, они общаются только цифрами. У каждого сервера в мире есть свой цифровой номер, который называется IP-адрес. Выглядит он примерно так: 192.168.1.1.

Чтобы нам не приходилось учить эти цифры наизусть, придумали систему DNS. Это как телефонная книга в мобилке. Когда вы вбиваете имя сайта, ваш браузер сначала шлет короткий запрос в эту книгу и спрашивает: какой цифровой номер у этого сайта? DNS-сервер присылает цифры, и только тогда ваш компьютер понимает, куда именно по проводам отправлять запрос.

3. Почему данные режутся на пакеты
Вы хотите открыть картинку или видео весом в пару мегабайт. Компьютер не может отправить такой файл одним куском. Если на линии случится хоть микроскопический сбой, весь файл придется пересылать заново, а сеть намертво затормозит для остальных людей.

Поэтому сервер режет картинку на тысячи мелких кусочков, которые называются пакетами. На каждый кусочек вешается виртуальная наклейка: адрес отправителя, адрес получателя и порядковый номер, например кусок номер 45 из 1000.

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

Если какой-то кабель между городами перегружен или оборван, маршрутизатор отправляет следующие пакеты в обход. В итоге куски вашей одной картинки могут лететь к вам абсолютно разными дорогами через разные страны и регионы.

5. Сборка на вашем устройстве
Из-за разных маршрутов пакеты прилетают в ваш телефон вперемешку. Браузер смотрит на их порядковые номера, расставляет все по местам и склеивает картинку обратно.

Если по дороге один кусочек потерялся в океане, телефон шлет серверу быстрый сигнал: я собрал все, кроме пятидесятого куска, дошли его. Сервер быстро отправляет только этот потерянный пакет, и картинка открывается. Все это занимает доли секунды.

На моей платформе которая дорабатывается сейчас открыты подробные базовые курсы по изучению главных языков программирования. Они полностью бесплатны, там нет унылых видеолекций и все написано вот таким же простым человеческим языком без заумной теории. Материал я выдаю порциями, но внутри каждого урока лежит огромный массив информации с детальным разбором. Вы читаете понятное объяснение синтаксиса и сразу пишете код в интерактивном редакторе.


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

Показать полностью
1

Как перестать спотыкаться о синтаксис и начать понимать код: написал интерактивный букварь по программированию для новичков

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

Я подумал что это отличный вызов и полностью переписал вводные языковые курсы. Теперь это интерактивный букварь, который объясняет программирование простыми словами и на жизненных примерах, буквально по полочкам раскладывая каждый символ. На платформе сейчас доступно больше 100 уроков под разные языки, и большая часть из них полностью бесплатна.

Вот как устроена эта система изнутри.

1. Разбор геометрии кода и знаков препинания
Самая частая проблема новичка это непонимание зачем нужны все эти символы. В новых курсах мы рассматриваем код под лупой. Мы объясняем что одиночный знак равно это не математическое равенство, а команда присваивания: взять то что справа, и положить в коробку, которая слева. Подробно разжевываем, зачем нужны круглые скобки, зачем нужны фигурные скобки и почему текстовые строки всегда берутся в кавычки, чтобы компьютер не перепутал их со встроенными командами. Для Python отдельно разбирается магия двоеточий и отступов.

2. Функции и циклы на метафорах
Вместо заумных определений из учебников мы используем понятные аналогии. Например, функция объясняется как обычный кухонный комбайн или рецепт пирога: на вход подаются сырые продукты, внутри по инструкции происходит магия, а команда возврата return выталкивает готовый результат наружу. Циклы подаются как конвейерная лента, которая крутится и обрабатывает элементы, пока не закончится товар. Никакой сложной математики на старте, только логика на пальцах.

3. Адаптивная система проверки знаний
Чтобы огромная теория не пролистывалась впустую, в конце каждой лекции я внедрил короткий тест по прочитанному материалу. Пользователь обязан ответить на вопросы перед тем, как идти дальше.
Но главная фишка в том, что если вы отвечаете неправильно, система блокирует встроенный редактор кода, подсвечивает ошибку красным и скроллит текст лекции вверх. Ровно к тому абзацу, где простыми словами объяснялось назначение этого знака или команды. Пока тест не будет пройден честно, перейти к практике не получится.

4. Мультиязычная песочница
После теории открывается встроенная среда разработки. Это полный аналог VS Code в браузере. Все решения пишутся с нуля в пустые шаблоны функций, где оставлены только подсказки в комментариях. благодаря WebAssembly код компилируется на устройстве пользователя, а в правой панели можно запускать графические интерфейсы и простейшие игры на Python, управляя ими.

Что планируется в ближайших обновлениях
Прямо сейчас я заканчиваю сборку нового соревновательного режима под названием Охота за багами. Он идеально подойдет как раз для тех, кто уже немного освоил синтаксис. Система будет давать игрокам готовые куски чужого кода внутри которых запрятана логическая или синтаксическая ошибка. Задача на скорость найти этот баг глазами и исправить его быстрее соперника, зарабатывая рейтинг и монеты.

Платформа будет полностью бесплатна и открыта для всех кто хочет быстро и безболезненно разобраться как устроен код.

Показать полностью
3

Надоело скучное IT-обучение и я написал свою соревновательную платформу с дуэлями по коду и защитой от нейросетей

Привет всем

Хочу поделиться своим проектом и рассказать как я в одиночку собирал платформу для тех кто хочет войти в IT с нуля или прокачать свои навыки до уровня уверенного инженера. Меня давно раздражает формат большинства современных онлайн-курсов. Обычно это бесконечные и нудные видеолекции на которых засыпаешь через десять минут и одинаковые домашние задания вроде калькуляторов. На выходе у всех получаются абсолютно одинаковые портфолио в которых нет реального понимания кода.

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

Если коротко то вот несколько главных штук которые я туда заложил.

1. Дуэли один на один на скорость
Вместо скучных тестов на сайте работают живые матчи. Система подбирает вам равного по рейтингу соперника и дает задачу. Нужно быстрее него написать рабочий код. Темы есть как для самых начинающих на простых языках так и для продвинутых программистов.

В процессе написания вы прямо на экране видите двухцветную шкалу прогресса тестов. Она обновляется в реальном времени. То есть вы пишете код и боковым зрением замечаете что полоса соперника заполняется быстрее вашей: два из пяти, три из пяти пройденных тестов. Это добавляет адреналина и заставляет шевелить мозгами быстрее. Рейтинг игроков считается по обычной шахматной формуле Elo.

2. Защита от читерства через нейросети
Сейчас главная проблема любых учебных сайтов это то что студенты тупо копируют задачи в ChatGPT или Claude. Из-за этого человек ничему не учится а просто жмет кнопки.

Чтобы решить эту проблему я написал модуль защиты. Техническое задание в интерфейсе выводится не текстом а рендерится на кастомном графическом холсте Canvas с зашумлением фона и микро-сдвигами пикселей. Плюс я полностью заблокировал контекстное меню. Скопировать ТЗ или скормить скриншот в современные нейросети не получится потому что алгоритмы распознавания текста ломают об эту картинку зубы и выдают кашу. Приходится отключать искусственный интеллект и думать своей головой что как раз и помогает быстро научиться программировать.

3. Мультиязычная IDE прямо в браузере на WebAssembly
Вся среда разработки это полноценный аналог VS Code работающий прямо в браузере. Туда зашита нормальная файловая система с папками, перетаскиванием файлов мышкой, палитрой команд и отменяемых действий через Ctrl+Z. Сделал и умное автосохранение: если случайно обновить вкладку браузера система за долю секунды поднимет из кэша весь проект и вернет курсор на то же место где вы сидели. Никакие ваши строчки кода никогда не пропадут.

Но самое крутое это правая панель живого просмотра. Благодаря компиляции в WebAssembly тяжелые языки запускаются без участия серверов прямо на компьютере пользователя. Например если создать файл Python то внутри iframe инициализируется движок Pyodide с поддержкой графической библиотеки Pygame Web. Можно написать код простейшей игры сделать паузу в полсекунды и в правом окне запустится холст в который можно полноценно играть с клавиатуры. Система также поддерживает компиляцию для JS, C++, Go и Rust.

За монеты которые зарабатываются в дуэлях в магазине и Батл-Пассе можно открыть анимированные элементы профиля. Например рамки которые автоматически перестраивают аватар из круга в квадрат, глитч-титулы в таблице лидеров или темы для редактора кода с эффектом старых фосфорных мониторов.

5. Автоматическое резюме
Все победы в матчах и пройденные сложные курсы (вроде написания своего Docker-рантайма или алгоритма консенсуса Raft) автоматически конвертируются в резюме по международным стандартам. Его можно скачать в PDF в один клик. В нем детально расписано что вы умеете делать что очень помогает при поиске первой работы в IT.

6.Что планируется в ближайших обновлениях
Прямо сейчас я заканчиваю работу над новым соревновательным режимом, который выйдет в скором времени. Это будет Охота за багами. Система будет подкидывать игрокам готовые куски чужого рабочего кода на любом языке программирования, внутри которых запрятана хитрая синтаксическая или логическая ошибка. Задача студента на скорость просканировать листинг глазами, обнаружить баг и исправить его быстрее соперника. Это режим для прокачки реального навыка код-ревью, который постоянно нужен на работе.

Проект полностью готов и доступен бесплатно. Кому интересно может подписаться и следить за проектом

Буду очень благодарен как новичкам так и практикующим разработчикам за критику архитектуры и юзабилити интерфейса


Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества