« 2010年2月 | トップページ | 2010年4月 »

2010年3月

2010年3月28日 (日)

3月27日のトレーニング

久しぶりに2枠のトレーニングをこなしてきました。

飯食ったあとすぐには運動しない方が良いようだ。

ボディパンプ(60分)
ボディコンバット(30分) 248.1kcal

| | コメント (0) | トラックバック (0)

ガベージコレクションのアルゴリズムと実装を読む(4日目+5日目)

ガベージコレクションのアルゴリズムと実装を読み始めて5日目になりました。

4日目の記事を残しておくのを忘れてしまいましたが、4日目はコピーGCを読みました。
5日目はマークコンパクトGCでした。

コピーGCには以下のメリットがあります。
(From領域からTo領域にコピーするときに領域がコンパクションされるため、
$freeがつめ直した最後に設定される。ということで、確保する時に$freeをずらせば良い)

キャッシュメモリとの相性が良い(参照関係があるオブジェクトをコピーするため)

デメリット
ヒープ領域が2分割されるため領域の使用効率が悪い。
再起関数呼び出しでスタックオーバーフローが起こる可能性がある。

など、一長一短があるようです。

マークコンパクトGCについてですが、
メリットはコピーGCと同じく、フラグメンテーションが発生しない。
ヒープ領域が有効活用できるなどがあるようです。

デメリット
コンパクションの処理にコストがかかる。(3回ヒープ領域をscanする)

デメリットを解消するために
Two-Fingerアルゴリズム、テーブルアルゴリズムがあります。
(Scan回数が2回で済む)

ImmixGCというのもあるそうですが、難解そうだったのとSoftbankのUstを見ていたので
今回はSkipしました。

個人的にはマークコンパクトGCは難しいイメージがありますね。

| | コメント (0) | トラックバック (0)

2010年3月25日 (木)

ガベージコレクションのアルゴリズムと実装を読む(3日目)

ガベージコレクションのアルゴリズムと実装を読み始めて3日目になりました。

今日は、分散して読んだのでちょっと記憶が飛んでいる部分がありますが、
今日のGCは「参照カウント法」でした。

オブジェクトにカウントフィールドを持たせて、被参照数をカウントしておく方法でした。
確かにカウント数が分かれば、ポインタをたどらなくてもカウンタが0になった瞬間に
FreeListに登録するだけで済みます。
(FreeListに登録されているものを回収すれば良い)

ただ、参照カウントを持つとメモリを食うという状況がでてしまうので、
(1オブジェクトに4バイト)
カウントの容量を押さえたSticky参照カウント法とか、1ビット参照カウント法なんてものも
あるようです。(カウントオーバーフロー時は無視するというのには、「仕様として割り切る」ってのも
大事だと再認識しました。)

最大の弱点が「循環参照を回収できない」という点があるみたいですが、
部分マークスイープ法と組み合わせて弱点を補う事ができるなど、
GCも奥が深いですね。

| | コメント (0) | トラックバック (0)

3月25日のトレーニング

今日は、昼から「LIAR GAME The Final Stage」を鑑賞して、
帰ってきて、かなり遅い昼食を取って、その後、行ったら
気合いを入れていたにもかかわらず、
吐き気と共に、力が入らなくなってしまったので、予定の半分で終了。

ヤバいと思ったら勇気を持って中断するのが良いようです。
(一応、45分はがんばった)

ボディパンプ(45分)

ちゃんと食べ物は食べよう!と思いました。

| | コメント (0) | トラックバック (0)

2010年3月24日 (水)

独自ドメインのサイトを公開しました。

Androidアプリケーションの紹介+事業の紹介とか、ブログとか(まだ、どうするか決めてない)を
公開するためのサイトを作りました。
http://www.ievolution.jp/

Androidアプリの開発者サイトはこちらにリンクを変えています。
(3/24時点ではまだ有料版のページは作っていません。これから順番にページを作ります)

とりあえず、ご報告まで。

| | コメント (0) | トラックバック (0)

3月24日のトレーニング

今日は、行くかどうか迷いながらも、やっぱり風呂代を浮かせるために
行ってしまいました。

ボディコンバット(45分)

明日、新曲発表会があるそうです。
元気があれば行ってみるかな。

| | コメント (0) | トラックバック (0)

ガベージコレクションのアルゴリズムと実装を読む(2日目)

ガベージコレクションのアルゴリズムと実装を読み始めて2日目になりました。

今日は、2章の「マークスイープGC」を読みました。

マークスイープGCは「マークフェイズ」と「スイープフェイズ」がある。

生きているオブジェクトに対してマークビットを立てる。
マークビットが立っていないオブジェクトをスイープフェイズで回収する。

