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

C において配列へのポインタと配列長を 1 つの構造体にまとめる

C では (malloc 関数などによりメモリ領域を確保した場合の) 配列の長さを知る事は難しいと思います。 そのため、関数の引数として配列を渡す場合などに、初歩的な教科書ではよく配列へのポインタと同時に配列の長さを渡していると思います。/* 配列長 */ si…

IE にて a 要素の下に "@" を含む TextNode を append するとおかしくなる事がある件

<html> <head> <title>test</title> </head> <body> <div id="for_test"></div> <script type="text/javascript"> var p_elem = document.getElementById("for_test"); var test_elem = p_elem.appendChild( document.createElement("a") ); test_elem.appendChild( document.createTextNode(" @test ") );…</body></html>

openssl を require すると LoadError が発生する

Ruby で標準添付ライブラリであるはずの openssl を require すると以下のエラーが発生してしまいました。XXXX.rb:3:in `require': no such file to load -- openssl (LoadError) from XXXX.rb:3:in `' from ./request.cgi:9:in `require' from ./request.cg…

Python で Hello world!

ここしばらくは Mark Lutz 著、夏目大訳の 『初めての Python 第 3 版』 を読んでました。 とにかく分厚くて (700 ページ超) しかも内容的には同じことを繰り返したり重要でない事を長々と説明していたりであんまり楽しんで読めませんでしたが、まあ一通り P…

systemu を使用して Ruby から外部コマンドを実行する

pLaTeX を使うときに、TeX コードのエンコーディングは EUC-JP なのに端末の表示エンコーディングは UTF-8 だから、メッセージが文字化けしてしまう! → じゃあ Ruby でコマンド実行してメッセージは文字コード変換して端末に表示すればいいじゃない! と思…

pLaTeX のフォント設定

Ubuntu 9.04 (Jaunty) において、pLaTeX + dvips + ps2pdf を使って LaTeX ファイルから PDF を生成する際のフォント設定に関するメモです。 ろくに知識もないのにネットで調べながらなんとかフォントの変更をした人間が書いたメモなのでおかしいところがあ…

Ubuntu 9.10 / 10.04 で Ruby + PostgreSQL な環境を構築する

CGI としてもよく使われる Ruby と、DBMS として有名な PostgreSQL をインストールし、さらに Ruby から簡単に PostgreSQL を利用するための Ruby ライブラリ ruby-pg (ruby-postgres) をインストールする方法を記したメモです。 Ubuntu 10.04 の場合 (追記)…

Java における byte 型の扱い方

この記事の内容は、次のページに移動しました。 Java における byte 型について (あるいはバイナリデータを扱うためのキャスト) - ひだまりソケットは壊れない

Ruby で Twitter の OAuth を使うサンプル

Ruby で OAuth 認証を行うための OAuthSimple というライブラリを公開しました。 よろしければご利用ください。RubyGem: OAuthSimple-0.1.0.pre を公開しました前の記事 において Twitter OAuth 認証の Request Token を取得するサンプルコードを Ruby で書…

Ruby で Twitter OAuth 認証の Request Token を取得するサンプル

最近 OAuth Core 1.0 Revision A を読んで OAuth の勉強をしてるので、Ruby で実際に動くものを作ってみました。 今回は最初なので Request Token を取得するというもの。 OAuth Core 1.0 Revision A の 6.1 節 Obtaining an Unauthorized Request Token の…

Ruby から Twitter API を使用するサンプル (SSL / Basic 認証)

Twitter の Basic 認証のサポートは既に終了しました。 本記事中で参考になるのは一番最後の 「CA 証明書ファイルの取得方法」 ぐらいだと思います。Web 上を探すと Ruby で Twitter API を使用する方法の説明やらサンプルやらが色々ありますが、Basic 認証…

W3C DOM 3 XPath の勧告に従った方法で XPath を評価する

Java を使用し、DOM 3 Load and Save Specification に従った方法で XML 文書を読み込み DOM を構築する方法は 昨日の記事 で書きました。同じように DOM の勧告として DOM 3 XPath Specification があります。 この勧告は DOM ツリーを XPath を使って探索…

Java で XML 文書を読み込んで DOM ツリーを構築するサンプル

XML 文書をツリー形式で扱うためのモデルとして DOM があり、W3C がその仕様を公開しています。 例えば DOM 3 Core Specification などです。しかし、XML 文書を読み込んで DOM ツリーを構築したり、逆に DOM ツリーから XML 文書を出力したりするという部分…

Internet Explorer 6 および 7 で class 属性を取得する方法

追記 この記事よりも良い方法を下記の記事に書きました。 下記記事を参照してください。 JavaScript から HTML Element の class 属性を取得する方法 本文 Internet Explorer 6 (IE6) および 7 (IE7) で、(X)HTML 文書中の要素の class 属性の値を JavaScrip…

XHTML における空要素の扱い

HTML 4.01 では内容モデルが EMPTY の要素 (hr 要素や meta 要素など) は以下のように表現していました。<hr>XML で言うところの閉じタグを省略した形であり、省略 「できる」 のではなく省略 「しなければならない」 のでした。では、XHTML ではどのようにすれ</hr>…

