サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
darutk-oboegaki.blogspot.com
To say the result of investigation first, "A database (android.database.sqlite.SQLiteDatabase) used to create a cursor (android.database.Cursor) is automatically closed if some simple conditions are satisfied." The flow which triggers the auto close is as follows. Actual data fetch is triggered when either Cursor.getCount() method or Cursor.onMove() method is called. It triggers SQLiteQuery.fillWi
特長 RFC 6455 (The WebSocket Protocol) に準拠している。 Java SE 1.5+, Android で動く。 全てのフレームタイプ (continuation/binary/text/close/ping/pong) をサポートしている。 分割されたフレームを送信するメソッドを提供している。 WebSocket が使用しているソケットを取得して設定できる。 Basic 認証のためのメソッドを提供している。 javax.net.SocketFactory インターフェースを利用するファクトリークラスを提供している。 WebSocket イベントをフックするためのリッチなリスナーインターフェースを提供している。 エラー発生時にきめ細かい制御ができるよう、きめ細かいエラーコードを定義している。 フレームの RSV1/RSV2/RSV3 ビット及びオペコードの検
Windows 上に Rails をインストールしようとしたところ、簡単に解決しなさそうな問題がいろいろ出てきたので、Windows に直接 Rails をインストールすることは諦め※1、Windows に仮想化ソフト VirtualBox を入れてその上で Ubuntu を動かし、そこに Rails をインストールすることにした。しかしそれでも、幾つも問題に遭遇したので、手順を書き残しておく。 ※1:その後、問題回避策として「gem update --system 2.3.0」をおこなったら、Windows でも Rails が動いた。(参考: Rubygems Issue 977) 1. 仮想ハードディスクイメージのダウンロード VirtualBox で作成する仮想マシンの仮想ハードドライブとして使用するイメージを「日本語 Remix 仮想ハードディスクイメージのダウンロード」ページか
下記のコードは、文字数、UTF-8 で符号化したときのバイト数、サロゲートペアの数、を数え上げるロジックを JavaScript で表現したものです。Java や Objective-C など、文字列を UTF-16 で扱っているプログラミング言語であれば、同じロジックを適用できます。GIST はこちら。Unicode 理解度簡易チェックはこちら。本ブログの英語版はこちら。 文字数: 0 UTF-8 でのバイト数: 0 サロゲートペアの数: 0 function
Objective-C でシングルトンを実現するのは、ちゃんとやろうとすると、結構手間です。例えば、ARC (Automatic Reference Counting) 無効の場合、次のブログが示しているように、シングルトンインスタンスを取得するメソッドを追加するだけでは話は終わらず、あまり直感的ではない方法で複数のメソッドをオーバーライドしなければなりません。 Objective-C でシングルトンパターン http://blog.syuhari.jp/archives/2178 ARC 有効となると、書き方も変わってきます。 言語の特性上、呼び出し側で無茶なことができてしまうケースが幾つかあるので、シングルトン実装側だけで完全性を達成しようとするのは難しいと思います。そのため、ある程度シングルトン的な構造にはしておくものの、呼び出し側がひねくれたことをやったら責任は負えないよ、という実
Firefox has a bug due to which Arial Black is not treated correctly. A workaround is to add "font-weight: 900;", but an answer at StackOverflow seems better. Firefox には「Arial Blackフォントが効かない」という不具合があり、それを回避するために、「font-weight: 900;」を加える、という方法があるそうだが、StackOverflow にあった回答のほうがスマート。 @font-face { font-family: 'arial-black'; src: local('Arial Black'); } #nav { font-family: "Arial Black", arial-black, sans
It seems to me that the Cloudera Manager Installer, cloudera-manager-installer.bin, fails due to timeout in a slow network. So, I gave up using cloudera-manager-installer.bin and decided to install Cloudera Manager and CDH4 manually. JDK Download an RPM of JDK from Oracle's site. Install the RPM.
http://yum.baseurl.org/wiki/RepoCreate のさらっと訳です(「覚え書き」だけに)。 パッケージリポジトリのセットアップ方法 数多くの RPM パッケージ群を一箇所に集め、yum が動作するシステムに提供したいと思うことがあります。この作業はとても簡単です。 概要 yum が使用するパッケージリポジトリは、一つ以上の RPM と、それらの RPM の情報 (依存関係やファイルリストなど) へのアクセスを容易にする「メタ情報」を含む、単なるディレクトリです。yum はこのディレクトリに、FTP や HTTP、(NFS を含む) ファイル URI を用いてアクセスすることができます。 手順 パッケージを一つのディレクトリに集めます。必要な数だけサブディレクトリを作成することができますが、それらをまとめるトップディレクトリが必要です。そこが、リポジトリを形成する
(注:編集中) 対象とする functions ファイルは initscripts-9.03.31 に含まれているもので、下記のようにして取得できる。内容は、2012 年 7 月 9 日にリリースされた CentOS 6.3 に含まれる /etc/init.d/functions と同じ。 $ wget http://vault.centos.org/6.3/os/Source/SPackages/initscripts-9.03.31-2.el6.centos.src.rpm $ rpm2cpio initscripts-9.03.31-2.el6.centos.src.rpm | cpio -id $ tar xjf initscripts-9.03.31.tar.bz2 # --> initscripts-9.03.31/rc.d/init.d/functions /etc/init
git push をおこなったとき、サーバーから HTTP ステータスコード 411 が返され、失敗してしまうことがある。 HTTP ステータスコード 411 の定義には「The server refuses to accept the request without a defined Content- Length. The client MAY repeat the request if it adds a valid Content-Length header field containing the length of the message-body in the request message.」と書かれている。つまり、このステータスコードは、クライアントの HTTP リクエストに Content-Length ヘッダーが付いていないことを理由としてサーバーがリクエストを拒否
handler.post(new Runnable() { public void run() { // UI スレッドで実行する処理を記述する。 } }); 面倒なので、「(1) 常に UI スレッドに紐付けられ、(2) 自クラスで Runnable インターフェースを実装する」Handler クラスのサブクラスを次のように実装してみる。 public class UiHandler extends Handler implements Runnable { public UiHandler() { // Looper.getMainLooper() で UI スレッドの Looper を取得する。 super(Looper.getMainLooper()); } public UiHandler(Handler.Callback callback) { // Looper.getMai
I implemented GZIP decompression in C# from scratch. With the implementation, gzipped data can be decompressed like the following. byte[] output = GZIP.Decompress(input); The GZIP specification (RFC 1952: http://tools.ietf.org/html/rfc1952) itself is simple, but the specification of the core part of GZIP, the DEFLATE format (RFC 1951: http://tools.ietf.org/html/rfc1951), is difficult to understand
Android アセット パッケージング ツール aapt l[ist] [-v] [-a] file.{zip,jar,apk} ZIP 互換アーカイブの内容をリストアップする. aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]] badging APK 内で宣言されているアプリ用のラベルとアイコンを表示する. permissions APK からパーミッションを表示する. resources APK からリソーステーブルを表示する. configurations APK 内のコンフィギュレーションを表示する. xmltree 指定されたアセット内のコンパイル済み XML を表示する. xmlstrings 指定されたコンパイル済みアセットの文字列を表示する. aapt p[ackage] [-d][-f][-m][-u]
1. リソースの準備 1.1 デフォルト言語用リソースファイルを追加する Visual Studio でプロジェクトを開く。 Solution Explorer でプロジェクト名を右クリックし、Add → New Item... と進む。 Add New Item ダイアログで Resources File を選択、適当なファイル名(例:AppResources.resx)を付けて Add ボタンをクリックする。 1.2 サポート対象言語用リソースファイルを追加する 上記と同じ方法でリソースファイルを追加する。ファイル名にはカルチャーとランゲージを含めておく。 日本語の例: AppResources.ja-JP.resx 1.3 リソースファイルをPublicアクセス可能にする Solution Explorer でリソースファイルを開く。 AccessModifier リストボックスで
Android コードで作業するには, Git と Repo の両方を使う必要が出てくるでしょう。 Git は, 複数のリポジトリに分散した非常に大きなプロジェクト群を扱うために設計された, オープンソースのバージョン管理システムです. Android では, ローカルでのブランチ作成, コミット, 編集等のローカル操作で Git を使用します. Repo は Git 上に構築したツールです. Repo により, 多くの Git リポジトリ群の管理が容易になり, 私たちのリビジョン管理システムへアップロードが行え, Android 開発の作業手順が自動化できます. Repo は Git を置き換えることを意図したものではなく, Android 開発において, Git での作業をより容易にするためのものです. repo コマンドは, 実行可能 Python スクリプトで, 検索パスのどこにで
Android の仮想マシンである Dalvik VM がクラスのアンローディングに対応していないので、OSGi バンドルのインストールとアンインストールを繰り返すと、やがてはメモリ不足に陥り、Dalvik VM が突然終了してしまう。しかも、そのメモリ不足は、システムのRAM総量による制限ではなく、ソースコードの中で次のように固定的に定義されている定数値による制限である。 #define DEFAULT_MAX_LENGTH (5*1024*1024) また、突然終了というのは、意図的に Segmentation Fault を起こすことによる Dalvik VM アボートである。 Dalvik VM のクラスローダの実装は、かなり悪い。クラスローダ毎に管理しなければならないデータを、一個のグローバル変数で管理している。ブートストラップクラスローダとユーザ定義のクラスローダの違いは無視
このページを最初にブックマークしてみませんか?
『darutk-oboegaki.blogspot.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く