子供のころ、質問をするという行為が恥ずかしかった

分からないことをクラスメイトや教師に把握されることが恥ずかしかったのだと思う。 「そんなことも知らねーの m9(^Д^)プギャー」みたいに言われることを恐れていたのだと思う。 でも大人になるにつれて純粋な疑問があればいくらでも質問していいと気づいた。 …

git サブコマンドの作り方

gitlab で API 連携して MergeRequest 送りたいなあ。Webインタフェースから MergeRequest 投げるの面倒くさい。git lab mr とかで MergeRequest 送りたい。git のサブコマンドってどうやって作るのだろうか? そうだ! git flow のサブコマンドをインストー…

強いチームはオフィスを捨てる

読了。良書だった。良かったところ3点。 リモートワークは魔法じゃない 同じ画面を見る、同じソースコードを読む リモートワークができる優秀な人間を雇う 所感 本書の働き方を実践できる彼らのことの姿勢にすごく同意できるし羨望するし格好いいと思う。 で…

Mac OSのbuilt-in vim(/usr/bin/vim) 使うのを辞めた

最近ホットな Vim Plugin 3つを読んでいてvim-over入れたくなったことがきっかけ NeoBundleでインストールして使おうとしたらエラー NeoBundleでvim-overのインストール。早速使おうと:OverCommandLineしたら以下のメッセージが出て手詰まり Vim 7.3 or abo…

コードシンプリシティ

読了。良書だった。でも個人的にはリーダブルコードのほうが具体的で読みやすく、より多くの人が理解できるであろう良書だと感じた。 リーダブルコードは具体的なソースコードの書き方、例えば状況に応じた変数名の付け方などを解説しているため初学者でも読…

O'Reillly Jenkins本に書かれていた「自分の組織への継続的インテグレーションの導入」に同意出来た

現在の職場でローカルVMにJenkins入れて自動ビルド&自動テストを自分勝手に実装していたら評価されて会社のサーバにJenkinsのインストールとジョブ構築を依頼されたのでO'ReillyのJenkins(カエル本)買って読んでる。現在は5章あたりを読んでいる。 1章の…

MySQLで月の差分を求める関数

ググっても見つからなかったがMySQLの日付時刻関数を調べていたら発見。 OracleのMONTHS_BETWEENのような感じで使える。ただし、違いがあって Oracleは小数点付きで返すがMySQLは整数で返す。 PERIOD_DIFF(P1,P2) 期間 P1 と P2 間の月の数を戻します。P1 お…

MacBook Air 11インチにPHPUnit入れた

まずはpearのインストール 13インチAirの時はport使っていたのだけど11インチではport入れてないので新たに以下のやり方で入れた。 ググったらinstall-pear-nozlib.pharというものがあるらしいということがわかったので叩いてphp.iniの編集。 sudo php /usr/…

エンジニアのための年末大掃除ハック #vgadvent2012

終業時刻を過ぎるまでは「お疲れ様です」と言わないキャンペーンを社内でひとり実施している@chiseiですこんにちは。 Voyage Group Advent Calendarで4日目を担当します。 今年も大掃除の季節がやって参りました 師走ですね。昔、師走の語源は「坊さんが走り…

bashの良さ

photo by heipei最近新卒エンジニアとbashについて語る機会があった。僕はbashが好きなので、なぜbashが好きなのか、bashのなにが良いかを語った。その後改めて「なぜ自分はbashが好きなんだっけ?」と思ったのでブログにまとめておく。 bashはシンプル なん…

みんなで脳内アンパンマンを描いてみた

@mahataが日本に帰って来たので親しい人達と集まって酒を飲んでいた。 いろいろあって居合わせた人たちでアンパンマンを描いた(酔った勢い)。経緯としては、 「居候している家の子供が可愛いが関心を持ってくれない」 ↓ 「それならばアンパンマンで気を引…

あの有名な風刺の右下のあれをどれだけ早期に見つけ、学習できるかということに関して書かれた書籍がリーン・スタートアップ

