Artwork

Вміст надано Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. Весь вміст подкастів, включаючи епізоди, графіку та описи подкастів, завантажується та надається безпосередньо компанією Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones або його партнером по платформі подкастів. Якщо ви вважаєте, що хтось використовує ваш захищений авторським правом твір без вашого дозволу, ви можете виконати процедуру, описану тут https://uk.player.fm/legal.
Player FM - додаток Podcast
Переходьте в офлайн за допомогою програми Player FM !

Ep 111: Loopify!

28:54
 
Поширити
 

Manage episode 401175559 series 2463849
Вміст надано Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. Весь вміст подкастів, включаючи епізоди, графіку та описи подкастів, завантажується та надається безпосередньо компанією Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones або його партнером по платформі подкастів. Якщо ви вважаєте, що хтось використовує ваш захищений авторським правом твір без вашого дозволу, ви можете виконати процедуру, описану тут https://uk.player.fm/legal.

Each week, we discuss a different topic about Clojure and functional programming.

If you have a question or topic you'd like us to discuss, tweet @clojuredesign, send an email to feedback@clojuredesign.club, or join the #clojuredesign-podcast channel on the Clojurians Slack.

This week, the topic is: "trying again". We throw our code in a loop, and it throws us for a loop.

Our discussion includes:

  • Sportify continues!
  • When is it time to stop developing?
  • How do we handle retries?
  • What if you need to recur from catch?
  • How do we recover mid-process?
  • Where should the recovery logic go?
  • Is there a way to get all the critical context at the same level?
  • What should you preserve across a recur?
  • What does it mean to be "loop native"?
  • What is the basic structure for any automation?
  • What is a "single application state"?

Selected quotes

  • It's a lot like having a project on a workbench. You have all of the tools and all the information laid out before you on that workbench. Nothing is tucked in a drawer or inside a cabinet.

  • That's a very important lesson for any developer: you can always stop—at least after it's working.

  • Nothing in the world is solved except by adding another level of abstraction.

  • I was not expecting that level of mutation! I was expecting a Kafka log written in stone!

  • The positive is it has everything. The negative is it has everything.

  • We would like more loop-native code inside of our cloud-native application.

  • Are you suggesting that just because we can, it doesn't mean we should? We're programmers! If the language lets us do it, it must be a good idea!

  • One of the reasons why I like Clojure is because it specifically tells me that I can't do some things that are bad to do.

  • All of the context is in one map. It has everything in it. One map to rule them all!

  • Might this be the fabled "single application state"?

  • We have the thinking function, the doing function, and the assimilate function.

Links

  continue reading

114 епізодів

Artwork

Ep 111: Loopify!

Functional Design in Clojure

90 subscribers

published

iconПоширити
 
Manage episode 401175559 series 2463849
Вміст надано Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. Весь вміст подкастів, включаючи епізоди, графіку та описи подкастів, завантажується та надається безпосередньо компанією Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones або його партнером по платформі подкастів. Якщо ви вважаєте, що хтось використовує ваш захищений авторським правом твір без вашого дозволу, ви можете виконати процедуру, описану тут https://uk.player.fm/legal.

Each week, we discuss a different topic about Clojure and functional programming.

If you have a question or topic you'd like us to discuss, tweet @clojuredesign, send an email to feedback@clojuredesign.club, or join the #clojuredesign-podcast channel on the Clojurians Slack.

This week, the topic is: "trying again". We throw our code in a loop, and it throws us for a loop.

Our discussion includes:

  • Sportify continues!
  • When is it time to stop developing?
  • How do we handle retries?
  • What if you need to recur from catch?
  • How do we recover mid-process?
  • Where should the recovery logic go?
  • Is there a way to get all the critical context at the same level?
  • What should you preserve across a recur?
  • What does it mean to be "loop native"?
  • What is the basic structure for any automation?
  • What is a "single application state"?

Selected quotes

  • It's a lot like having a project on a workbench. You have all of the tools and all the information laid out before you on that workbench. Nothing is tucked in a drawer or inside a cabinet.

  • That's a very important lesson for any developer: you can always stop—at least after it's working.

  • Nothing in the world is solved except by adding another level of abstraction.

  • I was not expecting that level of mutation! I was expecting a Kafka log written in stone!

  • The positive is it has everything. The negative is it has everything.

  • We would like more loop-native code inside of our cloud-native application.

  • Are you suggesting that just because we can, it doesn't mean we should? We're programmers! If the language lets us do it, it must be a good idea!

  • One of the reasons why I like Clojure is because it specifically tells me that I can't do some things that are bad to do.

  • All of the context is in one map. It has everything in it. One map to rule them all!

  • Might this be the fabled "single application state"?

  • We have the thinking function, the doing function, and the assimilate function.

Links

  continue reading

114 епізодів

Wszystkie odcinki

×
 
Loading …

Ласкаво просимо до Player FM!

Player FM сканує Інтернет для отримання високоякісних подкастів, щоб ви могли насолоджуватися ними зараз. Це найкращий додаток для подкастів, який працює на Android, iPhone і веб-сторінці. Реєстрація для синхронізації підписок між пристроями.

 

Короткий довідник