めちゃだらける
うー。暑さなのか湿気なのかゆうべの飲みすぎなのか、原因はともかく、今日はいちんち全身だるくて頭が回らずなんもする気もせず。身体の芯と外の世界の間にぼわーっと靄がかかったような感じというか。
なもんで、今日は。
チャリで昼間、猫缶を買いにユニバーサル、ついでにかねふじで揚げ物(しょうがボールというのが絶品だった)を。
だらけたままミケさんが涼しげに転がってるのを見て、一緒に転がり昼寝。
チャリで夕方。駅前の銀たこを買い、東急ストアのちよだ寿司で買いだし、ヤマニでシメイとデュベルを。
と、まあほんとなんもしないいちんちだった。(ひらがなばかりだと読みにくいなぁ)
とりあえず。
読書SNSの、使い捨てセッションIDとajax部分のフォームの問題は、面倒なんでajaxコンテナごとに使い捨てセッションIDを設定することで強引に解決してしまおうか、と。ほかにもっとうまいやりかたがありそうなんだけど…。となると後残るは力仕事。現状のサイトからの移植作業をするだけ、かな。ううう。面倒くせえなぁ。
んで、ふらふら、ふと思いつきで、データベースを使わないでテキストファイルをデータとしてSQLっぽく扱えれば面白いよなぁ、と。この雑記帖なんかもずいぶん前に作ってそのまんま。文字コードeuc-jpで、データはcsvのテキストファイル。データベースはsns専用にしておきたいから、このまんま使い続けるんだけど、もうちっと気の利いた使い方ができればなぁ、と。p5-DBD-AnyDataとかp5-DBD-CSVとかp5-SQL-Statementとか、ちょっと気になって調べもの。データベースに比べると当然速度なんかは見劣りするけど、それなりに使えるっぽい。
おもしろそうだなぁ。…けど、んなことやってるヒマあったら、先に読書SNSリニューアルだろ、だよなぁ。
にしても、ほんと、湿気と暑さにまいっちんぐ(死語)
[07/13 21:26:32]
簡単に使えるんだ…。
my $dbh = DBI->connect('dbi:AnyData(RaiseError=>1):f_dir=.');
$dbh->func( 'zakki', 'CSV', 'zakki.csv', 'ad_catalog');
これだけ、だ。
あとはフツーにsql書けばいいだけなのか。びっくり。
…DBの使えない(postgresqlなんかあるんだけどメモリとディスクの容量的に苦しい)zaurusにインストールできればちょうどいいんだけどなぁ。
[07/14 22:00:20]
てなこと思ったけど。
CPANのモジュールをインストールするのにgccやmakeをzaurusで使えるようにしなきゃいけない。どう考えたってたいそうおおげさ。うーん。今のままでいいかなぁ。うちのサイト、euc-jpのページとutf8のページが混在していて、どうせならutf8に統一したいところなんだけどねえ。
うー。だりい
[07/15 09:07:02]
日付が変わってる記事に追加するのは好きじゃないんだけど、といいつつ。
ここの書き込みをとりあえずutf8に変換してひとつのファイルにまとめてみてびっくり3M超えてるじゃん。最古が2000年で、まだそのころはcgiにしてなかったから書き込み頻度はそれほどでもなかった。cgiにしてからは、まあなんというか、ネットにゴミ、生ゴミ、燃えないゴミ、各種ゴミを撒き散らしてるなぁ。有益有用な記述がひとつもないことに、今さら呆れる。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
めも:ajaxの戻る
またハマってるのがajax…ブラウザの戻る。
ブラウザの「戻る」自体はわたし自身もよく使うし、いわゆるユーザビリティを考えても、ブラウザ標準の機能をサービスの都合でどーこーするのは、発想する時点で負け確定。
とはいえ、確認画面なんかで、おっといけない書き直し、となった場合、用意されてる「戻る」ボタンじゃなくて、ブラウザの「戻る」を押すことが多くて(わたしはSleipnirでマウスジェスチャで戻る)それはそれで問題。
ブラウザで戻られると、ajaxで出してるフローティングコンテナのフォームがぶっ飛んでしまう。
せめて一度だけこのときだけでもブラウザの「戻る」は「なにもしない」で欲しい、と。
あれこれ検索してみて、とりあえず一度きり、ブラウザの戻るを「なにもしない」にしてみる。
if(document.all){
var ifr = document.createElement('IFRAME');
ifr.style.cssText="display:none";
document.body.appendChild(ifr);
var iframe = frames[frames.length -1].document;
iframe.open();
iframe.close();
iframe.location.hash="#books";
}
else{
window.location.hash="#books";
}
location.hashにテキトーな値を入れると、URLの履歴にページ内ジャンプのURLが追加される=ページ遷移が起こらない。これを利用してブラウザの戻るを意図どおり一度だけ「なにもしない」にできる。
ajaxが絡むページ移動やブックマークではこいつをさらにガリガリ使って、いわゆるフツーのページ遷移・ブックマークを実現する…らしいけど、わたしはそこまで考えてないし、そんなスキルもない。
で、どうもIEだけが別扱いらしく、widndow.location.hashに値を入れても反応してくれない。
document.allでくくった中のように、ダミーでiframeを生成して、そのiframeをopen→closeして、そのiframe のlocation.hashに値を代入、なんて二度手間三度手間してようやく。
うーん、でもこれでいいのか、本当に意図どおりなのか、てのはいろんなパターンを検証しないとわからんちんだなぁ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
暑くてだるい週末
セキュリティ強化に、ページ使い捨てのIDを導入したいんだけど、ajaxで悶絶。どうやってcookieを食わせりゃええんだ。
セッションIDの考え方は簡単で。
1
ランダムな一意の文字列をテキトーに保存。
2
1で作った文字列をformに仕込んで送信
3
送られてきた文字列と保存しておいた文字列が同じだったら、1→2→3、と正常なページ遷移。そうじゃなければ、なんかエラー。
この「保存」てところ、サーバー側のDBとユーザー側のcookieに保存するのが常識というか定番というか。ところがajaxの場合、ページ遷移がフツーじゃないんで、おそらくjavascriptであれこれ細工が必要になる、のかな。…cookieの中身が親の古い文字列になってる、ぢゃん。
どうやら、ハマったくさい。
んでもって、javascriptはほとんどわからない、ときたもんだ。しょうがないんで、別の細工を試してみる。CPANから持ってきたApache::SessionとかCGI.pmとかソースを覗いてみてはあれこれと。…うううむ、ちょっと難航しそうな予感。
にしても暑い。ほんとうに暑い。
亀有南口にあるRAJ(ラーゾ)というカレー屋が最近の我が家のブーム。ほんとうに美味いんだ。詳しいことはわかないけど、インド北部からネパール系のカレーかも。ナンもマサラナンとかカブリナンとか変わりダネがあって、それだけでも食べる価値がある。値段もリーズナブル。
今日も昼飯はラーゾでカレーだ。
[07/06 21:49:21]
うううむ。やっぱりハマり。
同じページで複数のajaxコンテナがあるような場合に、やっぱりcookieの設定がうまくいかない。そりゃそうだ…。
乗っ取りや成りすまし防止のため、ページ遷移さえ把握できればいいので、cookieにこだわる必要はない、かもしれない。送信されてきたformの値がひとつ前のページの値かどうか、を判断できればいいワケだしなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
遅々として
7月になってしまった。平日仮死状態なのはあいかわらずだ。
3年目になる読書snsのリニューアル。データ取得と表示のひな型を最初に作ったんで、閲覧系は、欲しいデータさえ決めれば思ったよりよりもすんなり形になる。
SQLで引っ張り出したデータはほとんど以下の形で梱包。
$cols=$sth->{NAME}
while(my $p=$sth->fetchrow_arrayref){
my %hash;
@hash{@{$cols}}=@{$p}
push(@buf,¥%hash)
}
return ¥@buf
fetchrow_hash...より早い、らしい。で、表示の方はコンテナ2種類用意したんで、そこに流し込むようにdivタグとかブロック要素で囲って、受け取ったらデータを整える。
テンプレートを使えば、この部分もphpのように、htmlに変数の形で埋め込める、のかな。ちょっと調べたところテンプレートも種類があるし、依存関係が面倒っぽかったんで見送り。
てことで表示閲覧の部分はやっとメドがついた。(cssの調整に時間がかかりそうだけど)
更新編集になると検証に時間と手間がかかりそうなのでまだまだ先は長い。
ページ使い捨てのセッションID
Ajaxによる書き込み
が今回リニューアルで追加になった部分。こいつらがひっかかるようだとリニューアル公開はかなり遠くなる。
うーん、今月中には公開したかったんだけどなぁ。
メモ
変なアクセスがある。ロボット・クローラーじゃなさそう。リンク元が不明のまま、あちこちにアクセスしていて、気持ちが悪い。
なのでアクセスブロック。
150.70.84.
↑これ。コバンザメ系かなあ。なんだろう。
…て、検索してみたら出てきた。また、トレンドマイクロかよ。URLフィルタってなんだよ。まったく迷惑な話だ。ユーザーエージェントぐらい名乗れ糞。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
拍子抜け?
土曜日は朝から内科と眼科のハシゴ…すげーポンコツだよなぁ。
内科のほうは毎度の定期診察で、特になにがあるわけでもない。検診結果を持っていって見て診てもらう。「ぼくの担当範囲は問題なしですね」と。眼科で再検査で、というとちらっとみて、この程度で再検査?と。
あれ?なんだか予想と違ってるぞ、と思いつつ、2軒目の初眼科に。待合室に100人ほどいて腰が抜ける。
うーむ、こっちでも、え?これで再検査なの?という反応。眼球の画像を見ながら、両目とも傷っぽいところがあるので、視野検査しましょう、ということになった程度。
ネットで検索すると
「網膜血管硬化症」「網脈絡膜萎縮」
どちらもロクなことのな病気に見えるんだが。キツネにつままれたような気分だ(ってキツネにつままれたことなんてないけどね、の死語だろう)
んで、困ったのが、朝8時過ぎに起きて医者通い、眼科が終わったのが12時ごろ。眼科の眼底検査で瞳孔を開く目薬をされて、午後いっぱい視界がまぶしくにじんでなにもできず、一日が潰れてしまった。眼底検査なんてしょっちゅうしないだろうけど、内科眼科のハシゴがあるとそれだけで休みがつぶれてしまいそうだ。
今日は雨だし、読書SNSのリニューアル作業をパチパチやってっかなあ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
手帳にカレンダー
いつも持ち歩いているzaurusC860とA7サイズの手帳。zaurusメインで、手帳もちょっとした「手遊び」にいいので併用。
RHODIAのメモ帳はゴワゴワした紙で漂白もしすぎていて使いにくいんだけど、ダイソーで見つけたA7のメモ帳は柔らかくてイイ感じで使える。で、やっぱり手帳にカレンダーが欲しいかも、と思ってあれこれ検索してみると
https://www.pocketmod.com/
こんなサイト発見。PocketModというんだそうだ。
そういや昔、下版時に8ページ折を合わせて折って、なんてやってた記憶が…。
安直に、誰かがカレンダーのテンプレート作って配布してくれてないか、と思ったら甘かった。というかGTDとかってのに絡めた記事が多くて。んな、効率がどーしたとか仕事に前向きな話をされても困る。わたしはただカレンダーが欲しいだけ。
なので、しかたなく、イラストレーターで作ってみた。A4をパタパタ折ってA7のメモ帳にぴったりのサイズ。こりゃ便利だ。自画自賛芸。
ttp://www.holeinthewall.jp/~butch/tmp/cal200806_200901.pdf
↑PocketModカレンダーのPDF版。文字が揃ってなかったりガタついてるのはおれさま仕様。
↓PocketModの折り方
検診のショック覚めやらぬ雨の週末だけど、パソコンに向かって読書SNSのリニューアル作業やら、PocketModでカレンダーを作ってみたり、ものづくりニッポンしてます。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」