Skip to content

Instantly share code, notes, and snippets.

@mikeananev
mikeananev / demo.clj
Created December 2, 2018 21:09
simple Jline3 clojure demo
(ns jline3.demo
(:gen-class)
(:import (org.jline.terminal TerminalBuilder Terminal$SignalHandler Terminal)
(org.jline.reader LineReaderBuilder LineReader LineReader$Option)
(org.jline.reader.impl LineReaderImpl)
(org.jline.utils InfoCmp$Capability)))
(defn new-terminal
"creates new JLine3 Terminal.
returns terminal object"
@mikeananev
mikeananev / Vagrantfile
Created February 3, 2019 11:20
Basic Centos 7 image with JDK11, Clojure 1.10
# -*- mode: ruby -*-
# vi: set ft=ruby :
# ********************************************************
# on Mac run:
# vagrant plugin install vagrant-vbguest
# ********************************************************
Vagrant.configure("2") do |config|
@mikeananev
mikeananev / deps.edn
Created February 17, 2019 22:28
ED25519 Clojure Example
{:deps {org.clojure/clojure {:mvn/version "1.10.0"}
org.bouncycastle/bcprov-jdk15on {:mvn/version "1.61"}}}
@mikeananev
mikeananev / deps.edn
Created February 24, 2019 22:28
Clojure compress / decompress data examples
{:deps {org.clojure/clojure {:mvn/version "1.10.0"}
com.taoensso/nippy {:mvn/version "2.14.0"}
org.apache.commons/commons-compress {:mvn/version "1.18"}}}
@mikeananev
mikeananev / a.clj
Last active February 12, 2023 13:01
Binary tree naive impl.
(ns a)
(defrecord Tree [node-value left-tree right-tree])
(defn insert [tree new-value]
(let [{:keys [node-value left-tree right-tree]} tree]
(cond
(nil? node-value) (Tree. new-value nil nil)
(< new-value node-value) (Tree. node-value (insert left-tree new-value) right-tree)
(> new-value node-value) (Tree. node-value left-tree (insert right-tree new-value))
@mikeananev
mikeananev / scratch.clj
Created June 9, 2019 00:38
Example of doc string templates.
(defn doc-template
"Description:
Generates doc string template for given `args` argument list.
Arguments:
**`desc`** - _String_ with description what function do.
**`args`** - _vector_ of symbols (argument names).
**`return`** - _String_ with description what function return.
@mikeananev
mikeananev / scratch.clj
Created June 12, 2019 19:48
Using Leiningen and deps.edn with profiles and aliases.
(defproject my/project "0.1.0"
:repositories [["spring" {:url "https://repo.spring.io/plugins-release/"}]]
:plugins [[lein-tools-deps "0.4.5"]]
:middleware [lein-tools-deps.plugin/resolve-dependencies-with-deps-edn]
:lein-tools-deps/config {:config-files [:install :user :project]}
:main ^:skip-aot ams.core
@mikeananev
mikeananev / scratch.clj
Created June 24, 2019 08:06
Convert deps.edn map to leiningen dependencies vector.
(defn convert-deps->lein
"convert dependencies map from deps.edn to leiningen :dependencies vector.
`deps-map` should be quoted map. Example: '{org.clojure/clojure {:mvn/version \"1.10.1\"}}"
[deps-map]
(into []
(sort-by first
(for [item deps-map]
[(first item) (:mvn/version (second item))]))))
(def m '{org.clojure/clojure {:mvn/version "1.10.1"}
@mikeananev
mikeananev / scratch.clj
Last active September 2, 2019 13:38
transcriptor example
;;deps.edn
{:deps { :xr-test {:extra-deps { com.cognitect/transcriptor {:mvn/version "0.1.5"}}
:extra-paths ["test" "test/resources"]
:main-opts ["--main" "repl-runner"]}}}
;; test/repl_runner.clj
(ns repl-runner
@mikeananev
mikeananev / init.clj
Last active September 8, 2019 19:09
migratus postgres example
(defn run-once-init-db!
"# create db and users.
this fn should be run once from init stage of migratus.
* Params: no params.
* Warning: verita.config must be already started.
* Returns:
Return result of migratus/init."