分かりやすいアルゴリズムでした。疑似コードもマークして、スイープといった
ロジックになっていました。

メリット
実装が簡単(疑似コードから大体わかりました)
保守的GCと相性がいい
(オブジェクトの移動がないため。。だそうです。以降の保守的GCを読めば分かるはず)

デメリット
フラグメンテーションが発生しやすい
アロケーション速度の問題(FreeListをたどって行く必要がある。最悪、毎回最後まで)
コピーオンライトと相性が悪い(マークビットを立てるとコピーが頻発する)

で、デメリットを解消するために考えられた方法が
複数フリーリストを用意する
BiBOP法
ビットマップマーキング

ビットマップマーキングの例(リスト9)で私が詰まってしまったので、
筆者にTwitterで質問してみました。
詰まった内容:
2行目の
obj_num = (obj - $heap_start) / WORD_LENGTH

3行目の
index = obj_num / WORD_LENGTH
に具体的な数値を当てはめると、以降の配列のアクセスがおかしくならないか?

具体例)
obj_num = (3 * 32 - 1 * 32) / WORD_LENGTH(=32) = 2
index = 2 / WORD_LENGTH(=32) = 1/16

(実際、リストの次の段にobj_num = 8の例がありますが)

これは私のミスでした。C言語の整数の扱いのように小数を切り捨てるということを
しなければいけませんでした。
ということで、実際には

obj_num = (3 * 32 - 1 * 32) / WORD_LENGTH(=32) = 2
index = 2 / WORD_LENGTH(=32) = 0(切り捨てる)

となります。

これで、すっきりしました。(作者と簡単に連絡が取れるのは良いなぁ。)

| | コメント (0) | トラックバック (0)

2010年3月23日 (火)

3月22日のトレーニング

今週から新曲が発表されるようです。
しかし、休日の人の多さにはびっくりさせられます。

ボディパンプ(60分)

| | コメント (0) | トラックバック (0)

ガベージコレクションのアルゴリズムと実装を読む(1日目)

ガベージコレクションのアルゴリズムと実装という本を昨日購入しました。

ということで、早速今日から読み進めようと思います。

今日読んだのは序章と1章です。
内容としては、GCが行う事、GCがある場合とない場合の違い、
「なぜGCなのか?」という疑問に対する記述など、
GC本を読むにあたり、最初の導入部分が書かれていました。

GCを理解して行くと、メモリの使い方を意識するようになるようです。
(確かに、C言語でプログラムを書く時と、Javaで書く時とでは、意識の仕方が違う気がします。)

1章では、GCを学ぶ前に必要な内容が書かれていました。
オブジェクト、ポインタ、ミューテータ、ヒープ領域。。。

生きている/死んでいるオブジェクトの違いなど。

何となく、ミューテータがアロケータに指示して確保したメモリを
GCが先頭から見て行って死んでたらオブジェクトを解放するというのを
繰り返すのかな?という理解をしました。

と、今日は「そんな事よりGCは面白い」というのが印象に残りました。

| | コメント (0) | トラックバック (0)

2010年3月21日 (日)

第7回オープンラボ岡山+徳島オープンフォース勉強会に参加しました。

今日は、オープンラボ岡山+徳島オープンフォースのコラボレーション企画第1弾の
ustreamを使った、発表のコラボレーションを取り入れた勉強会に参加しました。

オープンラボ側の私以外のセッションの内容をほとんど聞いていなくて、
内容をお伝えする事ができませんが、最後の私のセッションで
Ubuntuのネットブックの画面がなかなかプロジェクタで表示できず、
(昔は解像度を変えなくてもうまく動いたのに。。。)

それに加えて、Try Wimaxでレンタルしたモバイルルータが、エリア内と表示
されていてもすぐに切れて、エリア外になる「怪現象」に陥るなど、
問題が山のように出て、30分ほど遅れてしまいました。

すぐにレンタルした電気屋に返しに行って、事実を話して、
機械の故障なのか、本当に電波状況が悪かったのかを切り分けれるなら
切り分けしてきたいと思います。
(今日の所は、同一機種で1ヶ月前に同じ場所で使用して快適な環境だったので
多分、機械の故障なんじゃないか?という結論になった。。ような気がする)

で、Go言語によるマルチスレッドプログラミングについては、
内容がほぼネタで、ポイントだけお話しする形を今回は取りましたが、
いかがだったでしょうか。
(懇親会では、楽しいとか良いご意見を頂いたので、またこれ以降も
色々試行錯誤してみようと思います)

