むしろ一昨日参ります。
固定IPアドレスも割り振ってもらう算段がつきまして(←BBIQさん500円/月やし)、水面下で着々と準備が進行しております。私の部屋のPCのHDDをカリカリ言わせる事が出来る様になるまであと少し……。
とここまでやっておいて、実際に稼働させるとすぐに騒音問題でへたれたりして。まー、その時はその時だなー。
たぐ - たくぅさん
(0)
『天外魔境III NAMIDA』GC版開発中止のお知らせ
いやまぁ、別にいいんすけどね、どれで発売されようが。リソースを集中させるのだって悪い事じゃない、と言うか、個人的にはそうすべきだと思うし。ただねぇ、GCのサードパーティ離れが加速しちゃっている感じが淋しいのよねぇ。
たぐ - game
(0)
webobject という独自タグをサーバ側で解釈する事で動的にコンテンツを生成する。なんて仕組みが WebObjects にはあります。それらの独自タグ(とその解釈)を WebObjects Dynamic Elements と言いまして、5.2系の時点で36種類あります、ありました、今数えましたから。その中で、どれが一番利用されるか……、WOConditional、WORepetition……、いや、WOString ですね、矢っ張り。
WOString は名前の通り文字列を扱うモノですので(←あー、でも、「名前通り」なんて思うのはプログラムかじった人だけだなぁ)基本的に String オブジェクトとかそれを返す メソッド とかを渡して使うのですが、それ以外を渡してもいい感じにしてくれまして(←toString() してくれたりとか)、それもできない時はなかった事にしてくれます(value)。そして、なかった時に表示する文字列を指定できたりします(valueWhenEmpty)。
それだけじゃありませんで、WOString 経由の文字列はデフォルトで制御文字がエスケープされ(< を < にとか)、HTMLタグを無効にします。もちろんエスケープしない様にも指定できます(escapeHTML)。なので、私的には「いつも勝手にエスケープしてくれちゃう」とか思いがちでして、WOString を使わない時にエスケープするのを忘れたりするのです。あぁ、するともさ。
さらに、数値(←Number 等)や日付(←NSTimestamp)を表示する場合は表記規則を指定する事もできます。この日記のタイトル横に表示しているタイムスタンプは「%Y/%m/%d %H:%M」と指定しています(dateformat)。金額を表示する時に3桁区切りで「,」を打つなんて事もできます(numberformat)。
ちなみに、表記規則なんてモノはページ内で統一しておくに限るので(←まぁ、場合にもよりますが)、Application.java 内に各 NSxxxFormatter を用意しておいて(←public NSTimestampFormatter standardDatetimeFormatter = new NSTimestampFormatter("%Y/%m/%d %H:%M"); とか)、それを WOString の formatter にバインドするなんて事をやっています。
ーー追記ーー 上記、Application.java内に云々の下り、もっとエレガントな方法が↓の「WOString.の2」記事内のリンク先にあります。
たぐ - webobjects
(0)
久しぶりにお仕事で某M町さん役場までお出かけとかしてみました。かれこれ3年程の絡みになります。が、役場さんへお邪魔するのはこれで3回目だったりします。なんつぅか、そんなポジションの下請けなので。
基本的に最終段階なので(←つか、最終段階に入ってから2年以上になっている様な)実際にアプリに触ってもらいながら要望を聞き、その場でちまちま修正。面倒なモノが出てこなかったので一時間ちょいで終了、持ち帰りもなし。やほーい
あー、時給に換算するといい感じかも、だって見積もり時は2回行くって事で出してたからなぁ。拘束時間も3時間程だったので……、おぉぅ。
えー、時給数百円から数万円まで、幅広く活動しているたくぅさんです。
たぐ - たくぅさん
(0)
(1)
今日の午後に引き取りに行きまして、debian に引かれつつも難しそうなので矢っ張り Vine で。とセットアップ中。
が、うるせぃ、うるさいぞこの野郎ー。と既にヘタれそうです……。なんだこのファンのうなりは。と部屋に居たくなくなります。どないしょ。
あと、メモリを一枚挿し忘れてくれているので、もう一度某ショップまで行かないといけないしー。あー、二度手間二度手間っ、きーっ。
たぐ - たくぅさん
(0)
ガーン。その通りでございます、わざわざ無駄な事をやってしまっていましたですよよよよよ(←恥ずかしい恥ずかしい)<倉橋さんとこの2004/04/08辺り。えぇと、ほら、formatter にバインドする方法もあるって事もさ、示しておか(以下略。つか、悪あがき過ぎ)。
で、素に String で保持するよりも更にカッコいい方法じゃないですかっ<SystemProperty 経由。ともやっと気がついたので、早速マネいたしましたです。
また少し成長、今後も何とぞ何とぞ。
たぐ - webobjects
(0)
忘れ物のメモリを挿してもらいに行き、「うるさいっすよ、たまらないっすよ、気が狂いそうっすよ、昨日なんて寝付けずに夜中に電源落としたったっすよ、まじ辛いっすよ、どうにかならないっすか」とお兄さんにせまりましたところ、「そんな事ないっすよ、今時のじゃこれくらい普通っすよ、特にうるさいってわけじゃないっすよ、むしろ静かな方かもしれないっすよ」とのお返事。「うそ、まじで、ありえないっすよ、しんじらんないっすよ、うちのMacはこんなにうるさくないっすよ」、「一応静音ファンなんてものあるっすけど、このファンと比べるとそんなに違いがないっすよ、変えたところで昔のパソコンみたいにはならないっすよ、それに24時間動かすならちゃんと冷えるファンじゃないと駄目っすよ、これから夏が来るっすよ」。みたいな会話をかわした後に相談しまして、ケースに付いている排気ファンをマザーからぶっこ抜きの刑にてフィニッシュ(←一番やかましそうにうなりまくっているが放熱的には影響が少ない方との事で)。暫くこれで様子を見てみます。
少しマシになりました、耐えられるかも知れません。でも、矢張りうるさいです、せめて耳障りじゃない音にならないものですか、小川のせせらぎみたいな。なりませんか、そーですか。ぅぅぅ
たぐ - たくぅさん
(0)
もうなんか引くに引けないので、このままご自宅サーバ継続いたしますです。騒音にも慣れて来たし、さっと手の届く位置(←別に物理的にとかではなくリモートで入れるとかそんな感じで)にあるのは矢っ張り心地よいので。ま、これまでも自前サーバみたいなモノだったのだけど、いまいち使い勝手が悪かったのよね。
ちなみに、Vine Linux 2.6r4 + WebObjects 5.2.3 + MySQL 4.0.18 みたいな環境で動いておりますので、そのうちメモ記事か何か書くかも知れません。
そんなわけで、今後もよろしくお願い致します。今まで通りゆるーく行きますけど。
たぐ - たくぅさん
(0)
Xserveで構築するオープンソースJava
興味がないどころかやってみたい気持ちがある。けれども、「x86上のLinuxでいいじゃん?」と現状では思うです。
たぐ - mac
(0)
とりあえず二台並べて床にベタっと置いていたのですけど、スペースを有効活用すべくメタルラックを買って来て押し込んでみました。
四段ラックなので、写真に写っている二段目はいろんなモノのちょい置きスペース、その上はCDをズラっと、で一番上はプリンタでも置こうかなと。
ちなみにこの向かい側にもメタルラック(←ちょっと大きめ)がありまして、Windows 2000 Server がインストールしてある DELL のPCとCRT(←ASP(無印)屋の時のみ活躍)、あまり使わなくなった PowerBook G4、BBIQさんの終端端末とルータ、バックアップ用の外付けHDD、各ソフト類の箱、書籍、貯金箱等々、もの凄いいきおいで物置化してあります……。
たぐ - たくぅさん
(0)
何だか宿題を出された様な気分になってしまったので(笑い)、うちの掲示板にも多重投稿対策を行ってみました。
倉橋さんの“雑記帳”2004/04/13辺りにいくつかの方法が提示されていますが、うちのはSessionを使っていないので一意のキーを渡して突き合わせる方法を選択(←上の方のは良く理解できないていう話もあるけど)。
Application 内に NSMutableArray を用意しておいて(←以下、keys)、投稿画面出力時に乱数とタイムスタンプを利用して作ったそれっぽいキーとタイムスタンプを持った NSDictionary を生成し保持させ、投稿画面のフォームの hidden フィールドにキーを埋め込む。そのキーは恐らく一意だと思うけれども自信がなかったりして、結局はサーバ内で一意であれば間違いないので一応 keys をループさせて重複していないか確認。
で、書き込み時にも keys をループさせてクライアント側から送られて来たキーと付き合わせ、同じモノがあれは書き込み、なければ「エラーだエラーだ」と騒ぎ立てる(←無駄に誇張)。の前に、「書き込もうと思ったけどやっぱ止め」時に残ってしまうゴミキーを一掃するために、一定時間より前に生成されたキーを破棄。
みたいな感じで実装完了。ちょいとコスト高過ぎの様な気もするので(←もの凄い数のキーが登録されたりとか)、もっといい方法を探って行きたいっすね。えと、そのうち(←またこれだ)。
ーー追記ーー NSMutableArray をループでぶん回すのは止めて EOQualifier.filteredArrayWithQualifier で絞り込むやり方に変更しました(掲示板の該当スレッド)。
たぐ - webobjects
(0)
朝っぱらから「おバイク様に乗らなきゃ」な気分に。私のおバイク様は6Vバッテリーだったりするので、ちょいと長い間放置しますればウインカーがチカチカならなくなるのです、キック始動なのでエンジンがかからないなんて事にはなりませんが。
ちょうど KILL BILL Vol.1 の発売日でしたので、某Y電気までトコトコ走って行きまして購入しましたら、ライダースーツ型DVDケースなんて微妙なモノも頂きました。ありがたいです。ありがたいですが使い道もあまりなさそうです。
うちのお母様が「写真をプリントしておくれよ」とうるさいのでプリンタの購入を検討。コピーやスキャンもしたいと抜かしやがるので複合機狙いで、HPの PSC 2450 Photosmart と EPSON の PM-A850 のどちらかかなと。ほとんどHPに決まりかけてたのだけど、ドライバとかインクカートリッジの値段とか“つよインク”とか思い出してきて……。
たぐ - たくぅさん
(0)
WWW発明のバーナーズ=リー氏、Millennium Technology Prize受賞
この人がいなかったら、WWWに対価を求めていたら、現在のこの状況はなかったのだろうなぁ。
でもって、私もこの商売はやってなかったでしょうね。それはそれで幸せだったかも(笑い)。
(0)
HOW-TO: Setup WebObjects on Linux
上記ページに書いてある通りに実行すれば何の問題もないのですが、Vine Linux が標準でインストールする Apache を利用する場合、adaptor のビルドに若干の変更が必要になるのでそこら辺りを書いておきます。
ちなみにVine Linux は所謂 Red Hat 系ディストリビューションですので、Red Hat Linux にインストールする場合も共通だと思います。少なくとも私が以前使っていた7.xでは同じでした。
以下、JDK(←私はDeploy環境にはJREを利用しています) と WebObjects Deploy がつつがなくインストール完了しているとします。
1. /opt/Apple/Developer/Examples/WebObjects/Source/Adaptors/make.config を編集。
7行目を
ADAPTOR_OS = LINUX
Apache に付属する apxs コマンドへのパスが Mac OS X と同じなので、それを利用して19行目を
ifeq "LINUX" "$(OS)"
2. /opt/Apple/Developer/Examples/WebObjects/Source/Adaptors/Apache/Makefile を編集。
7行目以下を削除し、下記を追加。
ifeq "LINUX" "${OS}"
ENABLE_SSL_SUPPORT =
OPENSSL_INCL_FLAGS =
OPENSSL_LIB_FLAGS =
APACHE_INCL_FLAGS = -I/usr/include/apache
CFLAGS +=-DEAPI ${APACHE_INCL_FLAGS}
LDFLAGS += -G -L/lib -lc ${OPENSSL_LIB_FLAGS}
endif
CFLAGS += ${OPENSSL_INCL_FLAGS}
APXSFLAGS = -i
all: mod_WebObjects.so
mod_WebObjects.so : mod_WebObjects.o ${COMMON_OBJFILES}
ld ${LDFLAGS} mod_WebObjects.o ${COMMON_OBJFILES} -o mod_WebObjects.so
${APXS} ${APXSFLAGS} mod_WebObjects.so
mod_WebObjects.o : mod_WebObjects.c ${COMMON_OBJFILES}
${CC} -c ${CFLAGS} mod_WebObjects.c ${COMMON_OBJFILES}
clean:
rm -f mod_WebObjects.so mod_WebObjects.o *.o
include ../Adaptor/make.postamble
3. /opt/Apple/Developer/Examples/WebObjects/Source/Adaptors/Adaptor/appcfg.c を編集。
52行目からの
#ifndef MAXPATHLEN
#define MAXPATHLEN 255
#endif
を72行目からへと移動させる。
これで make が通って /usr/lib/apache に mod_WebObjects.so がインストールされます。後は 件のページを参考に httpd.conf を書き換えたりすればOK。
ちなみに、自動起動させる為に下記のスクリプトをでっち上げ、
#!/bin/sh
#
# Start and Stop WebObjects Services
#
# chkconfig: 35 86 14
# description: WebObjects is an ApplicationServer.
# processname: WebObjects
# Source function library.
. /etc/rc.d/init.d/functions
export PATH=/usr/java/j2re1.4.2_04/bin/:$PATH
WOSERVICES=/opt/Apple/Library/WebObjects/Executables/WOServices
case "$1" in
start)
echo -n "Starting WebObjects:"
daemon "${WOSERVICES} start"
echo
;;
stop)
echo -n "Stopping WebObjects:"
${WOSERVICES} stop
echo
;;
esac
exit
sudo /sbin/chkconfig --add WebObjects
とかしてます。
この起動スクリプトは他のスクリプトを見よう見まねで書いたモノですけど、はからずも機能している様でございます(←せめてはかれ)。もっとエレガントなヤツを書いている人はぜひ教えておくれ。
たぐ - webobjects
(0)
新規にプロジェクトを拵えた時、Resources フォルダに Properties というファイルが出来る様になったのはいつでしたでしょう、5.2 になった頃でしたでしょうか。
最初に見かけた時、「なんじゃ、こら」と思って中を覗いてみましたら、何やら設定みたいなモノが記述してあって、説明のコメント文の中にも“the Java system properties”という文字が。て事で、Java2 のリファレンスをつらつら見てみましたら発見しました、java.lang.System.getProperty(String key) を。JDK1.0の頃からあるAPIですので「何を今更」とお思いでしょうが、「Java をまともにやりだしたのは WebObjects から」(←そらまぁ、簡単な Applet とか書いて遊んだ事はあったけど)な私に取っては新しモノだったりしたのです。
そんなわけで、Properties というファイルは、その java.lang.System.getProperty(String key) で取得できるシステムプロパティを追加できるファイルです。書式は
keyName=value
で、例えば、
authorName=tac
と追加して、
String aString = System.getProperty("authorName");
とコーディングしますと、aString の中身は tac になります。
が、こうするくらいなら、
String aString = System.getProperty("authorName", "tac");
としておくと、authorName というプロパティがない場合に tac と返しくれるのでより良いかも(←最近教えてもらったのだけどね、このやり方)。
あと、日本語を扱うときはファイルエンコーディングを“Non-lossy ASCII”にすればOK(←“日本語(Mac OS)”とかでは駄目)。
ちなみに、他のソースファイルもファイルエンコーディングを“Non-lossy ASCII”にすれば、“Javaコンパイラ設定”内で変更しなくても日本語を扱える様になりますが(←参照:「日本語を通す。」)、他の“ Non-lossy ASCII”に対応していないエディタで開いた時に「……」となってしまうので(←Unicodeエスケープシーケンス付き4桁16進数表記なので「なんのこっちゃ」な感じになるのです)“日本語(Mac OS)”を利用しています。
えと、以前自分で書いたコードをパクる為に適当なエディタでよく開くんすよね、私。あ、パクっているんじゃなくカバーって事で。
ーー追記:2004/04/19ーー
「ProjectWONDERのERExtentions に、ERXProperties というPropertiesを扱うのに便利なクラス群があります
」と Tetsuya Kuramochi さんに教えて頂きました。なるほど、WOぽく、NSぽく拡張されておりますね。感謝です。
ProjectWONDER て登場よりずっと気になってはいるのだけど、未だに手を出せずにいるのよね。「素の Framework群を掴みきるのが先だろ」と微妙に果てない気がする夢を見てたりするから。そのうちやってみよ。
たぐ - webobjects
(0)
そんなわけで、お得意の某Y電気で購入して来ました。29720円の14%ポイントバックでございましたので、26000円程度って感じでしょうか。実際は5年保証なんてモノも付けたので+1500円になりましたけど。
自宅で手軽にコピーできるのは便利だし(←カラーもいけるし)、L版光沢フォト用紙へのプリント結果もそこそこ奇麗で良好(←モニタと色が違いまくってちょっとひいたけど、母も満足するでしょう)。
でもねぇ、設定を変えても有効にならず、専用アプリが強制的に Dock に登録され続けるってのはどうなのよ。って思うです。
とりあえずコンソールで log を見て、"/Library/Printers/hp/pipedaemon.app"と"/Applications/Hewlett-Packard/HP Photo and Imaging Software/HP Photo and Imaging Director/Director Docker.app"をリネームして止めさせたけど、何かしら問題があるかもねぇ。
ーー追記ーー
両面印刷はカッコいいですな、イケてますな。でも、横綴じに設定しても縦綴じで出てくるですね……。
CFやらSDやらのマルチカードリーダが要らなくなったと気がついたので物置ラックへ移動。
先日のメタルラックの一番上に置いているのですけど、プリントすると凄いイキオイでユラユラします。
(0)
私のお車様は今年ついに生誕十周年記念を迎えられますミラなXXなんですけども(←まだ乗ってました)、最近アクセルを踏むとキューとかシューとかキュキュキューとか不穏な音を醸し出して思う様に進んでくれなくなりましたので、修理のため車屋さんに行ってもらいました。多分、ターボとかの吸気系だと思うんだけどね、適当に言っているけど。
何だかちょっと大事みたいなのですけども、貧乏なので「安くあがるといいなぁ」と思わずにいられません。
ちなみに、タイトル通り名前は二朗号なのです。私の生涯において二台目の車なので、私の名前を漢字で書くと“卓朗”なので。ごめんなさい、今付けた……<名前。
たぐ - たくぅさん
(0)
私は以前より“暴れん坊将軍”が好きであると言っていて、“暴れん坊将軍”のみが好きであるとしてきました。が、長崎で午前中に再放送していた“暴れん坊将軍”が終わり、その後に放送されている“遠山の金さん”(杉良太郎Ver)が普通に観れていて、むしろ楽しみにしているくらいなので実は「時代劇全般が好きなのではないか」とか思ったり。や、“水戸黄門”が嫌いだけど。
時代劇と言えば、今年は生涯で初めてNHKの大河ドラマ(新選組!)を観ていて、それも頗る楽しみにしているくらいです。実は新選組にひかれたのではなく、「昔は面白かったよね」三谷幸喜が脚本だと聞いたので試しに初回を観てみたのがきっかけだったりします。しかも生まれも育ちも現住所も長崎市の私ですから、どうしたって坂本龍馬サイドからしか見ていないので、新選組なんて別に好きじゃなく、むしろ嫌いだったりします。良く知らないのだけどね。
そんなこんななヤツですから史実が如何なるモノかなんてのもまったく知らず、ドラマが史実と化してしまう危うさです。なので、「史実に忠実なシーンは画面の左下辺りに史実マークでもチカチカさせてくれよ」とすらも思いました。思いましたので某友人そう主張しましたら、「邪魔」の一言で片付けられてしまいました。
まぁ、なんつぅか、年末辺りには「近藤勇、男前ですー」とか言ってそうでアレだなと<私。
(0)
かてごりなページにページング機能を付けたくせに、各記事表示ページの戻りボタンがページング機能に対応していなかったのを修正。あと管理画面のちょいとした不具合も修正。
(0)
例によって進行中のお仕事モノもないし、Appleさんが「WebObjects 5.2.3 との組み合わせで問題は発覚してません。ま、見つけたらいつもの様によろしく」とかアナウンスしていたので入れてみました。今回はアップデータではなくフルインストール仕様なので、ADCからCD一枚分ダウンロードしてマウントして……という感じになります。
とりあえず、"/ThirdPartyJars" という中身は名前通りのディレクトリが追加されている事に気がついたです(←それだけかよ)。「中身は手前でよしなにしやがれ」って事らしいですが、「最初から入れておいてくれりゃあいいのに」なんて思いました。が、バージョン違いとか環境違いとかでいろいろあるのでしょうし、「実際勝手に差し替えられると私も嫌かも、嫌だな、うん」と。いやまぁ、activation.jar くらいしか関係ないのですけどね。
たぐ - webobjects
(0)
WOString と同様に WOTextField にも dateformat と numberformat というバインド項目(←あれこれ考えた末の説明がコレ。バインドが何か分からないとさっぱりだな……)があります。WOString の場合は出力形式を制御するものでしたが、今回はフォームのテキストフィールドですので入力形式を制御するものです。
指定の形式で文字列を入力すれば自動的に日付なり数値なりに変換してくれます。そして若干の補正をしてくれますが(0を詰めたり、数を丸めたり)、形式が合わなければ例外を投げます。
←の画像は、上のテキストフィールドが value に NSTimestamp aTs、dateformat に "%Y/%m/%d" をバインドしたもの。下のテキストフィールドが value に Number aNum、numberformat に "_,__0" をバインドしたもの。そして、submit ボタンの下には aTs と aNum をバインドした WOString を配置したページの出力結果です(←そう言えば、NSTimestamp をバインドした WOString はフォーマットを指定しないとGMT(←Timezone)で表示しますね、指定するとシステムに合わせてくれるけど)。
ちなみに、ちょいとインテリジェンスな感じで格好よいのですけども、結局→の画像の様にポップアップボタンを用意してしまう私……。
たぐ - webobjects
(0)
腸完全版 まるっとお見通しガイド
矢っ張りスルーできないものですから購入しております。ぼちぼち観よっと。
(0)
セガPC:ぷよぷよフィーバー
買うつもりは全然ないのだけど、「USB接続サターンパッド!!!」には感嘆符を景気よく三つも付けてしまうくらい衝撃を受けてしまったです。
セガサターン用なら4つくらいあるはず……、家に。つか、サターン自体2台あるし。
たぐ - game
(1)
本日、無事に修理を終えご帰還なさいましたが、「ターボが新品」、「その他もろもろ、オイル周りとかガタがきていた所ももちろん新品」とか不穏な事を言われてしまいましたですよ。いくらになんねん……<修理費。
たぐ - たくぅさん
(0)
やっとこさ終了。ハイラルアドベンチャーは一人でやっても普通に面白いし、今と成っては懐かしの2Dゼルダなので、初期からのゼルダ好きの人にもお勧めできる一本でした。
しかしまぁ、基本姿勢は多人数で何回もお気軽に、なので謎解きとか戦闘とかゆるーい感じなんですけどね。ま、おっさんの私にはそのゆるさも丁度良かったり……。
たぐ - game
(0)
アップルさんで“AUGM in Kanazawa/Apr 2004 リポート”が公開されておりました。の中に“「WebObjects 3分クッキング」導入事例から開発環境までを紹介”というページがありまして株式会社フィックス インターメディア事業部様によるデモの様子が紹介されております。
いやー、ご活躍されてますね、越田さん(←って個人的に言ってどうする)。
「そう言えば、長崎にこういったユーザーズグループってあるの?」って思ってあさってみたら“長崎県教職員Macユーザーズグループ”ってのを発見。「県教職員限定ですか? 狭っ」とか思ったり(←あら、と言うか、私が解約したケーブルインターネットのとこっすね。なんか昔その流れで掲示板に書き込んだりした事があった様な……。ま、いいや)。他は……、めぼしいのはないみたいね、google でも引っかからないみたいだし。
あ、例えあったとしてもご遠慮させて頂くに決まってたりしますけどー。
たぐ - mac
(0)