c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開發中です。

ヨコガナ/縦Latin Advent Calendar 2018

ヨコガナ/縦 Latin Advent Calendar 2018 です。

毎日、橫假名/縱 Latin を書いて畫像を貼ります。募集もしてます。

應募先 : https://mstdn.res.ac/@ne_sachirou

今迄の書例は下記に在ります。

ももんが Advent Calendar の系譜 :

12/1

橫假名

f:id:Kureduki_Maari:20181201234848j:plain
いろはにほへど ちりぬるを わがよたれぞ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせず

縱 Latin

f:id:Kureduki_Maari:20181201234802j:plain
Quick brown fox jumps over the lazy dog.

ももんが

f:id:Kureduki_Maari:20181202000738j:plain

12/2

橫假名

f:id:Kureduki_Maari:20181203004632j:plain
とりなくこゑす ゆめさませ みよあけわたる ひんかしを そらいろはえて おきつへに ほふねむれゐぬ もやのうち

f:id:Kureduki_Maari:20181203004659j:plain
火星に榮光、地に平和、人には善意があります樣に。

縱 Latin

f:id:Kureduki_Maari:20181203190959j:plain
Rafael Alberti "El mar. La mar"

ももんが

f:id:Kureduki_Maari:20181207093511j:plain

12/3

橫假名

f:id:Kureduki_Maari:20181203004839j:plain
あめ つち ほし そら やま かは みね たに くも きり むろ こけ ひと いぬ うへ すゑ ゆわ さる おふせよ えのYEを なれゐて

f:id:Kureduki_Maari:20181203005108j:plain
火星帝國國歌。

縱 Latin

f:id:Kureduki_Maari:20181210203316j:plain
длина кириллицы (Dlina krillicy) (方式はISO 9:1995)

ももんが

f:id:Kureduki_Maari:20190111113457j:plain

12/4

橫假名

f:id:Kureduki_Maari:20181205112229j:plain
ゾンビランドサガのオープニングより。

縱 Latin

f:id:Kureduki_Maari:20181210204732j:plain
3.14159265359 , 2.71828182846

ももんが

f:id:Kureduki_Maari:20190111113510j:plain

12/5

橫假名

f:id:Kureduki_Maari:20181207095635j:plain
みんなも よこがなで いろいろな ことばを かいて みて くださいね。 かけたら ハッシュタグ “#橫假名” もしくは “#横仮名” を つけて とうかう 之てね。

縱 Latin

f:id:Kureduki_Maari:20181210231850j:plain
Robert Browning "Pippa's Song"

ももんが

12/6

橫假名

f:id:Kureduki_Maari:20181210235307j:plain
ねがはくは 花のもとにて 春死なむ その如月の 望月のころ (西行)

縱 Latin

f:id:Kureduki_Maari:20181210234100j:plain
I'm going to make him an offer he can't refuse.

ももんが

12/7

橫假名

f:id:Kureduki_Maari:20181215015958j:plain
のめやうたえ

縱 Latin

f:id:Kureduki_Maari:20181216002104j:plain
Bibe, cantabo. (のめやうたえ)

ももんが

12/8

橫假名

f:id:Kureduki_Maari:20181216002400j:plain
こえこえず心をかくるなみもなし人の思ひぞ末の松山 (藤原定家)

縱 Latin

f:id:Kureduki_Maari:20181230231939j:plain
Simple made easy

ももんが

12/9

橫假名

f:id:Kureduki_Maari:20181216002722j:plain
あけぬとていでつる人のあともなしただ時のまにつもる白雪 (藤原定家)

縱 Latin

f:id:Kureduki_Maari:20181230232215j:plain
x2 - n y2 = 1

ももんが

12/10

橫假名

f:id:Kureduki_Maari:20181210120029j:plain
すっごい にじむよ!

f:id:Kureduki_Maari:20181210120121j:plain
いっしゃう もじ かいて あそんで くらしたい!!!

f:id:Kureduki_Maari:20181210174053j:plain
もう直ぐ生誕日の人がゐるので。

縱 Latin

f:id:Kureduki_Maari:20181230232559j:plain
All's well that ends well.

ももんが

12/11

橫假名

f:id:Kureduki_Maari:20181216003046j:plain
おもひやる室の八島をそれと見ば聞くに煙のたちやまさらん (藤原定家)

縱 Latin

f:id:Kureduki_Maari:20181230233010j:plain
Curiosity killed the cat.

ももんが

12/12

橫假名

f:id:Kureduki_Maari:20181216004048j:plain
しぐれゆくよものこずゑの色よりも秋はゆふべのかはるなりけり (藤原定家)

縱 Latin

f:id:Kureduki_Maari:20181230233327j:plain
Please do not act like a baby.

ももんが

12/13

橫假名

f:id:Kureduki_Maari:20181229152630j:plain
ヨコガナ

縱 Latin

f:id:Kureduki_Maari:20181230233558j:plain
Bien está lo que bien acaba.

ももんが

12/14

橫假名

f:id:Kureduki_Maari:20181229152725j:plain
昔せし隠れ遊びになりなばや片すみもとによりふせりつつ (西行)

