タグ

*プログラミングに関するkamiponneのブックマーク (7)

  • mixi Engineers’ Blog » 言語バインディングを書こう

    世田谷の某所から原宿まで自転車通勤しているのですが、そろそろ寒くなってきたので電車に切り替えようかと悩み中のmikioです。今回はTokyo Cabinetのスクリプト言語バインディングについて述べます。 スクリプト言語バインディングとは TCはC言語で実装されたライブラリで、C言語(C89、C99)およびC++言語のプログラムから利用することができます。CやC++は各種の計算処理やシステムコールの呼び出しを直接的に記述できるので高速に動作するプログラムを作ることができる反面、ポインタ演算やメモリ管理などで致命的なバグを潜ませやすいので非常に注意深くコーディングを進めなければいけません。つまり、プログラムの実行速度は速いが、開発速度は遅いということです。 それに対して、PerlRubyをはじめとするいわゆるスクリプト言語は、実行速度はCやC++に劣るものの、高水準かつ直感的な文法と強力な

    mixi Engineers’ Blog » 言語バインディングを書こう
  • 404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ

    2007年08月17日01:15 カテゴリ翻訳/紹介Lightweight Languages 怠翻 - JavaScriptでありがちな9つのシマッタ 私自身結構シマッタしちゃうので。 Nine Javascript Gotchas 尻カンマ注意 以下のコードはFireFoxでは動きますが、Internet Explorer (以下IE)では問題になります。 var theObj = { city : "Boston", state : "MA", } 最後にカンマが入らないよう注意しましょう。 浮気なthisは何を見てるやら 以下のコードで、thisは何を指しているでしょうか。 <input type="button" value="Gotcha!" id="MyButton" > <script> var MyObject = function () { this.alertMess

    404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ
  • C++と Pthreads でミニマルなHTTPサーバを書く - いやなブログ

    C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回のもほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO

  • Cursesによる対話的なプログラム作成

    端末上で,対話的なプログラムを作る場合, なにかデータをいれてから,エンターキーを押さないと プログラムにデータが伝わりませんでした. これはちょっとかったるいですね. 特にゲームなど,対話性の強いプログラムでは, 1つのキーを押した「だけ」で何かが起こってほしいものです. テキストエディタ(emacsやメモ帳等)だって, 文字をいれてからエンターを押さないと画面に文字が出なかったら やってらんないですよね. (n)cursesライブラリというライブラリに登録された関数群を使うことで, ターミナル上で, 割りと簡単に,このような なめらかな対話型プログラムを作成することができます. 例1: カーソル位置の移動 hjklをおすことで,カーソルが上下左右に移動します. 移動に利用した文字が軌跡に描かれます. 画面例 ダウンロード cursesプログラムの基構成 ヘッダー: 以下のヘッダーを必

  • イベントハンドラをHTMLから分離する 基本サンプル [Javascript] All About

    *n4でも動作します。 最近は、HTMLとデザイン(.css)を分離するということがわりと一般的に行われるようになってきました。 大規模なページでなくても、たとえば、ブログを作っていればそのツールは最初からHTML以外の分離が前提で作られて いたりします。 そこで、ここではCSSだけではなく、スクリプトを分離することについて考えてみます。スクリプトの分離といえば.js外部ファイルを利用するという手がまず思い浮かびますが、今回は、インラインのイベントハンドラをHTMLから切り離す方法です。 HTMLとそれ以外の要素を分離するメリットは、一般的にはソースが整理されることに関する事柄です。 もちろん、短いソースの場合は分離するためのオーバーヘッドが割りに合わないという場合もありますが、 何度も使う処理がある場合などには、見た目がシンプルでわかりやすくなることにより、 メンテナンス性が高まり、ミス

    イベントハンドラをHTMLから分離する 基本サンプル [Javascript] All About
  • Martin Fowler's Bliki in Japanese - クロージャ

    http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基的にクロージャとは、ブ

  • Perlモジュール/LWP - Walrus, Digit.

    WWW上のデータ−主としてホームページ等−を取得し、処理するためのライブラリ。 正式名称は「libwww-perl」なのですが、Perl5で体が「LWP」という名前になっており、今ではこちらの呼び方も一般的に使われています。 http://search.cpan.org/~gaas/libwww-perl/ HTTPクライアントとしては、LWPの他にHTTP::Liteというモジュールもあります。 LWPの使用が難しい環境(CGIやPerlCE)を意識したもので、HTTPSやftp等に対応していないもののHTTPだけであれば、使い勝手の良いモジュールです。

  • 1