9月22日、23日のトレーニング
22日 ボディコンバット(45分)
23日 ボディパンプ(60分)
23日のボディパンプで背中が痛いです。。だいぶ効いてる予感。
| 固定リンク
| コメント (0)
| トラックバック (0)
22日 ボディコンバット(45分)
23日 ボディパンプ(60分)
23日のボディパンプで背中が痛いです。。だいぶ効いてる予感。
| 固定リンク
| コメント (0)
| トラックバック (0)
ボディパンプ(45分)
そういえば、今日はお金を使わない1日だったと
気がつきました。
まあ、あまり良い節約の仕方ではなさそうですが。。
| 固定リンク
| コメント (0)
| トラックバック (0)
MacのJDKはなぜか、64bitでの動作をするようなので、
JDKのコマンドオプションで32bitで動作させるようにする必要がある。
以下の手順で32bitでの動作をしてくれる。
1.Eclipse→環境設定→Java→インストール済みのJRE
2.追加ボタンを押す。
3.インストール済みJREの型でMacOS X VMを選択
(標準VMを選択するとエラーになる。(サポートしてないらしい))
4.JREホームで以下を選択
5./System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
6.JRE名は分かりやすい名前を設定
7.デフォルトVM引数に-d32を指定
8.完了ボタンを押し、32bit版のJREを選択する。
9.build.xml→アウトラインでgen-controller[デフォルト]を右クリック
→Antを選択すると
コントローラが生成される。
(パスを入力するウインドウが出てそこにパスを入力する必要がある)
| 固定リンク
| コメント (0)
| トラックバック (1)
ずっと、Slim3本を読んで、Low Level APIを使った、データストアの
挙動を試していたのですが、一区切り付いた所で、
試しにチュートリアルでプログラムを動かして見ました。
(ユニットテスト上で動かすのではなく、見える形で動かすという意味で)
ただ、Slim3自体が32bitしか対応していないらしく、MacのJDKでは
エラーが出てしまいました。
別途、設定方法は書こうと思っていますので、もう少しお待ち下さい。
それを除いてもかなり使いやすいような気がしました。
Antで自動生成させるだけですし。(コントローラ、モデル、ビュー)
後は、使い方に慣れていこうと思います。
| 固定リンク
| コメント (1)
| トラックバック (0)
昨日、オープンラボ岡山に参加した後、
学生時代にバイトをしていた仲間のつながりの同窓会に行ってきました。
ちょっと遅刻してしまいましたが、
到着すると、現役時代と変わらないテンションで、
(姿は痩せたり、太ったり、、変わらなかったり)
圧倒されてしまいました。
みんな元気で、パワーが漲ってました。
(30前後なのに梅酒ロック一気とかしてるし^^;)
逆に一人だけテンションが上がらない自分がいたような気がしました。
メンバーの大半が結婚して、子供も生まれて、それぞれが
いろいろな苦労をしていたようです。
昔のああいう連中を見てたら少し元気になりました。
私は電話は用事がないとしないのですが、
もう少し用事がなくても電話しようと思いました。
| 固定リンク
| コメント (0)
| トラックバック (0)
第12回オープンラボ岡山が開催されます。
今回はCPUのチューニングに関する話がメインとなります。
オープンラボ岡山 オープンラボ岡山とは、岡山周辺の技術者のための勉強会プラットフォームとして、 勉強会や読書会の場を提供するための組織です。勉強会や読書会を開催したい方、 参加したい方が簡単に集まることの出来る場にしたいと考えています。運営委員は 全員ボランティアで、それぞれが勉強会や読書会の主催者でもあります。興味のあ る方は是非とも一緒にやりましょう。 ■名称: 第12回 オープンラボ岡山 ■参加申し込み方法 勉強会: http://atnd.org/events/7589 懇親会: http://atnd.org/events/7590 ■参加費: 無料 ■開催日時: 2010年9月11日(土曜日) 13:00~17:00 ■開催場所: 岡山市デジタルミュージアム4F講義室 http://www.city.okayama.jp/okayama-city-museum/riyou/riyou_sisetu.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/ ) ■懇親会(任意): 居酒屋土間土間 4000円程度を予定 http://www.e-map.ne.jp/pc/index.htm?cid=domadoma&kid=0186102 ---------------------------------------------------------------------- 【あいさつ】芝さん(岡山県立大学) 【セッション1】FreeBSDは何故演習室に採用されなかったか -Debianとの比較- 【発表者】荒井剛さん(岡山県立大学) 【セッション2】アルゴリズムとデータ構造とハードウエア - ハードウエアを意識しよう - 【発表時間】1時間 【セッション3】アルゴリズムとデータ構造とハードウエア - 実践編 - 【発表時間】1時間 【発表者】 ・堀江啓一さん(株式会社フィックスターズ) 大学では情報科学を、大学院は数学を研究。就職後は物理シミュレーション の研究/開発に携わる。フィックスターズに転職し、ハードウエアアーキテク チャを活かしたプログラム開発とマネージメントを行っている。 【概要】 近年、CPUの性能の伸びは著しいが、さらにCELLやGPGPUなど高速演算専用の ハードウエアが登場している。これらの能力を最大限に活かすプログラミン グをアルゴリズムとデータ構造という観点を交えて発表する。 【セッション4】『IT業界を生き抜くための「つまみぐい勉強法」』の著者2名による講演(仮) 【発表時間】1時間 【書籍URL】 http://gihyo.jp/book/2010/978-4-7741-4259-3 http://www.amazon.co.jp/dp/477414259X 【発表者】 ・奥乃美さん(nomico) IT系企業に勤めて仕事にアップアップの日々に,藁をも掴む気持ちで始めたGTDに味を しめ,その後突っ走って過ぎること早数年。研鑽内容についてはブログのworks4Life にて展開中。現在は,GTDの理解を日本で深めるためにmixiでGTD勉強会も開催中。 ブログ:http://works4life.jp GTD勉強会:http://mixi.jp/view_community.pl?id=3013597 ・渋川よしきさん(しぶかわよしき) 社内SE。ソフトウェアを中心に,ライフハック,インラインスケートなど,様々なコミ ュニティの運営に関わってきた。日本XPユーザグループには設立準備の時から。現在メ インのコミュニティはとちぎRubyとPython温泉(系)で,ドキュメントツールのSphinxの コミュニティの設立準備中。趣味は技術文書の翻訳とLT。 Twitter:@shibukawa ブログ:http://blog.shibu.jp
| 固定リンク
| コメント (0)
| トラックバック (0)
今日はAppWidgetの利用方法について整理しておきたいと思います。
まずは、AndroidManifest.xml。
<receiver android:name="ImageWidget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/imagewidgetprovider">
</meta-data>
</receiver>
<activity android:name="ImageConfiguration" android:icon="@drawable/icon" android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"></action>
</intent-filter>
</activity>
次に、res/xmlディレクトリにappwidget-providerのxmlを作成する。
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="146dp"
android:minHeight="146dp"
android:initialLayout="@layout/widget"
android:configure="jp.ievolution.remoteviewsample2.ImageConfiguration"
>
</appwidget-provider>
android:configureは設定画面が必要であれば追加しておく。
更新タイミングはandroid:updatePeriodMillisで設定可能。
次に設定画面Activityを実装。このサンプルは設定画面で更新間隔を
設定してwidgetを更新させる(つもり)。
package jp.ievolution.remoteviewsample2;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class ImageConfiguration extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
Log.d("remoteviewsample2", "ImageConfiguration start");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText txt = (EditText)findViewById(R.id.txtTime);
txt.setText("0");
Button btn = (Button)findViewById(R.id.btnSet);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText txt = (EditText)findViewById(R.id.txtTime);
int updateRateSeconds = Integer.parseInt(txt.getText().toString());
int appWidgetId = getIntent().getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
Intent intent = new Intent();
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
intent.setData(Uri.parse("imagewidget://update/" + appWidgetId));
PendingIntent newPending = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0);
AlarmManager alarm = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), updateRateSeconds * 1000, newPending);
Log.d("remoteviewsample2", "alarm set: " + updateRateSeconds + "seconds");
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
finish();
}
});
}
}
そして、AppWidgetProvider#onUpdateで2枚の画像を切り替える(つもり)。
package jp.ievolution.remoteviewsample2;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.util.Log;
import android.widget.RemoteViews;
public class ImageWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager manager, int[] appWidgetIds) {
Log.d("remoteviewsample2", "onUpdate start");
SharedPreferences preference = context.getSharedPreferences("imagewidget", Context.MODE_PRIVATE);
boolean bCheck = preference.getBoolean("check", false);
SharedPreferences.Editor edit = context.getSharedPreferences("imagewidget", Context.MODE_PRIVATE).edit();
edit.putBoolean("check", bCheck);
edit.commit();
for(int appWidgetId : appWidgetIds) {
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.widget);
remoteView.setImageViewResource(R.id.image, (bCheck) ? R.drawable.image : R.drawable.no_image);
manager.updateAppWidget(appWidgetId, remoteView);
}
Log.d("remoteviewsample2", "onUpdate end");
}
@Override
public void onReceive(Context context, Intent intent) {
Log.d("remoteviewsample2", "onReceive start");
super.onReceive(context, intent);
Log.d("remoteviewsample2", "onReceive end");
}
}
と、こんな感じで、画像は表示できたんだけど、AlarmManagerがうまく動作していないようで、画像が切り替わる様子を見る事はできなかった。
何が悪いのかよく分からないけれども、とりあえずメモ。
(継続して調査しないとわからんですね)
| 固定リンク
| コメント (0)
| トラックバック (0)