我的没有意思的日记


by HangaiRamone
カレンダー
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリ:技術系( 8 )

おぉぉーーー

最近金と時間がなくて練習もままならず、全然音楽もやれてない状況。

家で一人で弾いてもつまらんし。

ネット経由でセッションとか練習とか出来んもんだろうか。

・・・と思ってたら、やっぱおんなじこと考える人いるのねぇ。
http://www.geocities.jp/fxhdc050/ninjam/ninjam01.html
http://www.ejamming.com/
を使うと、ネットを通して世界中の人とセッションできるらしい。

どっちもかなり画期的なソフトだと思うけど(フリーだし・・・)、ちょっと一長一短なんだよなぁ。
やっぱ欲しいのは、「ネット上のバーチャルな練習スタジオ」なわけである。
世界中の人たちとフリーでセッションするのは面白いと思うけど、バンドとして練習をしたい、曲作りしたい、という欲求もあるだろう。


・・・作るか。
SkypeAPIかなんか使えば、実現できるんじゃなかろうか。
ネット上にサイトを用意し、そこにバンドを登録し、Skypeでメンバーが接続して、楽器を繋げて練習する。
そうするとドラムは指で叩けるバーチャルドラムが必要だな。。。
Mac上でも動作させることを考えるとVS2005で作っちゃまずいな。。。JavaでSWTで作るか??大変だ・・・。
でも面白そう。


まあスタジオでデカイ音出すに越したことはないんすけどね。
[PR]
by hangairamone | 2007-08-24 01:28 | 技術系

言語言語言語

俺が使える開発言語っつったら、JavaとBasic、ちょっとC#、C、あとShellとかくらいなもんだが、世の中にはいつの間にか凄まじい数のスクリプト言語があるらしい。。。

Lightwaight Language Spilit
こんな集まりがあるとは。
「なでしこ」はきいたことあるし、RubyとかPythonとかPHPあたりはさすがに俺でも知ってるけど、「R」とか「Io」とか「Lua」とか「Clean」なんて初めて聞きました。

しかもどの言語もスピードとか生産性にこだわってて、面白い。
オブジェクト指向対応はもうデフォルト、なので大体がJava知ってりゃ読める感じだけど、言語によって型の考え方が違ってたり、予約語を全くなくしてたり、・・・よく考えるもんだ。


似たネタで、このサイトも面白い。
どう書く?org
プログラミングの大喜利みたいなかんじ。
ネタに対して、「俺はこの言語でこう書くぜ」というのをみんなで投稿する。
たとえば

トランプの和と積のパズル

ここにトランプが一組あります.
司会者がそこから二枚抜いて,その積をAさんに,その和をBさんに教えました.

#トランプにジョーカーはなく、1~13までの数字が書かれたカードであると考えて構いません.
#たとえば,二枚のトランプの数字が2と5なら,Aさんには10,Bさんには7を教えます.
#二つの数は同じかもしれません.

司会者がAさん,Bさんに二つの数字が分かるかと質問しました.
Aさん「(この情報だけでは)分かりません」
Bさん「私も分かりません.ただ,Aさんが『分かりません』というのは分かっていました」
それを聞いたAさん「それなら,分かりました」
それを聞いたBさん「それなら,私も分かりました」
元の二つの数はなんだったのでしょうか.

この「2つの数」を求めるプログラムを作ってください。解が複数個ある場合はすべて求めてください。このお題は光成さんの投稿が元になっています。ご投稿ありがとうございます。


みたいなお題に対して、みんなでプログラムを考えるわけだ。
javaで書く人もいれば、なんとSQLで書く人もいる。スゲエエ。面白いねえ。

何より、このサイトを考えた人がスゴイ。
サイボウズの人らしいけど。
[PR]
by hangairamone | 2007-08-10 01:28 | 技術系

超ロボット生命体

トランスフォーマー。
あぁ、映画が愉しみだ。早くみてえなぁ。

しっかし「超ロボット生命体」ねぇ(あくまで最初のテレビ版は)。

