タイトルリスト
「最"新"の日記」テーブル追加(2005/09/01 00:08:32)
XMLパースエラー?(2005/09/01 00:08:32)
トラックバックping受信通知(2005/09/01 00:08:32)
DSBLを使用したSPAMコメントの回避(2005/09/01 00:08:32)
jcode.plとJcode.pm(2005/09/01 00:08:32)
さくら混沌版更新(2005/09/01 00:08:32)
さくら混沌版α公開したいけど(2005/09/01 00:08:32)
さくら日記帳MySQL版更新(2005/09/01 00:08:32)
連想配列って難儀すぎ(2005/09/01 00:08:32)
やっつけしごとのテンプレ(2005/09/01 00:08:32)
さくらV3(2005/09/01 00:08:32)
さくら 3.0.0 開発中(2005/09/01 00:08:32)
さくらB70、これまずいでしょ(2005/09/01 00:08:32)
表示速度と処理速度(2005/09/01 00:08:32)
Web日記帳 "さくら" Rev-2.0.0 BETA:70 不具合相談(2005/09/01 00:08:32)
0 | 1 | 2 | 3 | 4 | 5 | 6
 2005/04/11
「最"新"の日記」テーブル追加
数日前の日記を追記したり修正したりする事が多くなったので、プラグインで「最の日記」テーブルを作成。
左バー内に仕込んであります。

  - NO COMMENT -
TrackBack URL:[]
 2005/03/29
XMLパースエラー?
どうやらエラーが出ているようなので原因調査開始。
スペース?



