Skip to content

Instantly share code, notes, and snippets.

View mprokopov's full-sized avatar

Maksym Prokopov mprokopov

View GitHub Profile
@mprokopov
mprokopov / datomic_spec_test.clj
Created April 2, 2021 10:56
supply datomic connection to spec check
(require '[datomic.api :as d])
(require '[clojure.spec.alpha :as s])
(require '[clojure.spec.test.alpha :as stest])
(def uri "datomic:mem://test")
(def conn (d/connect uri))
(s/def ::param string?)
(s/def :datomic/conn #(instance? datomic.Connection %))
(defn sut [conn param]
@mprokopov
mprokopov / currency-i18n.cljs
Created March 17, 2021 08:34
clojurescript render currency using google closure library
(import '[goog.i18n NumberFormat]
'[goog.i18n currency])
(let [fmt (NumberFormat. (.getLocalCurrencyPattern currency "USD"))]
(.format fmt 123.456)) ;; => "$123,46"
@mprokopov
mprokopov / locale.cljs
Created March 12, 2021 12:05
clojurescript date with locale
(import '[goog.i18n DateTimeFormat])
(let [date (js/Date.)
fmt (DateTimeFormat. "dd MMMM")]
(.format fmt date)))
@mprokopov
mprokopov / test.clj
Created March 8, 2021 11:33
clojure namespaced keywords destructuring
(require '[widget.factory :as factory])
;; direct
(fn [{clip :widget.factory/clip}]
)
;; :keys + symbol
(fn [{:keys [widget.factory/clip]}]
)
@mprokopov
mprokopov / snippet.html
Created December 9, 2020 08:40
links and badges to social network profiles
<div class="textwidget profile__link">
<!-- Facebook Badge START -->
<a href="https://ru-ru.facebook.com/mprokopov" target="_TOP" style="font-family: &quot;lucida grande&quot;,tahoma,verdana,arial,sans-serif; font-size: 18px; font-variant: normal; font-style: normal; font-weight: normal; color: #3B5998; text-decoration: none;" title="Max Prokopov" rel="noopener noreferrer">Max Prokopov</a><br><a href="https://ru-ru.facebook.com/mprokopov" target="_TOP" title="Max Prokopov" rel="noopener noreferrer"><img src="https://badge.facebook.com/badge/564099895.8308.711585450.png" style="border: 0px;"></a>
<!-- Facebook Badge END -->
</div>
<div class="profile__link">
<a href="https://twitter.com/mprokopov?ref_src=twsrc%5Etfw" class="twitter-follow-button" data-show-count="false">Follow @mprokopov</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class='LI-profile-badge profile__link' data-version='v1' data-size='mediu
@mprokopov
mprokopov / com.cognitect.datomic.plist
Created October 18, 2020 11:12
datomic autorun for macos
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.cognitect.datomic</string>
<key>ProgramArguments</key>
<array>
<string>/Users/nexus/datomic-pro-1.0.6165/bin/transactor</string>
<string>config/dev-transactor.properties</string>
@mprokopov
mprokopov / babashka-json.clj
Created October 12, 2020 15:35
read json from babashka
#!/usr/bin/env bb
(require '[cognitect.transit :as transit])
(import [java.io ByteArrayInputStream ByteArrayOutputStream])
(def out (ByteArrayOutputStream. 4096))
(def writer (transit/writer out :json))
(transit/write writer "foo")
(transit/write writer {:a [1 2]})
@mprokopov
mprokopov / tabulated.el
Created October 9, 2020 12:18
Example for tabulated list - composer modules with versions
(defun oxid-composer ()
(interactive)
(cd (oxid-project-dir))
(switch-to-buffer
(set-buffer (get-buffer-create "*OXID Composer*")))
(composer-list-mode))
(define-derived-mode composer-list-mode tabulated-list-mode "list-demo-mode"
(setq tabulated-list-format [("Name" 45 t)
("Version" 15 t)
global:
scrape_interval: 15s
scrape_timeout: 10s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets: []
scheme: http
timeout: 10s
@mprokopov
mprokopov / main.go
Created May 12, 2020 08:00
aws lambda example
package main
import (
"fmt"
"context"
"github.com/aws/aws-lambda-go/lambda"
)
type MyEvent struct {
Name string `json:"name"`