🔥 Большой апдейт стандартных Си-библиотек: Glibc 2.43 и newlib 4.6.0
После шести месяцев разработки вышла новая версия GNU C Library 2.43, и это серьёзный релиз, который меняет правила игры для C-разработчиков. Над ним работали 69 контрибьюторов, и теперь библиотека полностью соответствует стандартам ISO C23 и POSIX.1-2024.
🍿 Что нового?
Самое заметное — экспериментальная поддержка Clang для сборки Glibc на платформах aarch64 и x86_64. Наконец-то можно использовать альтернативный компилятор, хотя пока требуется Clang 18+ и совместимый с libgcc runtime.
Для Linux-систем появились две важные функции: mseal() для блокировки изменений частей адресного пространства процесса и openat2() с расширенными флагами безопасности — запретом пересечения точек монтирования, символических ссылок и "../" в путях.
🍪 Новый C23
Стандарт C23 активно интегрируется в библиотеку. Добавлены новые функции вроде free_sized, free_aligned_sized и memset_explicit. Макрос assert теперь поддерживает переменное число аргументов. Интересный момент: функции поиска (strchr, memchr и компания) переопределены как макросы для поддержки const-квалификаторов — это вызвало бурное обсуждение в комьюнити, но решает реальную проблему type safety.
👌 Производительность и безопасность
Из проекта CORE-MATH перенесли оптимизированные математические функции, добавили векторные варианты для AArch64, улучшили производительность множества функций. На AArch64 теперь по умолчанию включены huge pages (2MB) в malloc, а для RISC-V появилась оптимизированная memset с использованием векторного расширения RVV.
✏️ Новость
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
После шести месяцев разработки вышла новая версия GNU C Library 2.43, и это серьёзный релиз, который меняет правила игры для C-разработчиков. Над ним работали 69 контрибьюторов, и теперь библиотека полностью соответствует стандартам ISO C23 и POSIX.1-2024.
Самое заметное — экспериментальная поддержка Clang для сборки Glibc на платформах aarch64 и x86_64. Наконец-то можно использовать альтернативный компилятор, хотя пока требуется Clang 18+ и совместимый с libgcc runtime.
Для Linux-систем появились две важные функции: mseal() для блокировки изменений частей адресного пространства процесса и openat2() с расширенными флагами безопасности — запретом пересечения точек монтирования, символических ссылок и "../" в путях.
Стандарт C23 активно интегрируется в библиотеку. Добавлены новые функции вроде free_sized, free_aligned_sized и memset_explicit. Макрос assert теперь поддерживает переменное число аргументов. Интересный момент: функции поиска (strchr, memchr и компания) переопределены как макросы для поддержки const-квалификаторов — это вызвало бурное обсуждение в комьюнити, но решает реальную проблему type safety.
Из проекта CORE-MATH перенесли оптимизированные математические функции, добавили векторные варианты для AArch64, улучшили производительность множества функций. На AArch64 теперь по умолчанию включены huge pages (2MB) в malloc, а для RISC-V появилась оптимизированная memset с использованием векторного расширения RVV.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🙏1
🏠🪴 10 простых советов, как обустроить рабочее место на удаленке и повысить продуктивность
При работе из дома обстановка имеет решающее значение. Правильно организованное рабочее место помогает сосредоточиться, снизить усталость и повысить эффективность.
Ниже я собрала научно обоснованные советы по обустройству домашнего офиса. И конечно же, все рекомендации подкреплены исследованиями (ссылки прилагаются).
👉 Продолжение...
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
При работе из дома обстановка имеет решающее значение. Правильно организованное рабочее место помогает сосредоточиться, снизить усталость и повысить эффективность.
Ниже я собрала научно обоснованные советы по обустройству домашнего офиса. И конечно же, все рекомендации подкреплены исследованиями (ссылки прилагаются).
👉 Продолжение...
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
👍4
Оба связаны с pointer provenance и strict aliasing, но решают разные проблемы.
Когда компилятор «знает» значение через const member или reference, он может закешировать его:
struct S { const int x; };
S* p = new (addr) S{42};
p->x; // Компилятор: "всегда 42"
new (p) S{100}; // Переиспользуем память
p->x; // Всё ещё 42? Нет, но компилятор так думает!
auto q = std::launder(p);
q->x; // Правильно: 100launder заставляет компилятор перечитать значение из памяти, игнорируя предыдущие предположения.Он нужен когда объекта физически нет, но память готова:
alignas(int) char buffer[sizeof(int)];
*reinterpret_cast<int*>(buffer) = 42; // UB: нет объекта
int* p = std::start_lifetime_as<int>(buffer);
*p = 42; // OK: объект создан
launder — для существующих объектов с переписанной памятью. start_lifetime_as — для памяти, которая станет объектом.📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍2👾1
😎 Топ-вакансий для C++ разработчиков за неделю
С++ разработчик — от 300 000 и до 350 000 ₽ Удалёнка
C developer (MES) — Офис (Новосибирск)
Middle C Developer — от 250 000 ₽ Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
С++ разработчик — от 300 000 и до 350 000 ₽ Удалёнка
C developer (MES) — Офис (Новосибирск)
Middle C Developer — от 250 000 ₽ Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
😁2
😼 Коротко о выравнивании в C++
💡 Автор статьи от PVS-Studio детально разбирает, как компилятор на самом деле размещает данные в памяти и почему это критично для производительности.
❗ Ключевые моменты статьи:
• естественное выравнивание и паддинги между переменными
• влияние порядка полей в структурах на итоговый размер
• директива #pragma pack и её опасные последствия
• alignas, alignof и компиляторо-специфичные атрибуты
Основной фокус — практические примеры расположения данных в памяти с детальными схемами и сравнением поведения MSVC и Clang.
Вы узнаете, что один и тот же код может занимать разное количество памяти в зависимости от порядка объявления полей, а неправильное использование
👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
💡 Автор статьи от PVS-Studio детально разбирает, как компилятор на самом деле размещает данные в памяти и почему это критично для производительности.
❗ Ключевые моменты статьи:
• естественное выравнивание и паддинги между переменными
• влияние порядка полей в структурах на итоговый размер
• директива #pragma pack и её опасные последствия
• alignas, alignof и компиляторо-специфичные атрибуты
Основной фокус — практические примеры расположения данных в памяти с детальными схемами и сравнением поведения MSVC и Clang.
Вы узнаете, что один и тот же код может занимать разное количество памяти в зависимости от порядка объявления полей, а неправильное использование
#pragma pack может привести к аппаратным прерываниям на ARM архитектуре вместо ожидаемой экономии памяти.👉 Статья
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
👍9
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
std::optional<std::string> get_name() {
return "Alice";
}
int main() {
auto result = get_name()
.transform([](auto&& s) { s += " Smith"; return s; })
.transform([](auto&& s) { s += " Jr."; return s; });
std::cout << *result << std::endl;
std::cout << *get_name() << std::endl;
}📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1😁1
📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Интересное:
• Нестандартные форматы резюме — несколько способов сделать своё резюме запоминающимся
• Апдейт Си-библиотек: Glibc 2.43 и newlib 4.6.0 — большое обновление стандартных библиотек
• Как обустроить рабочее место на удаленке — 10 простых советов как сделать работу на удалёнке приятнее
• std::start_lifetime_as vs std::launder: в чём разница? — разбор разных подходов для работы с сырой памятью
• Коротко о выравнивании в C++ — разбор, как компилятор на самом деле размещает данные в памяти
🔹📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Интересное:
• Нестандартные форматы резюме — несколько способов сделать своё резюме запоминающимся
• Апдейт Си-библиотек: Glibc 2.43 и newlib 4.6.0 — большое обновление стандартных библиотек
• Как обустроить рабочее место на удаленке — 10 простых советов как сделать работу на удалёнке приятнее
• std::start_lifetime_as vs std::launder: в чём разница? — разбор разных подходов для работы с сырой памятью
• Коротко о выравнивании в C++ — разбор, как компилятор на самом деле размещает данные в памяти
🔹📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#свежак
👍4
🫖 Новый скриптовый язык для C++
TeaScript — это мультипарадигменный скриптовый язык с синтаксисом, близким к C++, который можно встраивать прямо в ваши приложения.
❗ Ключевые возможности:
• встраиваемая C++ библиотека для интеграции в приложения
• standalone host application с REPL и отладчиком
• современные фичи: лямбды, функции высшего порядка, generic programming
Подходит для замены bash/bat скриптов средней сложности, когда нужен контроль на уровне C++, но без необходимости компиляции.
👉 Сайт
👉 Github
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
TeaScript — это мультипарадигменный скриптовый язык с синтаксисом, близким к C++, который можно встраивать прямо в ваши приложения.
❗ Ключевые возможности:
• встраиваемая C++ библиотека для интеграции в приложения
• standalone host application с REPL и отладчиком
• современные фичи: лямбды, функции высшего порядка, generic programming
Подходит для замены bash/bat скриптов средней сложности, когда нужен контроль на уровне C++, но без необходимости компиляции.
👉 Сайт
👉 Github
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
🔥4❤2👍2
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
👾13😁3
Forwarded from Proglib.academy | IT-курсы
Это отличный гид по современным методам и подходам в ИИ, написанный доступным языком и дополненный множеством иллюстраций и примеров. Автор, обладающий обширным опытом в разработке и обучении ИИ, наглядно объясняет сложные концепции, такие как машинное обучение и нейронные сети, используя практические примеры из реальной жизни. Вам понадобится только базовое знание алгебры, чтобы начать решать задачи ИИ, такие как распознавание мошенничества в банках или управление беспилотными автомобилями. Эта книга станет полезной для тех, кто хочет уверенно ориентироваться в мире искусственного интеллекта и применять алгоритмы на практике.
Это идеальный старт для тех, кто хочет освоить основы глубокого обучения и начать работать с нейронными сетями. Автор объясняет фундаментальные концепции ИИ через простые и доступные примеры, используя Python и библиотеку NumPy. Эта книга подойдёт даже тем, кто не имеет глубоких знаний в математике и программировании, но хочет научиться строить и обучать нейронные сети с нуля. В дополнение к этому, Траск затрагивает темы обработки естественного языка и федеративного обучения — технологии для работы с конфиденциальными данными.
Это практическое руководство по созданию агентов глубокого обучения, которые обучаются на основе взаимодействий с окружающей средой. Автор объясняет, как использовать такие методы, как обучение с подкреплением, чтобы создавать ИИ, способный принимать оптимальные решения в реальном времени. Основные темы книги включают разработку алгоритмов на Python и работу с библиотеками, что делает её полезной для начинающих разработчиков. Моралес показывает, как ИИ может применяться в играх, робототехнике и маркетинге, делая книгу актуальной для широкого круга читателей, интересующихся ИИ.
Это отличное введение в мир машинного обучения, ориентированное на читателей с базовыми знаниями Python и математики на уровне средней школы. Автор объясняет алгоритмы и принципы машинного обучения доступным языком, избегая сложного академического жаргона. В книге вы найдете множество примеров и проектов, таких как создание моделей для идентификации спама и распознавания изображений, что делает её практическим руководством для новичков. Серрано использует простой подход для объяснения сложных тем, что делает её полезной для тех, кто только начинает погружаться в мир машинного обучения и хочет быстро освоить основные концепции. Если вам интересно, как работают модели предсказаний и классификации данных, эта книга станет отличным стартом.
🔹 Курс «Математика для разработки AI-моделей»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Что такое "memory-mapped file" и когда его использовать?
Anonymous Quiz
18%
Специальный файл, содержащий карту памяти процесса
5%
Специальный формат файла для структур данных
3%
Технология шифрования файлов на уровне системы
72%
Отображение файла в адресное пространство для работы
2%
Метод сжатия больших файлов перед записью
👾2👍1
Отправляете данные через send(), а они висят в буфере 200мс? Это не баг — это Nagle's algorithm, и он работает с 1984 года.
Когда вы пишете в TCP-сокет небольшие порции данных (например, по 10 байт), ядро не отправляет их сразу. Вместо этого алгоритм Nagle ждёт:
• Либо пока накопится достаточно данных
• Либо пока придёт ACK на предыдущий пакет
• Либо истечёт таймаут (~200мс)
// Отправка без Nagle — каждый send() = отдельный пакет
int flag = 1;
setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(flag));
// Теперь send(sock, "A", 1) уходит немедленно
В эпоху медленных каналов накладные расходы TCP/IP заголовков (40 байт) на каждый байт полезных данных убивали пропускную способность. Nagle агрегирует данные, снижая оверхед до приемлемых значений.
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰3👍2
😎 Топ-вакансий для C++ разработчиков за неделю
Senior Программист C — от 400 000 и до 600 000 ₽ Офис/Гибрид (Москва)
С++ разработчик — С++ разработчик от 300 000 и до 350 000 ₽ Удалёнка
C++ Engineer (Trading Systems) — Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
Senior Программист C — от 400 000 и до 600 000 ₽ Офис/Гибрид (Москва)
С++ разработчик — С++ разработчик от 300 000 и до 350 000 ₽ Удалёнка
C++ Engineer (Trading Systems) — Удалёнка
✍️ Еще больше топовых вакансий — в нашем канале C++ jobs
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
❤2😁1
🎯 Как найти первые заказы на фрилансе айтишнику: 9 нестандартных способов
Звучит дико, но локальный бизнес до сих пор не знает, где искать
разработчиков. Пока все воюют за заказы на биржах, ты можешь стать
единственным айтишником в радиусе 5 км, который предложил помощь. Плюс
еще 8 способов найти первых клиентов без бесконечных откликов в никуда.
👉 Продолжение...
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
Звучит дико, но локальный бизнес до сих пор не знает, где искать
разработчиков. Пока все воюют за заказы на биржах, ты можешь стать
единственным айтишником в радиусе 5 км, который предложил помощь. Плюс
еще 8 способов найти первых клиентов без бесконечных откликов в никуда.
👉 Продолжение...
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#буст
😁2