[Перевод] Async/Await в C# это синтаксический сахар для конечного автомата

Перевод статьи, посвящённой устройству конечного автомата асинхронных методов. Разбор основных понятий, декомпилированный код с подробными комментариями, раскрытие секретов магии асинхронности и подробная схема.

https://habr.com/ru/articles/1035442/

#асинхронность #async #await #c# #конечный_автомат #awaiter #c#net #taskbuilder #statemachine

Async/Await в C# это синтаксический сахар для конечного автомата

Конечный автомат и его внутреннее устройство Примечание переводчика : State Machine, конечный автомат это преобразованный async метод. Компилятор преобразует метод в тип, реализующий конечный...

Хабр

Архитектура MassTransit: как устроена библиотека под капотом

Мне давно было интересно, как устроена библиотека MassTransit изнутри. Хотелось разобраться в её архитектуре, понять, как она развивалась, и почему порой в ней бывает непросто ориентироваться. Если вам тоже интересно, что скрывается за consumers, publishers и sagas - приглашаю к чтению.

https://habr.com/ru/articles/1033712/

#MassTransit #Sagas #StateMachine #SagaStateMachine

Архитектура MassTransit: как устроена библиотека под капотом

Привет! В этой статье разберём архитектуру MassTransit - одной из самых зрелых .NET-библиотек для построения распределённых систем, работы с брокерами сообщений и реализации паттернов вроде Saga и...

Хабр

A couple of years ago, I wrote that The #Builderpattern is a finite #statemachine! A state machine consists of states and transitions between them. As a developer, I want to make illegal states unrepresentable, i.e., users of my API can’t create non-existent transitions. My hypothesis is that only a static typing system allows this at compile-time. Dynamic typing systems rely on runtime validation.

In this blog post, I will show that it holds true, with a caveat.

https://blog.frankel.ch/illegal-state-unrepresentable/

Making illegal state unrepresentable

A couple of years ago, I wrote that The Builder pattern is a finite state machine!. A state machine consists of states and transitions between them. As a developer, I want to make illegal states unrepresentable, i.e., users of my API can’t create non-existent transitions. My hypothesis is that only a static typing system allows this at compile-time. Dynamic typing systems rely on runtime validation. In this blog post, I will show that it holds true, with a caveat.

A Java geek

asyncmachine can now synchronize #WebWorkers - either separately, grouped via a proxy #statemachine, or in-browser only. This makes browser multithreading accessible to #Golang devs today and comes with a set of #devtools and #Otel.

You can find out more from the dedicated example https://asyncmachine.dev/wasm-workflow

@maxd These are the WebWorker workflows we discussed the other day, no atomic shared mem yet tho ;)

#WASM #Go #WebAssembly

The new release of #asyncmachine brings #WASM support and browser compat - including #aRPC, #TUI debugging and #REPL. Check out the changelog for v0.18.0 https://github.com/pancsta/asyncmachine-go/releases/tag/v0.18.0 and a dedicated WASM example https://asyncmachine.dev/wasm (with D2 diagrams).

This allows to have a single #statemachine #distributed across n servers and m browsers, using efficient diff-based synchronization.

Looking fwd to #wasmio!

#golang #workflows #rpc #webassembly #d2 #go #wasmio2026

Took me a while to find a balance that I feel comfortable with when using entity component systems, nodes and state-machines concurrently.

Currently updating my older implementations. Already looks cleaner and easier to add systems and features. There is no better metric to know that you learned something 😃

And as usual there are a million ways - just need to find the one that works for you.

#godot #gdscript #ecs #statemachine #gamedev #slyceverse

🔧 Ứng dụng Android Forex: áp dụng quy tắc rủi ro chặt chẽ làm thách thức kiến trúc. Đưa SL/TP, giới hạn rủi ro vào layer domain, mô hình trạng thái không cho trạng thái không hợp lệ, dùng state machine hoặc DDD để bảo toàn invariants, xử lý lifecycle & concurrency mà không bypass quy tắc. Thảo luận cách cấu trúc logic quy tắc, vị trí enforcement, cân bằng usability vs an toàn. #Android #Forex #LậpTrình #KiếnTrúc #DDD #StateMachine #RiskManagement #QuảnLýRủiRo

https://www.reddit.com/r/programmi

I actually did at last update my #sml generator for (state machine library?!?)
#statemachine

I did this long time ago in #ELM but im quite useless doing UI so it looked quite aweful, but this time I let AI help me out.

Anyway, i find it quite useful , maybe someone else need some help with the awful error messages when a "," is misplaced.

https://cocode.se/sm/

FSM - State Machine Generator for Boost.SML

Meet Nuqs - an #opensource, type-safe search params state manager for #React!

With Nuqs, developers can share complete app state via URLs - enabling “teleportation” & “time travel.”

Nuqs simplifies state management while ensuring robust performance & type safety.

🔗 Discover more on #InfoQhttps://bit.ly/3Ncc4zm

#WebDevelopment #StateMachine #Routing #TypeScript