2011-11-30 ものぐささんに捧ぐ
適当な長さのランダム英数文字列を生成する
#!/ruby/bin/ruby numbers = ('0'..'9').to_a alphabets = ('a'..'z').to_a characters = numbers + alphabets length = rand(3) + 6 includeNum = false includeAlph = false until includeNum && includeAlph do pass = ( Array.new(length) do characters[rand(characters.size)] end ).join numbers.each { |num| if pass.include?(num) then includeNum = true break end } alphabets.each { |alph| if pass.include?(alph) then includeAlph = true break end } end p pass
1 行目は Ruby の実行ファイルの場所を指定する。Windows なら C:\Ruby\bin にあるのでこのままで動く。これを適当なファイル名(拡張子は .rb とする)で保存すればコマンドプロンプトでファイル名を打つだけで動作する。
長さは 6 〜 8 でランダム、数字とアルファベットの両方が含まれているものだけが 1 個生成され表示されます。大文字のアルファベットも使いたい場合は
upperAlphabets = ('A'..'Z').to_a characters = numbers + alphabets + upperAlphabets
とかやればいいです。含まれているかどうかのチェック方法は以下同文なので省略。
2011-11-25 そもそもの話
Web アプリケーションとは
いきなりフレームワークとか紹介しちゃって、そもそも「Web アプリケーションとは何か」って話をすっ飛ばしてたのでここで改めて。
そもそも Web アプリケーションとは「ブラウザから送信されたリクエストに基づいてサーバ上にあるプログラムが処理を行い、結果をレスポンスとしてブラウザにフィードバックする」ものを言います。サーバ上で動作することが要件なので、ブラウザ上で動作するものであっても JavaScript のように一旦クライアントにダウンロードされてから実行されるものは含みません。また、Java アプレットや Flash のように、ブラウザ以外の何かしらのソフトが必要となるものも Web アプリケーションとは言いません。*1
ここで CGI を作ったことのある人なら「CGI と Web アプリケーションは何が違うの ?」と思われるでしょうが、Wikipedia にもある通り、CGI も立派な Web アプリケーションです。
Wikipedia にもある通り、Web アプリケーションには「ブラウザさえあれば使用できる」「特別なソフトはいらない」「メンテナンスが容易」という利点があります。一方で「サーバがダウンすると使えない」「通信環境がないと使えない」「GUI がブラウザ依存」などの欠点もあります。もちろんこれらの欠点を補うための方法はいくつかありますが、「通信環境がないと使えない」は如何せんどうしようもないので、Web アプリケーションは何らかの通信手段を確立している人が使用することが大前提となります。
2011-11-04 今更ですが
Python で文字列反転
文字列を反転させる方法として、例えば Java ならば StringBuffer クラスの reverse メソッドがあるが、Python で「いかにも Python っぽい !」という書き方があったので紹介しつつ考察したい。
まずは正解から言ってしまうと、ここに書いてある。
>>> str = "abcdefg" >>> str[::-1] 'gfedcba'
ではなぜこれが正解なのか。以下考察。
Wicket による Web アプリケーション開発
オープンソース徹底活用 WicketによるWebアプリケーション開発
- 作者: 矢野勉
- 出版社/メーカー: 秀和システム
- 発売日: 2009/03
- メディア: 単行本
- 購入: 21人 クリック: 219回
- この商品を含むブログ (43件) を見る
