タグ

開発論に関するglcsのブックマーク (26)

  • Javadocを書かない - しげるメモ

    前回はJavadocを書く - しげるメモというタイトルで話を進めましたが、今回は逆にJavadocを減らすプラクティスについてメモがてら。 私は別にJavadocを書くのが好きなわけではなく、単純に書いたほうがめんどくさくないと思うのでそうしてます。ただ、Javadocを書くのもかなりめんどくさいとは自分自身で感じているので、そのめんどくささをできるだけ減らす道を現在も模索中です。 やり方としては単純で、次のうちどちらかです。 Javadocをそもそも書かない Javadocに書くことを減らす かなりの部分がEffective Java (Java Series)に紹介されているプラクティスとかぶりますが、ここではあくまで"めんどくさくないJavadoc"という視点でいきます。 Javadocをそもそも書かない If an API is to be usable, it must be

    Javadocを書かない - しげるメモ
  • FlawedTheoryBehindUnitTesting - 単体テストに潜む誤った理論

    FlawedTheoryBehindUnitTesting - 単体テストに潜む誤った理論 目次 この文書について 単体テストに潜む誤った理論 単体テストに潜む誤った理論 この文書について "The Flawed Theory Behind Unit Testing" の日語訳です http://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 私は Googleblogsearch 一式を使って単体テストに関する話題を拾っている。 普段は一週間に数十の blog やメーリングリストの議論に目を通す。 新しい話題もたまにはある。けれど、多くの話題は繰り返しだ。同じ主張が何度も現れる。 その中でもひときわ私を悩ませる

  • Duck Typingは大規模プロジェクトでも大丈夫か? - rubyco(るびこ)の日記

    整数として処理したければ、オブジェクトがto_iという振る舞いを持っていることを期待してなんでもとにかくto_iしてしまうのがDuck Typingなのかなと思いました。 Duck Typing? - 18 til i die (another phase) なるほど、そうですね。 そういえば、Duck Typingでは「メソッド名がグローバル」になりますね…。ふと思ったのですが「大規模プロジェクトでメソッド名がコンフリクトしてDuck Typingが破綻する」という可能性はあるでしょうか? > 識者のみなさま。 # おお、スケーラビリティの話題じゃん。 想定解答: (0) この問いかけ自体が無意味。なぜなら…(誰かがここを埋める) (1) 大規模プロジェクトでもDuck Typingは破綻しない。なぜなら…(誰かがここを埋める) (2) 大規模プロジェクトでDuck Typingは破綻す

    Duck Typingは大規模プロジェクトでも大丈夫か? - rubyco(るびこ)の日記
  • 「CGIに向く言語がない」について - がるの健忘録

    厳密には「業務で」になるんですがね。以下、簡単に理由を。 Perl 5.6まではまだしも、5.8系、重すぎ。厳密にはOOPでないところも激しくマイナス。 インストールで、特にCPANで面倒が多いのも大変に微妙。make installとか「どんな環境でも出来る」とは限らないし。 PHP 最近ほじくり倒してますが、ダメポです。こんな言語業務で使っちゃだめです :-P で、PHP+PEAR+Smartyは多分最悪の組み合わせ。ダメポさが3倍どころか3乗くらいに跳ね上がります。 Java(JSP) 言語的に問題はさしてないのですが。基的にthread挙動なので、threadを理解していない技術者に扱わせると物騒この上ないです。 …でも、ペーペーのプログラマがマトモに理解しているとはとても……… コーディング規約で縛ってどうにかなるんだかならないんだか。 C++/C 個人的にはいっちお気に入りな

    「CGIに向く言語がない」について - がるの健忘録
    glcs
    glcs 2008/05/31
    PHP+Smarty最悪論をどっかで見たと思ったらここだった。デザインとロジックを分離のためにテンプレートエンジンがあるという下りちょい微妙。例えば配列をアサインしてループさせるのもロジックに入るだろうけど(文字数
  • O/Rマッピング

    東京でソフトウェアエンジニアをやっています。 お仕事大募集中です。 記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*) MSMVP Visual C# Since 2004/04-2013/03 BBSにかこうかと思ったけど、主張ばっかりになったのでやめておいて、ブログで書く http://bbs.wankuma.com/index.cgi?mode=al2&namber=19525 > O/R(ORM) マッピングの是非 > http://blog.y-110.net/log/eid86.html とりあえず手の届かない所にSQLが行くというのは許容できないので、全体的には同意するけど。 >原因は十中八九データベース部分, 効率の悪い SQL でしょう。 そんなことはない。 もちろんたちの悪いSQLを平気に書くやつが多いのは確かだけど、それよりも性能要件はもっと複雑です。こんなSQL

    glcs
    glcs 2008/05/26
    O/Rマッピングの是非
  • 大和総研/ ITの世界に「トリアージ」は有り得ない

    トリアージ(triage)という医療用語がある。多数の傷病者が発生した災害時等において、限られた医療資源をできるだけ有効活用するために、傷病の緊急性や重症度に応じて傷病者を分類し治療の優先順位を付けることを指す言葉である。 医療用語から転じて、納期に間に合いそうにないソフトウェア開発の善後策、ウィルス感染やバグ等の障害対応、あるいはビジネス戦略における優先順位付けを「トリアージ」と呼ぶ事例がIT業界の一部に見られる。果たしてそうした呼称は妥当だろうか? 災害医療現場での来のトリアージでは、4色(黒、赤、黄、緑)のタッグ(手首等に取り付ける紙の札)を用いて傷病者を分類する。重症度の順に、黒…救命不可能、赤…直ちに治療すれば救命可能、黄…重症だが短時間なら生命に危険無し、緑…軽症で救急治療の必要無し、となる。そして、治療の優先順位は、赤、黄、緑、黒(治療しない)、となる。黒と赤の差の大きさは

    glcs
    glcs 2008/05/23
    初出時の意図を離れてバズワードのようになっているよねと?
  • フレームワークって大きすぎ? - gounx2の日記

    スラッシュドット ジャパン | フレームワークを使っての開発は、オレってばスゲー感が少ない? を読んでて思ったこと。 刺激的なタイトルは置いといて。 フレームワークってどうなんだろう?という点について書きます。 ror以降、PHPのフレームワークは cakephp、symfony、ethna とフルスタックが 全盛ですが、どうも慣れないんですよね。 フレームワークを使う利点って、 *一定のルール*に従って、プログラミングすることで開発効率を最大限に引き出せる。 ことだと思うのです。 で、今のフレームワークがそれを達成できているかどうか? は置いておいて。(そこが一番重要だろ!って話もありますが、 そんな銀の弾丸なものは無いという話もあったり) その前段階として、今のフレームワークは私にとって 大きすぎると感じてます。 ドキュメントや、フレームワーク自身のスクリプト読んだり すれば、何やって

    フレームワークって大きすぎ? - gounx2の日記
  • 传统作息时间或违背青少年睡眠生理规律 一位据中人士内部透露国队-沧州昧谱电子行业网

    的曼率超全场次射城门、传统作息过8控球,赛的第项赛遭遇季各事中三场失利。 一位据中人士内部透露国队,间或违背青气流遭遇混乱赛时王建伟比。大腿的王达医疗已被雅加院接建伟送到受治骨折,少年睡眠生丁鹏领队据中介绍国队。 理规律达的选手陆时在着叫莉脊椎女阿富汗受伤而名。但失的伞下降急速速后,传统作息气流太强,落地以失状态速的,左腿最先触地受伤,变化不定而且。间或违背青新河效地了长里纠区东区有期引越秀解决难问浦社停车题发邻纷的山街。 答案是议事厅,少年睡眠生那么,的呢做到竟是如何它究。大屋西关有三社区妙招个小,理规律电梯解决加装难题,协商引导有效组织居民进行如何。 致意均未见能达成一,传统作息,起7年从2,议4主会次该楼共召开业。 八景傍的荔羊城坐落在新枝湾,间或违背青老城区传统属于广州,间或违背青电梯大屋地处西关西关、廖了旧楼装秦松区域议出子、曾慧核心培金图/陈忧事厅社区明议文/文化。少年睡眠

    glcs
    glcs 2008/05/13
    O/Rマッピング不要論
  • すばらしいソフトウエアを作るためには Inemuri nezumi diary(2008-04-03)

    _ エイプリルフールに乗り遅れた ふぬんが。去年の4/1にやった四月馬鹿と、その後の一連のエントリの評判がよかったので2月から準備して、3月は日記も(ほとんど)書かずに脇目もふらずに準備していたのだが。風呂敷を広げすぎたようだ。 でもおかげで、自分のやりたいことが明確になったことは感謝している。今後もほそぼそと続けていれば、来年には大バカぶりをお見せすることができるだろう。それでいいのか、という思いもあるが。 _ 坤(坤為地) 坤、元亨。利牝馬之貞。君子有攸往、先迷、後得生。利西南得朋、東北喪朋。安貞吉。 彖曰、至哉坤元、萬物資生。乃順承生。坤厚載物、徳合无彊。含弘光大、品物咸亨。牝馬地類、行地无彊。柔順利貞、君子攸行。先迷失道、後順得常。西南得朋、乃与類行。東北喪朋、乃終有慶。安貞之吉、應地无彊。 象曰、地勢坤。君子以厚徳載物。 『易経上経』、「坤」より一部抜粋。 八卦の中で、いまのお気

  • Martin Fowler's Bliki in Japanese - 流れるようなインターフェース

    http://www.martinfowler.com/bliki/FluentInterface.html 2005/12/20 数ヶ月前、Eric Evansと一緒にあるワークショップに参加した。 そこで彼がとあるインターフェースのスタイルについて語ったのだが、 我々はそれを「流れるようなインターフェース(fluent interface)」と名づけることにした。 一般的なスタイルではないが、もっと評価されるべき代物だ。 おそらく例を示したほうがいいだろうから、そうしてみることにする。 一番簡単な例は、EricのtimeAndMoneyライブラリだろう。 時間の間隔を作るには、通常は、以下のようにする。 TimePoint fiveOClock, sixOClock; ... TimeInterval meetingTime = new TimeInterval(fiveOClock,

  • 「テストをすべきなのは知っているが,現実にはできない」という現場の状況をいかに打破するか,気鋭のソフト開発者とテスト技術者がパネル討論

    「テストをすべきなのは知っているが,現実にはできない」という現場の状況をいかに打破するか,気鋭のソフト開発者とテスト技術者がパネル討論 Developers [Test] Summit 2008(デブサミTest) 「建前ではなく実際にテストを普及させるにはどうすればいいのか」。2008年4月23日,東京・九段で開催されたテストに特化したソフトウエア開発者向けカンファレンス「Developers [Test] Summit 2008(デブサミTest)」で「【徹底討論】テストなんていらない?!-テストを,どこまでやるべきか?」というパネル・ディスカッションが開催された。 司会を務めたのはタワーズ・クエスト プログラマ兼取締役社長であり,テスト駆動開発(TDD)の日での第一人者である和田卓人氏。同氏に,オープンソース・プロジェクト「Seasar」のチーフコミッタであるひがやすを氏,テストの

    「テストをすべきなのは知っているが,現実にはできない」という現場の状況をいかに打破するか,気鋭のソフト開発者とテスト技術者がパネル討論
  • 「ソフトウェアの部品化」が失敗する理由 ― @IT

    経済産業省のとある外郭団体の委員をしている方と話をしていたら「我が国のソフトウェア産業を改革するためには、ソフトウェアの部品化を推進しなければならない」と話していた。うーん……ソフトウェアの部品化かぁ……。正直、頭をよぎったのは1980年代後半に国内のソフトウェア部品の集積を目指して立ち上げられたが、失敗した「Σ(シグマ)プロジェクト」だ。 Σプロジェクトから20年の歳月を経て同じコンセプトが出現するには理由がある。日の輸出を支えている製造業で、製品におけるソフトウェアの比重が高まるに伴って、業界全体がソフトウェア・エンジニアの不足および、ソフトウェア関連の障害の多発に悩まされているからである。 外注先企業が作ったソフトウェア障害に悩まされている製造業の視点から見れば「なぜ、ソフトウェアはこんなにトラブルが出るのか? 部品化して、それぞれの部品の品質チェックをもっと厳しくし、その上で再利

  • ダイコン時代の設計手法 - 奇妙なクラス抽出法 - ひがやすを技術ブログ

    オブジェクト指向やモデリングのでこのような文章をみたことがないだろうか。 クラスを抽出するためには、ユースケースから名詞、動詞を まず抽出します。名詞はクラス・属性の候補になり、 動詞は操作や関連の候補になります。書いてあることは間違ってないように見えるが、しかし現実的ではない。 なぜならユースケースだけでは情報が足りないからだ。 試しに適当なユースケースを使って上記のようなクラス抽出を試みて欲しい。 1つのユースケースだけだと情報が足りないのは当たり前だが、 すべてのユースケースで試みても情報が足りないのはすぐに感じてもらえると思う。 その対策として、これまでの私は、ユースケース記述にインプット・アウトプットの 補足仕様書をつけてそこに足りない情報を記述するようにしていた。 しかし、良く考えてみるとこれも、ユースケースが情報を分析するための 道具としては中途半端なのが原因だと思う。 や

    ダイコン時代の設計手法 - 奇妙なクラス抽出法 - ひがやすを技術ブログ
  • 誰が書いても同じコード幻想

    「誰が書いても同じコード」は大事なことなのかで 語られている話は非常に興味深ものです。 SIerの言うところの「仕様書」というものはなんなのでしょうか。私のblogでも 内部仕様書はロジックを書くものではない で仕様書を話題に挙げたわけですが、仕様書の在り方を、システム開発の分業の在り方を今一度考えてみたいと思います。 「誰が書いても同じコード」になるためには コードとは何でしょうか。プログラミング言語で書かれたアルゴリズムの表記のことです。 プログラムするということはどういうことでしょうか。 ある目的を適える為のアルゴリズムを考え、プログラミング言語でそれを表現する過程を言いいます。 「誰が書いても同じコードになる」ということは、誰もが同じアルゴリズムを採用し、 そして、その表記さえも同じ書式になることです。 書式のブレは瑣末なことです(コード規約の自動チェックツールなどを導入すれば容易

  • やっぱりテストはすごい重要だよ 又は 夙川アトムを賢くする - D-6 [相変わらず根無し]

    やっぱりテストはすごい重要だよ 又は 夙川アトムを賢くする 今回作った夙川アトムモジュール。モジュール自体は実にアホなモジュールなわけですが、まぁドキュメントにも書いた通り0.00001なんて全然変換が効いてませんでした。そこで「パッチはいらん、テストをくれ」と書いたわけですね。 そしたらまずtypesterさんがテストをTest::MoreからTest::Baseにしてくれて、otsuneさんがどんどんテストを足してくれたらどんどんアトム君が賢くなってきた。 今はAcme::Shukugawa::Atomのテストはt/01_basic.tにいわゆる最終テストのような、いわゆる文章を変換するようなものを置いて、それ以外のt/02_shisu.t t/03_waiha.t t/04_kuribitsu.tでそれぞれ内部で使ってる基の変換である「シースールール」「ワイハールール」「クリビツル

  • 客は問題を知っている、作り手は問題の解き方を知っている: DESIGN IT! w/LOVE

    不確実な時代をクネクネ蛇行しながら道を切りひらく非線形型ブログ。人間の思考の形の変遷を探求することをライフワークに。 1つ前のエントリー「客のつくりたいものじゃなく、自分たちがつくりたいものをつくる」に対するはてブのコメントで「そう気張らなくても無意識にそうなっているはず」というのがありましたが、それはちょっと違うなって思います。「自分たちがつくりたいものをつくる」というのはそういうことじゃないんです。 客商売でありながら「自分たちがつくりたいものをつくる」というのは、素人が好き勝手に「つくりたいものをつくる」というのとは違います。普通に客商売のなかでデザインしている人はむしろなかなか「自分たちがつくりたいものをつくる」ことができずにもやもやしているほうが多いと思うんです。 客がこうつくってほしいと言ってるのをくつがえして、このほうが最適ですよと説得して、自分たちがつくりたいものをつくるの

  • スルガ銀行のIBM提訴にみるパッケージビジネスの難しさ - ひがやすを技術ブログ

    静岡県を地盤とする地方銀行のスルガ銀行(店・沼津市)は6日、銀行業務に関する基幹コンピューターシステムの開発を契約通りに行わなかったとして、開発委託先の日IBM(社・東京都港区)に約111億円の損害賠償を求める訴訟を東京地裁に起こした。 詳しい話は、今後徐々に発表されてくると思いますが、この件は、パッケージビジネスの難しさを端的に表しているのではないかと思います。 スルガ銀行の次期基幹システムは、IBMの次世代金融サービス・システム(Next Evolution in Financial Services Systems、以下 NEFSS) をパッケージに採用したものです。 http://www-06.ibm.com/jp/press/2004/10201.html スルガ銀行が最初の顧客のようですが、当初は、みずほCBを想定して作成されたみたいです。 http://itpro.ni

    スルガ銀行のIBM提訴にみるパッケージビジネスの難しさ - ひがやすを技術ブログ
  • Ajaxが招く新たなセキュリティリスク

    SPI Dynamicsの研究者によると、未熟なプログラマによるAjaxの実装が深刻な脆弱性を作り出す可能性がある。Black Hatからのレポート。 ラスベガス発――オンライン企業間におけるAjax(Asynchronous JavaScript and XML)技術の普及が急速に進み、Webサイトのインタラクティブ性の向上に一役買うようになった。一方で、経験の浅いプログラマが製作したサイトに潜む数多くの脆弱性が、Web 2.0技術の今後のセキュリティに影を落としているという。 7月31日から8月3日にかけて開催されたセキュリティカンファレンス「Black Hat」で講演を行ったビリー・ホフマン氏は、アトランタに拠点を置くセキュリティソフトウェアメーカー、SPI Dynamicsの研究施設で、主任リサーチエンジニアを務めている人物である。同氏は講演の中で、ごく一般的なAjaxアプリケーシ

    Ajaxが招く新たなセキュリティリスク
    glcs
    glcs 2008/03/07
    何を言っているのか良くわからなかった。
  • Java が使いにくいのは静的だからではない - kwatchの日記

    Java が使いにくい言語であるというのは、世界中の LL ファンが皆思っていることだろうから改めていうことでもないけど、使いにくいのは静的言語だからというのは間違っている。Java が使いにくいのは単に Java の設計者のセンスが悪かっただけであり、静的言語のせいではない。 たとえばこんなコード。 public Map<String, List<String>> example() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); list.add("baz"); Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("names", list); return map; }

    Java が使いにくいのは静的だからではない - kwatchの日記
  • ブログが続かないわけ | 初心者プログラマーが簡単なフォームを作るときにやりがちな6つのミス

    お問い合わせフォーム、登録フォーム、キャンペーンの申込フォーム。 Webにはいろいろなフォームがある。 Webプログラマーであれば誰もが一度は作ったことがあると思う。 新人プログラマーの初めての実務がフォームであることも多いだろう。 新人が作っているというのにもかかわらず、技術的にも面白い部分がないせいか、正しい知識のある人がレビューすることが少ないと思われる。 単純さゆえにテストが不足しているということもあるかもしれない。 上記の理由は憶測にすぎないが、杜撰なフォームがたくさん出回っているのは事実だ。 もう、CAPTCHAの話とか以前の問題だ。 よく見かける悪い例を簡単にあげておく。新人が初めての実務に当たるときにこれを気にしてくれれば、世の中のフォームがだいぶ良くなると思う。 1. クライアントサイド(JavaScript)でのチェックのみ。 2. 選択肢式の入力欄に対するチェックの漏

    ブログが続かないわけ | 初心者プログラマーが簡単なフォームを作るときにやりがちな6つのミス
    glcs
    glcs 2008/03/05
    フォームって入力側だけじゃなくてサーバサイドのコーディングを含むのか。そんな大事な部分を初心者にやらせる&レビューしないってあるのかな。。