タグ

frameworkに関するkiyo_hikoのブックマーク (34)

  • - デザインパターンによる進化的設計

    このプログラムでは全体の処理の流れが決まっています. その中で,youGotMailPopup()の部分のみの動作が変更できることが望まれています. ここで利用できるパターンを考えてみます.振舞に分類されるパターンのなか で,TemplateMethod と呼ばれるパターンがあります.GoFを参照すると, TemplateMethod 目的: 1つのオペレーションにアルゴリズムのスケルトンを定義しておき,そ の中のいくつかのステップについてはサブクラスでの定義に任せることにする. TemplateMethodパターンでは,アルゴリズムの構造を変えずに,アルゴリズ ムの中のあるステップをサブクラスで再定義する. とあります.今回の例では,全体の処理の流れを規定するrun()メソッドが上 記の「スケルトン」に当たります.また,youGotMailPopup()が「いくつかの ステップ」に当ては

  • Java開発を変える最新の設計思想「Dependency Injection(DI)」とは:ITpro

    「DIする」,「インジェクション(注入)する」──新しい技術に敏感なソフトウエア開発者たちの間で使われている言葉である。DIとは,「軽量コンテナ」を実現する新しい設計思想Dependency Injection(依存性注入)の略称である。同じ概念をIoC(Inversion of Control,制御の反転)と呼ぶ場合もある(詳細は後述)。「DIする」と言えば開発者の間では通用するぐらいに,この設計思想は注目されているのだ。 DIが注目される理由は簡単だ。ソフトウエア開発者の開発サイクルを大幅に改善するからだ。筆者が司会を担当した「軽量コンテナ」に関するパネル・ディスカッション(注1)では,DIを適用した軽量コンテナ「Spring Framework」のおかげで「睡眠時間が確保できるようになりました」と複数のパネリストが真顔でコメントしたほどである。DIは,それだけ有効な技術なのだ。 注1

    Java開発を変える最新の設計思想「Dependency Injection(DI)」とは:ITpro
    kiyo_hiko
    kiyo_hiko 2011/04/06
    楽になるために学ぶ
  • モダンPerlの世界へようこそ 記事一覧 | gihyo.jp

    第42回Template ToolkitPerl製テンプレートエンジンのデファクトスタンダード 石垣憲一 2011-06-30

    モダンPerlの世界へようこそ 記事一覧 | gihyo.jp
  • Perl Hackers Hub:連載|gihyo.jp … 技術評論社

    最終回 Carmelによる依存モジュール管理 CPANモジュールの更新を高速⁠⁠、安全に(2) 宮川達彦[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-10-17 最終回 Carmelによる依存モジュール管理 CPANモジュールの更新を高速⁠⁠、安全に(1) 宮川達彦[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-10-16 第79回最近Perlに追加された実験的機能 try文⁠⁠、defer文⁠⁠、class文(2) 石垣憲一[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-08-18

    Perl Hackers Hub:連載|gihyo.jp … 技術評論社
  • 流行は追っておこうな。 俺は今はPHP/Ruby使いで、昔使ってたPerlはもう忘れち..

    流行は追っておこうな。 俺は今はPHP/Ruby使いで、昔使ってたPerlはもう忘れちゃったけど。いわゆる「モダンPerl」の流れで、Perlは1年くらい前から再評価されている。 Plack、Catalyst、Coro、AnyEvent、Mooseなど、むしろPerlは最近機能が全部揃っているイメージがある。 それと、古い事、枯れている事は悪いじゃない。C言語やJavaがいい例。

    流行は追っておこうな。 俺は今はPHP/Ruby使いで、昔使ってたPerlはもう忘れち..
    kiyo_hiko
    kiyo_hiko 2011/03/22
    「Plack、Catalyst、Coro、AnyEvent、Mooseなど、むしろPerlは最近機能が全部揃っているイメージがある。」
  • フレームワークごとの生産性の違いを定量的に計算する方法があったらいいのにな - 達人プログラマーを目指して

    アーキテクトの重要な仕事の一つに、フレームワークの選択があります。そこで上流の方から毎回必ずと言っていい程求められるのは、選択肢となるフレームワークごとの生産性の違いがどのくらいあるか「定量的に」教えてほしいというものです。たとえば、Strutsの工数を100とした場合、Spring MVCなら70になるというようなことを事を答えとして求めてくるわけです。今、あるプロジェクトの提案書作成の支援をしているのですが、元請のマネージャーから提案書に生産性比較の定量的な評価を載せたいと言われてしまいました。まあ、いつものことですけれどね。 この業界では理科系の発想のできる人は少ないと言われていますが、なぜか数値化や定量化だけは良いことと信じられており、数字なら信じてしまう、(あるいは数字しか信じない)という人が多いようです。もちろん、性能の見積もりにしても、DBの容量見積もりにしても、定量化できる

    フレームワークごとの生産性の違いを定量的に計算する方法があったらいいのにな - 達人プログラマーを目指して
    kiyo_hiko
    kiyo_hiko 2010/12/31
    記事にもある通り、まず「生産性」とは、どこに着目するかをハッキリさせたい。大まかには、本来の機能を満たしたうえで、ISO/IEC9126を納期内でどれだけ満たせるか、とかかなあ。保守・変更を重要視する視点は同意。
  • Java⇔RDBのMapping-Frameworkを語るスレ Vol.2

    前スレ 「JavaRDBMapping-Frameworkを語るスレ」 ttp://pc5.2ch.net/test/read.cgi/tech/1049030272/ ●まずは、基礎知識と技術選択指針など [The Fundamentals of Mapping Objects to Relational Databases] (RDBに対するオブジェクトマッピングの基礎(英語)) ttp://www.agiledata.org/essays/mappingObjects.html [O/R-Mappingツールの比較サイト(英語)] ttp://c2.com/cgi-bin/wiki?ObjectRelationalToolComparison [Catalog of Patterns of Enterprise Application Architecture] ttp://ww

    kiyo_hiko
    kiyo_hiko 2010/12/24
    こういう議論を読むのはおもしろいなorz...
  • [Think IT] 第3回:テストケースの作成と自動化 (1/3)

    基底クラスとは? 「第2回:DBUnitのインストール」では、DBUnitをインストールしてテストデータを作成する事前準備について解説しました。最終回の今回はテストケースを作成する手順について解説していきましょう。 まずは、テストケース作りの労力を軽減するために基底クラスを作成しましょう。抽象基底クラスは、dbunit.jarに内包されているTestCaseを継承した各テストクラスのベースとなるクラスです。個別のデータベーステストケースは、このベースクラスを継承して作成します。今回は、抽象基底クラスの名前をDaoBaseTestCaseとします。 DaoBaseTestCaseは、テストデータExcelファイル(xxx_prepare.xls)からIDataSetオブジェクトを生成し、テストデータとして使用します。テストの実行前にこのテストデータが自動的にデータベースに反映されることになり

    kiyo_hiko
    kiyo_hiko 2010/12/16
    DBUnitの詳しい解説。
  • djUnit

    Latest version 0.8.6 for Eclipse 3.2, 3.3, 3.4, 3.5 [2011/10/17] Version 0.8.6 for Eclipse 3.2, 3.3, 3.4, 3.5 Released.[2011/10/17] [0.8.6] Changed a exception handler of djUnit class loader. [Fixed bug] Mojibake of djUnit class loader message. [Fixed bug] SWT's "no more handles" occurs. [Fixed bug] Coverage target line(finally clause) bug with asm1.5.x. Bytecode process was improved. Version 0.8.

    kiyo_hiko
    kiyo_hiko 2010/12/16
    サンプルドカッとあり。
  • DBUnitにさわる

    作成 2004/9/10 今度使うらしいのでちょっとさわってみた。ちょっとだけ。 DBUnitとは? DBUnitとは、データベースを含むプログラムの単体テストツールです。アプリケーション開発では、多くの場合、データベースを利用します。DBを更新したり、DBから値を取得する単体テストを書くとき、「テスト用のデータのセットアップ」や「更新されたデータの確認」などを行うのは、非常に骨の折れる作業です。DBUnitは、そのような骨の折れる作業を低減させてくれる方法とツールを提供しています。 インストール DBUnitは以下のWebページからダウンロードします。 DBUnitのWebページ http://dbunit.sourceforge.net/ ここでは現在の最新バージョンの2.1をダウンロードしました。 ここで使うテーブル ここではMySQLを利用して、簡単なデータベースとテーブルを作成し

    kiyo_hiko
    kiyo_hiko 2010/12/16
    参考リンクも有用。
  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

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

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

    Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか? - 達人プログラマーを目指して
    kiyo_hiko
    kiyo_hiko 2010/12/04
    本質を理解出来ない奴にどんなに素晴らしい道具(言語やOSS)を与えても無駄。そんな上流が多いのが問題。http://gihyo.jp/lifestyle/serial/01/software_is_beautiful/0004の「大切なのは開発言語やツールではない」に通じるものを感じた。
  • JUnitメモ(Hishidama's JUnit Memo)

    S-JIS[2007-09-11/2015-11-10] 変更履歴 JUnit JUnitについてはこちらに移転しました。 Java目次へ戻る / EclipseのJUnitへ行く / 新機能へ戻る / 技術メモへ戻る メールの送信先:ひしだま

  • google appengine に関してひと言

    ここ数日、Twitter上で appengine に関する発言をたくさん目にする。それを見る限り、「注目をされてはいるが、手を出しかねている人が多い」というのが現状だろう。そこで、私からもひと言。 App Engine は純粋なソフトウェア・エンジニアにとっての天国 私自身、色々な開発環境を試して来たが、私のようにプログラミングが大好きで、新しい言語や環境を学ぶのが楽しくて仕方が無いエンジニアにとっては、「App Engineは天国」というのが正直な感想。SQLRailsのように一見開発効率を良くしてはくれるが、直感的に実行効率とかが把握できない「補助輪付きプログラミング」と違い、App Engine上でのプログラミングは、ちょっと手を抜くとすぐに実行効率の悪さとして跳ね返ってくる「一輪車プログラミング」。 新しい言語を学ぶのが苦ならApp Engineは避けた方が良い 現時点で、Pyt

    kiyo_hiko
    kiyo_hiko 2010/11/11
    Pythonか・・・Perl,Java,Lisp,Haskell,OCaml,Cらへんをこねくり回してるけど、まだまだ先になりそうだ(次はRubyとPrologらへん?)。