zsh-git-prompt を使って git リポジトリの状態を表示する方法

このところ歳をとった影響なのか何なのか, git を使ったプロジェクトでリモートへの push 忘れが頻発するようになったので少しは作業環境を見直してみよう, ということで .zshrc とにらめっこしました。 何が問題なのか 改善前は zsh の RPROMPT (画面の右側) にカレントディレクトリの git のブランチ名を次のような形で表示していました。 (git)-(feature/current-branch) この表示でわかるのは git リポジトリで尚且つブランチが feature/current-branch にいるということだけでした。 結果何が起こるかというと「作業し終わって push したつもりで忘れて翌日気づく」といったトラブルです。場合によっては発注元から一切作業しているように見えないまま 1 日経過する, というなんとも芳しくない状態が生まれたりします。 zsh-git-prompt を使って状態を可視化する 1 から作るのは面倒なので zsh のプラグインか何かを探してみると zsh-git-prompt というのがありました。現在いるブランチから remote との差分まで表示してくれるようです。 olivierverdier/zsh-git-prompt インストールは Mac の Homebrew で対応できました。 $ brew install zsh-git-prompt 設定を追加して RPROMPT に次のように表示されるようにしました。 zsh-git-prompt の設定方法 基本は README の Install の通りです。~/.zshrc に次の内容を追加しています。 source "/usr/local/opt/zsh-git-prompt/zshrc.sh" ZSH_THEME_GIT_PROMPT_PREFIX="[" ZSH_THEME_GIT_PROMPT_SUFFIX=" ]" ZSH_THEME_GIT_PROMPT_BRANCH="%{$fg[white]%}" ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[green]%}%{ %G%}" ZSH_THEME_GIT_PROMPT_CONFLICTS="%{$fg[magenta]%}%{x%G%}" ZSH_THEME_GIT_PROMPT_CHANGED="%{$fg[red]%}%{+%G%}" ZSH_THEME_GIT_PROMPT_BEHIND="%{$fg[red]%}%{-%G%}" ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg[green]%}%{+%G%}" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}%{✔%G%}" RPROMPT='$(git_super_status)' zshrc....

2017/03/14 · Yuya MATSUSHIMA

HHKB 用のパームレストの作り方

昨年末に ahomu さんのブログで HHKB にパームレストを組合せて使用しているのを見て「いいなぁ」と思ったのがきっかけでした。 2016年に買って良かったと思ったもの ::ハブろぐ なぜ自作なのか 継続して利用するのがはっきりしているなら商品をそのまま購入するのが楽なのですが, 買ってみたところで本当に使っていくかわからないので躊躇していました。 ググってみたところ自作している人もいらっしゃるようだし, 木製のものなら試用できるだけのものなら作れそうだったので自作を選択した訳です。 パームレストのレシピ 1. 良さそうなサイズの木材をホームセンターで見つける 近所のホームセンターで 20(or 19) x 90 x 910 (mm) のパイン材を見つけたので, これをベースに加工しました。材料自体は 190 円くらいでした。 木材のカットサービスを利用して 300 mm * 3 にしてもらいました。カット代は 150 円くらいでした。 木材のサイズについては販売されている木製パームレストを参考に選定しています。材料は 1 つだけ用意できれば良かったのですが加工に失敗した場合も考慮して余分に用意しています。 2. ヤスリがけ 紙やすりで問題にならない程度にヤスリがけをします。角はもちろん丸くなるように。用意できるのであればサンドペーパーホルダーのようなものがあると作業が早いです。 100 番でざっと整えてから 400 番でツルツルになるようにしました。紙やすりは 1 枚 60 円くらいだったかと思います。 3. ヤスリで出た粉を落とす 雑巾で拭く程度で足りるかと思っていたんですが, 細かい粉が取り切れなかったのでザッと水洗いをしました。雑巾でふいてしばらく乾かして完成です。 その他 塗装について 塗装は数回塗る必要があったり, 塗装後に薄く研磨する必要があったりするので省略しました。かかる時間を考えれば塗装込であれば商品を購入したほうが良さそうです。 滑り止めのゴム足について 材料は購入しましたが結局付けていません。デスクマットを併用しているので必要なさそうです。 高さが不足している場合には調整材として有用かもしれません。その場合は木材の高さとゴム足の高さを考慮して購入したほうが良さそうです。 使ってみて 無いよりよっぽどタイピングが楽になりました。長時間コードを書く場合は手首が痛くなることが多かったですが改善された気がします。 作り直す機会があるなら商品を購入するか, オイルステインをつかってキレイに仕上げてみたいと思います。

