Обновить

Все потоки

Сначала показывать
Порог рейтинга

Удалили строку в React, а её заметка осталась у другого пользователя

Представим: в списке два человека, у каждого поле для заметки. Вводим «Позвонить вечером» рядом с Анной, удаляем Анну — и видим ту же заметку у Бориса.

Данные людей не перепутаны. Проблема в том, как React сопоставляет строки между рендерами.

Вот компонент, в котором ошибку можно воспроизвести:

import { useState } from "react";

function Row({ person }) {
  const [note, setNote] = useState("");

  return (
    <label>
      {person.name}
      <input
        value={note}
        onChange={event => setNote(event.target.value)}
      />
    </label>
  );
}

export default function App() {
  const [people, setPeople] = useState([
    { id: "anna", name: "Анна" },
    { id: "boris", name: "Борис" }
  ]);

  return (
    <div>
      <button onClick={() => setPeople(p => p.slice(1))}>
        Удалить первого
      </button>
      {people.map((person, index) => (
        <Row key={index} person={person} />
      ))}
    </div>
  );
}

До удаления ключ 0 принадлежит строке Анны. После удаления ключ 0 получает строка Бориса. Для React это тот же компонент на прежнем месте с тем же ключом, поэтому его состояние note сохраняется. При этом person уже содержит Бориса.

Для этого списка исправление выглядит так:

{people.map(person => (
  <Row key={person.id} person={person} />
))}

Теперь у Бориса остаётся собственный ключ boris. При удалении Анны её компонент размонтируется, а состояние строки Бориса сохранится.

Ключ должен быть стабильным для одной записи и уникальным среди соседних элементов. Случайный ключ на каждом рендере тоже создаёт проблему: React будет пересоздавать компоненты, сбрасывая их состояние. Индекс не приводит к ошибке в любом списке, но для списка с удалением, вставкой или перестановкой записей он не сохраняет связь состояния с записью.

Проверить исправление можно в обе стороны: заметка Анны исчезает вместе с Анной, а заметка Бориса остаётся у Бориса после удаления предыдущей строки. Затем стоит повторить проверку с сортировкой списка.

Есть и отдельное ограничение: правильный key не хранит черновик после размонтирования. Если фильтр скрывает Бориса, удаляя его Row из дерева, при возвращении строки локальная заметка начнётся заново. Для сохранения таких черновиков состояние нужно поднять выше и хранить по person.id.

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

Теги:
+2
Комментарии0

У каждого айтишника свои скелеты в шкафу

У кого-то — легаси без документации, у кого-то — список технологий с пометкой «разобраться до конца года». И если с первым всё сложно, то со вторым можно хотя бы попробовать разобраться.

В честь Хеллоуина решили немного упростить эту задачу: с 29 по 31 октября включительно дарим скидку 20% на курсы OTUS со стартом в октябре и ноябре.

Если давно планировали прокачать навыки, но откладывали обучение из-за стоимости, сейчас есть повод вернуться к этой идее.

Скидка не суммируется с другими акциями.

→ Выбрать курс

Теги:
+2
Комментарии0

Представлен проект DigGitHub — добавьте «dig» к любому URL-адресу на GitHub, чтобы узнать, «жив» ли проект.

Type dig in front of any GitHub URL: github.com/owner/repo → diggithub.com/owner/repo

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

Теги:
+2
Комментарии3

mbSCADA: переписал Modbus Poll на Rust, потому что надоело

гитхаб репо
гитхаб репо

Коротко: это десктоп-приложение для опроса Modbus-устройств. TCP, RTU, ASCII, RTU-over-TCP. Умеет импортировать .mbp/.mbw от настоящего Modbus Poll — причём байт-в-байт: открыл файл, поменял алиас, сохранил, остальное не тронуто. Это, пожалуй, самая нудная и самая полезная часть. Формат .mbp нигде не описан, так что раскладку пришлось восстанавливать по байтам самих файлов: сгенерировал их в Modbus Poll 10.5, сравнил, понял, где заголовок, где записи строк, где хвост. Код Modbus Poll при этом не открывался ни разу — только его выходные файлы, то есть данные, а не реализация. Clean-room в том смысле, что спецификация восстановлена по наблюдаемому поведению, а не по исходникам. Про сам протокол и говорить нечего — Modbus публичный.

