goo blog サービス終了のお知らせ 
心のままに
思ったことを適当に書いてます。思ってないことも適当に書きます。たまに妄想もします。
 



ちょっと個人的に欲しいものがあり、それを作っているわけです。
とは言え、JAVAには今まで全く手を出していなかったので、手探り状態なわけです。

んで、作っているのは、以下のようなもの。

【歌詞表示アプリ】
・携帯本体に保存されている歌詞ファイルを読み込んで表示する
・歌詞ファイルはGIF偽装したテキストファイル
・歌詞ファイルは規定の書式があり、それに沿うことにより
 アプリのバージョンアップによらず、ユーザ側で更新可能

(画面レイアウト)
┌──────────┐
│┌────────┐│
││リストボックス1□□││・リストボックス1:アーティスト名を格納
│└────────┘│
│┌────────┐│
││リストボックス2□□││・リストボックス2:曲名を格納
│└────────┘│
│┌────────┐│
││テキストボックス□││・テキストボックス:歌詞を格納
│└────────┘│
├──┬────┬──┤
│終了│□□□□│読込│
└──┴────┴──┘


現状では、ユーザにマイピクチャにあるファイルを選択させて、
それが規定された歌詞ファイル(GIF偽装ファイル)だった場合だけ読み込みます。

最初に読み込んだ時点で、アーティスト情報をリストボックス1に格納させると。
で、アーティスト名をリストボックス1で選択すると、今度は曲情報を拾ってきてリストボックス2に格納すると。
最後に曲名をリストボックス2で選択すると、テキストボックスに歌詞が表示されると、こんな感じ。

一応、カタチとしては出来上がっているのですが、どうも505isシリーズの場合、
テキストボックスに半角500、全角250の文字数制限がかかってる感じなわけです。

さぁて、これをどう解決しようかなぁ。また、思考の迷路に迷い込みそうだなぁ。
まぁ、そうやって試行錯誤するのも結構好きなんですけど。







MSNメッセとかICQとかyhaooメッセとかありますが
実際使ってるのはMSNメッセだけだったりもします。
ICQはIDとか忘れたし、yhaooは使い勝手悪いから放置。

で、結局MSNが残ったわけで、しかも純正は使ってなくて
使ってるのはRegnessemだったりもする。

で、このRegnessemはプラグインの追加で色々機能拡張ができる。
Regnessemでチャットの変わりができないかなぁと思って、
1日中色々と情報をあさってみたが無理っぽい。

だったら自分でプラグインが作れないかなと模索。
イメージ的には、あらかじめ登録されているメンバが
ログインした時点で強制連行させると言うもの。
ただ、これだと難しい。自分を含めて2人だけなら問題はなさそうだが、
これが3人以上になると、どの窓で強制連行をかければいいのかを
決定しなければいけない。下手をすると無駄に窓が増殖するだけで終わる。
さらに、この方法だと誰か一人が親にならなけれならず現実的ではない。
よって、断念。ってか、あくまで妄想として机上の空論。

ならば、RegnessemでIRCに接続できないかと思い、
そっち方面のプラグインがないか検索。
ありました。IRCプロトコル。早速落として試行錯誤したが繋がらず。
ってか、プレリリース版なので設定関係が何がなんだか意味不明。

と言うわけで、結局どれもこれも無理と判明。
まあ、勝手な妄想に振り回された気がするけど、気にしない方向で。








自分用のメモです。

