Warning: mkdir(): No space left on device in /var/www/tg-me/post.php on line 37
Warning: file_put_contents(aCache/aDaily/post/golang_books/--): Failed to open stream: No such file or directory in /var/www/tg-me/post.php on line 50 Golang Books | Telegram Webview: golang_books/984 -
🧪Go synctest — решение для нестабильных (flaky) тестов
Flaky-тесты в многопоточном Go-коде — боль. Новый экспериментальный инструмент synctest из Go 1.24 решает эту проблему с помощью синтетического времени и контроля исполнения goroutine.
📌Что это такое: synctest — специальный режим, запускающий тесты в изолированной "песочнице", где: • time.Sleep не ждёт реального времени • все goroutine исполняются детерминированно • нет зависимости от планировщика и нагрузки ОС
⏱ Даже с Sleep, результат всегда стабилен. Без synctest такой тест может иногда проваливаться.
⚙️Преимущества: ✅ Устранение race-условий при тестировании ✅ Нет задержек — Sleep срабатывает мгновенно ✅ Можно тестировать поведение с точностью до микросекунды ✅ Подходит для любых atomic, mutex, select, time.After и др.
🚫Ограничения: • Пока экспериментально: нужно запускать с GOEXPERIMENT=synctest • Не подходит для ввода-вывода, работы с сетью или временем вне "bubble"
🧪Go synctest — решение для нестабильных (flaky) тестов
Flaky-тесты в многопоточном Go-коде — боль. Новый экспериментальный инструмент synctest из Go 1.24 решает эту проблему с помощью синтетического времени и контроля исполнения goroutine.
📌Что это такое: synctest — специальный режим, запускающий тесты в изолированной "песочнице", где: • time.Sleep не ждёт реального времени • все goroutine исполняются детерминированно • нет зависимости от планировщика и нагрузки ОС
⏱ Даже с Sleep, результат всегда стабилен. Без synctest такой тест может иногда проваливаться.
⚙️Преимущества: ✅ Устранение race-условий при тестировании ✅ Нет задержек — Sleep срабатывает мгновенно ✅ Можно тестировать поведение с точностью до микросекунды ✅ Подходит для любых atomic, mutex, select, time.After и др.
🚫Ограничения: • Пока экспериментально: нужно запускать с GOEXPERIMENT=synctest • Не подходит для ввода-вывода, работы с сетью или временем вне "bubble"
Telegram auto-delete message, expiring invites, and more
elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.
For some time, Mr. Durov and a few dozen staffers had no fixed headquarters, but rather traveled the world, setting up shop in one city after another, he told the Journal in 2016. The company now has its operational base in Dubai, though it says it doesn’t keep servers there.Mr. Durov maintains a yearslong friendship from his VK days with actor and tech investor Jared Leto, with whom he shares an ascetic lifestyle that eschews meat and alcohol.