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

httpステータスコードをチェックしてからXML解析

c xml

前回の記事で使ったlibxml2はhttpレスポンスヘッダのステータスコードの取得ができない。 まずCURLでhttpのヘッダ情報と本文を取得して、ヘッダのチェックをしてステータスコードが200なら本文をlibxml2に渡してパースするようにした。 yahoo!掲示板のRSSのi…

C言語のlibxml2を使ってwebAPIのXMLを解析

c xml

apacheモジュール内でwebAPIを呼んでXMLを解析する必要があるため、C/C++で利用できるXMLパーサを調べてみた。Cだと expat libxml2 C++だと tinyXml Xerces などなど他にもさまざまなライブラリがあるようだが今回はlibxml2を使ってパースしてみる事とした。…

telnetを使ってみる

とりあえずtelnetでhttpリクエストしてみる。 ヘッダ情報を取得する $ telnet www.yahoo.co.jp 80 Trying 124.83.139.192... Connected to www.yahoo.co.jp. Escape character is '^]'. HEAD / HTTP/1.1 Host: www.yahoo.co.jp HTTP/1.1 200 OK Date: Fri, 0…

w3mをfirefoxぽく使う

firefoxで利用しているキーバインドとemacs-w3mキーバインドを合わせてみた。alt-tで新規タブ作成 ctl-tabで次のタブに切り替えをできるようにした。 .emacs-w3m (setq browse-url-browser-function 'w3m-browse-url) (global-set-key "\C-xm" 'browse-url-a…

phpの連想配列

php

perlのhashにforeach()でアクセスする場合、格納した順番は保持されない。 でもphpの連想配列にforeachでアクセスする場合は格納した順番でアクセスされるみたいだ。これはとても重要なことだと思う。 初めてのPHP5 のp56に載っていた。web検索のクエリを投…

php-modeのコメント行シンタックスがおかしい

emacsのphp-mode-1.5だとコメント行にある >func() >var 等がコメントとして認識されずに色付きで表示されてしまうのが気持ち悪い。たとえばdoxgenとかでありがちな以下のようなコメント行だと色が付いてしまう。 /** * 検索 * * 検索して結果を返す * * exa…

初めてのperl

初めてのPerl作者: ランダル・L.シュワルツ,トムフェニックス,Randal L. Schwartz,Tom Phoenix,近藤嘉雪出版社/メーカー: オライリージャパン発売日: 2003/05メディア: 単行本購入: 14人 クリック: 420回この商品を含むブログ (293件) を見る 3年前にぱらぱ…

emacs上でリージョンを選択して実行する

PERL HACKSを立ち読みしてたら発見。 これも必須だな。 (defun perl-eval (beg end) "Run selected region as Perl code" (interactive "r") (save-excursion (shell-command-on-region beg end "perl")) )

perl開発に便利なemacs設定

perlを本気で勉強しようと思い、emacsを使った便利な設定をwebからリストアップしてみた。 perltidy インデント整形ツール。 選択したリージョンを一気に整形してくれるので、昔誰かが作ったインデントなしのプログラム等を一気に整形してくれる。 (defun pe…

pcl-cvsモードで色設定をする方法

cvsのある環境では emacs + pcl-cvs or vc-modeを使うのが普通だと思います。というかコマンドラインでcvsやsvnにcommitやdiffするのはあほらしいです。 僕はどちらかというとvc-modeよりpcl-cvsのほうが好きでvc-modeはほとんど使っていません。(というか使…

||=演算子

最近初めてのperlを読みながらperlについて勉強しています。 =演算子の意味がよくわからなかったけどこういう事らしい。 以下の2つは同じ。 $port ||= 8000; $port = $port || 8000; つまり$portが真でないならデフォルト値で8000が代入されるありがちな処理…

zsh最強シェル入門

zsh最強シェル入門作者: 中島能和出版社/メーカー: 翔泳社発売日: 2008/12/04メディア: 単行本(ソフトカバー)購入: 7人 クリック: 163回この商品を含むブログ (50件) を見るを読んだ。 その名の通りzshの入門書であって、決して「zsh Cookbook」ではないな…

XMLからスキーマ生成

素のXMLファイルからxsdやDTDといったXMLスキーマを自動で生成するツールが欲しかったのでwebで調べてみた。 フリーで今でもメンテナンスされていそうなのはTrangというツールしか見つけられなかった。 日本語訳されたページ使い方はシンプルで以下のような…

置換に改行を入れる方法

Query-replace等で置換する時に改行を入れたい場合、普通にC-jやC-mやreturnを打っても決定になってしまう。 こういう場合はC-q C-jで改行を入れることができる。置換前 void func() { void func() { void func() { void func() {query-replaceを行う M-x qu…

分割ブラウザ

firefoxにFox Splitter (旧称:Split Browser / 分割ブラウザ) :: Add-ons for Firefoxという拡張があると会社のエース級エンジニアに教えてもらった。その名の通りブラウザを分割できる拡張です。 その人は設定がめんどいとかで使っていないらしいが自分…

関数ポインタ

c c++

関数ポインタを触ってなかったら完全に忘れてしまっていたのでメモ。以下サンプルコードの3行目で引数がint, char*で戻り値がint型の関数ポインタの別名を定義している。 main関数の1行目でFuncを宣言してprint()やprintHello()のポインタとして使うことがで…