タグ

ブックマーク / blog.yuyat.jp (6)

  • Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて | Born Too Late

    あけましておめでとうございます。 大晦日は実家でプログレ聞きながらコード書いてました。 今さらながら Heldon の Stand by とか聞いてたんですが、Tangerine Dream を思わせるミニマルなシンセサイザーの反復と、リシャール・ピナスによるロバート・フリップばりの暴力的なギターソロが絡みあっており、大変良いですね。 作ったもの また説明長くなりそうなので、はじめに作ったものの紹介です。 dee dee-rails この Dee というのが DI コンテナの体です。 名前は Ozzy Osbourne ソロ 1st Blizzard of Ozz におけるランディ・ローズのギター曲からです。 50 秒と短く、メタルアルバムの中にあってクラシック風の静かなギター曲ですが、同時にアルバムから欠かせない存在感を放つ名曲です。 何が言いたいかというと、Dee はコンパクトな実装

    tofu-kun
    tofu-kun 2016/10/25
  • Web エンジニア 6 年 5 ヶ月やってたどり着いた価値観 | Born Too Late

    Web エンジニアとして経験を積むことでいくつかのプログラミング言語やツール・ミドルウェアの使い方を覚えたりもしたけど、それらのうちいくつかは 10 年後ぐらいには陳腐化してしまっているかもしれない。 だけどそれらを通じて身につけた価値観や哲学はもっと普遍性を持っているような気がする。 大学を卒業し、Web エンジニアとしての職を得て 6 年 5 ヶ月、日数にして 2344 日経ったので、現時点での頭の中にあるもののダンプを残しておく。 どこかで聞いたようなことばかりで新鮮味はないと思うけど、自分で実感を持ってたどり着けたことには意味があるはず。 プログラミングについて 言語はいろいろなものを試してみる 毎年新しい言語に挑戦せよ、というのは確か dankogai さんの講演をまとめた記事で読んだはずなんだけど、記事が見つからない。 キーワードをもとに検索してみたら達人プログラマーにもそうい

    tofu-kun
    tofu-kun 2015/09/01
    問題はなにかを意識する
  • 例えば, Singleton を避ける | Born Too Late

    この記事は TDD Advent Calendar jp: 2011 の 14 日目です. 前日: TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP (@kyon_mm さん) 翌日: TDDに対して思っていること (@gab_km さん) この記事の概要 TDD で開発することで設計上の問題点に気づきやすくなる Singleton はグローバル変数である Singleton の使用はできる限り避けるべきである テスタビリティを意識しよう TDD では, 原則としてユニットテストを書いてから実際のコードを実装します. なので, 自然と「テストのしやすさ (テスタビリティ)」を意識して実装することになります. そして, TDD においては一般的に, テスタビリティを意識することで, 設計が改善されるとされています. オブジェクト指向には難しい概念がたくさん登場します.

  • PHPUnit の実行を自動化する 3 つの方法 | Born Too Late

    皆さん, ユニットテスト書いてますか. TDD (テスト駆動開発) によるプログラミングは当に楽しいものですが, コマンドをいちいち手動で実行するのは面倒ですよね. テストを自動化しているんだから, その実行も自動化したいですよね. この記事では, 私が仕事趣味で使っている PHPUnit を例に, テストの実行の自動化について紹介します. PHPUnit の, としてはいますが, 他の言語で使えるテクニックもあります. なお, ここでの自動化は開発しながらの自動実行のことで, CI (継続的インテグレーション) の話は出てきません. その前に... 私の開発時のターミナルは以下のようになっています. [caption id="attachment_1298" align="alignnone" width="300" caption="開発時のターミナル"][/caption] GN

    PHPUnit の実行を自動化する 3 つの方法 | Born Too Late
  • PHP 用ベンチマーキングフレームワーク Joshimane というのを作った | Born Too Late

    あくまでもプロトタイプですが. gist: 813246 - Joshimane: A Tiny PHP Benchmarking Framework... But it's just a prototype yet.- GitHub プロトタイプなので, API は大幅に変わると思います. 使用イメージ 以下のようにして使用します. これを実行すると, 以下のような結果が得られます. $ php example.php Job A: 0.52975106 Job B: 0.26065207 一応補足すると, Job A ではループ時に毎回 (つまり 100 回) count($range) が実行されるのに対して, Job B ではループの開始前に一度だけしか count($range) が実行されないので, これだけの差が出ます. 名前について 女子マネです. なんかこう... 陸上部

    tofu-kun
    tofu-kun 2011/02/22
  • CUI な Git ブラウザ tig を入れてみた - Born Too Late

    Git をなかなか使いこなせずにいる私ですが、これはいい ! コンソールから使える git ブラウザ、tig が超便利 Vim に近い操作感で使えるのが Vim 使いには非常に嬉しいところです。以下で、インストール方法と基操作について紹介します。 インストール インストールは、まずソースコードからやってみたのですが、パッケージが存在することに気づいたので、 aptitude で入れ直しました。 sudo aptitude install tig はい、簡単ですね。 起動する カレントディレクトリを Git のワークツリーに移動して、 tig コマンドを実行します。 $ cd /path/to/work-tree $ tig ヘルプを表示する: h 何はともあれ、わからないことがあればとりあえず h を押してヘルプを調べましょう。 カーソルの移動: j, k Vim ユーザなら、何の問題も

    CUI な Git ブラウザ tig を入れてみた - Born Too Late
    tofu-kun
    tofu-kun 2010/11/15
  • 1