Clojure Development Tips and Updates for Seajure
Table of Contents
1. Seajure
1.1. Working
ssh swarm@enigma.local tmux attach
1.2. Rails vulnerability
(read-string "[:hello \"world\" ]") (read-string "[:hello \"world\" #=(java.lang.System/exit 1) ]") (alter-var-root #'*read-eval* (constantly false))
lein new
was updated to have alter-var-root set by default. However, this requires that the tagged version be used.
https://github.com/technomancy/leiningen/blob/master/CONTRIBUTING.md
git checkout 1.7.1
1.3. REST APIs
Compojure can get most of the way there.
1.4. eshell example
1.5. Performance updates
:eval-in :nrepl
1.6. nrepl
M-. for browsing vars.
Lacking inspector features.
1.7. Optimizing maps with lets
(for [x [1 2 3]
y [4 5 6]]
[x y])
1.8. lein.el with eshell
- use with * prefixing to not use eshell for help
- lein new registration-buddy
- nrepl-jack-in
C-c M-n
- -main in the repl should work
- #_ comments out an s-expression
(throw (ex-info "busted" {:code 17}))
This allows for some form of pattern matching like
This also had cases of breaking out the time match, providing the context, throwing the
1.9. Converting to core.match
https://github.com/clojure/core.match/wiki/Overview
This was a fair amount of pattern matching on data.