タグ

developmentに関するreppetsのブックマーク (81)

  • ConQATを利用してソースコードの品質をチェックする - 達人プログラマーを目指して

    ある程度プログラマーとして経験を積めば、ソースコードを読んだときに、そのソースコードの良し悪しというものは、嗅覚を使って直感的に嗅ぎ分けることができるものです。実際、そのように体の感覚を使ってこのコードは不吉だと感じるところは実際大いにあり、コードの臭い(code smell)として知られています。 コードの臭い - リファクタリングの必要性を示す兆候 これはファウラーの名著 リファクタリング―プログラムの体質改善テクニック (Object Technology Series) 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史出版社/メーカー: ピアソンエデュケーション発売日: 2000/05メディア: 単行購入: 94人 クリック: 3,091回この商品を含むブログ (312件) を見るでも紹介されており、こういった不吉な部分を適切に嗅ぎ分け

    ConQATを利用してソースコードの品質をチェックする - 達人プログラマーを目指して
  • 【翻訳】Gitをボトムアップから理解する

    John Wiegleyさんの "Git from the bottom up" を翻訳しました。 元PDFはこちらからダウンロードできます: http://newartisans.com/2008/04/git-from-the-bottom-up/ 元記事のライセンスがクリエイティブコモンズのBY-SAであったため、この翻訳もBY-SAとなります。 ライセンスを守って自由にご利用ください。(詳しくは記事内の最初にも書いてあります) 翻訳ミスの指摘や改善の提案等があればブログコメントやTwitter(@oshow)などで遠慮なくどうぞ。 Git をボトムアップから理解する Wed, 2 Dec 2009 by John Wiegley 私が Git を理解しようと調査した時、高級なコマンドの視点から眺めるよりボトムアップ式に理解することが役立った。そしてボトムアップ視点で見る Git

    【翻訳】Gitをボトムアップから理解する
  • 日本のSI業界でこそ、専門の技術者の必要性がもっと見直されるべきではないのか? - 達人プログラマーを目指して

    Twitterでフォローさせていただいている@chok12jaさんのつぶやき がきっかけで、外国人の視点から日のSI業界の問題について分析した面白い英文の記事を見つけました。 How the Japanese IT Industry Destroys Talent | Japan -- Business People Technology | www.japaninc.com [ThinkIT] 第2回:なぜ日IT業界ではスーパーSEを育てられないのか (1/4)(New 日語訳が見つかりました。) 2007年に書かれた記事なのでもう4年も前に書かれたものですが、日頃から私が感じてきた業界の問題点について鋭く批評を加えており、非常に共感する内容が書かれていました。ブログの主な読者の方々にとっても興味深い内容だと思いますので、ここで簡単に内容について紹介させていただきたいと思います

    日本のSI業界でこそ、専門の技術者の必要性がもっと見直されるべきではないのか? - 達人プログラマーを目指して
  • 受託開発でTracを導入してよかったことや失敗したこと

    Trac、Redmineといったチケット形式のプロジェクト管理ツールが人気となっています。 デブサミ2011では、[デブサミ]速報:2011ベストスピーカー賞(敬称略) via IWAKIRIさんのブログにもありますように、ベストスピーカー賞3つのうち、2つがチケット管理システムに関しての発表でした。「チケット管理システム大決戦」というセッションは、デブサミ史上最大の観客数となったと聞いています。 なぜ、プロジェクト管理ツールがここまで注目されているのでしょうか? 開発の現場はそれぞれ異なり、抱える課題も様々だと思います。しかし、プロジェクト管理の中でもタスク管理に関しては、「作業を適切なサイズに分割する」「優先順位をつける」「人をアサインする」という固定のパターンがあり、さらに、現在のアジャイルムーブメントにより、これらの要素がより明確化され、その重要性が認識されてきたように思います。

  • 複雑に絡み合うコード……プログラムの進化を視覚化すると大変なことに

    プログラムを書いているとき、コードの量がどんどん増えていって規模も内容も訳が分からなくなってしまうことを俗に「スパゲッティ」と言ったりしますが、まさにその状態を視覚化したインフォグラフィックです。ApacheやPythonなど著名なオープンソースソフトウェアについてのものばかりなので図を見て「あーやっぱり」と思うことがあるかもしれません。 これらはカリフォルニア大学デービス校の研究者、マイケル・オガワ氏が制作したもの。それぞれのラインは開発者、横軸は時間を表し、上下のラインが近いほど、関係の深いコードの開発を行っていることを示します。 また対応しているブラウザでは、それぞれのラインの上にカーソルを置くとハイライトされます。 以下、クリックすると元のサイズのSVG画像が表示されます。 Webサーバーのデファクトスタンダード、Apache。最初の2年間はほぼドキュメント作りに費やされ、なかなか

    複雑に絡み合うコード……プログラムの進化を視覚化すると大変なことに
  • スクラムの生みの親が語る、スクラムとはなにか? たえず不安定で、自己組織化し、全員が多能工である ~ Innovation Sprint 2011(前編)

    スクラムの生みの親が語る、スクラムとはなにか? たえず不安定で、自己組織化し、全員が多能工である ~ Innovation Sprint 2011(前編) アジャイルなソフトウェア開発手法としてもっとも広く使われているのが「スクラム」です。このスクラムは、1990年代半ばにジェフ・サザーランド(Jeff Sutherland)氏らによって提唱されたものですが、その考え方の基盤となったのが1986年に一橋大学の野中郁次郎氏と竹内弘高氏が日企業のベストプラクティスについて研究し、ハーバードビジネスレビュー誌に掲載された論文「The New New Product Development Game」でした。 1月14日にコミュニティが主催し都内で行われたイベント「Innovation Sprint 2011」は、このスクラムの生みの親と言える2人、野中郁次郎氏とジェフ・サザーランド氏がそれぞれ

    スクラムの生みの親が語る、スクラムとはなにか? たえず不安定で、自己組織化し、全員が多能工である ~ Innovation Sprint 2011(前編)
  • プログラマーが選ぶプログラミングに関する名言ベスト10

  • Command パターンはやめよう - philosophical

    プログラミングの世界では Command パターンと呼ばれる手法が存在します。 これは GoF 定義の、かなり実用性のあるパターンなのですが、最近は優位点を生かせるような状況じゃないところに適用して、効率を落としているだけみたいな状況を見かけます。 なので、ちょっとネタとして。 Command パターンにはもともと以下のような弊害があります。 ・コマンドをどうやって選択するかが問題 ・execute で渡されるパラメタが一般化されすぎてしまう これを避けるために、Command の具象クラスの属性としてコマンド特有のパラメタを持たせるといったことが行われるのですが、当然この部分は汎用的に記述できないため、Command を呼び出す側ではなく、Command をインスタンスする側で行うことになります。 そうすると、Command を呼び出す時点のコンテキストに依存するパラメタを与えられ

  • SA取ったど〜(´・ω・`) - 山奥通信 増刊号

    はい、SAも取ったので、恒例の「資格を取ったからこそdisりますよ」シリーズです(・∀・;) さて、一般的には、「システムアーキテクト」と言う言葉は2通りくらいの意味で使われていると思うわけですが( ・ω・) 一つ目のケースは、こういう感じのやつで。 戦略的〜ビジネスの観点から〜みたいな話と、テクノロジーをリンクして語る アーキテクトと言うか、CIO補佐というかCTOと言うか スーパーマンで、そんな人は日に何人もいないよ、みたいな人達(´д`;) 二つ目のケースは、こういうの感じのもので。 フレームワークの選定をしたり(・ω・) システム構成のレイヤと機能による水平/垂直の分割をしたり(・ω・) トランザクション戦略を決定したり(・ω・) 一通りのサンプルを作って展開したり(・ω・) 非機能要件を考慮して処理を非同期化することを決めたりとかも(・ω・) 足りないライブラリは自作したり(・

    SA取ったど〜(´・ω・`) - 山奥通信 増刊号
  • Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか? - 達人プログラマーを目指して

    プログラミングと設計は来切り離せないものなのではがすごい反響だったのですが、結局この記事で私が言いたかったことは、 Java EEなどの現代的な開発環境はCOBOLなどの古い言語を使った開発とは根的に設計の手法が異なる 多くの現場では未だに古い設計手法を使っているため、オブジェクト指向などの最近の開発環境のメリットが活用できず、低い生産性にとどまっている。 ということに要約できると思います。ただし、どうして、Javaではオブジェクト指向で開発しないといけないのか、どうして昔ながらの伝統的なやり方を改め、新しい設計手法を採り入れないといけないのかと疑問を持たれた方もいらっしゃるかもしれません。ここでは、開発手法と生産性の問題について、もう少し掘り下げて検討してみたいと思います。 レガシー言語の生産性 最近のCOBOLでは、オブジェクトやスタック変数すら使えますが、ここではCOBOL85の

    Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか? - 達人プログラマーを目指して
  • A successful Git branching model を翻訳しました

    Vincent Driessenさんの "A successful Git branching model" を翻訳しました。 元記事はこちら: http://nvie.com/posts/a-successful-git-branching-model/ (翻訳の公開と画像の利用は人より許諾済みです) このブランチモデルの導入を補助してくれる、git-flowというGit用プラグインがあるそうです。 翻訳の間違い等があれば遠慮なくご指摘ください。 A successful Git branching model この記事では、私のいくつかのプロジェクト仕事でもプライベートでも)で約一年ほど導入して、とてもうまくいくことがわかった開発モデルを紹介する。しばらく前からこれについて書くつもりだったんだが、今まですっかりその時間を見つけられずにいた。ここでは私のプロジェクトの詳細については書

    A successful Git branching model を翻訳しました
  • プログラミングと設計は本来切り離せないものなのでは - 達人プログラマーを目指して

    最近はアーキテクトという役割で客先に常駐し、フレームワークの選定をしたり、事前に共通部品を設計したりする役割を担う仕事を引き受けることが結構あります。そこで運よくお客様のマネージャーがオブジェクト指向開発の経験が十分にある方だと、IDEなどの開発環境やインターネット接続環境を当然のように用意してくれるので最初から仕事がスムーズにできるのですが、そうでないとMS Officeしか入っていないロースペックのノートPCを渡されて、要件定義フェーズの期間中、フレームワークの設計をお願いしますとか、私としてはちょっと首をかしげてしまうような困ったことを言われてしまう場合があります。開発フェーズが始まる半年後まではコーディングは基的に不要という考え方です。アプリケーションのアーキテクトという役割では少なくともコーディング規約を考えたり、ツールやフレームワークの選定をしたりする必要がありますし、プロジ

    プログラミングと設計は本来切り離せないものなのでは - 達人プログラマーを目指して
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • ドメイン駆動設計入門 - Digital Romanticism

    "Beautiful Develpment"(10/27 DevLOVE)の講演資料と原稿 はじめに 日(10/27)、DevLOVE様主催で、"Beautiful Develoment"と題されたイベントが開催されました。これは「ドメイン駆動設計("DDD:Domain-Driven Design")」を題材に、入門から実践までを語り尽くすというコンセプトのものです。このイベントにおける講演のトップバッターとして、ドメイン駆動設計の根底にある基的な考え方についてお話しさせて頂きましたので、講演資料と原稿を公開いたします*1。 スライドはこちら アジェンダは以下の通りです。 導入 オブジェクトとは? モデルとは? ドメイン駆動設計とは? まずは、ドメイン駆動設計のベースとなっている、「オブジェクト指向」や「モデル」について整理した上で、実際にドメイン駆動設計とはどういうものかを見ていき

    ドメイン駆動設計入門 - Digital Romanticism
  • TestLink - Wikipedia

    TestLinkはPHPで作成されたオープンソースのWebベーステスト管理システムである。TestLink単体でも動作可能だが、MantisやJIRA、Bugzilla、Trac、Redmine、FogBugzなどのバグトラッキングシステムと連携可能である。バージョン1.7.0から日語対応。 テストケースの登録・管理・評価実行・評価結果の集計を行うことが可能 登録したテストケースを仕様書の形で出力 テストケースをユーザーに割り当て 要求仕様を登録しテストケースと関連づけ Mantis,Bugzilla,Trac,RedMine等のバグ管理ツールと連携も可能 実行済みのテストケース数と結果をリアルタイムで把握 登録済みのテストケース数をリアルタイムで把握 テストケースの管理手順を標準化 要求仕様とテストケース、バグ票を関連付けて管理できる ネットで情報共有、分散評価が可能 テストケースの変

  • マトリクスは試験仕様書ではありませぬ MATRIX is not Make-A-Troublesome-Review-In-an-eXhauseted-tone - hirschkalb's blog

    "GNU is not unix"的に格好よく頭字語で決めてみたかったのですが、失敗。 ここでの主張は一つです。 「ソフトウェアテストにおいて、マトリクスは必要。しかしマトリクスだけでは十分ではない。ましてやマトリクスは試験仕様書ではない」 以上のことを主張しつつ、困った試験設計者(フィクション)への指摘と、「ならばあなたがその立場ならどうするのか」という、読まれた方が当然のように抱かれるだろう感想に対する見解を述べられたらよいと思います。 テストにも締め切りがある 通常、「テスト」には時間制限があります。そして、ソフトウェアテストはテストの一種なので、やはりこれにも締め切りがあります。 締め切りがあるのは、「すべてをテストしていたら日が暮れてしまう」からです。大げさに言えば、われわれに与えられた時間は有限だからです。 したがって「締め切りのあるテスト」というフレーズには、暗黙のうちに「す

    マトリクスは試験仕様書ではありませぬ MATRIX is not Make-A-Troublesome-Review-In-an-eXhauseted-tone - hirschkalb's blog
  • プログラマの思索: Subversionのブランチを有効活用してアジャイルに開発せよ

    デブサミ2008講演資料の「SubversionとMaven 2 による構成管理」を読んで、改めてソフトウェア開発ではソース管理が最重要であると再認識した。 ソース管理について振り返ってみる。 【1】ソース管理の歴史 ソフトウェア開発では、ソース管理が必須だ。 ソース管理の質は、履歴を辿って、いつでもソースをUndo、Redoできること。 昔のコンピュータ資源が希少な時、そもそもプログラムを履歴に残すことすらできなかっただろう。 今でもリリース時によくやるように、システム一式を複製して日付でリネームしていた。 僕は当初、ソース管理に、MSのVisualSourceSafeを使っていた。 CVSよりも直感的でGUIが使いやすい。 VSSを使い始めてから、下記の作業がルーチンになった。 朝、出社後、VSSから最新ソースを落として、VisualAgeForJavaのワークスペースにインポートす

    プログラマの思索: Subversionのブランチを有効活用してアジャイルに開発せよ
  • アジャイル開発の現在・過去・未来

    9月4日土曜日に、有志によるアジャイル開発のイベント「XP祭り2010」が早稲田大学西早稲田キャンパスで開催されました。イベントは200名以上の参加者が集まる盛況となり、アジャイル開発への注目の高さをうかがわせました。 基調講演では、「アジャイル開発の現在・過去・未来」というタイトルで、アジャイルの第一人者であるチェンジビジョン代表取締役社長の平鍋健児氏が登場。タイトル通り、アジャイル開発の全体と最新動向を俯瞰する、アジャイル開発のイベントでしか聞けない充実した内容となっています。 この記事では、その基調講演の内容を紹介しましょう。 なぜアジャイルが注目されるようになったのか なぜいまアジャイルが注目されるようになったのか? 何かのビジネスを行う際には、企業が市場を分析して、企画を立て、IT関連のシステムを発注する、といったことが行われる。すると、ITが「仕様通りにできました」と納品してく

    アジャイル開発の現在・過去・未来
  • 開発ライセンスとプログラマーの自由

    2010年7月31日、虎ノ門にて開催された LL Tiger のセッション「開発ライセンスとプログラマーの自由」の発表資料です。Read less

    開発ライセンスとプログラマーの自由
  • 直営社員にプログラミング能力が必要なたった一つの理由 - GeekFactory

    大きなSIerでは社員はプロジェクト管理だけを行い、実作業の大半を外部に委託するところがほとんどです。直営比率が低いところは管理作業しか行わないため、入社してから設計書もプログラムも書いたことがない人は割といます。感覚的には、直営比率が1/3を超えるプロジェクトは社員が自ら現場で作業することが可能で、若手社員にも実作業を経験する場が与えられる気がします。 大きなSIerの小さなプロジェクトはたいてい同じ構造をしていて、ソフトウェア開発自体を丸ごと外注していることが多いです。一括請負契約ですね。この場合、委託元と委託先の責任境界は明確で、委託業務に社員が深く関わることはあり得ません。それでコストが増えたら喧嘩になります。残念ながら、このような構造では社員がソフトウェア開発の実作業を経験することは不可能です。 私は、直営社員もコーディングやテストを自ら行える能力が必要と考えます。その理由は、現

    直営社員にプログラミング能力が必要なたった一つの理由 - GeekFactory