Дальше уже вкусовое. На каждую строку можно навесить дерево правил на 32 ветки (у оригинала две), с динамическим текстом вроде 0 → Закрыт, 1 → Открыт. Есть спарклайны прямо в таблице, алармы с панелью и подтверждением, мимик-схемы, окно «смотрибельных» параметров, вычисляемые теги ({T2} - {T1} и pow/min), CSV-архив. Внутри ещё симулятор слейва — можно поднять TCP/RTU-устройство и опрашивать его же, или повесить на реальный USB-RS485. Удобно, когда железо под рукой только в пятницу.

Стек: Rust + Tauri 2, UI на ванильном JS. Один бинарник ~6 МБ, без телеметрии, всё локально. 68 тестов на движок/протокол/формат, движок тестируется без GUI.

Что честно стоит знать:

ASCII-транспорты есть и покрыты юнит-тестами, но на живых приборах я их гонял меньше, чем TCP/RTU.

.mbp writer (сохранить как Modbus Poll) пока не в UI — round-trip слой в движке готов, кнопки нет.

Полного покрытия «все приборы всех производителей» не обещаю, это не то приложение.

Лицензия MIT, релизы под Win/Linux/macOS собираются в CI с тега. Если у вас лежит папка со старыми .mbp и хочется их открыть без установки Modbus Poll — это, наверное, самый простой сценарий попробовать.

Репозиторий: https://github.com/kostyk348/mbscada-rs

Буду рад баг-репортам, особенно по ASCII и по странным .mbp — корпус у меня небольшой, чем больше реальных файлов, тем крепче парсер.

Теги:
+1
Комментарии1

Лайфхак для минимального хостинга веба от создателя Flipper Павла Жовнера:

1. Вешаете веб-сервер на ipv6 адрес.

2. На cloudflare создаете только одну АААА-запись на ipv6 и включаете проксирование.

3. Cloudflare сам дает вам ipv4 и ipv6 и ваш сайт работает везде.

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

Я вообще перестал создавать VPS-ки с ipv4.

Теги:
+3
Комментарии3

40. «История одного города» М.Е. Салтыков-Щедрин

Как ни кощунственно прозвучит, это – самая бизнес-полезная книга из классической русской литературы. Ну, на мой взгляд.

Это книга-зеркало. Точнее, целый аттракцион, комната кривых зеркал. В книге рассказана длинная история города Глупова через призму его градоначальников. Говоря современным языком, перед нами – результаты длительного эксперимента по апробированию разных стилей лидерства и менеджмента на одном и том же объекте управления, с целью выявить лучшего. Ну или от души посмеяться.

Как будто Салтыков-Щедрин вдохновился «Эмоциональным интеллектом» Гоулмана и решил написать бизнес-роман о стилях лидерства. Как Голдратт облёк свою теорию ограничений в «Цель». Но Салтыков-Щедрин, как настоящий классик, да ещё и русский, сильно переплюнул Гоулмана – описал не шесть стилей, как в «Эмоциональном интеллекте», а целых 22.

Книга прекрасна. И в художественном плане, и как пособие для руководителя. Чисто технократический аспект: в классической художественной литературе нам если и дают некий ряд героев для сравнения, то обычно не сильно длинный. Помимо протагониста и антагониста бывает ещё один или пара персонажей, которых можно сопоставить по одной системе координат, измерить одной линейкой. Салтыков-Щедрин дал 22. Ближе всех из русской классики к нему стоят, наверное, Гоголь с «Мёртвыми душами», Толстой с «Войной и миром», да, пожалуй, Шолохов с «Тихим Доном». Повторюсь: речь о ряде героев, которые сравниваются в одних обстоятельствах, по одной системе ценностей.

В книге Салтыкова-Щедрина как нельзя лучше проявляется качество художественной литературы, о котором я уже упоминал – можно посмотреть на истории людей, не проживая их. Увидеть паттерны личностей и поведения, реакции и последствия, неизбежности выбора, трудности выбранного пути, ну и чем оно заканчивается. Когда же речь о таком вполне прикладном аспекте, как управление – книга становится совершенно бесценной. Увы, русские классики мало увлекались историями про руководителей или программистов 😊.

