蘇る失墜

日常の出来事をつらつらと

夏休みの課題

2006年08月31日 23時28分10秒 | 大学
今自己PRと志望理由をそれぞれ800字以内で書けという夏休みの課題が出ている。
ちなみに締め切りは今日まで。
志望理由の方は完成した。
しかし自己PRがかけない。
考えれば考えるほど欠点ばかり出てくる…
欠点ばかりだとすごく鬱になってきた……
しかし締め切りは迫ってきている。
やばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばいやばい

というか私の精神状態がやばい

回帰分析

2006年08月30日 17時35分55秒 | 共分散構造分析
3章の自分の担当分の資料を作った。
担当部部分は標準化データの単回帰モデル
先輩の助言もあり、少し理解が深まった感じ。
ただ一部わからないところがあった。教科書に
「E[z^2] = 1だったから」
という表現があるが、そんなことどこに書いてあるの???
E[z1] =0 は書いてあったけど、何で2乗すると1になるの?


と思っていたけど、この記事を書いているときにふとあることを思いついた
「分散の公式ってどんなんだったけ?」と思い調べてみた。
分散の公式

標準化データは平均が0、分散が1なので、これを上記の式に当てはめると
E[z^2]がうまく1になった。
なんとか疑問を解決できてよかった。これで明日の勉強会もなんとかなりそうです。

java勉強会

2006年08月29日 16時23分01秒 | java
今日はjavaの勉強会があった。
今回で3回目にも関わらず新しい発見があった。
Human型の配列にHumanのサブクラスであるStudentやTeacherクラスも入るそうです。

あとmysqlについて先輩に聞いたこと
mysqlはprimary key以外にユニークなキーを持てるらしい。
insert ignore into hoge values();
とすればエラーが出ても無視できるらしい。

Eclipseで2つのプログラムを動かすには

2006年08月28日 22時01分54秒 | java
あるプログラムが動いている状態で別のプログラムを実行すると、最初に動いていたプログラムのコンソール画面が、後から動かすプログラムに上書きされてしまうそうです。それを解決するためにはまず新規コンソールビューを開き、そして先に動いているプログラムのコンソールを選択して、「コンソールのピン止め」をクリックするだけ。これをクリックするとコンソール画面を固定することができるので、もう片方のコンソール画面で別のプログラムを動かせば、コンソール画面が上書きされてしまうことを防ぐことができます。試してないけど2つだけでなく3,4つ動かすこともできるだろう。

Eclipseで気づいた便利なキーボードショートカット。
CTRL+D・・・1行削除。
EmacsのCTRL+Kと同じみたいに使える。ただEmacsと違って削除したものを貼り付けることができるかどうかは不明。

今日悩んだこと
Stringクラスのsplit(String hoge)を使ってで区切ろうとするとエラーがでる。はただそれだけでは文字とみなされないらしく、\\\\を直前に入れる必要があった。

メール

2006年08月28日 13時36分09秒 | 大学
先週MLに今後の予定について流したけど、
時間だけ書いて曜日を書くのを忘れていたようだ。
メールひとつまともに送れないなんて情けない。
以後気をつけたいと思う。

ここ2,3日のまとめ

2006年08月28日 01時02分38秒 | java
前々回の記事でついにプログラムが完成したと書いたけれど
実際はバグがあったのでここ2日くらいプログラムの修正をしていた。
出ていたバグはデータベースの接続にたまに失敗するというもの
エラーは↓のような感じのもの

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.BindException: Address already in use: connect

STACKTRACE:

原因は結局よくわからなかったけど、おそらくデータベースに頻繁にアクセスしていたことが原因のような気がする。
今までは

insert into hoge values(1,hoge);
insert into hoge values(2,hoge2);

という感じで一行ずつデータベースに入れていた。
これでは100個のデータがあったら100個のSELECT文ができ100回データベースに接続するというひどいプログラムであった。
それを防ぐために

insert into hoge(id,name) values(1,hoge),(2,hoge2)・・・

という風にひとつのSELECT文にすることによってデータベースに接続する回数データ数に限らず1回にさせた。そうしたら上記のようなエラーは今のところ出ていない。

このような問題からデータベースに接続する回数はなるべく減らしたほうがいいだろうということで、今まではデータベースにいちいち接続してIDの最大値を取得していた部分を、mysqlのオートインクリメントを使うことにした。
mysqlのオートインクリメントはテーブル作成時に

create table hoge {
primary key(id),
id int not null auto_increment,
}
とすることで使用可能になる。

これに伴って今まではidをプログラムで保持していたが、オートインクリメントで入れるために、プログラムでは保持しなくった。そのため他のテーブルでidを外部キーにしているものはmysqlのlast_insert_id()をつかって取得するようにした。last_insert_id()は直前にDBに入れたidを取得してくれる関数である。


Googleデスクトップ

2006年08月25日 22時57分00秒 | Web2.0
ゼミで話題になったのでGoogleデスクトップをインストールしてみた。
インデックスを作るのにすごい時間がかかったが、なんだかすごい。
とりあえず自分のパソコンの中を高速で、しかもWordなどの中身まで見て検索してくれるのでとても便利そう。
そのうち役に立つ時がありそうだ。

遂に…

2006年08月25日 22時02分28秒 | 大学
はてなのスパイダリングを開始できた。
とりあえず過去の人気記事をすべて集めている。
途中でデータベースの接続のエラーっぽいのが出ているが原因不明。
まぁ少しくらいデータを取り逃してもいいかなという感じ。

