Skip to content

Instantly share code, notes, and snippets.

@koga1020
koga1020 / command.lua
Created November 26, 2022 11:56
uuidgen + pngpasteを実行してimages/に画像ファイルを保存するスクリプト
local function uuid()
local command = "uuidgen | tr '[:upper:]' '[:lower:]'"
local handle, error = io.popen(command)
if not handle then
return nil, error
end
local result = handle:read("*a"):gsub("%s", "")
handle:close()

assert_matchを試す

Mix.install([
  {:assert_match, github: "siiibo/assert_match"}
])
Mix.install([
{:benchee, "~> 1.0", only: :dev},
{:flow, "~> 1.2.0"}
])
mapper = fn number -> number * number end
Benchee.run(%{
"enum" => fn -> 1..1_0000_000 |> Enum.map(mapper) |> Enum.sum() end,
"flow" => fn -> 1..1_0000_000 |> Flow.from_enumerable() |> Flow.map(mapper) |> Enum.sum() end
@koga1020
koga1020 / README.md
Last active January 31, 2022 13:49
定義された関数を参照してmacroで新しい関数定義を追加する
$ iex -S mix
Erlang/OTP 24 [erts-12.0.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit]

Interactive Elixir (1.13.0) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> B.__info__(:functions)
[bar: 0, foo: 0, hoge: 0, new_bar: 0, new_foo: 0, new_hoge: 0]
iex(2)> B.new_bar()
"geneareted from bar."
iex(3)> B.new_foo()
@koga1020
koga1020 / remove-label.yaml
Last active May 6, 2021 10:45
issue close時に任意のラベルを削除するgithub action
name: Remove Label
on:
issues:
types: [closed]
jobs:
remove_label:
runs-on: ubuntu-latest
steps:
@koga1020
koga1020 / _docker-compose.yml
Last active April 6, 2021 10:43
docker-compose for Elixir project.
version: '3'
services:
db:
image: postgres:11.8-alpine
volumes:
- ./docker/db/init:/docker-entrypoint-initdb.d
- ./docker/db/data:/var/lib/postgresql/data
ports:
- "5432:5432"

赤いカプセルを取れ

プログラミング言語Elixirは、不変的な状態を用いた関数プログラミングと、並行性へのアクターベースのアプローチを、整然とした、モダンな文法の中にラップしたものだ。そして、業務に耐えうる頑健さを持ち、高性能で、分散可能なErlang VM上で動作する。でも、いったいこれって、どういう意味だろう?

これは、今あなたの時間を奪っている。諸々の難しいことについての心配を、やめていいってことだ。もう、マルチスレッド環境でデータの一貫性を守るために頭を絞る必要はない。アプリケーションをどうスケールさせるか、あまり考えなくてよくなる。さらに、これが一番大事なことだが、プログラミングを別のやり方で考えることができるようになる。

point:

  • 「プログラミングを別のやり方で考えることができるようになる」がポイント
  • マトリックスに「赤いカプセル」ってのが出てくる(らしい)
npm i -S @types/google-apps-script
cat <<EOF > tsconfig.json
{
"compilerOptions": {
"lib": ["es2019"],
"experimentalDecorators": true
}
}
EOF
@koga1020
koga1020 / .projections.json
Created August 30, 2020 02:06
.projection.json for elixir project
{
"lib/*.ex": {
"alternate": "test/{}_test.exs"
}
}
defmodule AggregaterTest do
use ExUnit.Case
doctest Aggregater
describe "test for Aggregater.counter" do
test "シンプルなケース" do
assert Aggregater.counter(["A", "B", "C", "D"]) == %{"A" => 1, "B" => 1, "C" => 1, "D" => 1}
end
test "重複した値がうまくカウントされているか" do