iOSのAddressBookを操作する
■グループの検索 CFArrayRef groups = ABAddressBookCopyArrayOfAllGroups(addressBook); for (int i = 0; i < CFArrayGetCount(groups); i++) { ABRecordRef group = CFArrayGetValueAtIndex(groups, i); CFStringRef...
View ArticleMapをクエリ形式の文字列に変換する
今月は1つも記事を書いてなかったので間に合わせでメモを書く。 // key1 : value1, key2 : value2 ArrayList<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(); Iterator<String> it = data.keySet().iterator();...
View ArticlePHPで文字列の類似度を求める
レーベンシュタイン距離を使う。 function mb_str_split($str, $split_len = 1) { mb_internal_encoding('UTF-8'); mb_regex_encoding('UTF-8'); if ($split_len <= 0) { $split_len = 1; } $strlen = mb_strlen($str, 'UTF-8');...
View ArticleAndroidでViewがResizeされたのを検知する
殆どstackoverflowのコードと同様だがlistenerに発火する条件だけ変更した。 public class DetectableResizedLinearLayout extends LinearLayout { private OnResizedListener mListener; public DetectableResizedLinearLayout(Context...
View Articlehipacheをインストールする
簡単なので別に記事にするほどでもない。 ■インストール npm install hipache -g ■設定 Redisのportや接続に関する設定は以下のファイルを編集する。同階層のファイルを見れば大体分かる。 vim node_modules/hipache/config/config.json 以下のようにしてvhostの設定をする。 redis-cli rpush...
View ArticleAndroidでContentProviderをテストする
IsolatedContextの記事を書こうとしらProviderTestCase2の事を書いてなかった事に気づいたので書いておく。 ■コード public class ProviderTest extends ProviderTestCase2<Provider> { private Provider mProvider; private Uri mAuthority; public...
View ArticleAndroidでIsolatedContextを使ってみる
■コード 以下のようにしてIsolatedContextのサブクラスを定義する。 public class HogeActivityTest extends ActivityInstrumentationTestCase2<Kaomoji> { private Kaomoji mActivity; private static final MockContentResolver...
View ArticleCakePHP 2でRedisにSessionを保持する
Cake2系用のが無かったのでCake1系用のこれをforkして作ってみた。 ■導入 iRedis Vendorに配置する cakephp-redis-session app/Model/DataSource/Session/に配置する/p> core.php core.phpに以下のように記述する。 Configure::write('Session.handler',...
View ArticleiOSでUIViewのタップを検出する
■実装 以下のようにUITapGestureRecognizerを使う。 UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTapped:)]; [view addGestureRecognizer:recognizer];//...
View Articlenode.jsでMySQLに接続する
MySQLサーバーから接続を切られた時は、errorイベントが発火する。一方で接続できなかった時はcallback関数の引き数にerrorオブジェクトが格納される。従って以下のように実装してみた。 var mysql = require('mysql'); var dbh = mysql.createConnection({ "host" : CONF['mysql']['host'],...
View ArticleiOSでキーボードの表示と非表示に応じた処理をする
- (void)keyboardDidShow:(NSNotification *)note { // something } - (void)keyboardDidHide:(NSNotification *)note { // something } - (id)init { self = [super init]; if (self) { // キーボードが表示された時...
View ArticleAndroidのListViewで選択状態の項目の背景色を変える
意外と面倒だったのでメモしておく。 ■実装 res/layout-v11/cell.xml API level 11以降の場合は以下のように記述すれば終わる。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"...
View Article緊急地震速報 by Extensionのサーバーを書き直す
そろそろOAuth認証にしておかないとまずいので書きなおすことにした。 ■環境構築 必要なパッケージのインストール等をする。 sudo yum -y install openssl-devel gcc-c++ git make git clone https://github.com/isaacs/nave.git ~/.nave ~/.nave/nave.sh install stable...
View ArticleSolrでDataImportHandlerを使う
前回の続き。 ■インポート元などの設定 solr/conf/data-config.xml はてなのドキュメントが少し違っていて、以下のようにdocumentノードが無いとエラーになる。 <?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <dataSource name="dbname"...
View ArticleAndroidでKeyboardより手前にViewを表示する
■PopupWindowを使う // 中身のViewの生成 LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View contentView = inflater.inflate(R.layout.content, null); // popupウィンドウの生成...
View ArticleTrivialDriveのコードを読んでみる
Implementing In-app Billingがv3になったのでサンプルコードを適当に読んでみた。 ■購入処理 MainActivityのレイアウトファイルのボタンは以下のようにImageViewで記述してある。 <ImageView android:id="@+id/infinite_gas_button" android:src="@drawable/infinite_gas"...
View ArticleAndroidのソースコードを取得してビルドする
EC2のAmazon Linux上でビルドする。おそらくUbuntuでやる方が多数派である。 ■準備 curl http://repo.us-east-1.amazonaws.com/latest/main/mirror.list sudo vim /etc/yum.repos.d/amzn-main-32.repo...
View ArticleMountain Lion上でCocoaPodsを導入する
メモ。 ln -s /usr/bin/gcc /usr/bin/gcc-4.2 sudo gem install cocoapods pod setup cd your_project vim Podfile 以下のようにプラットフォームと使用するライブラリを記述する。 platform :ios,'6.0' pod 'JSONKit','~> 1.4' 以下のコマンドでインストールする。...
View ArticleRDSでインスタンスがブロックされMySQLに接続できなくなる
RDSを使っているとMulti-AZ DeploymentがYesになっている場合でも、以下のようにMySQLに接続できない時間が存在する。 Database connection "SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'endpoint.zone.amazonaws.com' " is missing, or could...
View ArticleAndroid用にmozcをUbuntuでビルドする
Google日本語入力Android版がオープンソースになったという事で早速ビルドしてみる。 ■準備 EC2でUbuntu 12.04を使用。 sudo apt-get update sudo apt-get install g++ python subversion ibus make libibus-1.0-dev libzinnia-dev unzip ant ■JDK scp -i...
View Article