あんまり関係ないかもしれんが、
昨日、テレビでたまたま「I,Robot」がやってたから、最後1時間くらい見てた。
話的には、なんかどっかで見たな~と思ったら、パトレイバーの最初の方の映画とか、手塚治虫の「火の鳥」のどれかにスゲエ似た話があるなぁ、と気付いた。
元ネタにしてんのかどうかは知らんが。
でもまぁ、普通に面白かった。


これまたあんまり関係ない話かもしれんが。
会社で、
「人間に出来ることは全てコンピュータでも出来るか」
という議論になったことがある。
コンピュータに出来ることは、基本的に「入力」を受け取って「処理」し、結果を「出力」することだ。
これは、人間の全ての行いに当てはまるし、全ての器官の役割でもある。
今は、たまたまキーボードとマウスというインターフェイスしかないから、人間で言うと視覚・聴覚にまつわるものくらいしかカバー出来てないが、「触覚」とか「味覚」「嗅覚」をデジタルにシミュレート出来る様になったら、どうだろう。


Wikipediaによると、生物についての説明として、
生物が無生物から区別される一般的な特徴として、生物は、自己増殖能力、エネルギー変換能力、恒常性(ホメオスタシス)維持能力という3つの能力をもっている。
って事らしい。

この定義が正しいとすれば、確かにトランスフォーマーは「生物」だわな(自己増殖能力をどういう風にもってるのか知らないが、きっと持ってるんだろう、どんどん増えるし)。エネルゴンキューブ旨そうに食ってるし、攻撃喰らうと「いてええ」とか言ってるし。


で、デカルトは「動物の身体は、ただの複雑な機械である」(機械論)と提唱したらしい。
確かにそうだ、筋肉なんてのは有機物で出来たアクチュエーターだし、心臓なんてポンプだし、肝臓なんかも触媒を使ったろ過装置みたいなもんだろう。


・・・とココまで考えるとですよ。
 自己増殖能力を持ち、
 エネルギー変換能力を持ち、
 恒常性維持能力を持っている
体を作って、
 人間の5感全てを感じることが出来るインターフェイスを持ち、
なおかつ、
 全ての入力・出力を関連付けて記憶することが出来るデータベースをもつ
ロボットを作ったとしたら、それは「生物」になるんじゃねーのか。
しかも、それって可能じゃねーのか。
等と思ったりするわけだ。


多分、今の技術で作ったとしたら、ASIMOくらいのボディに、無線LANで繋がってるスーパーコンピュータがあって・・・とか、そんなものになるだろう。
でもHDDなんてドンドン安く小さくなってるし、フラッシュメモリも普通にギガ単位になってきた。あと数年すれば、ノートPCからHDDが無くなるだろう。
プログラム言語そのものは大して進化してないし、これからも大してしないだろうけど、OSに自動でコードとかSQLを書かせて自分でコンパイルと配置をして・・・なんてことは、そんなに難しいことではなさそう。
そのうち、ボディに収まるくらいのコンピュータが出来て、結構普通に「生き」ちゃうんじゃなかろうか。


よし、そういうプログラムを設計してみよう・・・と思ったけどやり始めたら大変なことになりそうだからやめた。

トランスフォーマー楽しみだ。
[PR]
by hangairamone | 2007-05-27 18:27 | 技術系

慣れてきたか

新しい会社に入ってやっと2週間。

ようやく会社の雰囲気に慣れてきた。
今までいた会社(自社・客先等含め)とは、いろんな点が違う。

・ほとんどWindowsサーバ上で動作するアプリしか作らない。社内で使うシステムを専門的に作る部隊だから。
・で、DBもMS、開発環境もMS、ソース管理もMS・・・。あぁ、悲しきオープンソースエンジニア。
・ドキュメントの作成基準やテンプレートが、かなり効率的に定義されている感じ。
・デフォルトでオフショア開発。
・なんか、自由。服装とかジーパンだし、音楽聴きながら仕事してたりとかする。
・で、みんなモノスゴイ優秀。プロ意識、コスト意識が強く、技術に対して貪欲。
・・・・などなど。

まぁ、働きやすい環境である。
が、要求レベルが高い。
が、入社したばかりで、部下を付けてもらってるので、成果を出さなければならない。
が、俺が今までつけてきた知識だけでは、成果を出すためには足りない。
ならば、色々勉強せねばならない。

