Evangeline

書き書き

またちょっと書いてみる。が、尋常じゃなく眠いので続きは明日にして今日はおやすみ〜。

フレームワーク

思い切って全削除したとはいっても、フレームワークを使うことは決まってます。だって、いちいちCGI.pmとか使ってフルスクラッチで書くなんて、非効率的にも程があるってものです。Catalyst使ってお気軽に書こう。RoRも興味はあるけど、さすがにそのために一…

消した

Schemaとかほんの一部を除いてCatalyst関連のファイルを全部消しました。Evangelineの計画自体を放棄したわけじゃないので、ちょっと休んで落ち着いてからまた書き始めようと思います。今はしばらく休憩する期間がほしい。私の身体と精神が休息を求めてる。…

やるきでない

コードを書くやる気がでない。まったくでない。逆さにして振ってもなにもでない。

Catalystで遊ぼう

というわけで、いろいろインストールしたのはこのためです。まるごとPerl!の例を参考にしながら適当に書いてみる。ただ、O/RマッパーにDBIx::Classを使うのは同じだけど、DBIx::Class::Schema::Loaderを使うかわりに、手作業でSchemaを書きました。ていうか…

Catalyst

Catalystを使うことにしました。まるごとPerl!の例を参考に環境を構築。いくつかモジュールを追加でインストール。C::P::Charsets::Japaneseはppmリポジトリになかった*1ので、CPANから落としてきました。 *1:現時点ではActiveStateはもちろん、tcoolにもthe…

書く気力が出ない

助けてエヴァ様。 なんてのは冗句としても、土日の2日、今日を入れて3日間コードに触らなかっただけで、だいぶ書く気力が出ない状態です。とりあえず、ファイルを開くことからやり直さないと。まず作るのはバッチ処理。登録を簡潔にできるようにしないと。

Framework

どうせなら何かフレームワーク、CatalystかJiftyを使ってみようと思ってます。6:4でCatかなぁ。

やる気でない

どう書けばいいか凡その目処はたってるのに、どうしても気分が乗らない。こういうときは1行も書きたくなくなる。

やっぱりダメ

考えてた方法が使えないことがわかった。似たようなパターンが多いから、特徴を抽出する評価関数をどう作っても、直感に近ければ近いほどどれも同じ値になってしまって役に立たない。使えそうな別の方法もあることはあるんだけど、こっちは実装方法が皆目見…

アルゴリズム

とりあえず必要なアルゴリズムは調べてみた。Cで大雑把な概要だけ書いたコード例があったから、Perlに移植してやればうまくいくかもしれない。あとは適当な評価関数を用意することかな。というか、この評価関数こそが一番の肝だよなぁ。うまく書かないと人間…

一番重要な問題

残ってたのを忘れてた…orz これをどうにかしないと書きようがないなぁ。すぐには解決方法が思いつかないので、ゆっくり考えてみよう。どうやれば次元を落とせるかなぁ。素直に書くと3次元空間、一つ落としてもまだ2次元平面。まあ、どうしても無理ならこれは…

column追加

カラムを3つ追加。今はまだ詳しく書けないけど、DBに持たせておいたほうがいいデータがあることに気づきました。登録するときに取得しておいて、最初からDBに持たせておけばいい。いちいちファイルから取得すると検索するときのコストが非常に高くなって実用…

ミスは修正

昨日のミスは修正完了。きちんとユニークidを振ってやるように書き換えました。Schemaのset_primary_keyもそれにあわせて変更。次はバッチ処理で一括登録ができるようにしよう。

やっぱりミスがあった

1:1や1:nは表現できても、言語仕様のレベルで直接にはn:mの構造を作れない以上、マッピングテーブルが必要になるんだけど、今のコードだとそのテーブル間のマッピング用テーブルにidを振ってない。データ構造上、複合キーで必ずユニークになることが保証され…

テストテスト

とりあえずデータの追加までは動いてる。帰ってきたらきちんと検索ができるか試してみよう。プログラムがとても楽しい。自分が意図したとおりにコンピュータを動かせる楽しさ。この感覚を大事にしないとね。 追記 [22:19] 検索もうまく動いてる。じゃあ次は…

ハッシュ関数

identifierとして今はMD5を使ってるけど、別の関数にしようかなぁ。SHA256あたり。数万回計算し直しとかコストは大きいけど、衝突の可能性を何桁も小さくできる。MD5でもまず衝突はしないだろうけど。CRC16だったら思い切り衝突しそうだけどね。

検討中

データベースのテーブル構造が本当に今のものでいいかいろいろ考えてみる。これはある程度進んでしまったらまず後戻りが効かないし、ちょっと慎重に考えなきゃいけない問題だよね。インタフェースも固めないと。日常のやっつけスクリプトならともかく、ある…

間違えてた…

ちょろっとテストデータを入れてみようと思って、半分ほど書いたところで大前提から間違えてることに気付いてorz。やる気なくなったので今日は贅沢日和って発泡酒飲んでもう寝ます。 今はまだいいけど、うまく進んでいけばいつかはMVCでいうところのViewもき…

Evangeline::Schema

とりあえずschemaを書いてみる。遅遅として進まないけど、気長に取り組もう。明日はテストデータを食わせてみる。phpMyAdminのSQLite版みたいな感じのソフトがほしいなぁ。人力検索で探してもらおう。

many_to_many

DBIx::Classはn:mの関係もmany_to_manyで扱えるのです。が、頭の悪い私はサンプルがさっぱりわかりませんorz。最近id:nekokakさんがよくDBICのエントリを書いているのですが、ブクマでmany_to_manyのサンプル誰かキボンと書いておいたら本当にそれでエントリ…

いろいろテスト中

簡単なテストを組んでみようとしてるけど、なかなかうまくいかなかったり。日本語での詳しい資料があまり見つからない。やっぱ英語の一次情報にあたらないとだめだなぁ。まあ、救いがあるのは、技術文書は小説よりも読みやすいぐらいだよね。ある程度出てく…

下準備

とりあえず簡単なサンプルを組んでみよう。適当なテストデータをいくつか用意して、本来の計画よりも小規模でシンプルなテスト版。

くきゅー

調べれば調べるほど、書ける気がしなくなる。無謀な挑戦をしてる感じ。力不足を思い知らされる。 SELECT? YES, ENTER.

私的次期プロジェクト

開発コード名だけ。「Evangeline」に決定。エヴァ様の名前から持ってきました。Tangerineと発音も少しだけ似てるし。これから関係するエントリを書くときはこのカテゴリがつきます。しばらくはコーディングよりも調べものが中心かな。詳しくない分野にも手を…