縱 Latin

f:id:Kureduki_Maari:20181230234028j:plain
A caballo regalado, no le mires el diente.

ももんが

12/15

橫假名

f:id:Kureduki_Maari:20181229152951j:plain
旅に病で夢は枯野をかけ廻る (芭蕉)

縱 Latin

f:id:Kureduki_Maari:20181230234538j:plain
Ayunen los santos, que no tiene tripa. Barriga llena, a Dios alaba.

ももんが

12/16

橫假名

f:id:Kureduki_Maari:20181216005243j:plain
石となれ 石は 怖れも 苦しみも 憤りも なけむ はや 石となれ

f:id:Kureduki_Maari:20181216010137j:plain
我はもや 石とならむず 石となりて 冷たき海を 沈み行かばや

f:id:Kureduki_Maari:20181217214530j:plain
氷雨 降り狐火 燃YEむ 冬の 夜に われ 石となる 黑き 小石に

f:id:Kureduki_Maari:20181217214619j:plain
眼 瞑づれば 氷の 上を 風が 吹く 我は 石となりて 轉びて行くを

縱 Latin

f:id:Kureduki_Maari:20181217214711j:plain
„An die Freude“ の一部。竊かに泣き乍ら此の集ひを立ち去って下さい。

ももんが

12/17

橫假名

f:id:Kureduki_Maari:20181229153127j:plain
ひらひらと挙ぐる扇や雲の峰 (芭蕉)

縱 Latin

f:id:Kureduki_Maari:20181230235243j:plain
Alter schützt vor Torkeit nicht.

ももんが

12/18

橫假名

f:id:Kureduki_Maari:20181229153218j:plain
詩がわたしたちの歌を捨てた時わたしたちの詩は死んだのです (麻井シキ)

縱 Latin

f:id:Kureduki_Maari:20181230235742j:plain
Zeit ist Geld.

ももんが

12/19

橫假名

f:id:Kureduki_Maari:20181229153603j:plain
月夜に拾って猫を飼う (麻井シキ)

縱 Latin

f:id:Kureduki_Maari:20181230235931j:plain
cogito, ergo sum.

ももんが

12/20

橫假名

f:id:Kureduki_Maari:20181229153719j:plain
私の心臓に鈴を結んで、跳び跳ねるとちりちり鳴ります (麻井シキ)

縱 Latin

f:id:Kureduki_Maari:20181231000258j:plain
vita brevis, ars longa.

ももんが

12/21

橫假名

f:id:Kureduki_Maari:20181222204410j:plain
なんだか とっても つかれて ゐて、げんじつの ぺんを にぎる きりょくが ない。

f:id:Kureduki_Maari:20181222204636j:plain
ざるで みづを くんでゐるやうな くうきょな とろうかんだけが ある。

縱 Latin

f:id:Kureduki_Maari:20181231000529j:plain
Mi amas vin.

ももんが

12/22

橫假名

f:id:Kureduki_Maari:20181229153926j:plain
切って配った私の体の籠いっぱいの部品が (麻井シキ)

縱 Latin

f:id:Kureduki_Maari:20181231000948j:plain
mi prami do .isemu'ibo dunda lo melbi xrula

ももんが

12/23

橫假名

f:id:Kureduki_Maari:20181223233011j:plain
ふゆ きたりなば はる とほからじ

f:id:Kureduki_Maari:20181223233202j:plain
文字の精靈は我等に安寧を與へ、また奪ふ。

縱 Latin

f:id:Kureduki_Maari:20181231001354j:plain
Allah bir kapiyi kaparsa bin kapiyi açar.

ももんが

12/24

橫假名

f:id:Kureduki_Maari:20181229154019j:plain
世界は深くわたしの既知である (麻井シキ)

縱 Latin

f:id:Kureduki_Maari:20181230231802j:plain
grass wWWwww (麻井シキ)

ももんが

12/25

橫假名

f:id:Kureduki_Maari:20181225221300j:plain
メリークリスマス

縱 Latin

f:id:Kureduki_Maari:20181225221315j:plain
2018-12-25 / Merry Christmas / Happy Holidays

ももんが

Format JSON by jq, on Vim

Vim の buffer の内容を jq で format する。下の記事に書いて在る事でしかないが。

cf. pipe - Piping buffer to external command in Vim - Stack Overflow

大きな JSON を得たがそれが format されてゐない。ざっと目で眺めたいから、jq .に流し込めればよいが、手數が掛かる。この手數を、

  1. Vim を開く
  2. JSONVim の buffer に put する
  3. jq を適用する

でやるのが、escape 要らずで確實に出來、且つ手數が少ないのではなからうか。

目指す command は:!で、これの help は:h :!で見られる。:!の後に shell command を續けられ、實行できる。この command には前に範圍を指定出來、その場合範圍の内容を stdin として shell command に與へ、stdout で範圍を置き換へる。詰まり、

:%!jq .

で buffer の全内容を jq で format 出來る。buffer の一部も指定出來、例へば選擇した範圍を format するならば:'<,'>!jq . (visual mode で選擇してから:!jq .と實行する) を使へる。

