Practicalli Books¶
Topics range from general engineering practices and tools to specific software development with the Clojure programming language.
Engineering Playbook¶
Practical guides for specific tools and practices to support common aspects of software development.
Topics include career development, culture, operating systems, development practices, version control, software design and technical writing.
Practicalli Engineering Playbook
Clojure¶
A practical approach to learning the Clojure programming language, taking a REPL driven development approach.
The Clojure CLI and rich set of community tools support the Clojure development workflow, including Rebel readline Terminal UI and Portal data inspector.
Practice Clojure by solving challenges with examples of different approaches. Encode the design and avoid regressions by writing unit tests and specifications for generative testing.
Practicalli Clojure Clojure CLI Config
Clojure Web Services¶
Step by step guides to building production level server-side web services and API's in Clojure.
The defacto Ring standard provides an abstraction between HTTP requests & responses, using Clojure Hash-maps. Ring middleware defines common processing actions, handler functions define actions for specific routes.
Data formats are managed by coercion and content negotiation, optionally using specifications to ensure data validation.
Reitit suite of libraries provide a data driven approach to defining routing.
OpenAPI (swagger) is used for testing andself-documenting APIs.
Practicalli Clojure Web Services
Spacemacs (Emacs)¶
Powerful editing with Emacs and Vim multi-modal editing (Evil). A mnemonic menu simplifies the learning curve.
Install a full Clojure development experience with two Git clone commands.
Practicalli Spacemacs Spacemacs Config
Neovim¶
Neovim is a highly effective and highly configurable text editor, with IDE features without the UI overhead.
Neovim supports the highly effective vim-style editing language, minimising the barrier between thought and editor once that language is learned.
Practically uses Neovim for Clojure development with Conjure and Clojure LSP. The configuration includes a mnemonic menu which simplifies the learning curve of Neovim.
- Conjure REPL client for Clojure (and other languages)
- AstroNvim & AstroNvim Community provides a range of plugins and base config.
- Neogit for simple source control
Practicalli Neovim Practicalli Neovim Config
Under development¶
Practicalli books evolve from commercial experiences and from teaching in the community.
The following books are work in progress or need significant updates.
ClojureScript¶
Build single page apps (SPA's), dynamic UI's and mobile apps with responsive design.






