Skip to content

Instantly share code, notes, and snippets.

@avidrucker
Created January 10, 2023 01:25
Show Gist options
  • Save avidrucker/7db31ba2f9f4af507f30abc7e6c60e53 to your computer and use it in GitHub Desktop.
Save avidrucker/7db31ba2f9f4af507f30abc7e6c60e53 to your computer and use it in GitHub Desktop.
Learning Notes from Making a Clojure Command Line Project
Clojure Command Line Application Tutorial
https://youtu.be/nnFq2nVKxuw
description of app
- running the app
- generates a password
- copies said password to the system clipboard
- the app can take in optional arguments such as password length -l #, or help -h
one way of how to make a new project
- clj-new (which lets you make a Lein (project.clj), Clojure CLI (deps.edn), or boot project) ... but this is not yet available for Windows
ways to build new projects directly
- Leinegin project.clj
- Clojure CLI deps.edn
skills
- creating a base project/scaffold/app
- publishing a Clojure app/project as an Uber JAR
- how to run a Clojure app/project from the terminal
- how to add a depedency to a Clojure app/project (lein/deps.edn) example: `:dependencies [[org.clojure/clojure "1.8.0"] [clj-http "2.0.0"]]`
- how to open the command palette in VS Code
- how to start a REPL and jack-in with Calva: "calva start a project REPL"
questions
- What are the trade-offs between the different REPL options, such as nREPL, REBL, protonREPL, and others?
- What does :skip-aot refer to in a Lein app project?
- What is an uberjar?
- What is the diff between a jar and a standalone jar in the context of uberjar'd project apps?
- What is Calva? https://calva.io/getting-started/ besides being a VS Code extension and way to run Clojure code via the REPL
- What if any is the NPM node_modules equivalent in a Lein or deps.edn project? ie. Do dependencies get installed locally or globally, once and only once, every time a REPL is started for a project, or at some other timing/situation?
- [ ] Post notes to gist
stopping point at 6:45 for jam 001
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment