Leopard に MacPorts で ghc(Haskell処理系) をインストールしてみた

なんとなく新しい言語に進出してみたかったので、 Haskell をはじめました。とりあえず関数型言語というものを知りたかったというのと主に気分転換です。で、ふつうのHaskellという本を買ったので、読みながらお勉強メモでも書こうかとひさびさにはてなダイアリーを書いている次第です。本家のブログに書かないのは、こっそりしようと思っただけです。

処理系のインストール

本の中で使っていたので、 ghc という処理系をインストール。

$ sudo port install ghc

こんだけでインストールできました。ghc のインストールには ghc のバイナリが必要とかで面倒だったみたいですが、今は簡単にインストールできるっぽいです。時間はやたらかかったけど。

ghc とか runghc とか ghci とか

ghc は、普通にコンパイルする以外にも、 runghc というインタプリタや ghci というインタラクティブシェル的なものが入っているので、気軽に動かすことができて大変便利です。普段 Python を書いてる感覚で使えるので好印象です。

雑感

思ったよりも最初の敷居は低いし、コードも簡潔なのでいいですね。もっと括弧がどわーってイメージだったけど、 $ と使うとすっきりできるっぽいし。ぼちぼちといじっていきたいところです。

Djangoを本格的に始めます

長いことここを放置しつつ、実はいろいろとWEBアプリケーションフレームワークを試してました。
仕事ではPHPをメインにしてるもので、symfonyとかethnaとかその辺から、Javaのspringとかもやってました。結果的にどれも自分にあわなかったので、Djangoに戻ってきたんですが、やっぱこれはすばらしいですね。こんなに楽しく開発が出来るものかと思ってしまうわけです。

とりあえず、Djangoで気に入ったのが、

  • 汎用ビュー
  • テンプレートの継承
  • PHPSmartyっぽいテンプレート記法
  • めんどくさいXMLを書かなくていいモデルの定義

そんなわけですので、しばらくDjangoを使ってありがちなWEBアプリでも作っていこうかと思います。

追記:自宅サーバに移動しました。http://blog.monospace.jp/

Djangoを始めてみました

Djangoチュートリアルをやってみました。
これはすばらしいかもしれないです。


先入観で複雑なものかと思ってたんですが、実はシンプルですね。
しかもid:everesさんのおっしゃる通り管理画面の出来はすごいです。
あとDjangoってデザインセンスがいいですね。一応デザイナーなんでその辺気になります。

仕事で書いたPHPのWEBアプリを全部これで書き換えたくなりましたw
ぼちぼち勉強していきますよ、これは。

参考・関連サイト

本家
http://www.djangoproject.com/
Djangoと日本の仲間たち
http://djangoproject.jp/
増田さんのDjangoページ
http://ymasuda.jp/python/django/

とりあえずwxPython関連サイト

Python個人的メモ−2006/04/14

PythonMSN Messengerを扱う

msnp.py

MSN Messenger関係資料

なんかちょっと面白いことを思いついた。
今更クローン作るのもあれだしね。

web.pyアプリ用のディレクトリ構成を決めてみた

基本的に1アプリケーション1ファイルっていうのが、なんかそれっぽい気がしたので、これでいいかなーと。
あとデザイン部分は、ローカルで作ったディレクトリをそのままドラッグ&ドロップしたいのでこうしました。

templates/
    App1/
        images/
        css/
        js/
        index.html
        index2.html
    App2/
        images/
        css/
        js/
        index.html
        index2.html
App1.py
App2.py

ちなみにこれだと画像とか出ないので、.htaccessをこうしました。
あと本来、/App1.py/とかってアクセスするのを/App1/にしてます。


SetHandler fastcgi-script


RewriteEngine on
RewriteRule ^([a-z0-9]+)/(images|css|js)/(.*)$ templates/$1/$2/$3
RewriteRule ^([a-z0-9]+)/([a-z0-9]*)$ $1.py/$2

しばらくこんな感じでなんか作ってみようかな。