サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
b4b4r07.hatenadiary.com
最強のヒストリ補完を求めて シェルヒストリに不満を持っていたので自作しました。今の自分にとっては必要な機能を盛り込んでいて便利に使えていますが、誰かにとっては、もしくは数カ月後の自分にとってはぜんぜん最強じゃないかもしれないです。 以前このようなエントリを書きました。 www.tellme.tokyo このころから (いやもっと前から) シェルのヒストリ補完に不満を持っていました。 単純にデフォルトの C-r だと目的のものを探しづらい 例えばコマンド名の一部だけだとノイズが多すぎる けどディレクトリは覚えているからそれでもフィルタしたい、とか 他にも色々あって (その理由について先のエントリを見てもらうとして) zsh-history というツールを書きました。 GitHub - b4b4r07/zsh-history: A plugin for zsh history extended
Crowi というオープンソースソフトウェアの wiki があります。 site.crowi.wiki Markdown で書ける wiki で、 Markdown をオートプレビュー URL (パス構造) でページを作成/表現できる リビジョンヒストリ (差分を管理してくれる) いいね、ブックマーク、ポータル機能、… などの特徴があって、とても便利なサービスです。 簡単に Heroku to deploy できるので気になる方は試してみてください。開発者向けにはオールインワンの Docker が有志によってメンテされているので、そちらを試してみても良いかもしれません。 go-crowi Crowi 用の API Client を Go で書きました。 github.com Go で API Client は初めて書いたのですが、@deeeet さんの記事が参考になりました。 Golang
僕は開発中、zsh のヒストリー補完の機能をよく使います。具体的には次のような場面が多いです。 多用するコマンド 結局開発中に使うのはエディタ (vim) と git サブコマンドに集中する ちょちょいと ^N (↑) で履歴をさかのぼる alias がイケてない場面 「エディタで .zshrc 開いて追加してリロード」が面倒で後回ししがち そして登録せずに終わる の繰り返し… うろ覚え程度のコマンドの alias 名はもはや思い出せない 結局エディタ開いて見直したり、^R で遡ることに挑戦する 長いコマンド列になるとき 引数が多いとき、多段のパイプで繋いだとき 例えば、複数のパラメータを与えたときの curl コマンド Ctrl-r (history-incremental-search-backward) よるヒストリーサーチが便利なのはよく知られたことですが、それに加えて peco
この記事は Git Advent Calendar 2016 の 20 日目です。git コマンドを日常的に実行するわけですが、外部スクリプトなどで個人的に日々改善しているお話についてまとめてみました。 ブランチ切り替えを手早くする git オペレーションで add,commit 並に多用すると思うのがブランチ切り替えで、特に remote にある branch の切り替えなどをショートカットしたくスクリプトを書きました。 $ git br で fzf/peco などのフィルタで切り替えてくれます。ブランチ切り替え系はよくある tips なのですが、何が便利かというと、remotes/origin/HOGE などのリモートにしかないブランチは git checkout -b HOGE remote/origin/HOGE してくれるようになっているので気にせずに checkout できます
この記事は Slack Advent Calendar 2016 - Qiita の 12 日目です。 はじめに 最近のエンジニアは Slack に常駐していることが多くなってきたと思います。ゆえに bot が便利であることはご存知かと思います。受け取った文字列を echo する bot や、ランダムに画像を返す bot もその練習としてはいいですが、次のステップに bot を書くとしたら実用的なものを書きたいですよね *1。 配送状況を通知する そこで書いたのが、荷物 (ヤマト) の配送状況が変わったら通知してくれる bot です。 GitHub - b4b4r07/yamato-bot 次のような機能を持ちます。 bot yamato 追跡番号 とすると bot が追跡番号を監視するようになります 現在の配送ステータスを記憶するので変わったら通知してくれます とりあえず、注文した荷物の
この記事は Vim Advent Calendar 2016 の 5 日目の記事です。 以前、neobundle.vim と vim-plug の比較記事を書きました*1。それから数ヶ月後、dein.vim が登場し、再び比較記事を書こうと思っていたのですが、気づけばあれから 1 年が経っていました*2。この記事は半年前 ('16年8月頃) に大枠だけ書き Qiita の限定共有に投稿していたのものを Advent Calendar 向けに書き下ろしたものです*3。 Vim プラグインの歴史 GitHub 以前 (〜2008年) 昔の話です。Vim script で拡張の機能を書いたらそのスクリプトを vim.org にアップして開発者同士で共有したり、ユーザがダウンロードして使っていたようです。おそらくコレが所謂「プラグイン管理」の始まりなのですが、このときはまだ手動で行われていたようで
vimconf.vim-jp.org と、仰々しいタイトルにしましたが、株式会社ミクシィさんにて行われた VimConf 2016 の参加レポートです。自分は一般参加者としてではなく、一部運営に携わったのでその点について主に書ければなと思います。 tl;dr VimConf 2016 のまとめ役として参加しました スライドの感想や資料については他の方のレポートを見てください 「ババロットさん、アイコン変えた方がいいよ」 まとめ役として参画した背景 ある日突然、社内 Slack の個人チャンネル (分報的なアレ) にてこんなポストが投げられました (リンクだけ)。 2016 まとめ役募集 · Issue #106 · vim-jp/vimconf · GitHub 二つ返事で参加レスをしたわけですが、これはノリで運営やってみました、とかでは全くないです。日々、Vim を使い vim-jp や
まえがき qiita.com という記事を Qiita に投稿してみるやいなや、予想以上の反響がありとても焦りました。これは「自分はディレクトリ移動に関してこんな効率化を行っているよ」という Tips なのですが、その際に使ったプラグイン(と言っても自分で作ったのですが)の使い方などをまとめてあるだけの記事です。 Qiita に投稿するときに enhancd についてたくさんを書きすぎても、そもそも ehancd をまず知りもしない人が見るときに困惑するだけだなと思い 、その基本的な動き方(ギミックなど)と使い方の紹介にとどめていました。ところが、これも驚いたことに、予想以上のプルリクエストが来たり、バグレポートがあがったりして「これは実装部分についても言及したいぞ」と思い、ここにまとめることにしました。 注意(以下である体になるのは仕様です) enhancd の構想 enhancd は基
... というツールを書きました。Twitter Streaming Daemon なので twistd です。最近話題の名前衝突ですが、こっちは個人のツールだし一旦気にしないことにします (リポジトリ作ってから気づいた)。 github.com tl;dr Twitter Streaming API を利用してツイートを監視する 特定のワードで引っかかったら Slack に通知する 2つをいっぺんに行うコマンドを書いた (デーモンとして利用しましょう) ※ ['tomato', 'potato'] で引っ掛けてる例 モチベーション zplug (GitHub Organization) ではオーナーの他に数名のコラボレーターの方たちがいます。開発者同士のコミュニケーションには Slack を用い、GitHub Issues で issue トラッキングをしています。Slack への Gi
タイトルの通りです。16年卒の学部卒新卒として株式会社メルカリに入社しました。入社したのは今年の 4/1 なので半年前のことです。なぜ今頃になって入社エントリを書くのかというと、先日新しいメディア立ち上げにともなう記事一発目としてインタビューを受けたのですが、その記事が 10/3 に公開されるとのことで、他者に明らかにされるならばその前に自分から入社エントリを書こうと思ったことと、タイミング的にも今日という日はちょうどいいなと思ったからです。 tl;dr 新卒でメルカリに入社しました メルカリでは新卒採用もしているので興味があれば言ってください メルカリという会社 www.mercari.com メルカリが新卒採用を始めたのは今年からなので、僕は第一期新卒ということになります。最近ではとても有名なアプリ・会社になってきて、国内での勢いはもちろんのことアメリカでも急成長してきており、今後の動
github.com おそらく先行実装は python で書かれたこれです。 curl にはウェブサイトの応答時間を計測する機能が搭載されており、このツールではそれを利用して出力結果をグラフィカルに表示させています。単なる curl のラッパーのようなツールなのですが、見た目がリッチになるのに加えて、単一ファイルで実行でき python のバージョンに影響されないような工夫がされているのが、受けているポイントのような気がします。 このツールを見たとき「Go で書いてみるの良さそう!(この手のツールで単一バイナリになるのは嬉しいですよね)」と思い、休憩時間やお昼休みなどにちまちま書いていたら、二日前に先を越されてしまいました(そりゃそうですよね。なんでもスピードが大事だと痛感)。 github.com また、ついこの間まで 800 Stars くらいだったのですが、ここ1週間で爆発的に伸びて
このはてなブログで使っていたドメインを続用するため、移行後も tellme.tokyo です。 移行した背景や技術的な言及は移行先のエントリに書きました。 ブログをGKEで運用し、Spinnakerでデプロイする | tellme.tokyo おそらくこっちのブログに記事を載せる機会は少なくなりますが、削除する予定は今のところありません。
とある引用から。 技術者であればだれでも経験することでしょうけれども、自分が作ったものを他人に理解させるというのは存外に難しく、なぜかというと開発者自身はどうしても開発した時の思考の流れを重視してしまい、読者にとって理解しやすい話の流れで話すという思考の大転換が困難だからです。そういえば、開発者自身による解説書の名著って意外なくらい少ないと思いませんか? 私は先月末に zplug という zsh 用のプラグインマネージャーをリリースした。以下の記事では、zplug が生まれた背景やその周辺事情を導入として書いたため、もしかするとユーザ目線からでは分かりづらかったかもしれない。 おい、Antigen もいいけど zplug 使えよ そこで今回は開発者としての記事ではなく、いちユーザとして(といっても開発者がユーザ目線でプロダクトを語るのは冒頭の引用にもある通りひどく難しいことである)使い方を
antigen ですよね、やっぱり。最近は antigen の軽量バージョンである zgen もアツいようです。 僕も同様に、最初は antigen 使っていたんですが、まずプラグインの読み込みが遅い(tmux でペインを頻繁に開いたりする身からするとローディングが遅いのはツライ)のと、antigen 自体の機能が貧弱で困ってました。例えば、antigen はプラグインしか管理してくれませんよね。コマンドも管理しようとすると一工夫するしかありません(例: b4b4r07/http_code)。それに、fzf や jq など CLI ツールとしては有用でもコンパイルする必要があるものの管理は不可能でした。 zplug すべての要望に応えるプラグインマネージャをスクラッチから作っています。 b4b4r07/zplug 並列インストール(擬似マルチスレッド) ブランチ/タグ指定 コマンド管理(言
peco、使ってますか。この記事を見ている人なら peco 知っていると思います。fzf は、peco と同じようなツールでこちらも同じく Go 言語で書かれています。 以前、Qiita に以下のような記事を書いたところ、意外にも良い反応を得られたので今回はその続編といきます。 おい、peco もいいけど fzf 使えよ - Qiita タイトルは id:k0kubun さんの私のpeco活用事例のオマージュです。 fzf を酷使する 最近開いたファイル 最近使ったファイル(MRU; Most Recently Used)にアクセスしたい、なんて局面ありません?僕はしょっちゅうです。Vim では mru.vim や neomru などがあるので困りませんが、それをコマンドラインから操作するには意外と手段がありませんでした。そこで、Vim で使われている MRU の履歴ファイルをシェルから開
HTTPステータスコードは、HTTPにおいてWebサーバからのレスポンスの意味を表現する3桁の数字からなるコードで、RFC 2616、RFC 7231等によって定められている。via HTTPステータスコード - Wikipedia 403とか404はよく目にもするので覚えていますが、300番台は?500番台は?とかとなると思い出せないことが多いです。いちいちググり直すのも手間。そんなときに、bash なりのシェルにてエイリアスとして登録しているハックを目にしました。 Jxck/dotfiles - GitHub このまま参考にさせてもらおう、と思ったのですがすべて登録するのもな、と思いコマンドで用意しました(番号が変わるものでもないので一度登録して変更することになる心配がないためエイリアスもいいと思います)。 b4b4r07/http_code - GitHub antigen で簡単に
b4b4r07/enhancd ❤ GitHub 以前、シェルスクリプトの勉強の集大成として enhancd というプラグインちっくなものを書いた。これは cd コマンドのラッパー関数を提供するもので、通常のビルドインにはないメリットがたくさんある。cd コマンドはよく使われるコマンドの一つにも関わらず、その使い勝手はあまり良くない。たとえば、フルパスもしくは相対パスで辿れるディレクトリにしか移動できない。当たり前ではあるけど、すべてのパスを覚えているわけではないし、間違ったパスや単にディレクトリ名だけを与えても、よしなにやってくれるコマンドが欲しかったのだ(grep だって使いやすさを向上させた ack, ag, pt といったコマンドがある)。 次に「どの言語で実装するか」、になるのだが(シェルスクリプトの勉強というのはさておき)、シェルスクリプトでなければならない理由というのがあって
b4b4r07/zgencomp・GitHub zgencomp を使えば、Zsh コマンドの補完関数を簡単に生成することができます。 背景 Zsh の醍醐味のひとつが補完機能であるのは言わずもがなですね。 この補完について、基本的なコマンドや有名プロジェクトのコマンドなどの多くは提供されているのですが、自作コマンドもちろんのこと、マイナーなコマンドは提供されていなかったりします。 その場合、ユーザが Zsh スクリプトの記法で補完ファイルを記述しなければなりません。これが結構骨の折れる作業で、Zsh が提供する補完インターフェースは高機能ゆえに複雑怪奇で、並みのユーザはおろか熟練のシェルスクリプターでも投げ出したくなる様です。 特に自作コマンドの場合、コマンドの作成で疲弊して、マニュアルやドキュメンテーションでも疲弊しているところにこの補完機能の作業となると、まず補完は諦めがちです。 z
dotfiles をインストールする際に、 curl -L https://raw.githubusercontent.com/{YOUR_ACCOUNT}/dotfiles/master/install.sh | bash といった具合にウェブを介してスクリプトを実行することが一般的になりつつあると思いますが、この方法にはひとつ問題がありそれは URL 部分が長いということです。これは結構厄介で長すぎるがゆえに暗記できないので、いちいちブラウザを起動してコピペしないといけなかったり、そもそもブラウザなどないようなどこかのサーバにデプロイするときなど、暗記していたほうがいい場面が結構あります。 curl -sL dot.hoge.com | sh で自分専用環境を構築する方法(かっこいい) そんなとき、このエントリを発見しました。 独自ドメインを取得して、そのサブドメインに自分で立ち上げた
【追記 2015-07-21】 b4b4r07.hatenadiary.com enhancd v2.0 として生まれ変わりました。 enhancd [ɛnhǽn-síːdí] b4b4r07/enhancd.sh - GitHub enhancd.sh とは autojump や z.sh などにインスパイアされて、後述する cdhist.sh をベースに作成されたディレクトリ移動をサポートするツールのことで、今回はそれらにも勝るとも劣らない機能を追加・拡張したので公開することにした。 作った経緯 Bashの小枝集にて紹介されている cdhist.sh というものがある。これは説明にもある通り ブラウザの「戻る」や「進む」のようにカレントディレクトリを行ったりきたりできるコマンド。これはリング状のディレクトリバッファを持っており以下の様な使われ方をする...(※都合により引用を解釈の変わ
このページを最初にブックマークしてみませんか?
『tellme.tokyo』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く