アルパカ三銃士

〜アルパカに酔いしれる獣たちへ捧げる〜

令和ドローをハックして好きな画像を貼る

先程、新しい元号「令和」が発表されましたね! 技術はすごいのでこんな合成ツールがもう登場してます。

reiwadrawing.walkingmask.tk

今現在はお絵かきしたのが合成できるって感じになってるっぽいですが僕は

続きを読む

k8s で pod を再起動する

再起動するというか新しい pod を作り直すって感じ。 方法は単純で --replicas=0 にしてあげてもとに戻せばいい。例えば元々の replicas が 2 だった場合こんな感じ

kubectl scale deployment chat --replicas=0 -n chat-service
kubectl scale deployment chat --replicas=2 -n chat-service

replicas=0 にした時

NAME                    READY     STATUS              RESTARTS   AGE

replicas=2 にした時

NAME                    READY     STATUS              RESTARTS   AGE
chat-55cf66964b-c9nmp   0/1       ContainerCreating   0          16s
chat-55cf66964b-qvm96   0/1       Running             0          15s

あ当たり前だけど、検索するまでこの発想がなかった

参考

medium.com

複数変更を fmt する

git s は git status -sエイリアスとしている。

perl -nlae 'print $F[1]' をすることで変更をした terraform のファイルのみを列挙する。

terraform fmt の引数は絶対に一つしか受け取らない。ので次のようにループを組む必要があった。

for p in $(git s | perl -nlae 'print $F[1]'); do terraform fmt $p; done

emacs で短径選択、編集する方法

追記: 求めていたのが見つかった!!

追記ここまで ------

ここで見つけた

superuser.com

現在標準頑張ろうとしているので以下で十分

  1. 編集したい位置へ移動
  2. C-SPCACE
  3. 編集したい範囲を選択するために移動
  4. C-x r t 入力したい文字列 リターンキー

ここも良さそうだけど後で見る

techblog.kayac.com

YAPC::Tokyo 2019 へボランティアスタッフとして参加しました

tl;dr

時代を支えてきた Perl ハッカーの想いを聴けたので、それを引き継いでいきたいと同時にめっちゃ Perl 書きたくなりました。

前夜祭

仕事の都合で少し遅れて参加しました。全体的に LT が凄く面白かったので全然飽きませんでした。

ただ個人的に交流する時間がなかったのが残念でした。

個人的に yappo さんと沢山話せたのは嬉しかったです。(ステッカーももらった)

あと emacs で設定を書くために Lisp を覚えたいから Lisp interpreter を書いたという話をしました。

ちゃんと作ってどこかで詳しい話をしたいです。

p5-Lisp::Tiny: https://github.com/Code-Hex/p5-Lisp-Tiny Parser の書き方のスライド: https://speakerdeck.com/codehex/perl-dezuo-ru-tiny-shell

本編

本編では room0 の方でスタッフをやってました。が、 YAPC座談会の方で YAPC::Okinawa 代表ということで座談会も参加してました。詳しくは FUON さんのブログでまとまっています。

話しやすく話題を振ってくださったので素晴らしい司会に感謝です。

ameblo.jp

キーノート

tokuhirom さんでした。かなりエモい話がいっぱい出てて、個人的には

  • あるモジュールを作成するためにハッカーが集まって開発していった
  • 誰かに許可を貰う前にコードを書いてた

といった話がとても好きでした。最近だと有志で集まって開発しようぜといった話を聞かないのですごく憧れを感じました。

もう少し生まれるのが早ければ、Perl がもっと楽しい時代を味わうことができたんだろうなと考えてしまうキーノートでした。

そして、これから Perl を使うモチベーションはこれだなと思ったスライドがあったので撮影しました。

感想

全体的に凄く良かった。Perl は自分の母国語みたいなものなので、コミュニティでは久しぶりに会う方々と近況確認やアイディア出しなどができました。

ベストトーク賞の表彰式で songmu さんが選ばれたのかなりグッとくるものがあって、見てるこちらもとてつもなく嬉しくなりました。そして moznion さんは毎回、斜め上からくるアイディアで人々をあっと言わせるものを作成しているので、自分もこうなれるようになりたいと本当に尊敬してます。

お二人ともおめでとうございます!

Perl 界は本当に尊敬できる方々が多いので、自分もそうなれるように頑張っていこうと毎回勇気づけられます。次回も YAPC 開催されてほしいなー

Perl で簡単に n 文字ずつ区切る

Perl である文字列を n 文字ずつ区切って配列にする方法。

例として "abcdefghi" が与えられた時に 3 文字ずつで区切りたい場合は "abc", "def", "ghi" となることが期待される。

これを簡単に行う方法を思いついたので以下に記述。

sub sep { $_[0] =~ /.{$_[1]}/g }

# 3 文字ずつ取得
my $str = "abcdefghi";
print "$_\n" for sep $str, 3;

3 文字の場合何をしているかというと sep サブルーチンの中では実質、次の正規表現が実行される。

"abcdefghi" =~ /.../g

これが 3 文字ずつで区切った配列を返す。それで .{$_[1]} としているのは上記の条件だと .{3} となり、... と等しくなる。

これは便利!!