いろいろあって日記更新できずに申しわけありません
今日は帰省ラッシュのためスカイメイトでは乗れそうもないので明日の飛行機で帰る予定でございます
詳しい報告等はその機会にでもぼちぼちとさせていただきます
ではこの辺で失礼…
本日, やっと聖狐は東京に帰ってまいりました
北海道の実家では無理だの何だの言っておきながらちゃっかりIS-Chatにも3回ほど出没していましたが, 人のいる時はしかも居たのはChatサーバ管理人(というより所有者)のとしさんだけ, 残りは彼のゴーストと無脳達だけ…1度しかありませんでした
帰省中に碧天アンテナさんがダウンしてしまって別のアンテナで急遽捕捉を開始したそうでカウンタが恐ろしい勢いで回っていますがこれについては後日同時にAC3000のキリ番の位置が変わるのでもしかしたら捜索するかも知れません(修正前の3000さんが居たらそのままページに載せますが…)差分を修正させていただきます
向こうではフランス語は寝る前にちょこっと, 本当にやったんだってば~スキーとポケモン三昧でございました
年賀状とかについては管理人は寮の隣人から唯一来た1枚と数通の年賀メールには個別に返事メールを出しましたが…自発的には全く出しませんでした
今年は全く来ないだろうなぁと思って帰ってきて寮の郵便受けを見るとFalcomさんから年賀状がきていた, 意外だったので驚き, ついでに嬉しがってました人間からの年賀状は案の定1通も着ていませんでした, 喪中だったということで許してくださいな
何か年賀ネタが欲しいという方は当方にご連絡ください, ウケ狙いで作って提出してしまったが, あれはどのように評価されたのだろう図形科学実習で作ったユキナゴアプレットでも差し上げますので…
では, 本年もどうぞ宜しくお願いしますということで, ではでは『これから代数と幾何の試験勉強を始める』の印…だといいなぁ……
どうでもいいけど勿論, 暖房状態の自室の温度についてですが…北海道より東京の方が寒いと思う今日この頃…
今日…ではなくて昨日はISerの仕事始めの一日だった
と言っても教官の厚意(?)で10:00~だったが1, 2限はと言っても教官の厚意(ではない)で中間テストだったが代数と幾何
3, 4限はもう取るのやめようかなぁ…解析力学・量子力学
5限は代数と幾何演習だった
テスト準備のため9:00入りした狐だったが, ノートと間違えて同じ色, 同じサイズのバインダーに綴じた取っていたのは1年前, あの頃はとてつもなく簡単だったなぁ…計プロIのレジュメを持ってきてしまったので殆ど無勉で受験, 取り敢えずどうにかなったので良し, ついでに持っていった北海道土産も好評だったようで良し(でも余っている, 明日持っていこう…)
5限はそれが理由でTensor積など覚えていなかった演習問題は全くわからず, 世間話のためにその場に存在することに, 結局演習をやっていたISerは何パーセント居たのだろうか…, 因みに狐はDijkstraのデータ構造のメモを作ってみたりとかして遊んでいた
で, 蚤である…いや, 飲みである
肩書き(?)は新年会となっているがその実は『忘年会』である
開始から7日と3/4でもう今年を忘れて来年に思いを馳せるのである
コンパ長のnian氏が安くていい店を見つけてくれていた, 感謝
参加者は10人台前半と少数だったが楽しかったので良し, 今度はもっと集まるといいなぁ…
今回も潰れたのは新堂嬢だけ…だったはず, でも今日はいつもより多く飲んでいた上に復活も早かった, 何が?すごい
狐は生まれて初めてといっても酔いが自覚できる程度, でも足元はおぼつかない…あれだけの酒を飲みました, 何ででしょうねぇ…
他に心配要素の方はあ, nvaca氏を忘れてた, 彼については他の人の日記参照いらっしゃったのでしょうかねぇ…
2次会はボウリングでした, いや, 本当に…生まれて初めて~
因みに私の居たレーンは第1フレームで4人x2ガーターを叩き出してしまいました
スコアは45点, 競技参加者計11名の中で因みにガーター6回, ノーヘッド10回(←全て, というか2投目でも1回以外ノーヘッド)でした, あはは…唯一ストライク・スペアを出していない人間だと思われます, 下から第2位でした
その後普通に3次会はカラオケ, 11:30頃解散で結局南北線は永田町で10分以上待たされてROPPY忘年会の時と同じ赤羽岩淵行きの終電に乗ったのですが…半蔵門線は余裕でした
情報棟へ行く時間的余裕が全くなかったのでカウンタの修正等はずれ込みそうです…
このサイトが複数のアンテナに捕捉されている様なので該当ログの削除とACの調整を行うこととなりました
現時点で確認できたアンテナによるカウントの分で1005件の削除が見込まれます
手元のログの最後のアクセス今日の19:54のアクセスは3682と表示されていますが2677になる予定です
2500のキリ番ゲッターは2002/12/31 00:14のIE6によるブックマーク等からのアクセスで, 2613番と表示されています
今日の時点でAC対象外としたエージェントは以下のとおりです
さらに以下のアンテナと思われるアクセスをこの日記のUPと同時にAC対象外とします, さらにこれらの文字列についてもAC修正対象とするのでさらに数字が変わる予定です
後者については今まではちゃんとしたACとしてもカウントしていましたが, 大多数がアンテナの自動アクセスと思われる無名エージェントのアクセスなので一括して外させていただきます, カウンタ整理時に削除するのはその内の2002/12/29分からとします
といっても表示用の数値ファイルの書き換えですが…AC調整作業は土曜日に行う予定です
今日は20:30まで篭る
メンバーは聖狐とROPPY氏, nian氏, nvaca氏, こじた氏, Kaicho-氏の6人
生協食堂ではかなりのぶっちゃけトークが炸裂, 恐れ多くて『 』は『 』ではなくて『 』の であるとか何とか…書ける訳ないじゃないって書いてるし…此処では書けません
それとは別にCPU実験の班分けについて色々と考えてみることに…
IS2003erの代から多少変わるらしいので人数は不明だが2~4と仮定して組んでみる
取り敢えずその辺の人を納期に対する性質等から適当に分類してみる
因みに『計画生産の堅実型』が全くないのは気のせいこの大枠につけた名称は聖狐が勝手につけたものです
これを大元に同じクラス内で組み合わせを作ると良いのではないかという考えである
各クラス間では(程度の差はあれ)足並みとかが揃わないと思われるのでこれを混在させるのは危険なことになりそうである
ちなみにこの会話中で誰がどのクラスに分類されていたかは秘密, 本人なら多分わかるでしょうしね…
しかし世の中には妙案と言うものがあるものでもっと素晴らしい案があった
何と素晴らしい方法ではないか
因みにのうちの現場に居た方当事者はこの方法を周りがさせなかった否定していなかった
とりあえず書く前に一言, 業務連絡はこちら
la pluie tombait à grosses gouttes
les enfants sortaient des écoles
et ils couraient dans les rigoles
ils portaient d'immenses cartables
et ils couraient et ils criaient
en entendant les coups d'orage
éclater sur leurs têtes maigres
c'étaient tous des enfants arabes
fabliqués en immigration
et qui offraient leurs têtes noires
à l'eau qui tombait du plafond
今回からはSection 5 Texte 2 『ブリュッセルの雨』から3回連続だそうです
で, 第1弾は最初の3連
文量は増えたような減ったような…
面倒そうなのは全くかわらなそうです
前回の業務連絡はこちらを参照してください
ログの検査も終了し, カウンタの修正量は1049カウントになりました
冬休みの一連の代替アンテナ乱立が原因だった今回のAC修正はこれで完結します
キリ番を狙った0名の方, 申し訳ございませんでした
このページのUPと多分数分単位ほぼ同じタイミングで表示するACは修正されていると思います
残る管理人の仕事はログ本体, 管理人がグラフ等を作成するために作成しているデータベースはあくまでも副ログファイル正ログファイルのACの数値の修正のみになります
これは表側とは全く関係のない作業なのでどうでもいいことですが…
タイトルを『時の淀みが見せた夢』にしようと思ったら既に使ってあったので現在形に, 全くもって無意味である
ついでにそこには『この微妙に誤字修正文に関係ないのは明らか』と書いてあったり…
今回も文章とは全く関連性がないのです
取り敢えず休み中に遠隔更新した分の日記ファイルを持ち帰ったので12月分を月毎表示は早くなるが, 日毎表示は遅くなる上に更新が面倒なので1ヶ月毎の恒例行事, 更新日時が隠蔽される?1ファイルにまとめる
CGIの動作テストをしているうちに間違って最新日記を全く同じ内容で上書きしてしまう
変更どころか誤字修正すら全くやってません, ごめんなさい
今日『も』ではないかというツッコミだけはやめて, お願いだからは形式言語理論で眠ってしまう, 情報数学はちゃんと起きていた
情報数学と言えば今日はfoldなるものに関するUniversity of Nottinghamと書いてあった, 当然英語論文をやった
彼曰く『テストに出すとしても1問』, IS2002erの方が昨年のこの講義について文句を言っていたのは多分この範囲なんだろうなぁ…
Schemeの知識が初めて役に立ったと思った瞬間だった
因みに計算機システムはごく普通の内容, chdirがシステムコールの追跡が出来ないのは当たり前と感じてしまうが, 意外と当たり前ではないようなので答えは背景色にすると見てしまうだろうから本当に書かない書かないで置く
新堂さんが昨日のドラフト会議の内容を知る
普通は思わないまさか自分がFA選手として働くとは思っていなかったらしく驚いていた様子だった
ただ最大の問題は聖狐やnian氏の高校を卒業できない可能性?語学によってはメンバーが揃わない可能性があると言うことと人間関係の変化
どうせ今から何を言っても始まらないだろうのでこれ以上は考えないで置く
昨日フランス語の暗記のために夜にポケモンをやらなかったらサファイアのカートリッジ内の木の実がダース単位で枯れていてShocked!!
でも1ストーリー中で1回しか手に入らない木の実, これらはその時点で全て畑の中にあったノワキ, カイス, ドリ, シーヤの実は生きていた, ふぅ…
取り敢えず忙しい時は収量が少なく植えてから収穫できるまでの期間生育期間も長い木の実の方が収量が多く生育期間が短い木の実よりも集めやすいかもしれないと実際は後者の方がいっぱい取れるのは火を見るよりも明らかだが…思った
ISの間でにわかに用語集を作るのが流行りだしている
最初はnian氏がやりだし, それにつられてROPPY氏と新堂さんが作り出したので聖狐も作ることに…
取り敢えず出来たのがこれ
CGIでデータを処理するので用語集内のリンクは完璧ではずある
とりあえず見てってくださいな
ついでに抜け落ちている単語とかをメールしてくれるととても嬉しいです
因みに上でさらっと書いてしまったが新堂さんがWeb Pageを作成するとのこと
IS2003erは全面的に彼女に協力しているが, 完成まではもう少しかかるご様子
それまではリンク禁止だそうなのでこちらからは所在を明かさないことにする
もしかしたら存在すら明かすべきではなかったかもしれないが, あとで絞首刑になったりして…それはそれで別にいいか…
とりあえず『IS』と『ISer』のような重複部分を持つ単語でもちゃんとこれを優先順位でソート長い方でリンクされるように工夫してあります
ちゃんとforeach (sort {$a cmp $b} (keys ...))と言った感じ文字コード順に並べてありますが, 適宜『あ~お』とかいうやつ見出しの範囲を考えたいと思います
因みに人名のWeb Pageにリンクがない人がいるのはリンク集にリンクを作っていなくてアドレスが分からなかった人です, 早急にリンク許可を頂いてリンクさせて頂きます
日記演習にさて, 誰のことでしょう?新参加者が増えるかもしれません
公開の暁にはリンクを張ることを許可していただいたのでその時にはまた紹介します
時の迷宮
私は今, 其処に居る
流れゆく時, それは檻
私は捕われ, あても無く彷徨う
流れゆく時, それは迷宮
私が脱する時, その傍らにあるのは
流れゆく時, それは幻影
光か影か, 私には分からない
流れゆく時, それは迷い
私は身を委ね, 何処へ飛翔くのだろうか
流れゆく時, それは希望
哀しき我が身を, 癒すものとならんことを
時の迷宮
それはまだ, 此処にある
用語集更新とポケモンの一日
用語集のほうはでも更新記事は全く分からないんだよなぁ, 構造上…新着記事が分かるようになっています
某所の用語集のアンカーIDでISerが『henjin』だかなんだかになっていたので対抗してISerのまだ公開してから日が浅いのでこんなところにリンクを貼っている人も居ないでしょうから…アンカー名を変えてしまいました
ついでにこの種のいたずらをもう2ヶ所ほどに仕掛けて置きました, 暇だったら探してください
勿論この用語集内の事項に文句がある方はIS not 2003erの方の日記の中でぼそっとかかれていても見逃す可能性が高いので…当然コメント内は見られることを期待してはいけません管理人に分かるように意思表示してくださればいくらでも修正します
とんでもないけれども大歓迎な要望です『俺をこの中に載せろ』のようなとんでもない要望がおありの方は, 事故自己紹介文を沿えて管理人にメールしてくださいね
もしこれが肥大化を続けているようであった場合はもしかしたら複数画面に分ける機能をつけるかもしれません
どっちにしろこの日記CGIだってそうなのですが… The Quintet内の全てのCGI(jcode.pl除く)はSacred Foxが1から書いています遊びで作ったCGIなもので荒が目立つかもしれませんがご容赦下さい
新堂さんのでも存在と場所を知っているISerも多数居ますが…Webページの公開猶予期間を今週末までとしました
今週末になったら完成度に関わらず公開する許可を取り付けてありますのでその時にはリンク集についでに日記中の日記へのリンクもそちらへ振り替えますリンクを貼ります, お楽しみに…
私は成人式など行っておりません, 面倒だったから…
新堂さんの新ページのリンク許可が下りたので演習の講義時間中なのに…早速貼る
今回のUPでついでにアドレス補完で貼る設定になっているごく最近のもののみですが…日記中の新堂さんへのリンクは全てそちらへ振り分けるように変更, 日記の方へのリンクを用語集の中には残しておきます他の人のページと同様に消去しました, 日記へ行きたい場合は彼女のページのtop.htmlにある微妙に抽象的な表現を使っているので…それだと思われるリンクを辿ってください, それが嫌なら碧天アンテナ経由ででも行ってください
あと, M嬢改めMiraMiya嬢の日記がというより某所からばれてしまった公開開始されたのでリンク許可を頂き, 同様にリンクするようにしました
さて, 狐と同様長いHNの方のお出ましである
管理人は他所では『聖狐』や『狐』, 『S_Fox』等の略記表現で書かれているので彼女も結局長いので1度しか書いていないというのはかわいそうなことをしただろうか, MiraMiyaさん…と此処で書いてみる略される運命にあるのだろうか, Long Handle Name, 長いハンドル名(そのままで申し訳ないです…)LHNへの以後の各所の対応を見守っていきたい所存である
碧天アンテナの自動リンクに失敗している…と思ったら設定ファイルに『壁天』と書いてしまっていた, 慌てて修正
用語集を改良した
このCGIには自宅サーバでかなりの負荷を感じていたので出力を減らすためにページを分ける構造にした
これでだいぶ見やすくなったのかなと思った
ついでにアンエスケープしきれていない『とし』を発見, 消し消し…
今日も21時営業終了まで19:30に帰る予定だったのですが…居残ってしまった
某人の主催する特別講義, 主催者曰く『必修』, 参加費が少々かかる中国語4列に出席予定のある人の課題が終わりそうだったので最後まで付き合う
とりあえずちゃんと終わったみたいなので聖狐は口が悪い方ではないので『めでてぇな』等とは言いません, 悪しからず…めでたしめでたし…
聖狐自身はいい加減に組み終わっていたコードのパラメータ依存度を多少低くしたつもり条件判断部の処理改善と表示時に文字列のreverseを行わないで済むように改変主処理部の実行順序の入れ替え等を行ってみていた, 明日は個人的には現在の1行表示形式に世間一般の2行表示形式を加えて3行で表示しようと画策中表示部分を改装することにしようか…
因みに今日, 話をしているうちにROPPY氏と聖狐の今回のCの課題Alignmentの実装が殆どの部分で全く違ったものだったことが発覚, 新堂嬢に両方向撃墜をかける際に混乱をきたしてしまった, 反省…
用語集の[New]表示ルーチンに機種依存バグを発見, 修正することにする
ついでに文中に出てきている『~として』文脈のとしさんを抹殺, 成仏せよ!!
ついでに用語集に全表示機能をつけてみる
でもページ別表示にしたときに削ったのは見出し表示ルーチンですルーチンを多少削ったので見出しの表示等の機能は削減されています
Downloadしてあら捜しをしたい修正: ISの全国の撃墜さん専用でだいたいhtmlが此処の日記の月表示並に重くなるのでお勧めできないです大したサポートは無いものと…
ところで今回こんなコードを書いてみましたが問題があるでしょうか?
(以下管理人がCGI記述に使ったスクリプト言語Perlの知識を前提, ものすごくマニアックな話になると思われるのでと書くと8割方の人が呼んでしまうと言う罠が無いでもないが…見ない方がいいかも)
while (not (($line = deletecrlf(要は配列@dataの各要素を一定のキーまたは空文字まで取り出しながら処理すると言う部分shift @data)) eq '' || $line =~ /^\$\$$/ || $line =~ /^\!\!(.*)\/(.*)\/(.*)$/)) { (省略) } (省略) sub 機能はその名の通り, Unixでは正規表現中の文末CRは無視されないため手動削除する必要があったdeletecrlf($) { my $line = shift; $line =~ tr/\r\n//d; return $line; }
最初は条件判断の第1項をdeletecrlf($line = shift @data) eq ''としてdeletecrlf($)の引数も副作用で『返り血』と変換された, 私はやってない!! (何を?)返り値と同じになるようにしていたのですが…
ちょっと考えれば上の方法で済むというのになんてマニアックな実装をするところだったんだろうと思いながら…
実はこのtr/\r\n//dの実行が無かったのがバグ版CGIです, これだと上の部分も($line = shift @data) eq ''ですっきりと済むので嬉しいことこの上ないのですが…
GNUからemacsのWindows版を落としてみた
付属のゲームにはまってしまっている自分が居た
これでCのコードのインデントとかが多少楽になるといいなぁ…
(普段使っているVC環境とどちらを選ぶべきか…)
クリップボード操作が楽チンなのは結構嬉しいのです
今日も情報棟に居ましたが, 今日こそは寮に帰ったら早いといって珍しがられるし…平常どおりの営業でした
今日は某所で担当教官のサイトの掲示板から引用, 国コミとは『国内コミュニケーション』の略だと思われます総合科目G - 国コミ中国語4列が開講されたので, 一瞬来て消えた人を含めても片手で数えられるほどしか居ないんですよ情報棟にはISerが殆ど居らず, 平和なものでした
因みに何処かでノーベル賞を取ったとかいう名誉教授の記念講演があったそうですが, ISerには全く関係なかったようです, 母集団が狭すぎるかも…聖狐の捕捉できる範囲では講演を見てきた人は全く居ませんでした
明日はセンター試験準備とかで出来れば午前だけ休講の方がありがたいのだが…午後から休講だそうです, 情報棟も午後からは空いていません
しかし, 本郷なら大丈夫なようなので, もし本郷で何かやらかすという人がいらっしゃったら聖狐の携帯にでも連絡を下さい, これがちょっと難関かもしれない, 気付かなかったらごめんなさい気付いてからもちろんまだ帰ってきていないという理由で到達不可能な可能性はありますが…15分以内に駆けつけますので…
で, J棟で面白いものを見つける
exciteの提供する英訳プロキシサーバーである
某所に『実用目的で』貼られていた英訳版へのリンク
昔, 関西弁フィルタで似たようなことをやった気がするが…興味を持った狐はそれをおもちゃにして遊ぶことを画策, 早速自分の日記をそれにかけてみることにする
ダウンロードの意味の『落とす』がdropになっていたり, 人名がROPPY氏→Mr. ROPPY, 新堂さん→Mr. Shindo, 新堂嬢→Shindo 嬢, 聖狐→聖狐 (涙)訳されたり訳されなかったり, 『easy CHIN』という因みに対応を取ってみると『楽チン』でした…謎な文が出てきたり…
『『ホイヘンスの原理が分からない』が『ホイヘンスの原理が発見されていない』になったほうが問題?ホイヘンスの原理』だとちゃんと訳されるのに『ホイヘンス』彼は原理とセットになってしまう哀しい人なんだなぁ…単体では訳されなかったり…
因みにポップアップするメッセージはタグ内の属性値扱いだったので訳されず
アクセスカウンターの文字列が詳しく覚えていないが『You are The Quintet. ...th visitor』とか何とか…こんなのだったり…
『日記更新』が『そんな暇無いのですrenewal of diary』だったり…
極めつけは上部のFormが『[2003] Year [01] Moon [15] Day』となっていたこと…
これで当分遊べそうなのです, ということで各IS日記Writerの皆様, 変なサーバーからのアクセスがあったらごめんなさい, 多分狐が遊んだexcite英訳プロキシでしょう…
とりあえず皆さんも一度お試しあれなのです
あと2回なので頑張ります
une goutière dé
bordait et vomissait en abondance
des gerbes d'eau qui arrosaient
ces têtes d'enfants en errance
et ils criaient tous ces enfants
d'une voix perçante et outrée
en entendant les claquements
du tonnerre sur la contrée
des oarents avec parapluie
couraient pour quérir leurs enfants
afin qu'ils ne soient par la pluie
percés mais déjà la tourmente
les avait percés jusqu'aux os
前回の続き, 第2弾です
真ん中の3連と意味のつながっている第7連の1行目までです
なかなか覚えられませんが何とか努力する所存
昨日の日記はこちら
『ではない』が後ろにつくものすごく重要な連絡なので再掲
今日はセンター試験準備とかで出来れば午前だけ休講の方がありがたいのだが…午後から休講だそうです, 情報棟も午後からは空いていません
しかし, 本郷なら大丈夫なようなので, もし本郷で何かやらかすという人がいらっしゃったら聖狐の携帯にでも連絡を下さい, これがちょっと難関かもしれない, 気付かなかったらごめんなさい気付いてからもちろんまだ帰ってきていないという理由で到達不可能な可能性はありますが…15分以内に駆けつけますので…
聖狐の居る寮の中ではノートパソコン所有者の方がデスクトップパソコン所有者の方より多い, 当然購入時期は入寮時期とだいたい同じであるため, スペックも単純にデスクトップの方が上である
そこで問題が生じる, ゲームを入手してもスペックの関係で処理が追いつかないと言ったものが時たま回ってくるわけである
と言うわけで最近管理人の元に『めるぶら』と書けば分かる人にだけ分かってもらえるでしょう…とある格闘ゲームが回ってきた
このゲームのシナリオモードは選択肢をバトルの勝利 / 敗北で決めるというシステムを取っているので, 単純に実際には初戦敗退後全勝ルート倒せないほど強い敵などの先が裏シナリオとなるわけだったりするのである
シナリオが明後日の方向へ飛んでいてもう爆笑, 裏ルートのラスボスGが強すぎです
久々に面白いものを注: 聖狐はこの手のゲームは大の苦手なので自分では到達できない…見させていただきました
今日も『めるぶら』です…って分かる人は殆ど居ないと信じますが…格ゲーを何度も書くが, 苦手なんです観戦(これ参照)
今日は表ルート攻略, 最後の分岐で失敗する理由が判る
どうやら要求されているのは『全戦闘2-1ではなく2-0で相手を下すこと完全勝利』のようである
ということでストーリーモードをだと思う全て見させていただきました
やはりあの作品の世界だけあってかなり深いものを感じますね
因みに昨日の『G』はCPUレベルを最低にして突破できていたのですが, これを真中にして再戦, 『ちょこまかうるさい』等と言いながら広範囲攻撃→ライフが1 / 3位減る x 3等見事に玉砕していました
さて, 他人のプレイ観戦記だけでは面白くないのでもっと面白くない聖狐自身の今日のゲーム記も書きますか…
遊んでばかりだなぁ…こういうときはこんなものを書いておく
この文に書いてあることはフィクションであり実在の人物等とは全く関係ありません, いや本当…はこの文がフィクションだったりする可能性も否定できないのですが…
これでよしと…(←よくないです)
もうこういう季節なんですね
ピンと来ない or 分からない人への解説
東大生協には勿論カード利用はこれには含まれない, あくまでも入金のみをやったレシートIC入金, 食堂, トラベルセンター網羅できていないかもしれませんが…, バーガーショップはNGだけどパンショップはOK以外の利用額の2%を割戻しするシステムがあります
これは年間の利用額に対してあくまでも1月~12月, 年度で無いので注意年1回一括で帰ってくるのですが, これの2002年分の申請期限が今月末日までなんです
駒場生協の書籍部との間の階段等に申請用のレシート袋があるのでそれを必ずしもそうする必要があるわけではないですが…持って帰って該当するレシートExcelにでも入れていけば簡単に計算できる, 関数電卓だとミス修正が効かないのでお勧めは出来ない枚数とその税込み利用額の合計を記入, これの時ぐらいしか使うことが無い…組合員証の番号や住所など必要事項を記入して, 2003年のや2001年のを間違って混入しないように(前者は無駄になる可能性有, でも後者はわざとやってもばれなさそう…)該当するレシートを入れて袋を配布していたボックスに投函, 5月の忘れた頃に印鑑とこのときはCUTEカードは不可組合員証を持ってお金を取りに行くという算段である
教科書のような大口の出費は結構あるはずであり, パンショップや購買部の小口出費も積み上げれば聖狐の場合: 約56,000円使用 → 1,100円位帰ってくる計算結構な額になっているはずなのでこれを逃すのはかなり勿体無いと思います, まだの人がいたらお試しあれ…
ああ, 食堂での支出もこの中に入ったらなぁ…と思う狐でした
テーブルレイアウティングからDivタグ with スタイルシート乱用に切り替えてみようかなと思ってみたりする, 暇な時にね…
ということで暇だったので作ってみた
取り敢えずdiary2.cgiとして置いてみる事に
取り敢えず入り口&出口はこちらに…(注: もうリンクしません, ごめんなさい常に最新日記へリンクします)
IE 6でしか表示確認していないのでECC Win環境NN 4.7やECC Unix環境Mozillaでどの程度表示されるかは未知数
見た目はたいして変わっていないはずです
スタイルシートを切って表示するとちゃんと見出しが見出しになる程度の変更しかないはず…
表示がやけに怪しいものになったらスタイルシートを色々いじくってみるつもりですが, 手におえなさそうだったらすっぱり削除するかもしれません
何か意見等がございましたら何らかの方法で聖狐にまでご連絡いただけると大変助かります
全ては気分次第と言うことでいつの間にか入れ替わっていたり削除されていたりする可能性もありますのでご注意くださいませ…
思いっきり私信 to 新堂さんだったりするので興味の無い方は読み飛ばすのがよろしいかと…
ちなみに経過説明すると, 彼女のページにアクセスログ収集機能付きのカウンタのコード(+α)を進呈したので設定法をまとめているということです
因みにThe Quinitetも新堂さんのページのこと空色研究室もカウンタCGI周りについてはPermission対策済みなので正直なところ結構つぎはぎだらけで汚いですコードはお見せできませんが…
今日お渡ししたCGIの使用方法についておさらいしておきます
今日設置した通りhtmlファイルの中にSSIコマンドを埋め込むことによって設置できる構造になっています
CGIを実行するSSI命令は<!--#exec cgi="~" -->です
この部分がCGIの実行結果に置き換えられます
アクセスをカウントするにはcounter.cgi, AC表示する場合はtopdoc.cgiを利用してください
前者はカウント時にCookie操作のためにmetaタグを吐き出すので必ずheadタグ内に, 後者は表示する実体を吐き出すので当然bodyタグ内に記述することになります
もしこの方法でカウントをするページを増やす場合にはcounter.cgiの条件分岐内のURI確認部分を適宜書き換えてあげてください, 忘れると面白いことがおきます
あと, quintet.pl内printfootメソッドに『Copyright 2001 - 』という節がありましたが, 貴方の場合は2003年になりますので暇な時にでも直してみてください
ついでにprinthead内の『mailto:g141103@...』も適切な番号に変更して置いてください
他にも調整が必要な点が残っているかもしれません
いちおうCGI内での使い方の説明, quintet::addac()の戻り値がカウントされたかを示していますので, 該当する場合にはHTTPヘッダにcounter.cgiと同様のCookie操作を挿入してください(diary.cgi参照)
因みにCGI内のquintetと言う名前はEmacsの置換機能を利用してex. skylab, 特殊な記号は避けたほうが無難…お好きな文字列に残らず変更したら問題なく動作すると思います
因みにキリ番の設定ですが, 後日談: 日記を噛ませている狐のページよりもACが多かった, 複雑…日記をACに噛ませていない場合はそれほどのアクセスが望めませんのでquintet.plのこれの倍数がキリ番になります$quintet::countluckyを200ぐらいに落としておいた方がいいかもしれません
時間があるときにでも大概の表示はquintet.plの先頭周辺で出来るようなやつを…汎用版のCGIを作り直したいと思います
あと, 3000ゲットおめでとうございます & Thanksです
ついでに最近女性に飢え過ぎです, 突発的行動で悲劇を起こさないように自制して下さいね…
今日も9時まで残ってしまった, ついでに外は雨…
新日記CGIの方はやはりMozilla等のスタイルシート実装では上手くいかない, 試行錯誤してみてとりあえずの及第点に到達, 本気でこれの表示が一番酷い, 読めるラインにまでは到達させられたのでOKにするつもりNetscapeを切ろうかと考える
今日も自宅でかなりスタイルシートを弄ってみた, また明日情報棟で試行錯誤する羽目になるんだろうなぁ…
因みに今日の夕食はあえてその正体は書かない, ちょっと誇張が入りすぎた気もするし, フッフッフッ…人によってはとて美味しそうに感じられ, そうでなければ吐き気を催すであろう甘党メニューになった
ISの実習課題が全て片付いてしまっていたことに気が付く
今年度はもう遊ぶネタも無ければ某人を撃墜することも無いのかと思うと多少寂しく感じる今日この頃…贅沢?
取り敢えず今日も置いておこう
[現行日記CGI] [これです, テストを強制終了して実稼動に入っています新日記CGI(テスト中)]
実はメイン部分は殆ど変わっていないという罠があったりする
でもスタイルシートを切った時の表示が結構変わるかな
html的には本文のテーブルレイアウティングがなくなったので狐としては結構な進歩なんだけど…
前述の件に関連してCGIに久しぶりに目を通した
今日は改行コード, Permission, .htaccess, パス変更忘れ…CGIで犯しうる殆どのミスをやってしまったので, 精進せねば…
キリ番報告用CGIの改行コード異常に気が付いていなかった, 大問題ではないか…
これです, 既に入れ替えが完了しています新日記CGIのCSSが上手くいかない
明後日もまたちょこっと変えてテストすることに
IEとMozillaのスタイルシート周りのバグに悩まされ…憂鬱
因みにそれぞれこんな感じのバグがあります, 取り敢えず家でのテスト環境がこれだから仕方ないのよね…IE最優先の方向で…
Netscapeはこうしないとやっていられないと最近気が付くある程度無視するとして, IEで希望通りの表示を保ちつつ, IEのバグを表面化させない形でMozillaでも要求水準の表示ができるように苦心する羽目になっているのです
おまけにスタイルシート周りを色々といじくっているうちに混乱してliとpreの設定が消えていたのに今気が付いた必要だった記述を削除してしまっていたりすることもあるのです
誰か実装にバグが無くスタイルシート表示が完全にできるブラウザをプリーズ!!
今日は旧スパイラル曜日, 面倒になって見るのをやめた演習曜日だったはずなのに皆さん普通に帰っちゃうんですけど…
確かにSchemeの課題は簡単なので残る必要は無いんですがねぇ…
ということで叫んでみる, 『裏切り者ー』
注: 良い子のみんなは真似しちゃ駄目だよ♥あぁすっきりした
日記内で文字サイズ変更はしないような幾らでも変えられるのだが…仕様なので声を小にしてしか叫べなかった気もするが…いいとしよう
で, 夕食 @ 2食
OセットとUセットで迷ってみたりする, 因みに両方とも350円セットはランチのみのようだ390円, 何か文句でも?
いつもより参加者はROPPY氏, nian氏, 新堂さん, ???氏とその友達, そして聖狐小規模な夕食, この場に居たのは比較的『強い』人ばかりではあるが…誰がISerの中で『強い』かについて話す
さて, 誰でしょう? 簡単にわかるでしょうが…Obviousに最強の方が自らを最も力弱き者としようとしていた, それは有り得ませんって…
因みに今日は珍しく夕食後は情報棟の手前まで来て悩む聖狐達…演習室には入らずに帰宅
今日の演習でTAの先生が来年以降の予定について説明していた
CPU実験の班の規模はまだ未確定とのこと, 6人と言う前例を元に班の再構成を始めるISer, 問題なのは聖狐などがちゃんと3年生になれるかということ, 場合によっては計画がもろくも崩れ去るかもしれませんです, そういう管理人がフランス語を勉強するべきであるのだが…ご注意を…
卒論は英語で書くことになるとのこと, そのための英語の講義もあるとか…ISerたるもの3年第5学期にプログラミング課題が週3本あることなどに弱音を吐いてはならないのだ大変そう
過去日記へのリンクを取り敢えず貼っておく
そのうちタイトル一覧機能をつけたほうがいいなぁ…
というわけでタイトル一覧機能を実装してみた(表示が崩れる可能性がありますが…新CGIのみ)
まだ不具合が残っているかもしれないですが, 使ってみたい方はこちら
こんな感じで新CGIのみの機能とかも付け始めたのでそろそろ入れ替えを行おうかななんて思っています
入れ替え後はdiary.cgiで新CGIにアクセスされるようにして, diary2.cgiは消去する予定ですのでdiary2.cgiにはリンクを貼らないで下さいね
入れ替え時期はスタイルシート問題がMozillaで解決した時にでもします
直すのが面倒日記中のデッドリンクを増やしたくないのでできるだけ早くやりたいですが…
因みにCGIは『シージーアイ』と読むものであり, 『クギー』とは読みません(多分)
GUIレベルではシステムドライブにロックをかけられないので起動時のCUIレベルにスケジュールするハメに…ハードディスクのエラーチェックをしてみたらエラーがISerがプログラムをコンパイラに通す時よりも大量に…大量に出た
幸い被害にあったデータファイルはjpgを直接壁紙にするとActive Desktopを有効にする必要があってメモリを食うので嫌jpgを壁紙用に変換したbmpだけだったので良かったが, 自動で復元されましたシステムプログラムの名前領域に大量のエラーが…
良くこんなのでちゃんと動いていたものだと思った瞬間でした
暇つぶしにWebにあったポケモン図鑑のHTMLを用語集(Topから行けます)参照, 今まで何度こんな簡単に済ませられる日を夢見たことかCSVに変換してAccessに読み込ませるスクリプトを書いてみた
思いの外使い勝手がよかった
今回コンバートしてみたデータは全体の約40%であるが, ポケモンをクリックするとレベルで覚える技や使える技マシンの一覧が出てくるのだ
技マシンをクリックすると逆にポケモン一覧が出てきたり…
暫くしたら技の一覧を別テーブルで一括管理して指定した技を何らかの方法で覚えられるポケモンを全て表示とかもできるようにしたいなとか思っています
とりあえず『perl dexperl.pl ..\pokedex\』とやるとフォルダ内の全HTMLファイルから項目別に8つのテキストファイルを一瞬で自動生成してくれたりしますPerlのglobが如何に恐ろしいかを理解した瞬間でした
初のPerlプログラムがネットワーク関連のソケットを扱ったものだったという人を知っていますが…PerlでCGIしか作ったことの無い殆どの方へ, 勿体無いですよぉ♥
むしろ課題スタックがクリアされた人が多いからというほうが原因かもしれないが…テストも近くなってISerの情報棟集合率が悪くなってきたので聖狐も来なくなって更新頻度が低下するかもしれませんが, ご了承くださいということで…
一応アルゴリズムとデータ構造の講義の1シケ対として書いておくべきなのだろうか
ここに来る人なら多分既に見ているかもしれないけど…
五十嵐先生のページに復習用のチェックリストが公開されています
(注: テストの問題がこの中から出ることを保障するものではない)となっていますが, 多分これを一通りやったら少なくとも単位は確実に来ると思われます
4単位科目である上に来年から2単位になってしまうので落とすと最高に辛いです, 試験時期も遅めなので頑張って勉強してください
で, シケ対として何かやるべきでしょうか?
とりあえずこのチェックリストから希望の多かったものについて概要を此処でチョコチョコと書いていくというのでは駄目でしょうかねぇ…
ということでチェックリスト内のどの項目についてどんな内容の解説がほしいかをこのページ末尾のものか(分かる人は)携帯のアドレスにでも… どちらも1日1回以上はチェックしていますので…メールしてくださると大変助かります
他のシケ対の方が何を企画していらっしゃるかは全く判りませんが, 聖狐の仕事はこんな形で果たそうかなと思っております, 駄目なら直接文句を言って下さい
では, 来週からのテスト週間を頑張りましょう
(Written in 2003/1/23 此処の日記の日付はローカル時間を基準にしているので…at local, 重要度が高かったので敢えて24日に書きました)
on voyait alors les parents
revenir en traînant leurs gosses
et leurs cartables bien trop grands
mais il y avait de la vie
fébrile et joyeuse dans ces
gosses qui criaient sous la pluie
la pluie vivante de Bruxelles
et moi j'attendais sous un porche
que la pluie sans cesse relave
ma gorge dont la fosse atroce
sans cesse accroît sa soif avare
前回の続き, 最終回なのです
前々回から繋げると無事にWilliam Cliffの『une pluie à Bruxelles』が完成します
そして聖狐も暗記地獄から抜け出すことができるのです
いままで日記のネタにすること11回, 最初の人権宣言はネタにしなかった覚えることは12回やってきたわけなのだが, 昔のを見るとやっぱり思う
暗記範囲, 長くなったなぁ…
過去を見直すのに日記CGIのいい加減な実装なので破綻しないことを切に祈るのだが…日記リスト表示機能はかなり便利だと今になって感じるなぁ…
書くのを忘れるとこでした
at 同時更新昨日の日記はこっちです
Mozillaでの表示問題は直りそうにありませんが, テーブルレイアウティングを某所から指摘されていながら直さないのは嫌なのでCGIを入れ替えます
MozillaやNetscapeで見るほうが悪いんです
Mozillaでのスタイルシート改善案がありましたら<!-- -->は一部サイトを除いてみていないので見逃すかも…教えてくださると助かります
ってここはUPと同時に過去日記化する場所ですからねぇ…あまり見られる事の無いであろう場所に書いている狐も問題ではあるのですが…
ということでdiary.cgiで新CGIが起動するようになっています
ついでにリスト表示から月一括表示へ直接移動するリンクを付けておきました
diary2.cgiはもしかしたらこの文のUPと同時かもしれない…気が向いた時にでも削除します
今日は.public_htmlの大掃除をしました
とっくの昔に削除したと思っていた図形科学実習最終課題展示場vmj_yuki.htmlが残留していたので慌てて削除, リンクは外してあって管理対象外だったのですが, 消去し忘れているとは…
あとはDijkstra課題提出時にVCプロジェクトだし…大量にあったソースファイルをリンクなしで添付, 埋め込みの代わりにURIをメール中に記入UPしていたのを消去, ついでに公開終了しているバグ付きプログラムを消去
いやぁ, 色々残ってるんですねぇ…
アルゴリズムとデータ構造の試験前質問集 - No.1です
(詳細はIS-BBSかこの日記を参照)
取り敢えずこれがいちばん簡単なのでこれを解説
平方採中法とはハッシュ関数の取り方の一種で元の値がアルファベット集合だったら26進数と扱えますね, 桁が大きすぎるので別の方法を考えたほうがよさそうですが…数字として表現できる時に有効な方法です
基本的な考え方はデータの2乗(平方)を取った時にその真ん中辺りの桁を取れば(採中)全部の桁の情報が詰まっているのではないだろうかと言うものです
例1, 0~999の範囲のデータから0~99の範囲のハッシュ値を取る, 526の場合
5 2 6
x 5 2 6
------------
3 1 5 6
1 0 5 2
2 6 3 0
------------
2 7 6 6 7 6
真ん中を取った66が526のハッシュ値
例1を見てください, このように2乗結果の真ん中辺りの数字は元データの各桁全てに影響されています
この場合10002 = 1000000なので6桁のうちの真ん中2桁を取ればいいとわかります
では, 次の例を見てみましょう
例2, 0~799の範囲のデータから0~99の範囲のハッシュ値を取る, 343の場合
3432 = 117649
さて, どのようにして『真ん中』を取ればいいのでしょうか
ここでちょっとだけ一般論に戻って考えたいと思います
例0', 勿論頭に0を置いたA桁未満のデータも含みます, 以下同様a桁のデータからb桁のハッシュ値を取る場合
a桁のデータを2乗すると当然2a桁に収まります
このデータから真ん中を取るとするとこんな感じになるでしょう
********** : 2a 桁 ---^^^^--- : c + b + c 桁
この図の^^^^の部分がハッシュ値になります
このとき---で表した残りの桁, 各(c := (2a - b) / 2)桁は捨てるデータとなります
注目していただきたい点は, この議論の中では何も桁数は整数である必要はないのです
ここでB, Cも同様, 実はABC間で揃ってさえいれば10である必要は無い, 以下の話でも『10』は全くでないでしょ?A := 10aなどと置くと次のような多分教科書やレジュメにあった式と同じだと思います, 確認してませんが…一般化した形に直すことができます
例0, 0~(A 殆ど意味は無いです, 要するにA種類の値と言うことです, Bも同じ- 1)の範囲のデータの中から0~(B - 1)の範囲のハッシュ値を取る
切り落とす『要らない』データの幅は次のようにして求められます
log C = (元データ2乗の桁数2 log A - 求めたいハッシュの桁数log B) 両端から平等に切り落としたいから/ 2 ∴A * A = C * B * Cと書いたほうが分かりやすいかな?C2 = A2 / B
こうして得られた『要らない部分の幅』を用いるとデータDに対するハッシュ値Hは次のように求まります
H = (D2 / C) mod B 但しCは上の式で求めた値
では, さっきの例2(A = 800, B = 100, D = 343)を解いてみましょう
まずは『要らない部分の幅C』を求めます
C = sqrt(A * A / B); ですね
これでC = 中間試験の最初の問題ではこれが綺麗に求まらなかったので問題変更があったというわけ80と求まります
データの2乗は117649であるのはこれを書いたときにはWindows電卓を使いましたが…筆算なり何なりで求めましょう
で, ここから右側のlog 80(=1.903)桁分? 整数じゃなくてもいいんですよ幅80の部分を切り取るには80で余りは切り捨て, Cの整数除算でも同じ単純に割ればいいので1470, 左側の幅80の部分を取るには単にと期待される残る幅100の部分で剰余を求めればいいので70, これがハッシュ値になります
Requestのうちいちばん簡単なところがこれだけかかってしまった…
Quick Sortと一般的な再帰方程式がRequestされていたりします…解析論のところはどれだけ書く羽目になるだろう…
アルゴリズムとデータ構造の試験前質問集 - No.2です
これは教科書上の問題ではなく配布資料中の問題です, 資料を持っていない方は別に親しくない人からでも構いませんが…周りの友人から入手してください
ついでに五十嵐先生のページ上にある講義時に使用したプログラムを手元に置いておくと役立つかもしれません
因みにいい加減なコードをいくつか置いてありますが, 本筋とは全く関係が無いので読み飛ばしてくださっても結構です
まず, 『番兵の手法』について
これは配列をwhileループで探索する時に配列の最後に継続条件に必ず反する終了条件を必ず満たすデータを余計に付けておいて条件判断から『まだ配列の中にある』ということをループを回すごとに命令数が1かさむのは(実行速度的に)勿体無いから別に調べる必要性をなくすことです
では順に見ていきましょう
ここでは検索される文字列のことテキストの長さをn, 検索する文字列のことパターンの長さをmとして話を進めます
テキストはPascalなので配列の添字は1から始まっていますが, 実際にはCで組むでしょうから0からとして話を進めます
先ずは『素朴なアルゴリズム』
これは単純にマッチ部分の開始位置で0~n - m - 1ループを組み, その中でパターン内の各文字に対して0 ~ m - 1ループを組んで一致しなければbreakすると言う方法です
Cで組むと動作確認はしてませんが…次のような感じでしょうか…
int simplematch(char * t と同じ意味です, 配列 = ポインタ, 覚えておこうchar t[], char p[]) {
int n = strlen(t);
int m = strlen(p);
int i, j;
for (i = 0; i < n - m; i++) {
for (j = 0; j < m; j++)
if (t[i + j] != p[j]) break;
if (j = m) return i; //見つかった(正常にループを抜けた)
}
}
return -1; //見つからなかった
}
番兵の手法を使う場合は一時的にt[n]に最初からp[m]に入っていてパターン中にはあらわれない文字列終端記号, 2つの番兵は違っている必要があるので…'\0'以外の文字を入れておいて配列は実際には先頭のポインタで渡されているので中身はもとにもどさないとね関数を抜ける直前に元に戻すことにでもしておきましょう
こういうこういうのが大好きな人は少なからずいらっしゃいますが…姑息な改良は本質を見辛くするので理解するまでは改良前のアルゴリズムで考えたほうがよさそうです
次にKMPアルゴリズムを考えてみましょう
これは後述のBMアルゴリズムでも同じこのアルゴリズムの基本方針はまずパターンの特徴を解析して無駄な比較を減らすことにあります
パターンの≠ 1であることを仮定しています, 1だと何も情報は得られないので…j文字目で不一致が起こった時には既にテキスト中の手前(j - 1)文字はパターンの最初(j - 1)文字と一致していて今見ているの文字はパターンのk文字目とは違うと言うことまでは既に判っているのです
従ってこの情報を利用すれば今見ている文字よりも前の文字に戻って探索しなくても其処までの情報からある程度の探索を飛ばすことができるのです
では, 実際にどのぐらい飛ばせばいいの?
基本的には今までに見てきた(j - 1)文字のこういうのが無ければそこまでの部分はパターンに入っている可能性はありませんね最後の(t - 1)文字がパターン最初の(t - 1)文字と一致しているような被っている部分が多いと言うことはそれだけ少ししかパターンを動かせない最悪の場合と言えるでしょう最大のtを求めて, 丁度見ている文字の手前(t - 1)文字はパターンの最初部分に一致, 要するに新しいjはtになる!!(j - t)文字分先に進んで今の文字から比較を再開すればいいことになります
このjにとってのtをnext[j]として配列に保存していきます
ここでさらにp[j] = p[t]ならば移動後の比較でもすぐに『既に今見ている文字はp[j] = p[t]ではないと言うことも判っていますよね不一致→移動』と言う動作を行うので移動先はtのt文字目で不一致があったときのジャンプ量をj文字目の分についても足しこんでOK移動先と一緒で構わないことになります
つまりこれをやる前にnext[t]を求めておかなければいけないですねnext[j] = next[t]にできます, next[j]は小さい方が効率が良くて嬉しいというわけです
後はだけど一番良く起こる状況特殊な状況, j = 1についても考えておきます, 要するに最初からパターンと一致などしていない場合です
このときの動作は今までとは違ってその文字についてはこれ以上検討せずに次の文字からをパターンの最初からで検索することになります
このときの最初の文字での値, Pascalならnext[1]next[0]の値は今までの動作と違うことが判るように今までの『(k - 1)文字一致』で表現ざれるkの範囲(1以上)から外れた値を入れておけば区別できますよね0を入れておきましょう
あとはこのルールに従って最初から順番にnext[]の値を決めていけばいいのです
配布資料のプログラムではさらに大分姑息なことをやっている上に何も解説されていなかったりしますが, 基本方針はこんな感じです
今度はBMアルゴリズムについても見ていきましょう
これはKMP的作戦のほかにテキストをできるだけ飛ばし読みすると言う作戦が入っています
先ずは飛ばし読み作戦についてだけ考えて見ましょう
これはテキストをパターンの右側から当てはめていって最初に不一致が起こった文字についてその文字を含むパターンの当て方のうち最もずれが少ないものを次の比較対象にすればいい事がわかります
当然パターン中に無い文字が現れた場合はその文字が入っている部分は一致しないことが明らかなのでそのそこからm文字スキップしたところから調べればOK次の文字から始まるパターンについて調べ始めればよいということになります
また, 一致しない文字が右端に来るパターンは調べ終わっていることは明らかなので考慮しなくても良いですね
あとは配布資料中のプログラム5.1.7そのままです
蛇足: Cでは処理系によってはsignedだったりするcharを配列の添え字にはできませんから次のような感じにする必要があるとは思いますが…
int * initskip(char p[]) { int m = strlen(p); int * skip = この配列は関数の外でも使うので動的メモリ確保, グローバルな配列にしてもいいですcalloc(charのとる最大値(文字コードとしてintに自動でキャストされます), limits.hで定義されていますCHAR_MAX - CHAR_MIN + 1, sizeof(int)); int i; for (i = CHAR_MIN; i <= CHAR_MAX; i++) skip[i 配列の範囲は0からなのでずらしてあげる必要があります, 使うときも同じ- CHAR_MIN] = m; for (i = 0; i < m 最後の文字を除いていますね- 1; i++) skip[p[i] 配列の範囲は0からなのでずらしてあげる必要があります, 使うときも同じ- CHAR_MIN] = m - j - 1; return skip; }
ここで問題があります
例えばパターンが『abcde』の時に『abceedcdeabcde』を探索することを考えてみましょう
先ずは1~5文字目を探索, 5文字目のeが一致しているので4文字目を探索, 一致せず, skipにはパターンの最後以外にあらわれてませんよねeは無いので次は5~9文字目を探索, 後ろ3文字を見た後, 'b' $x[ne] 'd'なのでskipの'd'に正直に従うと…3~7文字目を探索, 戻ってしまっています
これでは無意味なのでもし探索範囲が戻る場合にはskipを無視して探索範囲を右に1ずらすようにする必要があります
それでもほんの少ししか動かせないのは勿体無い, だって'c'が次にあることは判っているのに'e'と比較する, 無駄でしょ?どうせ一致しないのは判っているのに…
というわけでKMP的手法をそこに取り入れることにしましょう
KMPとは違ってパターンをずらす方向がKMP: 比較は左から, ずらすのは右へ, BM: 比較は右から, ずらすのも右へ相対的に逆なので配布資料の図5.1.12~14のように少し複雑になります, そこでのs(ずらす量)の条件はそのページの右側にある式そのままです
表nextの計算方法についてはあまり本質的な感じではないような気がするので…, 必要だといわれたらまたやりますが…疲れてきたので省略します
結局はこの両方の作戦で求めたずらし量のうち大きい方を採用しつづければ上手くいくというのがBMアルゴリズムなのです
ここで3つのアルゴリズムを比較しておきましょう
最後に配布資料の範囲外ですが, 講義で扱ったので当然試験範囲Suffix Arrayについて簡単に説明して終わりにしましょう
これは文字列を2分探索するという考え方から出来た探索法で今までのようにパターンに加工を施すのではなくテキスト自体に加工を施します
因みにSuffixとは『接尾語』, 文字列の終わりの方という意味です
今までの逆ですね複数のパターンを一つのテキストに適用する時に威力を発揮します
例えば『聖狐はこれを早口では言えませんばすがすばくはつ』をこの方法で処理してみましょう
2分探索をするということは検索対象を辞書順にソートしておく必要があります
で, 何をソートするかと言うと『何処からパターンに当てはめるか』をソートすることになります
実際にやってみた方が早いので…
この方法の欠点はこういうリストを保管するための領域が結構要るということにあると講義中でやっていましたが, Cだとポインタを悪用(?)すればさほどはかかりません(Javaだとかなり大変なことになりそう…)
いい加減に書いてみたルーチンでこのことを示すことによってこの話題を締めくくらせていただきます
char *(文字列)の配列char ** initsuffix(char * str) { int l = strlen(str); char ** sufary = calloc(l, sizeof(char *)); int i: for (i = 0; i < l; i++) sufary[i] = str + i; //i番の要素はi文字目からのsuffixが入る /* sufary[]をstrcmpによる比較でソート */ return sufary; } int find (char * t; char ** sufary, char * p) { int i = 0; int j = strlen(t) - 1; char * res; while (i < j) { int pivot = (i + j) / 2; int r = strcmp(sufary[pivot], p); if (r == 0) return ポインタの差 = 先頭からの文字数sufary[pivot] - t; //一致, これ以上探索する必要はない else if (r < 0) j = pivot; else i = pivot + 1; } res = sufary[i]; while (*p != '\0') { //最初のm文字が一致してもテキストはまだ続くのでその次の文字で引っかかるstrcmpは使えないので手動比較 if(*p != *res) return -1; //不一致 p++; res++; //次の文字へ } return ポインタの差 = 先頭からの文字数sufary[i] - t; //一致, resは壊してしまったのでこっちを利用 } int main(int argc, char * argv[]) { char * str = "ばすがすばくはつ"; char ** sufary = initsuffix(str); printf("%d", find(str, sufary, "ばくは")); return 0; }
だってソートを書くのが面倒なんだもん…動作確認はしていないので保証はできません
因みに一種の横着かもしれませんが…インデックスはポインタの引き算で求めているので引数tはinitsuffixで用いたものと文字列としてではなくポインタとして等しいということ全く同一のものである必要があります
単にsufaryの仕様を1番から使うことにして0番にt自体を記録しておけばOKもう少し変えれば要らなくなる引数なのですが…
昨日の分の日記はアルゴリズムとデータ構造のシケプリ第1弾になっています
それ以外何も入っていません
この文のUPと2日ほどタイムラグがあるので無意味でしょうが, 表示するとこれを読んで時間の無駄と思わなかった方は狐までご一報ください, 多分喜びます無駄なデータが大量に流れてきますのでできれば避けたほうが得策かもとか思ったりします
昨日はシケプリを他人の部屋からこの用語は某Web漫画サイトからの借用, 定期更新とは別の更新のことゲリラ更新した
ついでにCGI変更に関するもの以外の日記も大問題かも内容も見ずに1件上げたのだが, 今確認したらあめ玉氏のWeb Site捕獲報告だったりした
勿論追加しておきましたリンク集をUPするのはこの文のUPと同時なのでその時点では日記からのみのリンクなのに…である
取り敢えず日記内の名前連想リンクのリストには入れていなかったので問題は無かったが, 使ってしまっていたらエラーになっていたのだろう…
で, 今日の日記
試験前だというのに秋葉原へ行ってきてしまった
で, 2冊あるうちの高いほう(角川書店), 情報量が多そうだったDINOSAURの攻略本と宙出版, この手の本では結構有名どころYsのアンソロジーコミックを入手, 読み耽る
攻略本はともかく, コミックの方はかなり面白かったです
表紙がオリジナルじゃなかったのが少し残念だったけどかなりいい出来でした
とはいえ, 実は元ネタのI~Vのうち聖狐がやったことがあるのはIとIIのみ(名作として有名なのもこの2つだけだが)2割ぐらいは知らないものなのですが…
とりあえずこの本に苦言を呈するならば唯一つ
ネタが被り過ぎです
『Ys I, IIにおける攻撃方法について仕様』の話や『Ys IIのイベントアイテム, 詳細は面倒なので書かないリラの貝殻』の話, 『Ys世界における家畜, 肉の味は極上という設定ピッカード』の話など同じところで同じネタの漫画が大量に…
まぁ, Ys自体話は大して長くないので仕方がないのかもしれませんが…
実は最初は両方ともやはり行き慣れた店が1番, 正しい秋葉原の巡り方とは全く反しているものかもしれませんが…LAOXで買おうと思っていたのですが, コミックの方が見つからない, FMSのCDや某ゲームのアンソロジーがたくさんあるところにこの本が無いはずはないのだ置いていないという事は無いはずでしょうが一般ゲームのアンソロジー本なんて殆ど無いので…広すぎてよく判らなかったのでした
ということでこっちのみ他のどこかは自明なので書かない, 入って3秒で見つけてしまった自分に虚しさを感じつつ…漫画等専門店で買ったのでした
全く関係ないけど用語集を更新, テスト勉強しろ~英伝関係を拡充しました
現在158件が登録されてたりしちゃってます
同期割り込みと非同期割り込みのat 代数と幾何演習の教室, 演習(時間オーバーしすぎ)終了後区別を確認, 問題なし
今日は解析力学・量子力学の断念という意味です履修停止を決めた
今日と木曜日と補講…多過ぎるって…あと3回しか講義は残ってはいないが, 今までの分等を勘案するととても聖狐の手には負えないと判断したもので…
いつもこの時間に講義を取っているのは聖狐だけだったので皆さん食堂で無理矢理流し込むとかいう危険な意見もあったり…恐いです如何に早く食事を終われるようにするか考えていてくださったご様子で…で, その苦労を裏切ってしまってごめんなさいどうもありがとうございますです
今日は情報数学の復習とかをして空いた時間を利用しました, こういう空き時間も結構有効に活用できるものだなぁ…と今更思ったり
演習の時間は去年の過去問をやっていました
清楚な普通にIMEでは出てきません, こんな言葉誰も使わないって…整礎な関係について復習せねば…ついでに一般化したmapみたいな3引数関数(2引数で1引数関数を返す関数というべきか…)foldも…
いよいよ明日, 1日1つしかテストが来ないのである意味楽なのではあるが…テスト地獄が情報数学を筆頭に始まるのです
多分このネタはnian氏は語らないのだろうなぁ…と思いつつ…
今日は半蔵門線が田園都市線の影響で完全に麻痺していたので永田町-赤坂見附駅で南北線ホームと銀座線渋谷行きホームはこの駅の中で一番離れている, 確か0.5km以上あったような…10分間急ぎ足をして銀座線に乗るハメに…
どうして時間ギリギリな時にこういうことになるのかなぁ…
明日は午後からで大丈夫なのではあるが, 復習時間が欲しいのである程度の時間には出ようかなと思う
少なくとも『気にしない気にしない…(笑)100mを7秒で走れば間に合うよ』状態だけにはなりたくは無いので…
昨日は復習をしているうちに眠ってしまったようである
気が付いたら0時を回っていたので電気を消してそのまま眠る
朝, 気付いたらポケモンのルビーが1日を越えて放置すると木の実が消え始めてしまう…32時間ほど手付かずになっていることに気が付く…ってそんな問題だったろうか
取り敢えずfoldは直前までに頭に叩き込むこととしよう
昨日のはこちら
たいした事書いてないけどね…
ポケモンデータベーススクリプトの改造をした
データベースとして正規化するために技のデータを別テーブル化するのである
取り敢えず技の固有データとしてはタイプ不明, 威力 0, 命中 0, PP 0いい加減な仮の値を与えておいてTeXの目次作成のように全データを記憶しつづけるのは問題があるのでポケモンごとに処理して各ファイルに追記する仕様と登場する全技をサーチする必要性が衝突するため2パスで変換するような仕様にした
技の並べ順は1パス目と2パス目でIDが変わってしまったら意味が無い一意である必要があるのでソート規則を適当に作ってみた
単に技名のコード順でも構わないのだが, そうすると最初に来るデータが『10まんボルト』となって, 何故かこのときだけAccessのインポートウィザードがShift_JIS, 最初の一行だけで判定しているためにデータ不足で失敗したと見た文字コード誤認識を起こすので文字コード変換は面倒, これが一番平穏な方法なのだこれが1番上に来ない方法を模索, タイプ, PP, 命中, 威力, 五十音の順に並ぶように設計した
1パス目は技データを読み込んだ後全出力を一時的に削除, 読み込んだデータをもとに仮のIDをつけながら全データを収集し出力すると共に新しく技の一覧を作成し, タイプ等のソースから得られないデータを読み込んだデータで補完して保存しなおす
2パス目はこのデータをもとに正しい技IDで全データを出力しなおす
これで全てのファイル中にある技をリストしてIDを与え, それをもとに出力できるようになった
こんな色々な意味で…アホなスクリプトを書いたのは初めてな気がする
このためにハッシュ内に配列を入れるために配列のリファレンスの構文を調べたり…本当にアホです
とても英語の試験前日にやることではありません
ところで, Perlで[$a, $b, $c]のようにして作られたもの無名配列へのリファレンスからその配列の要素数を得る方法とかリストへ引き戻す方法って何かありますか? と, 同じように無名ハッシュへのリファレンスからkeysのリストを取り出したりする方法とか…誰へとも無く訊いてみる
実質Lv. 40(ホエルオーへ進化)とLv. 45(ツチニンのあなをほる)のポケモンを作る必要があった前提条件が面倒だったために手をつけていなかったサファイア版の伝説のポケモンを今日すべて捕獲した
ルビー版をやった時には嫌になるほど全滅リセットを繰り返してやっとの思いで手に入れた3匹だったが, 今回は全て攻撃力の具合を確かめる(いかに生殺しにするか)ために技を選択するダミー戦闘はあったが…実質1戦で捕まえられた, 呆気ないものである
因みに, 前回は導出過程の点字はある程度は読んだが, 今回は全く読まなかった
記憶の中の突破方程式
真ん中で『そらをとぶ』違ったら→点字中央から右2下2で『かいりき』そうでもなければ→点字を表示しながら2分待つ
これで点字など2分待ちの間は暇つぶしに眺めたが…一切読まなくても先へ進めるのである, 大きく間違っていますが…便利な世の中になったものだ
ポケモンデータベースの方は覚えうる技一覧機能に進化前のポケモンが覚えられる技を入れるようにStructured Query Language データベース照会言語のこと, この中のSELECTコマンドを使うのであるSQLを組んでみた
元のクエリが各手段のテーブルから技を覚える方法の情報, レベル(1~99)か卵か技マシン(1~50, 秘伝1~8)かの情報を整数に写すタグをつけてデータを集計するユニオンクエリとそれを整形, 整列する選択クエリの2段構えになっていたのでその間にできれば循環参照で再帰的に何段でも遡れるようにしたかったが, Accessが怒るので仕方なく…進化前及び進化前の進化前のポケモンについてのデータをこちらは一律"進化"を表す整数にする, 重複する可能性を考えてDISTINCTを付ける別のタグを付けて加えるユニオンクエリを作って挿入することにした, 聖狐にとってクエリのいつもは2段構造ですらflatにしていたのだが, ユニオンクエリを使うには多段構造は仕方がないと思う3段構造なんて初めてである
一つのフォームに種族値, タイプ, 特性, 卵グループ, 覚えうる技と何でも詰め込んだ当然の帰結体感速度からしてかなり遅いが, これは金銀時代に作ったデータベースはレベル技しか網羅していなかった, 無論遺伝系統など全くサポートしていなかったご愛嬌ということで…
次世代WHFで配布された『『無限』説と『夢幻』説がある, 多分後者だろうとは思われるが, 正式には『むげん』でしかないむげんのチケット』(←ポケモンのゲーム内のアイテムです)の東京駅の近くにあるポケモンセンターでの配布が明日からに早まったそうである
なんでもWHF大阪会場で貰いそびれた人からの問い合わせが殺到したようで, 『これはやばい』と判断したためだからとか…
因みに管理人は朝起きて時計を見た瞬間に諦めました
幕張では朝6時半には定員の半分は埋まっていたそうで, そんなものは管理人には無理なのです
ポケモンセンターでは配布数の限定は無い様なので形式言語理論の試験が終わったら貰いに行こうかなと思っています
とりあえず必要なものはこんな感じです
狙うは中学・高校生が来ない平日の10時過ぎ等の時間帯でしょう
一緒にポケモンセンタートーキョー未知のゾーンへ踏み込もうという方は連絡ください, 一緒に参りましょう
英語? 多分大丈夫だと思いますが…単位が来るといいなぁ~
次項の理由によりUP当初とは別に書き直しております
> 78K様, Ti様
Perlのデリファレンスの件, ご教授いただきましてありがとうございます
聖狐が持っているPerl系書籍はCGIの入門書とPerlのポケットリファレンスだだったので例文を読んでそれから基本的項目を類推するというやり方例文を探すことの限界を思い知った瞬間でした
$$hogeの例はあったのですが, $から類推が効きそうですが…結局はデリファレンスしたい型文字を頭に付ければよいようです@$fugaの例は見つからず…でした
自分で実際にやってみた結果, こんな感じでできるようです
$hoge=[["a", "b"], "c"]; push @$hoge, "d"; print "[ $hoge ], [ @$hoge ], [ @{$$hoge[0]} ], " . @{$$hoge[0]} . "\r\n";
[ ARRAY(0x1b0f0f4) ], [ ARRAY(0x1b0f010) c d ], [ a b ], 2
この知識がポケモンデータベースはプレイする上で有益ですよぉ~無駄な方向にしか使われることがないということにならないように精進いたします
それでも全体にSQL臭は漂わせていたつもりではいましたが… xhtml→csv→mdb変換ですから…ポケモン尽くしなコンテキストからこんな質問を見つけて答えてくださった皆様, 本当にありがとうございました
タイトルがいいかげんなのは気にしないで下さい(前項参照)
今日は計算機システムの試験前日だったので夕食後は図書館で勉強
UTCardで入管入館認証ができるそうなのでみんなで実験, 反応が遅すぎて使い物にならないと感じる
多分次に入館する時は駒場図書館のゲートはこっちも反応が悪いが…バーコード認証だな…
で, みんなで勉強, 聖狐はすぐに面倒になって試験には絶対出ないであろう浮動小数点関連のインストラクションとかリーフサブルーチンの最適化とか…無駄な部分を読み始める
ついでにこの前のYsのアンソロジー, もう内容は殆ど覚えてしまったのだが…(語学もこんなに簡単に覚えられれば…)関係ないものまで読み始める
とりあえず他人の疑問をかき集めて答えを導出する事を続けると試験範囲の全体像が見えてきて準備OKになるので罰当たりめ…その後は暇なのである
結局最後が情報棟ではなかったので緊急UPの日記やポケモンデータベースの元データ x40 etc.今日取得したデータは全てネット環境がない哀しさ…持ち帰らず…
で, 帰ってきてから閉店間際の飲み物を調達しに…食料も少しは買った近所のスーパーへ…
値札修正, 割引シール x 2, 極めつけに2個セット(値段は1個分)割引が4重にかかっている弁当を発見, 怪しいと思ってしまう…
最近, 複数日に渡って日記を書けば最後の以外は即過去ログ扱い, 今日は月末なのでかなり意識しないと見つけられない, Hintは日付がいつもより進んでいることUPと同時にLatestでは無くなる仕様を利用して『半・隠し日記』をつけるのを良くやっているような気がするが, それは気のせいということで…
別に恋愛感情だとかそういうものではなく純粋なものとして…人が人に惹かれる理由とはどのようなものだろうか
それは人によって様々であると思う
聖狐の場合はどうなのだろうかどうでもいいが, この文字を携帯で打つ時は句点コード入力で『01-36』で入力できる…
多分それは『元気を分けてくれる人』なのかなと思う
何か困難なことに直面してもそこで諦めず, 現状を克服し, 突破しようとする
そこに諦めの感情はなく, ただただ解決への道を歩みつづける
そんな姿をみると自分も努力しなきゃと思えるのである
そのような仲間がいるから今日も頑張るのである
やはり半・隠し日記なので普段書かないようなことも書くことができる
こういうところの存在を見つけた方はできればそっとしておいて欲しい
でないと2度とこんなことは書かなくなるだろうから…