OTOBANK Engineering Blog

オトバンクはコンテンツが大好きなエンジニアを募集しています!

Hyper と fish の環境構築をしてみたよ

あああああああああけましておめでとうございます (まじか) @riaf です!
すっかりブログの更新をサボっていましたが、今後も気張らずにゆるくやっていこうと思いますので今年もよろしくお願いします。

というわけで (どういうわけだ)、最近 macOS をクリーンインストールして、新たに環境構築する機会があったので、気持ちだけでもナウでヤングになろうと思い、ターミナルに Hyper、シェルを fish にしてみた記録です。

(インストールのあたりの話とかはめちゃ簡単なので省略)

Hyper をインストールすると、 /usr/local/bin/hyper/Applications/Hyper.app/Contents/Resources/bin/hyper のシンボリックリンクが作られます。プラグイン・テーマのインストールはこのコマンドを使うということですね。

# こんな感じ
hyper i verminal

Homebrew をインストールすると、/usr/local/bin/hyper が消えてしまったのですが、Hyper を再起動すると自動的にまた作られるようでした。

プラグインはひとまずそれなりに使われていそうだった

  • hyper-search
  • hypercwd
  • hyper-statusline

あたりを入れてみました。各プラグインの詳細はまあどこかで紹介されていることでしょう。

初期状態だと Hyper (に限らずだけど) ではキーリピートが効かなくなっていたので、

defaults write -g ApplePressAndHoldEnabled -bool false

こうしてキーリピートできるようにしておきました。

いつもだとここでなにも考えずに brew install zsh してしまうところだったのですが、ナウでヤングな僕は fish を使おうと思ったので brew install fish としました。インストール後は /etc/shells に追記して、chsh するだけですね。そういえばここで再ログインが必要かもしれません。

日本語をうまく扱えない、という話を割と見たんですが、バージョン 2 系からは環境変数 LANGja_JP.UTF-8 を設定してあげれば特に問題なく使えています。

fish も最近のプロダクトっぽい感じでプラグインマネージャーがいくつかありまして、僕は fisherman を入れてみました。

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman

こちらも同様に簡単にプラグインをインストールできます。

# こんな感じ
fisher i fzf

zsh のゴリゴリカスタマイズできる感じも好きだったのですが、最近はちょっとそれも億劫になってきていたので、デフォルトで色々してくれちゃうのは楽チンでいいですね。

どちらもまだ若いプロジェクトなこともあって、この記事の情報もいつまで使えるかわからないですが、久々にそういう環境を楽しんでみることにします ;p

BEAR.Sunday のリソースキャッシュを試してみた

この記事には @koriym さんによるフォローアップ記事: BEAR.Sunday のリソースキャッシュ - Qiita があります。併せてご覧ください。


しばらくぶりです。 @kalibora です。

この記事は BEAR.Sunday Advent Calendar 2017 - Qiita 20日目の記事です。

(前日の記事と少し被りますが気にしない)

リソースキャッシュとは?

BEAR.Sunday には リソースキャッシュ と呼ばれる機能があります。

リソースクラスに @Cacheable とアノテートするだけで、リソースの中身がキャッシュされるようになる。という機能です。

データベースに毎回アクセスするようなことは、負荷の観点からC(Consumer)向けのサービスではあまりしないでしょうから、とても便利な機能だと思います。

しかしながらキャッシュはパージ(削除)するタイミングが重要であり、頭を悩ませる所だと思います。

これについては REST をベースとしているため、GET 以外の各HTTPメソッドの呼び出し時に自動でパージするようになっているようです。 (もちろんAPIを介さず直接DBを変更したら意味ないですが)

それでは実際に試してみます。

続きを読む

BEAR.Sundayをコードリーディングしたのでメモ程度にアウトプットする

この記事には @koriym さんによるフォローアップ記事: Re: BEAR.Sundayをコードリーディングしたのでメモ程度にアウトプットする - BEAR Blog があります。併せてご覧ください。


お久しぶりです。 @kalibora です。

題名が若干のルー大柴感ありますが、以前から気にはなっていたものの手を出していなかった BEAR.Sunday を最近触りまして、

理解を深めるためにもコードを多少読んだので、ここにそのメモを藪からスティックに垂れ流したいと思います。

誰かのお役に立てれば幸いです。

(多分に間違えている可能性があるので、その際はマサカリを投げてください。)

前提条件

以下のバージョンのコードを読みました。

$ composer show | grep 'bear/\(app-meta\|package\|resource\|sunday\)'
bear/app-meta                      1.2.4              BEAR.Sunday application meta information
bear/package                       1.7.0              BEAR.Sunday framework package
bear/resource                      1.9.0              Hypermedia framework for object as a service
bear/sunday                        1.2.1              A resource-oriented application framework

また、下記のように bear/skeleton を使ってプロジェクトを開始しています。

$ composer create-project bear/skeleton MyVendor.MyPackage

github.com

読み進める前提としては、BEAR.Sunday の チュートリアル をやって、なんとなく理解していた方が分かりやすいかと思います。

続きを読む