徳島オープンフォースさんの方はLTを2人分放映して頂きました。
(苦戦した分、こちらの終了が来てしまいました。本当は4人でお願いしていました)
ZFSの話と、pukiwikiの広告対策について。
ustreamの映像が厳しい物がありましたが、設備が一気にそろうなんて
なかなかない中で、十分なクオリティで受信できていました。
(文字が見えなかったのは想定通り)

問題点は

ネットワーク回線(Wimax使えろよ!)
撮影するカメラ

この2点な気がしました。
ちなみに、マイクは岡山は私が頭に付けるSkype用のマイクで
徳島オープンフォースさんは多分、室内用のマイク(?)でやりました。
音は問題ありませんでした。

今回は回線とPCを貸してくれた@shiraishikさんと@kiyokuraさんに感謝!
それから、貴重な経験を提案してくれた徳島オープンフォースさんに感謝!!

| | コメント (0) | トラックバック (0)

2010年3月20日 (土)

徳島オープンフォース勉強会

明日のオープンラボとコラボレーションする
徳島オープンフォースさんの告知文を入手したので
掲載します。

オープンラボにはLT4本程度を放送して頂く予定です。

----------------------------------------------------------------- 2010年3月のオープンフォース勉強会は2回行います

明日、徳島でオープンフォース勉強会を行います。
今日の明日ですが、皆様奮ってご参加ください。
主催
* オープンフォース
共催
* 岡山オープンラボ 様
* オープンソース学び場とくしま / 四国大学 様
後援
* 南部製作所
日時
* 3月20日(土)
* 13:00頃~17:00頃
場所
* 開催場所 四国大学交流プラザ 4F 第二セミナー室
o http://www.shikoku-u.ac.jp/attached-plaza.html
o 徳島駅より徒歩5分
o 駐車場はありませんが、近辺の有料駐車場が利用できます
* 集合
o 10:00~17:00の間,四国大学交流プラザ正面玄関が解放されていますので,この時間帯は自由に建物へ出入り頂くことが可能です.
o 17:00以降は1F玄関が施錠されますので、終了時は参加者全員でまとまって退室することになります。
* 参加費
o 無料
プログラム
「稼働中のWebサービスリメイクに役立つリバースプロキシ」南部製作所 河野
「みんなで作るハザードマップと未来 ~いざというとき、あなたは情報難民?~」河野由佳
「OSSによる校務処理の効率化」徳島県立徳島科学技術高等学校 尾崎
「OSC出張勉強会報告と全国の学生コミュニュティとのこれから」オープンフォース 河野
自己紹介大会
岡山オープンラボ様とコラボ企画
o 「Go言語でGo!Go!(Goroutinesを使ってマルチスレッドプログラミング)」オープンラボ岡山 横山
o 徳島側LT
+ 「なんとなくZFS使ってみた」 オープンソース学び場とくしま/四国大学 戸川
+ 「pukiwikiでの広告対策」 オープンソース学び場とくしま nullx2
+ 「PS2サーバーの制作」 徳島県立徳島科学技術高等学校 尾崎
+ 「ヒドラスタイルを超えて」 オープンフォース 河野
懇親会
* 徳島駅近辺
* 17:30頃~
* 社会人 \4,000- 学生 \3,000-
お子様連れについて
参加の形態はかなり自由がききます。育児中、授乳中でセミナーなどに参加しにくいお母様などもこの機会にぜひお来しください。


参加申し込み、および詳細について
http://openforce.project2108.com/index.php?%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%83%95%E3%82%A9%E3%83%BC%E3%82%B9%E3%80%80%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%8B%89%E5%BC%B7%E4%BC%9A%20%E5%BE%B3%E5%B3%B6201003
できれば上記ページで登録をしてください。(飛び入りでも結構です)

| | コメント (0) | トラックバック (0)

2010年3月19日 (金)

第7回オープンラボ岡山

明日ですが、オープンラボ岡山が開催されます。

今回は徳島オープンフォースさんとのコラボレーション(テスト)を実現させようと
がんばってみます。徳島の方は私のGo言語の発表が見れる。。。かもしれません!

