[PR]
×[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
『絵ログ』キーワード指定について
『絵ログ』のキーワード内部処理をどうするか悩み中。
当初はキーワードそのものの文字列で処理していたのだけど、これだとキーワード選択画面との連携を管理するのが非常におっくうなのよね。だもんで番号処理に変更。でも後々のことを考えるとやっぱり文字列処理のほうがいいような気がしてきた。
ログが増えたときのことを考えるとログファイルは個々に独立していたほうが何かと便利。しかし番号処理だと各ログごとのキーワード番号の連携がとれている必要がある。これだとログファイルを分割した後にキーワードを編集したりするとログファイル間でのログの移動ができなくなっちゃう。ジャンル分けなんて旬を過ぎればどんどん変わっていくものだからねぇ・・・。
文字列で処理していれば内部的には語句検索と同じなので、ログを個別に別ファイルに移動してもとりあえず処理に矛盾がおこることない。ただこうするとキーワード選択画面とログとの連携は管理者任せになり、スクリプトでは対処できなくなる。
内部は文字列処理、キーワード選択画面は現行ログのみ、過去ログ分のキーワード選択画面は一覧表示でお茶を濁す。この辺りが妥協点かな。
つか、選択画面からキーワードを指定することってあんましないのよね、多分。数百単位のログを一元で管理するとかならまた話は違うのだろうけど、恐らくそこまでのログを扱える耐久性はこのスクリプトにはないだろうし。
基本的な機能と表示については概ね満足のいくデキ。思いつく機能はほぼ取り入れました。加えるなら日付データを数値にして初出順、更新順、逆順ソート、更新マーク付加、とか。
PR
問題点いろいろ
『絵ログ』スクリプト、そんなこんなで一通りの機能の装備が完了しました。大きくつまづいた点を記録しておきます。2点、どちらも配列がらみ。
まずは配列のコピー。
知ってる人から見ればマヌケなハナシですが、「参照渡し」というものはどうにも感覚的に理解しにくい。JavaScriptに於いては値そのものにアクセスする変数以外はなんでもかんでも参照渡し、と考えてよさそうなんだけど、ソース上の表記にそれが現れてないのがやっかい。仕組み自体は単純なことなんだけどねぇ。せめてソース上で視的に別扱いになっていればこれほど悩まなくても済んだんだろうけど。
「オブジェクト指向」っつーヤツもそうなんだけど、感覚的に受け付けにくいのよねぇ・・・。
続いて配列のソート。
こっちは単純な勘違い。sortメソッドでは配列を数値としてではなく文字列として扱う、というだけのこと。
変数の値を確認しながらスクリプトを動かすことができればもっと早く気が付いたんだけど。デバッグ環境としてはあまりよろしいとは言えんね、JavaScriptは。この辺もJavaScriptプログラミングの敷居を高くしている要因のひとつだと思う。
ついでにもうひとつJavaScriptに対する不満を。
HTML文書を扱うことを目的とした言語なのに、Perlで言うところのヒアテキストのような文字列表記の方法が存在しないこと。これが非常に不便。
スクリプトを扱っていてHTMLとの相性を悪さを感じることが度々。別畑の独立した言語を無理矢理HTMLの扱いに持ってきたんじゃないかと思ってしまう。Perlの方が全然ソレっぽいよ。
と不満タラタラながらとりあえず完成。しばらくはテストですよ。
『絵ログ』不具合メモ
やはりちょこちょこと出てきました、不具合。
Operaでうまいこと動いてくれないのでJavaScriptのソースの文字コードをUTF-8に変更。なんでもこれがJavaScriptのデフォルトの文字コードだそうで。併せてHTML側の呼び出し部分でcharasetを指定。Shift_JISでも指定すれば動くようですが。
他のスクリプトでUTF-8のHTML(ここだw)からcharasetでEUC-jpを指定してEUC-jpのJavaScriptを呼び出そうとしたときはうまく読み込んでくれなかったのですが、これも仕様か。
テキストエリアのデータをvalue値から変数に読み込んで改行文字を置換する、という処理がうまくいかず。これはIEとOpera。FireFoxでは問題なし。
具体的には、'\n'を'\\n'に置換して再度テキストエリアに表示しようとすると置換後の'\n'の前に改行が入ってしまう、という現象。置換後の文字列内からは改行文字はないのに?
よくわからんのでとりあえず保留。編集時のみに関係する不具合なので今のところはそのつど手作業で対応することにする。
IEとOperaでは改行は\nではなく\r\nとされるのが原因でした。(追記)
なかなかすんなりとはいかないもので。
よしよし
『絵ログ』スクリプト、表示と記事編集機能はこんなもんか。機能とか見た目とか欲を言い出せばキリがないのだが、この辺りが引き際でしょ。細かい修正はするけど機能改善はしばらくおあずけにしときます。気になる部分があればとりあえずメモ。
あとはキーワード編集機能をつければひとまず完成だ。
んで、そのとりあえずの気になる点としては、ツールバーの使い勝手の悪さ。ここは早急に要修正。今んとこそんだけかな。
これでログを増やしたときのレスポンスの確認ができたらソースを晒してみよう。
ただソースを晒すならもうちょっと美しく仕上げてからにしたいよなぁ。現在のソースは冗長的な観点から見てあまり美しいとは言えんのよ。一貫性がないというか、イマイチ主張がはっきりせんというか。
冗長化プログラミング
『絵ログ』スクリプトの作成、難航してマス。
とりあえず表示に関してはほぼ問題なし。遅々として進まないのが編集機能。
まあもともとログファイルの編集はテキストエディタで行う仕様で作り始めたものなので、この辺りの処理は行き詰まって当然といえば当然。ぼちぼちやりまっしょ。
ただスクリプトをいじってると絵を描く気が萎えるのは困りもの。何日もペンを握らないというのは避けたいのだけど。そうはいってもスクリプトも一段落つかないうちは手が離せないしなあ。
なんていうか、脳の切り替えがうまくいかんのですよ。
さてさて、そのスクリプトについてなんだけど、今回は意識的に「冗長」に作ってます。よほど必要なときを除いて、スクリプトは基本的にタテに伸ばしていく、と。似たような処理が必要なときは前に使った処理をコピペ。
なんだかんだいっても個人レベルのプログラミングではこの方が効率的なんじゃないかなあ、と思ったもんで。ソースも読みやすいし。
現状がそれを許すパソコン環境になった、というのも大きい。
そう、「より人間的なプログラミング」、ないしは「文学的プログラミング」が可能な環境がやってきたのデスヨ。ソースは、あたかも原稿用紙に文章を書くかのように記述していくのデスヨ。ストレスも溜まらんのデスヨ。
そしてそのようにして作られたソースのああなんと美しいことよ! これぞまさに人間賛歌!
「構造化」だ「オブジェクト指向」だなんてのは忍耐の強いヒトに任せましょ。あんなのは仕事のためにすることであって、趣味でするようなもんじゃありまっせん。まちがいないって。
※真に受けるべからず
絵ログ
そんなわけで先日からちまちまとスクリプトをいじくってマス。で、まあそれなりにそれっぽく(?)表示できるようになったのでリンクを張っておきます。
『絵ログ』(※18歳未満閲覧禁止)。
見てのとおりお絵描き掲示板に使われている表示形式がベースになってます。それにブログのカテゴリアーカイブ機能を付け加えた感じ。
見た目はこんな感じで、これは今後大きく変わることはないと思います。
IE、FireFox、Operaで動作確認。最初に表示されたページからページ切り替えをするとなぜかページ内移動が行われない不具合あり。(IE、1度目のページ切り替え時のみ) Operaでのページ内移動は1度しか行われないのは、まあ毎度のこと。
広告タグの影響だったみたい。スクリプト上は問題なかった模様。(追記)
このスクリプトを作っていて気がついたのだけど、Operaの画像リサイズ(縮小)はなかなか優秀。この画質ならわざわざサムネイルを別に作る必要はなさそう。IEでもこのくらいの画質でリサイズしてくれたらと思わなくもないけれど、まあこれはないものねだり。
現在はJavaScriptソースを直接編集して更新する仕様ですが、編集機能は別に作る予定。とはいってもCGIではないのでファイルを直接書き換えることは不可能なので、とりあえずテキストボックスにソースを書き出しエディタでコピペ、FTPでアップロード、という仕様にする予定。
ソースを直接出力して「ソースの表示」から保存、という方法も考えたが、これだとタグ記号(<>&)がエスケープされるようで、NG。
などなどなど。
まあぼちぼちと。
『絵ログ』スクリプト
「絵をどう保管するか」というのが悩みの種。
見る立場からするとなんだかんだで単純に絵がズラズラ並んでいるだけのものが実は見やすかったりするのだけど、見せる立場からするといろいろやりたくなるのが人情。ただやりすぎは避けたいのよ。実際、目的の絵にたどり着く前に見る気が失せてしまうような造りサイトがホント多い。
何の絵だかわからん部分サムネイルをクリックしないと絵が見れない、絵が表示されると一旦戻らないと他の絵が見れない、なんてのはホント勘弁。
でも簡単な説明文くらいは付けたいし、カテゴリ分け機能もほしい。
この辺のバランスが悩みドコロ。
加えて、更新のしやすさも重要。
お絵描き掲示板のスレッド表示とカタログ表示の切り替えに、旧『絵ログ』でやっていたカテゴリアーカイブの機能を加えたような感じが現実的かな。
そもそもこんなことでな悩まなければならない原因は自分の絵の中に裸婦絵が多いから。そうでなければブログにまとめるのだけど。
特にここ(NinjaBlog)はサムネイルの画質が高く、しかもサイズの設定ができる。複数カテゴリも、現在は未対応だけど今後対応する可能性が高い。
とはいえできないことを言ってもしょうがないので別な方法で対処することにしよう。
CGI可アダルト可のサーバーを借りれるならお絵描き掲示板スクリプトを改造するのがいいかも。検索機能に手を加えればカテゴリ別にアーカイブを作ることもできる。
難点はスレッド表示時のサムネイルの画質とサーバーのレスポンス。特にサーバーのレスポンスについては前にヒドい目にあっているので、条件に合うサーバーがあるか、超懐疑的。
CGIを制限しているサーバーならレスポンスにも期待できる、カモ。(やや懐疑的) JavaScriptでスクリプトを組めば表示形式の変更やアーカイブ作成にも対応できそう。
サムネイルを別に作らなければならなかったり(画質にこだわるなら、だけど)とかファイルを更新&FTPでアップロードしなければならなかったりとか、更新はある程度面倒になるけど。
それでもうまくスクリプトを組めればリンクを切ったり張ったりはしなくて済む。『ウラ絵庫』更新のときよりはお手軽にできるんじゃないかな。
現在、後者の予定で対応中。いつかは作りたい掲示板スクリプトのベースにもしたいし。
移転
livedoorブログからの移転準備が概ね完了。作業は思ったよりスムーズに進んだかな。
移転に際して両ブログ間の機能の差で気になる部分を書き留めておきます。
まずあっちにはあってこっちにない機能。
カテゴリの複数指定。ちなみにあっちではひとつの記事に2つまでカテゴリを指定できます。こちらはひとつ。記事内にキーワードを埋め込んで検索機能と併せれば似たようなことはできるのだけど、それはちと美しくない。
あとこれは機能の有無とはちょっと違うのだけど、こちらでは特定記事のコメント機能を止めるとその記事に対してコメントできなくなるだけではなくそれまでにあったのコメントの閲覧もできなくなります。基本的にコメント機能はオフで定期的にコメント用の記事を置く、という使い方をしたいので、これはちょっとイタイ。まあコメント用記事を新しくするときに前の記事のコメントをコメントごと記事にしてしまえば済むのだけど。しかし手間ではある。
続いてのそ逆。
なんといってもこっちは軽い。いやホントに軽い。個人的な判断基準としてページ表示に1秒以上かかるのはそれだけでサイトとしては使えないと思うのだけど、こっちは(今のところ)「使える」。もっともここは「サイト」としてではなくて私的なスペースとして借りているだけなのでそこまでシビアではないのだけれど。
サムネのサイズを指定できるのもうれしい。しかも高画質。どういう仕組みなのかはよくわからんが、非常にキレイに縮小されてます。あーエロ描かないならこっちに絵を全部持って来たいよ。
テンプレ設定もこっちのほうがわかりやすいと思う。プラグイン部分も細かく指定できる。
とりあえずトータルで見ると概ね満足。たぶん近いうちに正式に移転します。
つーか、あっちはマジ遅すぎ。はっきりいって致命的。あーサクサク表示されるってイイなぁ。