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

Scalaをいじってみた

Scalaというスクリプト言語を教えていただいたのでちょっと調べてみた. Javaで実装されている. スクリプト言語にはめずらしく,静的な型付き. 型解析をしてくれるので,全部指定する必要はない. まずは,インストール.MacOSXの場合は,portsで入った. …

Javaのselectは面倒くさい

selectといっても,SQLのSELECTではなく,複数の入力を同時に待つほうのselectのお話.Java言語にはもともとselectの機能は無かった.JavaはThreadが言語仕様に統合されているので,複数の入力に対してはそれぞれThreadを割り当てれば良い,という考え方だっ…

C++ のtype_info.name()

C++

C++ではRTTIと呼ばれる機構によって,実行時の型情報が取得できる. これによって,動的に定まるオブジェクトの型を知ることができる. #include <typeinfo> #include <stdio.h> namespace test{ class A { public: virtual void m(){} // 1. 仮想メソッド宣言 }; class B : pub</stdio.h></typeinfo>…

Amazon の ORマッパ Carbonado

JavaのORマッパと言えばhybernateが有名だが,なんか,やたら複雑そうに見えたので,最近出てきたCarbonadoのほうを試してみた.Carbonadoの特徴は,バックエンドのデータベースにいわゆるRelational DBではないBerkely DBが使えること.だから正確にはORマ…

OOWeb

Javaの軽量WebコンテナOOWebについて調べてみた.現在最新バージョンが一年前にでた0.7.1ということで,開発止まっちゃってるのかもしれないので,心配なのだけど,他に代替になりそうなものも見当たらないので.OOWebはPythonによるWebコンテナCherryPyにin…

Javaのテンプレートエンジン

Javaのテンプレートエンジンについて調べてみた.ざっと検索してよく引っかかってきたのは二つ. Velocity FreeMarker VelocityはApacheプロジェクトの一環で,Velocity Engineを中核として周辺にいくつかサブプロジェクトがある模様.現在version 1.5.Free…

C++プログラムのVC++へのポート

C++

何の因果かWindows上のVC++でプログラミングをしなければならなくなった.Javaはよく使っていたが,VC++を使うのは始めて.MSの処理系を使うのはMS-DOS 3のころMS-C 3.0を使ってバイトして以来だ.20数年も前の話.いくつか引っかかったので,自分の為にメモ…

C++ iostream での浮動小数点数フォーマット

C++

C++リハビリ中.本格的に使っていたのは,1993年ごろなので,もう15年も前. 完全に浦島太郎だ. あの頃は,テンプレートもまともに動かなかったものだなあ. namespaceもなかったし.わざわざ使わなくてもいい iostream を無理矢理使ってみているのだけど,浮動小数…

Python でスレッド

Python のスレッドについてちょっと調べてみた. Javaだとselectがない(new IOを使うとそれっぽくは書けるが, すごく面倒) ので, スレッドがないと通信系のプログラムが書けないけど, Pythonにはちゃんとselectがあるので, これまであまり使ってこなかった. …

Google Protocol Buffer

Google Protocol Buffer というものが公開された, とGoogleのブログに出ていたので, ちょっと調べてみた. プロジェクトのホームページはこちら. そもそもなんなのか? 多言語対応のシリアライザ, デシリアライザだと思えばまちがいないだろう. つまり, オブジ…

json-pyのラッパを書いてみた

json-py が意外に使いにくかったので, Pythonの普通のオブジェクトと, JSON文字列の間で直接変換できるように, ちょっとラッパを書いてみた. なんか, いかにも誰かが既に書いていそうなものだけど, まあ, 勉強ということで. json2と命名. 安易だ.ラッパの設…

PythonでもJSON

Python でもJSONを使いたい! ということで, 探してみた. こんなページを見つけた. やっぱり山のようにある. どれでもいいから, 標準ライブラリに取り込んでもらいたいものだ.どれを使っても同じみたいな感じなので, ランダムにjson-pyを選んで見た. なかを見…

json-c を使ってみる

JSONをCでハンドルする必要に迫られたので, ライブラリがないかと探してみたところ, json-cというものを発見. なんでも, リファレンスカウントでオブジェクトをハンドルしてくれるらしい. C++でスマートポインタを使ってリファレンスカウントする話は大昔か…

Amazon EC2のHigh-CPU インスタンス

知らないうちに, Amazon EC2に新しい種類のインスタンスが追加されていた. これまであった, 小さいインスタンス - 0.10 ドル/1時間 メモリ 1.7 GB, 計算ユニット 1, ストレージ 160GB, 32bit 大きいインスタンス - 0.40 ドル/1時間 メモリ 7.5 GB, 計算ユニ…

Amazon EC2 に永続ストレージ

旧聞に属するのだろうが, このAmazon Web Service Blogの記事によると, Amazon EC2に永続的なストレージが追加されるようだ. 通常のEC2インスタンスのファイルシステムは, インスタンスをシャットダウンすると失われてしまう. これに対して新機能によるスト…

