タグ

ブックマーク / codezine.jp (323)

  • Struts 2入門(2)~バリデーションの仕組みを理解する(前編)~:CodeZine

    はじめに 「Apache Struts」(以下、Struts)とは、サーバサイドJava開発のデファクトスタンダードとしてあまりにも有名な、オープンソースのWebアプリケーション・フレームワークです。連載は実際に動作するアプリケーションをもとに、Strutsの次世代バージョンであるStruts 2を解説していきます。 第2回の稿では、入力フォームをもつアプリケーションを作ってみましょう。ごく基的なフォーム処理から始めて、カスタムタグの使い方、バリデーションという処理の仕組みを体得していきます。今回は「バリデーションの仕組みを理解する」の前編として、基の入力アプリケーション基のバリデーション  を説明します。 次回の後編では、バリデーションロジックを自前で記述するメッセージのローカライズ方法  という内容となる予定です。前回の記事Struts 2入門(1)~基形で理解する仕組みと

  • PythonとDjangoでExcelファイルを作成:CodeZine

    はじめに クライアントにデータを操作させる必要がある場合には、Excelのスプレッドシートを用意するのが最も簡単です。スプレッドシートはPythonを使って簡単に作成できますし、スプレッドシートをWebからダウンロードさせることも、DjangoというWebフレームワークを使えば簡単です。この記事ではスプレッドシートの進化の歴史について簡単に触れた後、この2つの操作方法について説明します。スプレッドシートの進化の歴史 サメは何百年もの間、あまり進化していません。その最大の理由は、野生で十分に生きていけるからです。獲物を実に上手く捕らえることができるので、サメは自らを適応させる必要も、変化する必要もなかったのです。これ以上進化させるところはないというほどに、サメは完璧な恐怖のフィッシュハンターです。 サメと同様に、スプレッドシートも数十年の間、あまり進化してきませんでした。サメの例と同じく、ス

  • JUDEで描いたクラスをそのままRuby on Railsで動かすプラグイン:CodeZine

    はじめに 「LuRuJu」は、UMLモデリングツール「JUDE」で作成したモデル情報をRuby上で簡単に参照するためのRubyライブラリです。「LuRuJu on Rails」はLuRuJuをベースにしたRailsプラグインで、JUDE上で作成したクラス図の内容をそのままRuby on Railsのモデル(言い換えると、ActiveRecordをベースとしたクラス)として動作させることが可能になります。 記事では、筆者が開発しているLuRuJuおよびLuRuJu on Railsのねらい、特徴、使い方などを簡単に紹介します。また、LuRuJu on Railsを使った簡単なサンプルWebアプリケーションの作成手順を解説することで、ツールの魅力を肌で感じていただければ幸いです。対象読者 基的に限定しませんが、以下のいずれかに当てはまる方は記事の読者に適しています。RubyRuby

  • Java入門 (7) - List・Map・Setなどのコレクション・フレームワーク:CodeZine

    はじめに たくさんのオブジェクトを管理するのに、皆さんならどういうものを利用するでしょうか。多くの人が思い浮かべるのは「配列」でしょう。しかし配列はなかなか融通が利かない代物です。それよりもはるかに便利なものがJavaには用意されています。それが「コレクション・フレームワーク」と呼ばれるクラス群です。今回は、この中の主なものについて使い方を説明しましょう。対象読者Javaに興味はある、けれどプログラミング経験がない、という人。Javaに興味はある、けれど何から手をつければいいかわからない、という人。Javaに興味はない、でも何でもいいからプログラミングをしたい、という人。 これまでの記事Java入門 (1) - まずはここから始めようJava入門 (2) - 値と制御構文Java入門 (3) - クラスとインスタンスJava入門 (4) - Swingを使ったGUIプログラミングJava

    t_43z
    t_43z 2008/04/24
  • 「Google Collections Library」でJavaのコレクションを補完する:CodeZine

    はじめに 何年も前のことですが、私が初めてJavaに興味を覚えた理由の1つは、Javaプラットフォームに標準でコレクションライブラリが組み込まれていたからでした。当時、C++の世界ではまだSTL(Standard Template Library)が定着しておらず、開発者たちは適当なコレクションライブラリを購入して利用するか(Rogue Waveが流行っていました)、自分の手でライブラリを書くしかありませんでした。正確な数は忘れましたが、私自身も、さまざまな目的でさまざまな種類のプリミティブやオブジェクトの連結リストを実装しました。さらに、もっと複雑なコレクションや平衡2分探索木、ハッシュテーブルなども自分で実装しました。そのようにしてソフトウェア工学の原理を絶えず意識することは決して無駄なことでありませんでしたが、生産性を考えるとそうとばかりも言えませんでした。 しかし、Javaによって

  • Excelマクロによる、seleniumテストケースの自動生成(1):CodeZine

    はじめに seleniumについての基的な内容は、以下を参照してください。 Selenium 0.7利用手順書(前編) Selenium 0.7利用手順書(後編) seleniumを利用するメリットとデメリット メリット seleniumを利用する最大のメリットは、「再テスト」が容易になることです。 不具合発生時 テスト担当者と修正担当者の伝達が容易 再テストが容易 仕様変更後 リグレッション(デグレード確認)テストが容易 筆者が特にメリットを感じるのは、テスト担当者と修正担当者の伝達が容易になる点です。テスト期間中は、テスト担当者も修正担当者も作業に追われています。通常、不具合発生時は、テスト実施担当者から修正担当者へ不具合内容を伝達するために、不具合管理ツールなどに、ケース番号や再現手順の詳細を記述、デバッグログの添付などを行い、修正担当者はそれを読み解く必要

    t_43z
    t_43z 2008/04/15
    これは期待せざるを得ない
  • CSVファイルフォーマットの解説:CodeZine

    はじめに CSVファイルは最も普及したデータ交換用フォーマットですが、さまざまな方言があります。 稿ではCSVファイルフォーマットの仕様とデータ交換時のポイントを説明します。 対象読者 CSVファイルを扱うDB管理者、開発者。 CSVとは? CSVとはComma-Separated Valuesの略で、カンマ区切りで並べた値という意味です。 CSVファイルの例として、一般的なアドレス帳データを示します。 "姓","名","生年月日","郵便番号","住所","電話番号" "山田","太郎","2001/1/1","100-0002","東京都千代田区皇居外苑","03-1234-5678" "山田","次郎","2001/1/2","251-0036","神奈川県藤沢市江の島1丁目","03-9999-9999" カンマで区切られたデータの横一列を"行"(英:Row)

    t_43z
    t_43z 2008/04/13
  • ActionScriptによるWebの3Dグラフィックス再入門 (2) - シェーディングでもっと3Dらしく:CodeZine

    前回はワイヤーフレームの三角形をくるくる回すところまで紹介しました。その先の課題としていろいろなものがあると書いて終わりとなりましたが、今回はその中からシェーディングを取り上げて説明します。また、ActionScript 3のpackageの概念などについても必要に応じて説明します。 Flex 3 SDKのリリースとFlashDevelopのバージョンアップ 早速今回の内容に移りたいのですが、前回の記事掲載からの間に開発に大きく影響する変化があったので、そこをまず説明します。最も大きいのはFlex 3 SDKがベータ版ではなくなり、Adobe Open Sourceで公開されたことです。これにより従来のFlex 3 SDKは3月15日付で使えなくなりました。コンパイルしてみると、期限切れを表すエラーが出るはずです。 正式バージョンのFlex 3 SDKはFlex 3 SDK Downloa

  • Railsの実践:NetBeansによる開発とLinuxへのデプロイ:CodeZine

    はじめに Rubyは簡潔な言語であり、この点は開発において重要な意味を持ちます。つまり、コード行が少なくなれば、開発にかかる時間やメンテナンスの費用が減少するということです。RailsRubyベースのWebアプリケーションフレームワークで、ほとんどの開発者にとって扱いやすいフレームワークですが、大規模なWebアプリケーションをデプロイする際にスケーリングの制限に直面することがあります。Railsアプリケーションを多数のサーバーに拡張して何千ものユーザーを同時に処理しようとすると確かに問題にぶつかる可能性がありますが、中小規模のRailsアプリケーションならば、適切なツールとテクニックを駆使すれば効果的にデプロイできます。 この記事では、そのための具体的な方法を説明します。以降では、私のお気に入りのRubyおよびRails開発IDEであるNetBeans 6.0と、オープンソースのサーバー

  • Eclipse Web Tools PlatformとMavenの統合:CodeZine

    はじめに Eclipse Web Tools Platform(WTP)とM2Eclipse(M2)は別々のプロジェクトです。両者はいずれも、Eclipseを使って開発をする際に価値の高い機能を提供します。WTPはWebおよびJava EEアプリケーション開発用のEclipseプラットフォームを機能拡張するツールセットで、一方のM2は、このIDEとMavenを密に統合します。この2つを同じプロジェクトで利用すると絶大な効果が得られますが、残念ながらまだ、WTPとM2を追加設定なしで統合することはできません。今回の記事ではこれについて取り上げます。 この記事では、WTPとM2の統合ソリューションを使用して基的なWebアプリケーションを開発していきます。プロジェクトのセットアップから配備までの一連の構築手順を紹介するので、EclipseベースのJava Web開発を効率化するための参考にして

  • Struts 2入門(1)〜基本形で理解する仕組みと構造〜:CodeZine

    はじめに 「Apache Struts」(以下、Struts)とは、Web開発のデファクトスタンダードとしてあまりにも有名な、Java言語で書かれたオープンソースのWebアプリケーション・フレームワークです。JavaでのWeb開発者には、もはや説明する必要はないかもしれません。 最初のStruts(以下、Struts 1)がリリースされる2001年以前は、JavaでのWebアプリケーションというと、JSPとサーブレットを直接用いたアプリケーションが一般的でした。そのため、ちょっとしたアプリケーションでも、けっこうなコード量が必要だったのですが、Struts 1のフレームワーク機能により、煩わしい記述の手間がずいぶん少なくなり、Webアプリケーション開発の敷居がぐっと下がりました。 連載は、そんなStruts 1の次世代バージョンであるStruts 2を紹介します。Struts 2は、字面

  • Javaでレゴロボットを動かしてみよう! 1-おためし編:CodeZine

    はじめに 皆さん、こんにちは! 突然ですが、組込み機器におけるソフトウェア開発(以下、組込みソフト開発)には、どんな開発言語を使用していると思いますか? そうです、一番多いのがC言語です。その他、C++やアセンブリ言語なども使用されています。 ところで、Javaでも組込みソフトの開発ができることをご存知でしょうか? Javaを搭載したデジタル機器・家電製品には、コピーやFAXなどの複合機、携帯電話、カーナビなどがあります。Javaの開発と言うとWebアプリケーションが多いですが、組込みソフトはどのように開発していくのでしょうか……。 ここではレゴロボット「教育用レゴ マインドストームRCX」を使って、組込みソフト開発の入り口を一緒に体験してみましょう!レゴロボットについて 今回はこのレゴロボットを使用します。 RCXには8ビットのマイコンが内蔵されています。メモリは16KbyteのROMと

  • JavaとRuby:主要機能の比較:CodeZine

    はじめに Rubyはインタプリタによって解釈されるスクリプト言語で、Javaはコンパイラによってコンパイルされるプログラミング言語です。Rubyは、オブジェクト指向言語であり厳密な型指定を行うという点ではJavaに似ています。しかし、Rubyの型指定は動的であるのに対し、Javaの型指定は静的です。Rubyでは型宣言は使用されず、Javaでは型宣言は必須です。JavaRubyのどちらにも継承があり、"パブリック"、"プライベート"、"プロテクト"のメソッドがあります。RubyJavaより単純でJavaより高速です。Rubyはさまざまな点でJavaと異なっています。稿では、RubyJavaの主要機能を比較します。インタプリタ方式とコンパイラ方式 Rubyはインタプリタ方式のスクリプト言語なので、コンパイルしてバイトコードを生成することなく、直接実行できます。たとえば、Rubyファイル

  • 【デブサミ2008】amachangが思う「JavaScriptという言語とは」:CodeZine

    デブサミ2008・13日の最終セッションにはサイボウズの天野仁史氏が登壇。「amachang」というハンドルネームで知られる彼が思う「JavaScript言語」について語った。 天野氏はJavaScriptという言語について、「初心者向け言語」「オブジェクト指向言語」「プロトタイプベース言語」「関数指向言語」という特徴があると思うと述べ、初心者向け言語という点については「だからといって、上級者に向かないという意味ではないが」とした上で、 ほとんどのPCで実行環境が整っているためすぐに始められる点 無料のブログサービスなどを利用することで、作成してすぐに公開できる点 alertによるダイアログボックスの表示など、動作が見た目でわかりやすい点 Firebugをはじめとする開発環境が整っている点 などをあげた。 オブジェクト指向言語という点については、「オブジェクト指向の言語は多数あ

    t_43z
    t_43z 2008/02/14
    行きたかった・・・
  • Java入門 (4) - Swingを使ったGUIプログラミング:CodeZine

    はじめに プログラミングというのは、ある程度の技量がつくまでは、計算したりテキストの処理をしたりといった地味~な作業ばかりするもの、というイメージがあります。が、コマンドラインから数字や文字が出てくるようなプログラムばかり作って、楽しいですか?(筆者は、全然楽しくない!) やっぱり、プログラミングは「作って楽しい」ものでなければやってられません。クロウトならば、どんなものであれ楽しみを見出せるでしょうが、ビギナーのうちは、やっぱり「目に見える」形で動くものでないと楽しさを実感できないでしょう。そう、やっぱりプログラムと言えば「ウインドウ」がないと始まらないのです。そこで、Javaの最も基礎的なところを覚えたところで、「ウインドウ」を使ったプログラムの作り方へと進むことにしましょう。これまでの記事Java入門 (1) - まずはここから始めようJava入門 (2) - 値と制御構文Java

  • テキスト処理もPOCOにおまかせ:CodeZine

    はじめに 記事ではPOCO(C++ Portable Componentsの略)というオープンソースのC++用クラスライブラリを紹介します。POCOはコンポーネントとして6つのライブラリにわかれており、前回は、その中のPOCO::Foundationライブラリから、Loggingに関するクラス群を紹介しました。 POCO::Foundationライブラリは、名前のとおり基的な処理を行うクラスを集めたもので、そのまま実践に使えるクラスが豊富に含まれています。今回からしばらくは、そんなPOCO::Foundationライブラリから、テーマごとにクラスをピックアップし、サンプルコードを交えて解説していくことにします。今回のテーマは、テキスト処理を取りあげました。また、POCOには含まれていないシフトJISとUTF-8の相互変換関数のソースコードも公開しています。これまでの記事POCO::Ne

  • Windows PowerShell 入門(1)―基本操作編:CodeZine

    はじめに Windows PowerShell(以降、PowerShell)はシステム管理や自動化に役立つように設計された新しいコマンドラインシェルです。 しかし、ただのコマンドラインシェルではありません。対話型シェルによるオペレーションシェルスクリプトの実行  を行うことができます。 PowerShellは.NET Frameworkを基に設計されており、コマンドの実行およびスクリプトにおいてその恩恵を十分に受けることができます。これにより、かつてない強力なシェル環境が登場したと言っても過言ではないでしょう。 PowerShellの操作を習得し、システム管理・運用を効率的に進められるようにしていきましょう。対象読者システム管理者PowerShellに興味がある方 必要環境.NET Framework 2.0以降Windows PowerShell 対象OSWindows XP Servi

  • CodeZine:JavaScriptでつくるSchemeインタプリタの基礎の基礎(lisp)

    はじめに 現存するプログラミング言語の中で2番目に古いのがLispです。生まれは古くても、いまだに使われ続け、また、Rubyなどの新しい言語にも影響を与えています。そのLispの派生であり、シンプルさが売りなのがSchemeです。 ここではSchemeの簡単なインタプリタをJavaScriptで作ってみます。対象読者 稿はLispやSchemeは少し触ったことはあるけど、インタプリタは書いたことがないという方を読者対象としています。また、JavaScriptの文法や、簡単なデータ構造についての知識を前提とし、説明は省きます。必要な環境 テキストエディタと、JavaScriptが動くWebブラウザがあれば十分です。他に特に用意するものはありません。概要作成するインタプリタについて インタプリタのコードはJavaScriptで書き、HTMLのフォームを使って、Schemeのプログラムの入力お

  • JEEアプリケーションでのファイルのウイルススキャンの実装:CodeZine

    はじめに この記事では、Java(JEEアプリケーション)でファイルのアンチウイルススキャンを実装する方法の一例を紹介します。現在のコンピュータ環境、特にWindowsオペレーティングシステムでは、ウイルスやトロイの木馬をはじめとするさまざまなマルウェアやスパイウェアが大きな問題となっています。 Javaで開発するアプリケーションに、外部からファイルをアップロードできるようにするという要件がある場合、セキュリティリスクが生じる可能性があります。ここで言うアップロードとは、HTTPプロトコルなり他の方法なりを使って、何らかの形で企業のファイアウォール内に外部のファイルを送れるようにすることを指します。こうした要件はエンタープライズアプリケーションでは非常によくあるもので、しかもJavaは最も広く使われているWeb開発プラットフォームの1つです。にもかかわらず、このように大きく口を開けたセキュ

  • Struts 1/Struts 2 Webアプリケーションフレームワークの比較:CodeZine

    はじめに Struts Webアプリケーションフレームワークが最初にリリースされてから10年近くが経ち、Strutsを利用して開発されたアプリケーションの数は数千に達します。Strutsは、当時から現在に至るまで、JavaベースのWebアプリケーションを作成するうえで最も人気の高いフレームワークです。Strutsにも欠点がないわけではありませんが、信頼性に優れ保守しやすいWebベースソフトウェアの構築を簡単に行うことができます。現在、Strutsを使用するアプリケーションの数は、競合する他のすべてのWebフレームワークを使用するアプリケーションを合わせた数の2倍はあるでしょう。JSFJavaServer Faces)など、Strutsの後に登場した多くのフレームワークがStrutsの概念の多くをそのまま利用していることは、Strutsに対する賛辞に他なりません。 とはいえ、Strutsは