2017/03/09 · Yuya MATSUSHIMA

Takasaki.go#1 を開催します

Takasaki.go#1 - connpass というわけで高崎で Go 言語の勉強会を始めます。 継続的に続ける形態は初めてなので気長にやっていきたいと思ってはいる。 開催形態 頻度・時間 月 1 回(毎月第 2 木曜日予定) 18:30 開場 19:00 〜 21:00 開催 会場 高崎市内のコワーキングスペース, 会議室などを予定 可能であれば一箇所に固定せず市内を移動しながら 内容 ポジションペーパーの発表 (自己紹介, 近況など) 読書会 (最初は Tour of Go から) 参加者募集方法 connpass の Takasaki.go を利用

2017/02/22 · Yuya MATSUSHIMA

人生で初めて凶をひいた

32 歳で初めて凶を引きました。 おみくじ自体は「何にもいいことないから頑張って我慢な!」といった内容でした。 あまりこういったものは信じないようにしているんですが, プライベートでよくないことが続いた気分転換も兼ねたお出かけ先で凶を弾いてしまったので「踏んだり蹴ったりだな!」といった気持ちになりました。

2017/02/21 · Yuya MATSUSHIMA

「群馬で Web サービスをつくる会社」を標榜する理由

会社を作ってしばらく経ちますが, なぜ「群馬で Web サービスをつくる会社」を標榜しているのかといった話をあまりする機会もないのでまとめてみる次第です。 株式会社フィルイン | 群馬でWebサービスをつくる会社 会社名の由来 会社名の フィルイン は英語で「隙間を埋めるもの」という意味から来ています。 個人事業主の頃から事業として OSS の活動として「足りないものを埋める」といったスタンスでプログラムを書いてきました。法人設立後の事業内容としても継続していくことになるだろうというところで社名に決定しました。 群馬県内の状況とどうやっていくか問題 群馬県内の状況というのは都内から 100km 程度といえどなかなかの状態です。 そもそも人がいない スキルが上がったところで給与はあまり上がらない 新しい技術を試しづらい環境や事業内容 できる人は高崎駅から新幹線で都内に通勤してる現実 この環境の中で事業を行っていくには人材の確保と育成が必須になってきます。他社さんがどういう風に考えているかはわからないのですが, 特にこれといって取り組みは見当たりませんでした。 個人事業からやってきたことを考えれば受託開発を中心としたシステム開発を進めていけばよかったのですが, それだけでは中長期的に厳しいと考えています。外部環境を含めた問題点を整理した結果, 次のことをやっていこうという考えに至りました。 1〜2 程度を雇用できる程度の現実的な Web サービスの企画・開発・運営 特に都内と遜色なく戦えそうな分野 雇用しつつ次のサービス開発へ Web サービスの開発や長期運用を元にした人材育成 新しい技術の投入機会の確保 集積したナレッジと人材を活用した他業種の Web サービス参入支援 プログラマ人材の活躍領域の拡張 Web サービスの開発を行いつつ, 受託開発によってキャッシュフローの維持を行っているのが現状です。もっとカッコよく投資がどうのこうのといったお話ができるといいのですが, お金を入れたところで人材の確保は群馬県内では難しいのでないかなと考えています。 なぜ「Web サービスをつくる」会社なのか 結論としては 継続的に群馬県内で事業を行っていく上で必要な環境をつくるため です。 ブランディングとして同業他社さん以外の企業に対しても一体どんな会社なのか漠然としたイメージをもってもらうためでもあります。システム開発といっても普通の人はどんな仕事をしてくれるのかイメージできないのが普通です。 最後に 弊社は技術スタックとしては PHP, Ruby(on Rails), Golang, JavaScript をベースにインフラまわりでは ansible や terraform, packer などの Hashicorp tools を採用しています。サーバについては使っているツールの都合もあり DigitalOcean, AWS が中心になります。県内の小さな会社ではかなり珍しい構成になるかと思います。...

2017/01/30 · Yuya MATSUSHIMA

Gunma.web#26 に参加しました

