Марко Арена сегодня завершил свою серию статей "SObjectizer Tales", начатую в октябре прошлого года. Полный список статей из этой серии я приведу ниже.
Сперва же хочется сказать слова благодарности. Результат получился впечатляющим, я такого не ожидал от слова совсем. Вышло очень и очень круто, большое спасибо, Марко!
Так же поделюсь своим впечатлением от произошедшего. И тут сложно подобрать слова. Наверное, самым точным цензурным вариантом будет -- я шокирован. В хорошем смысле этого слова.
Изначально я даже и не мог предположить, во что же это все выльется. Когда Марко спросил у меня как я отношусь к идее того, что он сделает серию постов про SObjectizer, и в самых смелых фантазиях невозможно было представить, что эта серия будет содержать тридцать (тридцать, Карл!) статей.
Как по мне, так Марко написал целую книгу. Что по объему, что по глубине и качеству материала.
И, что особенно радует, так это то, что написано все это не кем-то из SObjectizer Team, а пользователем SObjectizer-а. Скажи мне об этом кто-то еще года два-три назад, я бы счел подобное ненаучной фантастикой. А теперь это реальность.
Более того, я бы даже назвал выход серии "SObjectizer Tales" целой вехой в истории развития SObjectizer-а. Важной и значимой лично для меня.
Так что, да, я шокирован. В хорошем смысле этого слова.
Вот как в итоге выглядит вся серия.
- Prelude (зеркало на dev.to).
- 1. Producing Images (зеркало на dev.to).
- 2. Can you call me back? (зеркало на dev.to).
- 3. Acquisition loop revisited (зеркало на dev.to).
- 4. Handling commands (зеркало на dev.to).
- 5. Sending commands (зеркало на dev.to).
- 6. Is the stream still in progress? (зеркало на dev.to).
- 7. Agent composition (зеркало на dev.to).
- 8. Representing errors (зеркало на dev.to).
- 9. Splitting work (зеркало на dev.to).
- 10. Handling GUI from main (зеркало на dev.to).
- 11. Interlude: testing (зеркало на dev.to).
- 12. Receiving commands from the network (зеркало на dev.to).
- 13. Routing images across the network (зеркало на dev.to).
- 14. Triggering agent shutdown (зеркало на dev.to).
- 15. Monitoring disconnections (зеркало на dev.to).
- 16. Interrupting work (зеркало на dev.to).
- 17. Limiting message flow (зеркало на dev.to).
- 18. Limiting message chains (зеркало на dev.to).
- 19. Thread-safe handlers (зеркало на dev.to).
- 20. Performance, part 1 (зеркало на dev.to).
- 21. Performance, part 2 (зеркало на dev.to).
- 22. Performance, part 3 (зеркало на dev.to).
- 23. Mutable messages (зеркало на dev.to).
- 24. Delivering messages at shutdown (зеркало на dev.to).
- 25. Runtime telemetry (зеркало на dev.to).
- 26. Dispatcher selection (зеркало на dev.to).
- 27. Design ideas (зеркало на dev.to).
- 28. If I had a magic wand… (зеркало на dev.to).
- Epilogue (зеркало на dev.to).
PS. Что доставляет отдельно, так это слоган, который Марко выбрал для своей серии: Concurrent C++, made simple. Таки да, для этого все когда-то и затевалось. Но я бы насколько лаконично и емко выразить бы не смог.