まだ定期的に巡回する方はまだ処理が甘いのでそっちは開始できていない。
定期的に巡回する場合に、すでにDBに登録されている場合どうするかという問題がある。
時間がたっても記事自体に変更は無いが、タグやユーザ数は変わっていくのでそれをどうするかといった感じ。
考えはあるにはあるが、それは無駄な処理のような気がしてまだ決めかねている。
修正するにもソースが汚すぎて、直す気になれないorz
あと巡回の頻度をどれくらいにするかも悩む。

他にもlivdoor clipとYahooファイナンスのニュースも取る予定。
そういえばGoogleニュースを再開さないといけなかったような…



やったこと

2006年08月23日 23時46分16秒 | 日記
結局OSの再インストールができなかった。
データのバックアップをとりたかったが、なぜかネットにつながらないという罠があったので明日USBのメモリスティックなどを持っていてバックアップしたい。

共分散構造分析を2章の途中まで読んだ。数式が難しくなってきて読むのがつらい…
明日みなさんの意見を聞いて復習したい。

スパイダリングのプログラムが定期的に巡回する場合の処理が甘いことに気づいたので修正した。いろいろとエラーも出ているし、自分で書いておいてあれなんだけど、ソースが汚くて修正するのも一苦労だ。いつかは綺麗なソースをかけるようになりたい。

これから人力検索について2時間ほどやってから寝ようと思う。

サーバ

2006年08月22日 22時03分42秒 | 
管理、運営の難しさを感じる今日この頃。
今日は研究室のサーバ関連の会議を行って、
グローバルに繋ぐサーバを限定しようということになった。
それに伴い研究室の模様替えも決行。
自分の席を昨日作ったけど、1日でなくなってしまったw
でも一応席をまた作り直して、ちょっと狭くなったけどディスプレイはでかくなったし、これでよかったかな?

今自分が運営しているサーバ(mikuru)の名前がやばいので、
明日OSを入れ替えて名前を変えたいと思う。
たぶんCentOSを入れることになると思うが、そっちでプログラムを動かすか、
もう一台の私が管理しているWindows2003(kajiki)で動かすかを悩んでいる。
kajikiの方がスペックは高いし、もう環境は整っているからkajikiで動かしたいが、
Linuxも使えないようでは話にならないのでCentOSを使いたいという気持ちもある。
ただLinuxではmysqlの日本語の問題がうまく解決できたことが無いのし、javaを入れるのがかなり面倒だとか、いろいろと問題が多いのが難点。
やはりWindowsしかないのか…

帰還

2006年08月20日 18時04分15秒 | 日記
ついに浜松に帰ってきました。
実家では友達とカラオケに行ったり、バーベキューをしたりと充実した日々を過ごした後、4泊5日の壮大な旅行に行ってきました。
ちょっと遊びすぎたかなというくらいに遊んで、
心身ともにリフレッシュできたので、今日から本格的に勉強を再開します。
とりあえず人力検索について1万字目指して書くぞ!!!

mysql

2006年08月10日 22時16分08秒 | java
mysqlを再インストールした。
mysqlをインストールする際に文字コードを指定する場面で
デフォルトではlatin1担っている部分をCP932に指定した。
CP932とはWindowsでの正しい文字コード。
Windowsの文字コードは、一般的には「シフトJIS」だが、正しくは「CP932」である。
「MS932」とも言う。

これにしたら、以前はblobでしか入らなかった日本語がtextでも入るようになった。
ただCP932はWindows用なのでLinuxはどうしたらいいのかがわからない。
やっぱりWindows2003サーバしかないのか…

やること&やりたいこと

2006年08月10日 03時15分30秒 | 大学
夏休み中にやること

1.絶対内定を読む
2.現在やっているプログラムの安定稼動
3.Web2.0本関連
4.研究したいことを探す

1は一度読んで軽くやったことがあるが、もう一度時間をかけてやりたい。
2はすぐに終わりそう。ただMySQLに関して少し調べる必要がある。
3は現在どうなっているのかわからない。明日ゼミに参加してから考える。
4が一番難しい…

できればやりたいこと

5.先輩の会社を手伝い、起業について考える。
6.Java以外の言語(Ruby,PHPなど)
7.統計
8.サーバ、ネットワーク
9.未完だったAmazonAPIを使ったWebアプリケーション

5は手伝える仕事をとにかく回してもらいたい。起業に関してマネジメント演習で
T中先生が興味をもっていらっしゃったので、一度お話を聞いてみたい。
S藤先生の意見しか聞いたことがなかったので新しい発見があるかもしれない。
6は本当に時間があったらする。今夏の演習でservletに自信がついたので、やらなくてもいいかもしれない。
7はたぶんゼミでみんなで勉強することになるから保留。
8はI君がいなくなったので、セキュリティ関連の知識を得る必要がある気がする。
9はたぶんやらない。本当に暇があったら完成を目指す。


夏休みに友達と旅行に行く予定があるので、なかなか進まないかもしれない。
少し旅行を入れたことを後悔してるorz

お疲れ会

2006年08月10日 03時07分41秒 | 日記
やっと授業も終わったので、1,2,5班のリーダー3人で吉田研でお疲れ会をした。リーダーをやってつらかったことなど、いろいろと話あえてよかった。夜10時くらいに吉田先生に誘われて、急遽浜名湖までドライブに行くことになった。浜名湖を見て気分をリフレッシュできた。帰りに佐鳴湖も見た。臭かったけど、景色はよかった。鬱になったらひとりで行くかも。明日からやりたいことを再開させたい。