めも
休みだってのに、cssなのかhtmlなのかjavascriptなのか、どこのトラブルなのかわからない、かつ、致命的なバグのために調べもの。
症状としては。
全体をネガティブマージンで左右入れ替え。左メニューエリアのdivコンテナのタイトル部分のtableが左メニューの最上部にどっちゃり溜まってしまう。…うーん、言葉で説明するのは難しいなぁ。
箱がいくつかタテに並ぶありがちなメニュー。その箱の中のタイトルが上のほうに集まって、箱の中のあるべきところにおさまってくれない、てなイメージ。
IE6だけ、それもノートパソコンなんかのわりと貧弱なディスプレイ環境で出る。
なんでやねん、と調べまくり。いや、サイト公開が明後日だし。IE6なんて相手にしてられっか、と思いつつまだまだシェア大きいし、んなもんのためにサポートの問い合わせ増やしたらやばいし。
結局。
haslayoutというんだそうだ。該当するdiv要素にzoom:1をつけたら、すんなりおさまるようになった、気がする。
…そういや、土曜の夜、メシを食ってたら、奥歯のブリッジがまたポロっと。休みで予約も入れられず、しかたないんで、明日電話入れて、また歯医者通いが始まりそうだ。もう入れ歯でもなんでもしてくれ。鬱。
[07/21 13:36:45]
zaurusだと画面の幅がきついというかくるしというか…調整しないと
[07/22 07:57:49]
zoom:1=hasLayout trueで不都合が出たら、zoom:normalでそこだけ hasLayout false にすることができる、らしい。
IEの独自拡張ってのはほんとめんどう
[07/22 13:05:25]
でもって、IE6だけの症状だったので、_zoom:1に変更。さらに、でもって、あちこちビミョーなmarginっぽいのが発生してるんでそこにはいちいち_zoom:normal…か。なんでやねん。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
体調が微妙で・・・
ということで、ちょっとリニューアルしてみた。
改めてスクリプトを見ると、レイアウトやなんかで自由度を上げるために、いろいろ細工してあったんだなぁ、と。…んで、今回はその手のをばっさりカット。自分で使うためだけに簡単にしてみた。
しばらくこれで様子見。
なんか休みだってのに、体調がビミョーだなぁ
[07/20 23:49:29]
をっと。rssもやんないと、だわ。
[07/21 01:06:13]
うううむ。細かいところの色づかいやデザイン系はまだ全然ダメ…とはいえ、スタイルシートいじるのは、仕事がらみだけでげっぷなんだよなぁ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
雑記帖もリニューアルするかな
読書snsのリニューアルがしんどい書き込み系スクリプトになってきて、飽きてきた。しかたないので雑記のutf8化、ついでにスクリプトの見直しで気分転換。
これを最初に作ったのはおおむね8年前で、リニューアルして今の形になったのが4年ほど前。当時biglobeで動かしてたんだけど。掲示板にしろこの雑記にしろデータをまず丸ごと読み込むとそれだけで遅かった(たかのしれたテキストデータでも)
なので、読み込みながら処理をするとか、データをすこしでも小さくするとか、当時のCGIには苦肉の工夫の痕跡があって、ココもデータを小分けにすることになっている。今回試しにデータをひとつにしてutf8に変換してみたらcsvのテキストデータで約3.2M。…予想より大きいシロモノだけど、一度に読み込ませてみても、うちのポンコツサーバーでストレスなく表示できる。
うううむ。mod_perl2の威力じゃなくて、この速度はメモリのおかげかな。ポンコツサーバーとはいえメモリは2G積んだし、しょせん辺境でアクセスも知れてるんでサーバーの負荷なんてまるでない(ロードアベレージをみる限りラクショー)
今はもうほとんど使ってない機能は削って、簡単なものにしてしまおう。
データベースを使わないでperlだけのblogもどき。
くりかえしになるけど、ウチの場合、読書snsを公開してるんで、それ以外のものはそっちに影響しないようできるだけ軽くひっそり、だ。
んで、こいつを作った当時と違って、今はどのispもブログなんてデフォルト。公開して配布しても需要はないだろうから、テキトーに手抜きして、自分専用でちゃっちゃと作ってみよう。
でも、今さらだけど、ほんとにutf8って「良い」のかねえ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
めちゃだらける
うー。暑さなのか湿気なのかゆうべの飲みすぎなのか、原因はともかく、今日はいちんち全身だるくて頭が回らずなんもする気もせず。身体の芯と外の世界の間にぼわーっと靄がかかったような感じというか。
なもんで、今日は。
チャリで昼間、猫缶を買いにユニバーサル、ついでにかねふじで揚げ物(しょうがボールというのが絶品だった)を。
だらけたままミケさんが涼しげに転がってるのを見て、一緒に転がり昼寝。
チャリで夕方。駅前の銀たこを買い、東急ストアのちよだ寿司で買いだし、ヤマニでシメイとデュベルを。
と、まあほんとなんもしないいちんちだった。(ひらがなばかりだと読みにくいなぁ)
とりあえず。
読書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」