時間が合えば参加している Gunma.web ですが 26 回目となりました。Gunma.web #26 - connpass LT の内容 HeadlessCMS という CMS の新しいアーキテクチャについて話しました。 1 年ほど前から海外 (アメリカ?) では話題になっていたようです。この用語の定義がされる以前から contentful などの API サービスを知っていたので, 「新しく出てきた」というより「API のアレ」みたいに読んでいたものの名前が決まった, と言ったほうが正しいかもしれません。 感想 人がいっぱいいる ゲストでさくらインターネットの横田さんがいらっしゃったが豪華だった シングルボードコンピュータまわりの話題が多かった 別で何かやったほうが良さそう その他 終了後に勉強会参加者の方から「年内に群馬で RailsGirls を開催したいので, スポンサーして欲しい」旨のお話をいただきました。弊社はまだ設立したばかりで収益が不安定なので, 実際の開催のタイミングとお財布事情を考慮してスポンサードなどなどしたいと思っています。 まだ話は進んでいないようなので今後の進捗に期待したいと思います。

2017/01/22 · Yuya MATSUSHIMA

高崎シェアオフィス情報 2017

2018 年版用意しました。https://issueoverflow.com/articles/2018/07/19/takasaki-share-office-information-2018/ 2016 年 9 月に高崎市で株式会社を設立しました。その際にシェアオフィスを調査・検討しました。その当時の情報を元に高崎市内のシェアオフィス情報をまとめてみたいと思います。 なぜシェアオフィスを選んだか 設立当初から次のようなことを考えていた結果です。 必要になるまで持たなくてもいいものは持たない 個人事業時代からの流れで家で仕事する方が楽だ オフィスは掃除しないといけないので, その分のコストがかかる 来客は今のところ来る予定がない 予算もない状態だったので, 特に固定費が定期的にかかってくるものについてはできるだけ避けておきたい, というのが一番の理由な気がします。 どういう条件で探したか 法人登記が可能なところ できるだけ 24 時間営業 変な人(ネットワークビジネスとかスピリチュアルとか) がいないところ 自宅から苦にならない程度の距離(自転車, 電車など) 調査検討したシェアオフィス一覧 起業家の森 ※ 2017/02/01 より名称が Somethin' Else に変わりました URL: http://eshareoffice.jp/848 所在地: 高崎市小八木町 自宅から近く登記可能なシェアオフィス兼コワーキングスペースだったので検討対象になりました。定期的にイベントが開催されていたりもしたので第一印象で「良さそうだなぁ」と思いました。 立地は工業団地の中で周囲に飲食できる場所が少ない, という問題がありかなり悩んだオフィスになります。シェアオフィスの隣には個室タイプの小さなオフィスも構えられていて継続的な利用もできる可能性がありました。 Somethin' Else ※ 起業家の森から名称変更 URL: http://somethingelse.jp/ 所在地: 高崎市小八木町 2017/02/01 より起業家の森の管理が㈱フェアマインドになり名称が Somethin' Else に変わりました。同じ建物ですがフェアマインド社のオフィス部分が追加されたためレイアウトに変更があったようです。 IPPO URL: http://eshareoffice.jp/1236 所在地: 高崎市問屋町西 高崎市にできた一番新しいシェアオフィスです。料金は高めの 5 万円〜6万円程度からといった設定ですが, 個室だったり 24 時間利用可だったりと設備も充実していてお値段相応といった価格です。 高崎問屋町駅から徒歩圏内ではあるので検討対象になりました。現在の弊社の状況だとちょっとお高いなぁといったところです。 SOHO ガーデン高崎 URL: http://www....

2017/01/20 · Yuya MATSUSHIMA

IssueOverflow で記事を書く時に使ってる Makefile

このブログもある程度記事を書き慣れてきたので現在使っている Makefile を公開してみます。 なぜ make を使うのか Golang ベースのプロジェクトでは make が利用されることが多い, と みんなの Go 言語 に書かれていました。そのため, このブログでは Golang 製の Hugo を使っているため build や新しい記事を追加する場合には make を利用しています。 このところ Ruby をお仕事で多用しているので rake を使うのも手なのですが, 勉強も兼ねて make を採用しています。これまであまり make を使ってこなかったので細かい部分で時々ハマったりしています。 Makefile の内容 make でコマンドを実行するためには Makefile が必要です。IssueOverflow 執筆時には次のコマンドを用意しています。 setup: 必要なコマンド等をインストール server: ローカルサーバを起動 build: 記事をビルド article: 新しい記事ファイルを追加 アセット用ディレクトリを用意 branch を article/something-title に変更 help: Makefile に用意されたコマンド一覧を表示 Makefile 自体は次の内容になります。 ## setup setup: go get -u -v github....

