📚Пять книг, которые изменили мою карьеру программиста
"Читатель проживает тысячу жизней, прежде чем умрет.. Человек, который никогда не читает, проживает только одну"
- Джордж Р.Р. Мартин.
Мне нравится думать, что я смог предвидеть множество проблем и извлек ценные уроки из следующих книг:
🔹 Программист-фанатик
🔹 Программист-прагматик. Путь от подмастерья к мастеру
🔹 Неписаные законы инженерной практики
🔹 Remote: офис не требуется
🔹 Explain the Cloud Like I'm 10
https://habr.com/ru/articles/593187/
👉 @bfbook
"Читатель проживает тысячу жизней, прежде чем умрет.. Человек, который никогда не читает, проживает только одну"
- Джордж Р.Р. Мартин.
Мне нравится думать, что я смог предвидеть множество проблем и извлек ценные уроки из следующих книг:
https://habr.com/ru/articles/593187/
👉 @bfbook
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Bash Советы
🧠 Bash-совет дня: Проверка скорости интернет-соединения прямо из терминала
Если тебе нужно быстро проверить скорость интернета на сервере (например, VPS), не устанавливая громоздкие GUI-программы — вот решение:
📝 Альтернатива без установки — через
📊 Удобно использовать при диагностике проблем с сетью, особенно на серверах в разных дата-центрах.
👉@bash_srv
Если тебе нужно быстро проверить скорость интернета на сервере (например, VPS), не устанавливая громоздкие GUI-программы — вот решение:
#!/bin/bash
# Проверяем наличие speedtest-cli
if ! command -v speedtest &> /dev/null; then
echo "⏳ Устанавливаем speedtest-cli..."
apt update && apt install -y speedtest-cli # Для Debian/Ubuntu
# yum install -y speedtest-cli # Для RHEL/CentOS
fi
# Запускаем тест скорости
echo "🚀 Проверяем скорость интернет-соединения..."
speedtest
📝 Альтернатива без установки — через
curl
:
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -
📊 Удобно использовать при диагностике проблем с сетью, особенно на серверах в разных дата-центрах.
👉@bash_srv
📚 Refactoring in Java: Improving code design and maintainability for Java developers
Автор: Stefano Violetta (2023)
Это практическое руководство по улучшению качества и поддерживаемости кода. Книга раскрывает ключевые принципы рефакторинга, помогает выявлять проблемные участки и формировать правильные привычки разработки.
В первой части рассмотрены базовые техники рефакторинга, методы тестирования и проектирования архитектуры на примерах из реальных проектов. Вторая часть учит выявлять «запахи кода», использовать инструменты автоматического рефакторинга и анализа. Третья часть посвящена постоянному развитию навыков, снижению рисков и оценке эффективности изменений.
👉 @bfbook
Автор: Stefano Violetta (2023)
Это практическое руководство по улучшению качества и поддерживаемости кода. Книга раскрывает ключевые принципы рефакторинга, помогает выявлять проблемные участки и формировать правильные привычки разработки.
В первой части рассмотрены базовые техники рефакторинга, методы тестирования и проектирования архитектуры на примерах из реальных проектов. Вторая часть учит выявлять «запахи кода», использовать инструменты автоматического рефакторинга и анализа. Третья часть посвящена постоянному развитию навыков, снижению рисков и оценке эффективности изменений.
👉 @bfbook
📖Обзор книги "Linux API. Исчерпывающее руководство", Майкл Керриск
Linux Programming Interface – исчерпывающее руководство по программированию приложений для Linux и UNIX. Описанный здесь интерфейс применяется практически с любыми приложениями, работающими в операционных системах Linux или UNIX.
В этой авторитетной книге эксперт по Linux Майкл Керриск, долгое время отвечавший за наполнение справочного ресурса man pages, подробно описывает библиотечные вызовы и библиотечные функции, которые понадобятся вам при системном программировании в Linux. Книга содержит множество продуманных полнофункциональных программ, доступно иллюстрирующих все теоретические концепции.
✅Плюсы
- Практическая направленность: Многочисленные примеры кода и упражнения.
- Подробные объяснения: Автор тщательно разбирает сложные темы, делая их доступными для понимания.
- Актуальность: Книга охватывает современные аспекты программирования на Linux, что делает её полезной для разработчиков.
❌Минусы
- Объем информации: Огромный объем материала может быть сложен для восприятия без предварительного опыта работы с Linux.
- Отсутствие поддержки других операционных систем: Книга целиком сосредоточена на Linux, что может ограничить её полезность для тех, кто работает с другими системами.
Читатели высоко оценивают книгу за ее подробное и всестороннее покрытие тем программирования на платформе Linux, отмечая, что она оправдывает своё название. Положительные отзывы подчеркивают глубокие объяснения и практическую направленность, благодаря чему книга является полезной как для новичков, так и для опытных разработчиков. Однако некоторые рецензенты указывают на сложность материала, требующую предварительных знаний и опыта работы с Linux.
Купить книгу
👉 @bfbook
Linux Programming Interface – исчерпывающее руководство по программированию приложений для Linux и UNIX. Описанный здесь интерфейс применяется практически с любыми приложениями, работающими в операционных системах Linux или UNIX.
В этой авторитетной книге эксперт по Linux Майкл Керриск, долгое время отвечавший за наполнение справочного ресурса man pages, подробно описывает библиотечные вызовы и библиотечные функции, которые понадобятся вам при системном программировании в Linux. Книга содержит множество продуманных полнофункциональных программ, доступно иллюстрирующих все теоретические концепции.
✅Плюсы
- Практическая направленность: Многочисленные примеры кода и упражнения.
- Подробные объяснения: Автор тщательно разбирает сложные темы, делая их доступными для понимания.
- Актуальность: Книга охватывает современные аспекты программирования на Linux, что делает её полезной для разработчиков.
❌Минусы
- Объем информации: Огромный объем материала может быть сложен для восприятия без предварительного опыта работы с Linux.
- Отсутствие поддержки других операционных систем: Книга целиком сосредоточена на Linux, что может ограничить её полезность для тех, кто работает с другими системами.
Читатели высоко оценивают книгу за ее подробное и всестороннее покрытие тем программирования на платформе Linux, отмечая, что она оправдывает своё название. Положительные отзывы подчеркивают глубокие объяснения и практическую направленность, благодаря чему книга является полезной как для новичков, так и для опытных разработчиков. Однако некоторые рецензенты указывают на сложность материала, требующую предварительных знаний и опыта работы с Linux.
Купить книгу
👉 @bfbook
📚Книги по C# для новичков в разработке
Разработчикам любого уровня нужно постоянно учиться — смотреть, слушать и читать всё, что может пригодиться для развития и становления в качестве специалиста. Особенно это касается новичков в разработке, ведь им нужно освоить огромное количество информации. И книги — один из лучших источников её получения.
🔹Head First. Изучаем C#. 4-е изд.
Авторы: Эндрю Стиллмен, Дженнифер Грин
В книге раскрывается необходимый минимум инструментов и знаний для новичка. После знакомства с ней можно начинать работать над не очень сложными проектами, включая игры.
Достоинством издания является интересная подача информации. Конечно, в ней много сложных вещей, с которыми предстоит разобраться, но всё это подаётся максимально подробно и доступно.
🔹Библия C#. 6-е изд.
Автор: Михаил Фленов
Это настольная книга программиста, которая позволяет ознакомиться с базовыми основами языка. В ней показано, как разрабатывать программы для командной строки и что необходимо для создания веб-приложений.
Для того чтобы читатель лучше осваивал материал, автор постарался предоставить большое количество практических примеров, в которых он объясняет, за что отвечает каждый из блоков программы.
🔹C# 10 и .NET 6. Современная кросс-платформенная разработка
Автор: Марк Прайс
В шестом издании книги автор рассказывает о принципах объектно ориентированного программирования. Он учит писать, тестировать функции плюс заниматься отладкой, созданием интерфейсов и т. п.
Отдельный раздел посвящён API .NET для управления данными, мониторинга производительности, работы с файловой системой, асинхронными потоками, сериализацией и шифрованием.
🔹Изучаем C# через разработку игр на Unity. 5-е издание
Автор: Харрисон Ферроне
Автор считает, что один из лучших способов освоения практического материала, изучения программирования — создание простой игры на Unity. В этом издании показаны последние версии функции языка на примерах из Unity, кроме того, появилась новая глава о промежуточных типах коллекций.
🔹C# на примерах. Практика, практика и только практика
Автор: Евдокимов П. В.
Уже по названию книги понятно, о чём в ней пойдёт речь. Автор рассказывает программистам, у которых уже есть определённая база, как выполнять те либо иные практические задачи. Подача материала — отличная, читать всё это не скучно, разобраться может и новичок.
👉 @bfbook
Разработчикам любого уровня нужно постоянно учиться — смотреть, слушать и читать всё, что может пригодиться для развития и становления в качестве специалиста. Особенно это касается новичков в разработке, ведь им нужно освоить огромное количество информации. И книги — один из лучших источников её получения.
🔹Head First. Изучаем C#. 4-е изд.
Авторы: Эндрю Стиллмен, Дженнифер Грин
В книге раскрывается необходимый минимум инструментов и знаний для новичка. После знакомства с ней можно начинать работать над не очень сложными проектами, включая игры.
Достоинством издания является интересная подача информации. Конечно, в ней много сложных вещей, с которыми предстоит разобраться, но всё это подаётся максимально подробно и доступно.
🔹Библия C#. 6-е изд.
Автор: Михаил Фленов
Это настольная книга программиста, которая позволяет ознакомиться с базовыми основами языка. В ней показано, как разрабатывать программы для командной строки и что необходимо для создания веб-приложений.
Для того чтобы читатель лучше осваивал материал, автор постарался предоставить большое количество практических примеров, в которых он объясняет, за что отвечает каждый из блоков программы.
🔹C# 10 и .NET 6. Современная кросс-платформенная разработка
Автор: Марк Прайс
В шестом издании книги автор рассказывает о принципах объектно ориентированного программирования. Он учит писать, тестировать функции плюс заниматься отладкой, созданием интерфейсов и т. п.
Отдельный раздел посвящён API .NET для управления данными, мониторинга производительности, работы с файловой системой, асинхронными потоками, сериализацией и шифрованием.
🔹Изучаем C# через разработку игр на Unity. 5-е издание
Автор: Харрисон Ферроне
Автор считает, что один из лучших способов освоения практического материала, изучения программирования — создание простой игры на Unity. В этом издании показаны последние версии функции языка на примерах из Unity, кроме того, появилась новая глава о промежуточных типах коллекций.
🔹C# на примерах. Практика, практика и только практика
Автор: Евдокимов П. В.
Уже по названию книги понятно, о чём в ней пойдёт речь. Автор рассказывает программистам, у которых уже есть определённая база, как выполнять те либо иные практические задачи. Подача материала — отличная, читать всё это не скучно, разобраться может и новичок.
👉 @bfbook
🛡Децентрализованные приложения (dApps) — от идеи до реального продукта
Вы узнаете, как создаются современные приложения на блокчейне — без серверов, посредников и единого центра управления.
Простыми словами разберем:
- Что такое dApps и чем они отличаются от обычных мобильных приложений.
- Как превратить свою идею в работающий блокчейн-проект — пошаговый план.
- Какие инструменты используют разработчики (и как в этом разобраться без технического бэкграунда).
На живом примере вместе пройдем путь от задумки до готового прототипа — вы увидите, как выглядит процесс разработки "под капотом".
👉 Регистрация и подробности о курсе “Разработка децентрализованных приложений”
https://vk.cc/cM5ksB
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Вы узнаете, как создаются современные приложения на блокчейне — без серверов, посредников и единого центра управления.
Простыми словами разберем:
- Что такое dApps и чем они отличаются от обычных мобильных приложений.
- Как превратить свою идею в работающий блокчейн-проект — пошаговый план.
- Какие инструменты используют разработчики (и как в этом разобраться без технического бэкграунда).
На живом примере вместе пройдем путь от задумки до готового прототипа — вы увидите, как выглядит процесс разработки "под капотом".
👉 Регистрация и подробности о курсе “Разработка децентрализованных приложений”
https://vk.cc/cM5ksB
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📚 Optimized Computer Programming With C#10 And .NET 6: Dive into Advanced Strategies for Crafting Lightning-Fast, Resilient Applications with C# 10.0 and .NET 6
Автор: Ibrahim Anderson (2024)
Это руководство по освоению высокопроизводительных вычислений. Откройте для себя передовые технологии, необходимые каждому ведущему разработчику для создания эффективных, масштабируемых приложений, которые выделяются в конкурентной отрасли.
Познакомьтесь с передовыми методами оптимизации, адаптированными для C# 10 и .NET 6, от основ настройки производительности до мощных стратегий управления памятью, многопоточности и SIMD-операций.
👉 @bfbook
Автор: Ibrahim Anderson (2024)
Это руководство по освоению высокопроизводительных вычислений. Откройте для себя передовые технологии, необходимые каждому ведущему разработчику для создания эффективных, масштабируемых приложений, которые выделяются в конкурентной отрасли.
Познакомьтесь с передовыми методами оптимизации, адаптированными для C# 10 и .NET 6, от основ настройки производительности до мощных стратегий управления памятью, многопоточности и SIMD-операций.
👉 @bfbook
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🔥 Как я чуть не уронил прод из-за cronjob
Обычное утро. Кофе, стендап, лёгкий PR в репу. И тут в монитор как шарахнет — прод API стал отвечать 5xx. Паника, алерты, PagerDuty в слезах.
📌 Что случилось?
Каждый день в 04:00 по UTC запускался innocently выглядящий
Результат:
* Cronjob выжрал CPU ноды.
* Redis улетел в swap.
* Лимиты на pod’ах не были прописаны.
* Horizontal Pod Autoscaler на проде не догнал ситуацию.
* Пользователи увидели 503.
💡 Выводы, которые я сделал и которые сэкономят вам время и нервы:
1️⃣ Cronjob != безобидный скрипт. Он может быть убийцей.
2️⃣ У cronjob должны быть:
*
*
*
*
3️⃣ Разделяй traffic и batch workloads. Лучше – на уровне неймспейсов/taints.
4️⃣ Логируй отдельно вывод cronjob, а не в общие логи.
5️⃣ Придумай throttling для тяжелых задач. И используй
🛡️ А лучше всего — не доверяй cronjob, пока не докажет, что он не пёс-камикадзе.
Подпишись 👉@devopslib
Обычное утро. Кофе, стендап, лёгкий PR в репу. И тут в монитор как шарахнет — прод API стал отвечать 5xx. Паника, алерты, PagerDuty в слезах.
📌 Что случилось?
Каждый день в 04:00 по UTC запускался innocently выглядящий
cronjob
в Kubernetes. Он гонял тяжелую агрегацию по БД и триггерил пересчёт данных в Redis. Всё было нормально… пока нагрузка на базу не выросла, а кластер не стал экономить CPU.Результат:
* Cronjob выжрал CPU ноды.
* Redis улетел в swap.
* Лимиты на pod’ах не были прописаны.
* Horizontal Pod Autoscaler на проде не догнал ситуацию.
* Пользователи увидели 503.
💡 Выводы, которые я сделал и которые сэкономят вам время и нервы:
1️⃣ Cronjob != безобидный скрипт. Он может быть убийцей.
2️⃣ У cronjob должны быть:
*
resource limits/requests
*
successfulJobsHistoryLimit
*
failedJobsHistoryLimit
*
ttlSecondsAfterFinished
3️⃣ Разделяй traffic и batch workloads. Лучше – на уровне неймспейсов/taints.
4️⃣ Логируй отдельно вывод cronjob, а не в общие логи.
5️⃣ Придумай throttling для тяжелых задач. И используй
nice
/ ionice
если запускаешь скрипты.🛡️ А лучше всего — не доверяй cronjob, пока не докажет, что он не пёс-камикадзе.
Подпишись 👉@devopslib
🤖 Тест по Rust проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на курс "Rust Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 5 месяцев обучения ты разберёшь ключевые особенности Rust и сможешь не только разрабатывать сложные программные продукты, но и в целом лучше проектировать ПО.
➡️ ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Ответишь — пройдешь на курс "Rust Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 5 месяцев обучения ты разберёшь ключевые особенности Rust и сможешь не только разрабатывать сложные программные продукты, но и в целом лучше проектировать ПО.
➡️ ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📚Java Software Solutions, Foundations of Program Design, 10th Edition
Автор: John Lewis (2024)
Автор научит создавать настоящие объектно-ориентированные решения с нуля. Книга охватывает ключевые темы: принципы ООП, наследование, полиморфизм, интерфейсы и обработку исключений.
Принципы чистого кода и шаблоны проектирования помогут разрабатывать качественное ПО. Примеры разного уровня сложности, включая многопоточность и работу с GUI, помогут прокачать навыки проектирования и решения задач.
👉 @bfbook
Автор: John Lewis (2024)
Автор научит создавать настоящие объектно-ориентированные решения с нуля. Книга охватывает ключевые темы: принципы ООП, наследование, полиморфизм, интерфейсы и обработку исключений.
Принципы чистого кода и шаблоны проектирования помогут разрабатывать качественное ПО. Примеры разного уровня сложности, включая многопоточность и работу с GUI, помогут прокачать навыки проектирования и решения задач.
👉 @bfbook
🎥 Вебинар: Маршрутизатор на базе Linux: настройка и запуск
📝 На вебинаре вы узнаете:
- Как настроить маршрутизацию в Linux и обеспечить доступ в интернет
- Что нужно для раздачи интернета внутри локальной сети
- Как настроить NAT и базовые правила iptables
- Какие возможности открывает использование Linux в роли роутера
💪 В результате:
- Сможете настроить Linux как маршрутизатор для локальной сети
- Научитесь применять iptables/NFT для управления трафиком и безопасности
- Попробуете настроить NAT и проброс портов
- Поймёте принципы маршрутизации и взаимодействия сетевых интерфейсов в Linux
🎁 Все участники вебинара получат скидку на курс "Administrator Linux. Professional".
👉 Для участия зарегистрируйтесь https://vk.cc/cM8ADM
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📝 На вебинаре вы узнаете:
- Как настроить маршрутизацию в Linux и обеспечить доступ в интернет
- Что нужно для раздачи интернета внутри локальной сети
- Как настроить NAT и базовые правила iptables
- Какие возможности открывает использование Linux в роли роутера
💪 В результате:
- Сможете настроить Linux как маршрутизатор для локальной сети
- Научитесь применять iptables/NFT для управления трафиком и безопасности
- Попробуете настроить NAT и проброс портов
- Поймёте принципы маршрутизации и взаимодействия сетевых интерфейсов в Linux
🎁 Все участники вебинара получат скидку на курс "Administrator Linux. Professional".
👉 Для участия зарегистрируйтесь https://vk.cc/cM8ADM
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Forwarded from Мир технологий и науки (Technology World)
Media is too big
VIEW IN TELEGRAM
Летающий мотоцикл Volonaut Airbike — прорыв в сфере персональной воздушной мобильности.
Футуристическое одноместное транспортное средство стало воплощением смелой концепции, которую часто можно увидеть в научно-фантастических фильмах.
Этот «супербайк для неба» работает на реактивной тяге и предназначен для перевозки одного человека на скоростях до 200 км/ч.
Запатентованная система стабилизации Airbike, усиленная полетным компьютером, обеспечивает автоматическое зависание и простоту управления для пилота.
Уникальная посадка с ничем не ограниченным обзором на 360 градусов помогает пилоту быстро слиться с машиной и ощутить полную свободу полета.
Благодаря сверхкомпактным габаритам и отсутствию вращающихся винтов, Airbike легко перемещается даже в тесных пространствах.
Airbike в 7 раз легче обычного мотоцикла благодаря использованию передовых углепластиковых материалов, 3D-печати и минималистичному дизайну.
👉@mir_teh
Футуристическое одноместное транспортное средство стало воплощением смелой концепции, которую часто можно увидеть в научно-фантастических фильмах.
Этот «супербайк для неба» работает на реактивной тяге и предназначен для перевозки одного человека на скоростях до 200 км/ч.
Запатентованная система стабилизации Airbike, усиленная полетным компьютером, обеспечивает автоматическое зависание и простоту управления для пилота.
Уникальная посадка с ничем не ограниченным обзором на 360 градусов помогает пилоту быстро слиться с машиной и ощутить полную свободу полета.
Благодаря сверхкомпактным габаритам и отсутствию вращающихся винтов, Airbike легко перемещается даже в тесных пространствах.
Airbike в 7 раз легче обычного мотоцикла благодаря использованию передовых углепластиковых материалов, 3D-печати и минималистичному дизайну.
👉@mir_teh