成らぬは人の為さぬなりけり

エンジニアライフをエンジョイする為のブログ

クラスメソッドの定義

初歩的な事なのだけど、 改めてクラスメソッドの定義方法にいろんな書き方がある事を忘れていたのでメモ。 # 特異メソッド方式。 class Hoge def Hoge.foo end def self.foo2 end end Rubyではクラスは定数であり、つまりオブジェクトである。 そのオブジェ…

ハイパフォーマンスなチーム作り

InfoQでこんな記事があった ハイパフォーマンスなチームを実現して維持するにはベストプラクティスは、当然納得していて、 やっぱりそうするべきだ、とずっと思っている。 ただ、まぁ、なかなかうまく行かない現実もあるわけで、、、 上記記事の「アンチパタ…

Node.jsがWindow上でネイティブ実行が可能になったらしい

そもそも、JavaScriptがあまり好きじゃない私としては、 そこまで熱烈に興味は無いんですが、 サーバーサイドJavaScriptには興味がちょっとある。Node.jsは今までWindowsではCygwinを使うしかなかった。 それがやっとWindows上で普通に使えるようになったそ…

Wiki+バグトラッキングを備えたバージョン管理システムFossil

先日、仕事で打合せ後に昼食を食べている時に知った、 ちょっと面白そうなバージョン管理システムのお話。その名も「Fossil」どこかで聞いたことある名前なんだよなぁ、と思ったら、時計だった。 Fossil を個人的な Wiki +プロジェクト管理ツールとして使う…

zshでプロンプトにGitなどSCMのブランチ名を表示させる

bashにgitとmercurialのブランチ名を表示する - アジャイルSEを目指すブログいつもお世話になっている方のブログで、 gitのブランチ名をプロンプトに表示させる方法が書かれていた。私は、特に大きな理由は無いが、 bashではなく、zshを使っておりますです。…

ペアプロ時のペアの配置

InfoQを纏めて読んだので、またまたInfoQネタですがwペアプロ時のペアの配置に関しての記事があった。 ペアプログラミング - 隣り合わせか,対面か これは、なかなか興味深い。 私は隣り合わせのペアプロしか経験がないけれど、 この配置は、意外と良いのか…

アジャイルvsウォーターフォール

大それたタイトルを付けたが、 別に戦わせたいわけではない。またまたInfoQで興味深い記事があった。知っている vs 知らない ウォーターフォールで開発するかアジャイルで開発するかは双方の問題と解決策をどの程度知っているかに基づいて決定されるはずだ。…

リファクタリング

InfoQでリファクタリングについての記事を読んだ。リファクタリング中は考えることを止めようテスト駆動開発の信者としては、非常に興味のある内容だと思い、 読んでみた。リファクタリング中は考えることをやめろ??? そんな事不可能だろうと、思った。読…

OpenSocialアプリ開発の便利ライブラリ「opensocial-wap」

Rails/SinatraでOpenSocialアプリを開発する上で、 面倒な部分を楽にしてくれるライブラリがあるらしい。その名も「opensocial-wap」 Rails/Sinatraでガラケー向けOpenSocialアプリを開発する「opensocial-wap」|オープンソース・ソフトウェア、ITニュースを…

MacにOpenJDK7をインストール

Mac(Lion)にOpenJDK7をインストールするのに、 若干ハマったので、メモ。今回はソースからビルドせずに、 インストーラを使用したいと思います。1.インストーラをダウンロードする Downloads - openjdk-osx-build - OpenJDK 7 and 8 Community packages …

bool値に変換する「!!」

Rubyの条件式の結果は、 nilとfalse以外はすべてtrue となりますよね?なので、 def hoge "a" end if hoge p "TRUE" else p "FALSE" end これの結果は "TRUE" となります。しかし、 hogeメソッドの戻り値は、あくまで「a」であり、 「true」ではありません。…

empty?とnil?を判定するような感じのblank?

通常、Rubyプログラムで、 nilじゃなく、かつ空ではない ことを確かめたい場合、 !obj.nil? && !obj.empty みたいな事になるのではないかと思います。 ※すいません、自分が知らないだけかもしれません。が、しかし、 Railsアプリでは、 こーなる。 rails con…