タグ

ブックマーク / 0xcc.net (14)

  • 『計算機プログラムの構造と解釈』について

    最終更新日: 2000-12-02 (公開日: 2000-12-02) ちょっと感傷的。「今年」は 2000年のこと。 目次 ことはじめ 2.2.4節の図形言語 書評 関連リンク集 ことはじめ 今年の4月に『 計算機プログラムの構造と解釈 』(SICP)を知った。これはす ごいである。MITの入門コース用の教科書らしいのだが、僕にとっ ては難しい (一応は情報科学が専門の大学院生なんだが)。が、難 しい以上に楽しい。物の計算機科学を感じる。perl だとか CGI だとか、くだらんことをやっていないで、もっと早く読むべきだっ た。 このでは、プログラミング言語として Lisp の 1つの方言である Scheme を採用している。僕は Lisp を長い間、敬遠してきた。あ んな括弧の多い言語、 IQの高い人間じゃないと理解できないに違 いない、そもそも実用性がないんじゃないか、と思って

    nitsuji
    nitsuji 2009/05/14
  • GNU diff の地味だけど便利な機能 - bkブログ

    GNU diff の地味だけど便利な機能 最近になって GNU diff の地味だけど便利な機能を2つ知りました。調べてみると、いずれも昔からある機能でした。 --side-by-side は2段組で結果を表示するオプションです。変更されていない行を含めて2つのファイルの内容全体と変更点が表示されるのがポイントです。変更された行の前後数行だけでなくファイル全体をまとめて読みたいときに使えます。デフォルトの表示の横幅は130文字です。必要に応じて --width オプションで変更できます。 こういった用途には meld などの GUI の diff ツールを使えばいいのですが、 ssh 端末しかないような状況で重宝します。 --strip-trailing-cr は行末の CR を無視する機能です。改行コードが CRLF と LF でい違っているけど、中身はほぼ同じ、というファイルを比較す

    nitsuji
    nitsuji 2009/02/23
  • Python の unicodedata モジュール - bkブログ

    Python の unicodedata モジュール Unicode のちょっとしたテキスト処理をしようと思い、 Python の unicodedata モジュールを使ってみました。これは非常に便利です。 unicodedata は Python に標準で付属するため、別途のインストールは不要です。次のようなことができます。 文字の名前を取得する 文字の名前を取得することができます。Unicode の文字にはすべて一意の名前がつけられています。ソースコード内で Unicode のコードポイントを使うときは U+20AC (EURO SIGN) などとコメントをつけておくと便利でしょう。 >>> unicodedata.name(u'A') 'LATIN CAPITAL LETTER A' >>> unicodedata.name(u'あ') 'HIRAGANA LETTER A' 文字の

  • JavaScript で MIME ヘッダをデコード - bkブログ

    JavaScript で MIME ヘッダをデコード MIME ヘッダのデコーダを JavaScript で書いてみました。BとQエンコーディング、およびUTF-8, Shift_JIS, ISO-2022-JP の文字エンコーディングに対応しています。

  • Unicode の文字列をエスケープする JavaScript - bkブログ

    Unicode の文字列をエスケープする JavaScript Unicode の文字列を \uXXXX (UTF-16) と \xXX (UTF-8)、&#DDDD (数値文字参照)、Base64, Quoted-printable、 URL などの形式でエスケープする JavaScript です。

  • Unicode の文字列をソースコードに埋め込む方法 - bkブログ

    Unicode の文字列をソースコードに埋め込む方法 Unicode の文字列をソースコードに埋め込む場合、直接 UTF-8 などで文字列を書く方法と、\uXXXX などのようにエスケープして表記する方法があります。後者の方法についてまとめてみました。 \uXXXX 形式の場合 Java, JavaScript, Python, C++, C (C99から) などの多くの言語では \uXXXX という表記 (universal character names) でUnicode の文字を文字列の中に埋め込めます。たとえば、「あいう」は "\u3042\u3044\u3046" となります。 \uXXXX で埋め込んだ文字がどのように解釈されるかは言語や処理系によって異なります。 gcc/g++ の場合、 -fexec-charset オプションで、実際に使う文字セット・エンコーディングを指

  • C++ の設計と進化 - いやなブログ

    C++の設計と進化 しばらく前からのろのろ読んでいた『C++の設計と進化』を読み終えました。C++ の設計者、Bjarne Stroustrup 氏による著作です。 C++は多様なスタイルを許す C++にはCから受け継いだポインタ、構造体、マクロといった機能に加えて、リファレンス、クラス、テンプレート、例外、ネームスペースといった新たな機能が追加されています。 この結果、C++のプログラムは、昔ながらのC、クラスベースのオブジェクト指向プログラミング、テンプレートによるジェネリックプログラミング、など、さまざまなスタイルで書くことができます。これらを混在させることも可能です。 私が以前から疑問に思っていたのは、なぜ C++ はこんなにいろんな書き方ができるのか(コーディングスタイルもまちまちだし)、ということです。書の第一章にまさにその答えがありました。 C++の設計の多くの部分が、強制

    nitsuji
    nitsuji 2007/07/15
  • ttyrec: a tty recorder

    What's ttyrec? ttyrec is a tty recorder. Recorded data can be played back with the included ttyplay command. ttyrec is just a derivative of script command for recording timing information with microsecond accuracy as well. It can record emacs -nw, vi, lynx, or any programs running on tty. What's New 2006-06-11: ttyrec 1.0.8 Released Introduced a hack to reduce the playback time drift. Based on M

  • もし必要なら - 学校では教えてくれないバッドノウハウ英語 #3 - bkブログ

    もし必要なら - 学校では教えてくれないバッドノウハウ英語 #3 学校では教えてくれないバッドノウハウ英語の3回は、"if need be" を取り上げたいと思います。"if need be" はソースコードのコメントの中でとりわけよくみられる表現です。 "if need be" の意味は「もし必要なら」です。同じ意味を表す "if necessary" という表現も一般的ですが、"if need be" の方が2文字分短いためか、"if need be" の方を好むプログラマも多いようです。 例) // Change the font size if need be. // フォントサイズを変更する、必要なら。 We could help improve the test coverage if need be. 必要ならテストカバレージの改善を手伝ってもいいよ。 この表現はメールでもよ

    nitsuji
    nitsuji 2006/12/20
    へえ
  • いやなブログ: SpiderMonkey で JavaScript のインタラクティブシェル

    SpiderMonkey で JavaScript のインタラクティブシェル JavaScript のコードをインタラクティブに動かせるツール (Ruby における irb のようなもの) が欲しいと以前から思っていたのですが、今日になってようやく SpiderMonkey のインタラクティブシェルをインストールしました。 Debian GNU/Linux なら sudo apt-get install spidermonkey-bin を実行するだけでインストールできます。インストール後、 js コマンドを実行するとインタラクティブシェルが立ち上がります。 式を入力すると値が表示されます。 readline ライブラリがリンクされているので、コマンドライン編集は bash と同様にできます。 js> a = [1,2,3] 1,2,3 js> a.push(4) // 末尾に 4 を追加

    nitsuji
    nitsuji 2006/12/20
    すばらしい
  • Binary Hacks のここがすごい - bkブログ

    Binary Hacks のここがすごい Binary Hacks の宣伝週間ということで、著者の一人である私から見て Binary Hacks のここが気に入っている、という点について書いてみたいと思います。 新しい発見がいっぱい Binary Hacks はメインの著者5人、コントリビュータ 6人という大人数で書かれています。各人が「これは役立つ」「これはおもしろい」というアイディアを持ち寄った結果、扱われているトピックは非常に多岐にわたります。著者間で内容のチェックをしたときも、「こんなことができたのか」「こういうこともできるよ」と新しい発見に大いに盛り上がりました。 「はじめに」にも書きましたが、これまで「知る人ぞ知る」的な傾向のあったノウハウを集めて誰にでも使えるようにすることが書の試みです。ほかのにはあまり載っていない情報がたくさん載っていると思います。ぜひ目次をご覧くださ

  • スルカン開催中止 - bkブログ

    スルカン開催中止 昨日に開催決定とお知らせしたスルー力カンファレンス (通称スルカン) ですが、講演を依頼していたスピーカ候補の全員にスルーされてしまったため、大変残念ながら、開催中止の運びとなりました。 …というのはうそで、最初から、「事前仮登録」をすると次のようなポップアップウィンドウが表示される仕組みになっていました。 あなたのスルー力は 0点です。こんな釣り記事はスルーしましょう(カンファレンスは開催されません)。なお、このフォームは JavaScript ゆえ個人情報はどこにも送信されません。 元々、ほんの小ネタのつもりだったのですが、スラッシュドットに取り上げられるなど思わぬ反響を呼び、ITエンジニアにはスルー力が欠けている、ということを改めて思い知らされる結果となりました。お騒がせしました。

    nitsuji
    nitsuji 2006/10/06
  • いやなブログ - スルー力カンファレンス (スルカン) 開催決定!

    スルー力カンファレンス (スルカン) 開催決定! ものごとをやり過ごしたり見て見なかったことにしたりすることを「スルーする」と呼ぶようになって久しい今日この頃ですが、このたび「スルー力」、すなわち、スルーする力に関する、 ITエンジニアのためのカンファレンスを開催することになりました。ユニークな下でおなじみの某社CTOをはじめとする豪華なスピーカ陣による講演が行われる予定です。 「人生の大半の問題はスルー力で解決する」とはスルー力研究の専門家の間では共通のコンセンサスですが、昨今頻発するネット上での炎上事件、人間関係上のストレス問題、あるいは仕事上での燃え尽きの多発などの事情から、スルー力に対する社会的、特にITエンジニアの間での認知度が足りないのではないか、という問題意識が今回のカンファレンス開催の背景にあります。 現在、スピーカは調整中の段階にありますが、スルー力のベストプラクティス

    nitsuji
    nitsuji 2006/10/05
  • 横着プログラミング 第1回: Unixのメモ技術

    最終更新日: 2002-03-18 (公開日: 2002-03-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 横着プログラミングとは 私は必要が発明の母だとは思わない。私の意見では、発明とは怠惰 から、おそらくはまた、まさに無精から生じるものである。面倒を 省くために。 -- アガサ・クリスティ この言葉によると、どうも発明とは横着したいがために生まれるも のらしい。そう考えてみると確かに、私がプログラミングをする動 機は、横着するためのソフトウェアを作るため、という要素が大き い。突然、「うげー、面倒くせー」と叫んでプログラムを書き始め るのである。 そんなわけで、横着するためにプログラミングすることを私は勝手 に「横着プログラミング」と呼んでいる。連載では横着プログラ ミングをテーマに、横着のコツや私が作っ

    nitsuji
    nitsuji 2005/03/15
  • 1