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

つづき

Minimal Erlang SMTP, POP3 server code - Oliver Wyman Labs: Technical のソース。 % darcs get http://www.lshift.net/~tonyg/erlang-smtp/ Copying patch 14 of 14... done. Applying patch 14 of 14... done. Finished getting. % cd erlang-smtp % mak…

ErlangでSMTP

Erlangでメールを出すためのライブラリを調査中。調査中なので、間違っているかもしれません。 残念ながらPythonのように"batteries included"ではないので、いろいろなところをあさる。 あと、日本語の文字コード変換は、iconvを使えと、どこかに書いてあっ…

本棚

http://www.system180.jp/products/home/list12.php なかなかいい本棚ないなーとおもってたが、これはかなりよさげ。 ほしー。

Erlang World http://d.hatena.ne.jp/tokuhirom/20071017/1192589429 webサイトを作る時に顧客とあらかじめシンクロしておくと良い7つの基礎 - ホームページを作る人のネタ帳 書籍検索 | Ohmsha Source Code | The Pragmatic Bookshelf

110Gd導入

職場での開発環境をubuntuに移行したら、自宅でもubuntuを使いたくなった。 職場では、ubuntu環境構築のためにml115を買ってもらったが、 自宅用には、110Gdを購入した。 ml115より静からしい、というのと、やっぱりIntelのCPUがいいなぁと思ったのと、 ケー…

ubuntu8.04デフォルトのままのEvinceで日本語PDFが文字化けした。下記リンク先のとおりで解決できたのでメモ。ありがとうございます。http://ubulog.blogspot.com/2007/10/ubuntuevincepdf.html https://wiki.ubuntulinux.jp/JapaneseLocalizedDerivative/La…

ubuntu + emacs

これから、ubuntu + emacs で開発していくことにした!

開発合宿いってきた

感想は一言、「悔しい」

ネット開通!

やっと自宅のADSLが開通した。2週間ちょいネットが通じなかったわけだが、本当に不便だった。 使わなくなってしまってあったUSBメモリが大活躍だった。 ADSLの局内工事にあわせて、なぜかNTT回線というか普通の固定電話まで使えなくなってしまったりしたが…

久しぶりに参加。

"The Haskell Programmer’s Guide to the IO Monad ― Don’t Panic ―" Stefan Klinger を引き続き。 2回ばかり休んでしまったのと、ここのところデータベースのことばかりで圏論の勉強を怠っていたので ついていけてない気味。。。 あと、論文の発音の仕方が…

引越し

引越しをして、ネットがまだつながらない。不便。

業務アプリの仕様と換喩

ちょっと思ったこと。 "換喩 wikipedia" http://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%88%E3%83%8B%E3%83%9F%E3%83%BC 概念の関連・近接性に基づいて語句の意味を拡張して用いる、比喩の一種である。 "換喩 かんゆ metonymy" http://www.geocities.jp/ball…

"The Death of the Relational Database" http://whydoeseverythingsuck.com/2008/02/death-of-relational-database.html"Relational Database"でぐぐって上記Blogを発見。 Storing the relationships between objects *in* the objects is a problem.The es…

ナンドクカ

Pythonには、アンダースコア二つ"__"から始まって、アンダースコア二つ"__"で終わらない名前の属性が、難読化される、というよくわからん仕様がある。 自分でコードを書くときに、使ったことはない。 アンダースコア_をひとつだけつけて、プライベートっぽさ…

CSVとかJSONとかシリアライズとか

最近、CSVとかJSONのことについて考えている。一週間前くらいからだろうか。 データを入出力するには、シリアライズされたデータをやりとりする必要があるからだ。 シリアライズの定義をwikipediaでみてみると、 http://ja.wikipedia.org/wiki/%E3%82%B7%E3%…

DRY原則とパターン

なぜ抽象化をしなければいけないんだろう。 文字=シンボルを作り出したぐらいだから、抽象化っていうのは人間の本能なんだろうか。 でも、「本能」って言葉で片付けても、何の説明にもなってないよな。。。 とか思うのはおいといて、 プログラミングには、…

