Created
January 10, 2023 01:25
-
-
Save avidrucker/7db31ba2f9f4af507f30abc7e6c60e53 to your computer and use it in GitHub Desktop.
Learning Notes from Making a Clojure Command Line Project
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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