Очень рекомендую почитать всем руководителям. Только будьте честными, и обязательно найдёте себя, и станет немного смешно и грустно. Я себя нашёл. И всех своих знакомых руководителей.

Это 40-я книга из Книжного стека

Теги:
+4
Комментарии0
Домашняя страница BTDigg
Домашняя страница BTDigg

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

Сегодня же решил зайти на BTDigg и был поражён этой всей дореформенной орфографией

Конечно legacy-код это известная проблема, но насколько я помню до Петра I (да и после, продолжительное время) торрентов не существовало :D

Теги:
+1
Комментарии0

Необратимость

Что делает систему неэргодической? Необратимость.

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

Большинство важных решений в жизни неэргодичны:

Инвестиции: потеря 10 млн руб. означает потерю не только этих 10 млн руб., но и всех будущих доходов, которые они могли бы принести.

Карьера: некоторые поступки могут стоить вам не только текущей работы, но и всех будущих, если из-за них вы станете человеком, которого никто не хочет нанимать.

Здоровье: от некоторых травм невозможно полностью восстановиться.

Джефф Безос не вывел бы Amazon на вершину, не овладев искусством принятия решений. В письме акционерам в 2015 году он предложил разделять решения на два типа - обратимые и необратимые:

«Одни решения являются важными и необратимыми или почти необратимыми — это односторонние двери. Если вы прошли через нее и вам не нравится то, что вы увидели на другой стороне, вы не можете вернуться туда, где были раньше. Такие решения должны приниматься методично, осторожно, медленно. Это решение первого типа. Но большинство решений не таковы — они легко изменяемы, обратимы, это двусторонние двери. Если вы приняли неоптимальное решение, вам не придется жить с его последствиями слишком долго. Вы можете открыть дверь и вернуться назад. Решения второго типа могут и должны приниматься быстро». - Джефф Безос из письма акционерам Amazon в 2015 году.

Хорошего дня! заходите на тг канал https://t.me/TradPhronesis

Теги:
+3
Комментарии0

Мне давно не хватало простого gui пингера, на подобии Netmap под виндой, который бы работал из коробки и без танцев с бубном в wine. Приложение, которое можно было бы свернуть в трей, не требовало тонну зависимостей, и не имело не нужного функционала, типа веб интерфейса (это уже другой уровень мониторинга)

QPing — написан на Python с использованием библиотеки PyQt6. Для мониторинга доступности сетевых хостов по ICMP или TCP-портов. Предоставляет визуальное отображение статуса хостов в виде графиков с latency и министатистикой. Поддерживает группировку хостов для удобства, и всплывающие уведомления через системный трей.

Основные возможности:

  • Мониторинг хостов через ICMP или TCP-проверки.

  • Визуализация результатов пинга в виде графиков с масштабируемой временной шкалой.

  • Поддержка категорий для группировки хостов.

  • Фильтрация хостов по статусу (показ только недоступных).

  • Уведомления в системном трее при недоступности хоста.

  • Локализация интерфейса (русский и английский по умолчанию).

  • Импорт хостов из текстового файла (hosts, ansible inentory, txt).

  • Перетаскивание хостов для изменения порядка.

  • Сохранение истории проверок и настроек.

Для проверки хостов использует стандартный ping. При наличии fping - появляется возможность проверять хосты пачками.

В версии 2.5:
- Добавление хоста: если в поле ввода указан порт (например, example.com:443 или «example.com 443»), хост сразу создаётся с типом проверки TCP на указанном порту.

- Автоматическое определение типа проверки при добавлении хоста (ICMP → TCP). Настраивается в Settings → General, три режима:

  • Off

  • Только для хостов, добавленных в текущей сессии (по умолчанию)

  • Всегда

    Логика: если ICMP-хост не имеет ни одного успешного ответа и набрал 5 неудач подряд (при условии, что хост добавлен не менее 10 секунд назад), в фоне последовательно проверяются TCP-порты 443, 80 и 22. Если хотя бы один стабильно отвечает, появляется диалог с предложением переключить хост на TCP. Тип меняется только после подтверждения пользователем; предусмотрена кнопка «Больше не спрашивать».

