Size: a a a

2019 December 10
Блог*
🔥🔥🔥🔥🔥🔥🔥🔥
🔥🚲🚲🚲🚲🚲🚲🔥
🔥🚲💩💩💩💩🚲🔥
🔥🚲💩прод💩🚲🔥
🔥🚲💩💩💩💩🚲🔥
🔥🚲🚲🚲🚲🚲🚲🔥
🔥🔥🔥🔥🔥🔥🔥🔥
источник
Блог*
Проголосуйте, пожалуйста
источник
Блог*
Переслано от Oleg Andreev
контора без тимбилдинга - пришел, закодил, получил бабло, ушел
Анонимный опрос
70%
отл
30%
ну такое
Проголосовало: 103
источник
2019 December 11
Блог*
Не всё же вам одни мемчики, пусть и действительно полезная инфа будет
#life
источник
Блог*
Очень важная штука: бот для быстрого поиска по базе лекарств с недоказанной эффективность/доказанным вредом. Как человек, который сам ратует за доказательную медицину, считаю такие проекты очень важными.
https://t.me/FufloMedsBot
источник
2019 December 12
Блог*
#prog #rust
А вот тут у нас хороший пример, как, казалось бы, нормальный код может спровоцировать UB. Здесь SPANS — глобальная переменная, вектор внутри RwLock. Чуть позже напишу, в чём проблема, а пока попредлагайте свои варианты
источник
Блог*
Кстати, тут такой вопрос, чат для канала нужен?
Окончательные результаты
50%
Да
50%
Нет
Проголосовало: 10
источник
Блог*
dereference_pointer_there
#prog #rust
А вот тут у нас хороший пример, как, казалось бы, нормальный код может спровоцировать UB. Здесь SPANS — глобальная переменная, вектор внутри RwLock. Чуть позже напишу, в чём проблема, а пока попредлагайте свои варианты
А проблема тут в том, что код для обеспечения корректности работы полагается на impl Drop for SpanGuard, который убирает последний вставленный span. О чём при написании unsafe-кода всегда надо помнить — так это о том, что, вообще говоря, нет гарантии, что деструкторы будут вызваны, поэтому полагаться на них для обеспечения memory safety, нельзя. Так и тут: если SpanGuard утекает (а для это достаточно просто вызвать на нём std::mem::forget), то в глобальном векторе останется ссылка с насильно расширенным временем жизни. Если функция span была вызвана с ссылкой на локальные данные, то после выхода из этой функции в SPANS остаётся висячая ссылка, что прямо декларируется как undefined behaviour в Rust.
источник
2019 December 13
Блог*
#quotes
источник
Блог*
Переслано от (((Mike Lubinets)))
Крафтовый борщ — это когда миллениалы изобрели советскую столовую
источник
Блог*
источник
Блог*
dereference_pointer_there
Кстати, тут такой вопрос, чат для канала нужен?
Окончательные результаты
50%
Да
50%
Нет
Проголосовало: 10
Го, я создал: @decltype_chat_ptr_t
источник
2019 December 14
Блог*
источник
Блог*
#successstory
источник
Блог*
Переслано от Andrew Demonov
У меня была нагрузка на 15к висящих лонг-пулинг коннектов (кооперативный майнинг-пул средней популярности). Когда логика была на потоках,  примерно на 10к коннектах процесс жрал около 40 гигабайт памяти и просто зависал из-за постоянного свопинга. Ну и можно себе представить как охреневал планировщик тред-менеджер. Простое переписывание на асинхронщину снизило потребление памяти раз где-то в 15.
источник
Блог*
источник
Блог*
источник
Блог*
#article #prog
Я раньше не понимал, как работает next_permutation. Теперь, кажется, понимаю.
https://www.nayuki.io/page/next-lexicographical-permutation-algorithm
источник
Блог*
#prog #cpp
источник
Блог*
Переслано от Roman Proskuryakov
https://wandbox.org/permlink/7sbsqzhbo0o7dOse

о, чудеса из С++ подъехали ❤️
источник