東京都議選について簡単な分析を行ったのでここで紹介しておきたい。 自公圧勝の背景 都議選についての個人的な注目点は、現在の安倍自民党の世論調査に見られる数値上の「好調さ」がどの程度選挙結果に反映されるかである。2012年衆院選では、自民党は議席数では大勝を収めたものの、得票数などのデータは大敗を喫した2009年に比較しても悪化していた。有権者のうち比例区で自民党に投票した割合(絶対得票率)は17%以下であった。その後、株価の上昇等に代表される景気の気の部分の向上もあり、安倍内閣と自民党の支持率は高く推移している。 しかし、世論調査結果と選挙結果は単純にリンクするものではない。また内閣支持率は、政党支持が流動化している現在では乱高下しやすい状況にある(『「政治主導」の教訓』所収の拙稿参照)。世論調査だけでなく、実際の選挙結果でも、安倍自民党の支持が着実に浸透しているのかどうか、2012年
ということで、「ARMで学ぶアセンブリ言語入門」が6月22日に発売になります。 一言で内容を表すと「C言語で組み込み開発している人向けのARMアセンブリ言語入門」。言い方を変えると「バリバリとアセンブリコードが書ければ言うことないけど、C言語でコードを書いてたとしても、アセンブリ言語がどんなモノで、どんな風に成り立っているのか知っておこうよ。後できっと役に立つよ」。 内容としては、ARMアーキテクチャの話から、アセンブリ言語特有の考え方(レジスタ、命令など)、命令解説、C言語との連携、例外・割り込みの解説など、アセンブリ言語を扱うのに必要なところを一通り、といった感じで。 サンプルコードは特定ハードウェア(評価ボード)に依存せず、QEMU(ARMプロセッサをエミュレートするソフトウェア)上で動作することが前提となっている。よくあるパターンで、ARMプロセッサの解説本だと何かしらのARMプロ
public class MyClassA { MyClassB mMyClassB; public MyClassA(MyClassB b) { mMyClassB = b; } public void hoge() { if (mMyClassB.getPriority() > 0) { handleHighPriority(); } else { handleLowPriority(); } } public void handleHighPriority() { ... } public void handleLowPriority() { ... } } public class MyClassB { private int mPriority; public int getPriority() { return mPriority; } // 内部の処理で mPriority
mockito を使ったテストでの java.lang.NoClassDefFoundError: org.mockito.Mockito を修正する mockito を使ったテストプロジェクトでは、bin/dexedLibs フォルダに mockito や dexmacker の jar ができている必要があります。 「Android で mockito を使う : 準備編」 の手順では、libs フォルダに mockito や dexmaker の jar をコピーすると、次のテスト実行に bin/dexedLibs フォルダに mockito や dexmacker の jar ができます。 git リポジトリに Android プロジェクトを入れる場合、bin フォルダは入れないようにするでしょうから、git clone しただけだと次のテスト実行に bin/dexedLibs フ
JSON をパースして、リスナーの対応するメソッドを呼び出すユーティリティメソッドがあるとします。 public class Utils { public interface ResultListener { void onError(); void onHoge1(); void onHoge2(); } public static void handleJson(String json, ResultListener listener) { if (listener == null) { return; } try { JSONObject obj = new JSONObject(json); String status = obj.optString("Status"); if (status.equals("hoge1")) { listener.onHoge1(); } els
Java5 からボクシングとアンボクシングが自動で処理されるようになり便利になりました。しかしオートボクシングの分かりにくい挙動もあります。 Integer と int の比較を以下のようにすると、 Integer i1 = 100; int i2 = 100; if ( i1 == i2 ) { System.out.println("i1 == i2"); } else { System.out.println("i1 != i2"); } 以下の結果となり、等値での比較が行われます。 i1 == i2 アンボクシングされて i1.intValue() のようなコードと解釈されるため Integer i1 = Integer.valueOf(100); int i2 = 100; if (i1.intValue() == i2) { System.out.println("i1 ==
Android の Canvas のパフォーマンスに不満を持っていた人には良いお知らせかもしれません。 アドビの新しいオープンソースのプロジェクトとして FastCanvas が GitHub に公開されました。FastCanvas は Android 向けの PhoneGap アプリ用に開発されたプラグインです。 (phonegap-fast-canvas-plugin) FastCanvas は HTML5 の Canvas の機能のサブセットを提供し、より高速な描画を実現します。全ての Canvas の機能は提供されませんが、特に GPU 描画の効果が出やすい機能に特化しているとのことですので、パフォーマンスで問題のある人は試してみる価値はありそうです。 (現在提供される機能は、変形と画像の描画関連の API。目標は CanvasRenderingContext2D にできるだけ近づ
androidのServiceにandroid.os.Handlerを継承したクラスを実装して、定期的なバックグラウンド処理を実装することを考える。この定期処理は、バックグラウンドの処理結果によって、次開始するまでのsleep時間を変更するような実装にしたい。例えば、連携するWebサービスのAPIを実行したら電波が悪くて接続できなかった場合、またあるときはそのWebサーバが一時的にダウンしていた場合、前者はリトライの間隔を短く、後者は間隔を長くしたい。そのような挙動をテストしたいのだけど、問題が2つある。 Handlerを使った処理でsleepしている間にJUnit側の処理が進む(または終わってしまう)ので、sleepからの復帰を待つ(同期する)必要がある sleepからの復帰をJUnit側はどうやって知るか 1に関しては、java.util.concurrent.CountDownLat
Iterator Functions map each select reject invoke pluck reduce max min include detect all any to_array sort reverse Array Functions flatten first rest slice push pop shift unshift join Table Functions extend keys values is_empty Function Functions curry wrap compose Utility Functions functions identity iter range is_equal Chaining Functions chain value Underscore.lua is a Lua library that provides
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く