Practical guides for specific tools and practices to support software development.
Learn the Clojure language through REPL driven development using Clojure CLI tools (deps.edn). Use a rich set of community tools, including Rebel readline Terminal UI, Portal and Reveal data browsers and tools to manage all aspects of Clojure projects.
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.
Clojure Web Servicesλ︎
Building services with APIs
Build production level server-side web services, micro-services and API's in Clojure.
Using Ring as an abstraction over HTTP with requests and responses as simple Clojure hash-maps.
Routing of requests are managed by Compojure or Reitit, passing requests to handers which are Clojure functions.
Data formats are managed by coercion and content negotiation.
OpenAPI (swagger) is used for self-documenting APIs
powerful editing with Emacs and Vim multi-modal editing, with a mnemonic menu that simplifies the learning curve. Install a full Clojure development experience with two Git commands.
Neovim for effective Clojure development with Conjure and Clojure LSP (nvim-treesitter). With a mnemonic menu to simplify the learning curve.
- AstroNvim & AstroNvim Community
Practicalli books evolve from commercial experiences and from teaching in the community. The following books are work in progress or need significant updates.
build single page apps (SPA's), dynamic UI's and mobile apps with responsive design
Clojure Data Scienceλ︎
Clojure tools and techniques when working with data science related projects. Ingest data
Amazon Web Servicesλ︎
Clojure development with Amazon Web Services
VSpaceCode is a VS Code extension providing key driven commands for UI and editing features.
Practicalli contributed Calva key bindings to the VSpaceCode project to support Clojure development.