<explodeとsplitの違い> explode:正規表現を使わない split :正規表現を使う 処理的には、正規表現を使わない分 explodeのほうが早いらしい。
<ファイルポインタの移動> rewind($fp):ファイルポインタを先頭に設定
<POSTとGETの違い> POST:htmlのフォーム経由でデータをもらう場合 GET :htmlのURL経由でデータをもらう場合 フォーム経由はGETの場合もある(methodで指定)
<文字コード関係> default_charset :ブラウザに対して使用している文字コードを明示する mbstring.http_output :ブラウザに送るデータ(PHP 処理済みの HTML)を、 指定した文字コードに変換して送る設定 mbstring.internal_encoding :PHP内部エンコードで使用する文字コード mbstring.http_input :ブラウザから送られてくる文字を、 どの文字コードかを判定するための順番 mbstring.detect_order :PHPの文字列中の文字コードを判定するためのコード順 mbstring.substitute_character:コード変換する際に、コードが変換できない 文字とかをどのように扱うかを指定します 内部コード(mbstring.internal_encoding)と、 出力コード(mbstring.http_output)が違う場合、 output_buffering を On に設定し、 output_handler を mb_output_handler に設定すること
<SJISを標準とする場合の設定> default_charset = Shift_JIS output_buffering = On output_handler = mb_output_handler mbstring.http_output = SJIS mbstring.internal_encoding = EUC-JP mbstring.http_input = ASCII,JIS,SJIS,EUC-JP mbstring.detect_order = ASCII,JIS,SJIS,EUC-JP mbstring.substitute_character = none
<EUCを標準とする場合の設定> default_charset = EUC-JP mbstring.http_output = EUC-JP mbstring.internal_encoding = EUC-JP mbstring.http_input = ASCII,JIS,EUC-JP,SJIS mbstring.detect_order = ASCII,JIS,EUC-JP,SJIS mbstring.substitute_character = none
<グローバル変数> PHPの場合、メイン処理で宣言した変数は、 メイン処理から呼ばれるサブ関数内ではグローバル宣言をしないと使用できない。 つまり、PHPでグローバル変数(グローバルに扱いたい変数)を サブ関数内で扱う場合は、そのつど関数内でグローバル宣言をする必要がある。 ********************************** サンプル1 ---------------------------------- <> global $a; $a = 1; sub(); print "a=$a"; function sub(){ $a = 2; } ?> ---------------------------------- サンプル1結果:a=1 ********************************** サンプル2 ---------------------------------- <> global $a; $a = 1; sub(); print "a=$a"; function sub(){ global $a; $a = 2; } ?> ---------------------------------- サンプル2結果:a=2
<変数宣言> 明確に変数を宣言する必要はない。 言い換えれば、明確に変数を宣言することはできない。 つまり、 var $dat; int $sum; このような宣言ができないと言うことになる。 と言うか、変数の型自体が曖昧なのが問題か。 今までの経験上、明確に変数の型を宣言できないのは、 プログラム的にかなり危険だと思うのだが。
<フォームのvalueについて> 環境的な問題かもしれないが、フォームにおいてinputタイプがtextの場合、 value指定を行っていると、新たにデータを入力してPHPプログラムに データを送信したとしても、新たに入力したデータは反映されずに、 元々value指定されているデータが送信される。 これに対する対処としては、valueデータをhtmlspecialcharsでくくってやる必要がある。 [input type=text name=dat value=".htmlspecialchars($dat)."] ※便宜上、”<>”は”[]”に置き換えている








ここ数日、PCの前に張り付いて色々と格闘してました。

まずはクッキーと格闘。
クッキーに保存されている日本語をげっちゅーする時に
文字化けが発生することへの対処方法。

クッキーを焼くときにURLエンコードして焼く。
クッキーを取得した後に、デコードする。

ちなみに文字化けしていた原因は、
環境変数でクッキーをげっちゅーする時にすでに文字化けしてるから。

これで万事OK。
と思いきや、修正した数日後に問題が発生。
何のことはない、修正箇所の検索漏れ。
こんな初歩的なミスを仕事でしたら、嫌味たらたらだな。

さて、クッキーの方の問題は片付いたので、次はPHPと格闘。
と言うのも、Perlで書いたプログラムをPHPに移植する為です。
で、まあ文法は似ているんだけど、
細かいところが違うので色々と試行錯誤したりするわけです。

日本語処理。
これがネックで何をどうすればうまく行くのかが、いまいち分からない。
mb関数を使うと、

”そんな関数は定義されてないぞ、ごるぁ”

と言われて試行錯誤。
で、原因はPHPのバージョンとOSの組み合わせみたいな感じ。
ローカル環境(WinMe+PHP4.5.3)だとmb関数が使えない。
実環境(WinXP+PHP5)だと問題なく使える。
これで、日本語処理の問題は解決。

冗長になったプログラムを見やすく、
セクション分割をしようとサブ関数でぶつ切りに。
しかし、どうやらグローバル変数の動きがおかしいみたいだ。
仕方ないので、引数を使ってなんとかセクション分割。
つくづくてこずらせてくれる奴だ。

