Forwarded from Технологический Болт Генона
В РФ сейчас достаточно популярна тема со SBOM и вообще контролем зависимостей, потому что много каких зависимостей из open source оказывали и могут оказать деструктивное влияние так сказатб 🌝
Но тут случилось ВНЕЗАПНОЕ1!11!. Hunted Labs озаботились зависимостями, которые тянутся в проекты и обнаружили российский след (полный PDF-отчёт скину в комменты). Более того, как они пишут, отказаться от этой зависимости сложно. Речь о easyjson (https://github.com/mailru/easyjson)
The Russian Open Source Project That We Can’t Live Without
https://huntedlabs.com/the-russian-open-source-project-that-we-cant-live-without/
По ссылке подробно расписано как и зачем они занимались исследованием зависимостей и к чему пришли
Мне понравилась заключительная фраза в статье
> Oh, and we haven’t even talked about China…yet.
Сколько же их ещё открытий ждёт 🌝
Но тут случилось ВНЕЗАПНОЕ1!11!. Hunted Labs озаботились зависимостями, которые тянутся в проекты и обнаружили российский след (полный PDF-отчёт скину в комменты). Более того, как они пишут, отказаться от этой зависимости сложно. Речь о easyjson (https://github.com/mailru/easyjson)
What is easyjson?
Easyjson is a Go package designed to optimize JSON serialization and deserialization processes by generating Go code for JSON encoding and decoding. Widely adopted across cloud-native ecosystems, it is a critical dependency for numerous open source and enterprise projects. This includes high-performance JSON handling in distributed systems, real-time data serialization for financial and analytics platforms, and optimization of cloud-native applications.
Who maintains easyjson?
A group of developers from VK, an entity with leadership that is under active U.S. and E.U. sanctions and has connections to Russian security services.
Who is impacted?
Cornerstones of the modern software supply chain and cloud-native tools have dependencies on easyjson, and all applications that pull in these dependencies could potentially be impacted, including, but not limited to:
- Helm
- Istio
- Kubernetes
How could this be weaponized or exploited?
Russia doesn’t need to attack directly. By influencing state-sponsored hackers to embed a seemingly innocuous OSS project deep in the American tech stack, they can wait, watch, and pull strings when it counts.
The Russian Open Source Project That We Can’t Live Without
https://huntedlabs.com/the-russian-open-source-project-that-we-cant-live-without/
По ссылке подробно расписано как и зачем они занимались исследованием зависимостей и к чему пришли
Hunted Labs has provided exhaustive evidence regarding this advisory to the U.S. government and relevant stakeholders. So, what’s next?
The widespread use of easyjson makes finding a solution challenging. However, we cannot continue to blindly rely on this package due to the state of the current threats to our increasingly fragile software supply chain.
Мне понравилась заключительная фраза в статье
> Oh, and we haven’t even talked about China…yet.
Сколько же их ещё открытий ждёт 🌝
🤡8😁1
Forwarded from XOR
GPT-4.1 доступна в ChatGPT — это ведущая модель в кодинге.
Модель превосходит GPT-4o по всем направлениям, особенно в кодинге. Плюс у нее более крупное контекстное окно — до 1 миллиона токенов.
Доступ уже раскатывают для всех платных подписчиков.
@xor_journal
Модель превосходит GPT-4o по всем направлениям, особенно в кодинге. Плюс у нее более крупное контекстное окно — до 1 миллиона токенов.
«Это прекрасная альтернатива OpenAI o3 и o4-mini для повседневных задач программирования», - пишет OpenAI
Доступ уже раскатывают для всех платных подписчиков.
@xor_journal
👌1
if err != nil остаётся
Команда Go решила не менять синтаксис обработки ошибок и закрывает все предложения по упрощению error handling - ни один вариант не получил широкой поддержки ни в команде, ни в сообществе.
Причины:
- Нет консенсуса, нужен ли такой синтаксический сахар
- Привычный способ error handling признан рабочим и идиоматичным
- Изменения усложнят язык и приведут к массовым изменениям в коде
Команда Go решила не менять синтаксис обработки ошибок и закрывает все предложения по упрощению error handling - ни один вариант не получил широкой поддержки ни в команде, ни в сообществе.
Причины:
- Нет консенсуса, нужен ли такой синтаксический сахар
- Привычный способ error handling признан рабочим и идиоматичным
- Изменения усложнят язык и приведут к массовым изменениям в коде
❤27👍17🤮6🤷♂3😭2😁1
Go Clean Architecture Template v0.0.3 (16.06.2025)
Наконец-то добрался до своего репозитория с чистой архитектурой.
Потихоньку буду его обновлять. Еще много, что нужно сделать, но пользоваться можно уже сейчас.
Changelog:
Наконец-то добрался до своего репозитория с чистой архитектурой.
Потихоньку буду его обновлять. Еще много, что нужно сделать, но пользоваться можно уже сейчас.
Changelog:
- Экземпляры БД теперь создаются вне репозиториев и передаются в них как аргументы
- Сущность Book заменена на несколько сущностей с более обобщёнными именами — Entity*
- controllers переименованы в handlers (так как "controllers" — термин из MVC)
- provider переименован в gateway (используется для HTTP-запросов к другим микросервисам)
- libs переименованы в pkg (pkg — более распространённое название)
- Обновлена конфигурация линтеров (1.64.8)
- graceful теперь оформлен как библиотека
- Заменён sqlx на pgxpool
- Заменён kafka-go на franz-go
- Заменён go-clickhouse на clickhouse-go
- Различные исправления и улучшения
- Добавлен первоначальный логотип
👍17❤4
Завел себе такой алиас:
теперь копировать в буфер содержимое файлов можно так:
alias cb='xclip -selection clipboard'
теперь копировать в буфер содержимое файлов можно так:
cat file.txt | cb
👍21🔥9
Как разобраться в новом проекте или либе с помощью AI
1. Взять весь проект
2. Засунуть в AI))
Чтобы "взять" весь проект, надо всю (или почти всю) текстовую информацию собрать в один файл.
Для этого я написал скрипт, который:
- Создает в $HOME файлик all_%timestamp.txt с содержимым всех файлов из директории, где запущен
- Исключает некоторые директории (вроде .git и .idea) и файлы (вроде go.sum и coverage.out)
- В результирующем файле указывает структуру каталогов и имена всех собранных файлов
Получается что-то такое:
Вот сам скрипт (можно прямо в терминал вставлять, .sh файл не нужен):
Дальше в $HOME директории находим файлик и вставляем в любимую LLM, дополняя промптом. У ChatGPT контекста не всегда хватает, поэтому можно Gemini.
Для примера я проделел это для либы franz-go, дополнив промтом:
В результате получил вот это.
Если нужно какой-то микросервис разобрать, то я написал вот такой промпт, который раскладывает любой сервис на входящие и выходящие адаптеры. Так гораздо легче анализировать.
1. Взять весь проект
2. Засунуть в AI))
Чтобы "взять" весь проект, надо всю (или почти всю) текстовую информацию собрать в один файл.
Для этого я написал скрипт, который:
- Создает в $HOME файлик all_%timestamp.txt с содержимым всех файлов из директории, где запущен
- Исключает некоторые директории (вроде .git и .idea) и файлы (вроде go.sum и coverage.out)
- В результирующем файле указывает структуру каталогов и имена всех собранных файлов
Получается что-то такое:
.
├── internal
│ ├── file1.go
│ └── file2.go
└── main.go
2 directories, 3 files
=== ./internal/file1.go ===
file1 content
=== ./internal/file2.go ===
file2 content
=== ./main.go ===
main content
Вот сам скрипт (можно прямо в терминал вставлять, .sh файл не нужен):
timestamp=$(date +"%Y%m%d_%H%M%S")
{
tree -a .
echo -e "\n\n"
find . -type f \
-not -path "*/.idea/*" \
-not -path "./.git/*" \
-not -name "go.sum" \
-not -name "*.json" \
-not -name "coverage.out" \
-exec sh -c '
file --mime-type -b "$1" | grep -q text && {
echo "=== $1 ==="
cat "$1"
printf "\n"
}
' sh {} \;
} >> ~/all_"$timestamp".txt
Дальше в $HOME директории находим файлик и вставляем в любимую LLM, дополняя промптом. У ChatGPT контекста не всегда хватает, поэтому можно Gemini.
Для примера я проделел это для либы franz-go, дополнив промтом:
Как лучше всего изучать эту либу? Интересует порядок пакетов, которые надо смотреть. Заодно хочу лучше разобраться в самой кафке
В результате получил вот это.
Если нужно какой-то микросервис разобрать, то я написал вот такой промпт, который раскладывает любой сервис на входящие и выходящие адаптеры. Так гораздо легче анализировать.
🔥12👍1
Forwarded from DevOps Deflope News
Новое исследование Google: 65 % времени разработчиков тратится впустую без платформенного подхода
Google и ESG опросили 500 ИТ-специалистов. Коротко о главном в исследовании состояния платформенной инженерии:
• 65 % времени разработчиков уходит на задачи, которые может решать внутренняя платформа
• 55 % компаний уже поддерживают внедрение platform engineering
• Только 27 % полноценно интегрировали платформенный подход во все команды
• 84 % компаний признают, что внутренней экспертизы не хватает для эффективного развития платформ
Разработчики продолжают тратить бо́льшую часть времени не на продукт, а на инфраструктуру. Platform engineering — ответ на эту историю.
Именно здесь DevOps-команды играют ключевую роль, превращают разрозненные процессы в работающую платформу и интегрируют её в максимальное количество команд.
Google и ESG опросили 500 ИТ-специалистов. Коротко о главном в исследовании состояния платформенной инженерии:
• 65 % времени разработчиков уходит на задачи, которые может решать внутренняя платформа
• 55 % компаний уже поддерживают внедрение platform engineering
• Только 27 % полноценно интегрировали платформенный подход во все команды
• 84 % компаний признают, что внутренней экспертизы не хватает для эффективного развития платформ
Разработчики продолжают тратить бо́льшую часть времени не на продукт, а на инфраструктуру. Platform engineering — ответ на эту историю.
Именно здесь DevOps-команды играют ключевую роль, превращают разрозненные процессы в работающую платформу и интегрируют её в максимальное количество команд.
The New Stack
Google Study: 65% of Developer Time Wasted Without Platforms
New research reveals how platform engineering can unlock 65% of wasted developer time, with AI integration becoming critical for business success.
🤡6👍4
Today I Learned About Named Pipes in Unix
В терминале есть pipes:
Выведет 3, т.к. в строке 3 слова.
pipe - это |
Но еще есть named pipes. С ними работать надо немного по-другому. Сперва создаем:
В текущей директории появляется файл pipe1. И теперь в него можно писать, как в файл:
Терминал заблокируется т.к. никто из pipe1 не читает.
Чтобы прочитать, надо в другом терминале сделать:
Напечатает 123, а первый терминал разблокируется
В терминале есть pipes:
echo "one two three" | wc -w
Выведет 3, т.к. в строке 3 слова.
pipe - это |
Но еще есть named pipes. С ними работать надо немного по-другому. Сперва создаем:
mkfifo pipe1
В текущей директории появляется файл pipe1. И теперь в него можно писать, как в файл:
echo "123" > pipe1
Терминал заблокируется т.к. никто из pipe1 не читает.
Чтобы прочитать, надо в другом терминале сделать:
cat < pipe1
Напечатает 123, а первый терминал разблокируется
👍23
Ночь открытий
Если в терминале написать:
То попадешь в директорию из которой делал cd до этого. Я это использовал давно, но оказывается это работает и с ветками git:
или если есть алиас:
Если в терминале написать:
cd -
То попадешь в директорию из которой делал cd до этого. Я это использовал давно, но оказывается это работает и с ветками git:
git checkout -
или если есть алиас:
gco -
👍14😁3❤2
#книги
William E. Shotts - The Linux Command Line
11.05.2025 - 28.07.2025
Книга мне понравилась и она отличная. Теперь считаю, что она должна быть первой в изучении линукса(и даже MacOS). "Знать линукс" в большей степени значит знать, как работать в терминале и поэтому эту книгу можно воспринимать именно, как вводную в линукс. Жалею, что не прочитал ее раньше, так как многие вещи узнал более сложным путем :)
Книга состоит из 4х частей. Первая написана максимально просто и продуманно, так как надо для того, чтобы начать с чем-то работать (с терминалом в данном случае) - этим она очень понравилась. Вторая и третья про различные утилиты: sort, head, cat, tr и некоторые экстравагантные. А четвертая про shell скрипты. Эту часть читать было скучновато т.к. там в том числе объяснялись вещи известные программистам, вроде условий и циклов и еще раз читать про них было полезно только чтобы увидеть, какой у них синтаксис, но были и некоторые интересные приемы, ради которых ее и не пропустил. Ну и еще, чтобы к синтаксису привыкнуть и более осознанно смотреть на .sh скрипты, которые встречаются.
Книгу надо обновить. Она 2019 года. Надеюсь в 3м издании, которое выходит в начале 2026 года будет много поправлено.
- Рассказывается про init, хотя уже тогда systemd был популярен
- Глава про пакетные менеджеры. Неплохо бы добавить pacman
- В главе работу с диском много старого. Флоппи, CD-RW итд.
- Логи читаются не через journalctl
- Я бы убрал главу про печать, разделы про groff и подобное.
Однако! Когда я гуглил, когда выйдет 3е издание, то обнаружил, что на сайте автора бесплатно публикуется Internet Edition, которое потом превращается в продаваемое Edition. В этом интернет издании уже много изменений.
William E. Shotts - The Linux Command Line
11.05.2025 - 28.07.2025
Книга мне понравилась и она отличная. Теперь считаю, что она должна быть первой в изучении линукса(и даже MacOS). "Знать линукс" в большей степени значит знать, как работать в терминале и поэтому эту книгу можно воспринимать именно, как вводную в линукс. Жалею, что не прочитал ее раньше, так как многие вещи узнал более сложным путем :)
Книга состоит из 4х частей. Первая написана максимально просто и продуманно, так как надо для того, чтобы начать с чем-то работать (с терминалом в данном случае) - этим она очень понравилась. Вторая и третья про различные утилиты: sort, head, cat, tr и некоторые экстравагантные. А четвертая про shell скрипты. Эту часть читать было скучновато т.к. там в том числе объяснялись вещи известные программистам, вроде условий и циклов и еще раз читать про них было полезно только чтобы увидеть, какой у них синтаксис, но были и некоторые интересные приемы, ради которых ее и не пропустил. Ну и еще, чтобы к синтаксису привыкнуть и более осознанно смотреть на .sh скрипты, которые встречаются.
Книгу надо обновить. Она 2019 года. Надеюсь в 3м издании, которое выходит в начале 2026 года будет много поправлено.
- Рассказывается про init, хотя уже тогда systemd был популярен
- Глава про пакетные менеджеры. Неплохо бы добавить pacman
- В главе работу с диском много старого. Флоппи, CD-RW итд.
- Логи читаются не через journalctl
- Я бы убрал главу про печать, разделы про groff и подобное.
Однако! Когда я гуглил, когда выйдет 3е издание, то обнаружил, что на сайте автора бесплатно публикуется Internet Edition, которое потом превращается в продаваемое Edition. В этом интернет издании уже много изменений.
🔥6👍3❤1
Как я хотел почитать комментарии к книге на амазоне и столкнулся с тремя проблемами
Первая
Логинюсь на айпаде, ввожу логин+пароль. Получаю: "свяжитесь с поддержкой".
Думаю может с компа попробовать. Я там даже залогинен. Разлогиниваюсь. Пытаюсь залогиниться и получаю "свяжитесь с поддержкой".
Жму кнопку связи с поддержкой и там написано, что если не можете залогиниться, то смените пароль.
Ок. Меняю пароль, логинюсь и.... "свяжитесь с поддержкой".
Единственный оставшийся вариант - позвонить на номер в США.
Как мне кажется, уже на этом этапе очень много людей может отсеяться т.к. могут не знать языка или не иметь возможности позвонить в США.
Вторая
Но у меня же есть скайп!
Логинюсь в майкрософт, двойная аутентификация, получаю код на почте, ввожу его и: смените пароль...
Меняю пароль и еще раз ввожу код с почты
Пароль успешно сменился теперь надо залогиниться. Логинюсь и опять ввожу код с почты.
Hacker: 'I'm in'
Третья
Майкрософт любит спустя какое-то время неактивности как-то архивировать деньги на счете скайпа. Зачем? Почему? Непонятно.
Разархивировать их можно просто нажав кнопку и подождав до 15 минут (у меня вышло быстро).
Для меня загадка зачем это им нужно, но даже если и нужно, то зачем пользователю знать это все? Архивировали и разархивировали бы все это в фоне, без моего участия. Но нет, надо жизнь усложнить. Но они же сами функционал писали для этого, кнопочти на фронте рисовали...
Ладно, деньги разархивированы. Звоним.
По итогу спросили телефон и мое имя и сказали, что в течении часа я получу письмо, где надо будет загрузить паспорт с моим именем и с этого момента через 24 часа разблокируют. (наверное опять придется сбросить пароль)
Я ведь просто хотел почитать комментарии на амазоне😭
Первая
Логинюсь на айпаде, ввожу логин+пароль. Получаю: "свяжитесь с поддержкой".
Думаю может с компа попробовать. Я там даже залогинен. Разлогиниваюсь. Пытаюсь залогиниться и получаю "свяжитесь с поддержкой".
Жму кнопку связи с поддержкой и там написано, что если не можете залогиниться, то смените пароль.
Ок. Меняю пароль, логинюсь и.... "свяжитесь с поддержкой".
Единственный оставшийся вариант - позвонить на номер в США.
Как мне кажется, уже на этом этапе очень много людей может отсеяться т.к. могут не знать языка или не иметь возможности позвонить в США.
Вторая
Но у меня же есть скайп!
Логинюсь в майкрософт, двойная аутентификация, получаю код на почте, ввожу его и: смените пароль...
Меняю пароль и еще раз ввожу код с почты
Пароль успешно сменился теперь надо залогиниться. Логинюсь и опять ввожу код с почты.
Hacker: 'I'm in'
Третья
Майкрософт любит спустя какое-то время неактивности как-то архивировать деньги на счете скайпа. Зачем? Почему? Непонятно.
Разархивировать их можно просто нажав кнопку и подождав до 15 минут (у меня вышло быстро).
Для меня загадка зачем это им нужно, но даже если и нужно, то зачем пользователю знать это все? Архивировали и разархивировали бы все это в фоне, без моего участия. Но нет, надо жизнь усложнить. Но они же сами функционал писали для этого, кнопочти на фронте рисовали...
Ладно, деньги разархивированы. Звоним.
По итогу спросили телефон и мое имя и сказали, что в течении часа я получу письмо, где надо будет загрузить паспорт с моим именем и с этого момента через 24 часа разблокируют. (наверное опять придется сбросить пароль)
Я ведь просто хотел почитать комментарии на амазоне😭
pacman -Syu
В пакмане не нравилось, что при обновлении список пакетов выводится через пробел (1й скрин). Мне было неудобно искать, есть ли обновления каких-то конкретных пакетов. Но оказывается можно этот список выводить построчно (2й скрин).
Сделать можно раскомментировав строку
В пакмане не нравилось, что при обновлении список пакетов выводится через пробел (1й скрин). Мне было неудобно искать, есть ли обновления каких-то конкретных пакетов. Но оказывается можно этот список выводить построчно (2й скрин).
Сделать можно раскомментировав строку
VerbosePkgLists в /etc/pacman.conf.👍14 11 4 3🔥1
Алгоритм любой оптимизации
Порядок шагов и сам факт их наличия важен. Можно представить ситуацию, где игнорирование какого-либо шага приведет к негативным последствиям
Также важно помнить, что в большинстве случаев производительность кода и его читаемость находятся в обратной зависимости, и задача сводится к поиску баланса между ними. Если бы абсолютный приоритет всегда отдавался производительности, мы бы писали программы на ассемблере. Но производительность не единственный критерий качества кода
Алгоритм:
Я считаю, что реальность такова, что проблемы начинаются на самом первом пункте. Почему-то сам процесс оптимизации довольно привлекателен для разработчиков. Возможно потому что скорость выполнения - довольно очевидная метрика. А может еще и потому, что обучение программированию в университетах происходит на языках вроде C++, где много внимания уделяется довольно низкоуровневым моментам вроде передачи по ссылке и т.д.. В итоге постоянно хочется всё оптимизировать. Но сам процесс оптимизации занимает время и при отсутствии требования к более высокой производительности, чем сейчас, это впустую потраченное время.
Когда я начинал программировать мне тоже очень нравилось заниматься оптимизациями. Тем более, что в инженерных расчетах результаты могли быть более заметными и например расчет вместо дней мог быть оптимизирован до секунд (если первая версия была совсем уж плохо написана). Но со временем к моему интересу оптимизировать добавился интерес писать понятный код, который удобно читать и использовать. Сейчас я считаю, что верно изначально писать именно читаемый и корректный код, а только потом проходится по описанному алгоритму оптимизации.
Есть много отличных мыслей на эту тему в книге Совершенный код (главы 25, 26).
И цитата Кнута про необходимость поиска бутылочного горлышка:
Порядок шагов и сам факт их наличия важен. Можно представить ситуацию, где игнорирование какого-либо шага приведет к негативным последствиям
Также важно помнить, что в большинстве случаев производительность кода и его читаемость находятся в обратной зависимости, и задача сводится к поиску баланса между ними. Если бы абсолютный приоритет всегда отдавался производительности, мы бы писали программы на ассемблере. Но производительность не единственный критерий качества кода
Алгоритм:
1. Напишите хороший и понятный код, поддающийся легкому изменению
2. Задаться вопросом: А есть ли требование, чтобы было производительнее или это моя внутренняя потребность что-то оптимизировать?
3. Произвести измерение производительности ВСЕЙ системы до оптимизации
4. Найти бутылочное горлышко (Часть системы, которая вносит больший вклад в замедление производительности)
5. Произвести измерение производительности бутылочного горлышка
6. Написать тест на участок с бутылочным горлышком (если его еще нет)
7. Произвести оптимизацию (сохранив старую версию кода, чтобы можно было вернуться)
8. Произвести измерение производительности бутылочного горлышка и сравнить с измерением до оптимизации
9. Произвести измерение производительности ВСЕЙ системы и сравнить с измерением до оптимизации
Я считаю, что реальность такова, что проблемы начинаются на самом первом пункте. Почему-то сам процесс оптимизации довольно привлекателен для разработчиков. Возможно потому что скорость выполнения - довольно очевидная метрика. А может еще и потому, что обучение программированию в университетах происходит на языках вроде C++, где много внимания уделяется довольно низкоуровневым моментам вроде передачи по ссылке и т.д.. В итоге постоянно хочется всё оптимизировать. Но сам процесс оптимизации занимает время и при отсутствии требования к более высокой производительности, чем сейчас, это впустую потраченное время.
Когда я начинал программировать мне тоже очень нравилось заниматься оптимизациями. Тем более, что в инженерных расчетах результаты могли быть более заметными и например расчет вместо дней мог быть оптимизирован до секунд (если первая версия была совсем уж плохо написана). Но со временем к моему интересу оптимизировать добавился интерес писать понятный код, который удобно читать и использовать. Сейчас я считаю, что верно изначально писать именно читаемый и корректный код, а только потом проходится по описанному алгоритму оптимизации.
Есть много отличных мыслей на эту тему в книге Совершенный код (главы 25, 26).
И цитата Кнута про необходимость поиска бутылочного горлышка:
Программисты тратят огромное количество времени, размышляя или беспокоясь о скорости неключевых частей своих программ, и такие попытки повысить эффективность на самом деле оказывают сильное негативное влияние, если учитывать отладку и сопровождение. Мы должны забыть о незначительных оптимизациях примерно в 97% случаев: преждевременная оптимизация — корень всех зол.
❤12 2
#книги
Michael W. Lucas - Networking for Systems Administrators
28.07.2025 - 18.08.2025
Всё еще ищу хорошую книгу про сети, которая будет состоять не на 100% из теории, как Таненбаум. Эта книга уже довольно практическая и не на 1000 страниц, как популярно в книгах по сетям, а всего на 180. Однако идеальной для первой книги тоже назвать сложно, какие-то базовые вещи не рассказываются, но тем не менее она неплоха.
В начале было немного более скучно, а потом стало интереснее. Возможно из-за того, что чем ближе к концу книги, тем выше по уровням сетевой модели поднимались. То есть Network и Transport уровни были интереснее мне, чем Data Link.
Понравилось, что есть примеры команд для терминала, чтобы можно было что-то самому посмотреть.
Не понравилось, что эти команды были относительно устаревшими: есть два популярных пакета сетевых утилит - net-tools (ifconfig, netstat, route, arp, hostname) и iproute2 (ip, ss, nstat) и второй более современный, а в книге в основном про первый была речь. Но утилиты в целом похожие и найти альтернативу из второго пакета не проблема.
Я наверное уже не верю, что существует книга, которую я могу советовать, как первую по сетям. Это не такая, но читать эту было далеко не бесполезно, ибо я что-то забыл, что-то не знал, и читая ее в голове появлялись какие-то ассоциации, я их гуглил и уточнял понимание. В первый раз кстати так плотно говорил с ChatGPT в Voice Mod, удобно вышло. В общем, чем больше что-то про какую-то тему через себя пропускаешь, даже знакомые вещи, просто в других формулировках, тем больше пазл складывается.
Michael W. Lucas - Networking for Systems Administrators
28.07.2025 - 18.08.2025
Всё еще ищу хорошую книгу про сети, которая будет состоять не на 100% из теории, как Таненбаум. Эта книга уже довольно практическая и не на 1000 страниц, как популярно в книгах по сетям, а всего на 180. Однако идеальной для первой книги тоже назвать сложно, какие-то базовые вещи не рассказываются, но тем не менее она неплоха.
В начале было немного более скучно, а потом стало интереснее. Возможно из-за того, что чем ближе к концу книги, тем выше по уровням сетевой модели поднимались. То есть Network и Transport уровни были интереснее мне, чем Data Link.
Понравилось, что есть примеры команд для терминала, чтобы можно было что-то самому посмотреть.
Не понравилось, что эти команды были относительно устаревшими: есть два популярных пакета сетевых утилит - net-tools (ifconfig, netstat, route, arp, hostname) и iproute2 (ip, ss, nstat) и второй более современный, а в книге в основном про первый была речь. Но утилиты в целом похожие и найти альтернативу из второго пакета не проблема.
Я наверное уже не верю, что существует книга, которую я могу советовать, как первую по сетям. Это не такая, но читать эту было далеко не бесполезно, ибо я что-то забыл, что-то не знал, и читая ее в голове появлялись какие-то ассоциации, я их гуглил и уточнял понимание. В первый раз кстати так плотно говорил с ChatGPT в Voice Mod, удобно вышло. В общем, чем больше что-то про какую-то тему через себя пропускаешь, даже знакомые вещи, просто в других формулировках, тем больше пазл складывается.
❤6 1
TIL Github reactions sort
В гитхабе можно сортировать PR по числу реакций. Удобно
В гитхабе можно сортировать PR по числу реакций. Удобно