Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Что такое EBO (Empty Base Optimization)?
👾 — Способ оптимизации пустых функций
👍 — Метод оптимизации размера классов с пустыми базовыми классами
🥰 — Техника минимизации использования памяти
👻 — Техника минимизации использования памяти
Библиотека C/C++ разработчика
👾 — Способ оптимизации пустых функций
👍 — Метод оптимизации размера классов с пустыми базовыми классами
🥰 — Техника минимизации использования памяти
👻 — Техника минимизации использования памяти
Библиотека C/C++ разработчика
👍35🔥1👏1
Forwarded from Proglib.academy | IT-курсы
Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.
— Как египтяне строили пирамиды с помощью математики
— Почему Wi-Fi и JPEG невозможны без преобразования Фурье
— Что объединяет кота Шредингера и квантовые компьютеры
— Как формула Гаусса управляет фондовыми рынками
— И при чём тут Джеймс Гарфилд и i² = –1
🔗 Читайте статью
Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1👏1
Пишем игру для игровой ретро-консоли Anbernic на C++
💡 Автор статьи делится опытом создания игры-клона Google Dino для игровой ретро-консоли Anbernic на C++ и показывает весь процесс от настройки среды разработки до запуска готового проекта.
❗ Ключевые моменты статьи:
• настройка SSH-соединения и удалённой разработки через Visual Studio;
• использование кроссплатформенной библиотеки SDL2 для графики;
• организация проекта с использованием конечных автоматов;
• реализация правильных игровых механик с привязкой ко времени, а не к производительности.
Основной фокус — практические шаги для разработки нативных приложений под ARM-процессоры с Linux, включая тонкости развёртывания и запуска через bash-скрипты.
Особенно актуально для программистов C++, интересующихся встраиваемыми системами и кроссплатформенной разработкой игр для нестандартных устройств.
Вы узнаете, что для успешной разработки под такие устройства нужно не только знание C++ и Linux, но и понимание особенностей их архитектуры.
«Я пытался запустить свой код на игровой консоли, и ничего не работало... Хотя казалось, что это просто Linux с ARM процессором»
💡 Автор статьи делится опытом создания игры-клона Google Dino для игровой ретро-консоли Anbernic на C++ и показывает весь процесс от настройки среды разработки до запуска готового проекта.
❗ Ключевые моменты статьи:
• настройка SSH-соединения и удалённой разработки через Visual Studio;
• использование кроссплатформенной библиотеки SDL2 для графики;
• организация проекта с использованием конечных автоматов;
• реализация правильных игровых механик с привязкой ко времени, а не к производительности.
Основной фокус — практические шаги для разработки нативных приложений под ARM-процессоры с Linux, включая тонкости развёртывания и запуска через bash-скрипты.
Особенно актуально для программистов C++, интересующихся встраиваемыми системами и кроссплатформенной разработкой игр для нестандартных устройств.
Вы узнаете, что для успешной разработки под такие устройства нужно не только знание C++ и Linux, но и понимание особенностей их архитектуры.
❤5👍4🔥2
Forwarded from IT Job Hub | Работа и вакансии в IT
Работа на международном рынке — это не только доход в валюте, но и ценный опыт, развитие и конкурентоспособность. Однако ее поиск требует подготовки.
В первой части мы разобрали:
Теперь настало время погрузиться в следующий этап
В этой части мы разберем:
Если вы хотите работать в международной компании и получать оплату в долларах или евро, но не знаете, как пробиться на этот рынок — этот материал для вас
Please open Telegram to view this post
VIEW IN TELEGRAM
👾5👍2🥱1
Forwarded from IT Job Hub | Работа и вакансии в IT
Если вы следили за нашим мини-сериалом о валютной удаленке, то уже знаете:
И вот финальная часть — потому что оффер это только начало.
Что в статье:
Читать гайд по выживанию айтишника в валютных джунглях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Принято считать, что в C++ нет сборки мусора, но это не совсем так. Например, библиотека Boehm-Demers-Weiser (BDW) GC добавляет в C++ поддержку неинтрузивного сборщика мусора. Это значит, что можно выделять память через GC_malloc() и не беспокоиться о ручном освобождении — сборщик сам найдёт и очистит недостижимые объекты.
Хотя такой подход удобен для некоторых сценариев (например, сложные графы объектов), он не заменяет RAII и умные указатели. BDW GC требует осторожности с указателями и может уступать в производительности ручному управлению.
Подробнее о библиотеке: GitHub.
Хотя такой подход удобен для некоторых сценариев (например, сложные графы объектов), он не заменяет RAII и умные указатели. BDW GC требует осторожности с указателями и может уступать в производительности ручному управлению.
Подробнее о библиотеке: GitHub.
👍2🔥2
Плюсовики!
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый плюсовик.
➡️ Поддержать канал: https://www.tg-me.com/boost/cppproglib
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый плюсовик.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🥱9
Сомневаетесь в своем прогрессе? Мы собрали 7 четких признаков того, что вы реально растете как разраб. Спойлер: дело не только в коде!
👉 Подробнее в статье
👉 Подробнее в статье
❤1🔥1💯1
Media is too big
VIEW IN TELEGRAM
🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей
Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.
🧐 Но что, если есть простая формула, способная:
• Мгновенно определить, насколько «разбросаны» ваши данные
• Значительно улучшить точность ваших ML-моделей
• Помочь обнаружить аномалии, которые вы раньше не замечали
В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.
Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?
➡️ Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/af29291e
Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.
🧐 Но что, если есть простая формула, способная:
• Мгновенно определить, насколько «разбросаны» ваши данные
• Значительно улучшить точность ваших ML-моделей
• Помочь обнаружить аномалии, которые вы раньше не замечали
В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.
Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
rwkv.cpp — легковесная C++-библиотека для работы с моделями RWKV
Если вы работаете с языковыми моделями RWKV и хотите максимальной производительности без лишних зависимостей, обратите внимание на rwkv.cpp. Это минималистичная C++-реализация инференса для моделей RWKV, которая работает даже на CPU с поддержкой AVX/AVX2. Проект активно развивается и поддерживает загрузку весов из оригинальных моделей PyTorch.
Библиотека отлично подходит для встраивания в C++-приложения, где важны скорость и низкие накладные расходы. Код чистый и простой для модификации — если вам нужен эффективный инференс без перегруженных фреймворков, стоит попробовать. К тому же, проект поддерживает GGML, что открывает возможности для квантования и оптимизации под разное железо.
Библиотека C/C++ разработчика
Если вы работаете с языковыми моделями RWKV и хотите максимальной производительности без лишних зависимостей, обратите внимание на rwkv.cpp. Это минималистичная C++-реализация инференса для моделей RWKV, которая работает даже на CPU с поддержкой AVX/AVX2. Проект активно развивается и поддерживает загрузку весов из оригинальных моделей PyTorch.
Библиотека отлично подходит для встраивания в C++-приложения, где важны скорость и низкие накладные расходы. Код чистый и простой для модификации — если вам нужен эффективный инференс без перегруженных фреймворков, стоит попробовать. К тому же, проект поддерживает GGML, что открывает возможности для квантования и оптимизации под разное железо.
Библиотека C/C++ разработчика
👍7
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что выведет код?
❤️ 1 4 8
🔥 1 4 4
🙏 Зависит от платформы
🌚 Ошибка компиляции
Библиотека C/C++ разработчика
❤️ 1 4 8
🔥 1 4 4
🙏 Зависит от платформы
🌚 Ошибка компиляции
Библиотека C/C++ разработчика
🙏117❤17😢3👍1👏1
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
💼⌛️ ТОП-5 причин, почему программист не может долго найти работу
Почему некоторые разработчики остаются "между работами" месяцы?
Не всегда дело в нехватке вакансий или «рынок просел». Часто дело в подходе к поиску проекта. Вроде бы есть опыт, стек, даже pet-проекты, но офферов всё нет.
Часто корень проблемы — неумение продать себя правильно. Отказ выполнять тестовые задания, считая их ненужными или обидными. Кроме того, нежелание рассматривать стажировки как стартовую площадку для получения опыта и расширения профессиональных связей также может замедлить процесс трудоустройства. И это далеко не все возможные причины.
🔗 Подробнее в статье
🐸 Библиотека джависта
Почему некоторые разработчики остаются "между работами" месяцы?
Не всегда дело в нехватке вакансий или «рынок просел». Часто дело в подходе к поиску проекта. Вроде бы есть опыт, стек, даже pet-проекты, но офферов всё нет.
Часто корень проблемы — неумение продать себя правильно. Отказ выполнять тестовые задания, считая их ненужными или обидными. Кроме того, нежелание рассматривать стажировки как стартовую площадку для получения опыта и расширения профессиональных связей также может замедлить процесс трудоустройства. И это далеко не все возможные причины.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26😢3🥱2
😎 Делаем собственный анализатор C++ кода в виде плагина для Clang
«Решил написать свой статический анализатор для C++, а там такие грабли... 🤦♂️" — знакомо, если вы когда-нибудь задумывались о создании инструментов для анализа исходного кода.
💡 Автор статьи делиться опытом разработки плагина для Clang, который превращает стандартный C++ в более безопасный язык с контролем динамической памяти и ссылочных типов.
❗ Ключевые моменты:
- AST Matcher vs RecursiveASTVisitor: простота или гибкость?
- Как удобно дебажить AST без просмотра огромных портянок кода;
- Правильное разделение логики между парсером атрибутов и анализатором AST.
Основной фокус статьи — практические советы по созданию плагина для Clang с минимальными подводными камнями. Разбор реальных примеров кода и нестандартных ситуаций.
Это будет полезно разработчикам на C++, которые хотят создать свои инструменты статического анализа или улучшить безопасность существующего кода без нарушения обратной совместимости.
Библиотека C/C++ разработчика
«Решил написать свой статический анализатор для C++, а там такие грабли... 🤦♂️" — знакомо, если вы когда-нибудь задумывались о создании инструментов для анализа исходного кода.
💡 Автор статьи делиться опытом разработки плагина для Clang, который превращает стандартный C++ в более безопасный язык с контролем динамической памяти и ссылочных типов.
❗ Ключевые моменты:
- AST Matcher vs RecursiveASTVisitor: простота или гибкость?
- Как удобно дебажить AST без просмотра огромных портянок кода;
- Правильное разделение логики между парсером атрибутов и анализатором AST.
Основной фокус статьи — практические советы по созданию плагина для Clang с минимальными подводными камнями. Разбор реальных примеров кода и нестандартных ситуаций.
Это будет полезно разработчикам на C++, которые хотят создать свои инструменты статического анализа или улучшить безопасность существующего кода без нарушения обратной совместимости.
Библиотека C/C++ разработчика
👍9❤2
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
В каждой команде бывают специалисты, чья ценность не укладывается в привычные метрики продуктивности. Они редко в топе по количеству закрытых задач, но именно их вклад критически важен для общего результата.
Такие люди помогают менее опытным коллегам разобраться в сложных вопросах, улучшают архитектуру и процессы незаметными правками, предотвращают ошибки ещё до того, как они стали задачами, создают культуру качества, которую не видно в отчётах.
Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Media is too big
VIEW IN TELEGRAM
Что объединяет успешный собес и продвинутый анализ данных? Оба требуют способности выделять главное из информационного шума!
В мире данных этот суперскилл называется методом главных компонент (PCA) — это как рентген для ваших данных, который мгновенно показывает всю суть, отбрасывая неважные детали.
Например, мы проанализировали 453 акции компаний из списка S&P 500 и выяснили, что всего одна главная компонента объясняет 38% всей динамики рынка. Как такое возможно?
Вы будете работать с реальными данными, научитесь выявлять скрытые закономерности и применять эти инсайты в своих проектах.
Стоимость: 3990 ₽
Не беспокойтесь, если теоретическая база пока хромает — вы можете заранее посмотреть запись нашего вебинара по основам по ссылке ниже.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
📚 Загадочная библиотека setjmp.h — неочевидный инструмент для управления потоком выполнения
Библиотека setjmp.h предоставляет два необычных макроса:
• setjmp — сохраняет текущее состояние программы (регистры, стек) в буфер jmp_buf
• longjmp — «откатывает» выполнение к сохранённому состоянию, как прыжок во времени
⚠️ Осторожно!
• Не заменяет исключения — нет вызова деструкторов (как в C++)
• Опасность утечек — если между setjmp и longjmp выделялась память, она не освободится
• Портит стек — может сломать логику функций
🛠 Где может пригодиться?
• Обработка критических ошибок (а-ля «аварийный выход»)
• Код для встраиваемых систем, где нужно быстро восстановить состояние
• Нестандартные хаки (но лучше так не делать 😈)
Библиотека C/C++ разработчика
Библиотека setjmp.h предоставляет два необычных макроса:
• setjmp — сохраняет текущее состояние программы (регистры, стек) в буфер jmp_buf
• longjmp — «откатывает» выполнение к сохранённому состоянию, как прыжок во времени
#include <stdio.h>
#include <setjmp.h>
jmp_buf jump_buffer;
void risky_function() {
printf("Готовимся к прыжку...\n");
longjmp(jump_buffer, 42); // Прыжок обратно в setjmp!
}
int main() {
int ret = setjmp(jump_buffer);
if (ret == 0) {
printf("Первая инициализация...\n");
risky_function();
} else {
printf("Вернулись с кодом: %d\n", ret); // Выведет 42!
}
return 0;
}
⚠️ Осторожно!
• Не заменяет исключения — нет вызова деструкторов (как в C++)
• Опасность утечек — если между setjmp и longjmp выделялась память, она не освободится
• Портит стек — может сломать логику функций
🛠 Где может пригодиться?
• Обработка критических ошибок (а-ля «аварийный выход»)
• Код для встраиваемых систем, где нужно быстро восстановить состояние
• Нестандартные хаки (но лучше так не делать 😈)
Библиотека C/C++ разработчика
Telegram
Библиотека C/C++ разработчика | cpp, boost, qt
Все самое полезное для плюсовика и сишника в одном канале.
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/d6cd2932
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/d6cd2932
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
👍12🤔2❤🔥1❤1🥱1