Localstack is a framework for testing AWS services.
These are some nuggets I've collected while working with Localstack.
pip install localstack
In Specification by Example, Gojko Adzic describes a kind of behavior-driven development that makes documentation the central point from which everything else extends. In the book, he outlines key process patterns that organizations can follow to establish business goals, define scope, polish requirements, and write effective, evolving documentation along the way.
Gojko shares these process patterns as happening "just in time" and occurring cyclically rather than as a kind of waterfall pattern. This process workflow should happen when the team is "ready for more work". This allows these key process patterns to comfortably function within Agile sprints.
Gojko appears to mention these patterns not as a strict rubric, but more as process patterns that other successful teams have generally implemented in their own way.
Below is the key process pattern outline as specified by Gojko. This flowchart is an approximation
Pros:
Cons:
Rust doesn't have traditional garbage collection, but instead has other mechanisms to free up memory as quickly and safely as possible.
One mechanism Rust uses to free up memory is called ownership. This happens when a complex type such as a Vec
is used in a different scope than it was declared, which results in the new scope taking "ownership" of the variable.
For simpler types, ownership does not come into play. The below code is completely valid.
fn main() {
Rust has certain abstractions called macros that are kind of like hooks in React (except that they don't necessarily have anything to do with state). Essentially, they abstract away other Rust code.
A macro is appended with an exclamation point !
.
The println!
code we use to print to the screen is a macro, as is vec!
. They abstract away other code and allow us to write more simplified, clean code.
fn main() {