2011-01-01から1年間の記事一覧

適当な長さのランダム英数文字列を生成する

#!/ruby/bin/ruby numbers = ('0'..'9').to_a alphabets = ('a'..'z').to_a characters = numbers + alphabets length = rand(3) + 6 pass = String.new until (/[0-9]/ =~ pass and /[a-z]/ =~ pass) do pass = ( Array.new(length) do characters[rand(cha…

Web アプリケーションとは

いきなりフレームワークとか紹介しちゃって、そもそも「Web アプリケーションとは何か」って話をすっ飛ばしてたのでここで改めて。ウェブアプリケーション - Wikipediaそもそも Web アプリケーションとは「ブラウザから送信されたリクエストに基づいてサーバ…

Python で文字列反転

文字列を反転させる方法として、例えば Java ならば StringBuffer クラスの reverse メソッドがあるが、Python で「いかにも Python っぽい !」という書き方があったので紹介しつつ考察したい。まずは正解から言ってしまうと、ここに書いてある。 文字列を逆…

Wicket による Web アプリケーション開発

オープンソース徹底活用WicketによるWebアプリケーション開発作者: 矢野勉出版社/メーカー: 秀和システム発売日: 2009/03/12メディア: 単行本購入: 23人 クリック: 238回この商品を含むブログ (46件) を見る

長さ 0 の配列

int [] a = new int[0]; とすると長さ 0 の配列が生成される。長さが 0 なので、もちろん a[0] などにアクセスしようとすると ArrayIndexOutOfBoundsException になるが、Object としては null ではないので NullPointerException にはならない。実際 a.leng…

Struts のサンプル(解説)

前に掲載した Struts のサンプルの解説です。軽く Q & A も付けます。

Struts による Web アプリケーションスーパーサンプル

StrutsによるWebアプリケーションスーパーサンプル 第3版作者: 高安厚思,西川麗出版社/メーカー: ソフトバンククリエイティブ発売日: 2010/10/13メディア: 大型本購入: 6人 クリック: 24回この商品を含むブログ (4件) を見る買ったでござる

servlet の request の文字エンコードを一括で設定する

元ネタはこちら。 Request のエンコードを指定する具体的には javax.servlet.Filter インターフェースを継承した以下のようなクラスを作れば良い。 package jp.mydns.akanekodou.filter; import java.io.*; import javax.servlet.*; public class EncodingFi…

Struts のサンプル

Java のフレームワークの代表格とも言える Struts を用いた簡単な Web アプリケーションを作ってみたので、恥晒しのつもりで晒します。なお、開発環境は以下の通り。 OS : Windows Vista Home Premium SP2 (32-bit) ※UAC 解除済み 言語 : Java 7 Web アプリ…

Scala 実践プログラミング

オープンソース徹底活用Scala実践プログラミング作者: 小笠原啓,尾崎智仁,関隆,水島宏太,今井敬吾出版社/メーカー: 秀和システム発売日: 2011/06/16メディア: 単行本購入: 2人 クリック: 134回この商品を含むブログ (20件) を見る今更ですが買ったのでご報告…

ノート PC に GUI でインストールしたとき、閉じると勝手にサスペンドされるのを防ぐ方法

Fedora 14 のときに嵌って困っていたのだが、さる掲示板にてやり方を教えてもらったのでメモしておく。/etc/UPower/UPower.conf をエディタで開いて IgnoreLid=falseという行を IgnoreLid=trueに書きかえれば、ノート PC で蓋(?)を閉じてもサスペンドされな…

言い訳がましいようですが

えー、ある方からコメントをいただきましたので、ここで釈明(?)しておきます。まぁ、プログラミングをかじったことのある人ならだれでも知ってるアルゴリズムを例に、Haskell で書き下したらどうなるかざっとご紹介したわけですが、私は「これが効率のいいア…

Fibonacci 数列は 2 行 !

fibs :: [Integer] fibs = 0 : 1 : [x + y | (x, y) <- zip fibs (tail fibs)] Fibonacci 数列は急速に値が大きくなるので Int より精度の高い Integer 型を使ってます。もうあまりの嬉しさに泣きたくなってきた。

クイックソートも 6 行で

qsort :: Ord a => [a] -> [a] qsort [] = [] qsort (x : xs) = qsort smaller ++ [x] ++ qsort larger where smaller = [a | a <- xs, a <= x] larger = [a | a <- xs, a > x] マジ Haskell 凄いんですけど。ちなみに qsort 関数の最初の宣言は順序クラスに…

エラトステネスの篩がたったの 4 行 !

primes :: [Int] primes = sieve [2..] sieve :: [Int] -> [Int] sieve (p : xs) = p : sieve [x | x <- xs, x `mod` p /= 0] 目から鱗でござった。

