あんパン

こしあん派

株式会社はてなに入社しました

株式会社はてなに入社しました

株式会社はてなに入社しました - hitode909の日記

↑毎年恒例のやつです


こんにちは,id:masawadaです.本日付で株式会社はてなに入社しました.職種はWebアプリケーションエンジニアで,東京オフィス勤務です.

自分は2014年のはてなインターン受講生で,2015年の5月末からはアルバイトとしてはてなブログを作っています.入社後もはてなブログチームに在籍して開発を行う予定です.インターンについては以下がくわしい.

hatenacorp.jp

同期を含め優れたエンジニアの多い環境なので,良い刺激を受けつつ自分も多くのバリューを提供できるように頑張っていきたいと思います.

本題はここまでで,以下は駄文なので読む元気のある方だけどうぞ.

これまで

はてなには2016年度新卒(学部卒)としての入社で,これまでは電気通信大学に通っていました.研究室は主にGPUやFPGAを扱うところで,基礎研究というよりかは応用研究寄りだったと思います.といいつつ,自分はGPUやFPGAとはほぼ無関係のことをしていました.HTTPでリクエストなどをやりとりする動画エンコードジョブキューを作ってその仕様をもとに卒論を書いており,半ば卒業制作のような状態でした.(本当にこんなので卒業できるんだ…となるほど素朴なものしか作らなかった;;)

大学では,主に勉学よりかは課外で遊び続けており,学部2回生の時に卒業式/入学式のインターネット配信(クラスメソッド株式会社さまにお願いしてAWSを活用した配信を行った)に関わったり*1,講義の一環でエリアワンセグ配信の地上一般放送局立ち上げにほんの少し関わったり*2,Aizu.LTをパクったDentoo.LTを立ち上げたり*3,auのFx0(Firefox OS端末)発表会に少しだけ出させていただいたりしました*4

なぜはてな

院に進むか就職するかで迷い,これまでの大学に対する思いを考えると自分には研究生活は向かないなと感じ就職することにしました(社会人をしながら修士という選択肢もあるし,いますぐに修士に進むぞというモチベーションが湧かなかった).他の会社も若干は考えましたが,インターンで会社の雰囲気を感じて最高だなと思ったこともあり,はてなにお世話になることにしました.

また,はてなブログを始め,はてなのサービスにはかなりお世話になっていて,もともと親近感のある会社だったということもあります.

これから

冒頭でも述べた通り引き続きはてなブログチームで開発を行います.ブログは特に熱い思い入れがあるので,開発者としても1ユーザとしても盛り上げていきたいと思っています.が,同期を含め周りに比べると技術力はまだまだ未熟という思いが大変強いので,ブログを盛り上げつつ自分自身も業務内外で勢い良くコードの読み書きをして,力をつけていきたいと思っています.

今後ともよろしくお願いします.

case-insensitiveなファイルシステムにおいてGitで間違えてコミットしたcaseを修正する

TL;DR

git mv を使いましょう

何を言っているのか

OSXのファイルシステムはデフォルトでcase-insensitiveとなっている.OSを入れなおすことでcase-sensitiveにできたり,case-sensitiveなfsのパーティションを切ることもできる.なお,Linuxではたいていのファイルシステムはcase-sensitiveになっている.この差がよくない.

例えばmainWindow.jsというファイル名なのにimport MainWindow from './MainWindow'というコードを書くとMacでは正しくうごくが,Linuxでは動かないみたいなことが起きる(はず).これを修正するためにファイル名をMainWindow.jsに変更すると,MacではGitがファイル名の変更を正しく認識しないのでdiffが見えない.なので,修正するためにgit mvしようという話でした.git mvしておけば,別の人がすでにcloneしててもgit pullすればちゃんとファイル名を変えてくれる.

Macのfsをむやみにcase-sensitiveに変えるべきではないと思う.Mac用のツールが(無意識的に)case-insensitiveであることを前提に書かれている場合,不具合の原因となりうる.

実践

github.com

このrepoみたらだいたい言いたいことがわかると思う.

zshでghq管理ディレクトリ以下にいるときはPROMPTのpwdを省略して表示する

motemen/ghq使い始めた.ghqはGitのリポジトリ管理ツールみたいな感じ.

ghq自体かなり便利なのだけど,PROMPTにpwdを表示しているとこれが長くなって大変なことになる.

f:id:masawada:20160222013718p:plain

というわけで,ghq管理ディレクトリ以下にいるときは省略しようというのが今回の試み.

以下のコードを.zshrcに書いてシェルを再起動する.

precmd () {
  RPROMPT="%{${fg[cyan]}%}[$(pwd | sed -e "s,^$HOME,~," | perl -pe "s/~\/(.ghq|.go\/src)\/.+?\//ghq:/")]%{${reset_color}%}"
}

f:id:masawada:20160222014120p:plain

こうなる.

この設定のキモは

$(pwd | sed -e "s,^$HOME,~," | perl -pe "s/~\/(.ghq|.go\/src)\/.+?\//ghq:/")

の部分.pwdして,ルートからの絶対パスのうちホームディレクトリまでをsedで~に置き換えて,その後Perlで~/.ghq/または~/.go/src/があればこれをghq:に置換している.これはぼくが$GOPATH~/.ghqを管理ディレクトリにしているためで,ここは自分の設定にあわせて書き換えるとよさそう.なんかもう少し良い置換方法とかあったら教えてください.

precmdはプロンプト表示直前に実行される関数で,これを定義するとよしなに実行してくれる.設定がわちゃわちゃしているのは色の指定とかが入ってるため.

これで快適にghqを使うことができそう.zsh以外で使えるのかどうかは知らない.