- История загружается посуточно, а не вся сразу.

- Добавлена возможность задать время ожидания ответа.

- Добавлен режим Mute — для конкретного хоста: проверка продолжается, но уведомления о проблемах не отправляются.

- Тёмная тема (для ценителей).

- Кликабельные Down/Warn — клик переключает фильтр filter_failed.

- Трей и уведомления:

• Бейдж с числом недоступных хостов на иконке в трее.

• Группировка уведомлений: если подряд упали 5 хостов, отправляется одно уведомление.

Установка

Способ 1: PPA (Ubuntu 22.04+)

Для пользователей Ubuntu 22.04, 24.04 и новее доступна установка через PPA с автоматическими обновлениями:

sudo add-apt-repository ppa:zersh/qping
sudo apt update
sudo apt install qping

Запуск: qping из терминала или через меню приложений.

Удаление:

sudo apt remove qping
sudo add-apt-repository --remove ppa:zersh/qping

Для работы batch-режима ICMP установить fping:

sudo apt install fping

Способ 2: Из исходников через git

  1. Клонировать репозиторий:

    git clone https://github.com/zersh/QPing.git
    cd QPing
  2. Установить зависимости:

    sudo apt install python3 python3-pyqt6
    # опционально — для batch-режима
    sudo apt install fping
  3. Установить ярлык в меню и на рабочий стол:

    chmod +x install.sh uninstall.sh run.sh
    ./install.sh

После этого QPing появится в меню приложений и на рабочем столе (работает в Gnome и Xfce). Ярлыки устанавливаются относительно текущего каталога.

Удаление ярлыков:

./uninstall.sh

Способ 3: Ручной запуск без установки

  1. Установить зависимости (см. выше).

  2. Запустить приложение напрямую:

    ./run.sh

    или

    python3 qping

Требования

  • Python 3.10+

  • PyQt6

  • Операционная система: Linux (Ubuntu 22.04+ рекомендуется), Windows, macOS

Обратная связь, предложения и аргументированная критика приветствуются :)

Теги:
+1
Комментарии0

Agent Harness Course 2026 - как построить своего AI-агента с нуля. Бесплатный курс на русском языке!

Пошаговый курс/гайд на ~8 недель (1–2 часа в день): от одного запроса к LLM до агента с инструментами, памятью, субагентами, защитой и тестами - и финального проекта.

Свой учебный харнес на чистом Python без единой зависимости, 7 запускаемых уроков, финальный проект, 19 тестов и разбор архитектуры настоящего open-source агента. Ai Ml — материал переработан, структурирован и дополнен кодом, схемами и справочниками.

Гайд показывает, из чего сделан любой агент - Claude Code, Codex, Cursor, Devin, LearnHarness — и даёт собрать каждую деталь руками. После этого любой фреймворк читается за вечер, а любой баг агента - объясним.

https://github.com/justxor/agent-harness-course/

Теги:
0
Комментарии1

Проходим System Design Interview на 140%

Проектируем микросервисную архитектуру мессенджера. Сперва с помощью коуча, а потом как-нибудь сами.

Поблагодарить: https://boosty.to/hyoo
Обсудить: https://t.me/giper_dev

Теги:
-2
Комментарии0

Как обновлять Java-стек в сотне сервисов и не останавливать разработку

29 октября ЮMoney проведёт бесплатный митап Java Jam для бэкенд-разработчиков. В программе — три доклада инженеров ЮMoney и Сбера о масштабных обновлениях Java-стека, автоматизации с помощью ИИ и мониторинге релизов.

На встрече обсудим:

  • Массовые обновления без остановки разработки. Как обновить Gradle, Spring Boot и Java в 120+ компонентах, организовать работу команд и справиться с техническими сложностями.

  • Автоматизацию проекта с помощью ИИ. Как решать инженерные задачи в современной бэкенд-разработке.

  • Мониторинг релизов на основе Sentry. Как оценивать ошибки после выкладки и понимать, когда стоит откатить изменения.

Когда: 29 октября, четверг, 19:00 (мск).