原因判明。
< と > を特殊文字にしておりませんでした。(ぉ
ちなみに description でのスペース使用可否は「使ってもいい」はずです。(汗)
  • Casper-01:あくまで「ERRORメッセージ」ですんで ('ω';)
TrackBack URL:[]
 2005/03/18
トラックバックping受信通知
っつーのがメールで飛んで来ていてかなりビビッた。('A`;
誤報かと思ったらトラックバック受けてるし。

正常動作イイ(・∀・)!!
  - NO COMMENT -
TrackBack URL:[]
 2005/03/14
DSBLを使用したSPAMコメントの回避
まだ SPAM コメント食らったこと有りませんが先回りという事で。

メール系の公開ブラックリストデータベース (BLDB) の事を調べていると、このデータベース、実は IP アドレスのオクテットを逆さまにして BLDB のチェック用ドメイン名を付加したものを正引きしている仕組みという事。
実に簡単な仕組みなので「これは何かに使えるかも!?(゚∀゚)」と思っていた矢先、DSBL でググって見ると、やたらと "MT-DSBL" というのがひっかかる。
で、これってなんだろう?と思って調べてみると、どうやら今流行の MovableType 用のアンチ SPAM トラックバック用プラグインらしい。

そこでひらめいた。

DNS で正引きチェックによるチェックなら Net::DNS 入れちまえば対応できるのでは?

という事で早速作ってみたプラグイン "reject_blh.pl (Reject BlackListHost)"。
機能は以下の通り。
  • ローカルブラックリスト対応。
    IP アドレスはホスト単位とネットワークアドレスの両方をサポート。
    ホスト名は後方一致もしくは完全一致をサポート。
    ホスト名のみ正規表現対応。
  • 今のところ DSBL のみ参照しているが、ユーザーの任意で他の公開ブラックリストデータベースを登録可能。
  • ローカルホワイトリストは現在未対応。
    そのうち対応しないとだめかも。
正直、こいつが有効に働くことはないと思う。_no

自己満足イイ(・∀・)!!
  • G兄:というわけで本採用のためテスト。
TrackBack URL:[]
jcode.plとJcode.pm
caladiumを久しぶりにメンテしていたんだが、なぜか UTF-8 な文字コードが変換できない。
なんでかなー?と思って調べてみたら jcode.pl って UTF-8 サポートしてないのね・・・。_no

という事で Jcode.pm つっこんで試してみたところ無事変換できた。

これから jcode 系使うときは Jcode.pm 使うか。
  • 窓枠:この話題、1年かそこら前に兄様と某所で話した気がするんですが。
    そんとき兄様「へ〜(ダダダダダん」とか言ってたような。
  • G兄:えぇ!?マジスカ!?
    全然覚えてない・・・。orz
TrackBack URL:[]
 2005/03/07
さくら混沌版更新
さくら混沌版更新しますた

一応必要なファイル及びインストーラー (sh シェル) を固めておいたので、人柱になれる方のみご利用下さい。
テンプレートも基本テンプレートとなる sakura.template 及びカレンダーを縦型にしたテンプレートの 2種類を入れています。

機能強化はここで止めておいて、先に調整に入ります。
まだまだ中途半端に放置プレイしてるところがいくつも。(ぉ

ちなみにドキュメントはありません。
  • 蝦兄:テスト版ページ覗いてみたら文字コード混在でものすごいことになってた(汗)
  • G兄:(;・3・)あるぅえ〜〜?
    混在してる?
TrackBack URL:[]
 2005/03/03
さくら混沌版α公開したいけど
設置が死ぬほどマンドクセ('A`)


このまま葬り去ろうかな。
イヤマジデ。
マトモに動かす方が大変。

とりあえず圧縮はしておいた。
マニュアルなんざ特殊タグの簡単な説明しか有りません。
テンプレート参考にして自分らしくテンプレ作ってくれとしか今はいえないレベルです。
質問は受け付けるけど答えられるかは不明。
  • namelist.txtは正規表現をサポート出来なくなりました。
    正規表現で書いてる人は元に戻してください。
  • ログファイルはそのまま使えます。
    log ディレクトリにそのままコピーでおk。
  • sakura.ini は一応そのまま使えます。
  • スクリプト系は全て変更されているので流用不可。

人柱版
  • あぞっち:むう・・・弄ろうにも時間が (ぉ
TrackBack URL:[]
 2005/02/25
さくら日記帳MySQL版更新
というわけで、こっちで話している修正を施したのと、さくら日記帳混沌版で採用した完全テンプレート化を実施。



マジで死ねた。=□○_



高機能化しているのでテンプレに必要な独自タグの数が多くなり、正規表現で置換する部分がかなり多い。
その量、恐らくさくら日記帳混沌版の約 2倍。
ファイルサイズにすると約 3倍か。

いや、マジ死ねるから。('A`)
つか テンプレ書くヤツも死ねる。('A`;

まぁ作ってしまえばあとは放置プレイでおkうぇwwwwなので別にかまわんのだが・・・。

絶対バグありそうだよなぁ・・・。

ちなみにココまで重装備にしても内部処理的には 0.3秒くらい。
問題は表示が遅いことだけ。
ここらへんはぼちぼち考えるか。
  • G兄:ちょいとテスト。
    同日のつっこみが上がらないっぽい。(謎
TrackBack URL:[]
連想配列って難儀すぎ
野暮用でこんなスクリプトを作らなければならないので作ったんだが、結果があまりにも酷かった。
#!/usr/bin/perl

$TEST{'STR'} = 'PC';
$TEST{'STR'}{'1'} = 'STR-1 values.';
$TEST{'VAL'} = 2;
$TEST{'VAL'}{'2'} = 'VAL-2 values.';
$TEST{'DAT'} = "テスト";
$TEST{'DAT'}{'3'} = 'DAT-3 values.';

td();

sub td {
        foreach $mk (keys %TEST) {
                print ">$mk\n";
                foreach $sk (keys %{$TEST{$mk}}) { print ">     $sk: $TEST{$mk}{$sk}\n"; }
        }
        return undef;
}
メインカテゴリとサブカテゴリを表示するというスクリプトなのだが、以下のような結果を期待していた。
>>>STR
>1: STR-1 values.
>>>VAL
>2: VAL-2 values.
>>>DAT
>3: DAT-3 values.
しかし結果はあまりにも無惨で以下のような結果となった。
>>>STR
>>>VAL
>2: VAL-2 values.
>>>DAT
>3: DAT-3 values.
連想配列名 "STR" のサブ連想配列が出てこないのだ。
これにはまいった。
何がまいったかというと、1バイト文字列では出てこないのに、2バイト文字列もしくは数列にすると "VAL" と "DAT" のように出てくるのだ。


これは使えない。('A`)


流石にユーザーに「カテゴリ名(表示用)はかならず 2バイト文字から始めてね」などと恥ずかしい指定は出来ない。
しかたがないので %CATEGORY と %SUBCATEGORY を作成して対応。

うーん、美しくない。

で、この影響なんだが、実は右テーブルのカテゴリリスト内にある「PC関連」に影響が出ていた。
なんと、サブカテゴリがいくつかあるのにそれが出てこず 1つのカテゴリにしかなっていなかった。(汗)

今までは普通に動いてたんだけどなぁ・・・。('A`)
  • たわし:>流石にユーザーに「カテゴリ名(表示用)はかならず 2バイト文字から始めてね」などと恥ずかしい指定は出来ない。
    だから、マスタテーブルで管理すればヨロシ
    テーブル結合で無問題
  • G兄:いや、連想配列を使う時点でアウトなんですよ。
    使わなければいいっつーのは無理な話で・・・。
  • tnjhttp://nothing.sh/temp/050225_test.pl
    これでいいんじゃ?
  • G兄:おぉ、それでいけましたありがとん!
    でもなんでkeysで例の構造だとダメなんだろう・・・。
  • tnj:よくわかんないけど、とりあえず元のコードでもうちではちゃんと動作したんですけどね(えー
    ActivePerl 5.8.6 @ WinXP と Perl 5.8.2 @ Linux で確認。
  • G兄:うちだとダメだった・・・。

    で、今確認したら再現しない。
    なぜ!?
TrackBack URL:[]
 2005/02/23
やっつけしごとのテンプレ
さくら日記帳 V3 (混沌期) のやっつけ仕事テンプレを採用した例を展示中。
Azoしゃんは喉から手が出るほど欲しい仕様かもしれない。



まだ出せる段階
じゃないですから!!
残念!!!!



死んでもイイならダスト行ってみるテスツ。
「間違いなく死ぬ」に「おか泉」のざるうどん 1人前。

表示周りはまだ微妙に採用していない機能があるけど書き込みと修正の部分はほとんど弄ってないから普通に書けるはず。



とおもったら、MySQL 版でさっさとやりたいけどかなりマンドクセ('A`)なカレンダー縦置きのテンプレートが先にこいつで実装してしもたよ・・・。_| ̄|○
しかもなにげに全部テンプレート化完了してるし。

MySQL 版を一部追い抜いてますから!切腹!!!!!!
  • 蝦兄:おつかれさんです.
    ってか,良い感じじゃないですか.
    まだデバッグとか大変な段階だろうけど,途中経過がコレだと完成がかなり楽しみですw
  • あぞっち:ほほぅ、これは・・・
    いぢりがいがありそうな仕様ですな (フフフ
TrackBack URL:[]
 2005/02/22
さくらV3
窓から投げ捨ててイイッスか?





HTLM 構築部分がクソ過ぎて自分に対して腹が立つわ・・・。






1から新造しようかしら。



その(・∀・)後。








やっとひな形出来た。_no
もうやだこのスクリプト酷すぎ修正されるねうぇ。

さらにその(・∀・)後。

さくら日記帳の V3 爆弾バージョンがとりあえず表面上は修正完了。
記事全体をテンプレート化する事で、スクリプトのバージョンアップが行われても見た目の修正は一切行わずに済むというのは見た目を変更している人達には朗報かもしれないが、逆に初期導入時に基本テンプレートを修正しなければならないので結構手間がかかる。
まぁこのあたりは諦めてもらうほかあるまい。
この関係で ini ファイルに保存している設定のほとんどが消えることになると思う。
  • 蝦兄:なんだなんだ「爆弾ver.」って(^^;)
  • G兄:α版よりもたちが悪い、何が起こるかわからないバージョン。(ぉ
    つかマジで何が起こるかわからんよ。
    中身がスパゲティより酷いので・・・。_no
TrackBack URL:[]
 2005/02/21
さくら 3.0.0 開発中
あまりにも修正個所が多いので、メジャーバージョン番号を 1つインクリメントすることにします。(ぉ

内部がいい具合にカオスしてます。(プゲラ

ちょっとだけメモ。
  • 本文部分をテンプレに統一
  • 記事修正や投稿は初期ログインが必要だが、その後はログアウトするまで状態保持
  • スクリプトやログ全てを SJIS に統一。
    ※正直、なぜ SJIS で作り始めたのかがわからない・・・。

  • 窓枠:んーっとEUCじゃダメなんですか?
    SJISを必要とするのって蔵側だし、蔵ならEUCやらCRだのLFだのを
    意識して扱えるテキストエディタ用意しやすいと思うのですー
    CGIにしろなんにしろ鯖側にSJIS扱わせる事に対して個人的に抵抗が
    あるだけなのですがー
  • G兄:オレも激しく嫌なんですけどね。→鯖側でSJIS
    ものすごー(もう嫌になるくらい略)ーく面倒だし。
  • G兄:あ、ちなみにMySQL版は全てEUCです。
TrackBack URL:[]
さくらB70、これまずいでしょ
めっちゃくちゃヤバイ脆弱性発見。

対象:B70 以前の全てのさくら日記帳

先に緊急リリースしておきます
ついでに EUC 問題も削っておきました。
以下は修正方法。
簡単なコード追加なのでこれで対応してください。
修正方法:
sub init { 行の次に以下の行を挿入。
    error("パスワードが違います。") if !check_password($FORM{'writekey'});

sub config { 行の以下の行を参考に挿入。
    <form action="$script" method=POST>
    <input type=hidden name=mode value="init">
    <input type=hidden name=writekey value="$FORM{'writekey'}">  ←※追加

EUC を SJIS にする場合は以下の行を削除。
    sub regist { ルーチンにある以下の行
    
    # ログファイルが存在しなければ新規フォーマットで書き込み
    else { $formtmp = "$FORM{'weather'},$FORM{'subject'}\n$FORM{'comment'}"; }
    jcode::convert(\$formtmp, 'euc');  ←※これ
設定ファイル消えてたら呼んでください。バックアップこっちで確保しますた。→蝦・あぞーさん・Casper-01さん・山銀さん
それにしてもまぁ、よくもパスワード認証なしに設定の保存ルーチンに飛ばしてたもんだ。

バグメモ
  • 設定画面で "" を使ったタイトルを使用したとき、もう一度設定しようとすると消えている
    →type=text を使っていると全部出る。
    s/"/&quot;/していないのが原因。
今回のさくら日記帳で更新はひとまず止めます。
いや、内部がかなりカオス化してるので整理しないと。
MySQL 版で覚えた技術も取り入れたいですし。

MySQL版の方もあるので折り合い見ながら両方同時進行で調整かけながらにします。
ということで EUC 保存に関しては上記を参考にして無効化しておいてください。
  • 蝦兄:その前にそもそも7X系自体が動かない罠・・・(汗)
  • G兄:つっこむ所は似たようなもんッス。
  • 蝦兄:意を決してフルバージョン入れたら動きました.
    ついでに「真っ白でストップ」の原因判明.
    どうもnamelist.txtを旧来の物で使ってるとNGのようです.
  • G兄:>namelist.txt
    およ?MJSK?
    触った覚えないんだが・・・。
    って
    旧  来  っ  て  い  つ  で  す  か  。
    すんげー過去じゃないかと疑ってみるテスツ。
  • 蝦兄:namelist.txtも文字コード縛りを受けてるんではないかと・・・
  • G兄:あ、もしかしてnamelist.txtってEUCベースだから?
    こっちもSJISベースにしないとだめやね・・・。
    そういや触った覚えがおもっくそあるぞ。
    シャア専用ルーチン仕込んだアレだ。
  • 蝦兄:ですな,おそらく.
    内部で変換してあれこれ・・・とやるよりEUCならEUC,S-JISならS-JISでバシッと決めちゃった方が安全なんでしょうね.
    あるいはオプションなんかで使用するコードを決めさせて「EUCの場合はこっち」「S-JISの時はこっち」と,処理の初っぱなの方にフロー分岐を置いて完全に住み分けるとか.
    namelistもログもその設定に準拠する形で読み込むようにして,処理の行程から「変換」と言う作業を追い出してしまうのはちょっと強引ですかね(^^;)

    しかしその場合はログの文字コード(特にEUC←→SJIS乗り換え組)を変換させる手段が必要になって面倒か(汗)
  • G兄:切り替えは出来ないですな。
    それすると変換の工数が凄いことになります。
    一番の問題は s/// が SJIS だとマトモに使えない・・・。
  • Casper-01:>namelist.txt
    家も旧版ではS-JISで動いてました。
    で、継承させたら文字化けの嵐 |;ω) ニャー
    EUCで入れたら治りましたけど。

    因みに私はTapeEditorって言う、色々な文字コードや改行を扱えるエディタ使ってます。
    だもんで、EUCでもS-JISでもどっちもOKです。
TrackBack URL:[]
 2005/02/20
表示速度と処理速度
現行の nikki ディレクトリ内のスクリプトをやっと新型に入れ替え。
というわけでテンプレートとかが現行のこの日記で有効に。

現在問題視しているのは、先の日記でも触れた日付単位での表示をさせた場合、ローディング時の表示が遅いこと。
内部処理は、一番下を見てもらえるとわかるのだが 0.2s くらいで終了しているのが不思議不思議。

というわけで各ポイントで停止させて何が悪いのかを調べてみたが、どうも日付を元に取り出すと遅くなる模様。
それ以外 (カテゴリや記事番号) だと普通に早い。

左バーを表示させない、記事の表示もしない純粋に記事データを引っ張ってくる時間だけを見てみると、日付単位で取ってくるのが平均約 700ms に対してそれ以外だと平均約 420ms。
特にコレといって特別なこともしてないんだけどなぁ、という事でデータベースの方を見てみた。
すると日付フィールドがインデックスになっていたのでコレを外してみたが特にスピードは上がらず。
で、もう一度インデックスマークを付けてみると微妙に早くなって平均約 560ms。
できれば現時点で最速の 420ms 近くは出したいところだが原因が全くわからん・・・。
  - NO COMMENT -
TrackBack URL:[]
 2005/02/19
Web日記帳 "さくら" Rev-2.0.0 BETA:70 不具合相談
なんやら各地でちょっとした不具合がいろいろと出ているようで。
新規でエントリーしましたんでつっこみでいろいろとお願いします。
× 真っ白になる
○ 書き込み時のバックアップファイルが書き込めない
$log_backupfileで指定したファイルは正常に書き込まれたら削除されるので、ファイルが書き込まれるディレクトリはパーミッション 777 である事が必要。
△ RSS ファイルに固定の URL が書き込まれている
該当個所を確認したが、固定で書き込むような記述は無し。
他の人どうなってます?
rdfdata.rdf が雛形になってます。
そちらを修正してください。
中途半端に雛形にするなら固定の方がいい?
△ 新規書き込み→既存の日記と同日付で追加
非常手段でありまともにチェックしてませんというかそもそも EUC と SJIS が混じってるから不具合出るかも。
たぶん追記の時に文字コードチェックしてないとか変に変換してるとかそんな感じの予感。
○ RSS の修正って?
& を &amp; に変換するようにしました。
でないと sage などでパースエラーが出ます。
△ 既存記事に新規書き込みで追記すると文字化け
残念ながら再現できなかった。
ファイルに書き込むときは新規と既存の区別はないので同じサブルーチンを使用している。
ちょいと変なところで文字コード変換が入ってます。
それを除去すると SJIS になります。
で、このままだとらちがあかないので全部書き換えてみようかなと考えている。
そこでアンケート。
  1. ログそのものは SJIS と EUC どっちがいいですか?
  2. ログオン方法は現在前入力と後入力になっていますが、これを前入力のクッキーによるセッション保持に変更して良いですか?

  • 山銀:>RSS ファイルに固定の URL
    見てみましたが、rdfdata.rdf の中の記載文っぽい感じですねぇ。
    うちの日記は何とか動作しているっぽいんですが・・・以前と何か違う感じもします。
    で、ファイルを再アップしたところ・・・XML ページを表示できませんエラーが出ました。
  • 山銀:上に投稿した以前と何か違う感じですが・・・
    以前は、RSS のアイコンをクリックすると・・・ファイルをダウンロードしたんですが・・・今はソースが表示されます。
    まぁ、私が RSS に関して把握出来ていませんので何とも言えませんです。
  • 山銀:XML ページを表示できませんエラーですが・・・時間が解決するみたいです。お騒がせしました。
    で、デフォルトのままの rdfdata.rdf を入れると同様の症状になる事を確認しましたです。
  • G兄:あ、そうか、rdfdata.rdf が雛形になってるの忘れてました。(汗)
    ダウンロードから表示になったのは、apache をそういう風に変更したからです。
    本来は表示する設定にならないとダメだったような希ガス。
  • 蝦兄:うちも「真っ白」「rdfの中身がよそのURLで固定」が再現してます.
    RSSの全容を把握できてないので,どこをどうなおせばなおるのかはまだ未調査です.
    ちなみに乗っ取られるURLはG兄日記(笑)
  • 蝦兄:あと,旧記事への新規書き込みでの追記の件ですが.
    新バージョンになった状態で新規書き込みした日記にさらに新規で追記しても盛大に文字化けするようです(汗)
    それを編集モードで削ろうとすると,旧記事だけは文字化けせず表示されて新記事だけ化けた状態で編集モードの表示が出てくるみたいです.

    と言うことは,最初の新規記事とあとから追記される記事とで文字コード違ってるって事なのかな?
  • 蝦兄:rdfdata.rdf 書き換えたら今度はアイコンつっついでもなにも表示されなくなりました(汗)
  • G兄:>蝦
    ん?今sageに放り込んでみたけど正常に受信できとるぞ?
  • G兄:>文字化け
    ウチでは再現しねー・・・。orz
  • 蝦兄:rdfはどうも時間が解決してくれたようです( ̄▽ ̄;)
    文字化けの方は直らないですねぇ・・・もしかしてデフォでEUC使ってる人とそうでない人とで違いがあるのかな?
  • 蝦兄:状況としてはこんな感じです>文字化け
    ・全くの新規→正常
    ・上記記事に新規で追記→その日の記事が全部化ける
     ※その日以前のログは正常のまま
    ・編集モードで追記部分を削除更新→既存分は正常に戻る
     ※このときの編集モード上では既存分が正常,追記分は化け
    ・編集モードで追記分を残して更新→既存分含めて文字化け
     ※どうも追記分が残ってるか否かで結果が分かれる感じ
    ・化けた状態でエンコードをEUCに→化け記事は正常,以外は化け

    と言うことでやはり文字コードがどこかで悪さしてる感じがします.
    感じからすると新規→S-JIS,追記→EUCで吐かれてるのかな・・・そんな感じです.
    なぜ新規追記で既存記事まで一緒にEUCになるのか,編集モードで追記記事の有無で結果が変わるのかがちょっと謎のままです..
  • G兄:log ディレクトリにファイルが出来るので、その文字化けしたログをもらえますか?
    あと jcode.pl は最新ですよね?
    一度 $wd の処理周りを一新しないとだめやねこれは。
    for MySQL バージョンではここらへん綺麗にしたんですが。(ぉ
  • 山銀:>ダウンロードから表示になったのは、apache をそういう風に変更
    了解でふ。
    >文字化け
    うちの環境(といっても雷Gさんとこの鯖ですが)では再現しませんねぇ。
    >真っ白になる
    これは経験があるのでBETA-70を新規に作成してみましたが無問題。BETA-69以前から移行する時に問題があったのかな?
    と思ったんですが・・・不定記の方は問題なく出来ているので謎のままでふ。
    あの時、ファイルを1つずつ差し替えれば分かったのカモしれませんが・・・すでに遅し。(汗)
    >jcode.pl
    そういえば、本環境の方は最新を使っていたが、テスト環境の方は古かったような気がするなぁ・・・もしかしてその可能性がありそうな予感。
  • 山銀:>中途半端に雛形にするなら固定の方がいい?
    rdfdata.rdfに記載されているchannelとdescriptionは書き換えてねとREADMEに記載すれば良いだけで宜しいのではないかと。
  • あぞっち:新規で作成されるログはsjisかな?普通に秀丸で開くことができる。追記部分はeucで開かないとみえない。
    で、sakura.cgiをみると、追記フォーマットの書き込みの前にeucに変換しているように見える。
    謎なのは、昨日の午前中まで(すなわちさくらを改造する前まで)は追記もsjisだったもよう。
    昨日の記憶をたどると・・・
    金曜日までrdfファイルへの書き出しがうまくいってなかったので土曜日に原因を探っていた。で、rdfdata.rdfとか少しいぢったらrdf関係はよくなった。その後、追記がうまくいかなくなったような気がする。rdfへの書き出しはeucみたいだから、rdfへの書き出しがうまくいくようになったのと、ログへの追記がeucで書き出されるようになったのとがリンクしているようにも思える・・・(素人考えだけど)
    追記の前のeucへのコンバートをやめれば・・・って表示されるレイアウトまではいじれても、そこまえでは人様のプログラムをいじれないので、とりあえずやめておこう。
  • あぞっち:そこまえでは→そこまでは
  • 蝦兄:jcode.plを更新したけど駄目みたいです.
    ちなみに化けてるログはこちらにアップしておきました.
    http://www.tk-works.homeip.net/support_data/20050220
    下の方にちょろっと入ってるところに「テストで書き込み」的なメッセージを入れてあります.
    どうも新規で吐かれてるログと追記で吐かれてるログとで文字コードが変わってるのは間違い無いっぽいんですが・・・
    ちなみに日記帳の閲覧状態時のソースには「このページはS-JISですよん」と言うヘッダーが入ってますね.
    sakura.cgiの中にもそれを指示するような記述がある感じですがこれは影響してないのかな?
  • 蝦兄:BETA-59で正常稼働を確認しました.
    どうもrdfの実装前と実装後で違うことが判明.
  • 蝦兄:で,開発履歴を見ているとBETA-61で「吐き出されるログをEUCに固定」とありますよね.
    これと既存のログの文字コード種別,cgiの方で指定されてる「表示時にS-JISで」に代表されるS-JIS関係の指定が喧嘩してるような気がしてきました.
    現状自力で解明できるのはこの辺までかな?
  • G兄:どうも本格的に書き込みルーチンの部分を変更する必要があるようやね。('A`)
  • G兄:基本を全てEUCで書き直した方が楽かもしれない。
  • G兄:追記で化ける件、たぶん757行目から774行目付近だろうなぁ。
    この状態だと、完全新規の場合は必ず EUC だけになるはず。
  • G兄:蝦の言ってたことが今ようやっと理解したよ。
    旧記事に新規モードで追記した場合は文字コードがEUC固定されてるので無理ですね。
    SJIS に戻そうか?
  • Casper-01:家も正常に更新できました 'ω')ノ
  • 蝦兄:>やっとわかった
    説明がヘタでスマンですw

    >文字コード
    「混在環境が問題」と言うのがはっきりしたところで,日記ページ全体の構成を統一するのが第一なんですよねぇ.

    EUC・・・どうもまだ全体的にS-JIS優勢な感があるのか,メモ帳やそれに準ずる軽いエディタでEUCを読み書きできるのが少ないっちゅーのがネックなのか,なんか取っつきにくい印象がまだ消えない(^^;)
    そう言う意味ではS-JISに統一対象を合わせるのが良いんだろうけど・・・G兄的にはEUC推奨なんだよねぇ?

    例えば
    ●ログをEUCで吐くかS-JISで吐くかをオプションで選ばせて,あとは各ルーチンがその設定を見ることで最終的に吐き出すログや日記本体のエンコードを動的に決める
    ・・・と言う方式なんかだと,カバーできるユーザーパターンは広がるんだろうけども.
    一方でそう言う複雑な機能を持ったcgiを起こすのが面倒ですわな(汗)

    または
    ●ログファイルを吐くときに一緒に文字コード情報も残すようにして,追記の場合はそこを参照することで次に書き込まれる部分のコードを決定させるようにする
    あとこの場合旧来たまってる膨大なログファイルの扱いについて問題が出ると思うけど,それらの文字コードは各ユーザーごとにずっと変更無く来てると思うので,簡単なバッチファイルとかコンバーターみたいなので任意の文字コード判別子を一気書きさせて対応とか.
    で最終的に読み出すときにログファイルに残ってる文字コード判別子を見て適宜EUCなりS-JISなり,日記帳本体の文字コードにあわせて変換して完了
    なんてのは・・・やっぱスマートじゃないか(汗)

    うーん,どうしても「新旧混在の整合をどこで取るか」っつーのがネックになりますな・・・
  • 蝦兄:・・・と書き込んだところでアンケートが出てるw

    個人的にはS-JISが良いかな,サイト全体がS-JIS構成なのと↑にも書いた通りでEUCを読み書きするのにWindows環境だと一癖ある(別途ツールが必要かつメモ帳感覚で使える軽いのがなかなか無い)と言うのが理由でし.
    つーか,現状EUCのドキュメントは閲覧はWEBブラウザ,編集に至ってはWORDとかそれ系の大物アプリ使ってるくらいなので(ぉ>うち
  • G兄:アンケート項目、1項目追加。
  • 蝦兄:いま後入力で慣れてるので何とも言えませんが,とりあえず動くならどちらでも体の方を合わせます(笑)>パスワード
  • 山銀:>アンケート
    1 : 見てみたら古いログはS-JISで現行のヤツはEUCなんですね。私は文字コードはどちらでも良いんですが・・・Win環境だとS-JISが何かと有利カモ。
      # S-JISとEUCの良い点とかの違いがイマイチ把握出来ていないので何とも。(汗)
    2 : 私は前入力派なので・・・そちらが楽です。(^^;
  • G兄:EUCにしていた理由として
    ・Windowsからはどうせさくらのエディタでしか編集しない
    ・ログを直接触るのはEUC環境のUNIX系OS上なのでEUCのほうが親和性が高い
    ・さくらをEUC化すると文字列置換などでスムーズな操作を行える
    という理由だったんですが、とりあえず全てをSJISで行います。

    正直、全てを EUC にしたい。
    多用する文字列置換が死ぬほど面倒というかSJISのせいで不要なコードが肥大化・それがバグを呼ぶという悪循環に。
  • たわし:>文字コード
    サポート対象はEUCのみ・・・って仕様にしてそれ以外を切り捨てるのもあり(ボソ
  • G兄:うん、まぁSJISで組むのは今回限りで・・・。
  • 蝦兄:ざっっくりどっちかに完全統一される分には全然OKです.>文字コード
    SJISでたまりにたまった旧来のログを救えるならば・・・(汗)

    いっそ旧ログを思い切って破棄っつーんも手ですが(ぉ
TrackBack URL:[]
0 | 1 | 2 | 3 | 4 | 5 | 6
QRコード
携帯サイト試験運用
https://griffonworks.net/nikki/cgi-bin/k.cgi
1行板

備忘録
  • 無し
物欲リスト
  • Canon RF50mm F1.2L USM
  • SIGMA 20mm F1.4 EF Art
  • ニンバス チヌーク
  • OCB-1 ST II
ツーリング ドライブ兼野外撮影予定リスト