53: SOLID Elixir with Ilya Averyanov

Thinking Elixir Podcast - A podcast by ThinkingElixir.com - Tuesdays

Categories:

We talk with Ilya Averyanov about how the SOLID principles, typically associated with OOP, can apply to Elixir. We talk about Ilya's blog post where he applied these principles to his Github project and how that helped in PR discussions. We also talk about testing, architecture, and more. Show Notes online - http://podcast.thinkingelixir.com/53 Elixir Community News https://github.com/phoenixframework/phoenix_live_view/pull/1490 – Phoenix LiveView live_session PR coming up https://github.com/phoenixframework/phoenix_live_view/pull/1474 – Phoenix LiveView internal rewrite of JS https://github.com/phoenixframework/phoenix/pull/4337 (related, where explanation lives) – PR for "comprehensive rewrite of the Phoenix asset pipeline" https://www.youtube.com/watch?v=vdhK0QPN61E – Elixir Roundtable 3 - discussion with Chris McCord about the pipeline changes https://elixirforum.com/t/elixir-gotchas-and-common-issues-wiki/40261 – Elixir Gotchas and Common Issues Wiki https://twitter.com/FrancisChabouis/status/1404342105053466627 – French Government is using Elixir and Phoenix https://github.com/etalab/transport-site – French government project https://twitter.com/hmans/status/1402723032850997257 – WebComponents and LiveView example as 3D WebGL https://twitter.com/PeterLodewijk/status/1404462934030487553 – Hera Platform announced, sensor network running Erlang on GRiSP boards https://www.info.ucl.ac.be/~pvr/Kalbusch_22701600_Verpoten_61101500_2021.pdf – Details in the paper on how it works Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://dev.to/savonarola/why-solid-may-be-useful-for-you-in-elixir-58me https://en.wikipedia.org/wiki/SOLID https://hexdocs.pm/gen_stage/GenStage.html#module-usage-guidelines https://www.theerlangelist.com/article/spawn_or_not http://erlang.org/doc/man/xref.html https://github.com/sasa1977/boundary https://github.com/funbox/clean_mixer https://github.com/funbox/smppex https://github.com/savonarola/smppex_telemetry https://github.com/beam-telemetry/telemetry https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/ https://gameprogrammingpatterns.com/ http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/ https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164 – Clean Architecture https://www.archunit.org/ – Testing architecture Guest Information https://twitter.com/motonarola – on Twitter https://github.com/savonarola/ – on Github Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward