2007年4月の日記

30日

br要素を使う気は全く無い

br要素は、現在のテキスト行を強制的に区切る(強制改行する)要素である。

改行は視覚的な情報なので、br要素は物理要素である。物理要素を使う気は全く無い。

また、br要素を強制改行としてではなく、テキストの区切りとして使う場合も考えられるかも知れないが、その区切りによって分けられた部分をspan要素とかでマークアップする方が適切だと思うので、テキストの区切りとして使う気も無い。hr要素も同じ。

参照

29日

無題

一瞬ネタかと思った。プログラミング言語とマークアップ言語の違いが分からない人も居るんだな。

紅魔郷Hardとか

あと少しでクリア出来そうなのだが、stage6の後半で死んだ。本当にあと少しだな。多分。

26日

無題

らき☆すたを買った所為で金が殆ど消えてしまった。いつもの事だが。

本当にStrictなHTMLなのか

自分が書いているHTMLが本当にStrictだと言える自信は無い。常に自分のHTMLの書き方を疑い、其れを変える事が重要だと思っている。

例えば、100の質問のマークアップ。段落とリストの書き方について考えた結果、今の書き方にする事にした。以下に理由を示す。

此の方法が本当に適切か如何かは分からないが、疑う事は重要である。

25日

Twitter

流行っているらしいが、何故か使う気になれなかったりする。

改行をLFに揃える

CRの直後のLFを消しながらCRLFに置き換えれば出来そう。とりあえずコードを書いてみる。

24日

無題

らき☆すたをまだ買っていない私は負け組な気がしてきた。でも金が無いから買えない。orz

22日

秋葉原

例大祭カタログとかネギま!18巻とかを買ってきました。紅魔譚と東方乙女囃子は見付かりません。

21日

CGIの引数の処理

#include<stdlib.h>

struct tdl{
    struct tdl *next;
    struct tdl *prev;
    char *tag;
    char *data;
};

int hex(char *data,int digit){
    int result = 0;
    while(digit){
        if(*data >= '0' && *data <= '9'){
            result = result*16+*data-'0';
        }
        else if(*data >= 'a' && *data <= 'f'){
            result = result*16+*data-'a'+10;
        }
        else if(*data >= 'A' && *data <= 'F'){
            result = result*16+*data-'A'+10;
        }
        else{ 
            return -1;
        }
        digit--;
        data++;
    }
    return result;
}

struct tdl *decode_query_string(char *uri_data){
    struct tdl *pointer = (struct tdl *) calloc(1,sizeof(struct tdl));
    if(pointer == NULL){
        return NULL;
    }
    while(1){
        int str_size = 0;
        while(1){
            if(str_size%16 == 0){
                pointer->tag = (char *) realloc(pointer->tag,str_size+17);
                if(pointer->tag == NULL){
                    return NULL;
                }
            }
            switch(*uri_data){
                case '=':
                    *(pointer->tag+str_size) = '\0';
                    uri_data++;
                    goto tag_end;
                case '&':
                case '\0':
                    return NULL;
                case '%':
                    if(-1 == (*(pointer->tag+str_size) = hex(uri_data+1,2))){
                        return NULL;
                    }
                    uri_data = uri_data+3;
                    break;
                case '+':
                    *(pointer->tag+str_size) = ' ';
                    uri_data++;
                    break;
                default:
                    *(pointer->tag+str_size) = *uri_data;
                    uri_data++;
            }
            str_size++;
        }
        tag_end:
        str_size = 0;
        while(1){
            if(str_size%16 == 0){
                pointer->data = (char *) realloc(pointer->data,str_size+17);
                if(pointer->data == NULL){
                    return NULL;
                }
            }
            switch(*uri_data){
                case '=':
                    return NULL;
                case '&':
                    *(pointer->data+str_size) = '\0';
                    uri_data++;
                    goto data_end;
                case '\0':
                    *(pointer->data+str_size) = '\0';
                    return pointer;
                case '%':
                    if(-1 == (*(pointer->data+str_size) = hex(uri_data+1,2))){
                        return NULL;
                    }
                    uri_data = uri_data+3;
                    break;
                case '+':
                    *(pointer->data+str_size) = ' ';
                    uri_data++;
                    break;
                default:
                    *(pointer->data+str_size) = *uri_data;
                    uri_data++;
            }
            str_size++;
        }
        data_end:
        pointer->prev = (struct tdl *) calloc(1,sizeof(struct tdl));
        if(pointer->prev == NULL){
            return NULL;
        }
        pointer->prev->next = pointer;
        pointer = pointer->prev;
    }
}

何か無駄に長い気がする。もう少し短くしろよ、俺。

RSSと連携して巫女さんがしゃべるデスクトップマスコット「Apricot」

如何見ても霊夢です本当に(ry

20日

掲示板用CGI

C言語で掲示板用CGIを作ろうとしてみるテスト。完成したら公開する積もり。

17日

無題

12日

ディスプレイが腐ってる

#000#333が殆ど同じ色に見える。其の所為でDark Style 3が良く見えない。このCSSは大丈夫なのだろうか。自分で作ったのに疑いたくなる。取り敢えず日記に適用してみたので何か変だったら言ってください。

11日

正しくHTMLを書こうと心がけている人に5つの質問

答えてみる。

  1. 質問

    HTML文書を制作する際に使用しているプログラムをお答えください。(Webプログラムも含む)

    回答
  2. 質問

    採用しているDTDとその理由をお答えください。

    回答

    XHTML 1.1 plus MathML 2.0 plus SVG 1.1を使っています。数式が使えるのが便利なので。

  3. 質問

    何故正しくHTMLを書いているのですか?

    回答

    楽だから。

  4. 質問

    W3CWHATWG、どちらに期待してますか?

    回答

    WHATWGを良く知らないのでW3Cに期待してみる。

  5. 質問

    あなたにとってHTMLとは何ですか?

    回答

    色々な用途に使える文書形式。

季節

桜の木が緑色に見える様になってきたのを見て、花見の時期が終わった事を感じた。

8日

メールアドレス

増えすぎて困る。自分でも幾つ持っているのか分からない。実際に使っているのは五つだろうか。多すぎ。

5日

CSS Naked Day

参加しようと思って色々弄ったらxml-stylesheet処理命令を消してしまった。戻すのが面倒なので放置する。いつか戻すかもしれない。

因みに、間違えて消しただけなのでCSS Naked Dayに参加しているわけではありません。

3日

ドラゴン曲線

2日

Print Style

ちょっとだけ変更。多分誰も気が付かない。

#d_01_03

当然嘘です。幻想卿探してみたいけど時間がありません。

1日

幻想卿

幻想卿を探す旅に出ます。探さないでください。

秋葉原

買ったもの
予約したもの

花見

結局自分で計画を立てました。私を含めて二人しか来なかったので結局秋葉原に行きました。

ところで、東方乙女囃子がホワイトキャンバスに行っても無いのだけど何処にあるのだろうか。誰か教えt(ry