Like this:
# Use absolute paths, since relative paths like ~/Projects won't be expanded.
# - deps ------------------------------------------------------------------
sudo port install ninja # or brew install ninja
cargo install xargo
FROM clojure:openjdk-15-tools-deps AS builder | |
WORKDIR /opt | |
ADD deps.edn deps.edn | |
RUN clj -Sdeps '{:mvn/local-repo "./.m2/repository"}' -e "(prn \"Downloading deps\")" | |
RUN clj -e :ok | |
COPY . . | |
RUN clj -e :ok |
(ns luandro) | |
(even? 3) | |
(apply + (filter even? (range 20))) | |
(->> (range 20) | |
(filter even?) |
(defn left-pad | |
"Left-pads inputs with prefix up to length n (just in case String.padStart stops working one day)." | |
[n prefix input] | |
(let [s (str input)] | |
(str (string/join "" (repeat (- n (.-length s)) prefix)) s))) |
(defn binary-search | |
"Finds a value in a sorted seq in log(N) time." | |
[coll target] | |
(if (seq coll) | |
(let [half (int (/ (count coll) 2)) | |
pivot (nth coll half nil)] | |
(if (= pivot target) | |
pivot | |
(if (< target pivot) | |
(binary-search (take half coll) target) |
Like this:
# Use absolute paths, since relative paths like ~/Projects won't be expanded.
# - deps ------------------------------------------------------------------
sudo port install ninja # or brew install ninja
cargo install xargo
# I'm no longer smart enough to learn DSLs to start my favourite language REPL. | |
# | |
# If anyone from Cognitect is reading this, AFAIC this stuff is the biggest barrier to Clojure adoption. | |
# | |
# Edit your deps.edn file: | |
# | |
# {:deps {org.clojure/clojure {:mvn/version "1.9.0"} | |
# org.clojure/clojurescript {:mvn/version "1.10.339"} | |
# ;; ...other deps. | |
# } |
$ clj -Sdeps '{:deps {org.clojure/tools.nrepl {:mvn/version "0.2.12"}}}' | |
Clojure 1.9.0 | |
user=> (use '[clojure.tools.nrepl.server :only (start-server stop-server)]) | |
nil | |
user=> (defonce server (start-server :port 7888)) | |
#'user/server | |
;; now connect to port 7888. there's probably a way to do this in one line. |
; using Clojure 1.9 | |
(require '[clojure.pprint :as pprint]) | |
(defn xform-dep [[lib version & korks]] | |
(let [args (into {} (apply hash-map korks))] | |
[lib (merge {:mvn/version version} args)])) | |
(defn xform-deps | |
"deps.edn utility function by @theronic 2018-02-28 | |
Transforms a collection of project.clj :dependencies to deps.edn style |
#!/usr/bin/env node | |
if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) { | |
Math.imul = function (a, b) { | |
var ah = (a >>> 16) & 0xffff; | |
var al = a & 0xffff; | |
var bh = (b >>> 16) & 0xffff; | |
var bl = b & 0xffff; | |
// the shift by 0 fixes the sign on the high part | |
// the final |0 converts the unsigned value into a signed value | |
return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); |
#!/bin/sh | |
echo Install all AppStore Apps at first! | |
# no solution to automate AppStore installs | |
read -p "Press any key to continue... " -n1 -s | |
echo '\n' | |
echo Install and Set San Francisco as System Font | |
ruby -e "$(curl -fsSL https://raw.github.com/wellsriley/YosemiteSanFranciscoFont/master/install)" | |
echo Install Homebrew, Postgres, wget and cask | |
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" |