Где: офис ЮMoney в Санкт-Петербурге или онлайн-трансляция.

Участие бесплатное, но нужна регистрация. Подробности и регистрация — на сайте митапа Java Jam.

Теги:
0
Комментарии0

🐍 Python, Go, Rust и еще два языка: расширяем возможности Tarantool

Прикладную логику в Tarantool теперь можно запускать на пяти языках: Python, Go, JavaScript, C/C++ и Rust. Это входит в дополнение tarantool-wasm-rs, которое позволяет использовать существующий код внутри СУБД без переписывания на Lua.

Tarantool выполняет код рядом с данными, поэтому их не приходится передавать на отдельный сервер для обработки.

Как это работает

🔹 Изоляция кода. Дополнение использует WebAssembly. Для каждой программы можно ограничить память, число операций и доступ к файлам или сети. Если код зависнет или завершится с ошибкой, база продолжит работать.

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

🔹 Инструменты для разработчиков. Вместе с дополнением развиваем tarawasm для сборки кода и tarantool-wit с описанием интерфейсов Tarantool.

Команды смогут использовать готовые библиотеки и собственные разработки на разных языках, сохраняя принцип Tarantool: выполнять прикладную логику рядом с данными.

📃 Больше подробностей — на сайте.

👉 Подписывайтесь на каналы Tarantool в Telegram и МАХ

Теги:
0
Комментарии0

Ближайшие события

Обсудили побеги ИИ-агентов и безопасность с сооснователем HiveTrace

На подкаст к нашему директору департамента стратегического развития ИИ-продуктов Диме Юдину заглянул Евгений Кокуйкин — ко-фаундер компании HiveTrace, которая занимается разработкой решений для безопасного использования генеративного ИИ. 

Что обсудили:

  • как сломать системный промпт с помощью манной каши;

  • чему побег агента OpenAI и взлом Hugging Face могут научить рынок;

  • как работают троянские MCP-серверы и как пропущенный pull-request может обернуться rug pull-ом;

  • проблему мисалайнменета и как агенты срезают путь к решению задачи;

  • теневое использование ИИ в компаниях и способы от него защититься;

  • отставание секьюрити-практик от технологий.

Добавляйте в закладки и смотрите, где удобно: YouTube | VK Видео | Rutube

Теги:
0
Комментарии0

VMmanager — в числе лидеров по масштабу внедрений по версии CNews

Проект ISPsystem на базе VMmanager занял второе место в рейтинге «Топ-6 внедрений российских платформ виртуализации» от CNews

CNews Analytics опубликовал рейтинг «Топ-6 внедрений российских платформ виртуализации». Проект ISPsystem на базе VMmanager, реализованный в FirstVDS, занял второе место.

Проекты оценивали по трем критериям: количеству хостов, географии внедрения и доле покрытых рабочих процессов с учётом принадлежности заказчика к КИИ.

О кейсе: VMmanager внедрили в инфраструктуру FirstVDS с распределенной сетью ЦОД. Количество хостов — 1450. В результате удалось создать полностью автоматизированную среду, где VMmanager управляет пулом физических серверов.

После непростого октября для нас особенно ценно признание проекта, за которым стоят работа команды ISPsystem и опыт применения VMmanager в масштабной инфраструктуре партнера. 

Итоги рейтинга смотрите на сайте CNews.

Теги:
+3
Комментарии0

DLP-система для бизнеса: как выбрать, настроить и внедрить

Сотрудник отправил договор на личную почту, загрузил исходный код в сторонний ИИ-сервис или скопировал клиентскую базу на флешку. Как обнаружить такие действия и предотвратить утечку?

Предотвратить утечки помогает DLP-система. Она анализирует содержимое файлов, каналы передачи и контекст действий, а затем применяет заданные правила: фиксирует событие, предупреждает пользователя или блокирует операцию.

Как работает DLP

  • Распознавание данных. Система ищет ключевые слова, проверяет регулярные выражения, метки конфиденциальности и цифровые отпечатки документов.

  • Анализ контекста. Учитывает, кто работает с файлом, кому его отправляют и через какой канал.

  • Настройка политик. Для разных сценариев можно задать разные реакции — от аудита до блокировки передачи.

  • Проверка срабатываний. Перед внедрением стоит протестировать правила на реальных рабочих сценариях и оценить, насколько точно они выявляют нарушения. 

