Home › Category Archives › サーバー管理

システム日和

この間仕事でC言語使ったんですよ。C言語なんて大学時代以来でしたよ。結構忘れてました。
けど、やってるうちに色々と思い出してきて、必要な処理は一通り実装することが出来ました。C言語ではなかったですが、色々な言語で色々なプログラムを組んでいくうちに、基本的な技術は身に着けられて行っていたということなんでしょうね。
で、これは前々から知ってたことなんですが、C言語をCGIとして使うことも可能なんですよね。昨日ちょっと試してみたんですが、出力に関してはperlなんかと同じ感覚で出来るみたいです。
ただ、やはりコンパイル済のものを使うので、ソースをサーバーにアップしてコンパイルをするという一手間が必要になります。そのため、レンタルサーバー向けCGIにはやはり向かないですね。サーバーコンソールが使えるレンタルサーバーなんてそうそうないですから。
あと当然のことながら、テスト段階での修正が非常に面倒です。ソースを書き直して再アクセスという、普段やっている手法が取れないということになりますから。
やはりプレゼンテーション層で扱うならperlやphpに軍配が上がるようです。
しかしながら、88HOMENETでやっているデーモン処理に関しては、C言語を使ってもいいかもしれません。
というのも、C言語は現在普及しているプログラミング言語の中では最高級の動作速度と低メモリ使用度を誇っています。そしてバックグラウンドで流れ続けるデーモンは、速さと軽さが要求されます。
ならば、その処理にperlよりC言語を使った方がいいというのは当然の流れです。単純なデーモンであればあるほど、C言語であることの利点は大きくなります。
とはいえ、やはりC言語のメンテナンス性の低さや前時代性というのは拭えません。たとえば、C言語でXMLを処理するにはどこかからライブラリを取得する必要があります。
いずれデーモンはCで置き換えたいと考えていますが、それはデーモンの処理がそれ以上拡張できなくなったときにしようかと思っています。
perlは一番得意ですが、perlよりも状況に適した言語というものは必ずあります。都度最適な言語を使えるようにしておきたいですね。
あと、たまにはWindowsアプリケーションも作らないといけませんね。腕が鈍ってしまう。

あ、そうそう。もう気付いてると思いますけど、18日にGMD久々にアップしました。一ヶ月ぶりとかなにこれひどい。
次はそんなに開けないように、今週末の例大祭終わったら書き始めます。

次はブーメランベネさん。『甘ぇよ』

後遺症がある、ような

単に時間開いたせいでどう作ってたか忘れただけですけどね。
とりあえず、今週何とかしようと思ってたレンタルチャット的な何かですが、全く手が付けられてません。代わりに他のところで機能強化してます。
けど、返ってそれでよかったのかもしれません。
レンタルチャット的な何かでは、現在のリア茶のように常に画面更新をかけるのではなく、発言部のみを再読み込み、JavaScriptで置き換えということをやろうと思っています。
んが、今まで俺がやってたやり方だと、ある程度更新をかけるとメモリリークが発生するという不具合があることが判明しました。
備忘用に書いておくと、原因はinnerHTMLの使い方で、ある要素の内部のinnerHTMLを上書きすると、前のinnerHTMLで生成されたエレメント自体は生き残ってしまうらしく、エレメントが無制限に増えてしまうということが発生するようです。
これを避けるためには、まず対象となるエレメントからremoveChildを使って子エレメントを削除し、次にdocument.createElementで新しいエレメントを作成、その中にinnerHTMLを埋め込み、生成したエレメントをappendChildするということが必要らしいです。
大半の人は何言ってるのか分からないと思いますが、ちょっとでもJavaScriptやってる人なら、innerHTMLの便利さと重要さは理解できると思います。しかしその使い方には注意が必要だったというわけです。
趣旨取れの方でもinnerHTMLによる動的置き換えの箇所は結構ありますので、全てremoveChild・appendChild方式に置き換えることにしました。割と大変でした。
これを踏まえてレンタルチャット的なものを作れば、メモリリークの発生しない非同期チャットが作れるんですが、やっぱりどこまで作ったか忘れたっていうね。そもそもセキュリティ云々のところで唸ってたはずだし。

何はともあれ、5月いっぱいかかるかもしれません。ショウガナイネ。

次はブーメランと宣言していたのでベネさんシクヨロ。

最近やってること

うん、執筆とか完璧に止まってるんだ。すまないんだ。だけど、思い立ったら動かないと気が済まない主義なんだ。

んで。んで。んで。
本当はこっちでは告知しないつもりだったんだ。今やってることってこことは全く関係ないことだし、できれば切り離しておきたかったんだ。だけど、他に周知する方法が思い浮かばなかったんだ。

んで。んで。んで。んで。んで。んで。
それでもこことは関係ないわけなんだ。つまりはここの更新はやっぱり停滞しているわけなんだ。もうちょっと更新出来ない日が続くと思うんだ。

まあ、どういうことかというと。

こんなの作ってました。

当然動いてるのはこのサーバーの上です。自分持ちのサーバーは色々出来るので、「レンタルサーバー上でも大丈夫」が基本方針のこっちとはだいぶ違うことしてます。たとえば常駐のデーモンプロセス動かしてたりとか。レンタルでやると怒られるのよね、これ。
まあ、レンタルでも出来ないことはないですよ? 一応WEBアクセス経由でデーモンを起動する手段は持ってますから。サービスの品質とかは激烈に下がると思いますけども。あといつアカウント停止させられてもおかしくないし。
「レンタルでも出来ないことはないけどやりづらい」ことを堂々とやってます。まあ、それ言っちゃったらこっちもだいぶやってるんですけどね。幾分マシだけど。
ともあれ、そんな感じです。
こっちが「俺がやりたい放題やったものを適当に公開しているページ」だとしたら、向こうは「俺がやりたい放題やった結果物を皆が使えるようにカスタマイズして公開しているページ」です。使ってもらえないことには話にならないので、こうしてまだ人の来るここで告知したわけです。
それでも来る人少ないと思うけど。ショウガナイネという許容の心を持っていてはいつまで経っても使われないので、何とかする方法を考えてみようとぞ思ふ。
まだ足りてない機能とかもあるので、それもおいおい実装していこうと考えています。

ちなみにこれ作ろうとした理由が、久遠天鈴さんでアンケートシステム使ってもらおうと考えた結果っていう。どんな思考の飛躍があったと言うのか。

そういうわけで、SSはもう少々お待ちください。連休中にジェバンニすれば、必要最低限な機能は揃えられると思うので。

4月中にもう一回うふふんに回したかったのに空気を読めなかったベネさんにブーメラン。