2009年も残すところ5ヶ月となりました。2009年を悔いなく過ごすためには、やはりHaskellでWebアプリを作るしかありませんよね。今年のWeb流行語大賞は、「ヒウィッヒヒー」と「ハスケル!ハスケル!」で決まりです。さっそく、HaskellでWebアプリを作ってみましょう。 今日作ってみたカンジっぽいWebアプリ的なものは、名前っぽいものを入力すると、それを出力する的なカンジっぽいものです。基本の「き」ですね。気合いの「き」でもあります。 CでCGIを作ったことのあるなら、考え方は同じです。標準入出力でやりとりするイメージ。 getEnv "QUERY_STRING"でGETパラメータを取得して、putStrLnで出力します。コードを見た方が早いですね。 import System.Environment inputForm :: String -> String inputForm
それでは簡単なプログラムを書いてみましょう。慣れるためのトレーニングと考えて少しづつ理解することが大切です。作成したら、FTPクライアントソフトを使って、CGIディレクトリにおいて実行させて見ましょう。なお、当サーバーではサンプル実行プログラムは置いていませんのでご了承ください。 ■ printと変数 下記のプログラムを参照してください。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<html>\n"; print "<head><\n"; print "<title>サンプルCGI</title></head>\n"; print "<body>\n"; print "<p>\n"; $name = "ばんばん"; print "私は「$name」はじめまして!\n"; print "</p>\n";
Vol.1では、ライブラリを使わずにHaskellでWebアプリを作ってみました。今回は、GHCに標準搭載されているNetwork.CGIというライブラリを使ってみます。 HaskellでWebアプリを作ってみた Vol.1(ライブラリ使わない編) - このブログは証明できない。 作るアプリは、前回と同じです。名前を入力すると、それを出力します。 さっそく、コードを。 import Network.CGI inputForm :: String -> String inputForm script = concat [ "<form action=\"", script, "\" method=\"GET\">", "<p>Who are you?</p>", "<input type=\"text\" name=\"name\" />", "<input type=\"submit\"
CGI (Common Gateway Interface) は、ウェブサーバが コンテンツ生成をする外部プログラムと協調して動作するための方法を 定義しています。そのプログラムはしばしば CGI プログラムや CGI スクリプトと呼ばれます。CGI は、ウェブサイトに動的な コンテンツを置くための最も簡単で一般的な方法です。このドキュメントは、 Apache ウェブサーバで CGI を設定し、 CGI プログラムを書き始めるための入門書となるでしょう。 CGI を許可するように Apache を設定する CGI プログラムを正しく動作させるには、CGI を許可するように Apache の設定を行う必要があります。 これを行なうための方法がいくつかあります。 ScriptAlias ScriptAlias ディレクティブを使用して、 CGI プログラム用の特別な別ディレクトリを Apach
のようにJSON形式で現在のカウントを返す。 実行される度にDBに登録されているカウンタをインクリメントする。 また、パラメータに「callback=~」がある場合にはJSONPとして返す 分析機能とかはない純粋に訪問者を数えるだけ。 そんなもんにわざわざDB使うなって話もあるけれども、まぁ個人的な練習なのでよし。 で、今回作ったカウンタをzipでまとめたもの→ダウンロード 2: 環境 今回のサーバー環境。 linux MySQL 5系 ghc 6.8.2 で、利用したHaskellのライブラリは以下のとおり。 Network.CGI Database.HDBC Database.HDBC.MySQL Network.CGIはghcなら標準で入ってると思う。 HDBCとHDBC-MySQLはghcでは標準では入ってないので、それぞれインストールする必要がある。 ただし、HDBC-MySQL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く