Но есть нюанс: слишком строгие политики могут мешать легитимным рабочим процессам, а контролировать все каналы передачи данных умеет далеко не каждое решение.

В новой статье в блоге Рег.облака разбираем, как работает DLP, какие каналы она контролирует и на что обратить внимание при выборе и внедрении системы.

Теги:
+1
Комментарии0

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

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

Материал будет полезен как опытным руководителям, так и тем, кто только недавно стал тимлидом.

Полное видео:
📺YouTube
📺VK Video
📺RuTube
📺Наш сайт

Теги:
0
Комментарии0

Представлен открытый проект AIKON — приложение, которое позволяет использовать Claude, ChatGPT, Gemini и Grok на старых Nokia 2007 года.

Ранее проект назывался Claude S40. До выхода версий 0.10.x (для мобильного приложения) и 0.7.x (для серверной части) он носил имя Claude S40, поскольку взаимодействовал только с Claude. Теперь, когда добавлена ​​поддержка OpenAI, Gemini и Grok, проект получил название AIKON («Nokia», написанное в обратном порядке). Репозиторий был перенесен с emir/claude-s40 на emir/AIKON (GitHub автоматически перенаправляет запросы со старого адреса), однако в названиях Java-пакетов и серверных компонентов сохранилось прежнее имя.

AIKON — это ИИ-чат-клиент для устройств Nokia серий S40 и S60 (платформа Java ME, спецификации CLDC 1.1 / MIDP 2.0), работающий в связке с компактным сервером на языке Go. Вы можете выбрать модель для каждого чата (Claude, OpenAI, Gemini или Grok), вводить текст с помощью кнопочной клавиатуры и получать ответы на экране с разрешением 240x320 пикселей. Доступны такие функции, как поиск актуальных новостей, прогноза погоды и курсов валют в интернете; длинные ответы можно просматривать постранично. Интерфейс переведён на турецкий, английский, испанский, португальский, французский, немецкий, русский и индонезийский языки. Приложение протестировано на моделях Nokia 6300 (S40) и Nokia E63 (S60 с QWERTY-клавиатурой).

Теги:
+2
Комментарии0

Подборка полезных материалов от Selectel по ИИ-агентам и ассистентам

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

  • Вы узнаете, как установить редактор Cursor AI, разберете его основные настройки и создадите первый проект.

  • Научитесь разворачивать Claude Code локально: установите зависимости, настроите и запустите первый проект.

  • Изучите короткий материал про архитектуру Hermes, требования к железу и развернете агента в ИИ-маркетплейсе Selectel.

  • Запустите OpenClaw на собственной инфраструктуре, чтобы работать с ИИ без передачи данных сторонним сервисам.

  • Узнаете, как развернуть OpenJarvis и настроить персонального ИИ-помощника.

  • Познакомитесь с требованиями ИБ в ИИ-проектах. Подключите свою LLM к Wazuh через OpenSearch Assistant: научитесь запрашивать данные на естественном языке и анализировать алерты.

В общей сложности на прочтение всех материалов уйдет примерно полтора часа.

Начать обучение

Теги:
+2
Комментарии0

История Linux на русском – от студенческого проекта Торвальдса до устройства современной системы.

В репозитории linux-history собран большой

иллюстрированный README со схемами, практическими командами и вопросами для самопроверки.

Что внутри:

- Предыстория: Unix, GNU, MINIX и появление Linux в 1991 году.

- Развитие ядра: ключевые события и участники проекта.

- Древо дистрибутивов: как связаны Debian, Ubuntu и другие семейства.

- Устройство системы: загрузка Linux, жизнь процесса и взаимодействие компонентов.

- Разработка ядра: как изменения проходят путь до включения в Linux.

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

Материал оформлен прямо на GitHub: раскрывающиеся разделы, таблицы и более 20 схем. В конце – книги, документальные фильмы и ссылки для дальнейшего изучения.

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

https://github.com/justxor/linux-history

Теги:
0
Комментарии0