photo by http://www.projectcartoon.com/ (?)書籍リーン・スタートアップには「顧客が本当に必要だった物」を早期に発見するための様々なノウハウが書かれている。 「考え方や実践方法の原理原則はアジャイルソフトウェア開発と殆ど一緒じゃないか。」 とい…

bashのxUnitを見つけた

その名もshuni2。 現在バージョン2.1.6がダウンロードできる。早速試してみた。 書き方はgistにUPしたとおり。試しに書いただけなので後でもう少し修正する。oneTimeSetUpで初期設定してtearDownで完了後の処理ができるっぽいが ちゃんとドキュメントを読ん…

プロジェクトを振り返ることの利点

最近社内のアジャイルを促進する人たちと集まって 「振り返りの利点って何だろうね?」という議論をした。 ※ここで表現している振り返りの方法はすべてKPT。 僕個人としては振り返りの利点というのはいろいろあるんだけど特に、 メンバー間でProblemの認識を…

初めてのアジャイル開発

読んだり読まなかったりを繰り返していたが最近読了。 第2章 反復型と進化型 イテレーションの終了日を固定することをイテレーションのタイムボックス化という。 1年ほど前、イテレーション1のときの失敗談。 スコープ定義で決めたとおりにイテレーションが…

#agilesamurai dojo gathering 2012@オラクル青山センターに行ってきました

Agile Samurai Dojo Gathering サムライ戦記実践編で登壇しました サムライ戦記実践編で「内製基幹システムのOne-Iteration」というタイトルで登壇。 内製基幹システムのOne-Iteration View more presentations from 知聖 竹之内 その時のTweetのトゥギャり…

インデントを4spaceに、改行コードをunixに変換するシェルスクリプトを書いた