というか、CouchDBがErlangで書かれてるなんて知らなかった。。。 http://d.hatena.ne.jp/Voluntas/20080413/1208082594 ソースを落としてみたら、たしかにErlangのコードだ。 couch_btree.erlとかあるし。 Erlangには、detsというdbmというかハッシュでErla…

続き

上記で書いたようなことを、一つずつ、ただ機能としてアプリにとりこんでいったら、そのアプリは肥大して、最後には手が付けられなくなるだろう。windowsのように。 DRYを実現すために、手続きや関数にまとめたり、クラスや継承を使ったりすることも良い…

妄想開発品の説明(2)

引き続き、妄想開発中のアプリについて書きたいと思います。 今作ろうとしているアプリは、式の入力とマウス操作だけで業務アプリを作ろう!、というアプリです。 前回は、アプリのイメージの話を書きましたが、今回はもう少し具体的に、どんな業務アプリを…

妄想開発品の説明

Erlangを用いて絶賛妄想開発中の品について、説明していきたいと思います。 まずは、外側から見て、というかユーザからみて、どんな感じのものを作ろうとしているのか、というところから説明したいと思います。 今イメージしているのは、Excelのような式や関…

現在開発中のアプリの、目的や構想の、前提となっている状況について、メモとしてブックマーク。 A)こういう状況があって、 その上で、 B)こういうことを考えている、 という説明を、ちゃんとしたい。そのために、Aに関してまとめるためのスクラップ。“…

束縛済み変数でパターンマッチングの続き

Erlangは絶賛勉強中であり、また新たな事実が発見された。 Erlangではマッチングに使うためのパターンを、無名関数でも複数書くことができる。 あと、束縛済み変数をマッチングのパターンに便利に使えるのは、新たにスコープが生成されないで複数のパターン…

Erlangのパターンマッチング

先日、「すでに"束縛されている変数"でパターンマッチングができる」と書いたとこにコメントをいただいたので補足。Erlangでは、変数は1度しか束縛できない。 値を一度しか代入できない。 なので当然、変数Xに対して、次のように まず1を代入、 次に2を代入…

Erlang

ていうか、特に新鮮だったのは、すでに"束縛されている変数"でパターンマッチングができるってこと。 これは驚き。Haskellでもこんなことできないような気がする。俺が知らないだけ?

Erlang

昨日新宿ジュンク堂でプログラミングプログラミングErlangを買ってきた。 やっぱ日本語だと全然読むのが速い。ていうかErlangすげぇ、これってPi-calculusそのものじゃん!って思った。 もちろん正確にPi計算そのものであるわけではないけれど、感覚としては…

ErlangとHaskell

いま個人的に開発を行っているアプリがあります。 色々悩んで、Haskellで開発してみることにしました。 現在はプロトタイピングの段階で、データの永続化やパフォーマンスを一切無視した コードを書いて、いろいろと実験している最中です。 で、プロトタイピ…

開発合宿

明日から一泊で開発合宿です。合宿自体は2泊3日で今日スタートしているんですが、明日の朝からおくれて参戦です。 先週今週と、プライベートでばたばたとしていたので、仕込み(開発ネタの下準備)が満足にできなかったのは残念ですが、 久しぶりに開発に…

CMSのテストケースとして不動産屋さんのページっていうのはどうだろう。

泡だて器

ティーバック入りのチャイを買った。 で、牛乳で煮出してみようと思った。 鍋に牛乳を入れて火にかけて、ティーバックをちゃぽんと2つ投下した。 普通、牛乳で煮出すというと、茶葉を直接入れるイメージだ。 ティーバックだとなんかしっくりこないというか…

"Write Yourself a Scheme in 48 Hours/Parsing" http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours/Parsing を読む

Parsingの後半の練習問題を解く。 Excercise 3 Instead of using the try combinator, left-factor the grammar so that the common subsequence is its own parser. リストもしくはドットリストをパースするところは、tryコンビネータを使って do char '(' …