Интерактивный визуализатор того, как GPT генерирует текст — прямо в браузере
Карпати недавно опубликовал microgpt — полный GPT в 200 строках Python без зависимостей. Один разработчик сделал из этого обучающий сайт: открываете страницу, листаете — и видите пошагово, как нейросеть генерирует имена.Никакой установки, всё работает в браузере. Если хотите понять, что происходит внутри трансформера, но академические статьи пока кажутся тяжёлыми — хорошая точка входа.
Вам больше заходят такие интерактивные визуализаторы или лучше статьи и видео?
#ии #python
@prog_point (теперь ещё в VK и Max)
Карпати недавно опубликовал microgpt — полный GPT в 200 строках Python без зависимостей. Один разработчик сделал из этого обучающий сайт: открываете страницу, листаете — и видите пошагово, как нейросеть генерирует имена.Никакой установки, всё работает в браузере. Если хотите понять, что происходит внутри трансформера, но академические статьи пока кажутся тяжёлыми — хорошая точка входа.
Вам больше заходят такие интерактивные визуализаторы или лучше статьи и видео?
#ии #python
@prog_point (теперь ещё в VK и Max)
✍3
Как джуниору доказать, что в него нужно вкладываться
В комьюнити вот уже который год живет стандартная присказка: «Джунов больше не берут». Да и вы сами замечаете, что на ваше резюме с уникальными сопроводительными письмами тоже никто не отвечает. Получается, в ИТ путь закрыт?
На самом деле, нет. Компании продолжают нанимать новичков, платить им, тратить время на их обучение. Только делают они это осторожно, потому что боятся, что:
— вы накрутите опыт и сольетесь за полгода,
— из-за этого они потеряют время и деньги на ваш и будущий наём.
Поэтому задача джунов трансформируется: теперь нужно доказать, что вы стоите инвестиций. Как это делать, читайте в статье на сайте Тпрогер.
Один из важных и непростых инсайдов — сразу на добротную зарплату претендовать не получится. Нужно будет принять, что первый год придется работать за минимальную сумму, которая покрывает ваши базовые потребности. Зато дальше — больше. Но об этом в материале.
@prog_point (теперь ещё в VK и Max)
В комьюнити вот уже который год живет стандартная присказка: «Джунов больше не берут». Да и вы сами замечаете, что на ваше резюме с уникальными сопроводительными письмами тоже никто не отвечает. Получается, в ИТ путь закрыт?
На самом деле, нет. Компании продолжают нанимать новичков, платить им, тратить время на их обучение. Только делают они это осторожно, потому что боятся, что:
— вы накрутите опыт и сольетесь за полгода,
— из-за этого они потеряют время и деньги на ваш и будущий наём.
Поэтому задача джунов трансформируется: теперь нужно доказать, что вы стоите инвестиций. Как это делать, читайте в статье на сайте Тпрогер.
Один из важных и непростых инсайдов — сразу на добротную зарплату претендовать не получится. Нужно будет принять, что первый год придется работать за минимальную сумму, которая покрывает ваши базовые потребности. Зато дальше — больше. Но об этом в материале.
@prog_point (теперь ещё в VK и Max)
❤1
Как протестировать доступность сайта без единого инструмента — просто клавиатурой
Автоматические анализаторы вроде Lighthouse находят часть проблем с доступностью, но не могут воспроизвести реальный опыт пользователя, который не пользуется мышью. А для этого достаточно пяти клавиш:
Подробнее можно прочитать в статье.
Попробуйте прямо сейчас: уберите мышь и пройдите по любому своему проекту только клавиатурой. Далеко уйдёте?
@prog_point (теперь ещё в VK и Max)
Автоматические анализаторы вроде Lighthouse находят часть проблем с доступностью, но не могут воспроизвести реальный опыт пользователя, который не пользуется мышью. А для этого достаточно пяти клавиш:
Tab — переходит вперёд по интерактивным элементам (ссылки, кнопки, поля, чекбоксы). Три вещи, которые нужно проверить: фокус переходит к следующему элементу, вокруг него виден индикатор фокуса, порядок переходов логичный сверху вниз.Shift + Tab — движение назад. Важно убедиться, что обратный порядок тоже логичный.Enter — активирует элемент: переходит по ссылке или отправляет форму.Пробел — меняет состояние на текущем экране: ставит или снимает галочку с чекбокса. Чекбоксы и радиокнопки должны объявлять своё текущее состояние (включено / выключено) для скринридеров.Стрелки — читают страницу построчно, включая alt-текст изображений. В отличие от Tab, который перепрыгивает текст между элементами, стрелки позволяют пройти через весь контент.Подробнее можно прочитать в статье.
Попробуйте прямо сейчас: уберите мышь и пройдите по любому своему проекту только клавиатурой. Далеко уйдёте?
@prog_point (теперь ещё в VK и Max)
❤2
Расширения, которые вы ставите не глядя, — это ваша поверхность атаки
Про безопасность разработчики думают в терминах продакшена: секреты, CVE, CI. А редактор на рабочей машине обвешивают плагинами по первой ссылке в маркетплейсе — и зря.
Свежий пример — кампания GlassWorm. Фейковый WakaTime на Open VSX при активации запускал нативный бинарник, который расползался по всем IDE на ноуте и воровал пароли с токенами. Кампания шла с марта 2025-го.
Полезная привычка, которую стоит прокачать как навык:
— смотреть на издателя и число установок, не только на название;
— раз в пару месяцев чистить список расширений;
— хранить токены в менеджере секретов, а не в
— после таких новостей идти ротировать токены GitHub и npm, а не надеяться.
Гигиена инструментов — такой же профессиональный навык, как умение читать стектрейс.
@prog_point (теперь ещё в VK и Max)
Про безопасность разработчики думают в терминах продакшена: секреты, CVE, CI. А редактор на рабочей машине обвешивают плагинами по первой ссылке в маркетплейсе — и зря.
Свежий пример — кампания GlassWorm. Фейковый WakaTime на Open VSX при активации запускал нативный бинарник, который расползался по всем IDE на ноуте и воровал пароли с токенами. Кампания шла с марта 2025-го.
Полезная привычка, которую стоит прокачать как навык:
— смотреть на издателя и число установок, не только на название;
— раз в пару месяцев чистить список расширений;
— хранить токены в менеджере секретов, а не в
.env;— после таких новостей идти ротировать токены GitHub и npm, а не надеяться.
Гигиена инструментов — такой же профессиональный навык, как умение читать стектрейс.
@prog_point (теперь ещё в VK и Max)
🆒1
От advisory до боевого эксплойта — 9 часов 41 минута. И это уже норма
В свежей истории с уязвимостью Python-блокнота Marimo любопытна не сама дыра, а тайминг. Advisory опубликовали без публичного PoC — просто описание. Через 9 часов 41 минуту ханипот Sysdig поймал первую реальную атаку с рабочим эксплойтом. До этого по тому же сценарию прошлись по Langflow (20 часов) и Flowise.
Вывод для любого разработчика, не только для безопасников: уметь быстро читать advisory и катить патчи — это базовый навык, а не узкая специализация. Атакующие автоматизируют разбор changelog и CVE быстрее, чем команды успевают собраться на планёрку.
Что стоит завести в привычку: подписка на GitHub-релизы критичных зависимостей, понимание своей поверхности атаки, привычка не тянуть паузу между «вышел фикс» и «мы его накатили». Разбор инцидента — на Tproger.
@prog_point (теперь ещё в VK и Max)
В свежей истории с уязвимостью Python-блокнота Marimo любопытна не сама дыра, а тайминг. Advisory опубликовали без публичного PoC — просто описание. Через 9 часов 41 минуту ханипот Sysdig поймал первую реальную атаку с рабочим эксплойтом. До этого по тому же сценарию прошлись по Langflow (20 часов) и Flowise.
Вывод для любого разработчика, не только для безопасников: уметь быстро читать advisory и катить патчи — это базовый навык, а не узкая специализация. Атакующие автоматизируют разбор changelog и CVE быстрее, чем команды успевают собраться на планёрку.
Что стоит завести в привычку: подписка на GitHub-релизы критичных зависимостей, понимание своей поверхности атаки, привычка не тянуть паузу между «вышел фикс» и «мы его накатили». Разбор инцидента — на Tproger.
@prog_point (теперь ещё в VK и Max)
🆒1
Forwarded from Типичный программист
jj — CLI поверх Git, где конфликты решаются автоматически, а любую операцию можно откатить
Представьте Git без staging area, где rebase не останавливается на конфликтах, а любую ошибку можно отменить одной командой. Это не фантазия — это jj, CLI для Jujutsu, который работает поверх вашего .git/ и не требует от коллег ничего менять.
Ключевые отличия: рабочая копия — это коммит (любое изменение файла формирует новую версию с тем же change ID). Конфликты хранятся в истории как часть коммита, а не как маркеры в файле — rebase продолжается, потомки перестраиваются автоматически. И главное:
Стив Клабник (автор «The Rust Programming Language») написал учебник по jj — с объяснением концепций и тем, чем они отличаются от Git.
@tproger
Читайте также в VK, Max и Дзен
Представьте Git без staging area, где rebase не останавливается на конфликтах, а любую ошибку можно отменить одной командой. Это не фантазия — это jj, CLI для Jujutsu, который работает поверх вашего .git/ и не требует от коллег ничего менять.
Ключевые отличия: рабочая копия — это коммит (любое изменение файла формирует новую версию с тем же change ID). Конфликты хранятся в истории как часть коммита, а не как маркеры в файле — rebase продолжается, потомки перестраиваются автоматически. И главное:
jj undo откатывает любую операцию. Потерять работу в jj сложнее, чем в Git.Стив Клабник (автор «The Rust Programming Language») написал учебник по jj — с объяснением концепций и тем, чем они отличаются от Git.
@tproger
Читайте также в VK, Max и Дзен
🏆2😱1
Забыли файл на домашнем компьютере? Включите его по сети — без похода к кнопке питания
Wake-on-LAN — протокол, который будит выключенный компьютер одной командой через локальную сеть. Сетевая карта с включённым WOL прослушивает широковещательный трафик даже когда машина выключена. Получив специальный Magic Packet с вашим MAC-адресом, она посылает сигнал на BIOS — и система загружается.
Удобно для удалённого доступа к домашней машине, запуска ночных обновлений на парке серверов или пробуждения домашнего NAS-хранилища без физического контакта. Главное — включить WOL в BIOS (обычно называется Wake-on-LAN или Power On by PCI-E) и активировать в ОС для нужного адаптера. На Linux это
В статье — разбор протокола, настройка на Windows/Linux/macOS и написание собственной утилиты на Go с нуля. Весь код с комментариями — можно собрать за вечер и будить машины из любой точки сети.
@prog_point (теперь ещё в VK и Max)
Wake-on-LAN — протокол, который будит выключенный компьютер одной командой через локальную сеть. Сетевая карта с включённым WOL прослушивает широковещательный трафик даже когда машина выключена. Получив специальный Magic Packet с вашим MAC-адресом, она посылает сигнал на BIOS — и система загружается.
Удобно для удалённого доступа к домашней машине, запуска ночных обновлений на парке серверов или пробуждения домашнего NAS-хранилища без физического контакта. Главное — включить WOL в BIOS (обычно называется Wake-on-LAN или Power On by PCI-E) и активировать в ОС для нужного адаптера. На Linux это
ethtool -s eth0 wol g.В статье — разбор протокола, настройка на Windows/Linux/macOS и написание собственной утилиты на Go с нуля. Весь код с комментариями — можно собрать за вечер и будить машины из любой точки сети.
@prog_point (теперь ещё в VK и Max)
❤🔥5
Почему ваш индекс в Postgres не работает — и как это исправить
Вы добавили индекс на колонку, но запрос всё равно тормозит? Скорее всего, вы столкнулись с одной из классических ловушек.
Первая: вы обернули колонку в функцию.
Вторая: порядок колонок в композитном индексе. Индекс
Третья: вы не проверили план запроса.
Джон Чартер показывает на примерах, как работают частичные индексы с
@prog_point (теперь ещё в VK и Max)
Вы добавили индекс на колонку, но запрос всё равно тормозит? Скорее всего, вы столкнулись с одной из классических ловушек.
Первая: вы обернули колонку в функцию.
WHERE lower(name) = 'pikachu' не использует индекс на name — Postgres видит функцию и идёт читать всю таблицу. Решение — функциональный индекс на lower(name).Вторая: порядок колонок в композитном индексе. Индекс
(type_1, type_2) работает для запросов на type_1 и на обе колонки вместе, но бесполезен для запросов только на type_2.Третья: вы не проверили план запроса.
EXPLAIN ANALYZE показывает, какой индекс реально использовался и сколько времени ушло.Джон Чартер показывает на примерах, как работают частичные индексы с
WHERE и покрывающие с INCLUDE. Без EXPLAIN вы просто гадаете — а база данных не любит угадывать за вас.@prog_point (теперь ещё в VK и Max)
❤1🆒1
Формы в Angular всегда были той ещё головной болью — кажется, это начинает меняться
В Angular 21 появились Signal Forms — экспериментальная альтернатива привычным реактивным формам. Главная идея: форма и данные синхронизируются сами, без ручного перекладывания значений туда-обратно.
Грубо говоря, вместо вот этого:
Теперь просто:
Форма сама следит за состоянием. Меньше кода, лучше типизация, встроенные debounce,
Пока это экспериментальный API и может измениться, но уже сейчас разница с реактивными формами ощутимая. В статье — подробный разбор с примерами кода для каждой возможности.
#javascript
@prog_point (теперь ещё в VK и Max)
В Angular 21 появились Signal Forms — экспериментальная альтернатива привычным реактивным формам. Главная идея: форма и данные синхронизируются сами, без ручного перекладывания значений туда-обратно.
Грубо говоря, вместо вот этого:
ngOnChanges() {
this.loginForm.patchValue({ ...this.login });
}Теперь просто:
loginForm = form(this.login);
Форма сама следит за состоянием. Меньше кода, лучше типизация, встроенные debounce,
hidden, disabled, readonly и валидация — синхронная и асинхронная.Пока это экспериментальный API и может измениться, но уже сейчас разница с реактивными формами ощутимая. В статье — подробный разбор с примерами кода для каждой возможности.
#javascript
@prog_point (теперь ещё в VK и Max)
❤🔥2
Stanza: 15-минутные уроки программирования прямо в VS Code
Stanza — плагин для VS Code, который встраивает короткие уроки по fullstack-разработке и ИИ-инструментам прямо в редактор. Идея простая: 15 минут в день, без переключения вкладок и потери фокуса.
Формат рассчитан на начинающих: небольшие порции, конкретные темы, без избыточной теории. Полезно, если вы учитесь в процессе работы — открыл редактор, прошёл урок, продолжил писать код.
Пока у расширения чуть больше 1500 установок и только 2 отзыва — инструмент совсем новый. Но идея встроить обучение прямо в среду разработки выглядит разумно: не нужно открывать Udemy или YouTube, контекст не теряется.
Установить Stanza можно бесплатно из VS Code Marketplace. Теперь оправдания закончились — редактор уже открыт, уроки уже внутри.
@prog_point (теперь ещё в VK и Max)
Stanza — плагин для VS Code, который встраивает короткие уроки по fullstack-разработке и ИИ-инструментам прямо в редактор. Идея простая: 15 минут в день, без переключения вкладок и потери фокуса.
Формат рассчитан на начинающих: небольшие порции, конкретные темы, без избыточной теории. Полезно, если вы учитесь в процессе работы — открыл редактор, прошёл урок, продолжил писать код.
Пока у расширения чуть больше 1500 установок и только 2 отзыва — инструмент совсем новый. Но идея встроить обучение прямо в среду разработки выглядит разумно: не нужно открывать Udemy или YouTube, контекст не теряется.
Установить Stanza можно бесплатно из VS Code Marketplace. Теперь оправдания закончились — редактор уже открыт, уроки уже внутри.
@prog_point (теперь ещё в VK и Max)
❤2
Forwarded from Типичный программист
В терминале всего 33 Ctrl-шортката — и это не случайность
Замечали, что Ctrl-1 ничего не делает, а Ctrl-A работает? ASCII физически даёт только 33 control-кода — остальные комбинации терминал либо игнорирует, либо превращает в ANSI escape-последовательность (управляющие символы для цвета и позиционирования курсора).
Julia Evans разобрала всю таблицу. Ctrl-M и Enter — буквально один байт (код 13), исторически так сложилось. Ctrl-коды обрабатываются на трёх уровнях: одни забирает ОС, другие — bash или readline (библиотека редактирования командной строки), третьи добираются до приложения. Отсюда конфликты: Ctrl-S «зависает» терминал из-за поведения ОС, унаследованного из эпохи аппаратного управления потоком данных.
Большинство нажимали эти комбинации годами, не задаваясь вопросом «почему». Теперь есть разбор целиком на Tproger.
@tproger
Читайте также в VK, Max и Дзен
Замечали, что Ctrl-1 ничего не делает, а Ctrl-A работает? ASCII физически даёт только 33 control-кода — остальные комбинации терминал либо игнорирует, либо превращает в ANSI escape-последовательность (управляющие символы для цвета и позиционирования курсора).
Julia Evans разобрала всю таблицу. Ctrl-M и Enter — буквально один байт (код 13), исторически так сложилось. Ctrl-коды обрабатываются на трёх уровнях: одни забирает ОС, другие — bash или readline (библиотека редактирования командной строки), третьи добираются до приложения. Отсюда конфликты: Ctrl-S «зависает» терминал из-за поведения ОС, унаследованного из эпохи аппаратного управления потоком данных.
Большинство нажимали эти комбинации годами, не задаваясь вопросом «почему». Теперь есть разбор целиком на Tproger.
@tproger
Читайте также в VK, Max и Дзен
❤5🆒2
Что такое BI-инструменты и зачем они вообще нужны
Когда данных в компании становится много — продажи, склад, клиенты — их уже не удержать в Excel. BI-платформа (Business Intelligence, «бизнес-аналитика») — это инструмент, который собирает данные из разных источников и превращает их в понятные графики и таблицы-дашборды.
Звучит как что-то далёкое от разработки, но нет. Именно разработчики подключают источники данных, настраивают обновления и иногда пишут кастомные запросы. Это отдельное направление, которое называют Data Engineering или аналитической разработкой.
На российском рынке есть несколько таких платформ: Yandex DataLens, Visary BI, Visiology и Luxms BI. Они отличаются ценой, форматом (облако или установка на свой сервер) и набором функций. Одни заточены под корпоративный сектор, другие позволяют начать бесплатно.
Если вам интересно направление работы с данными — посмотреть на реальные инструменты полезно уже сейчас. Разбор четырёх платформ с кейсами уже у нас на сайте.
#инструменты
Когда данных в компании становится много — продажи, склад, клиенты — их уже не удержать в Excel. BI-платформа (Business Intelligence, «бизнес-аналитика») — это инструмент, который собирает данные из разных источников и превращает их в понятные графики и таблицы-дашборды.
Звучит как что-то далёкое от разработки, но нет. Именно разработчики подключают источники данных, настраивают обновления и иногда пишут кастомные запросы. Это отдельное направление, которое называют Data Engineering или аналитической разработкой.
На российском рынке есть несколько таких платформ: Yandex DataLens, Visary BI, Visiology и Luxms BI. Они отличаются ценой, форматом (облако или установка на свой сервер) и набором функций. Одни заточены под корпоративный сектор, другие позволяют начать бесплатно.
Если вам интересно направление работы с данными — посмотреть на реальные инструменты полезно уже сейчас. Разбор четырёх платформ с кейсами уже у нас на сайте.
#инструменты
❤1
Запускаем LLM без облака и подписки
Ollama — бесплатный open-source инструмент, который ставит локальную нейросеть буквально одной командой. Работает на любой ОС, доступен из России, а GPU для старта не нужен — хватит 8 ГБ RAM и пары гигабайт на диске.
Суть проста: вы запускаете модель локально, ваши промпты не покидают машину. Это не просто про приватность — это про коммерческий код, корпоративные секреты и всё, что не хочется отправлять в облако чужой компании.
Ollama интегрируется с Claude Code, Codex и другими инструментами через одну команду
В гайде полный путь от установки до подключения к вашему любимому AI-редактору.
#ии
@prog_point (теперь ещё в VK и Max)
Ollama — бесплатный open-source инструмент, который ставит локальную нейросеть буквально одной командой. Работает на любой ОС, доступен из России, а GPU для старта не нужен — хватит 8 ГБ RAM и пары гигабайт на диске.
Суть проста: вы запускаете модель локально, ваши промпты не покидают машину. Это не просто про приватность — это про коммерческий код, корпоративные секреты и всё, что не хочется отправлять в облако чужой компании.
Ollama интегрируется с Claude Code, Codex и другими инструментами через одну команду
ollama launch — без ручной возни с конфигами. Для кодинг-задач особенно хвалят модели qwen3-coder и gpt-oss:20b. Начать можно с llama3.2:latest — весит 2 ГБ, тянет на любом современном железе.В гайде полный путь от установки до подключения к вашему любимому AI-редактору.
#ии
@prog_point (теперь ещё в VK и Max)
🤝3
Как Flexbox считает размеры: собираем Masonry-раскладку без JavaScript
Flexbox знают почти все, кто верстал хоть один макет. Но мало кто понимает, как именно он считает размеры, а это знание позволяет строить красивые фотогалереи и карточные сетки без единой строки JavaScript.
Masonry — раскладка, где блоки разной высоты укладываются в плотную сетку без дыр, как в Pinterest. Обычно для этого тянут Grid или JS-библиотеки. В этом материале показывают, как собрать такое на чистом Flexbox, если элементы имеют известное соотношение сторон (например, 16:9 у изображений).
Чтобы наконец разобраться, почему элементы растягиваются именно так, а не иначе, читайте разбор на Frontend Masters.
#веб #фронтенд
@prog_point (теперь ещё в VK и Max)
Flexbox знают почти все, кто верстал хоть один макет. Но мало кто понимает, как именно он считает размеры, а это знание позволяет строить красивые фотогалереи и карточные сетки без единой строки JavaScript.
Masonry — раскладка, где блоки разной высоты укладываются в плотную сетку без дыр, как в Pinterest. Обычно для этого тянут Grid или JS-библиотеки. В этом материале показывают, как собрать такое на чистом Flexbox, если элементы имеют известное соотношение сторон (например, 16:9 у изображений).
Чтобы наконец разобраться, почему элементы растягиваются именно так, а не иначе, читайте разбор на Frontend Masters.
#веб #фронтенд
@prog_point (теперь ещё в VK и Max)
❤2💯2
История российского IT: от ЭВМ в закрытых НИИ до Горбушки
Сергей Лебедев создал МЭСМ — первую советскую электронную вычислительную машину. Это за два года до того, как IBM выпустила свою первую коммерческую модель для широкого рынка.
БЭСМ-6, следующая машина серии, работала с 1968 по 1987 год. На ней учились программированию — и писали прямо в двоичном коде: нули и единицы, под конкретный процессор. Никаких языков высокого уровня, никакого Python.
Советские инженеры работали в жёстких ограничениях: мало памяти, мало скорости. В таких условиях каждый лишний байт был проблемой — и это воспитывало особое отношение к коду. Не потому что так модно, а потому что иначе не работало.
Как выглядело советское IT изнутри и какие ещё факты стоит знать о его истории — в нашей статье.
@prog_point (теперь ещё в VK и Max)
Сергей Лебедев создал МЭСМ — первую советскую электронную вычислительную машину. Это за два года до того, как IBM выпустила свою первую коммерческую модель для широкого рынка.
БЭСМ-6, следующая машина серии, работала с 1968 по 1987 год. На ней учились программированию — и писали прямо в двоичном коде: нули и единицы, под конкретный процессор. Никаких языков высокого уровня, никакого Python.
Советские инженеры работали в жёстких ограничениях: мало памяти, мало скорости. В таких условиях каждый лишний байт был проблемой — и это воспитывало особое отношение к коду. Не потому что так модно, а потому что иначе не работало.
Как выглядело советское IT изнутри и какие ещё факты стоит знать о его истории — в нашей статье.
@prog_point (теперь ещё в VK и Max)
❤🔥2🤓2💯1
Графы — одна из тех тем, где начинающие разработчики застревают надолго
Абстрактная структура данных, где узлы (вершины) соединены рёбрами, — и сразу непонятно зачем. Но стоит разобраться — и они появляются везде: маршруты в навигаторе, рекомендации в соцсетях, зависимости пакетов при установке.
Подробный разбор с нуля: что такое граф, как хранить его в коде и как обходить — в ширину (BFS, обход слой за слоем) и в глубину (DFS, уход сначала до конца ветки). Каждый алгоритм объяснён с примером и разбором логики.
Если графы пока кажутся чем-то абстрактным — это нормально. После такого разбора начинаешь узнавать их в реальных задачах и понимать, где применить в первом проекте.
@prog_point (теперь ещё в VK и Max)
Абстрактная структура данных, где узлы (вершины) соединены рёбрами, — и сразу непонятно зачем. Но стоит разобраться — и они появляются везде: маршруты в навигаторе, рекомендации в соцсетях, зависимости пакетов при установке.
Подробный разбор с нуля: что такое граф, как хранить его в коде и как обходить — в ширину (BFS, обход слой за слоем) и в глубину (DFS, уход сначала до конца ветки). Каждый алгоритм объяснён с примером и разбором логики.
Если графы пока кажутся чем-то абстрактным — это нормально. После такого разбора начинаешь узнавать их в реальных задачах и понимать, где применить в первом проекте.
@prog_point (теперь ещё в VK и Max)
❤5🔥1