Java で XPath を使う方法

注意 [2009.10.13] この記事で書かれている方法は、W3C DOM 3 XPath Specification とは異なる独自実装を用いています。 W3C DOM 3 XPath の勧告に従った方法で XPath を評価する という記事を書きましたので、そちらに記した方法で XPath 式を実行すること…

REXML (Ruby 標準添付ライブラリ) のバグ

REXML の XPath の実装状況を調べようとしてちょっと XPath を使ってみたのですが、どうも仕様どおりの動きをしないことがあったのでメモしておきます。#! /usr/bin/ruby1.9 # -*- coding: utf-8 -*-begin STDOUT.set_encoding( "UTF-8", "UTF-8" ) # REXML …

VCDOM ver.0.1.1

こないだ Ruby の勉強をして早速ちょこちょこ使ってるのですが、標準ライブラリに DOM を扱えるものがないということに気づいてちょっと悲しくなりました。 DOM プロセッサの代わりに REXML という XML プロセッサが標準で添付されてはいますが、やはり DOM …

Qualified name (QName) の仕様

XML

XML 文書内で名前空間 (namespace) を使用する際、qualified name を使用することになります。 下記 XML の "test" や "p:test2" は qualified name です。 <test xmlns="http://www.vividcode.info/test" xmlns:p="http://www.vividcode.info/p"> <p:test2>この要素は名前空間 URI "http://www.vividcode.info/p" に属する</p:test> </test>Qualified name に関しては 名前…

m2eclipse を使用してプロジェクトのビルドを行う際に FileNotFoundException が発生する問題

私は、Java アプリケーションの開発を行う際に統合開発環境 (IDE) として Eclipse を使用しており、プロジェクト管理ツールとして Apache Maven 2 を使用しています。 また、Eclipse から Maven 2 を使うために m2eclipse (Eclipse のプラグイン) を使用して…

Ubuntu 9.04 で Eclipse が起動しない問題

前も書いたかもしれないけど、何故かうちの Ubuntu 9.04 で Eclipse が起動してくれないのです。。Download ページから Linux 用の Eclipse をダウンロードし、展開してバイナリを実行、すると、ワークスペースの選択までは行くのですが、その後 Eclipse の…

Hash の key の同一性の判定について

Ruby のハッシュ (連想配列) に関して。 ハッシュは以下のように生成することができます。hash = { "key1" => "val1", "key2" => "val2" }そして key を指定して value を得ることができるわけですが、そのときに問題となるのがどうやって key の同一性を判…

Ruby の "Hello, world!"

院試が終わってから Yugui 著 『初めての Ruby』 (ISBN: 978-4-87311-367-8) を読んで Ruby の勉強をしてたんですが、ようやく本日読了しました! そんなわけで Ruby について初心者ながらにちょこちょこ書いてみようと思います。とりあえず今日は標準入出力…

携帯端末 NetWalker

PC

SHARP がなにやら面白い物を発表したみたいですね。 モバイルインターネットツール NetWalker (SHARP) 5 インチのタッチパネルで解像度は 1,024×600、OS には Ubuntu を搭載だそうです。 携帯電話、パソコンに次ぐ第 3 のモバイルツールを目指してるみたい。…

AppLauncher ver.0.6.2

Firefox 拡張機能 AppLauncher のバグを見つけたので修正しました。 AppLauncher とは AppLauncher は Firefox の拡張機能です。 右クリックメニュー (コンテキストメニュー) から外部アプリケーション (Firefox 以外のブラウザだとかその他色々) を起動する…

AppLauncher ver.0.6.1

本日院試の結果発表があったのですが、無事合格していました! 良かった良かった。 しかし友達が 2 人不合格だったのでちょっと悲しいです。 ついでに農工大から受けに来てた人もダメだったみたいで・・・うう。んで今日は Firefox 拡張機能 AppLauncher の…

Firefox 拡張機能の設定項目の保存時に日本語が化ける

Firefox の拡張機能でユーザに設定項目を入力させる場合、その設定内容は nsIPrefBranch を使って保存したり読み込んだりすることが多いと思います。 参考: 4章:XPCOM活用術〜高度な処理を実現する〜 (Firefox 拡張機能開発チュートリアル)んで文字列を保…

AppLauncher ver.0.6

8 月 10 日に無事大学院の入試が終了しました! その後は最高で 40 度の熱が出てしまい寝込んでいたのですが、さすがに寝すぎて 「これ以上は寝られない! 暇!」 という状態になったので昨日の夕方から暇つぶしに AppLauncher の開発を再開しました。AppLau…

イベントリスナの実行順序

addEventListener の実行順序 より。(function(){ function a() {alert('a')} function b() {alert('b')} function c() {alert('c')} window.addEventListener('click', a, false); window.addEventListener('click', b, false); window.addEventListener('c…

HTML5 では空要素 (void elements) の開始タグを閉じても良い

最近ちょこちょこと HTML5 の草案 を見ているわけですが、ふと気になって HTML 要素の Syntax を見てみたら Start tags must have the following format: The first character of a start tag must be a U+003C LESS-THAN SIGN ( The next few characters of…