社内LTで話したネタ。 プログラマはコミュニケーションが苦手という人が割と多いと思いますが、仕事を円滑に進めていく上で必要となるコミュニケーションのポイントをまとめました。 Level.0 知らないことを知らないと言う 知らないことを知らないと言うことは仕事を進める上で非常に大事なことなのですが、特に未熟なプログラマほどこれが出来ないケースが多いです。プログラマであっても専門分野のすべてを知っているわけではないので、知らないことがあるのは恥ずかしいことでもなんでもないんですけどね…。 Level.1 "自分が知っていること"を知らない人間を馬鹿にしない これやられると知らないことを知らないと言えない文化が出来上がるので、こういう行為は全力で排除しないといけない。特に非プログラマのIT知識はプログラマが思うよりずっと低いのでつい馬鹿にしがち。非プログラマのステークホルダーに知ったかぶられるときのダメージは計り知れないので絶対にやってはいけない。 Level.2 相手の言葉を使う Scala の勉強会とかでよく、「これはHaskellで言うところのxxx」的な説明をする人がいますが、その説明は最悪だよねってことです。(Scala界隈の人がネタとしてやってるのはわかってます念のためw) (相手がHaskellerの場合はもちろん問題ないです) 非プログラマにとってはHTTPサーバもアプリケーションサーバも物理サーバも仮想サーバも等しく「サーバ
マネージメント層の人たちは常日頃からどうやったらチームのパフォーマンスが上げられるか考えていると思います。 トランザクティブ・メモリー トランザクティブ・メモリーとは組織学習に関する概念で、ざっくり言うと、「全員が同じことを知っていること」よりも「"誰が何を知っているか"を知っていること」が重要ですよ、という話です。 トランザクティブ・メモリーが有効に働いている場合というのは、チームのメンバーの誰もが、"誰が何を知っているか"を知っている状態になるため、暗黙的に適切な役割分担が行えます。いわゆる「阿吽の呼吸」というやつです。 システム開発の仕事には非常に多岐にわたるスキルが必要で、且つ状況が常に変わります。「今のこの状況で各々のスキルを踏まえた上で最適な布陣を敷く」というのはそう簡単なことではありません。特にマネージメント層の人間は最前線のエンジニアに技術面では敵わないため、技術領域の役割分担はエンジニア同士で行った方がうまくいくはずです。 トランザクティブ・メモリーを有効化する方法 トランザクティブ
弊社のロックファイル処理がクソ過ぎてロックファイルを制御するスクリプトを作ったのですが、なかなか使ってもらえてないので、GitHub を使って yum でインストールできるようにしたまとめ。 必要なものをインストールする yum install rpm-build yum install yum-utils yum install rpmdevtools yum install createrepo rpm を作る rpmdev-setuptree で $HOME/rpmbuild を作り、その中の $HOME/rpmbuild/SPECS
技術調査などで Web ページの html をちょっと修正して挙動を見てみたいけど、デベロッパーツールだとちょっと面倒な修正のときに使える Tips html ソースをブラウザから取得してローカルで動かした場合、相対パスで記述されている css や javascript が読み込めなくなってしまいますが、head タグ内に下記を記述すると解決します。 <base href="{元のWebページのURL}" /> なんで今までこんなことに気づかなかったのか…
puppet とか入ってない残念な環境向け。 #!/bin/sh if [ "$1" == "" ]; then echo "usage : $0 ipaddress" exit 1; fi IP=$1 ssh -t $1 "sudo yum -y update bash && sudo /sbin/ldconfig &
ScalaMatsuriに行ってきた。疲れたけど忘れないうちに気になったところまとめとく。 セッションのスライド GitBucket: The perfect Github clone by Scala GitBucket: The perfect Github clone by Scala from takezoe 個人的に一番面白かった。Apache MINA が気になる。 Node.js vs Play Framework Node.js
Pidora2014(RaspberryPi) に CUI の Twitter Client であるRainbowStream をインストールしてみました。 事前準備 RainbowStream は pip でインストールできるので、Pidora で pip を使えるようにします。 distribute のインストール pip をインストールするために easy_install を使えるようにします。 wget http://python-distribute.org/distribute
材料 Raspberry Pi なにはともあれ Raspberry Pi ですね。今買うなら断然 TypeB+ がおすすめ。僕のは TypeB ですが、配線がごちゃごちゃしがち。B+ は電源周りも改善されているようですし、PIN の数も多いので将来的に電子工作をやりたくなったときにも使えます。 Raspberry Pi Model B (Plus)新品価格¥4,880から(2014/9/3 00
Ghost? 最近でてきたnode.jsのCMS https://ghost.org/download/ かるい Markdown でさくさく書ける WP からの移行方法 ここ参考にした。 http://qiita.com/hiro/items/11ea2c953d90eb946eef 実際どうなん? ただimportするだけだとurlの形式が変わる。。 いままでは /archives/1250/ とかだった。 rewriteするしかなさそう。。 コードハイライトとかも死亡 テーマが個人的に微妙なかんじする こんど自作しよう… markdown
社内LTで話したネタを再編集して。 組織に新しい何かを導入するのは結構大変です。IT業界だとここ数年はアジャイルやクラウドやビッグデータや関数型プログラミングなどが盛り上がってますが、いざ導入しようと思ってもなかなか上手くいかないことが多いと思います。   弊社でアジャイルを導入した例 僕の会社(の僕の部署)では現在アジャイル開発を採用しています。結構いい感じでアジャイルしてると思いますが、2011年まではガチガチのウォーターフォールでした。レビューが通らなくて泣く奴がいるレベル。2012年にアジャイル宣言して2年半が立ちましたが、本当にアジャイルっぽくなってきたなと感じたのは2013年の暮れくらいです。アジャイルを導入するのに2年近くかかったわけですね。 ともあれアジャイル導入には成功したわけですが、もちろん2年のうちにはいろいろあって、アジャイルが原因で辞めて行った方も何人かいて、もっと犠牲を払わずに成功できなかったのかと振り返ることもあります。   どうすればよかったのか デレク・シヴァーズの「社会運動はどうやって起こすか」が非常に参考になります。見た事のない方は是非見てみてください。 この中でデレク・シヴァーズが言っている通り、最初のフォロワーが変化を起こす上で非常に重要な役割を担います。 しかし