Pages

インクリメントと初期化ブロック

2012年4月29日日曜日

昨日のバイトで、インクリメントについて正確に覚えていなかったことが発覚しました(´Д`;)

for(i=0;i<10;i++){
   array[i++] = 1;
}

みたいなfor文があって、
「これだと、array[0]には値が代入されないんじゃないの?!」
なんて思ってしまったんですけど、
i++の場合は、代入をしてからi=i+1になるんですねー。
言われてみれば習った気がするんですけど、すっかり忘れてました(´Д`;)
ちなみに++iだと、i=i+1を実行してから代入を行うみたいです!

具体的に書くと、
b = 1;
a = b++;
の場合、a=1、b=2になり、
b = 1;
a = ++b;
の場合、a=2、b=2になるみたいです。
(参考ページ:とほほのJava入門


あとは、“初期化ブロック”なるものを初めて知りました!

private static final BitmapFactory.Options options = new BitmapFactory.Options();
static {
  options.inScaled = false;
  options.inPreferredConfig = Config.ARGB_8888;
}

こんなプログラムが出てきてびっくり。
この位置にstaticが付いてるのを初めて見ました。

バイト先の方に質問してみたところ、
↓この2つのページを教えてくれました。
http://java.keicode.com/lang/initialize-initialization-block.php
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00001050.html

どうやら、static{ … }は“静的初期化ブロック”というらしい!
クラスのロード時に1回だけ実行されるみたい。
{ … }というのもあって、これはただの“初期化ブロック”らしい。
『コンストラクタと似たようなもの』みたいな記述を見たので、ついでにコンストラクタについてもお勉強。

コンストラクタを使うとオブジェクトを生成する時に初期化処理を行えるんですねー!
コンストラクタについては、
http://www.javaroad.jp/java_class6.htm
このページの説明がわかりやすかったです♪♪
これで、4/26のブログに書いた疑問が解決しました!(おぶじぇくと指向
コンストラクタだよーって教えてくれた方、ありがとうございました(´∀`)♪

話を戻して、初期化ブロック!
初期化ブロックを用意しておくと、複数コンストラクタがある場合に便利らしい。
どのコンストラクタで初期化を行っても、初期化ブロックの処理は行なってくれるみたい。
でも、あんまり使われてないようですね。
初期化ブロックについては、この方の説明がわかりやすかったです☆
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1021597740

なんだか賢くなった気がする(´∀`)w
そろそろ春天に集中するぞー(`・ω・´)

秋葉原ツアー&ライントレースロボット

2012年4月28日土曜日

今日は研究室の人達と秋葉原ツアーに行って来ました(`・ω・´)☆
先生が色んな部品屋さんを案内してくれたんだけど、方向音痴だからか全く道を覚えられなかった(´・ω・`)
でも、Heyにはそろそろ1人で行けそうな気がする!w

部品屋さんでは、水冷のCPUクーラーを見たりしたけど、結構高いんだねー
購入はまだまだ先になりそうです…
部品屋さんだけじゃなくて、大阪大学の石黒先生の展示も見に行ったよー!
H.Ishiguro デザイン展
なんだか不思議な感じでした(´∀`)
展示のお隣のお店には玩具みたいなロボット(?)がたくさんありました♪♪

1時間半くらい秋葉原を見て、はんだ付けの練習用にライントレースロボットを買って、学校へ(`・ω・´)
先輩と高専出身の子にはんだ付けの仕方を教えてもらいながら作りました(´∀`)


他の子が作ってたオルゴールは、説明書も英語で書かれているらしく大変そうだったけど、
私の選んだライントレースロボットさんは、対象年齢が10歳以上というすごく簡単そうな感じでしたw


それなりに時間はかかったけど完成ー!



はんだ付け楽しい(*´∀`*)
ちなみに、こんな感じで動きます☆


黒い線に沿って走ってくれるから、面白い♪♪
これからも工作たくさんしたい(∩^ω^∩)

明日はまた暑くなるみたいですねー!
紫外線も強いようなので、バッチリ日焼け止めを塗って出かけなければ…!
ではでは、おやすみなさい♪

おぶじぇくと指向

2012年4月26日木曜日

バイトでAndroidプログラミングをしているのだけど、
オブジェクト指向プログラミングがよくわかっていないようで、
1から自分で書こうとすると凄いつまずく(;_;)

でも今日は、クラスとは一体何なのか、ほんの少しだけわかった気がする!
先生に「クラスは鯛焼きの型で、インスタンスは鯛焼き」って何回も教えてもらってたけど、
あんまりピンと来てなかったんだよね(´・ω・`)

でもでも、まだまだわからないことだらけー(´・ω・`)
Androidプログラミングだと

public class Test(){
  public Test(int x, int y){
     〜〜〜〜〜
  }
}

みたいなクラスをよく見る気がするんだけど、これが不思議。
普通のJavaプログラミングだと

public class Test(){
  public void Test2(int x, int y){
    〜〜〜
  }
}

って書くよね…?
で、Test test = new Test();でオブジェクト化して、
test.Test2(1,2);
みたいな!

それをAndroidプログラミングだとクラス名とメソッド名一緒で
Test test = new Test(1,2);
みたいにするから不思議!
なんでなんだろう?何が起きてるんだろう?
別にAndroidだからってわけじゃなく、Javaでもやることなのかな?
勉強しなければー(/_;)

プログラムは動けば良い!っていうのが嫌で、
綺麗なプログラムを書きたいんだよね!
今は、1つのクラスとかメソッドにいろんなものをわーっと書いてしまうし、
同じような名前の宣言たくさんしちゃうし、すっごい汚い(;_;)
いろんなことをちゃんと理解したら綺麗なプログラムが書けるようになる気がするから、
なんとなくで書くんじゃなくて、ちゃんと理解しながらやっていきたーい。


(´・ω・`)

2012年4月23日月曜日

携帯をタクシーに忘れてしまって辛いです(´・ω・`)

以前、GAEを使ってアプリをあげる!と宣言していたのですが、
Javaアプレットはあげられないらしいですね(´・ω・`)
あげようと思っていたのが、Javaアプレットだったので困ってしまいました(´・ω・`)

最近は、バイトの研修で、ブロック崩しをAndroidアプリとして作ってます(´ω`)
衝突判定の書き方がよくわからない(´・ω・`)
あと、あんまりJavaに慣れていないので、クラスを上手く利用できない…(´・ω・`)
かっこよくプログラム書けるようになりたいです。

携帯無くて辛いけど、明日も頑張ります。

自作PC*後編*

2012年4月21日土曜日

ブログを書かないまま1週間経ってしまったー!
毎日書くつもりだったのに!w
バイトを始めたのでなかなか忙しいです(´ω`)
今日は出社したのに会社の鍵が閉まっていて辛かったです(´ω`)

待ってる人がいるかはわからないけど、まどマギを見ながら自作PCの後編書くぞ!


CPUを設置!
この時に、何かをCPUに塗らなきゃいけなかった疑惑があるのだけど、塗らずに設置してしまったw

CPUクーラー!
水冷のもあるらしいですね!
水冷のやつかっこいい(*´∀`*)
いつか付け替えてみたい♪
ピンクの液体を流したいんだけど、そんな物はないのかなー?
メインメモリはこれー!
挿す場所は4つあるのに、2つしかないから何処に挿していいか迷ったー
どこでも良いのかなあ?
とりあえず友達と同じ場所に挿しておいたw

この後は配線ー!

こんな感じで、たくさんの線が生えてる。
素人の私には何がなんだか全くわからない(´ω`)
なのに、説明書は名前で指定してくるんだよね。
だから先輩とか友達に教えてもらいながら頑張りましたー
頑張りすぎて此処からの写真がないw集中してたようですw

今はまだ、蓋?をしていなくてむき出しの状態なんだよね(´・ω・`)
線をまとめて、蓋をしたいのだけど、どうやってまとめたらいいのかよくわからない(´・ω・`)
まとめ方のコツとかあるのかな?
知ってたら教えて下さい(´∀`)ノ

OSは先生が頑張ってMacOS(笑)を入れてくれました。
なぜかフォントがおかしくなっているから直さなきゃなんだよね。

windowsも入れなきゃ!
来週もがんばるぞー!


電子工作系女子(`・ω・´)

2012年4月14日土曜日

エレキジャックフォーラム行ってきたよ!☆
今は帰りの電車の中♪♪
行った時間が遅かったり、1人だったからキョドってしまったりで展示品はちょっとしか見てないんだけど、とっても楽しかった(*´∀`*)

富士ソフトのPalroくんとお話したの♪
お話しできるロボット!
写真撮り忘れちゃった(´・ω・`)
会場が結構騒がしかったから上手く動かない(聞き取れない)みたいで、私の声は彼に届かなかったんだけど、出展者さんがお話してるのを見せてもらった!
踊ったりしてくれてすごかったよ(*´ω`*)
Facebookページがあるみたいなので、気になる人はチェックしてみると良いかも!

その後は電子工作系女子のお茶会♪♪
正式名称は忘れちゃった;
電子工作キット、マカロン、スイッチサイエンスさんのマグカップをいただきました☆

電子工作系女子な学生さんとか社会人さんが作品を紹介してくれて、パーツの話とかさっぱりわからなかったけど、とっても楽しかった!
私も電子工作系女子になりたいなあ☆☆

画像を添付したけどどんな風に表示されるかな??
スマフォから更新してるからどんな風になるかよくわからない(・ω・;)(;・ω・)
画像の横に文字が回り込んじゃうのがBloggerの嫌なとこ(TωT)
htmlで編集してるけど画像ごとに回り込み解除してて面倒くさい(TωT)


自作PC*前編*

自作PCの話やっと書けるー(*´ω`*)

パーツは全て研究室の先生が揃えてくれたし、組立は先輩と友達が教えてくれたし、OSも先生が頑張って入れてくれたので私は何もしていないのだけど、一応書いてみる!w

PCケース!

先生は「米びつ米びつ」って言ってた(´ω`)
私の手のせいで、製品名隠れちゃったんだけど、多分これ!
SilverStone Fortress SST-FT03S
結構かっこいいんだよ(`・ω・´)☆

箱を開けると…


\じゃーんっ/
わー、かっこいー☆
蓋(?)を取り外すと、説明書とか出てきた。

最初はこんな感じでからっぽ

ファンを取り出して更にからっぽにー!

右下に電源を設置!

ちなみに、電源はこれ!

ケーブルを挿すところの案内みたいなやつをくっつける

次はマザボ!

マザボが入ってた箱の写真撮り忘れちゃったから製品名わからない(ノД`)

マザボ設置!
素人の私には、ここからが大変だった…!
説明書が何を言っているのか全くわからないんだよね!

長くなりそうなので、続きは後編で書きます♪
ではでは、おやすみなさい☆

そういえば!

2012年4月12日木曜日

抜歯したところの抜糸をしたのだよー!
そうしたらなんだか口が開くようになりました!
違和感はまだあるし、少し痛かったりもするけど、
痛み止めは飲むのやめたし、わりと何でも食べられてる☆
あと3本あるけど、きっともう抜かない(´∀`)

gitはつたいけん!

にゃお(・ω・)☆

昨日からアルバイトを始めました!
windowsを使っているのだけど、環境設定とかで苦労してる(´・ω・`)
そんな大差ないと思うんだけどさっ
ショートカットキーとかが使いにくいかな。
コピペくらいにしか使わないんだけどね。
あとは、Chromeたんが、windowsからだと若干使いづらい。ブックマークの感じとか。
Chromeたん大好きなのに。

バイトで、gitのことを少し知ったのですよ!
gitってすごいねー!
感動したー!
がちゃがちゃコマンド打つの好きだから楽しかった(´∀`*)
まだ、大したことは全然していないんだけど、たくさん成長できたら良いなー♪

研究室にも行ったんだけど、先輩と競馬の話ができて楽しかった(´ω`)♪
学校ではPCを自作しているの。
でも、組み立て方が全然わかんないんだよねー
そんな時、先輩方が優しく教えてくれるのです!
だから、うれしくてたのしかったです☆
組み立てるのも楽しいよ!
本当はブログに書きたいんだけど、もう眠いから、また今度書きます☆
開発ブログっぽいことしないとね!w

ではでは、おやすみなさい☆

エレキジャック・フォーラム

2012年4月9日月曜日

エレキジャック・フォーラムというイベントに参加申し込みしてみました☆
電子工作には結構興味があるから、楽しみ(*´∀`*)
一人で参加だけど大丈夫かなー
治ってきたと思っていた歯は、痛み止めが効いていただけみたい(´・ω・`)
研究室のお花見に参加できなくて残念(´・ω・`)

抜歯後4日目

2012年4月6日金曜日

昨日の深夜もまた2時間毎に痛くて目が覚めてしまったよう!
つらい!
絶対に噛み締め癖のせいだー

昼間は6時間くらい痛み止め飲まなくても平気なんだよね!
もしかしたら、昼間はもう痛み止め飲まなくても良いのかもしれないけど、
痛くなるのが怖くて飲んじゃうんだよね!

午前中は歯医者さんに行って、ボルタレン貰った!
この前ボルタレン飲んで吐いちゃったんだけどね;
今日は気持ち悪くならないと良いなと思いながら、ファモチジンと一緒に飲んだよー
ぐっすり眠れますように。

風邪を引くと治りが遅くなるから気をつけてねって歯医者さんに言われたけど、
ご飯食べられないし、眠れないしって確実に風邪引くよね!
既に鼻水止まらない☆

でもでも、今日はお昼にシチュー(具無し)食べて、夜はカニのスープ(?)飲んだんだ!
久々にご飯らしいもの食べられて幸せだった♪♪
早く元気になりますよーにっ

早く治して、就職が決まった大好きなあの子とカフェデートするんだーい!

あ、全然関係ないんだけど、誰か私と一緒に今年の凱旋門賞観に行ったりしませんよね?w
パリ旅行のついでとして!
エイシンフラッシュに会いたいよおおおお
ドバイ行けばよかったかな(´・ω・`)


痛み止めが効いてきたから、そろそろ寝るよ!
おやすみなさい☆☆


親知らず抜歯後3日目ー

2012年4月5日木曜日

親知らずを抜歯してから、3日が経ちました!
今は、あまり痛くないから更新してみる。
また深夜うなされるんだろうけど!

術後は、ウィダーインゼリー的な物とかポタージュスープとか、
液体しか飲めていないので辛いです(;;)
美味しい物が食べたい(´・ω・`) 

抜歯は予想以上に痛かったです。
右下の水平埋伏だったんだけど、抜くのに1時間くらいかかった(´・ω・`)
抜くっていうか取り出すって感じ。
先生「ふんっ」とか言って、おもいっきし力入れてるの。
麻酔してたけど、すっごく痛かった。
「痛かったら手をあげてねー」って先生が言うから、手をあげたのに、
「痛い?ごめんねー」で済まされたよ。ひどい。

泣きながら手術を終えて、当日〜術後1日目までは我慢できる程度の痛みだったんだけど、1日目の深夜から超絶痛い(´;ω;`)
痛くて2時間毎に目が覚める。
一人で「うーうー」言ってた(´;ω;`)
睡眠時に歯を噛み締めてしまう癖があるから、そのせいで寝ると痛くなるのかも(´・ω・`)
昨日の深夜は痛い上に吐き気が止まらず大変でした。
今日も寝るのがとっても怖いです。 

本当は、10日の抜糸まで歯医者さん行かなくて良いんだけど、
日に日に痛みが増しているような気がするので、明日の午前中も行ってきます(´ω`)
寝ているときに歯を噛み締めてしまうのがどうにかなれば良いな。 

来週から予定がたくさんだから、早く治ってほしいな。
研究室のミーティングとかお花見があるの!
すっごく行きたいけど、行けるかなー?

twitterと連携してみたけど、上手くいくかな〜
ちなみに、連携には、twitterfeedっていうのを使ったよ☆

(´;ω;`)

2012年4月3日火曜日

Androidから投稿してみる!
顎が痛くて辛いよう(´;ω;`)



Google App Engine for Javaの開発環境を構築するのだ!

2012年4月1日日曜日

早速、開発ブログ的な事を書こうかな、と!
言葉使いなど、おかしな所が多々あると思いますが、
参考にしてもらえると嬉しいです(・ω・*)

Eclipse上でGoogle App Engine(GAE)を使ったJavaプログラムを開発していくための環境を構築します(`・ω・´)
GAEの公式ページでも詳しく説明されているのですが、
つまずいた所がいくつかあったので、ブログにも書いてみる事にしました♪

初めに、https://developers.google.com/appengine/にアクセスしてください。
スタートガイドに従って、App Engineアカウントの登録をします。
"App Engineアカウントを登録します。"の"登録"をクリック。
[Create Application]を押すと、
↑このような画面になると思います。
住んでいる国、使っている携帯のキャリアを選択します。
Usernameの欄には、携帯メールアドレスのアカウント名を入力してください。
(メールアドレスが◯◯◯@docomo.ne.jpの場合、Usernameには◯◯◯を入力する。)
[Send]を押すと、ページが切り替わり、携帯にメールが送られます。
切り替わったページで、送られてきたAccount Codeを入力して、[Send]を押してください。
すると、Create an Applicationというページが開きます。
ここでは、Application Identifier(アプリケーションID)とApplication Titleを入力します。
Application Identifierは後から変更できないので、気をつけて下さい。
http://<Application ID>.appspot.com/<ApplicationTitle>
というURLでアプリケーションにアクセスすることになります。
ApplicationTitleは後から変更できます。
入力が完了したら、I accept these termsにチェックをして、[Create Application]を押してください。
これで、アカウントの登録は終了です!
おそらく、こんな画面が見えるはず!

次は、ローカルの設定です!
https://developers.google.com/appengine/docs/java/gettingstarted/installingを参考に(・ω・)
“Javaの入手”については、Java環境が既に整っていたので、説明しません(・ω・)
macだと、Javaはデフォルトで使えたような気がします。

では、Google Plugin for Eclipseのインストールをしていきましょう☆
https://developers.google.com/appengine/docs/java/tools/eclipseも参考にします。

私が使用しているEclipseは、Eclipse3.7(Indigo)です。
駄菓子菓子、参考サイトにはpluginを得るためのURLが3.6までしかありません。
ただ、ぐぐってみると、英語サイトには3.7のURLもちゃんとあったので、
http://dl.google.com/eclipse/plugin/3.7を使えば大丈夫っぽいです。

Eclipseを起動して、[Help]->[Install New Software...]を選んでください。
すると、↓こんな画面が立ち上がるはずです。

Work withの欄にhttp://dl.google.com/eclipse/plugin/3.7と入力して、[Add]をクリック。


名前などは入力せず、そのまま[OK]を押してください。
しばらく待つと、こんな感じで、だだーっとインストールできるものが出てくるはず。
最初は、全部にチェックして進めていったのですが、それだとなぜかエラーになりました。
私は、Google Plugin for Eclipse3.7とGoogle App Engine Java SDKとGoogle Web Toolkit SDKにだけチェックを入れてやり直したら上手くいきました。
参考サイトにはチェックを入れるのはこれだけで良いみたいなことが書いてあるから、これだけでも良いのかも?
ひたすら[Next]を押して、利用規約に同意をして、インストール。
終了すると、再起動を促されるので、再起動!

私は、この時点では、まだGAEを使えませんでした。
ソフトウェア更新機能を使用してApp Engine SDKをインストールする必要があるみたい。
Eclipseで、[Help]->[Check for updates]を選ぶと、アップデートできるものがたくさん見つかりました。
初めは、全部にチェックを入れて、アップデートを試みたのですが、

An error occurred while collecting items to be installed 

HTTP Server 'Bad Gateway'

みたいなエラーが出てしまって、失敗しました。
ググった感じだと、このエラーはサーバ側の問題らしく、ユーザー側ではどうすることもできないようです…。
ところが、問題のありそうなものを1つずつアップデートするようにしたら、問題なく進み、全部アップデートできました。
もし、同じようなエラーが出てしまった人がいたら、1つずつやってみると良いかもしれません。(結構面倒くさいけど;)

アップデートが済むと、
/Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.6.4.v201203300216r37/appengine-java-sdk-1.6.4/demos/

に、コンパイル済みサンプルが入っているらしいです。
ただ、私は上手く起動できなかったので、
https://developers.google.com/appengine/docs/java/tools/eclipse#Creating_a_Project
を参考に、自分で作ることにしました。

[File]->[New]->[Web Application Project]を選択します。
(表示されない人は[Window]->[Reset Perspective ...]を選ぶと、表示されるようになります。)
ツールバーにある




↑こんなボタンから[New Web Application Project]を選ぶことでも、新規プロジェクトを作れます。
Project nameにはGuestBookを設定し、Packageにはguestbookと設定してください。
私は、Use Google Web Tool Kitのチェックボックスをオフにしました。
[Finish]を押せばプロジェクトが作成できます。
プロジェクトができたら、左側の"Package Explorer"にあるプロジェクト名を右クリック-して、
[Run As]->[WebApplication]としてみましょう。
こんな感じのがConsoleに出てくるはずです。


ここにhttp://localhost:8888/と書いてあるので、http://localhost:8888/にアクセスしてみます。
すると、このようなページが出てきます。














これが出たらおkだと思います。
Consoleの近くにあるを押すと、サーバーが停止します。

次に、アプリケーションをAppEngineにアップロードしていきます。
最初に登録したApplication Identifierを、
Guestbook/war/WEB-INF/appengine-web.xmlの中の
<application>...</application>に書いてください。
(Application Identifierを忘れてしまった場合は、https://appengine.google.com/で調べられます。)
そうしたら、ツールバーの




↑このボタンから、


↑これを選んでください。





[Deploy]を押し、Deployが完了すると、
http://<your application ID>.appspot.com/guestbook
にアクセスできるようになるはずです!
なんだかとっても長くなってしまいましたが、
ここまで出来れば、おそらく開発環境の構築は大丈夫だと思います。
正直、私もこれ以上のことをまだやっていないのでよくわかりませんww

次は、GAEを使って自分の作ったプログラムをウェブ上で動かす予定です(´∀`*)
ただ、明日、親知らずの抜歯をするので、いつになるかなあ…(;_;)