タグ

ブックマーク / hiroki.jp (11)

  • ペアプログラミングについてみんなが誤解していること | Act as Professional

    プログラマ1人で完成できる仕事に、2人のプログラマを投入して、直感的に判断してペアプログラミングを拒否する人がいます。これには大きな間違いとリスクが潜んでいます。ペアプログラミングに対する真実を理解しましょう。 ペアプログラミングはコードを書く時間が15%増える1999年にユタ大学でおこなわれた実験によれば、設計の時間を別にして、ソロプログラミングに対してペアプログラミングを実施したペアは平均して15%多く、プログラムを書く時間に費やしました。 では、なぜペアプログラミングを選択するのか?将来的なテストと現場のリソース要求を減少させるためです。一般的なシステムにバグが見つかると業界のデータでは、33時間から88時間を修正に費やすそうです。これが、開発期間中に欠陥を修正すると0.5時間から88時間の時間を節約できることになるのです。したがって、ペアプログラミングは寿命の長いソフトウェアほど、

    ペアプログラミングについてみんなが誤解していること | Act as Professional
    hidehish
    hidehish 2011/07/07
    見てる:
  • TDD(テスト駆動開発)をはじめたい人にオススメの資料(無料) | Act as Professional

    TDDBC in TokyoをPHPUnitでやる予定なので、TDD関連資料をあさってました。 実際に手を動かして、1から2時間で最後までやり通せるTDDの資料を見つけました。 TDDに興味を持った方が最初にやるのにちょうど良い内容なので、お知らせします。 オブラブで公開されている車窓からのTDDです。Java+JUnitの構成で書かれていますが、PHP+PHPUnitで、ほとんどPHPっぽく書き直せば問題なくTDDの雰囲気を学べる内容です。 Fake It 三角測量 リファクタリングなどのタイミングを具体的に理解できるストーリー仕立てになっています。内容のボリュームもお手軽なので、TDDに興味のある方は、やってみてはいかがでしょうか?TDDの良さが体験できると思います。 PHPのコードをgithubで公開しています。「PHPでどう書くの?」って思った方は参考にしてください。

    TDD(テスト駆動開発)をはじめたい人にオススメの資料(無料) | Act as Professional
    hidehish
    hidehish 2011/06/11
    見てる:
  • passengerもrvmで動かすOSのrubyに依存しない環境づくり | Act as Professional

    OSに最初からついているrubyのバージョンやパッケージのバージョンとかを見てみると、 [@MacBook-Air]$ /usr/bin/ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]とか表示されて、Rails3使ってる人にとっては、だいぶ残念な感じ。 かといって、passengerが1.8系で既に動いていたり、1.8系でしか稼働しないコードやgemを使っていたりする場合、OSのrubyバージョンを勝手に変更するわけにもいかない人は多いんじゃないだろうか。 でも、rubyは1.9でrailsは3なんだよ。って人は、なんでもかんでもrvmでやること推奨する。 そして、rvmにインストールした1.9系のrubyを使ってpassengerを稼働さましょう。 rvmについてのインストールは公式サイトの通りな

    passengerもrvmで動かすOSのrubyに依存しない環境づくり | Act as Professional
    hidehish
    hidehish 2011/05/29
    見てる:
  • いまどきのRubyとRailsの学び方 | Act as Professional

    code school という学習サイトがあります。現在は、Ruby on Railsに特化したコンテンツがありますが、確認する限りでは、jQueryやHTML5 & CSS3のコンテンツが近いうちに公開される予定です。 なにが、いまどきなのか? Ruby on Railsrails3に対応してる)が無料で学習できる Rails for Zombies をやってもらえば、すぐにわかるのですが、rails環境を一切つくることなく、Webブラウザだけで完結しているコンテンツなんです。 つまり、ブラウザにコードを打ち込んでいくと、動作する結果を返してくれるのです。環境作りに苦労することなく、学習に専念できるのです。 初心者向けのコンテンツだからこそ、こういった配慮は大事だなぁと考える。 Rails for Zombies は5章構成になっていて、1章ずつ動画で丁寧に説明されている。英語が聞き取

    いまどきのRubyとRailsの学び方 | Act as Professional
    hidehish
    hidehish 2011/03/27
    見てる:
  • 知らないと損する完全無料アジャイル開発ガイド | Act as Professional

    知っているようでよくわかっていないアジャイル開発。こんなの海の向こう側の話でしょ?って諦めるのは、もう昔の話。どんどんアジャイル開発は日の現場で取り入れられているのです。改めて学ぼうアジャイル。 1. アジャイルソフトウェア開発 – Wikipediaアジャイルソフトウェア開発には、複数種類の手法があることを学ぼう。具体的には スクラム (1986) Crystal Clear エクストリーム・プログラミング (XP) (1996) Adaptive Software Development ユーザ機能駆動開発 (FDD; Feature Driven Development) Dynamic Systems Development Method (DSDM) (1995)などである。 2. Scrumを10分以内で知ることができる資料や動画 | Ryuzee.comアジャイルの一つの手

    知らないと損する完全無料アジャイル開発ガイド | Act as Professional
    hidehish
    hidehish 2011/01/28
    見てる:
  • 達人プログラマーに学ぶ どこでも自動化 | Act as Professional

    達人プログラマーはどうするのか?p.240 第8章 達人のプロジェクトより 我々よりもコンピュータの方がうまくやってのけるような繰り返しや俗っぽいことは、すべてコンピュータに任せてしまいましょう。我々にはもっと重要で難しい仕事が待ち構えているのですから。 HIROCASTERの経験から cobblerをつかって、OSのインストールは自動化 puppetやChefをつかって、OSの設定やアプリケーションの導入と設定を自動化 capistranoをつかって、デプロイ作業を自動化 Nagiosなどの監視システムやCactiなどのモニタリングシステムへの追加も自動化こんなことはさっさとやってしまおう。物理サーバが到着したら数分で番環境へ投入できるように。 Amazon EC2を使えば、物理サーバが到着するのも待たなくてすむ。 達人プログラマーから想像できる開発中の自動化は… シェルを書いてしまっ

    達人プログラマーに学ぶ どこでも自動化 | Act as Professional
    hidehish
    hidehish 2011/01/16
    見てる:
  • これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional

    いままで勉強会に顔を出し、すばらしいエンジニアと数多く会うことができた。そして、スーパーエンジニアと共に仕事をすることもできたし、できている。そんなスーパーエンジニア達が持っていた習慣を僕の経験と視点からまとめてみる。 自分が使う道具を厳選して選んで手入れをしているエンジニアでいえばエディタやツールなど。皆が使っているIDEやエディタを何も考えずに使い始めたりしない。 厳選したエディタやツールを使って、手になじませるのである。手になじませるというのは、2つの意味がある。 1つは操作性に慣れること。呼吸をするように自然に、キーボードの上を駆け回る心地よいリズムを奏でるエディタを選ぶ。 2つめは、自分に合わせて拡張しているということ。プラグインのON/OFFだけではなく、オリジナルのショートカットを設定し、適切なハイライト、シンタックスのチェック、コーディングルールのチェック、様々な言語への対

    これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional
    hidehish
    hidehish 2011/01/16
    見てる:
  • Gitのリポジトリを柔軟に管理する gitosis | Act as Professional

    GitHubの大普及で、もうプログラマーさんはみんなgitで開発しているかと思います。 でも、大人数でリポジトリを扱ったり、いくつものプロジェクトを扱うと、アクセス管理が大変です。 アクセス管理を柔軟におこない、リポジトリの追加も簡単なgitosisを使いましょう。 gitsisはgitの管理ツールです。gitosisを使えば、 サーバにログインすることなくリポジトリの追加ができる 読み取り専用などユーザーごとに細かいアクセス管理ができる 設定ファイル自体もgitで管理されているので、万が一のことが起きても戻せるそれでは、Ubuntu 10.04にインストールしてみましょう。 $ sudo apt-get install gitosisgitosisのイニシャライズをします。SSH_KEY.pubは管理者の公開鍵を指定してください。 $ sudo -H -u gitosis gitosis

    Gitのリポジトリを柔軟に管理する gitosis | Act as Professional
    hidehish
    hidehish 2011/01/08
    見てる:
  • 達人プログラマーに学ぶ 絶え間ない結合化と容赦ないテスト | Act as Professional

    書いたコードの量が増えれば、増えるほど、比例してバグが増えていきます。 予期せぬバグはスケジュールに致命的な影響を与える。 手を加えたソースの量が増えてからバグを特定するのには多くの時間や労力を費やすことになります。 達人プログラマーはどうするのか?p.241 第8章 達人のプロジェクトより 早めにテスト、何度もテスト、自動でテスト 書いたコードが少ない段階で、少ないテストをして、小さなバグをできるだけ早く解決していく。製品コードとテストコードを同時に書いていくのです。仮にバグを埋め込んでしまったとしても、バグになっている箇所はすぐに特定できるでしょう。 このテストをあながた手を動かしてやっている暇はありません。 あなたは新たなバグを埋め込むために製品コードを書かなければなりません。絶対に自動化しましょう。 自動化してテストを何度も、何度も、繰り返しおこなえるようにしましょう。結合テストも

    達人プログラマーに学ぶ 絶え間ない結合化と容赦ないテスト | Act as Professional
    hidehish
    hidehish 2010/12/31
    見てる:
  • mod_pagespeedでWEBの表示をビックリするほど高速化 | Act as Professional

    $ wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb $ sudo dpkg -i ./mod-pagespeed-beta_current_amd64.deb $ sudo /etc/init.d/apache2 restart基的には以上で終了です。 詳細な設定細かいレベルでの設定をしたい人や導入したことにより問題が発生して人は設定を変えましょう。 設定ファイル /etc/apache2/mods-enabled/pagespeed.conf ModPagespeedRewriteLevel CoreFilters特に設定をしなくてもCoreFiltersが設定されています。(*1) Filterのドキュメントを見る限り、以下がCoreFilterに含まれているようで

    mod_pagespeedでWEBの表示をビックリするほど高速化 | Act as Professional
    hidehish
    hidehish 2010/12/31
    見てる:
  • プロとしての行為 Act as Proffesional

    Ruby を知らない人に Ruby の話をして欲しいと言われてないけど、ブログを書きました。(*1) 難しい話は抜きにしたいんだけど、抜きにしちゃうとまったく訳わかんないから簡単に説明する。 今回は Ruby の erb ってのを使って元ネタ同様のことを実現する。 mod_ruby が動くサーバなんて自分でつくらないとないだろうけど、 その辺はどうにかしてもらう。 erubyが導入されていれば、ファイルの1行目に #!/usr/bin/eruby -McKuCutf-8 とする。(*2) そんなこんなで、どうにかしてもらったら、 <%= と %> で囲めば動きます。 どうにかしてもらったサーバで example.html というファイルの拡張子を example.rhtml すれば良いだけです。 <%= Rubyスクリプト %>拡張子を変えずに動かすこともできます。 .html ファイルで

    プロとしての行為 Act as Proffesional
    hidehish
    hidehish 2010/12/30
    見てる:
  • 1