タグ

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

  • コードレビューツール 6選 どれが最適? | Act as Professional - hiroki.jp by HIROCASTER

    Pythonで書かれたレビューツールです。VMware社内で利用されていることで有名なツールです。 プレコミットレビューという概念のレビューツールです。つまり、コミット前にレビューをするという事が前提になっているツールです。よって、結果的に差分を重点的に確認していくツールのつくりになっています。 rietveld rietveld – Code Review, hosted on Google App Engine – Google Project Hosting Google社内で使われているコードレビューツールである「Mondrian」のオープンソース版です。基的にGoogle App Engineで動くことが前提になっています。 GAEの上のコードのデータを置くということがオトナの事情的に難しいかもしれませんが、検討してみてください。 Phabricator Phabricator

    コードレビューツール 6選 どれが最適? | Act as Professional - hiroki.jp by HIROCASTER
    atsushifx
    atsushifx 2012/09/13
  • プロとしての行為 Act as Proffesional

    オブジェクト指向エクササイズ下記のルールで、1000行程度のソフトウェアを書いてください。 1. 1つのメソッドにつきインデントは1段階までにすること 2. else句を使用しないこと 3. すべてのプリミティブ型と文字列型をラップすること 4. 1行につきドットは1つまでにすること 5. 名前を省略しないこと 6. すべてのエンティティを小さくすること 7. 1つのクラスにつきインスタンス変数は2つまでにすること 8. ファーストクラスコレクションを使用すること 9. Getter、Setter、プロパティを使用しないこと というルールが適応できない場合は優先すべきルールを選択し、どのルールを適応するのか判断して欲しいとの旨が記載されています。 9つのうち 7つがデータのカプセル化 1つポリモフィズの適切な利用(else句をつかわない) 1つが明確でわかりやすい命名標準 オブジェクト指向

    プロとしての行為 Act as Proffesional
    atsushifx
    atsushifx 2012/08/31
  • chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional

    環境構築を自動化すれば数分でサーバ構築して投入できますよ?@HIROCASTERでございませう。 vagrantで開発環境(仮想マシン)を自動構築しようの記事で、仮想マシンにchefやpuppetを自動的に実行させて開発環境を自動で構築する手順を紹介しました。 環境構築を自動化する内容をchefであれば、レシピと呼ばれるものを、puppetであればマニフェストと呼ばれるものを記述しなければなりません。 今回はパッケージ(NTP)を導入して、NTPの設定ファイルを自動的に配備して、サービスを立ち上げるという環境構築の自動化をchef-soloを使って、紹介したいと思います。基的に他のソフトになっても手順は同じです。参考にしてください。 chefとchef-soloの違いchefはクライアントとサーバの形を取っており、chefを実行するためにはサーバにレシピや付随する数多くのデータがなければ

    chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional
    atsushifx
    atsushifx 2012/08/13
  • PHPer必見!PHPのベストプラクティスをまとめるプロジェクト | Act as Professional

    PHP (The Right Way)PHPをはじめた初心者がWEBにはびこるクソな情報に揉まれて、残念なコードを書いたり、バッドプラクティスを平気でやってしまうことをストップさせるべく立ち上がったプロジェクトのようです。 PHPの開発に携わる人へ、ベストプラクティスや厳選した情報をまとめています。 当にPHPを使えるPHPerになるためには必読な内容ばかりです。日々進化するPHP回りの技術もシッカリ押さえてます。 こちらのサイト → PHP (The Right Way) 最近発売された小川さんのもモダンにまとめられてますが、それのもっと技術的な所を押さえてます。

    PHPer必見!PHPのベストプラクティスをまとめるプロジェクト | Act as Professional
    atsushifx
    atsushifx 2012/07/09
  • 普通のプログラマへ良いコードを書く方法を教える!リーダブルコード | Act as Professional

    私はすばらしいコードを「エレガントなコード」と呼ぶ@HIROCASTERでございませう。 まず、はじめに。書はハッカーは読まなくて良い。普通のプログラマに読んで欲しい。 デザインパターンやリファクタリングよりも、書に書かれていることの方がプログラマは毎日考えて、意識してコードを書くのだ。 よって、普通のプログラマならば書を読んでおきたい。普通のコードを書く人にオススメの1冊だ。 例えるならば、バク転や月面宙返りをする方法ではなく、日常的におこなわれる「歩く」という行動に着目し、姿勢良く、美しく、シッカリ、確実に歩くための方法が書かれている。 書の目的は、君のコードをよくすることだ。 「良いコード」の定義とは、コードを読んだときに最短で理解できる様に書かれていることである。そう、書は伝えている。 では、良いコードを書くための方法を具体的に学んだり、教えられたりしたことはありますか?

    普通のプログラマへ良いコードを書く方法を教える!リーダブルコード | Act as Professional
    atsushifx
    atsushifx 2012/06/22
  • プログラミングスキルを伸ばすためのイベント「Coderetreat」に参加してきたので、今度は主催するよ! | Act as Professional

    Coderetreat とは?このイベントは1日中集中して、ソフトウェアの開発と設計にフォーカスして練習するためのイベントです。 仕事を片付けなければならない通常の仕事であるプレッシャーから解放して、徹底的に練習する機会を提供することで、スキル(プログラミングや高度な設計など)に非常に有効的なことで知られています。 モジュール設計、オブジェクト指向などの基原則を改めて、練習することによって、将来にわたって変更コストを小さくする“エレガントなコード”を書くスキルを磨くことが出来ます。(ソフトウェアのテストを書くのは基なので、身につけていない人はとても鍛えられる事になるはずです) 具体的には、コンウェイのライフゲームをペアプログラミング(2人で1つのコンピュータを使ってプログラミングする)で1日に5〜6回も毎回違うペア同士で、プログラミングをします。これによって、学びを得ます。 コンウェイ

    プログラミングスキルを伸ばすためのイベント「Coderetreat」に参加してきたので、今度は主催するよ! | Act as Professional
    atsushifx
    atsushifx 2012/04/18
  • プロとしての行為 Act as Proffesional

    僕が新社会人になったときには、「このを読んで学ぶと良いよ!」なんて、紹介してくれる先輩がいなかった。 だから、無駄な書籍を読んで、あんなクソな読んでる暇があったら、この読んでおけば良かった。と、何度も思った@HIROCASTERでございませう。 新社会人の皆様に技術書は高価なので、厳選してオススメを紹介します。カテゴリ・言語別で上の方に並んでいる者が初級者にオススメ、下にいくほど、上級者向けです。数ヶ月かけてステップアップすれば良いのではないでしょうか。 新しいプログラマの教育担当者やメンターになった人は、この記事を教えてあげれば良いんじゃないかな。

    プロとしての行為 Act as Proffesional
    atsushifx
    atsushifx 2012/03/31
    ところどころDisってるのを見ると春だと思う。
  • ソフトウェア開発に携わるすべての人に捧げる、アジャイルにソフトウェアを開発する為に読むべき15冊 | Act as Professional

    私は夏休みの宿題のやり方を教えてもらったことがありません。約2ヶ月という限られた時間で、どういう風に消化していくと良いのかを学習したことがなかったのです。 夏の終わりに24時間テレビが放送されますが、あれを見ながら、答えをチラ見し、綺麗なドリル(*1)を1冊消化するのは忘れられない子供の頃の思い出です。 この経験はソフトウェア開発にも似ていて、開発の手法を知らなければ、良い結果を生むのは難しいのです。不幸なことに、夏休みの宿題のように明確に何をやるべきなのか、明確では無いのです。 夏休みの苦い思い出と、ウォーターフォールっぽい大失敗プロジェクトの経験をいくつか得た上で、アジャイルソフトウェア開発を学ぶことによって、ソフトウェアのつくりかたを学びました。 これは、中小のSIerでも、イケてるWEBサービスを提供している会社でも教えてくれたことではありませんでした。そう、夏休みの宿題のやり方を

    ソフトウェア開発に携わるすべての人に捧げる、アジャイルにソフトウェアを開発する為に読むべき15冊 | Act as Professional
    atsushifx
    atsushifx 2012/01/05
  • 本当のJavaScriptを知っているか!具体的にコードで学べる「テスト駆動 JavaScript」 | Act as Professional

    書は裏表紙に「中級技術者向け」と明記されている。JavaScriptの言語仕様に関して、入門したことない人や、関数型の言語に見地のない人は、パーフェクトJavaScriptやサイあたりで、JavaScriptの言語仕様を身につけてから、取り扱うことを推奨する。それぐらい価値のある内容に書は仕上がっている。 そして、 正統派なTDD(テスト駆動開発)について理解したい JavaScript自身の言語的な特徴を押さえておきたい テストできるJavaScriptのコードを多く閲覧したい 実際のプロダクトに活用できるアプローチを数多く知りたい と、考えているJavaScriptを日頃から書いている人、携わっている人に、必ず読んでもらいたい1冊である。 全体を通じて、テストできるコードの特徴は何か、単体テストとテスト駆動環境の利点を享受できる優れた単体テストはどのようなものかをサンプルとともに

    本当のJavaScriptを知っているか!具体的にコードで学べる「テスト駆動 JavaScript」 | Act as Professional
    atsushifx
    atsushifx 2011/12/21
  • 見落としがちなLinuxのWEBチューニング | Act as Professional

    WEBコンテンツ配信にLinuxを使うのは一般的になりましたが、CentOSやUbuntuをはじめ、大抵のディストリビューションが低スペックなマシンでも動くような初期設定になっています。 トラフィックの上限でもない CPUリソースの枯渇でもない HDDのIOが遅い問題でもない コンテンツが重くなる(接続できない)というケースで、見落としがちなLinuxのネットワーク周りのチューニングについてです。 iptables関連iptablesを使用している場合、下記のパラメータを注意して下さい。 /proc/sys/net/ipv4/ip_conntrack_maxip_conntrackに記録できる最大値です。65536あたりが初期設定になっているかと思います。これだとパケットの取りこぼしがすぐに起きてしまいます。1コネクションあたり約350バイト消費するので、実装されているメモリに応じて値を変

    見落としがちなLinuxのWEBチューニング | Act as Professional
    atsushifx
    atsushifx 2011/11/27
  • 航海に耐えられない最強の船に価値はあるのか? – プロダクティブ・プログラマ – プログラマのための生産性向上術 | Act as Professional

    ヴァーサ号の教訓最強の船、「ヴァーサ号」の建造は開始されました。王は、船にあれこれと注文をつけます。できる限り、威厳ある姿にしようとあちこちに凝った装飾もさせました。そして、途中で砲列甲板をC つ備えた船にしたいと言い出します。そんな船は今までどこにもありませんでした。どの船よりも強くしたいという思いからの要求です。しかも、王は船をすぐに造れと言いました。当時の外交情勢から必要に迫られていたのです。もちろん、造船技師は当初、砲列甲板はB つ、という前提で設計をしていましたが、王の命令なので、言われたとおりにせざるを得ません。大急ぎで造ったため、揺れのテストもできません。水兵たちが船の一方の端からもう一方の端に移動した時に大きく揺れないか(いわゆる「トップヘビー」になっていないか)テストすることは重要なのですが、それもできなかったのです。ヴァーサ号は、処女航海の時、わずか数時間で沈没してしま

    航海に耐えられない最強の船に価値はあるのか? – プロダクティブ・プログラマ – プログラマのための生産性向上術 | Act as Professional
    atsushifx
    atsushifx 2011/09/23
  • アジャイルサムライ他流試合でプログラマーなら胸熱!! #agilesamurai | Act as Professional

    ビジネス的に考えれば、サービスが大事なのはわかるんだけど、結局、そのサービスつくってるのは誰なんだ?って話です。こういうサービス考えてるんだけど、ソフトは○○人ががつくる予定なので…。なんて、会社は滅びるんです。というお話。 ソフトウェアをつくると言うことは大きな社会的責任を負う偉大な仕事なんだだから、アジャイルサムライに書いてある技術的なプラクティスは出来なきゃいけないんだ。できるようにならないと、技術以外のことができないんだ。 ユニットテスト テスト駆動開発 リファクタリング 継続的インテグレーションプログラマーなんだから、これができるようにしなければいけないんだ。これができなければ、バグだらけのソフトウェアを抱えて、新機能の見積もりなんてできないよ。他の多くのアジャイルプラクティスができないよ。はじめれば良いんだ。行動すればいいんだ。これをはじめることに許可がいる企業なんてブラック企

    アジャイルサムライ他流試合でプログラマーなら胸熱!! #agilesamurai | Act as Professional
    atsushifx
    atsushifx 2011/09/21
  • プロとしての行為 Act as Proffesional

    288ページという少ないページ数の中に、ほとんどの見開きの中に図をいれて、アジャイル開発のすべてがザックリ凝縮された書籍です。思わず「こういうのが欲しかったんだ!」と声に出してしまう内容に仕上がっています。この業界の新人に必ず読ませたいバイブルです。 今の仕事プロジェクトに問題がある。順調でない。解決策の糸口が欲しい。 アジャイル開発に興味がある。はじめてみたい。どういったものか知りたい。 もっと価値のあるソフトウェアを顧客に提供したい。ソフトウェア開発に携わるすべての人(プログラマ以外にも)にオススメします。東京に住んでいる人はよかったら読書会に参加してください。 良いコードを書く技術 -読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus) 今年、プログラミングを格的にはじめた人や、会社に入って多人数での開発をはじめてやる人に読んでもらいたい書籍。自分一人

    プロとしての行為 Act as Proffesional
    atsushifx
    atsushifx 2011/08/02
  • コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境 | Act as Professional

    TDDやってますか?テストを書いて、実行。コードを書いて、テストを実行。PHPUnitコマンドを1日に何度も叩いているPHPerに朗報です。コードとテストを修正して保存をすると、それを検知して、自動的にPHPUnitを走らせて、結果をGrowlで通知する環境をつくりました。これで、TDD Boot Camp in Tokyo #tddbcもテンポ良くすすめられますね。 gem watchr インストールPHPerには申し訳ないのですが、Rubyのgemを使います。 gem install watchr growlnotify インストールGrowlへの通知をするgrowlnotifyをインストールします。 Growlをダウンロードして、Extraディレクトリに含まれている、growlnotifyをインストールしてください。 環境をcloneする hirocaster/phpunit-sta

    コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境 | Act as Professional
    atsushifx
    atsushifx 2011/07/07
  • IT系勉強会に参加する人が実践すべき10のこと | Act as Professional

    イベントの定義を事前に理解する大きく分けて、イベントには2つのタイプがあると感じています。この2つのタイプを理解して、十分な準備をしてイベントにのぞみましょう。 講師から講義を受けて、知識を “教えてもらう” スタイル 特定のテーマに沿って、ディスカッションや手を動かして “学びあう” スタイル告知ページやメーリングリスト、Twitterなどで雰囲気はつかめます。過去の開催情報も公開している勉強会も多いので、それを確認するのが一番確実でしょう。 教えもらうスタイル 「○○入門」といった感じの勉強会が多いタイプです。何も知らないところから、色々と手ほどきを受けて、使い始めてみるきっかけをつかむタイプの勉強会です。ですが、限られた時間で、限られたことをするので、体系的に知識を得られるケースはまれです。 よって、講義を受けたからといって満足してしまってはいけません。実際に自分で手を動かして、応用

    IT系勉強会に参加する人が実践すべき10のこと | Act as Professional
    atsushifx
    atsushifx 2011/06/20
  • これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional

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

    これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional
    atsushifx
    atsushifx 2011/01/16
  • 達人プログラマーに学ぶ 絶え間ない結合化と容赦ないテスト | Act as Professional

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

    達人プログラマーに学ぶ 絶え間ない結合化と容赦ないテスト | Act as Professional
    atsushifx
    atsushifx 2010/12/31
  • 1