Amazon EC2 と RightScale

Amazon EC2の提供する抽象インターフェイスは単純で, 指定された計算機イメージをどこかで起動する, という機能のみ提供する. 1台の計算機内に収まるシステムを構成するのであればこれで問題ないのだろうが, 複数のノードが連携したようなシステムを構築した…

Amazon のその他のWebサービス

AmazonはEC2, S3の他に, SimpleDBとSimple Queue ServiceとよばれるWebサービスを提供している. SimpleDB SimpleDBは, データベース的な機能をネットワークで提供するもので, EC2の計算資源からアクセスされるデータベースとして機能することを想定している…

Amazon S3 のメモ

Amazon EC2で独自のディスクイメージを利用したい場合や, 永続的なデータを利用したい場合には, Amazon のストレージサービスである S3 (Simple Storage Service) を用いることになる. S3は EC2の発表(2006年8月24日)に先立つ2006年3月に導入されており, EC2…

Fortress言語 マルチコア時代の並列化プログラミング言語

中山茂 Sunが開発しているFortran後継となる数値演算用言語Fortressに関する本. 私は, 昨年言語仕様をダウンロードしたものの, 数百ページという量に負けて印刷を断念した. 並列化言語といっても, Erlangのように明示的な並列プリミティブを入れて並列化する…

Googleを支える技術 巨大システムの内側の世界

西田圭介 Googleの中で何が行われているのかは, いくつかの論文で断片的に公開されているがまとまった形になったものはなかった. 本書は, 公開されている論文やさまざまなブログなどの情報を, 必要な技術解説を加え, 学部学生でも読めるように平易にまとめた…

Amazon EC2で遊んでみる

流行の Amazon EC2をちょっといじってみよう. EC2はElastic Computer Cloud を指す. Elastic は弾力を持つ, という意味なので, 「弾性の計算機クラウド」ということになる. クラウドはbuzzワードなので気にしない. 要するに, 世界のどこかに, あなたの計算機…

gcc-4.2 の関数ポインタキャストの取り扱い

これまで何の問題も無くコンパイル, 実行できていたプログラムが, 実行時に illegal instruction で落ちるようになってしまった. よく見るとコンパイル時にこんなWarningがでている. test.c:10: warning: function called through a non-compatible type tes…

BEST SOFTWARE WRITING

Joel Spolsky 編 人気ブログ Joel on Software のJoel Spolsky が編んだ, ソフトウェアに関する書き物集. 非常に多彩な著者, 話題だが, どれもとても面白い. 原典はブログの記事だったり, コンファレンスのキーノートだったり. なかでも, Cray Shirky のMLや…

Google Sky を Google Maps APIで使う

Google Maps と同じインターフェイスで星空や火星, 月をながめることのできるGoogle Sky. 当然と言えば当然だが, Google Maps APIで利用することができる. 使い方は, Mapsとほぼ同じで, GMap2オブジェクトを作るときにプロパティmapTypesを指定するだけ. var…

Ajax Hacks プロが教えるWebアプリケーション構築テクニック

Bruce W. Perry Ajax を使う上で役立つさまざまな技法を紹介している. Webをあされば全部出てきそうな情報だが, 本としてまとまっていることには一定の意味があるだろう. でも結局, 中身が古くなっていないか, その都度Webで確認しなければならないのだけど.…

Trimpath JavaScript Templates

JavaScriptでもDjangoのテンプレートを使いたい, と思うのは私だけではないらしく,既に作った人がいた. Django Template Language in JavaScript - AjaxianでもこれはDojoフレームワークの一部なので, 単品で使うことは難しそうだ. こんなまとめページもあっ…

Djangoのテンプレート

Google App EngineでDjangoのテンプレートだけ使っていたのをみて, 自分でもやりたくなって調べてみた. ダウンロードしたパッケージを普通に from django.template import Template, Context とやって, 使おうとするとエラーがでて動かない. File "django/co…

Ajax での戻るボタンの実現

Ajaxで一般的な問題の一つに, 戻るボタン問題がある. ページの秒が状態が変化しても, URL的にはページが遷移しないため, 戻るボタンが効かない, という問題.検索するといくつもやり方がでてくるが, 独立してこの問題だけに対処したパッケージRSHが使いやすそ…

Ajax イン・アクション

Dave Crane, Eric Pascarello, Darren James Manning社の in Action シリーズの一つの邦訳. はてなが監修している.網羅的で, 非常に内容が濃い. 単なる技術の紹介にとどまらず, 思想的歴史的背景に踏み込んで解説されている. 個々の技術に関しても, 常にいく…

Ruby on Rails 入門 優しいRailsの育て方

西 和則Railsの入門書. 全く分かっていないので, ちょっとは分かった気にならせてもらった. 要するに, データベースのオブジェクトマッピングと, テンプレートエンジンと, MVCモデルを強制するフレームワークが一体になったなにかだ, ということなんだろう.…