Вот отсортированная база с тонной материала (постепенно пополняется):
(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++/C#
(343 видео, 87 книги) — Java/QA
(176 видео, 32 книги) — Git/Linux
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP/1С
(227 видео, 83 книги) — SQL/БД
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go/Rust
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(136 видео, 33 книги) — PM/HR
Скачивать ничего не нужно — все выложили в Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👎8👍1
Безопасный union — std::variant и std::visit!
Обычный
Сначала объявим удобный псевдоним для значения, которое может быть
Теперь напишем функцию-обработчик, которая по-разному реагирует на каждый возможный тип внутри
И маленький пример использования: одно и то же значение по очереди становится разными типами, а
🔥
📣 C++ Ready | #практика
Обычный
union в C++ легко приводит к UB: нужно самому следить, какой тип там сейчас хранится. std::variant из стандарта делает то же самое, но безопасно: внутри хранится ровно один из перечисленных типов и следит за активным вариантом.Сначала объявим удобный псевдоним для значения, которое может быть
int, double или std::string:using Value = std::variant<int, double, std::string>;
Теперь напишем функцию-обработчик, которая по-разному реагирует на каждый возможный тип внутри
Value с помощью std::visit:void handle(const Value& v) {
std::visit([](const auto& x) {
using T = std::decay_t<decltype(x)>;
if constexpr (std::is_same_v<T, int>) {
std::cout << "int: " << x << "\n";
} else if constexpr (std::is_same_v<T, double>) {
std::cout << "double: " << x << "\n";
} else {
std::cout << "string: " << x << "\n";
}
}, v);
}И маленький пример использования: одно и то же значение по очереди становится разными типами, а
std::visit всегда вызывается с актуальным вариантом:int main() {
Value v = 42;
handle(v); // int: 42
v = 3.14;
handle(v); // double: 3.14
v = std::string("hello");
handle(v); // string: hello
return 0;
}std::variant + std::visit дают безопасный, типобезопасный union и аккуратную обработку нескольких типов без кастов и ручного трекинга «какой тип лежит внутри».Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6❤4👎3🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
⭕ Джуны в IT никому не нужны! А знаешь почему?
Новички отправляют 100 резюме, ходят на собеседования, сверкают знаниями, но постоянно слышат «нужен опыт»! Хотя это огромная ЛОЖЬ!
Работодателю плевать, сколько лет в трудовой написано. Ему нужен человек, который может:
✅ разобраться в тех.задании от людей, которые ничего не понимают в IT
✅ уметь вести переговоры с заказчиком по техническим вопросам
✅ донести потребности клиента до программистов и РЕШИТЬ ЗАДАЧУ!
Тот, кто понимает разницу между теорией и практикой, качает нужные скиллы, тот получает офферы 180-200к. Даже без опыта в IT. Потому что они с первых фраз показывают свою компетентность, а не теорию.
🔎 На канале Старт карьеры IT | System Analyst вы найдете всё необходимое, чтобы получить хороший оффер, а не очередное «приходите, когда наберетесь опыта»!
НАЧНИТЕ ЗДЕСЬ: @start_IT_Olepo
Новички отправляют 100 резюме, ходят на собеседования, сверкают знаниями, но постоянно слышат «нужен опыт»! Хотя это огромная ЛОЖЬ!
Работодателю плевать, сколько лет в трудовой написано. Ему нужен человек, который может:
✅ разобраться в тех.задании от людей, которые ничего не понимают в IT
✅ уметь вести переговоры с заказчиком по техническим вопросам
✅ донести потребности клиента до программистов и РЕШИТЬ ЗАДАЧУ!
Тот, кто понимает разницу между теорией и практикой, качает нужные скиллы, тот получает офферы 180-200к. Даже без опыта в IT. Потому что они с первых фраз показывают свою компетентность, а не теорию.
🔎 На канале Старт карьеры IT | System Analyst вы найдете всё необходимое, чтобы получить хороший оффер, а не очередное «приходите, когда наберетесь опыта»!
НАЧНИТЕ ЗДЕСЬ: @start_IT_Olepo
👎7❤1
Когда вывод разбросан по
cout и printf, его трудно менять; удобнее собрать текст по шаблону и лишь подставлять нужные значения.В этом гайде:
• Посмотрим, как собирать аккуратный текст из значений;
• Разберём примеры выравнивания и красивых табличных чисел;
• Сделаем простой и понятный лог без склейки строк.
Освоив такой подход, вы сможете держать формат текста в одном месте и менять его без боязни сломать вывод.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥8🤝8👍1