リンク

Let’s hi five at rubyconfph 2018!

I’ll go to rubyconfph 2018 March 17, Sat. Let’s hi five at Metro Manila!

http://rubyconf.ph/2018/

I can attend only Saturday because of my school, 9000php(18000yen) is…

広告

I left MF to get English skills

2018-02-15 was my last day at Money Forward, Inc.

Previous: Senior Engineer at Money Forward, Inc. in Tokyo, Japan (2016-03-01 – 2018-02-28)
Current: English learner at PINES International Academy in Baguio, Philippines (2018-02-19 -)
Next: Senior Engineer at (TBD) in Hong Kong, Singapore or Shenzhen

There is no amazon wish list, because I moved to Philippines already 🙂

git config parser行き詰まった

git config –list のparserをつくろうとした。
ドットで階層にしていけば余裕だろっておもった。
こんなのparseできねえ。自分でgit config再実装するほうがひょっとして楽なんじゃないか。

$ git config --name-only -l
core.excludesfile
url.git@gist.github.com:.pushinsteadof
url.git://github.com/.insteadof
url.git@github.com:.pushinsteadof
url.git@github.com:.pushinsteadof
alias.permission-reset
core.bare
core.repositoryformatversion
core.filemode
core.logallrefupdates
remote.upstream.url
remote.upstream.fetch
branch.master.remote
branch.master.merge
branch.chore/use-try.remote
branch.chore/use-try.merge
branch.chore/foo.bar.baz.remote
branch.chore/foo.bar.baz.merge

https://git-scm.com/docs/git-config#FILES
これみて、たどって、include sectionを解決するだけでしょ??

もとい、最初のドット、最後のドット、その間、でいけるのか?
セパレータを変える方法ないんだろうか

scaffold tools

2年前ぐらいにもうyeomanはオワコン感でていたし、なによりつくったgeneratorがメンテ不能になる問題があった。しばらくscaffold tool要らなかったので見てなかった。

slashやらplopやら、ながめてるけど、やっぱりまだyeomanでやるのがよさそう。マジカヨ。

メンテ不能になるのは、jsonやjsのテンプレートにif-elseみたいな制御構造が入ってくる結果、シンタックスハイライトも補完も効かなければ、シンタックスエラーすら実行してみないとよくわからんものになるのが多分原因。sindreさんの動向見てくるか。boilerplate +alpha かなあ。

Plop — a micro-generator to ease your daily life | @nicoespeon
slushjs/slush: The streaming scaffolding system – Gulp as a replacement for Yeoman

crate under_score hy-phen

crateはunder_score区切りで命名するようだ。

https://doc.rust-lang.org/1.0.0/style/style/naming/README.html#general-conventions-%5Brfc-#430%5D

なおhyphenのcrateも多い。どっちか迷ってpyphenでつけてしまったので、renameしようとした。できない。
古い方全部yankして、たぶんしなくていいんだけど、新しい方にcargo publishした。ところが最後のuploadでこける。

   Uploading text_to_checkstyle_cli v0.0.5 (file:///mnt/623D90F735FA5D47/sanemat/data/src/github.com/packsaddle/rust-text_to_checkstyle_cli)
error: api errors: crate was previously named `text-to-checkstyle-cli`

前はこの名前でした、って知っとるわ。
crateでpyphenで入力して、underscoreじゃないですか、ってもしかして出たので、内部では同じに持ってるのかな。まじかよ。設計ミスぽい。helpにメールしたので、反応待ち。手作業で何か解決するのかな。

better shell

ベターシェル

私がほしいのって
– みんなでちょっとずつ作ったものが
– ワンバイナリにコンパイルできる
– ベターシェル

人が有象無象山盛りいるのが必須条件。
なので、nodejsで書いたアプリが1MBぐらいに縮んでくれると一番良い。
次にgolangでライブラリパッケージシステムが発展するのが次にいい。
どっちも期待薄なのでrustですかね。前者2つに比べちゃうと人が足りない。
rustの良し悪しはよくわからないですがcargoとcratesが最高便利。

fmtやlintは設定項目ないのがいいですね
gofmt最高
eslintイマイチ prettier最高
rstfmtイマイチ?
rubocopイマイチ

メタデータ設定項目はプログラムかけないのがいいですね
json最高
tomlイマイチ?
yamlイマイチ

jsのpower assert最高

rustのバイナリをgithub releasesに送る仕組み

なんで各言語ごとに作りこみたがるんだろう。バカなのかな? って思いたくもなるけど、自分含めてそうしないとまともに扱うのは無理なのかなと思ってしまう。

コレはやり過ぎだから、自分でわかる範囲で探すかと、cross compileのしくみを探していて結局
japaric/trust: Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows
コレに戻ってきた話です。

追記
伝わらない気もして追記すると、わたしは、クロスコンパイル環境作るくんと、クロスコンパイルするくんと、パッケージするくんと、ghr でやるほうが正しいと思うんですね。glue codeはnodejsで書くかなあ。一ミリもeasyじゃないが。

rubymineで編集中のファイルだけ、プロジェクトの.rubocop.ymlを無視してrubocop -aする

いろいろな事情の結果、rubocopでほとんど制限しないルールにしたのだけど、自分だけはrubocop -aでよしなに整形したい。rubymineで。

external toolsにこんなのを登録する。

bin/rubocop -c /mnt/623D90F735FA5D47/sanemat/data/src/github.com/sanemat/dotfiles2016/rubocop-2-3.yml -a $targetFile

危険な兆候だけ消して、あとは動けばいいので。gofmt最高。そして項目を設定できてはいけない。