インフラチームでペア作業を始めてみた
はじめに
現在Joy,Incという書籍の読書会を社内で開催しています。 読書会の内容については下記記事にまとまっています。 takubon.hatenablog.com
この書籍の中でプログラム以外もペアで作業して進めているということの紹介があり、読書会でディスカッションをしている中でインフラチームで試してみるとよいのではないかとなりました。
課題
業務内容によってはペアで作業を行うこともありましたが、普段はメンバー各々がタスクを取ってやるという進め方です。 進め方としては特に問題はなかったのですが、各メンバーの得意なことや知識領域についてばらつきがあり、それを補うためにもチーム内での知見の共有も月一で行っていました。 しかしどちらかというと話を聴くだけの会になってしまっています。
そこでJoy,Incの中であるようにより学習のスピードをあげて、手を動かしながらお互いの知見を共有しあいながら、タスクを進めることができれば個人の成長もそうですが、もっとチームとして成果を出せるようになるのではと考えてチームに提案してみました。
進め方
現在はまだ始めたばかりなので、今後さらに改善が必要だと考えていますが、現在は以下のように進めています。
- ペアは固定せず、タスク毎
- タスクは1週間単位で計画して進める
- まず担当するタスクを決める
- お互いに1週間でタスクに出せる時間を決める
- 出せる時間が少ない方に合わせる
- それぞれタスクを細分化して、どれくらい時間が必要か見積もる
- 見積もった時間から1週間にタスクに出せる時間分を取る
- スケジュールにタスクを登録して実際にペアで作業を進める
- 1週間終了後の振り返り(現在はまだはじめて1週間たっていないので予定)
始めてみて
まだまだ始めて1週間もたっていませんが、感覚としては良さそうな空気感なので継続してできるのではと感じています。 個人的にはペアプロで学びながらタスクを進めていくことも体験しているので、この方法で続けていければと考えています。 もちろんまだすべてのタスクをペアでやっているわけではありません。進めていくなかでタスクの種類によって向き不向きがあるのかなとも思っています。
おわりに
今回は始めてみたということで記録に残しておこうと思い書いています。 今後、途中でやめたになるか、継続しているかここで報告できればと思います。
新装版 達人プログラマーとアジャイルプラクティスを読んだ
はじめに
約10か月ぶりの更新です。ラズパイのやってみたネタも更新する時間を見つけて書きたいのですが(下書きには保存してある)今回は最近読んだ本、読んでいる本についてです。
新装版 達人プログラマー
まずは新装版が出た「達人プログラマー」、技術書の歩き方勉強会でも取り上げられていました。
今まで読んだことがなかったのですが、新装版が出たということで購入しました。 内容については色々なブログに書かれていると思うので割愛しますが、普段コードをあまり書かない私でも仕事の中で実践することで改善できそうな事があってとても勉強になりました。
また上記勉強会にも参加して、学びを深めました。
アジャイルプラクティス
上述の技術書の歩き方勉強会での帰り際にいただいたので早速読みました。
開発プロセスへのXPやスクラムなどの導入というよりはスタンドアップミーティング等の具体的なプラクティスの導入について勉強になる一冊でした。 達人プログラマーと合わせて読むことで内容の理解が深まります。
またアジャイルプラクティスではそのプラクティスを導入したときにどのような気持ちになれるかや、導入したときに気をつけなければいけない点などが各プラクティスの最後に記載されています。
実際にプラクティスを導入した場合はその部分を参考にすることができます。
プロダクティブ・プログラマ
アジャイルプラクティスの次に何を読むか探していたところでこの一冊を見つけました。
監訳されたのが技術書の歩き方勉強会「達人プログラマー」編を開催された島田 浩二さんです。 監訳者あとがきでアジャイルプラクティスをおすすめ書籍として挙げられていたのもあり購入しました。
この本はまだあまり読めていないのですが効率的に開発を進めるための具体的な手法が各テーマ毎に記載されており、より手を動かす作業の効率化に特化した一冊になっている印象を受けました。
おわりに
最近読んだ、もしくは読んでいる本についてまとめました。 今年もそれなりに本は読んでいましたがあまり感想などは書けなかったので月末などに改めて今年読んだ本の感想など書きます。 ただその前に下書きのラズパイ記事を公開できるようにします。
Raspberry Pi B+ に Golang 1.6 をインストールしてみた
はじめに
Go 1.6 がリリースされたのでさっそくラズパイにインストールしてみました。 マシン:Raspberry Pi B+ OS:raspbian-jessie-lite
インストール方法
1.6ではarmv6l用に既にビルド済みのものが用意されているのでとても簡単にできます。
Downloads - The Go Programming Language
まずはwget
でファイルをダウンロードしてきます。
wget https://storage.googleapis.com/golang/go1.6.linux-armv6l.tar.gz
次に公式の手順にある通り/usr/local
配下に展開します。
#展開するときのコマンド sudo tar -C /usr/local -xzf go1.6.linux-armv6l.tar.gz
最後に/usr/local/go/bin
へパスを通せばインストール完了です。
export PATH="/usr/local/go/bin:$PATH"
動作確認
パスまで通した後に早速バージョンを確認しました。
> go version go version go1.6 linux/arm
またgobot
のraspi_blink.go
というサンプルのブログラムも問題なく動作しました。
おわりに
1.5まではソースからインストールすることしかできなかったので時間がかかっていましたが、1.6ではとても簡単にインストールすることができました。
時間があれば今度はソースからインストールする方法を試してみようかと思います。
raspbian で capslock を無効化設定した
はじめに
掲題ままの備忘メモです。 raspbian-jessieで設定しましたがおそらくそれ以外でも同様にできるはず。
今回の参考サイトはこちらです。
caps lock -> control と caps lock <-> control
この設定は/etc/default/keyboard
にあるXKBOPTIONS
の項目を編集しました。
sudo vi /etc/default/keyboard
- caps lock を無効化してcontrolにする場合
XKBOPTIONS="ctrl:nocaps"
- caps lcok とcontrolを入れ替える場合
XKBOPTIONS="ctrl:swapcaps"
- caps lock を無効化してcontrolにする場合
また既にXKBOPTIONS
に何かしらの設定が入っている場合は以下のように,
で区切って書き足します。
例:XKBOPTIONS="hogehoge, ctrl:nocaps"
設定を入れた後は以下のコマンドで反映しました。
sudo dpkg-reconfigure -phigh console-setup
これで問題なくcaps lock を無効化してcontrolにすることができました。
raspberry Pi B+ 用に raspbian-jessie-lite をインストールした
はじめに
これまではOSインストール済みのSDカードを本体とセットで購入していたのでそれを利用していました。 ただ容量が少ないこともあり32GのSDを買って自分で1からインストールしてみたのでその時の作業メモ。 さらにパーティションの拡張も行ったのでその時の作業メモ。
また今回は以下のサイトを参考にインストールを実施しました。
Installing Operating System Images on Mac OS - Raspberry Pi Documentation
Raspberry Piでパーティションを拡張する – UbuntuによるEco Linuxサーバ構築記
事前準備
新しくOSをインストールするためにイメージファイルを以下からダウンロードしました。
また今回インストールに利用したSDカードはこちらです。
インストール作業
今回はmacでコマンドラインとディスクユーティリティを利用してインストール作業を行いました。
インストール作業は下記手順で行いました。
SDカードの初期化
SDカードの初期化は標準であるディスクユーティリティを使用して行いました。
フォーマットがFATになっていることを確認して実施。これは数秒で完了しました。
コマンドラインからSDカードのアンマウントを実施
次にコマンドラインに移り df
コマンドを実行します。
実行すると以下のようにマウントされていることを確認できました。
> df Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on 中略 /dev/disk1s1 61908160 5056 61903104 1% 0 0 100% /Volumes/UNTITLED
/dev/disk1s1
がマウントされているSDカード(のパーティション)のことを指しているので sudo diskutil unmount /dev/disk1s1
でアンマウントします。
当たり前ですが環境によってはdisk2やdisk3などになっていることもあるので確認してからアンマウントしましょう。
sudo diskutil unmount /dev/disk1s1
実行後再度 df
コマンドを実行すると /dev/disk1s1
の項目がなくなっていればアンマウントは完了です。
コマンドラインから dd
コマンドを利用してSDカードへの書き込み
次に dd
コマンドで .img
ファイルからSDカードへの書き込みを行います。
今回はdisk1がSDカードなので実行するコマンドは以下のようになります。
sudo dd bs=1m if=2016-02-09-raspbian-jessie-lite.img of=/dev/rdisk1
ここで/dev/rdisk1
は/dev/disk1
と対象は同じですが書き込み速度に差がでます。
/dev/disk1
とした場合は2312秒ほどかかり、/dev/rdisk1
とした場合は80秒ほどで書き込みが完了しました。
書き込み完了後はディスクユーティリティからSDカードの取り出しを実行するか以下のコマンドでeject
します。
sudo diskutil eject /dev/rdisk1
取り出し実行後はSDカードを取り外し、ラズパイに接続して起動確認します。 問題なくインストール出来ていれば起動するので以上でインストールは完了です。
パーティションの拡張
さてインストール後容量を確認すると30Gほどあるはずが1Gほどしか使用できる状態にありませんでした。
そこでfdisk
とresize2fs
コマンドを使ってパーティションの拡張を実施しました。
fdiskでのパーティション再構築とresize2fsでの適応
上記方法でインストールを実施後まずsudo fdisk -l
で現状を確認すると/dev/mmcblk0p1
と/dev/mmcblk0p2
の二つのパーティションが確認できます。
今回は/dev/mmcblk0s2
のパーティションを一度削除して拡張を行いました。
詳細は参考に上げたサイトを一読してもらえればと思います。
パーティション再構築完了後w
で変更内容を保存してfdisk
を終了するときに警告が出るかもしれません。
しかしreboot
すれば問題なく拡張されていることが確認できると思います。
その後はresize2fs
を実行することで/dev/mmcblk0s2
を利用している/
領域が30Gほどになります。
おわりに
調べたりしながらのインストール作業だったので3時間ほどかかってしまいました。
特に/dev/rdisk
を知る前に/dev/disk
で実施していた時は待ち時間が長った。
これで今後raspbianのインストールが必要になっても問題なくできる。
振り返りと目標 【2015-2016】
2015年振り返り
上京して2年目でした。 東京を拠点に北海道と東京の両方で勉強会などの活動をしてきました。
あまりブログにはまとめていませんが改めてここで思いつく限りまとめようと思います。
帯広の勉強会
Tokachi Developer's Night #1 - connpass
まずは2015年に帯広で始めた勉強会です。1回目と2回目で名前が違いますが、内容はゆるい感じで行いました。
1回目の方が参加された方は多かったのですがなんだかんだと2回とも3人以上は集まったのでよかったです。 今年もできれば3回目、4回目と開催していきたいです。
また2015年12月には初めてLOCAL DEVELOPER DAY '15 IN TOKACHIが開催されてそれに参加することもできました。
LOCAL DEVELOPER DAY '15 IN TOKACHI - connpass
Goの勉強会
鎌倉で開催されたkamakura.goはブログにまとめていたのですが、他にもhikarie.goやGo Conferenceなどに参加していました。
Goは自分の手に馴染むとても使いやすい言語だと思い昨年1年はよく使っていました。
また今年はGoのアドベントカレンダーにも記事を投稿することができました。
イベントスタッフ活動
5月にはLOCAL Community Summitがありイベント運営側として久しぶりにスタッフしました。
また初めてイベントレポートも作成しました。
LOCAL Community Summit 2015 - LOCAL Community Summit | Doorkeeper
他にも12月にRubyKaigiのhelperとして参加させていただきました。
RubyKaigiのhelperとして参加して密かな目標であった師匠と一緒に仕事をするというものが叶いました。
もちろん今までもスタッフとして何かをするということはあったのですが本業のインフラ屋さんとして一緒に仕事するというのが初めてでした。師匠と一緒に仕事をすることができて本当に嬉しかったです。
#rubykaigi のネットワークを支えた業界一の高水準を誇るチームです。ご確認ください。 pic.twitter.com/kwisFfrPf9
— こいわ(12/19 LDD) (@koiwa) December 13, 2015
2015年まとめ
最初に立てた目標と比べても達成できていることは少ないなというか皆無です。
勉強会に多く参加しても個人のブログにまとめておらず、技術的内容含めて会社のQiita:Teamに記事を書くということが多かったです。
他にも会社のブログに記事を書くこともありましたが、やはり個人のブログに書くことが減っていたという状態でした。
2016年目標
さて2016年の目標ですがそろそろ東京生活も3年目に入るので一度、北海道へ帰る方法はないかと妄想膨らませてみようかと思います。
行動に移せれば一番ですが急ぎすぎても今まであまりいい結果を得たことがないので慎重にです。
ブログへのアウトプット目標ですが、2015年は4本だったので今年は最低でも6本書くように意識します。
またラズパイも去年は以下のようなことをしていましたが今年はもう少し本格的に何かします。
仕事に関しては本職のネットワーク、インフラ以外にコードを書く機会や時間を意識して増やして勉強します。
では2016年もよろしくお願いします。
RubyKaigi2015にhelperとして参加しました
はじめに
タイトルままです。
開催されてから少し間があいてしまいましたが、RubyKaigi2015にhelperとして参加させていただきました。
helperとして行ったこと
下記リンクは私のお師匠様のブログなのですが、ここにほぼほぼお手伝いしたことが書いてあります。
まっ » 今年も rubykaigi のネットワークを支えてきた
改めて書くと基本的にはJA->ENの同時通訳用レシーバの配布をして、必要があれば会場ネットワークの作業をお手伝いするという感じでした。
他にも今後helperとして参加するかもしれない人たちの参考になればと少し細かく書いておきます。
案内用の張り紙準備や会場パネルの設置、撤去など会場設営関係の雑務、会期中のノベルティの補充なども行いました。
また英語については不安があったのですが一緒に同通レシーバ配布をしていた方の作成したカンペをもとにしてコミュニケーションがとれたので私の拙い英語力でもなんとかなりました。
(余談ですが会期中に流石に英語の勉強しないとまずいなと危機感を覚えたので英単語学習アプリを使って勉強を始めていまも細々と続けています)
おわりに
ブログを書くまでがRubyKaigiということで短文ですがまとめました。
次回は京都開催ということですが、何かしらの形でお手伝いできればしたいです。 もしくはお手伝いできなくても一般参加できればと考えています。