Блог*
الذهاب إلى القناة على Telegram
Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here
إظهار المزيد1 985
المشتركون
+124 ساعات
-17 أيام
لا توجد بيانات30 أيام
أرشيف المشاركات
1 984
Repost from ReadMe.txt
🤦♂️ Короче, в Англии какие-то тиктокеры завирусили «Белые ночи» Достоевского
И это теперь одна из самых продаваемых книг на всем острове. Все это дело назвали Fyodor Fever — британские зумеры и альфа побежали сметать Федора Михайловича с книжных полок.
1 984
+2
Я — взрослый брутальный мужик, которому нравятся брутальные мужицкие вещи.
(спасибо одной Анастасии ❤️)
1 984
#prog #rust хайлайты:
Stabilize async closures (RFC 3668)
И нет, обойтись просто замыканиями, возвращающими async-блоки, не получится
1 984
+1
— Пожалуйста, дайте нам возможность использовать алиасы типов в protobuf
— Лол нет
#prog #suckassstory
1 984
#prog #video
Why does this Rust program leak memory? от Амоса
Спойлер: фрагментация памяти, так что это на самом деле не утечка и не специфично для Rust
1 984
#music
Despair, из альбома ORANGE SOUNDS (Zeroranger OST)
В игре хватает неплохой чиптюн-подобной музыки, но этот трек — один из немногих, на мой взгляд, который звучит хорошо и в отрыве о игры
1 984
#prog #go #article
Understanding Real-World Concurrency Bugs in Go (PDF)
In this paper, we perform the first systematic study on concurrency bugs in real Go programs. We studied six popular Go software including Docker, Kubernetes, and gRPC. We analyzed 171 concurrency bugs in total, with more than half of them caused by non-traditional, Go-specific problems. Apart from root causes of these bugs, we also studied their fixes, performed experiments to reproduce them, and evaluated them with two publicly-available Go bug detectors.
<...>
Our study found that message passing does not necessarily make multithreaded programs less error-prone than shared memory. In fact, message passing is the main cause of blocking bugs.
<...>
We believe that message passing offers a clean form of inter-thread communication and can be useful in passing data and signals. But they are only useful if used correctly, which requires programmers to not only understand message passing mechanisms well but also other synchronization mechanisms of Go.
Надо отметить, что результаты могут быть искажены тем, что:
а) выборка только из шести проектов (Docker, Kubernetes, etcd, CockroachDB, BoltDB, gRPC-go);
б) рассматриваются только баги, которые были исправлены.