そんなわけで、最近は色々と知識吸収中なわけです。
金にならないのによくやるなぁ、と自分でも思っております。

ってか、やっぱりプログラムを作ったり考えたりするのが好きなんだなぁと。

ぶっちゃけ、前の仕事は作業がないから辞めたようなもんだし。
いつ来るともわからない問い合わせの電話のためだけに、
8時間も拘束される仕事なんざ願い下げだよ。






こら待て、ちょっと待ちなさい。
PC関連のことが続くからって拒否反応を示さなくてもいいでしょ。
ほら、ちょっとそこに座って、せっかく来たんだから、
意味がわからなくても、とりあえず読んでってよ。

さて、WinMe環境にApacheを入れて色々いじってた訳で、
それだけで、昨日と今日の大半を使ってしまったわけです。
とはいえ、実際にいじっていたのは設定ファイルとhtaccessだけなのだが、
まあ、そんなことはどうでもいいこと。

WinMeのローカルで動作確認が取れたので、今度はHP HOMEの方にApacheを突っ込みます。
WinMeではバージョンが古い1.3を使ったが、XPでは最新バージョンの2.0を使うことに。
Apache、ActivePerl、PHPのインストールは無事に完了。
httpd.confの内容が1.3と微妙に違っていたがなんとか設定完了。

一応は無事に動いているようす。

と思いきや、いきなり問題発生。
クッキーに保存されている日本語をげっちゅーする時に文字化けが発生。
調べてみた結果、Apacheのバクであることが判明。ちなみに1.3では起きないらしい。
面倒なのでそのまま放置。気が向いたらプログラムに手を入れることにする。

体感的に早くなった気がするが、どうなんだろう…
とりあえず、Apacheが少しずつ分かってきたような気がする。
あくまで気がするだけなので、実際どうかは問題外。






まだまだ続きです。はい。
以前はCGIの動作確認用にAN HTTPDとActivePerlを入れていたが、
今回はApacheとActivePerlの組み合わせでいくことにした。

とりあえず、それらしいページをぐぐって、そのページに従ってApacheをインスト。
動作確認もできたので、次はActivePerlをインスト。これもOK。
さらに、PHPも突っ込んでやれと言うことで、PHPをさくっとインスト。こちらもOK。
で、バックアップしていたCGIプログラムを動かしてみる。

先生、大変です! 動作がめさめさ軽いです!

なんか、AN HTTPDよりかなり動作が軽快ですよ。
まあ、再インストしたばかりで無駄なゴミがない状態
と言うのがあるかもしれないが、とにかく動作が軽いことに感動。

現在、XP HomeのマシンでAN HTTPDを使って自鯖にしているのだが、
そっちもApacheに変えようかなと一瞬思ったほど。
まあその前にアクセス制限周りの知識を仕入れておかないとなぁ。






さらに続きです。はい。
OSの再インスト、まあメーカー製PCだったからリカバリと言うことになるのだが、
丁度いいので手元にあったFedora Core 2を入れてLinuxを使ってみることにした。

で、まあリカバリ時にパーティションを切るわけだ。
今までは、WinMeとXPHomeの無駄にデュアルブート環境。
無駄にと書いたのはXPは使ってないから。
ってか、XPだとCD-R/RWドライブとPCカードのLANカードが認識しないんだね。
ドライバは対応していると公式らしきページに書いてあるくせに、実際は認識しない。

使えねぇよ、XP

さて、今回はどのようにパーティションを切ろうかなと思ったわけで、
とりあえず、Cドラは4GBぐらいでWinMeのシステムに費やす。残りをデータドライブにしておく。
WinMeのリカバリの後、Fedora Core 2をインスト。途中でパーティションの設定。
bootパーティションとSwapパーティションをそれぞれ、100Mと500Mで切る。
rootパーティションを10GB、その他をデータ用として切る。
(実はここで失敗しているのだが、気づくのは後ほど)

そのままFedora Core 2をインストするわけだが、
残り80分とか出ていながら2倍の160分程度かかる。
インストが終わって再起動。WinMeとLinuxのデュアルブート環境完成。

