This media is not supported in your browser
VIEW IN TELEGRAM
Совет💡: Chrome DevTools позволяет переопределять содержимое Fetch/XHR-запросов! Это полезно для мокирования API без необходимости ждать изменений на стороне бэкенда.
#Tools@bookflow
👉 @Bookflow
#Tools@bookflow
👉 @Bookflow
🐧 Вы уже работаете с Linux, но хотите оперативно устранять сбои и решать нестандартные задачи при настройке серверов?
💪 Все продвинутые навыки — от баш-скриптов и умения гибко рулить авторизацией до применения подхода Infrastructure as code — ждут вас на онлайн-курсе «Administrator Linux. Professional» от OTUS.
Пройдите тестирование, чтобы:
- оценить свои навыки;
- занять место на курсе по специальной цене;
- получить доступ к бесплатным урокам курса (доступны сайте курса).
👉 Полное тестирование: https://vk.cc/cIcXO5
💪 Все продвинутые навыки — от баш-скриптов и умения гибко рулить авторизацией до применения подхода Infrastructure as code — ждут вас на онлайн-курсе «Administrator Linux. Professional» от OTUS.
Пройдите тестирование, чтобы:
- оценить свои навыки;
- занять место на курсе по специальной цене;
- получить доступ к бесплатным урокам курса (доступны сайте курса).
👉 Полное тестирование: https://vk.cc/cIcXO5
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Внутреннее устройство Linux - доступно, но всерьез.
Уроки по Linux от Дмитрия Кетова для самостоятельного обучаения.
https://www.youtube.com/c/DmitryKetov/playlists
#linux@bookflow
👉 @Bookflow
Уроки по Linux от Дмитрия Кетова для самостоятельного обучаения.
https://www.youtube.com/c/DmitryKetov/playlists
#linux@bookflow
👉 @Bookflow
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Dangerous Dave
Серия видеороликов, показывающих начинающим программистам, как воссоздать Dangerous Dave с помощью C и SDL (2 часа)
источник
#cpp@bookflow
👉 @Bookflow
Серия видеороликов, показывающих начинающим программистам, как воссоздать Dangerous Dave с помощью C и SDL (2 часа)
источник
#cpp@bookflow
👉 @Bookflow
Высокая производительность и безопасность? Да, это про Rust.
Изучайте Rust в нашем курсе-тренажёре!
Получайте практические навыки с первого урока вместе с автором курса и опытным наставником.
Курс-тренажёр - это:
💡 100+ практических задач
💡 пет-проекты в портфолио: blockchain, frontend и backend
💡 code review от наших наставников 24/7 с нашим AI-помощником Ду-Ду
💡 бессрочный доступ к актуальной программе: обновляем каждые 3 месяца
💡 бесплатный демо-доступ с практикой
Для кого этот курс:
для разработчиков на системных языках C и C++
для разработчиков, которые взаимодействуют с высокоуровневыми языками (Python, JavaScript, Java и C#)
Уже сейчас вам доступны 3 первых урока:
Урок #1 | Выбор IDE, установка окружения и первый "hello world"
Соберёте и запустите первый "hello world" проект.
Урок #2 | Базовый синтаксис
Научитесь писать Rust код в процедурном стиле. Изучите типы данных, встроенные и пользовательские типы, функции и переменные
Урок #3 | Владение и заимствование
Используете механизмы управления памятью и ссылками. Решите несколько задач на владение, заимствование и слайсы.
➡️ Получить демо-доступ сейчас
Реклама. Информация о рекламодателе
Изучайте Rust в нашем курсе-тренажёре!
Получайте практические навыки с первого урока вместе с автором курса и опытным наставником.
Курс-тренажёр - это:
Для кого этот курс:
для разработчиков на системных языках C и C++
для разработчиков, которые взаимодействуют с высокоуровневыми языками (Python, JavaScript, Java и C#)
Уже сейчас вам доступны 3 первых урока:
Урок #1 | Выбор IDE, установка окружения и первый "hello world"
Соберёте и запустите первый "hello world" проект.
Урок #2 | Базовый синтаксис
Научитесь писать Rust код в процедурном стиле. Изучите типы данных, встроенные и пользовательские типы, функции и переменные
Урок #3 | Владение и заимствование
Используете механизмы управления памятью и ссылками. Решите несколько задач на владение, заимствование и слайсы.
Реклама. Информация о рекламодателе
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Жизнь программиста
Как правильно писать комментарии в коде, чтобы не бесить коллег?
Когда-то давно я думал, что комментарии — это зло. «Хороший код говорит сам за себя!» — говорил я. Потом пришел кода в большой проект и потратил три часа на разбор функции processData(), которая делала… что-то.
📝 Главное правило: комментарии нужны не для очевидных вещей, а для объяснения сложных решений и бизнес-логики.
✅ Пишите почему, а не что
❌ // Уменьшаем баланс пользователя
✅ // Списываем сумму только после проверки, чтобы избежать дублей
✅ Избегайте очевидных комментариев
❌ // Устанавливаем X в 10
int x = 10;
✅ Объясняйте магию
Если формула или алгоритм нетривиальны, объясните, почему они такие.
✅ Следите за актуальностью
Старые, нерелевантные комментарии хуже, чем их отсутствие. Они вводят в заблуждение.
Какой самый худший комментарий вам встречался? 😅
🔔 @lifeproger
Когда-то давно я думал, что комментарии — это зло. «Хороший код говорит сам за себя!» — говорил я. Потом пришел кода в большой проект и потратил три часа на разбор функции processData(), которая делала… что-то.
📝 Главное правило: комментарии нужны не для очевидных вещей, а для объяснения сложных решений и бизнес-логики.
✅ Пишите почему, а не что
❌ // Уменьшаем баланс пользователя
✅ // Списываем сумму только после проверки, чтобы избежать дублей
✅ Избегайте очевидных комментариев
❌ // Устанавливаем X в 10
int x = 10;
✅ Объясняйте магию
Если формула или алгоритм нетривиальны, объясните, почему они такие.
// Используем формулу Гаусса для быстрого вычисления суммы от 1 до N
return (n * (n + 1)) / 2;
✅ Следите за актуальностью
Старые, нерелевантные комментарии хуже, чем их отсутствие. Они вводят в заблуждение.
Какой самый худший комментарий вам встречался? 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Как выбрать идеальный стек технологий?
Каждый программист хоть раз задавался вопросом: на каком стеке писать проект? Кто-то гонится за хайпом, кто-то выбирает проверенные решения, а кто-то берёт первое, что пришло в голову. Давай разберёмся, как выбрать технологии правильно.
1️⃣ Определи цели проекта
Если тебе нужно быстро запустить MVP – смотри в сторону фреймворков с богатой экосистемой (Django, Laravel, Next.js).
Если важна масштабируемость – обрати внимание на микросервисную архитектуру и язык, который лучше всего подходит для этих целей (Golang, Java, Node.js).
2️⃣ Посмотри на рынок
Выбрал язык? Отлично! Теперь узнай:
- Насколько востребованы специалисты?
- Есть ли хорошие библиотеки и фреймворки?
- Как развиваются технологии?
💡 Пример: Python – крутой язык, но если пишешь highload-систему, лучше глянуть на Rust или C++.
3️⃣ Проверь документацию и комьюнити
Хорошая документация = меньше боли. Если у технологии дохлый форум и обновления раз в три года – беги оттуда.
4️⃣ Экспериментируй
Лучший способ проверить стек – сделать pet-проект. Так ты поймёшь, удобно ли тебе работать с этими инструментами.
👉 @Bookflow
Каждый программист хоть раз задавался вопросом: на каком стеке писать проект? Кто-то гонится за хайпом, кто-то выбирает проверенные решения, а кто-то берёт первое, что пришло в голову. Давай разберёмся, как выбрать технологии правильно.
1️⃣ Определи цели проекта
Если тебе нужно быстро запустить MVP – смотри в сторону фреймворков с богатой экосистемой (Django, Laravel, Next.js).
Если важна масштабируемость – обрати внимание на микросервисную архитектуру и язык, который лучше всего подходит для этих целей (Golang, Java, Node.js).
2️⃣ Посмотри на рынок
Выбрал язык? Отлично! Теперь узнай:
- Насколько востребованы специалисты?
- Есть ли хорошие библиотеки и фреймворки?
- Как развиваются технологии?
💡 Пример: Python – крутой язык, но если пишешь highload-систему, лучше глянуть на Rust или C++.
3️⃣ Проверь документацию и комьюнити
Хорошая документация = меньше боли. Если у технологии дохлый форум и обновления раз в три года – беги оттуда.
4️⃣ Экспериментируй
Лучший способ проверить стек – сделать pet-проект. Так ты поймёшь, удобно ли тебе работать с этими инструментами.
👉 @Bookflow
🔥 Разбираемся с
Сегодня разберём мощный инструмент из стандартной библиотеки —
📌 Что такое
✅ Обычные функции
✅ Лямбды
✅ Функторы
✅ Указатели на методы и данные
🔹 Пример использования:
🔥 Чем
✅ Универсальность: избавляет от необходимости писать отдельные
✅ Чистый код: особенно полезен в шаблонных алгоритмах, где callable передаётся как параметр.
👉 @Bookflow
std::invoke
в C++ 🔥 Сегодня разберём мощный инструмент из стандартной библиотеки —
std::invoke
. Многие его игнорируют, но он может упростить вызов функций и методов, особенно в шаблонном коде. 📌 Что такое
std::invoke
? std::invoke
— это универсальный механизм вызова вызываемых объектов (callable). Он может вызывать: ✅ Обычные функции
✅ Лямбды
✅ Функторы
✅ Указатели на методы и данные
🔹 Пример использования:
#include <iostream>
#include <functional>
struct Foo {
void method(int x) {
std::cout << "Method called with " << x << '\n';
}
};
void function(int x) {
std::cout << "Function called with " << x << '\n';
}
int main() {
Foo foo;
// Вызов обычной функции
std::invoke(function, 42);
// Вызов метода класса через объект
std::invoke(&Foo::method, foo, 24);
// Вызов метода через указатель на объект
Foo* ptr = &foo;
std::invoke(&Foo::method, ptr, 77);
return 0;
}
🔥 Чем
std::invoke
полезен? ✅ Универсальность: избавляет от необходимости писать отдельные
if constexpr
для разных callable объектов. ✅ Чистый код: особенно полезен в шаблонных алгоритмах, где callable передаётся как параметр.
👉 @Bookflow
🎥 🐧 На открытом уроке «Каталоги /proc, /sys и /dev: виртуальные файловые системы Linux» вы разберётесь в том, что скрыто за системными процессами и как использовать эти данные для диагностики и мониторинга.
Что вы узнаете:
— Как устроены виртуальные файловые системы /proc, /sys и /dev.
— Какие данные помогают решать реальные задачи администрирования.
— Как формируются устройства в /dev и как связаны с ядром Linux.
⭐️ Спикер Андрей Буранов — системный администратор в VK, входит в топ-3 лучших преподавателей образовательных порталов.
⭐️ Встречаемся 17 февраля в 20:00 мск. Урок пройдет перед стартом курса «Administrator Linux. Professional», а все участники получат скидку на обучение.
👉 Участвуйте в вебинаре и добавьте уникальные скиллы в свой арсенал: https://vk.cc/cIwd6a
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Что вы узнаете:
— Как устроены виртуальные файловые системы /proc, /sys и /dev.
— Какие данные помогают решать реальные задачи администрирования.
— Как формируются устройства в /dev и как связаны с ядром Linux.
⭐️ Спикер Андрей Буранов — системный администратор в VK, входит в топ-3 лучших преподавателей образовательных порталов.
⭐️ Встречаемся 17 февраля в 20:00 мск. Урок пройдет перед стартом курса «Administrator Linux. Professional», а все участники получат скидку на обучение.
👉 Участвуйте в вебинаре и добавьте уникальные скиллы в свой арсенал: https://vk.cc/cIwd6a
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Ни одна реализация элементарных функций не соответствует стандарту IEEE 754
Введённый в 1985 году стандарт IEEE-754 для чисел с плавающей запятой был предназначен для решения проблемы разнородности реализаций чисел с плавающей запятой, мешавших портируемости кода, а также для повышения стабильности между платформами.
Он получил широкое применение и многократно пересматривался в течение прошедших лет. Если вы когда-нибудь работали с любыми вещественными числами в своих приложениях, то они, вероятно, отвечали этому стандарту.
Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности. В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций.
https://habr.com/ru/hubs/algorithms/articles/
👉 @Bookflow
Введённый в 1985 году стандарт IEEE-754 для чисел с плавающей запятой был предназначен для решения проблемы разнородности реализаций чисел с плавающей запятой, мешавших портируемости кода, а также для повышения стабильности между платформами.
Он получил широкое применение и многократно пересматривался в течение прошедших лет. Если вы когда-нибудь работали с любыми вещественными числами в своих приложениях, то они, вероятно, отвечали этому стандарту.
Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности. В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций.
https://habr.com/ru/hubs/algorithms/articles/
👉 @Bookflow
Forwarded from Жизнь программиста
🚀 Тёмные стороны фриланса: что не рассказывают новички
Фриланс — это свобода, деньги и работа в пижаме… Но давайте честно: не всё так радужно. Вот тёмные стороны удалёнки, о которых редко говорят:
🔴 Нет стабильности
Один месяц ты купаешься в деньгах, другой – считаешь копейки. Нужно либо иметь "финансовую подушку", либо выстраивать поток заказов.
🔴 Клиенты-ужасы
ТЗ меняется на ходу, дедлайны горят, а оплата "вот-вот придёт". Учись фильтровать заказчиков и заключать договоры (или хотя бы брать предоплату).
🔴 Бесконечная работа
Фрилансер — это не только кодинг, но и маркетинг, переговоры, бухучёт и даже психология. Не готов? Придётся научиться.
🔴 Нет коллег – нет общения
Скучаешь по офлайн-тимбилдингам и офисным мемам? Добро пожаловать в мир Slack-чатов и созвонов, где ты сам себе HR и тимлид.
Фриланс — это круто, но только если ты понимаешь риски и умеешь ими управлять. Готов ли ты к такому формату работы? 🤔
🔔 @lifeproger
Фриланс — это свобода, деньги и работа в пижаме… Но давайте честно: не всё так радужно. Вот тёмные стороны удалёнки, о которых редко говорят:
🔴 Нет стабильности
Один месяц ты купаешься в деньгах, другой – считаешь копейки. Нужно либо иметь "финансовую подушку", либо выстраивать поток заказов.
🔴 Клиенты-ужасы
ТЗ меняется на ходу, дедлайны горят, а оплата "вот-вот придёт". Учись фильтровать заказчиков и заключать договоры (или хотя бы брать предоплату).
🔴 Бесконечная работа
Фрилансер — это не только кодинг, но и маркетинг, переговоры, бухучёт и даже психология. Не готов? Придётся научиться.
🔴 Нет коллег – нет общения
Скучаешь по офлайн-тимбилдингам и офисным мемам? Добро пожаловать в мир Slack-чатов и созвонов, где ты сам себе HR и тимлид.
Фриланс — это круто, но только если ты понимаешь риски и умеешь ими управлять. Готов ли ты к такому формату работы? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM