2010-10-01から1ヶ月間の記事一覧

Amazon Web Serviceに無料使用分が導入

Amazon に*新規ユーザ限定で*1年間の無料使用が設定された。無料で使用できるのは以下の通り。一月あたり、 EC2 micro instance 750時間分 Elastic Load Balancer 750時間分、15GB Elastic Block Storage 10GB S3 5GB In/Out それぞれ15GBのデータ転送 Sim…

Go のチャンネルオーバヘッド

go

Goではチャンネルをいろいろな目的に使うことが推奨されている。pythonならgeneratorで書くようなこともgoroutineとチャンネルでやる。確かに書きやすくはなるのだろうけど、どの程度オーバヘッドがあるのか調べてみた。 調べること プロデューサとコンシュ…

初めてのコンピュータサイエンス

Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson 大学1年生の教科書。Pythonを教えると同時にコンピュータサイエンスの初歩、たとえばソートアルゴリズムのオーダだとか、ハッシュテーブルとか、さらにはオブジェクト指向とは、みたいなことま…

Effective Go 野良翻訳(4)

go

これでおわり。並行性、エラー、Webサーバ。 並行性 通信による共有 並行プログラミングは大きなトピックだ。スペースの関係上、Go固有の特徴的な話だけに絞る。多くの環境において並行プログラミングが大変なのは、共有される変数へのアクセスを巧妙に正し…

Effective Go 野良翻訳(3)

go

続き。これで3/4かな。初期化、メソッド、インターフェイス、埋め込み。 初期化 Goの初期化は、CやC++の初期化とそれほど違わないようにみえるが、よりパワフルである。複雑な構造体も初期化で作ることができるし、複数パッケージ間のオブジェクトの初期化順…

Effective Go 野良翻訳(2)

go

続き。関数とデータ。これで半分ぐらい。 関数 複数返り値 Go特有の機能として関数やメソッドが、複数の値を返せることが挙げられる。この機能を使うと、Cでよく出てくるカッコ悪い書き方を改善することができる。エラーステータスを(-1やEOFなどの)特殊な…

Effective Go 野良翻訳(1)

go

Effective Goが面白いので勉強のため翻訳してみる。意外に長いのでちょっとづつ。 はじめに Go は新しい言語だ。Go は既存言語からアイディアを借用しているが、変わったところもあるので、実際のGoプログラムは、Goの親戚言語で書かれたプログラムと異なる…

Go から Cを呼び出す

go

Go には2つコンパイラの系統がある。6gなどのgcと呼ばれるものとgccgoと呼ばれるもの。前者はcと呼び出しのコンベンションが違うので、Cのライブラリを直接呼び出すことはできない。後者はgccへのトランスレータ?なので呼び出すことができるようだ。6g系列…

Go 勉強中

go

いまさらGo 勉強中。なかなか、いい。好みだ。言語仕様がリッチじゃないところが好き。コンパイラの質が上がれば、システム用言語として本当に使えるんじゃないだろうか。 感覚としてはCとPythonの間って感じ。Pythonと違って型があるので、コンパイル時の…