が、なんてこった…LANカードが対応してないらしい。ネットつなげねぇ。
仕方ないのでスタンドアローンで勉強用という事にしておく。
Fedora Core 2のインストが終わったので、WinMeを起動。
データ用に切ったパーティションが認識されていない。
どうやらフォーマットで失敗したようだ。仕方ないのでソフトを使いフォーマットし直す。
無事に認識してくれたので、今後はデータ類はそちらで管理することにする。
バックアップを簡単にしておかないとね。

で、さらに問題は発生する。デュアルブートのデフォルトがLinuxになっているので
それをWinMeにしたいなぁと。どうやらLinuxの方で作業が必要だと言う事でLinux起動。
ぐぐったページを参考にlilo.confを書き換えてマップインストーラを実行して再起動。
無事にデフォルトでWinMeが起動するようになった。

なんか、久しぶりに勉強してるなぁと思った瞬間。
こうやって、色々と知識が増えていくのだなと。
知識が増えてもやってることはアフォばかりとか言うな。

そんなことは自分が一番よく知ってるから。






一応、前回の続きです。はい。
OSの再インストに伴ってNISを2002から2004に変えた。

”おいおい2005が出てるのに2004かよ”

などと言う突っ込みは受け付けません。あったから入れてみただけ。
インストが終了して、いざネットを見るぞと思い、ブラウザを起動。
とりあえず、yahooにアクセス。アクセス…。アクセスだつってんだろ!

先生、大変です! なんかめさめさ重いです!

いや、重いなんてものじゃない。ブロードバンドからナローバンドに退化ですよ。
何しろ画像の表示が重い。重すぎる。公式を見て色々と設定を変えてみたが改善せず。
むかついたので、2004は即効アンインスト。2002をインスト。

先生、大変です! 比べ物にならないくらい快適です!

なんかねぇ、色々と付加機能を追加するのはいいんだけど
逆にそれが裏目に出てないかい? シマンテックさん。
セキュリティは確かに大事だけど、
ネットの快適さを犠牲にしてまでと言うのはどうかな?






最近メインで使っているPCが挙動不審だったので、
仕方なくOSを再インストールした。
で、必要なデータのバックアップを取ったり、
パーティションを切り直して、
なんだかんだでこんな時間になったわけだ。

そんな今は午前2時。

勘弁してくれよ。たかだかOSの再インストールなんだが。
一番面倒だったのはWindows Update。
ひとつ更新するたびに再起動しろとうるさい。
軽く5回は再起動したはず。もっと効率的になりませんかね?マイクロソフトさん。

そんなわけで、これくらいで勘弁。








いやぁ、まいったまいった。

実家には私が買ったPCが置いてあるのだが、全く使われた形跡がない。
ってか、置いてあるだけ無駄な気もする。いや、確実に無駄なわけだが。
で、なにがまいったかと言うと、このPCがネットに繋がっていないこと。
いや、正確に言えばネットには繋がる。ダイヤルアップ用のIDとパスがあれば。

そう、お察しのとおり、このIDとパスを控えていくのを忘れたのだ。
言わなくても分かっている。

ただのアフォです。

まあ、それは仕方ないこと。しかし、完全デジタル人間と化している私から見れば、
今時ネットに繋がっていないPCが存在することが異常に感じてしまう。
普段から情報の収集源をネットに頼っていると、こういう時に困るなと認識。

仕方ないので、ケータイを使って繋げているわけ。
予想はしていたが…

遅い。遅すぎる。なんだこの遅さは。

そりゃあ9600bpsだから遅いわけだが、
ほとんどのサイトがDSL環境を基準に構築されているので激遅感も倍増。
”良いサイト=軽いサイト”と言う認識を改めて感じる。

トップページにフラッシュ? ふざけんじゃねーよ。

トップページに画像がたんまり? 画像表示なしだと、何がなんだかわかんねーよ。

と、一人で突っ込みを入れている時に、
傍らのテレビでロンブーが何かやってる。

他人の色恋なんてどーでもいーんじゃ、ぼぉけぇ

おっと、そろそろケータイの電池がまずいのでこれまでだ。




NAVER  


ブログ関係で色々と調べてたときに見つけた。
NAVERブログがごたごたしてる模様。詳細はこちらを読んで貰えば分かるかと。
ここに書かれていること、また当事者のブログの内容が真実なら
NAVERと言うのは、どーしよーもない会社だなと言うことになるね。





   次ページ »