notes
This commit is contained in:
parent
cf47f3b27a
commit
8352f8f233
7 changed files with 40 additions and 2 deletions
3
20210310182044-software_architecture.org
Normal file
3
20210310182044-software_architecture.org
Normal file
|
@ -0,0 +1,3 @@
|
|||
#+title: Software Architecture
|
||||
|
||||
The application of design principles to [[file:20200723095845-software_development.org][Software Development]].
|
13
20210310182256-side_effects.org
Normal file
13
20210310182256-side_effects.org
Normal file
|
@ -0,0 +1,13 @@
|
|||
#+title: Side Effects
|
||||
|
||||
In [[file:20200723095845-software_development.org][Software Development]], the effects of running a function or bit of code
|
||||
outside of its local environment. Examples include reaching out over the network
|
||||
to talk to a database, reading or writing a file on disk, or printing some
|
||||
output. This contrasts with [[file:20210310183956-purity.org][Purity]], where such effects are not allowed.
|
||||
|
||||
Effectful code has implicit, rather than explicit, state. This is to say, the
|
||||
behavior of the code may differ not based solely on its explicit inputs, but
|
||||
also values at a higher level of scope, the stability of the network, or the
|
||||
current contents of a file. They may also impact external state, which can make
|
||||
them difficult to reason about and sensitive to the order in which statements
|
||||
are executed.
|
1
20210310183956-purity.org
Normal file
1
20210310183956-purity.org
Normal file
|
@ -0,0 +1 @@
|
|||
#+title: Purity
|
|
@ -0,0 +1,6 @@
|
|||
#+title: Isolating effectful code to the top layer of your application
|
||||
|
||||
A principle in [[file:20210310182044-software_architecture.org][Software Architecture]] of separating [[file:20210310182256-side_effects.org][effectful]] code from [[file:20210310183956-purity.org][pure]]
|
||||
application logic in applications such that effects occur in the "top layer"
|
||||
(closest to the application's entry code) and kept separate from pure business
|
||||
logic applied to and fed through effectful code.
|
10
pyvideo_org_the_clean_architecture_in_python.org
Normal file
10
pyvideo_org_the_clean_architecture_in_python.org
Normal file
|
@ -0,0 +1,10 @@
|
|||
#+title: PyVideo.org · The Clean Architecture in Python
|
||||
#+roam_key: https://pyvideo.org/pyohio-2014/the-clean-architecture-in-python.html
|
||||
|
||||
Brandon Rhodes talk on [[file:20210310182044-software_architecture.org][Software Architecture]] discusses [[file:20210310184749-isolating_effectful_code_to_the_top_layer_of_your_application.org][Isolating effectful code
|
||||
to the top layer of your application]] in Python.
|
||||
|
||||
In doing so, he demonstrates that it is easier to build fast, comprehensive unit
|
||||
tests of pure functions, thereby minimizing potentially fragile integration
|
||||
tests. The resulting top-level function reminds me of the high level pipeline
|
||||
demonstrated in [[file:railway_oriented_programming_f_for_fun_and_profit.org][Railway Oriented Programming | F# for fun and profit]].
|
5
railway_oriented_programming_f_for_fun_and_profit.org
Normal file
5
railway_oriented_programming_f_for_fun_and_profit.org
Normal file
|
@ -0,0 +1,5 @@
|
|||
#+title: Railway Oriented Programming | F# for fun and profit
|
||||
#+roam_key: https://fsharpforfunandprofit.com/rop/
|
||||
|
||||
A talk on [[file:20210310182044-software_architecture.org][Software Architecture]] by Scott Wlaschin on cleanly pipelining
|
||||
functions with success and failure cases using monadic binding.
|
|
@ -33,7 +33,7 @@
|
|||
\AfterEndEnvironment{quote}{\end{snugshade}}
|
||||
#+END_EXPORT
|
||||
|
||||
* Travel
|
||||
* Travel :noexport:
|
||||
** Flight
|
||||
- Record Locator :: WHIBQL
|
||||
|
||||
|
@ -103,7 +103,7 @@
|
|||
AWeber
|
||||
#+END_SRC
|
||||
|
||||
* Ticket :ATTACH:
|
||||
* Ticket :noexport:ATTACH:
|
||||
:PROPERTIES:
|
||||
:Attachments: strange-loop-2018-ticket-6DTV-1.pdf
|
||||
:ID: 44AAE8B1-99BF-4F20-A1DE-8BB031861A13
|
||||
|
|
Loading…
Reference in a new issue