今のプロジェクトで適用しているルールで使用するものなので 完全にオレ専用スクリプト。github上に公開している。 あとはてなダイアリーでgist使えるか試したかったのでエントリー書いた。 validation 引数判定 ファイル存在判定 ファイルの種別判定(テキ…

はてなブログに初投稿

初投稿テスト。 URLとか決められるのかな?

#97prog_ja プログラマが知るべき97のことの書評

プログラマが知るべき97のこと(通称きのこ本)の中から個人的に関心を 得た45のことを2011年8月から2012年1月までブログに書いてきた。 このエントリーはそのまとめ。 当初目的は2つあって、プロジェクトメンバーに対して、 「良いサービスを作るためには何…

2012年

もう少し具体的に、取り組みたいことを書く。 特にテーマというわけではないが"この1年が楽しければ良い"。 やってみること ユーザ要求の理解力を高める 2011年、ユーザ要求の理解力が低いと感じている。どう 理解力を高めるか?多分ユーザにすぐ使ってもら…

#97prog_ja 92 顧客の言葉はそのまま受け取らない

これはいつだって意識すること。僕は顧客の言葉を鵜呑みにしない。 顧客が自らの要望を完璧に伝えられないと思っている。これは顧客を 馬鹿にしているのではなくて、要望を伝えきるということが至極難しい ことであるためだ。例えば僕自身が顧客の立場に立っ…

#97prog_ja 93 エラーを無視するな

エラーが起きているのに、大したことはないと思い込もうとする。 大丈夫だと自分に言い聞かせて無視する。そんなことをしても何 も良いことはないのです。これでは品質の高いコードはとても書 けないでしょう。これは単なる怠慢(良い「怠慢」ではなく、ひ …

#97prog_ja 93 ペアプログラミングと「フロー」

僕はよく「あなたがトラックに轢かれて何かあっても大丈夫なように作業 ログや結果はWikiやチケットに書いてくださいね。(リスクヘッジしてね♪)」 と言う。同様の例えがこのエントリにもあったのでこのエントリが気に入って しまった。もちろんこのエント…

#97prog_ja 日本人プログラマによる知っておくべき10のこと 名前重要

何に対しても名前は重要だ。 適切な名前をつけられると言うことは、その機能が正しく理解されて、設計 されているということで、逆にふさわしい名前がつけられないということは、 その機能が果たすべき役割を設計者自身も十分理解できていないということ な…

設定ファイルをgitで管理

git

PCごとに設定ファイル管理するの面倒くさいなーと思ったので勉強がてらgithubを使ってみようと思い立った。 やってみたら結構簡単。以前開発環境にgitサーバを実装した経験が役に立った。 ※無料アカウントで実施する場合は個人でも企業でも機密情報を漏らさ…

数独はなぜ世界でヒットしたか

数独はなぜ世界でヒットしたか作者: 鍜治 真起出版社/メーカー: メディアファクトリー発売日: 2010/03/19メディア: 単行本 クリック: 9回この商品を含むブログ (10件) を見る 数独を作った会社の社長が書いた本。 数独がどういう過程を経て世界中でヒットし…

2011年に買った本

※必ずしも読んでいない 漫画以外 プログラマが知るべき97のこと プロジェクト・マネジャーが知るべき97のこと 初めてのAndroid第3版 スティーブ・ジョブズ I スティーブ・ジョブズ II ムーンショット デザイン幸福論 アジャイルサムライ−達人開発者への道− …

2011年の棚卸

自分の2011年を棚下ろす。意外にも今年はじめに書いた自分のキャリアの棚卸、これから先のキャリアを真面目に考えてみた の通りに事が進んだ年だった。想いの力は重要だと再認識。 あとこのブログは社内の人も読んでくれていると思うので暗 に協力してくれた…

2011年の走行log

SportyPalから http://sportypal.com/Workouts?user_id=148184 Cycling 800.84km Jogging 111.91km Total 912.75km 総消費カロリーは27,495 kcal 最も走行したのは5/4の台場to下北沢で17.91km

Web系の新卒の人ははじめにエンジニアになってみると良い

なぜこのエントリを書こうと思ったかというと、 「プログラムを書いたことが無いけどいつかWebサービスを世に出したいんですよ!」 と、技術のことは知らないけど熱意がある若い学生の人たちと話をしたから。 「じゃあエンジニアになればいいよ」というのが…

#97prog_ja 91 良いプログラマになるには

このエントリを読んで昔よりはまともなソースコードが書けるようになったかな、と振り返った。 昔は良いプログラムを書こうとしても書けなかった。経験も努力も足りなかった。 多分達人プログラマになりたいのであればこのエントリにある通りに努力して実践…

#97prog_ja 90 コードを見る人のためにテストを書く

このエントリはタイトルが秀逸すぎる。 一体誰のためにテストを書くのか?それはコードを見る人のためだ。 コードを見る人は未来の自分かもしれない。もしくは自分以外の誰か。 そのためには良いテストを書かなければならない。良いテストとは何か?コードが…

中学時代の同窓会に参加した

同期の人たちとは12年ぶりの再会。3つぐらいにまとめる。 意外とエンジニアが多い(※ただしコンピュータに限らない) 仲の良かった友人たちの多くがエンジニアになっていて驚いた。 エンジニアって人気なのかな? 話をしてみると多くの人が今の仕事に不満を…

チケットに対して詳細に解説を書くのが面倒くさすぎた

チケットに対して詳細に日本語を書くのが面倒すぎた。 日本語で文章を解説するという行為があまりにもクリエイティブすぎて挫折した。代わりにチケットにはコメント付きのソースコードを書いた。 大体10分ぐらいで表現したい内容を詳細に書けた。プログラマ…

Mac OS X Lion のApacheの設定

mac

メモ。 # umaskの設定を.bash_profileに記述 umask 0002 # phpのコメントアウトを外す sudo vi /etc/apache2/httpd.conf # 権限の調整(なぜか自分がstaffグループだったのでDocumentsをstaffに) cd /Library/WebServer/ sudo chown root:staff Documents/ su…

#97prog_ja 84 正しいアルゴリズムとデータ構造を選ぶ

プログラミングにおける「再利用」を重視する人は多いですが、いつ、何を、どのように再利用すべきかがわからなければ、良い結果にはなりません。それをわかるためには、問題領域について、またアルゴリズムとデータ構造について、十分な知識が必要なのです…

#97prog_ja 83 UNIXツールを友にする

もし無人島にIDEかツールのどちらかしか持っていけないとしたら、私は迷うこと無くUNIXツールを選びます。 もちろんそんなシチュエーションは存在し得ないとは思うが 僕もUNIXツールを選択する。 ここで言うUNIXツールとはコマンド群の事。 テキストの取り扱…

#97prog_ja 82 他者への思いやりを意識したコーディング

Webに限って言うなればプログラマやデザイナどちらも対象とすることができるエントリ。 そのコードに触れた誰もが、触れる前より良い人間、良いプログラマになれる 誰かが書いたコードの質は、必ず誰かが書くコードの質に影響します 最近特に疎結合を意識し…

社内DDD読書会に参加した

DDD本はドメイン駆動設計とかモデル駆動設計とかドメインモデルとかドメインとかモデルとか似たようなワードが多くて混乱していたんだけど社内の人と話していくなかでこの本の用語がハラオチした。 ドメインというのは業務とか業界を指す。また、ビジネスの…

ヒストリエ7巻が出た。

Amazonで予約注文したが会社に発送している(今日は祝日)

#97prog_ja 80 1人より2人

私は「ペアプログラミング」の信奉者です。ペアプログラミングは、協力の究極のかたちと言ってもいいでしょう。ペアプログラミングの利点は、プログラマとしてのスキルが確実に向上するということです。プログラミングの技術、あるいは問題領域についての知…

スティーブ・ジョブズ1&2

読んだ。 この本を読み終わってもっと情熱的に生きないとダメだなと自分の人生と照らしあわせて反省した。

#97prog_ja 79 テストのないソフトウェア開発はあり得ない

橋の構造解析に時間がかかるように、テストにもやはり時間がかかります。しかし、どちらも最終的な成果物の質を一定以上に保つためにすることです。 最近リリースしたプロダクトが結合テストと運用テストが 甘かったのでデータ保持やUIの品質が低くなってし…

#97prog_ja 78 テストは夜間と週末に

今のプロジェクトでは毎日AM1:00ごろにDailyBatchと称してユニットテストを作動させている。 ユニットテストは大体5分ほどで完了している。夜間に稼働させたほうが節電できるしね。 毎朝DailyBuildが送信するメールをチェックして失敗したテストがあればチケ…

#97prog_ja 76 コード分析ツールを利用する

前々からやりたいと思っているのだがなかなか手が出せていない。 静的なコード解析ツールを用いることでリポジトリにコミットされているコードをチェックすることができると思うが時間が作れていない。 でもちゃんとやろうと思うのでエントリには残しておく。…

#97prog_ja 75 面倒でも自動化できることは自動化する

自動化するためのステップがやや面倒でも自動化はしたほうがいい。 例えば毎日5分、何かしらのコマンドを書いてファイルを保存するという作業を 手で行なっているのであればそれはスクリプトを書いてcronに登録したほうがいい。 Excelであればマクロを書いて…

#97prog_ja 72 シンプルさは捨てることによって得られる

「やり直し、だな…」、Deleteキーを押しながら上司が言いました。私は、毎度のことながらとても沈んだ気持ちで、コンピュータの画面を見つめていました。私の書いたコードが1行、1行きれいに消されていくのを見ていたのです。 上の例はすごく極端で上司と部…

#97prog_ja 70 シングルトンパターンの誘惑に負けない

シングルトンパターンが安易に使われてしまうとユニットテストがしにくくなりそう。 と、このエントリーに書かれていたのでそう思った。 シングルトンパターンの使い所は見極めよう。 シングルトンパターンは、必要なインスタンスが絶対に1つだけと確信でき…

ユーザーストーリーのワークショップに参加した

むずかった。というかXPやパターン、Scrumに関しての前提知識が足りなさ過ぎてついていけていなかった。ただ、明日から実践できそうなことを書くと、 今日のワークショップで学んだユーザーストーリーの定義についてチームメンバーにシェアする Redmineのチ…

#97prog_ja 68 「人間」を知る

ソフトウェア開発のプロジェクトでは、よほど小規模なプロジェクトは別にして、必ず人と人が共に仕事をすることになります。 (中略) つまり、人は、人とともに、そして人のためにソフトウェアを書くというわけです。 プログラミングにかまけていると人との…