演算子を使わずに加法

Twitter でとある方が「+ 演算子を使わずに a と b の和を求める方法を…」といったことをつぶやいていたので、ちょっと作ってみた。 #include <stdio.h> int add(int, int); int main() { printf("%d\n", add(2, 3)); printf("%d\n", add(2, - 3)); return 0; } int a</stdio.h>…

カリー化 ?

次のような二つのメソッドを作る。 def add(x, y): return x + y def add2(y): return lambda x : x + y add が二つの引数に対してその和を返すのに対して、add2 は一つの引数に対して「一つの引数に対して値を返す関数」を返す(lambda 式を利用して無名関数…

Eclipse 3.7.2 に WTP をインストールする方法

メニューの「Help」→「Install New Software...」を選択し、出てきた画面の「Work with」欄の右にある「Add...」ボタンを押す。Name は任意だが仮に「The Eclipse Web Tools Platform (WTP) software repository」とし Location は「http://download.eclipse…

Web アプリケーションで URL に jsessionid を表示させない方法

Web アプリケーション(特に Struts 等のフレームワークを使用した場合)で、初回アクセス時に URL に ";jsessionid=〜" という文字列が追加されるのを防ぐ方法。実はこれ、Servlet の仕様らしくて、特に Struts では初回アクセス時にはセッション ID を URL …

IDLE におけるモジュール検索パス

Python の GUI インタプリタである IDLE は、デフォルトではカレントディレクトリのモジュールを検索しない。カレントディレクトリをモジュール検索パスに含めるには、あらかじめ以下の手順を踏んでおく必要がある。 >>> import sys >>> sys.path.insert(0, …

Eclipse ではじめる Java フレームワーク入門

EclipseではじめるJavaフレームワーク入門第3版作者: 掌田津耶乃出版社/メーカー: 秀和システム発売日: 2010/10/27メディア: 単行本 クリック: 12回この商品を含むブログ (1件) を見るやっぱりこっちの方が分かりやすそうだ。

GD モジュールを利用した CGI

前にこんな CGI 書いたんです(OS は Windows、ActivePerl を C:\Perl 以下にインストール)。 #!/perl/bin/perl -- use GD; $im = new GD::Image -> new(100,100); $black = $im -> colorAllocate(0,0,0); $white = $im -> colorAllocate(255,255,255); $im -…

はじめての Java フレームワーク

TECHNICAL MASTERはじめてのJavaフレームワークStruts12/Spring/Hibernate対応作者: 岡田賢治出版社/メーカー: 秀和システム発売日: 2009/02/19メディア: 単行本購入: 1人 クリック: 20回この商品を含むブログ (7件) を見るJava のいろいろなフレームワーク…

乱択アルゴリズムに挑む(その 4)

一通り道具は揃ったはずなので、とりあえずプログラムっぽく整えてみる。

乱択アルゴリズムに挑む(その 3)

k-CNF の充足可能な(つまり、全ての clause が真になるような真偽値の)割り当てを求める問題は k-SAT(Satisfiability Problem)と呼ばれる。同書にならって 3-SAT を考える。問題としては、これまた同書でユーリが「僕」に示した問題で行ってみよう。まず変数…

ビルドできん !

eclipse 側の環境変数の設定とか一通り済ませて mvn eclipse:eclipse を実行したら [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ---------------------…

Vista に Maven 3.0.3 をインストールしてみた

mvn --version で動作確認しようとしたら Apache Maven 3.0.3 (r1075438; 2011-03-01 02:31:09+0900) Maven home: C:\apache-maven-3.0.3 Java version: 1.6.0_24, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_24\jre Default…

乱択アルゴリズムに挑む(その 2)

続き。同書では(変数)ないし¬(変数)を "literal"(リテラル) と呼び、literal のいくつかの論理和を "clause"(クローズ)と呼んでいる。clause のいくつかの論理積を CNF(Conjunctive Normal Form)と呼ぶ。全ての clause が k 個の literal からなるような CNF…

乱択アルゴリズムに挑む(その 1)

結城浩先生 (id:hyuki) の「数学ガール/乱択アルゴリズム」を読んでいて、これを実際にプログラミングするとしたらどうなるんだろうと考えてちょっとやってみることにした。まず、ランダムに真偽値を返す、次のようなメソッドを考えた。 static boolean ran…

XML を XSLT で変換した出力に DOCTYPE 宣言を入れるには

ちょいとググってみたらこうすればいいらしい。 <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" /> これは HTML 4.01 Strict で文字コードが UTF-8 の場合の書き方で、必要な部分を適宜書き換えれば他の場合にも対応できる。追記 : もしかして method を xml にすれば XHTML にも対応できる ? 追記の追記 : </xsl:output>…