- 更新日:
- 日記
今日は朝からソフトウェア開発技術者試験がありました。というわけで8時には家を出発して三宮へ。
http://www.jitec.jp/1_11seido/h13/sw.html
会場は不動坂を少し上ったところの「コンピュータ総合学園神戸電子専門学校」ってところでした。不動坂って結構急で、まるで神大に行く途中の急勾配の斜面みたい。かなり大変なところに頑張って建てたなぁと思って教室に入りました。
試験問題自体は、基本情報技術者の難しいバージョン。ただ、記述でデータベースのコマンドを書かせるのはちょっとやばい。さすがソフトウェア開発技術者。データベースくらいは余裕で使いこなしなさいってことですか。でも、レベル自体は講義の「データベースシステム」で習うくらいのレベルだったんで、頑張れば解けるんでしょうが・・・。履修してなかったんで、あえなく撃沈。
これは午後問題ですべってそうな予感。また来年頑張ります。
- 更新日:
- 日記
早いもので、もう1週間終わりです。今週はプログラムの高速化ばかりやってた気もしますが、それはそれで楽しかったような。でも、再来週には研究の発表があって、けっこうでかい山場になりそうです。
とりあえず、昨日の時点でプログラムの修正が終わったので、ひたすら計算させてまとめていくだけです。ここの作業が一番面倒。間違えて上書きしてしまったり、どのファイルを作業していたのかを忘れてしまってたり。今何をすべきか、今後どうやっていく予定なのかを常に意識していないとどうしていいか分からなくなります。気がついたらプレッシャーだけ残っていたってことにならないようにしないと・・・。
本当なら今日はホルンパートの人が来訪する予定だったんですが、大雨のため中止。ちょっと残念だったけど、逆に得るものは大きかったです。不意にできた時間は有効に使わないとね。
- 更新日:
- Java
StringBuilderは、文字列を連結したり、ある場所に挿入したりできるクラスです。Stringクラスが不変なのに対して、こちらは可変クラスです。
同様の可変クラスとして、StringBufferがあります。こちらは同期が取れるクラスなので、複数のスレッドにまたがって処理される場合は有効です。ただし、単一スレッドの場合はStringBuilderの方が高速です。
このコンストラクタは4種類あります。引数なし、CharSequence、int、Stringをそれぞれ引数に持ちます。これらのうち、CharSequence、Stringはインスタンスの持つ文字列を決定するためにあるのに対して、int型は初期容量を決定するためにあるので注意が必要です。
- 更新日:
- 日記
もうそろそろ秋も中頃。ですが、突然アイスを食いたくなりました。演奏会から帰ってきて駅を降りた直後だったので、アズナスに入って「旨みモナカ」なるものを買ってみました。
http://www.lotte.co.jp/products/ice/06.html
一口食べたときの感想が「辛っ!」。モナカの表面に岩塩を振りかけてあるそうで、外側の部分を食べてるときは塩の味、内側を食べてるときはアイスの味がします。「新発想!塩の旨みで絶妙なおいしさ」と書いてあるとおり、かなり絶妙。なんというか、塩をかけたスイカみたい。これが普通に食べれる人ならおいしく感じられるかも。でも、僕自身はスイカには塩をかけないので、けっこうハズレでした。
やっぱりアイスといえば「雪見だいふく」ですかね。(ちなみに、どっちともロッテの商品です。)
- 更新日:
- 大学生活
今日も、大学に行ってプログラムを速くしてました。なぜ速くしないといけないかというと、1通りの結果を出すのに1回1日かかってしまうから。できれば数時間程度で終わってくれれば、大学にいる最中に走らせながらいろいろ試せるのに。
ということで、今日は欠損値を示すクラスをとっぱらって、ひたすらdouble型で表現して計算するようにしてみました。あと、連続DPの計算途中のデータを捨ててたので、捨てないようにして次の計算の時も再利用してみました。
そしたらかなりすごいことに。1時間かかってた処理が5分程度で終了!約10倍の速さに!以前は50個のテンプレートを比較するのに4秒程度かかってたのが、今では0.4秒。違いすぎ。しかも、テンプレートの処理する順番と、履歴を利用する計算方法のおかげで尻上がりにスピードが上がっていくのが見てて面白かったです。やっぱりインスタンスを生成する処理は重たかったんですね。
ここまで来たら最適化する意味はなくて、ひたすら生成されたデータの整理です。グラフにするのにもいろいろと面倒なことをしないといけないので、そのあたりを地道にやっていけば良いかと思います。今後の方針として、他のデータとの照合と、Unnormal Detectionってやつを手がけます。あと1週間くらいで、何か結果が出るんでしょうか。
- 更新日:
- IT時事
ひさびさにチェックをしてみたらバージョン3.2が出ていたので、当ブログでも更新してみました。
設定ファイルがmt-config.cgiに変更になったらしいので、前回までのmt.cfgと見比べつつ変更。データベースのパスワードもこのファイルに記述するようになったようなので、そこのあたりも変更。
あとはそのままファイルをアップロードしてmt-check.cgiを実行。今まで使えてたので、特に引っかかることなくアップデートが終了。あえて気をつける点と言えば、パーミッションを755(or705)にすることと、index.htmlを間違えて上書きしてしまっても再構築すればいい点だけ。比較的簡単にできました。
- 更新日:
- 大学生活
今日は、最近思いついた最適化の方法を試してみようと思って、ガリガリプログラムを書いてました。結論を先に言ってしまえば、見事に失敗・・・。
Javaではインスタンスを作成するのは、やや重たい処理に含まれます。インスタンスを作成するためにメモリから領域を切り出してきて、フィールドやメソッドがどんなんかを書き出して・・・、などとC言語ではわりと面倒なことを「new ClassName()」と書くだけでできてしまいます。オブジェクト指向万歳!
裏で、こういう作業をしてるので、できればインスタンスを作成しないようにするために、再利用できるものはしてみようと考えました。HashMapを使って、今まで生成した分をためておいて、使えるやつは使うって感じです。比較的単純な実装だったんで、もしかするとうまくいくかな〜と思ったんですが・・・。
結果的には2倍ほど遅くなりました^^;原因を考えてみると、実は再利用できるインスタンスと新たに作らないといけないインスタンスの比が相当悪かったみたいです。ほとんどのインスタンスは1度使うだけって感じで、貯めてるだけ効率が悪くなったってことでした。
今回の教訓は、最適化するなら相手をよく知ってから。扱うデータの内容がだいたい分かっていれば、それに適したデータ構造やアルゴリズムも必然的に決定できます。今回は、思いつきだけでやってしまったのがダメだったってことですね。
- 更新日:
- 大学生活
小野市の依頼演奏に出発する日の(夜中の)1時くらいから、研究用のプログラムを走らせてました。それはこのブログにも書いた通りです。が、1日で終わると読んでたプログラムが2日間経った今でも終わりません^^;なんでじゃー。
ログの時間を見てみると、1つのタスクを終了させるのに3時間かかっている模様。で、やらせているタスクの数は16個・・・。合計48時間。ちょうど2日。普通に計算間違いかもしれません^^;1日経てば速くする方法も思いついてて、実装方法も見当がつくんですが、実行中のプログラムが終了しないことにはどうしようもないんですけど。ま、あと数時間で終了する予定なので、もうしばらくの辛抱です。2日もPCがフル回転してたら、相当消耗しそう。
同じPCで開発と計算をするときの一番の不便な点は音楽が聴けないこと!そりゃCDなんてかけた日には、音が飛びまくり、巻き戻ししまくり。そりゃCPUが追いついてないのは理解できるんですが、1秒再生、0.5秒巻き戻しって相当イライラします。これは早いとこLANケーブルを買ってきて、サブマシンで処理するしかないですね。
- 更新日:
- サーバ管理
今日、3回生の時から1年間使っていたサーバPCを売却しました。価格は500円!安すぎ!
性能もサーバ用としてはそんなに悪くなくて、PentiumIIIの500MHz/192MB/40GBってなかんじ。買った当初は10000円だったのに、オークションで1円スタートで開始したら、全然値段が上がらなかった・・・。ま、いらないやつなんで、値段が付いただけましでしょう。
こういった中古PCを売るときに一番気をつけないといけないのが、個人情報の流出。最近の技術はすごくて、普通にデータを削除しただけでは復活する可能性があります。なので、本当に外にもれたらやばいデータを扱ってたPCはHDDを壊して、処分するのが一番無難です。市販のソフトでも、完全にデータを消去するやつが売ってますが、それだけに数千円出すのは・・・。僕のサーバでは、特にそれほど重要なデータを扱っていたわけでもなく、一応フォーマットはしたので大丈夫だと思われます。甘く見すぎ?
- 更新日:
- オーケストラ
今日は朝も早くから演奏会に出発です。阪六に8時50分集合だったんですが、見事に10分遅れて着きました。すいません、予定はよく確認しておきます・・・。
さて、神戸市から小野市は結構離れてます。地図で見てみると、こんな感じ。明石市の真北に位置する市で、バスで1時間程度。けっこう道ががたがたしてて疲れます。
演奏会自体はお昼からなので、午前中はリハーサルをして休憩です。近くにサティがあったので、そこでお昼を買って食べてました。このあたりでは車が主体らしく、コンビニっぽい場所がないみたいです。
演奏会の名前は、題して「ふるさとをしのぶ音楽会〜青野原俘虜収容所演奏会の復元〜」。神戸大学でも特別展が開かれてたりして、今回のことは大学単位で採り上げてるみたいです。曲目は、歌劇「レーモン」序曲、レヴリ、ソルヴェイグの歌、歌劇「ノルマ」序曲、巡礼の合唱、軍隊行進曲第一番の6曲。それなりに楽しめたかな〜と思いました。でも、連日の練習のためか、口がバテるのが早かった・・・。
帰ってきてからは打ち上げです。大勢で飲むのはう〜ん、って最近思えるので微妙なうち上がり具合でしたが、とりあえずは楽しかったといえるのかな。うむ。なんか、終始マネージャーの方に迷惑をかけたので、非常に申し訳ない。コンパのときとかの傾斜を早く計算できるiアプリとか作ったら便利かな?と思った打ち上げでした。