サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
中東情勢
kamakura.cool.ne.jp
本当は推薦したくない!と、思うくらい一人占めしたい癒される女の子です(^^このサイト的なお話はまだそこまでしていませんが、会員になるきっかけをくれたのは、まきこちゃんでした。笑顔と性格が可愛くて、毎日でも会いたいな~と思わせてくれました。
J2SE 1.4から、JavaでもPerlのそれに準じた正規表現によるパターンマッチングができるようになりました。 正規表現関連のクラス定義はパッケージ java.util.regexにまとめて収められており、便利に活用できます。 ●1行マッチング ある文字列がある正規表現パターンに適合するかどうかを知るには、簡単には次のようにします。 import java.util.regex.*; /* ... */ boolean b = Pattern.matches("H.*d", "Hello, World"); java.util.regex.Pattern クラスのクラスメソッド matches() は、1番目の引数の正規表現に、 2番目の引数の文字列が適合するかどうかを返します。 ここでmatches()の場合は文字列全体が正規表現にマッチしないと真になりません
通常のスクリプト言語と同じように、PHPをコマンドラインで解釈実行するツールは、 バージョン4.2.0から実験的にサポートされ、4.3.0からは正式に使えるようになりました。 これはCLI(Command Line Interface)と呼ばれ、CGIとは別物です。 Windowsでは、php.exeがPHPをコマンドラインで解釈実行するのに使われます。 下のようなサンプルスクリプト(拡張子は何でもよいと思いますが、.phpとします)を作り、 「C:\php5\php.exe sample.php」のような形で実行します。 #!/usr/local/bin/php -q <?php // argvはスクリプト名自身も含みます。 $ds1 = $argv[1]; $ds2 = $argv[2]; $da1 = array(); if(! preg_match("/^(\d\d\d\d)(\d
このページはいわゆるStrutsとSpringの統合方法を紹介したページです。 StrutsからSpringのDI機能が使えるようになると、 ActionのプロパティをSpringから柔軟に注入できるようになるので、 Actionの共通化・再利用化が促進され、プログラムの品質が向上する。 Strutsに依存せずに処理部の単体テストが可能になる。 SpringのAOP(Aspect Oriented Programming)機能が使える。 等の利点があります。 この方法は後述のように幾つかありますが、 共通する基本はSpringで管理されているBeanを参照できるようにする、ということです。 この部分の設定は、Strutsと連係する場合だけでなく、 JSFや、その他のWebフレームワークとの連係の場合も同じ作業です。 spring.jar、log4j-*.jar、com
ここに書いてある原因と解決策はあくまで私がやったミスとその解決策であり、 その現象に対する原因がすべて書いてあるというわけではありませんのでご注意下さい! ●SUBMITボタンにonSubmitを書いたのに、その関数が呼ばれない ぎゃはは。onSubmitが書けるのはSUBMITタグではなく、FORMタグです。 ●onClickで関数をコールすると、 「オブジェクトでサポートされていないプロパティまたはメソッドです」 関数名と同名のフォーム要素がある。 ●MSIEで"08"をparseIntすると8ではなく0になってしまう。 parseIntの2番目の引数で基数を指定してないためです。 省略すると、MSIEでは0で始まる文字列は8進数として解釈されるためです。 10進数を強制したければ、次のようにします。 なおOperaでは0で始まる文字列も10進数として解釈さ
注:以下はTomcat 5.5までのお話です。 1つのサーブレットコンテナ、つまりTomcatプロセスには、 複数のWebアプリケーションを載せるのが普通です。 各アプリケーションで使用するクラスライブラリ(JARファイル)は、 各アプリケーションディレクトリの/WEB-INF/lib の下に置きますが、 どのアプリケーションでもほぼ共通に使うクラスライブラリの場合は、 $CATALINE_HOME/shared/lib や $CATALINA_HOME/common/lib に置くことで、 これらも自動的にロードされます。 注意しないといけない点ですが、shared/libに置いたJARファイルと、 common/libに置いたJARファイルと、各アプリケーションの/WEB-INF/libに置いたJARファイルでは、 それぞれクラスローダが違います。 そして、sh
リフレクションAPI(java.lang.reflectパッケージ) を使うと、 Javaアプリケーションの実行中に、 Javaクラスのメソッドやフィールド(メンバ変数)などの仕様を取得することができます。 またコンパイル時に正確なクラスが判明していないオブジェクトを、 特定のクラスのインスタンスとして実行時に作成・利用することができます。 一見、何に使うの?というリフレクションAPIですが、 JavaBeansクラスのプロパティにアクセスするような汎用ツールを作る際にとても便利に使えます。 Beansクラスはクラスによって異なるプロパティ値を持ち、 それに対応する名前のset/getメソッド (例えば、プロパティがmessageならsetMessage()&getMessage()メソッド) を持つのですが、さまざまなBeansに対応するツールを作ろうとすると、
itext-1.4.*.jarはこちらからダウンロードできます。 また日本語フォントを使うにはこちら からiTextAsian.jarもダウンロードします。 両方とも、JARファイルをCLASSPATHに通しておけばOKです。 ●PDFファイルの連結 iTextの機能をコマンドラインから使い、 複数のPDFファイルを連結して、ひとつのPDFファイルに出力してみます。 java -cp C:/usr/java/lib/itext-1.4.5.jar com.lowagie.tools.plugins.Concat a.pdf b.pdf new.pdf それでは、itext-*.jarをJavaプログラムから利用して、PDF文書を作ってみます。 基本的な手順は Documentオブジェクトを作る 出力PDFファイル名を割り当てる フォントを作る 作者情報、文書情報
ご注意!あくまで私の作っているWebアプリケーションを移行した場合に必要になった作業であり、 他の機能を使っている場合は他の対応が必ず必要になります。 特にキャンセルボタンの動作変更については 総本山のリリースノート に重要な注意が載っています。 このテーマには、 このページ がもっとも頼りになる情報源です。 ●Strutsのjarの差し替え WEB-INF/lib/*.jarは差し替える必要があります。 バージョン1.2までstruts.jar1個だったのが、 1.3では複数のstruts-***.jarに分割されているので、必要に応じて入手します。 サンプルアプリケーション(struts-examples.war)を展開して、 WEB-INF/libの下にあるJARファイルを一式持ってくるとよいです。 但し、JSTL(c:if等)の利用に関しては1.0、1
ファイナルファンタジー2の攻略。隠し通路・敵・宝箱のデータがあるダンジョンマップ、Q&Aや魔法の考察、攻略本レビューなど。六三四の剣の攻略も。
Jakarta Slideは、 100%純粋Javaで書かれた、 WebDAVプロトコルによるするデータ管理を実現するためのソフトウェアの集合体です。 次のようなものが含まれます。 階層的なデータ・ストレージを備えたコンテンツ管理システムとそのAPI コンテンツ管理システムを公開するためのWebDAVレベル2を実装したサーブレット Java言語向けのWebDAVクライアントAPI WebDAVコマンドライン・クライアント つまり、Slideを入手すれば、JavaベースのWebDAVクライアントと、 同じくWebDAVサーバを使うことができるようになる、というわけです。 また、 SlideはJakarta Tomcat などのJ2EEサーブレットコンテナに簡単に単独のWebアプリケーションとして簡単に配備することができ、 可搬性も十分備えたWebDAVサーバとして便利に使うことができます。
struts-config.xmlとvalidation.xmlの書き方のメモです。 このページのサンプルはStruts 1.2用のものです。 1.3用へ移行する際の変更点は バージョン1.2から1.3への移行のページに載せました。 <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <!-- ========== Data Source Configuration ==================
●日付書式の妥当性検証 日付書式の妥当性検証に使うdateバリデータはさほど難しいというものではないのですが、 書き方のテンプレートということでここに一緒にメモっておきます。 <form name="MyForm"> <field property="startDate" depends="required,date"> <arg0 key="startDate.displayName"/> <var><var-name>datePattern</var-name><var-value>yyyyMMdd</var-value></var> </field> </form> ●maskバリデータ よく使われるバリデータとしては必須入力チェックをするrequired、 データ型チェックをするintegerなどがありますが、 もう少し複雑なバリデータとしてmaskが便利に使えます。 これは入
Apache Antは、 オープンソースで開発されているビルドツールです。 身もふたもない言い方をすれば「makeのJava版」ということになりますが、 純粋Javaで書かれているので、動作がプラットフォームに依存しない Makefileの代わりに「build.xml」という、XML形式のビルドファイルを書く という特徴があります。 ●インストール バイナリ配布を入手して、展開します。 「apache-ant-1.5.3-bin」のような名前のディレクトリができるので、 これをUNIXの場合は/usr/localなどに、Windowsの場合は好きな場所に移動します。 antという名前に変えたり、シンボリックリンクを張ってもよいでしょう。 binサブディレクトリに、Windows用にはant.batというバッチファイルがあるので、これを使います。 実行時にant.b
100億年前 ・時の始まりと同じくして誕生した2人の超存在「ブラザーズ」の対立により、宇宙がマーヴルユニバース、DCユニバースの2つに分離。ブラザーズは眠りにつく。 46億年前 ・地球誕生。 100万年前 ・天空族セレスティアルズが地球で遺伝子実験を行う。これが原因で後に人類のXファクター因子発動が起こる。 約4000年前 ・エジプト付近の古代王国の奴隷エン・サバー・ヌール、ミュータントパワーに目覚める。王国軍を壊滅させ、時の国王オシマンディアスを屈服させたエン・サバー・ヌールはアポカリプスを名乗る。 19世紀頃 ・イギリスの異端の生物学者ナザニエル・エセックス、アポカリプスと主従関係を結んで不死の肉体を手に入れ、ミスター・シニスターとなる。 1940年代 ・第2次世界大戦前夜、現デイリービューグル社社長J・ジョナ・ジェイムソン、記者としてデイリー・ビューグル社入社。 ・
サーブレット/JSPでファイルのアップロードを手軽に行う方法として、このページでは Jakarta Commons のファイルアップロード(FileUpload)パッケージを使ったプログラムをご紹介します。 ファイルのアップロード機能を使うには、 Jakarta CommonsのFileUploadパッケージとBeanUtilsパッケージが必要です。 (環境によっては、Loggingパッケージも必要なことがあります) 両方ともバイナリアーカイブを展開するとjarファイルがあるので、 それらをWebアプリケーションのWEB-INF/libディレクトリに配置して使います。 環境はWindows XP Home Edition、J2SE SDK 1.4.2_03、 Jakarta Tomcat 5.0.16で、 FileUploadのバージョンは1.0、BeanUtilsのバージョンは1.6.1
デス・ルーム(DEATH NOTEのページ) FOLON(オリジナルのページ) ★ダウンロード販売(Dlsite.com)★ 更新情報 08/10/13 トップページ 「かんなぎ」本出します。 08/10/8 院長室更新「ヱヴァ「破」は来年夏?」 08/9/1 トップページ 高エネルギー加速器研究機構 一般見学レポート ★最新情報は、先にトップページ(ここです)に上げ、 適当な時期に各部屋へ割り当てて行きます。 小児科 過去ログ 内科 過去ログ 脳外科 過去ログ 院長室 過去ログ 2002 ≪次回予告≫ 「かんなぎ」本出します! ◆この前のサンクリで予告済みではありますが、 「かんなぎ」本出します! 出すでしょう、あのクゥオリティならば。 発売は、夢屋花乃屋初の「虎の穴」「メロンブックス」等の 同人ショップ売りになります。(冬まで適当なイベントが無いのです) ま
CC=gcc; export CC LDFLAGS=-L/usr2/local/lib; export LDFLAGS LIBS=-lgcc; export LIBS sh configure --prefix=/usr2/local --disable-ldbm --enable-ldap make depend; make make install OSがSolarisだったので苦労したことと言えば、普通にコンパイルすると、 後でPHPとともに起動しようとしたときに、「シンボル__eprintfが解決しない」 というエラーで起動しない現象が発生したことです。 これはlibldap.soをビルドするリンカーのオプションで、 強引に-lgccをつけてlibgcc.aとリンクすれば解決できます。 ●PHPのインストール PREFIX=/usr2/local sh configure --w
Jakarta Tomcatのバージョン4.1以降では、 その上で動作するところのWebアプリケーションがデータベース接続に利用するJDBCドライバの機能に関係なく、 データベース接続ぷーリングが行えるようになっています。 これは、同じJakartaプロジェクトが開発しているパッケージ、 Jakarta Commons DBCP をTomcatに同梱することで実現しています。 $CATALINA_HOME/common/lib の下に、commons-dbcp.jar というJARアーカイブがあると思いますが、これがそのご本尊です。 (commons-dbcpを使うにはcommons-logging-api.jar、commons-collections.jar、 commons-pool.jarも必要とします。これらも同じ位置にあるはずです) 接続ぷーリングを有効にす
Javaアプリケーションに対して、 外部ファイルから環境設定情報などを読み込ませるために、 ちょっとしたINIファイル(Configファイル)を使いたいとき、 java.util.Propertiesが役に立ちます。 また、Java VMが自前でもっている環境情報は、 java.lang.System.getProperty()で取得することができます。 ここでは簡単なプロパティファイルを読むサンプルを載せてみます。 /* * PropertyExample.java * 2002/01/19 */ import java.io.*; import java.util.*; public class PropertyExample { public static void main(String[] args){ try { String propertyFile = "/usr/app1
いつもはTomcatスタンドアローンで動かす私ですが、 このたびApache-Tomcat連係に挑戦してみたのでその初歩の初歩のメモです。 Apache 2.0.43、Tomcat 5.0.9beta、mod_jk 2.0.2です。 mod_jk2のバイナリをダウンロードします。 こちらにアクセスし、 Tomcat Web Server Connectors JK 2という場所を見て、 jakarta-tomcat-connectors-jk2.0.2-win32-apache2.0.43.zip をダウンロードします。 展開すると mod_jk2-2.0.43.dll というファイルがあるので、 $APACHE_HOME/modules に置きます。 拡張子は.dllのままでも.soに変えてもよいです。 今回はファイル名は mod_jk2.soと拡張子を変えました。 httpd.con
メッセージリソース、ValidatorForm、validation.xmlを利用したエラー処理についてのメモです。 errors.header=<h2 align="center"><font color="red">エラーですよ</font></h2><ul> errors.footer=</ul><hr> errors.prefix=<li> errors.suffix=</li> errors.required={0}が入力されていません。 error.generic={0} error.shitenCode.required=支店コードを入力して下さい。 error.shitenCode.notexist=入力された支店コードは存在しません。 error.shitenName.required=支店名を入力して下さい。 error.areaCode.requi
Neonは、 オープンソースで開発・公開されているC言語用のWebDAVクライアント・ライブラリです。 WebDAVによる通信といっても基本から応用まで幅広いのですが、 「FTPの延長じゃないの?」というような基本的な通信だけできればいい、 要するにWebDAVを汎用ネットワーク型ファイルシステムだとか、 インターネット次世代プロトコルだとか、 そのよーな大げさなことは言わないで、 単なるデータ通信ツールとして使いたい、という向きにはぴったりのライブラリです。 ●Neonインストール Neonのソース配布は上記サイトからダウンロードできます。 Neonをコンパイルするには、XML関連のライブラリlibXML2またはexpatが必要です。 またlibXML2は多言語対応にGNUのエンコーディング変換ライブラリiconvを内部的に使うので、 日本語圏ではiconvも必要となる機会が多いでしょ
セキュリティを確保するために、 PHPでパスワードをユーザに入力してもらって認証を行う方法には、 大きく2種類があります。 1つはHTTPの基本認証を使う方法、2つめはPHP独自の認証を行う方法です。 HTTPの基本認証のスタイルは、 認証が必要なURLにアクセスしようとすると、Webブラウザの上に、 ユーザ名とパスワードを求めるダイアログがポップアップするもので、 このダイアログのデザインに特別労力を割く必要がない代わりに、 独自の注意書きなどを付加した画面をデザインすることはできません。 PHP独自の認証の場合はこの逆で、自分でパスワードの入力フォームを書かねばならず、 また書くことができます。(-_-;) <?php if (!isset($_SERVER["PHP_AUTH_USER"])) { # このセッションでログインしたことがないなら、認証ダイア
プログラム開発者は普段あまり意識しない 「Webアプリケーションのユーザビリティ・デザイン」について、 様々な観点から留意すべきことをまとめられています。
のっけからアレですが、 Strutsには、データをダウンロードするための特別な仕組は用意されていません。 ということで、サーブレット/JSPのAPIの範囲での記述ということで、 とりわけStruts向けに何かしているというサンプルではないのですが、 アップロードと対になっているものと思うのでついでにここに載せました。 Struts 1.1で動作確認しました。 データのダウンロードの仕組は、大きく分けて2つの実装方法があります。 1つめは、サーブレット/Strutsアクションによって、 まず対象データをWebサーバのファイルシステム内に出力し、 そのファイルのURLへのリンクをブラウザに表示する方法。 2つめは、Webサーバ上に出力せず、レスポンスオブジェクトの出力ストリームに、 データを直接書き込んでしまう方法です。 1つめの方法は安定しており開発、デバッグも簡単ですが、 サーバ上に出力し
●メッセージ・リソースの参照 Action.execute()内でメッセージ・リソースを取得するには、次のようにします。 MessageResources resources = getResources(request); String workDir = resources.getMessage("work.file.dir"); String errorMessage = resources.getMessage("errors.notfound", "ファイル"); String directMessage = resources.getMessage("エラーですよ", false); 2番目の例は、メッセージ・リソースが{0}というプレースホルダを持つ場合に、 2番目の引数の値でそれを置き換えることを示します。 プレースホルダは{0}から{3}までの4つがあり
Windows PC向けのPerl処理系としては、 ActiveStateで配布されているActivePerlが最も有名だと思います。 ここでコンパイル済み処理系の.zipまたは.msiが配布されているので、 インストーラを起動してインストールできます。 インストール先のデフォルトは "C:\Perl" ですが、直下に置くのが嫌なら変更できます。 PATHにperl.exeのパスは自動的に追加されます。 また、.plファイルをエクスプローラでダブルクリックするとperl.exeに解釈されるように関連付けが行われますが、 私はテキストエディタが起動するように書き換えました。 ●ファイルの文字列置換(-iオプション) 例えば、たくさんのテキストファイルに含まれる 「AM 6:00」を全て「PM 9:00」に、「Morning」を「Night」 に変換して、同じファイル名
次のページ
このページを最初にブックマークしてみませんか?
『kamakura.cool.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く