ふとした好奇心で、String#split("")を実行するとどうなるだろうと思って試してみました。
たとえば、"abcde".split("")とした場合。結果は、
String[0] = ""
String[1] = "a"
String[2] = "b"
String[3] = "c"
String[4] = "d"
String[5] = "e"
でした。なぜか一番初めに空文字が入ります。
tetsuの日記・雑記です。不定期に更新します。
ふとした好奇心で、String#split("")を実行するとどうなるだろうと思って試してみました。
たとえば、"abcde".split("")とした場合。結果は、
String[0] = ""
String[1] = "a"
String[2] = "b"
String[3] = "c"
String[4] = "d"
String[5] = "e"
でした。なぜか一番初めに空文字が入ります。
昨日、いろんなデータをひたすら紙に印刷して眺めてみたんですが、(自分にとっては)予想外なデータが!てか、こんなことが初めから言えるなら、もう少し気づこうよって思えてしまうような結果。これもデータを眺めてなかった自分の責任でもあるんですが、わりと端的な結果に愕然。
しかし、自分の研究はどんなふうにまとまるのかがまだ分かりません。とりあえずは、このデータから何が言えるのかをまとめれば向こうの会社の方には説明がつきます。ですが、卒論としてまとめる際にどの点を強調して、どの点が新しいのかを言えないなら、研究をしたと言えないんじゃないでしょうか。
確かに、勉強にはなるんですけどね。
それほど頻繁にではありませんが、トポロジカルソートというものを使うと効率よく問題が解ける場合があります。
トポロジカルソートとは、循環路がない有向グラフに帰着できるような問題において、半順序関係を満たすように並び替えることを言います。実際にどのように並び替えるかは、縦型探索を行うことによって実現できます。
オケの友達が、キットカットのワインのやつどこで売ってるか知らない?てことだったので、ちょっと調べてみました。僕自身はこんな企画があったなんてまったく知りませんでした^^;
http://sp-takagi.exblog.jp/994471/
上のブログによると、このワイン味のキットカットはパティシエ高木って人が作ったものらしいです。実は発売され始めたのが昨日!そりゃ売ってないですわ。コンビニあたりとかをめぐってみることにします。
今日は大学内でオムロンの副社長の人が講演会を開くってことで、聞きに行ってました。オムロンといえば、僕の先輩に当たるS先輩が就職する場所です。
話の内容自体は「生涯のキャリアを設計する」ってことでした。オムロンの宣伝みたいな場所もありつつ、それでもなかなかためになる話を聞けました。やっぱり社長や副社長レベルの人は考え方が違うというのか、器の大きさが違います。
その後の懇親会で、実際に話すことができましたが、けっこう親しみやすい方でした。こういうときにいい話ができるようになると、今後の生活にも役に立つんでしょうが結構難しいです。こういうネタはどうやって手に入れるものなんでしょうか。アナウンサーの方とかのインタビューじゃないですが、知識をいかにして得るかという技術は必要です。
ファイルを簡単に編集する言語としてAWKという言語があります。これを使えば、Javaなんかだと何十行と書かないといけない操作でも、10行くらいで簡単に書けてしまいます。さくさくと処理してしまいたいときなどには便利な言語です。
http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/awk.html
詳細は上のURLを参照してほしいですが、これを使えばCSVファイルなどからデータを取り出して、各列の演算を一気にしてくれます。シェルの強力版として使えるようになると、作業が早くなるかもしれません。
来るかな?と思ったら本当に来てしまいましたよ。せっかくなんで挑戦してみます。
1・パソコンの機種は何?
家にあるやつは自分で作ったやつなんでどう答えたらいいのやら。Athlon 2500+(1.83GHz)/768MB/75GBです。学校にあるやつがCPU3.0GHzあるんで、遅く感じられる今日この頃。とりあえず、市販のやつ買ってきてFF11をやってみたい・・・。
2・ノート?デスクトップ?
デスクトップですな。ノートでもいいんですが、同じ値段を出すなら性能がいい方ってことで。
3・文字入力は、かな入力?ローマ字入力?
ローマ字です。プログラム書くときにローマ字で書けないとえらい目に遭います。一応ブラインドタッチもどきはできます。
4・音の聞き方は?スピーカー?ヘッドホン?
TSUTAYAで買ったゲーム用のスピーカつないで聴いてます。ヘッドホンは苦手です。
5・ウイルス対策用ソフトある?
ありますよ?。AVG FreeEditionってやつが。有料のやつの方が、ウイルスチェックする分には速いんだろうけど、お金がないのでただで使ってます。
6・一日にパソと一緒に居る時間は?
それは聞かれると非常に困る質問。多分、8時間はいつも一緒にいます。
7・メールする?
あんまりしません。メールマガジンとか読んだりする程度。迷惑メールは1日50通ほど。アドレス変更したい・・・。
8・チャットする?
こっちからはほとんどしません。話しかけられるのも2日に1回程度?
9・プリンタある?
ありますよ?。でもあんまり活用してません。入学当初に買ったやつだからものすごく横に揺れる・・・。
10・パソ歴は?
真面目に使い出したのが高3から。windowsの使い方で困らなくなったのも大学3回のころくらい。まだまだ経験は浅いですよ。
11・自分のパソある?
実家に1台、へんにカスタマイズしたパソコンがあります。HDDだけ遅いんで、そこがボトルネックになってます。
12・ペンタブ持ってる?
もってません。たぶんあっても使いません。
13・マウス、キーボードはワイヤレス?
どっちともUSBでつながってるやつです。マウスはワイヤレスだと便利そう。
14・パソはあなたにとって何?
今はプログラム書くための道具ですね。使い道はいろいろあるんだろうけど、あんまり活用はできてないっぽい。あとはCD回したりする程度かな。
15・回す人を5人答えてください
あんまり期待はしませんが・・・。
とりあえず弟に。
あと、研究室つながりでkobax。
またまた研究室つながりでkz。
先輩から、miwaさん。numaさん。
あとはこれを見て書いてみたい!と激しく思った人に。
大学の研究の関係で、いろいろなことを順番に処理させたいってことがあります。そんなときに、こんなコードを書くとえらい目に遭います。
public static void main(String[] args){ List<Executable> list = getTasks(); for(Executable e:list){ e.execute(); } }
これは、ただ単にリストの中身を実行してるだけなんですが、もしこのExecutableクラス中で大きなデータを保持したまま終了するようなソースを書いていた場合、いくらメモリがあっても足りません。そんなわけで、実行したあとのいらないインスタンスはさっさと切り離した方がベターです。
public static void main(String[] args){ List<Executable> list = getTasks(); for(Iterator<Executable> it = list.iterator();it.hasNext();){ e.execute(); it.remove(); } }
Enumerationインターフェースが推奨されない理由はここにあるのかもしれませんね。Collectionインターフェースを実装してるクラスでは、iteration中の要素の削除は例外のもとだし。
javaのプログラムではVMがヒープ(メモリ)のサイズを決定します。しかし、大きなデータを扱う場合や、より高速に動かしたい場合はこのデフォルトのサイズでは小さい場合があります。
このようなときに、プログラムの実行時にオプションとして値を渡してやることで、ヒープの割当量を変更することができます。たとえば、初期ヒープサイズを変更する場合は「-Xms」、最大サイズを変更する場合は「-Xmx」です。
仮に60MBのヒープ領域を割り当てたいとすると、「java -Xms60M -Xmx60M mainClass」とすることで実現することができます。
ここ最近、週末になるとだんだんへこんできます。どうもやる気がでなくなるというかなんというか。やっぱり会いたいときに会えないってのは問題です。
個人的には週1でも会えると今のところはなんとかなりそう。それ以上だとガス欠でテンションの上がり下がりが激しくなるんでやばいっす。お金も無駄に使ったりするし、気も散ったりもします。こんなふうにブログを書いてる最中でも、解決策を探してる自分がいたり。あ〜、どうしたらいいんかね〜。
とりあえず気晴らしにCD借りて、友達の家でしゃべってきます。研究のことは、また帰ってきてから考えます。
tetsuの日記・雑記です。
日々経験したことを記録していきます。