直近で、俺が自分で必要と思われるものを挙げてみる。
自分のスキルの棚卸である。

○言語
・C# (⇒優先度は中。技術書読んだら、概要はつかめたし、Javaみたいなもんだから)
・JavaScript (⇒優先度は中。VS2005を使っちまえば、Ajaxを自動で組み込んでくれるコントロールとかフリーであるらしいので、あんまりソース見ることとかないだろうけど、知らないとまずい)

○設計
・テーブル正規化とか、テーブル設計(優先度は高。正規化とか、なんとなく『こうあるべきだ』というのはあって、作ることも出来るけど、体系的に学習したことがないので、理論の裏づけがないから、下に教えられない)
・ソフトウエアアーキテクチャ(優先度は高。Javaでのフレームワークを使ったアーキテクチャ設計は出来るが、ASP.NETとかを使った構造設計は、概要しかつかんでいないので)
・UML(優先度は中。今度の会社は積極的にUMLを使おうとしている。特に要求分析段階での『ユースケース図』の活用に力を入れてるようで、クラス図とシーケンス図くらいしかまともに使えない俺には、この知識・経験がないので)

○マネージメント
・見積もり手法(優先度は高。失敗経験とかから、『こういうときはこうしなきゃダメ』とか、そういうのは自分の中にあるが、体系的に身につけていない知識なので、指導しようとしたときに困る)

・・・・やってくうちにまだまだ出てきそうだ。
でもとりあえずこんなもんか。
いやーやること一杯。
まぁ一つ一つつぶすだけだ。

人月の神話―狼人間を撃つ銀の弾はない
Jr.,フレデリック・P. ブルックス / / ピアソンエデュケーション
ISBN : 4894716658
スコア選択:

有名な本ですな。

やっと読んでます(図書館で借りて)
[PR]
by hangairamone | 2007-04-03 01:40 | 技術系
http://plaza.rakuten.co.jp/chibimatsuzaki/diary/200702170000/

http://api.hotpepper.jp/about.html


ホットペッパーが、アマゾンとかみたいにAPIを公開したそうな。

リファレンスが分かりやすくて、すぐ作れそう。

つっても普通に使う分には
http://www.hotpepper.jp/index.html
で足りちまうわな。

JavaScript苦手だから克服の為になんか作るか。
ブログにAjax。
[PR]
by hangairamone | 2007-02-22 01:52 | 技術系

うわぁ~

http://ko-teru.at.webry.info/200702/article_3.html

これほど的確に、失敗プロジェクトってものを書き表したものがあっただろうか・・・。
特に「プログラマのコード」とか「やめて~~~ゴメンナサーイ」って感じ。


司馬遼太郎の「坂の上の雲」読んでます。3回目。今5巻。
何度読んでも面白すぎるるる。もうすぐステッセルが降伏します。


しっかし、この本の中の、
「俺は砲の専門家だ、俺の言うことは正しいんだ」
とほざき、作戦のまずさから何万人も日本人を殺し、それでも自分の作戦の
まずさを認識できず、砲弾と兵を送ってよこさない大本営を悪いとぬかす、頭の
クソ固い伊地知幸介って参謀は、なんかどっかのプロジェクトのマネージャとか
リーダーとかみたいだ。。

作戦本部を前線におかず後方で又聞きの報告を元に作戦立てて、机上の空論
ばっかりで、何にも現場見れてないとことか、現場で使われている実際の大砲
やら道具やらなにも知らず、自分の軍服は奇麗なままでいて、兵には平気で
死を強要するとことか、ホントそっくり。

現場を自分の目で見に行って、そこで得た情報を元に、問題点と解決方法を
考えて、極めてシンプルな解決方法を案出し、実際に203高地を2時間足らず
で落として見せた児玉源太郎との対比の妙。
どっかの誰かにつめの垢でもせんじて飲んで欲しいもんだ。


坂の上の雲〈1〉
司馬 遼太郎 / / 文藝春秋
スコア選択: ★★★★★
[PR]
by hangairamone | 2007-02-08 00:50 | 技術系

ふと思いついたサービス

世界中のサイトの中から、上位1000位くらいまでのアクセス件数のサイトを、いろんなカテゴリーごとに表示できる、なんてサービスがあったら、どうだろう。