以上は Vim だけでなく Evil (Vi layer for Emacs)でも同樣に出來る。

cf. emacs-evil/evil: The extensible vi layer for Emacs.

ヾ(〃l _ l)ノ゙

Monitoring Elixir Plug/Phoenix Web application easy. KomachiHeartbeat v0.1.0 ヾ(〃l _ l)ノ゙

Rails にはKomachiHeartbeatと云ふ何かと有り難い mountable engine が在り、Elixir/Phoenix にも欲しかったので移植した。

KomachiHeartbeat

github.com

Plug 若しくは Phoenix の application の、適当な path にぶら下げて使ふ。例では/opsにぶら下げてある。Phoenix だと router で、

defmodule ExampleWeb.Router do
  use ExampleWeb, :router

  forward("/ops", KomachiHeartbeat)
end

とすると、

  • GET /ops/heartbeat
  • GET /ops/stats

と云ふ二つの endpoint が出來る。heartbeat は 200 ok か 503 error を返す。application が新しい HTTP 接續を受けられるなら 200 ok が返ってくる。受けられないなら timeout するだらう。接續は受けられるが何か問題 (何を確認するかは plugin で擴張する) が在るなら 503 error を返すやうに出來る。

stats は application の統計情報を返せる。default では空っぽで、plugin で返す情報を増やす。

元の Rails のものとの違ひは、収集する情報は全てを plugin で作るやうにしてあり、入れ替へられるようにした。Elixir には Rails と違ひ、「標準の stack」の樣なものは Ecto 位いしか無く、application によって確認すべき事が全く異なるだらうからだ。とは言へ標準の plugin は幾つか作りたいと思ってゐる。

Git repository の名前は Ex-KomachiHeartbeat であるが、これは当然元としたものと區別出來なければならない事と、Max 新幹線の樣な語呂にする爲に suffix ではなく prefix にした。

はい?

こまち (列車) - Wikipedia

Max (鉄道車両) - Wikipedia

(〃l _ l)

Testable readonly ETS. Mnemonics.ExMachina v0.1.0 ヾ(〃l _ l)ノ゙

  • 讀み取り専用
  • on-memory で高速
  • 再起動せずに新しい ver.の data へ入れ替へられる
  • 古い ver.で處理してゐた計算はそのまま古い ver.を讀み出し續けられる
  • heap 領域に cache できる。讀み出した data を snapshot として system 外に持ち運べる
  • parallel

これらを滿たしたMnemonicsと云ふ Elixir の library を以前に作った。無停止 upgrade 出來るActiveHashの樣なものだ。

Mnemonics を使った code を test しやうとする。test で使ふ data は、實働環境から独立である必要が在る、即ち test で使ふ data はは test 内に書かれてあるのが好い。又 test で使ふ data は、他の test からも独立である必要が在る、即ち或る test が書き換へた data が他の test に影響しないのが好い。PostgreSQL 等の DB を使った code を test するには 2 つの方法が在る。ひとつには DB と遣り取りする函數を mock して了ふ。もうひとつは test 毎に一意な data を DB に書き込む。test 毎に一意であればその data は他のどこからも讀み出せない。RDB であれば通常は、一意な primary key を test の外で生成して 與へ、與へられた key の data 以外には手を触れないと取り決めてやる。所謂 test factory だ。Rails/ActiveRecord だとFactoryBotが有名だ。Elixir/Ecto だとExMachinaが有名である。例へばこう使ふ。

defmodule Factory do
  use ExMachina.Ecto

  def user_factory do
    id = sequence("")
    %User{id: String.to_integer(id), name: "user" <> id}
  end
end

defmodule UserTest do
  import Factory

  use ExUnit.Case

  test "authorized?" do
    user = insert(:user)
    assert User.authorized?(user)
  end
end

some_factoryと云ふ函數を定義してやりuse ExMachina.Ectoとしてやると、build(:some)insert(:some)と云ふ函數が使へる樣に成る。

さて Mnemonics ではこれが出來ない。test 毎に一意な data を生成してやるのだが、readonly なので環境に書き込めない。

出來なかった。mock する手も在っただらうとは思ふものの、ETS をまるごと mock するのはダルいので、Mnemonics 側に書き込み出來る穴を空けてやった。この穴は table 毎に 1 つの GenServer であり parallel ではないので本番では使ってはならないが、test で使ふには充分速い。

Mnemonics.ExMachina

github.com

こう使ふ。

defmodule Factory do
  use Mnemonics.ExMachina

  def item_factory do
    id = sequence("")
    %Item{id: String.to_integer(id), name: "user" <> id}
  end
end

defmodule UserTest do
  import Factory

  use ExUnit.Case

  test "drop?" do
    user = insert(:item)
    assert Item.drop?(item)
  end
end

use ExMachina.Ectouse Mnemonics.ExMachinaに變はっただけ。一つの factory に兩方を use する事は出來ないので、併用する時は 2 つ factory を作ってやり、尚且つ import せず full qualified に module 名附きで呼んでやれば好い。

ヾ(〃l _ l)ノ゙