第4回、第5回では、簡単なRSSリーダー「SimpleRSSReader」を題材に、Androidアプリの基本的な開発手法を解説してきた。AndroidにおけるRSSパーサの挙動を学び、アプリに実装するところまできた。 今回は、RSSリーダーとしての体裁を整えるために、記事の要約文を表示する詳細画面をつけてみる。現在、アプリが持つアクティビティは記事を一覧表示する「RSSListActivity」一つしかないが、今回はもう一つ、詳細画面(図1)を表示するためのアクティビティ「ItemDetailActivity」を追加する。 前回実装したパースの機能を担う「parseXml」メソッドでは、title要素とdescription要素しか取得していないため、詳細画面で表示されるデータも記事のタイトルと本文だけである。 今回新たにアクティビティを追加することで、複数のアクティビティ間での画面遷移
Androidでの開発、特に画像周りを触っていると悩まされるあのにっくき「OutOfMemoryError」によるアプリの強制終了。 このOutOfMemoryErrorはAndroidアプリ内ではtry~catchなどでハンドリングすることができないようで、そもそも「起こらないように」作るしかないようです。 このOutOfMemoryErrorはAndroidアプリ内のtry~catchで捕まえられないこともあり、そもそも「起こらないように」作るのが(当然ですが)好ましいでしょう。 (2010/12/20修正) AndroidでBitmapFactoryを使ってサイズの大きな画像を読み込むサンプル – hoge256ブログ OutOfMemoryErrorを知る – hdk_embeddedの日記 これらの記事が大変参考になりました。 ざっくりまとめておきますとアプローチは大きく分けて3
PostgreSQL Advent Calendar 2012(全部俺)のDay 1です。 初日は、まずPostgreSQLを使い始める際の基本的なお作法である初期設定について簡単にまとめてみます。 PostgreSQLは、パラメータの設定を変更せずにデフォルトの設定のまま使い始めても、もちろん動くことは動くのですが、後からいろいろと問題が出てくることもありますし、特に性能関連のパラメータのデフォルト値はあまりに小さく、チューニング云々以前の問題だったりします。 というわけで、私が普段PostgreSQLをインストールして使い始める時、開発機であってもいくつかパラメータを初期設定するようにしています。 使い始める前に設定から入るのは確かに面倒なのですが、最初に設定が必要なパラメータは少数(今回紹介するのは5つ)ですので、まずは最初に必要最低限の設定をしてから使い始めましょう、というのが本エ
出典:日経コンピュータ 2012年12月20日号 pp.70-77 (記事は執筆時の情報に基づいており、現在では異なる場合があります) 2012年、DRAMでもフラッシュメモリーでもない“第3のメモリー”の量産出荷が始まった。DRAM並みに高速でありながら、フラッシュ同様に電源をオフにしてもデータが消えない「新世代不揮発性メモリー」だ。新メモリーによってコンピュータのアーキテクチャーは激変し、入出力(I/O)の大幅な高速化が実現すると共に、消費電力は激減する。 コンピュータには、高速だが電源をオフにするとデータが消える「主記憶装置(メインメモリー)」と、低速だがデータが消えない「外部記憶装置(ストレージ)」という2種類の記憶装置がある。 こんなコンピュータアーキテクチャーの常識が一変する可能性が出てきた。DRAM並みに高速でありながら不揮発性を備えた「新世代不揮発性メモリー」の量産出荷が始
12cでは、より最適な実行計画が選ばれやすくなる これまでのリリースでもバージョンアップする度に様々な新機能が追加されてきたオプティマイザですが、Oracle Database 12c(以下、12c)ではより最適な実行計画が選択されるように「適応問合せの最適化」、「SQL計画管理(SQL Plan Management)」、「バルクロードのオンライン統計収集」などの新機能が追加されています。今回は12cにバージョンアップした際の大きな変更点となる、「適応問合せの最適化」について紹介します。 「適応問合せの最適化」とは、より優れた実行計画になるための追加情報を検出する機能の総称です。役割に応じて以下のように細かく分類されていますが、わかりやすく言えば「今まで最適な実行計画が選ばれなかったSQLでも、12cにするとより良い実行計画が選ばれやすくなる」という機能です。 統計情報と現実のギャップを
AlertDialog の基本的な使い方は以下の記事からどうぞ。 [AndroidTips][Java]基本的なAlertDialogの表示 | Androidアプリ開発情報まとめブログ AlertDialog は便利ですが、もっとカスタマイズしたダイアログを表示したいこともあると思います。 Activity を分けてもいいのならダイアログ風のテーマを使うのが簡単でいいと思います。 [AndroidTips][XML]ダイアログ風のテーマを使う | Androidアプリ開発情報まとめブログ Acticity を分けることができなく、カスタマイズしたレイアウトのダイアログを表示させたい場合は以下のように実装します。 ココでは特に、ListView を持ったレイアウトをダイアログに表示させる方法を説明していきます。 続きを読むからどうぞ。 まずは AlertDialog を呼び出します。 sh
やっと、”初めてのPython“のIV部を読み終わりました。 “初めてのPython“の読書はすごく順調に進んでいます。 そう、すごく順調に…。 そこには触れないようにして、今日のPythonのまとめに行きましょう。 初めてのPython IV部 “初めてのPython“のIV部は、”関数“についてまとめてあります。 “え、関数なんて余裕だよ。“という人も、読み飛ばさずに読んでください。 Pythonにおける関数も他の言語とちょっと変わっています。 PHPの関数宣言functionにあたる宣言がPythonではdefです。 この宣言を使って、Pythonではこんなことが出来ちゃいます。 def create_memory(x, y): def memory(): return x, y return memory mem = create_memory(2, 3) print me
商用RDBMSのデファクト・スタンダードである「Oracle Database」、オープンソースRDBMSの両雄である「PostgreSQL」、「MySQL」には、それぞれのRDBMSの個性を活かせる適用領域があります。本稿では、RDBMSの「性能要件」に深く関係する「アクセス・パス」を題材に、「Oracle Database」、「PostgreSQL」、「MySQL」の特長を整理し、適材適所で活用するヒントを探ります。 アシストでは1987年に取り扱いを開始した「Oracle Database」に加え、2009年10月より「PostgreSQL(ポストグレスキューエル)」、2011年10月にはPostgreSQLをベースとしOracle Databaseとの互換性機能を有する「Postgres Plus(ポストグレスプラス)」、Webサービスのシステムにて採用されているRDBMSとしては
全ての技術情報 VA Linuxの"技術力"の一部をご紹介します。 独自の研究や開発、技術カンファレンスで発表した技術資料などを公開しています。 OSS キーワードで絞り込む 深層学習 ネットワーク プロトコル Linux オペレーティングシステム コンテナ関連 構成管理 ストレージ 仮想化 クラウド 負荷分散 プログラミング言語 プラットフォーム フレームワーク 深層学習すべて Isaac Gym(22000件) ネットワークすべて SmartNIC(11000件) RDMA(22000件) Ryu(10100件) OpenFlow(21100件) その他(20020件) プロトコルすべて NFS(51301件) OpenLDAP(77000件) SNMP(11000件) OAuth(11000件) その他(00000件) Linuxすべて DPDK(11000件) eBPF(22000
Linux のオーバーコミットについて調べてみた Linux のオーバーコミットのはなし(これを書いたのは Linux 2.6.38 のとき) Linux カーネルは実メモリ以上にメモリをプロセスに割り当てることができる この仕組みをオーバーコミット (over-commit) と呼ぶ オーバーコミットでは,とりあえずメモリを malloc させて仮のアドレスを返しておき, 実際に使われる段になってはじめて実メモリを確保する. 実験ただ malloc し続けるだけのプログラムを作って実験してみる. このプログラムをメモリ 1 GB + スワップ 1 GB のホストで実行してみると, $ free -t total used free shared buffers cached Mem: 1022404 82992 939412 0 4172 12280 -/+ buffers/cache:
今まで全く使い方知らなかったけど便利そうなので勉強してみた。 やっぱりDTraceと似た感じに思えるけど、DTrace on FreeBSDより出来ることが多いみたい。DTrace on Solarisは知らん。 コールグラフ Call graph tracing これコピってくれば取り敢えずでる。 どうせ同じところしか見ないんだから、引数で引っ張ってくる必要ないよね、って事で持ってきたコードを書き換えて、probeのポイントをスクリプト内に書いてみた: function trace(entry_p) { if(tid() in trace) printf("%s%s%s\n",thread_indent(entry_p), (entry_p>0?"->":"<-"), probefunc()) } global trace probe kernel.function("netif_rec
ファイルサーチを高速化するB-Treeアルゴリズム ext2、ext3がベースとするブロックアルゴリズムは、ブロック数が対応するディスクのジオメトリ数に制限されること、ファイルサーチにO(n)かかる(注)こと、ファイルサイズに関係するパフォーマンス低下など、いくつかの問題があった。 注:「O(n)」とは、実行時間が入力の大きさ「n」に比例するアルゴリズムである。O(n)は「nのオーダー」または「オーダーn」と読む。後述する「O(log n)」は、アルゴリズムの計算量に関する議論の場合logの底は常に2で、O(log n)の方がO(n)よりも効率が良い。例えばn=8の場合、O(log n)は入力8に対して3回の実行で済むが、O(n)は8回の実行となる。 ReiserFS、JFS、XFSといったファイルシステムでは、こうしたブロックアルゴリズムの限界に対して、早い段階からデータベースの技術をフ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く