2017/01/08 · Yuya MATSUSHIMA

自営業プログラマの姓が変わることによる影響

年内に書いておきたいことの 1 つに「結婚を期に改姓すると不都合がないのか?」ということがあります。なぜかというと男性女性問わずよく聞かれるからです。年末もすでに大晦日を迎えてしまっていますが隙間時間を使ってパパっと書いておこうと思います。 事務手続きまわりは朧気な記憶で書いているので書き忘れているものがあるかもしれません。ご注意ください。 結論 そんなに影響ない 手続きは面倒くさい 困るのは本人よりも周りの人 ID つける時は気をつけましょう 前提 改姓以前の私のステータスは次の状態でした。 個人事業主 青色申告してる 国保 契約書の名義はもちろん本人 次男 入籍を機に改姓することになった (婿) 改姓前にしたこと 取引先への連絡 次の内容を各社ご担当者様宛にお知らせしました。 入籍すること 姓が変わること 入籍予定日前後は諸手続き含めてバタバタする可能性があること 改姓完了後は通知書を発行すること 取引先に対しての混乱を防ぐための事前連絡です。 通知書については契約書の名義が旧姓のため, 改正後も有効な文書として明確化するための手続きです。自分が法務であれば欲しい文書ではあったので求められる前から用意しておきました。 契約関係の調査時に名義が途切れて謎が増えるのは大変なのです。 印鑑の作成 契約書用に使っていた印鑑一式はすべて旧姓のものになってしまうため新しい印鑑を発注しました。入籍して改姓した後にすぐに必要になるため早めに用意しておきました。 入籍&改姓 婚姻届を提出するだけです。ただし私が国保だったので保険証の発行手続も必要でした。 改姓後 手続きがたくさんあります。正直覚えていません。記憶にある限りで書き出してみます。 銀行の口座名義変更 三菱東京 UFJ 銀行は群馬県に支店がないため大宮まで行く必要が 地銀はすぐそこに支店があって助かりました 個人事業用と個人用を含めるとかなり大変 クレジットカードの名義変更 携帯電話の名義変更 免許証の書き替え 実は入籍日を調整した結果, 名義書換ではなく免許更新で対応 税務署へ改姓の書類提出 取引先へ改姓した旨を書面で通知 この他にも個人事業で使用しているタイムズカーシェアの名義が云々などいくつかありましたが, 多すぎて覚えていません。 改姓して困ったこと 手続き上の手間や変更当時の「誰だお前」のようなやりとりを除けば本人は特に困ったことはありませんでした。...

2016/12/31 · Yuya MATSUSHIMA

ansible で private な GitHub Releases からファイルをダウンロードする方法

GitHub の private リポジトリで開発を進めている Golang プロジェクトがあります。CiecleCI 上でビルドを行ってバイナリファイルを GitHub Releases にアップロードしているものがあります。 これまでは「手動で最新版ファイルをダウンロードして ansible でデプロイする」といった方法を取っていました。都度行うには手間なので ansible の playbook 1発で実行させたくなりました。 実行したい処理 特定の GitHub Releases から最新版のファイルをダウンロード ansible 実行対象サーバのファイルと差し替え GitHub Releases の各バージョンには 1 ファイルのみ アップロードされている状態 準備 GitHub の API にアクセスする必要があるため Personal Access Token を取得します。管理画面 から新しいトークンの作成ができます。権限は 1 番上の repo にチェックを入れるだけです。 取得したトークンを環境変数に設定します。(実際には direnv を使っています) $ export GITHUB_TOKEN=YOUR-GITHUB-TOKEN 参考 playbook - name: private な github releases からファイルをダウンロードする hosts: all vars: github: user: 'USER-NAME' # 対象リポジトリのユーザ名 repos: 'REPOSITORY-NAME' # 対象リポジトリ名 token: "{{ lookup('env', 'GITHUB_TOKEN') }}" # 環境変数 GITHUB_TOKEN をロード dest: '/path/to/savepath' # DL したファイルの保存先パス tasks: - name: '{{ github....

2016/12/01 · Yuya MATSUSHIMA