ご参加ください。

               オープンラボ岡山  オープンラボ岡山とは、岡山周辺の技術者のための勉強会プラットフォームとして、  勉強会や読書会の場を提供するための組織です。勉強会や読書会を開催したい方、  参加したい方が簡単に集まることの出来る場にしたいと考えています。運営委員は  全員ボランティアで、それぞれが勉強会や読書会の主催者でもあります。興味のあ  る方は是非とも一緒にやりましょう。

 ■名称: 第7回 オープンラボ岡山

 ■参加申し込み方法
 http://atnd.org/events/3441

 ■参加費: 500円

 ■開催日時:
 2010年3月20日(土曜日) 13:00〜18:00

 ■開催場所:

 きらめきプラザ(2階の「ゆうあいセンター」研修室1)
 http://www.kirameki-plz.com/gaiyou.html

 ■主催:
 オープンラボ岡山 実行委員会

 ■共催:
 岡山Javaユーザ会( http://java.okaya.ma/ )
 瀬戸内Linuxユーザ会( http://www.stlug.org/ )
 LinuxKernelHackJAPAN( http://hira-consulting.com/wiki )
 オープンセミナー@岡山実行委員会( http://openseminar.okaya.ma/ )
 日本PostgreSQLユーザ会 中国支部( http://www.postgresql.jp/ )
 
 ■懇親会:
 居酒屋土間土間
 http://www.e-map.ne.jp/pc/index.htm?cid=domadoma&kid=0186102

----------------------------------------------------------------------

【タイトル】自己紹介タイム
【発表時間】20分


【タイトル】マルチプロセッサはどのように動くのか?
【発表者名】ひら
【発表時間】30分
【概要】
  キャッシュコヒーレンシプロトコルMESIについて。

【タイトル】Silverlightを使ってみよう
【発表者名】きよくらさん
【発表時間】50分
【概要】
   Silverlightについて、
  『どんなモノで/どんなことが出来て/どうやって作るのか』を
   ざっくりとお伝えできればと思います。


【タイトル】まず解(かい)よりはじめよ
【発表者名】やまもとさん
【発表時間】30分
【概要】
  問題解決に対する考え方について、話してみようかと思います。


【タイトル】Go言語でGo!Go!(Goroutinesを使ってマルチスレッドプログラミング)
      オープンフォースLT大会(徳島と中継)
【発表者名】よこやまさん
【発表時間】20分〜30分
【概要】
Go言語でマルチスレッドを簡単に実現できるGoroutinesを使った
プログラムを紹介します。
また、徳島のオープンフォース勉強会のLT大会の様子を中継します。

| | コメント (0) | トラックバック (0)

3月19日のトレーニング

昨日体調を崩してしまって、アクエリアスだけで1日過ごしたら
体重が1kgほど落ちてました。。
ちょっとヤバいかも?

ボディパンプ(60分)

| | コメント (0) | トラックバック (0)

2010年3月16日 (火)

3月15日のトレーニング

久しぶりの有酸素運動をしてきたら、シャツが重たくなっていました。
汗で。。

水はしっかり飲んだ方が良いなと改めて実感しました。

ボディコンバット(60分)

| | コメント (0) | トラックバック (0)

2010年3月15日 (月)

3月14日のトレーニング

久しぶりに60分のボディパンプをしてきました。

すると消費カロリーの数値を間違えて記憶している事に気がつきました。
(HealthManager Free、Androidで健康管理 Proのマスタも修正がいるかも)

| | コメント (0) | トラックバック (0)

2010年3月14日 (日)

オープンソースカンファレンス2010@Kobeに行ってきました。

昨日、オープンソースカンファレンス2010@Kobeに行ってきました。

devfestとかXperia実機確認とかで飛び回って疲労がありましたが、
STLUGのブースの店番とオープンセミナーの講師の方に挨拶などを
するために行ってきました。

朝から行ったら誰もいなくて、(前日入りメンバーもいなかった。。)
準備を始め、ドロン君の展示も到着してなくて、仕方なく、私のAndroidアプリ+
Liveコーディング(20分ぐらいで作成)した結果を展示したりして
時間を稼いでいました。

結構Androidに反応があって、質問も受け付けたり、次回以降のOSCで
ブース出すときはAndroidとかGo言語とかを展示した方が良いかもしれないと
思いました。(ただ、GTUG京都さんもブースがあったのでどうなんだろうと思いましたが)
ドロン君到着までの時間稼ぎには十分に足りたと思います。

その後、少しだけオープンセミナーの講師(のがたさん、rackさん)とか
オープンフォースさんと話ができたぐらいで、ほとんど他のコミュニティの
内容は見れず。。
(ブースを空にするわけにもいかないので、残っていた)

最後のLT大会の前に雰囲気の違うキャラクターが前で歌っていました。
「ソースコードの3R」ネタは面白かった。誰が仕込んだんだろうか。
20100313_170406_2

で、最終的には500人の来場者数をだして、神戸も人はたくさんいるなと
思いました。(OSC香川開催の時にもかなりの来場者が期待できそうな気がします。)

懇親会では、先日のdevfestで会場を準備されていたGTUG京都の方とコミュニケーションを
取ったり、ウィキメディアの方と話ができたり、良い時間になりました。

オープンセミナー@岡山実行委員長と書かれた名刺もあと13枚。
5月まで残っているだろうか(笑

| | コメント (0) | トラックバック (0)

2010年3月13日 (土)

サポセン前の問診票 Pro Ver1.0.0をリリースしました。

2本目の有料アプリ「サポセン前の問診票 Pro」をリリースしました。

無料版との違いは、アイコン、
基本情報表示(Sim情報、電話番号、ソフトウェアバージョンなどを表示)が
増えています。

(Sim情報が出てしまうのでキャプチャは貼れませんが。。)

良ければお使い下さい。

| | コメント (0) | トラックバック (0)

2010年3月12日 (金)

DevFest2010Japanに参加してきました。

今日はDevFest2010Japanに参加してきました。

今回は東京会場(メイン会場)と京都会場(サテライト会場)にて開催されました。
私は、点数が低かったのですが、何とか京都会場(サテライト会場)に参加できることに
なりました。

会場は京都リサーチパークでした。

新幹線で朝7:49発のぞみ2号でいきました。

いい感じの時間で会場に到着して、
早速、@stachibanaさん、@luck_of_wiseさん、@Toro_kunさんと合流。
(ある意味、中四国でのAndroid最強メンバーがそろった感じ)

最初の基調講演から英語。。。英会話とか勉強したくなりました。
(外国の方に講演して頂くのは反対ではないです。)

で、気がついたら、会場での飲食禁止ということで、結構つらかったです。
(水分ぐらいは摂らせて欲しかった。)

Androidの発表が2個続いて、(easing関係は試してみようと思った)昼食。
4人で京都ラーメンを食べました。
今回は余計な雑音もなく、しっかり話ができていい刺激になりました。

そして、Golangの講演。
やっぱり私の発表よりもしっかりしていて(当然なんですけどね。)
岡山でDevfest参加者が私の発表(3/20 オープンラボ、4/24かいらぼ)を聞いた時は
物足りなさがあるかもしれないですね。
(ただ、違う視点でお話するつもりでいますが。)

そして、DevFestが終わった後、懇親会+KRPさんのサーバルームを見せて頂いた。
建物も全体的に見通した感じではきれいだし、なんか女性が多いし
(GTUG京都メンバーの興奮がすごかったw)
すごく良い場所だと思います。(駐車場にはポルシェとかベンツが止まってて
成功されてる企業さんも多いみたいだし)

で、時間が20時をすぎた頃にそろそろ帰ることにしました。
が、@stachibanaさんと、@Toro_kunさんと3人で銭湯にいくことになり、
時間が少しあったので私も参加。

良い湯でした。おかげで新幹線の中で寝そうになってしまいましたが、
何とか、耐えました。

明日からまたがんばろうと思います。(有料版Androidアプリ作成に)

| | コメント (0) | トラックバック (0)

2010年3月10日 (水)

Androidで健康管理 Pro Ver1.0.0をリリースしました!

初の有料版をリリースしました。

タイトルは、「Androidで健康管理 Pro」です。
無料版はHealthManager Free Ver.0.8.0です。

違いは、広告がない事。アイコンが赤いこと。国際化対応済み
(日本語以外ではHealthManager Pro for Androidと表示されます)

国際化対応については、無料版にも適用しようと思います。
基本的には先に有料版に機能を追加して無料版に展開しようと
思っていますが、無料版をどんどんUpdate(バグが含まれる可能性を高く)して
安定リリースを有料版というのも良いなと思っています。

このツールは日々の自分の身体データ、 運動データを登録し、その変化を観察するために 使います。

これで、自分の状態を把握する事ができるので
体調管理が簡単にできるようになります。

ダイエットに使うもよし!

運動自慢に使うもよし!

利用してくれる方の体調の変化に気づくのに
使ってもらえれば幸いです。

| | コメント (0) | トラックバック (0)

3月10日のトレーニング

今日は数日ぶりにスポーツクラブに行ってきました。
やっぱりでかい風呂は良いですね。

ボディパンプ(45分)

| | コメント (0) | トラックバック (0)

2010年3月 7日 (日)

サポセン前の問診票Ver.0.1.0を公開しました。

ハッカソンでの成果物である、「サポセン前の問診票」Ver.0.1.0を公開しました。

ソースコードの公開もお願いされているので、そのうちどこかに置きたいと思います。
当然、私の構想はまだ足りていなくて、やるかどうかは別にして、
タッチテスト(画面タッチを確認する)
音源テスト(音が出るかどうかを確認する)
カメラテスト(カメラの動作確認)
HT-03Aにはない各センサーのテスト(光センサーとか?)

など、まだ完成とは思っていません。

この時点でリファクタリング+調整した後、ソースコードを公開し、
足りない部分を付け加えて、有料化…かな?
なんて考えていたりします。

このアプリケーションは、 Androidデバイスが壊れたかな?と 思って、サポートセンターに電話をする前に、起動し、 デバイスの各センサーが正常に 動作しているかどうかを判定する ために利用します。

このアプリケーションでセンサーが機能していれば、
何か値が表示されるでしょう。

動かしてみて、デバイスが異常なのか、動作しているアプリケーションの異常なのか、
原因の切り分けを行うために
利用してみてください。

※ただし、デバイスが正常だと保証するものではありません。ご了承ください。

これは、2010/03/07 第3回日本Androidの会岡山支部ハッカソンにて
作成されました。

横山製作所 with @kotanin


| | コメント (0) | トラックバック (0)

Androidハッカソン@岡山に参加しました。

昨日のXperiaカタログ懇親会からトンボ帰りして、
朝からハッカソンに参加してきました。

今回は作品を作るという事で、取り扱い説明書に記載されている
「壊れたかな?と思った時には」みたいな所を読んで、サポートセンターに
問い合わせる前に、本当に壊れているのかどうかをテストするアプリケーションを
作ることにしました。

メンバーは私と@kotaninさんの2人で作成し始め、
私は加速度センサーと温度センサーテスト、デバイス一覧表示機能を作成し、
@kotaninさんに方位センサーと磁場センサーテストを作成してもらいました。

ソース管理にGitを用いたのですが、最後の最後でgit pushがエラーになる現象が
発生して、結局、USBメモリでのコピーと片方でpushした内容をgit pullして
ソースをマージしました。

で、懇親会で色々話した後、久しぶりにボーリングに英吉さんといきました。
ええ、負けました。毎日体を鍛えていたのに負けるとは。。
次は勝ちます!

| | コメント (0) | トラックバック (0)

スロット応援団Ver0.1.0をリリースしました。

スロット応援団もやっぱり岡山–品川間の移動の間に作り込みました。

増やしたのは
・BIG、REG回数の表示、カウント、確率表示機能
・投入金額の表示、カウント機能

これで一旦はすべての表示がそろったと思っていますが、
画面に入りきらない状態になってきたので、
これもメンテナンスフェーズに入れようと思います。

| | コメント (0) | トラックバック (0)

健康日記2Ver0.5.0をリリースしました。

岡山–品川間の往復の間に機能を追加しましたので、リリースしました。

アンドロイダーさんからの要望で、データメンテナンス機能を入れました。

使い方、メニューボタン押下→メンテナンスを選択。
1.起動したActivityからリストを選択する。
2.更新、削除ボタンを押すとデータが書き変わるorデータが消えます。

こんな感じです。

健康日記2も一旦メンテナンスフェーズに入ろうと思います。
リファクタリングが必要なので。。。

| | コメント (0) | トラックバック (0)

2010年3月 6日 (土)

HealthManager Free Ver.0.8.0をリリースしました。

HealthManager Free Ver.0.8.0をリリースしました。

前回までは、運動マスタデータ編集機能がなかったのですが、
今回マスタデータ編集機能を追加しました。

これにより、基本機能がだいたいそろったと思っているので、
初のVer1.0.0リリースに向けてのRC版と位置づけたいと思います。

Ver.1.0.0まではレイアウト調整と、コードのリファクタリングなどを
施して安定性の向上をはかろうと思っています。

以前にブログに書いた通り、グラフ表示とか身体データ、
運動データの日ごとの表示なども加える予定ですので、しばらくお待ち下さい。

| | コメント (0) | トラックバック (0)

2010年3月 5日 (金)

第2回すくすくスクラム瀬戸内勉強会

第2回すくすくスクラム瀬戸内勉強会の告知です。

(裏番組で私が講師をするかいらぼ勉強会があるので、参加できませんが。。。)

早めの告知をしておきますね。

第2回すくすくスクラム瀬戸内~身体でおぼえるスクラム~ http://kokucheese.com/event/index/1734/

今回は土曜日開催ということにして、1日コースで主に初心者向けにスクラム
の基礎をみっちりやるという企画です。もちろん、講義形式だけではなく、プ
ロジェクトの疑似体験を含む各種ワークショップを組み込んで、まさに「身体
でおぼえる」勉強会になるよう、企画を進めています。

基礎コースですので、既にスクラムを実践しておられるみなさんには物足りな
い内容かもしれませんが、瀬戸内地域では(おそらく京阪神でも)スクラムを
テーマとしてなかなかこれだけ充実したイベントはないと思います。10:00~
16:45(懇親会を入れても19:00終了)ということで、岡山・広島近郊だけでな
く、京阪神や四国からも十分日帰り可能かと思いますので、ご興味のある方は
奮ってご参加ください。


| | コメント (0) | トラックバック (0)

2010年3月 4日 (木)

3月4日のトレーニング

3月4日のトレーニング

ボディパンプ(45分)

土日は行けないから、明日もがんばっておくべきかどうか迷うな。
でも、土日の準備もしないと。。。

| | コメント (0) | トラックバック (0)

HealthManager Free Ver0.2.0をリリースしました。

HealthManager Free Ver0.2.0をリリースしました。

今回追加の機能は、
・運動データ登録
・運動データ選択機能
・運動データ初期表示
・アイコン

これでとりあえず、身体データと運動データが両方とも登録できるようになりました。
Healthmanager1

Healthmanager2

次は運動データマスタ設定と、今の所登録データをすべて表示するようにしているので
それを最新日のみ表示と明細表示機能を追加しようと思います。


| | コメント (0) | トラックバック (0)

3月3日のトレーニング

昨日はHealthManager Freeのデータ取りができました。
何となく良かった。

ボディコンバット(45分) 400.8kcal

何となく、60分が573.6で、45分が400.8な気がしてきた。

HealthManagerのマスタにも適当に追加しておきます。

| | コメント (0) | トラックバック (0)

2010年3月 2日 (火)

DevFest2010のQuizに合格しました!

先日、DevFest2010 Japan
応募したのですが、参加するためのQuizが出題されました。

で、以下の通知がありましたので、なんとか合格できたようです。

このたびは、DevFest 2010 Japan にご応募いただきまして、まことにありがとうございます。

クイズの解答を厳正に審査した結果、見事、参加の基準点をクリアされました。おめでとうございます。

後日、参加証をご登録いただいたメールアドレス宛に送付いたしますので、今しばらくお待ちください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
配点詳細

ウォーミングアップ : 0.0 点
HTTP ステータスコード : 2.0 点
Google Code Discussion Group : 3.0 点
暗号通信 : 0.0 点
パッチワーク : 0.0 点
Issue Tracker : 0.0 点
Hackathon : 0.0 点
Android アプリケーション : 1.0 点
Chrome Extensions : 0.0 点
漢字変換サーバ : 7.0 点


合計 : 13.0 点

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
会場で皆様にお会いできることを楽しみにしております。

そこで、私が回答したのはAndroidアプリケーションと漢字変換サーバなのですが、
結構苦労しまして、暗号通信とパッチワークの問題に着手できませんでした。
(ちなみに、Androidアプリケーションは健康日記2を提出。)

作戦は、とりあえず、最大の16桁に埋めて4桁ずつ処理して、0を消去、
兆、億、万を付加。
という作戦で攻めてみました。苦労したのは0100010001000100みたいな数字の
パターンを思いつくまでに時間がかかったことでしょうか。。

久しぶりにソースコードを貼ります。

package jp.iEvolution.DevQuizCharConv;

import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;

import javax.servlet.http.*;

@SuppressWarnings("serial")
public class DevQuizCharConvServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
// パラメータ取得
String strN = req.getParameter("n");
String strResult = "";
String strErr = "";
boolean bErr = false;

try
{
BigDecimal dec = null;

try
{
dec = new BigDecimal(strN);
} catch(Exception e) {
// 変換エラーの場合は、数値以外の文字列を除去して変換
String strReplace = strN.replaceAll("[^0-9]", "");
dec = new BigDecimal(strReplace);
}

String strWork = "0000000000000000" + dec.toString();
strWork = strWork.substring(strWork.length() - 16, strWork.length());

if(dec.signum() > 0)
{
String[] strSubValues = new String[4];
for(int i = 0; i < strSubValues.length; i++)
{
strSubValues[i] = "";
}
// 文字列部品生成
for(int i = 0; i < strWork.length(); i++)
{
int iColumn = (int)Math.floor((double)i / 4);

strSubValues[iColumn] = strSubValues[iColumn] + strWork.substring(i, i + 1);
}

// 各部品の編集
String[] strEdit = new String[4];
for(int i = 0; i < strSubValues.length;i++)
{
strEdit[i] = "";
for(int j = strSubValues[i].length(); j > 0;j--)
{
String strChar = strSubValues[i].substring(j - 1, j);
String strSelect = "";
if(strChar.equals("0")) {
strSelect = "Y";
} else if(strChar.equals("1")) {
if(j != 4)
{
strSelect = "";
} else {
strSelect = "J";
}
} else if(strChar.equals("2")) {
strSelect = "Q";
} else if(strChar.equals("3")) {
strSelect = "G";
} else if(strChar.equals("4")) {
strSelect = "D";
} else if(strChar.equals("5")) {
strSelect = "R";
} else if(strChar.equals("6")) {
strSelect = "F";
} else if(strChar.equals("7")) {
strSelect = "P";
} else if(strChar.equals("8")) {
strSelect = "N";
} else if(strChar.equals("9")) {
strSelect = "B";
}

if(j == 1) {
// 千
if(!strChar.equals("0"))
{
strEdit[i] = "A" + strEdit[i];
}
} else if(j == 2) {
// 百
if(!strChar.equals("0"))
{
strEdit[i] = "U" + strEdit[i];
}
} else if(j== 3) {
// 十
if(!strChar.equals("0"))
{
strEdit[i] = "E" + strEdit[i];
}
}
strEdit[i] = strSelect + strEdit[i];
}
strEdit[i] = strEdit[i].replace("YYYY", "");
strEdit[i] = strEdit[i].replace("YYY", "");
strEdit[i] = strEdit[i].replace("YY", "");
strEdit[i] = strEdit[i].replace("EY", "E");
strEdit[i] = strEdit[i].replace("JE", "E");
strEdit[i] = strEdit[i].replace("UY", "U");
strEdit[i] = strEdit[i].replace("YU", "U");
strEdit[i] = strEdit[i].replace("JU", "U");
strEdit[i] = strEdit[i].replace("AY", "A");
strEdit[i] = strEdit[i].replaceAll("^Y+", "");
}

// 各部品の連結
for(int i = strEdit.length - 1; i >= 0 ;i--)
{
if(strEdit[i].length() > 0)
{
switch(i)
{
case 0:
strResult = strEdit[i] + "K" + strResult;
strResult = strResult.replace("YK", "K");
break;
case 1:
strResult = strEdit[i] + "Z" + strResult;
strResult = strResult.replace("YZ", "Z");
break;
case 2:
strResult = strEdit[i] + "S" + strResult;
strResult = strResult.replace("YS", "S");
break;
default:
strResult = strEdit[i] + strResult;
break;
}
}
}
} else if(dec.signum() == 0) {
strResult = "Y";
} else {
bErr = true;
strErr = "マイナスは変換できません。";
}
} catch(Exception e) {
strErr = e.getMessage();
bErr = true;
}

resp.setContentType("text/plain");
PrintWriter out = resp.getWriter();

if(bErr)
{
out.println("Error:" + strErr);
} else {
out.println(strResult);
}
}
}

| | コメント (0) | トラックバック (0)

3月1日のトレーニング

最近、頻繁に行ったので重さに慣れてきたようです。

1曲目:5kg(片方の重さ。実際は2倍)
2曲目:11kg
3曲目:6kg
4曲目:6kg
(45分では、腕の後側(5曲目)と腕の前側(6曲目)は無い)
7曲目:5kg
8曲目:5kg(バー) + 2.5kg(プレート)
9曲目:腹筋
10曲目;クールダウン

なんかすごそうに見えてきたけど、上には上がいますね。
(今日は2曲目でかなり腰に負担がかかった気がした。姿勢に気をつけよう)

ボディパンプ(45分) 400.8kcal

| | コメント (0) | トラックバック (0)

HealthManager Free Ver0.1.0をリリースしました。

3作目のアプリ(β版)を公開しました。

今回は健康日記と対になるアプリケーションとなります。
健康日記は食べた物を記録(摂取カロリー)でしたが、
HealthManagerは運動内容+身体データを記録(消費カロリー)となります。

今回はHealthManagerと英語のタイトルにしていますが、
一応、「全世界向け」ということで公開しています。

また、Freeとついているので無料版になりますが、一通り実装したら
Proも作成します。(これは有料版として公開します)

が、説明はすべて日本語なのでそのうち「国際化」という物を勉強するのも
兼ねて英語のタイトルにしてみました。
(というか、タイトルで良いのが思いつかなかった!)

現状は身体データしか登録できませんが、
これから、(今は時間がたくさんあるので)運動データ登録、運動マスタ設定機能
グラフ表示(Google Chart APIを使おうかなと思っています。)ぐらいまで
機能を追加していく予定です。

ただ、Go言語の発表があるのでそちらにどこかで切り替わるかもしれませんが。。

というか、3月7日のアイデアもそろそろ確定させないと。。。
(どれも有料版をリリースするためのアイデアだが、、、
ハッカソンで作った物を有料で公開したら怒られるかな(笑))

このツールは日々の自分の身体データ、 運動データを登録し、その変化を観察するために 使います。

これで、自分の状態を把握する事ができるので
体調管理が簡単にできるようになります。

ダイエットに使うもよし!

運動自慢に使うもよし!

利用してくれる方の体調の変化に気づくのに
使ってもらえれば幸いです。

Ver0.1.0ではまだ運動データ登録はできません。(機能しません)
もう少しお待ちください。

| | コメント (0) | トラックバック (0)

« 2010年2月 | トップページ | 2010年4月 »