2006/11/10(金) 20:27:11 (JST)2006/11/10(金) 20:27:11 (JST)
エンディアンとは
例えば16進数で 0x1234ABCD という4バイトのデータを、データの上位バイトからメモリに「12 34 AB CD」と並べる方式をビッグエンディアン (big endian)、データの下位バイトから「CD AB 34 12」と並べる方式をリトルエンディアン (little endian) という。
(「
エンディアン - Wikipedia」より引用)
世の中にはビッグエンディアンでもリトルエンディアンでもないエンディアンが存在するらしいですが、今回は無視します。めんどくさいので。(え
さて、たとえば、ビッグエンディアンのマシンで0x1234ABCD(10進数で305441741)という数字をファイルに記録すると、ファイルには「\x12\x34\xAB\xCD」と記録されます。
このファイルをリトルエンディアンのマシンで読み込んで数字として解釈すると、その数字は0xCDAB3412(10進数で3450549266)となってしまいます。
こういった混乱を避けるためにもエンディアンをチェックしておくことは時として重要であると言えます。
2006/09/20(水) 01:23:45 (JST)2006/09/20(水) 01:23:45 (JST)
こちらのブログの更新は実に約半年ぶり。
ここもアクティブであるということを示すためにも、これ以上更新の間をあける訳にはいかないと一念発起。…まぁ、更新ぐらい一念発起するまでもありませんが。
2006/04/03(月) 04:53:59 (JST)2006/04/03(月) 04:53:59 (JST)
今まで回りくどい書き方ばかりしていたので、最低限プログラミングに関するエントリだけは回りくどさをなくそうかと思っただけで実行するかは不明。なんだそれ。
というわけで、今回はPerlでトラックバックを送信する方法のメモ。
まず前提知識。
基本的にトラックバックはHTTP POSTリクエストで送信します。
指定可能なパラメータにはtitle, excerpt, url, blog_name, charsetなどがあるらしいです。
title | トラックバックのタイトル |
excerpt | トラックバックの概要 |
url | トラックバック送信元URL |
blog_name | トラックバック送信元blog名 |
charset | トラックバック送信側文字エンコード |
※charsetに関しては対応していないブログがある可能性は大きい
────────────────────
もう一つ前提知識として、トラックバックをポストしたときにどんなレスポンスが返ってくるかも知っておいた方がいいと思います。
成功時のレスポンス(例)
<?xml version="1.0" encoding="utf-8"?>
<response>
<error>0</error>
</response>
失敗時のレスポンス(例)
<?xml version="1.0" encoding="utf-8"?>
<response>
<error>1</error>
<message>エラーメッセージ</message>
</response>
さて、Perlでトラックバックを送信するだけなら、トラックバックに関する知識はこの程度でいいと思います。
というか、これ以上の知ったかぶりは僕にはできません。(え。
さて、実際にトラックバックを送信するスクリプトを載せておきます。
2006/03/30(木) 23:59:59 (JST)2006/03/30(木) 23:59:59 (JST)
NSMutableArrayというと、Objective-Cのオブジェクトを順番に保持しておくクラスですが、実際に保持しているのはポインタなわけです。
ということは、オブジェクトぢゃないポインタも持たせることができるのではないかと思いやってみたわけです。
2006/03/14(火) 18:28:12 (JST)2006/03/14(火) 18:28:12 (JST)
さてさて、Perlというインタプリンタ言語はテキスト処理に強いってことで、専らCGIに使われていたりするわけで。
たとえば、
test.cgi
use strict;
print "Content-Type: text/plain\n\n";
print 'Always in motion is the future.';
__END__
というとても簡単なスクリプトはすでにCGIとしての機能を果たすわけです。
出力としては、
Content-Type: text/plain
Always in motion is the future.
となるわけです。
しかし、このままでは、HTTPのレスポンスとしては不十分です。そこで、Webサーバは、クライアントからリクエストがあった時には必要な(時に不要な)データを加えてレスポンスを返すのです。
ためしに、ウチのMacに最初から入っていたApache/1.3.33で試してみました:
HTTP/1.1 200 OK
Date: Tue, 14 Mar 2006 12:00:00 GMT
Server: Apache/1.3.33 (Darwin)
Content-Type: text/plain
Always in motion is the future.
ちゃんとStatus-Codeは200でReason-PhraseはOKということが加えられて返ってきています。
さて、では、200ではない値、たとえば404とかを返したい場合はどうすればいいのかという自らの内に秘めたる欲求が沸々と湧き上がって来ると思います。
来なくても来た気になるといいと思います。
2006/03/10(金) 16:48:57 (JST)2006/03/10(金) 16:48:57 (JST)
さて、
ひあるびWikiから記事をどんどん移して、ひあるびWikiの方を消してしまおうという魂胆ですよ。
これからは、「ひあるび」と「トイレットペーパーに字を書く筆圧で」の2大ひあるび系サイトを中心に更新していくわけです。
「2大」とかいって、ひあるび自体が小さい、もう、電子顕微鏡使わなきゃ見えないぐらい小さい存在ですからアレなんですが。“アレ”とか言って具体的日本語が浮かばない辺りがYOCKOWのボキャブラリーの少なさを物語っていますね。
…って、このままだとPerlの話になるまであと原稿用紙237枚分ぐらいの文章が要りそうなので、唐突に、もうそれは俄然Perlの話をば
2006/03/09(木) 13:30:00 (JST)2006/03/09(木) 13:30:00 (JST)
ブログを開設して早速なにを書くかと思えばASCIIコード表って。
しかし。
だがしかし、プログラミングをする上でASCIIコード表って結構役に立つのです。
たとえば、
2006/03/08(水) 20:42:28 (JST)2006/03/08(水) 20:42:28 (JST)
2006/03/08(水) 12:00:00 (JST)2006/03/08(水) 12:00:00 (JST)
ついに。
そう、ついに、この時がやってきたのだ。
この時のために生まれてきたのだ。
そう思えてきた。
いや思わずにはいられない。
この時。
ついに達成したこと、それは…。
2006/03/01(水) 12:00:39 (JST)2006/03/01(水) 12:00:39 (JST)
http://yockow.net/
本家のサイトもリニューアルしたので、このブログも.yockow.netドメインかのどこかに移動を検討。
時間かかりそうだけど。