例えば「ブログ」なんてカテゴリーを選べば、日本でアクセス件数上位1000位のURLと概要を、ちょうどGoogleの検索結果みたいに、表示できる、と。
便利じゃね?
Googleの検索結果の順番は、「そのページがどれだけリンクされているか」によるから、アクセス件数とはちょっと違うし。


ところが、やろうと思うと、かなり面倒かも。
RSS配信という技術があるので、同じように「○時○分○秒におけるページアクセス」なんてのを、xmlファイルに出力すること自体は、同じことだから簡単。
問題は、それをあらゆるサイトに対して、浸透させることだ。
こりゃ難しいでしょう。


じゃあどうするか。

ページビューを、gifやjpgの画像の組み合わせで、CGIなどで表示しているサイトは多い。
じゃぁ、それを使えないだろうか。

プログラムの処理としては・・・・

1.画像データを、ビットとかの単位で読み込む(画像データファイルの仕様をまだ調べてないので、なんともいえないが・・)。
2.周りの色と、違っている部分がある程度連続した場合、位置情報を、メモリ領域に書き出しておく。これを、画像全体に対し繰り返す。
3.位置情報を、手書き認識モジュールに対して渡し、最も合致した文字を出力してもらう。

・・・とかやれば、画像に書いてある文字を、文字として認識できるんでは?
OCRっていう技術もあることだし、出来ないことは無いだろう。

ただ、やっぱ、相当メモリを消費する処理になるだろうな。
そう簡単には、レンタルサーバになんておかせてもらえないだろう。

どこかにこんなプログラムのソース、無いだろうか?
俺が思いつくくらいだから、考えて作ってる人、いそうだけどな・・・。
もしあったら、実行してみて、PHPかJavaに置き換えて、Webサーバに載せてみて、DBと組み合わせて、・・・ってやれば、上記サービスも出来そうだ。けど、金かかるだろうな。


以上、まぁ、思いつきです。

(多分誰も見てないから関係ないかもだけど、一応著作権放棄してません)
[PR]
by hangairamone | 2006-07-28 00:52 | 技術系

JVMこの野郎

今日、仕事場で、帰りぐらいに、同僚が、お客さんとパフォーマンスチューニングしていた。

JDBC経由で、PreparedStatementを使ってInsert文やらUpdate文を実行してるんだが、ある一定の部分の処理だけ、200ミリ秒もかかっている。

DB担当者も俺も、興味半分で、その様を後ろでみてた。

まずは、DBのテーブルの作り方がおかしいんじゃないの?って話になった。
曰く「Insertしかしないテーブルなら、キーはなくてもイイが、Updateをするテーブルは、キーがあった方が早い」らしい。このテーブルはキーをつけてないらしい。いいのか?
で、これはまた今度調べるっつーことで、放置。

よくソースコードを見て見たら、かなりの勢いで文字列の連結をしまくっているらしい。
この同僚、java.sql.PreparedStatementに、実行したSQLを取得するメソッドがないと俺が嘆いていたら、そういう機能を実装したラッパークラスを作ってくれたのだ。若いのにスゲエ。
で、そのときの処理で、挿入する値を連結しまくっていた、というわけ。
StringTokenizerを使っても、やっぱり文字列処理は時間がかかるんだな。

で、これをちょっと修正してみたが、あんまり変わりがない。

なぜか、executeUpdateの戻り値をreturnしてるところで、200ミリ秒もかかってるみたい。
仕方ないので、時間がかかってそうな部分全てに、1行ずつログ出力処理を埋めてみたら、なんと恐ろしいことが起こった。


1回目と2回目で、実行した時の、行ごとの処理にかかる時間が違うのだ!!
何度かやっても、全部時間がかかる処理が違うのだ!!!


こんな事が起こるって事は、こりゃもうソースコードの書き方とかいう問題ではない。

java.sql.*のソースコードとか読んでみたけど、あーわかんね。
きっとJVMのせいだ。そうに違いない。そうに決まってる。

解決はしなかったけど、この方向で調べてみようかと。

あぁ、でも俺もタスクが溜まってんだよな・・・。
[PR]
by hangairamone | 2006-07-21 00:54 | 技術系