2008-01-01から1年間の記事一覧

iPhone SDKレシピ3:UIProgressViewの使い方

ポイント UIProgressViewのprogressプロパティは、ある処理をしているスレッド中で変更しても、その処理が終了するまで画面に反映されない。 そこで、performSelectorInBackground:withObject:メソッドを利用して、バックグラウンドでprogressプロパティを変…

iPhoneレシピ4:UIActionSheetにプログレスバーを表示する

ポイント UIActionSheetの高さはタイトルの改行か、setNumberOfRowsメソッドで設定する。ただしsetNumberOfRowsはドキュメントには載っていないメソッド。 UIActionSheetはメインスレッドで表示しないと、ボタンが効かないっぽい。また、表示とその他の処理…

iPhoneレシピ5:zipファイルを解凍する

ポイント iPhoneにはzlibが入っているので、それを利用して解凍する。 zlibを使うためには、libz***.dylibへのリンクが必要。そのためには、xcodeで「グループとファイル」ビュー上で右クリック→「追加」→「既存のフレームワークを追加」でibz***.dylibを追…

iPhoneレシピ6:zipファイルをダウンロードし、Documentsディレクトリに解凍する

下記4つのレシピを組み合わせて、zipファイルをダウンロードし、Documentsディレクトリに解凍する方法。 iPhone SDKレシピ2:NSURLConnectionを使ってファイルをダウンロードする - Random Note iPhone SDKレシピ3:UIProgressViewの使い方 - Random Note iP…

窓使いの憂鬱の設定 for Parallels Desktop on Mac

Mac

Parallelsのバージョンが4.0になってから、キーボードのリマップをParallelsがするようになった。 が、あまりに使いづらいので窓使いの憂鬱に戻した。 前のバージョンのParallelsで使っていたときの設定に、commandキー(Windowsキー)とcontrolの入れかえを追…

さくらインターネットでSubversion

svn+sshで接続できるSubversionをさくらインターネットのサーバ上に構築した時のインストールログ。 環境 FreeBSD 6.1-RELEASE-p23 subversion-1.5.4 ログ 基本的にさくらインターネットでSubversion » サイキョウラインを参考にした。 %mkdir -p $HOME/loca…

MacBook Proのインストールログ

Mac

Application TaskPaper AppFresh Plaxo CSSEdit AppCleaner Snapz Pro X Pixelmator Firefox GreaseMonkey AutoPagerize Youtube downloader YoutubeのHD画質動画やmp4動画ダウンロードリンクを表示するスクリプト Session Manager Firebug Web Developer Th…

UITextFieldでリターンキーが押された時にキーボードを隠す

iPhoneでUITextFieldを使う際、リターンキー押下時にキーボードを隠したいことがある。 そのような時は、UITextFieldの「Did End On Exit」をIBActionにバインドし、そのIBActionの中で、UITextFieldインスタンスのresignFirstResponderメソッドを呼んでやれ…

iPhone SDKレシピ2:NSURLConnectionを使ってファイルをダウンロードする

CocoaフレームワークにはNSURLDownloadという便利なクラスが用意されているが、iPhone SDK (UIKit) には入っていない。そこで、NSURLConnectionを使ってファイルをダウンロードするための簡単なラッパークラスURLDownloadを用意し、それを用いてファイルをダ…

iPhone SDKレシピ1:UITableViewで縞模様(ストライプ)

UITableViewで行を縞模様にするためには、UITableViewCellの背景を全てクリアしてから、backgroundViewのbackgroundColorを変更する。ソースはこんな感じ。 UITableViewDelgate#tableView: cellForRowAtIndexPath: - (UITableViewCell *)tableView:(UITableV…

辞書アプリの改良:高速化(6)

対策5:メタインデックス再び 対策4時点での実行時間は下記の通り。 word1:ああああああああああ、word2:い、word3:おた、word4:あいし、word5:あいして、word6:あいしてるとくりかえしていう。 目標の1秒までもう少しだが、まだいくつか1秒以上かか…

辞書アプリの改良:高速化(4)

対策3:メタインデックス形式の変更 現在、1つの検索片でメタインデックスを検索するごとに約40回+結果数回メタインデックスファイルからの読み込みを行っている。 この読み込み回数を減らすため、メタインデックスの形式を変更する。 現在のメタインデッ…

辞書アプリの改良:高速化(5)

対策4:メタインデックスである程度絞り込んだら、あとはメモリ上で メタインデックス検索+弱い論理積+出現位置チェックで1000件未満まで絞り込めたら、あとは直接辞書インデックス取得し、メモリ上で絞り込んでみた。変更点はこんな感じ。 Dictionary#se…

辞書アプリの改良:高速化(1)

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note http://d.hatena.ne.jp/hisaboh/20081022/p1 辞書アプリの改良:コマンド化 - Random Note 辞書アプリの改良:部…

辞書アプリの改良:高速化(2)

対策1:存在しない文字列は検索しない 辞書アプリの改良:高速化(1) - Random Noteの測定結果を見て分かるのは、検索結果が0件の場合でも常に検索キーを2文字ずつに切り出した言葉の欠片(検索片と呼ぶことにする)の数分、必ずメタインデックスを検索し…

辞書アプリの改良:高速化(3)

対策2:余計な検索片は使わない 次の高速化のターゲットはこれ。あいしてるとくりかえしていう meta search(日英) 272 meta search(日タイ) 3632 これまでの検索では、検索キーを1文字ずつ横にずらしながら2文字に切り取っていた。 「あいしてるとくりかえ…

辞書アプリの改良:複数辞書対応+α

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Random Note 辞書アプリの改良:コマンド化 - Random Note 辞書ア…

辞書アプリの改良:これから

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Random Note 辞書アプリの改良:コマンド化 - Random Note 辞書ア…

辞書アプリの改良:部分一致(4)

追記 Indexer.groovy、MetaIndex.groovyを修正(10/27: 01:54) 関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Ran…

辞書アプリの改良:部分一致(5)

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Random Note 辞書アプリの改良:コマンド化 - Random Note 辞書ア…

辞書アプリの改良:部分一致(3)

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Random Note 辞書アプリの改良:コマンド化 - Random Note 辞書ア…

辞書アプリの改良:初期化処理の高速化(2)

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note ソース メタインデックスを利用して、検索ごとにファイルからインデックスを読み込むようにソースを修正。 インデ…

辞書アプリの改良:コマンド化

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Random Note コマンド化 初期化処理が高速になったので、検索ごと…

辞書アプリの改良:部分一致(1)

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Random Note 辞書アプリの改良:コマンド化 - Random Note 部分一…

辞書アプリの改良:部分一致(2)

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 辞書アプリの改良:初期化処理の高速化(1) - Random Note 辞書アプリの改良:初期化処理の高速化(2) - Random Note 辞書アプリの改良:コマンド化 - Random Note 辞書ア…

辞書アプリの改良:初期化処理の高速化(1)

関連エントリ StarDictの辞書アプリ - Random Note 辞書アプリの改良 - Random Note 初期化処理の高速化 StarDictの辞書アプリで作った辞書アプリは、インデックスを最初に読み込んでいるため、インデックスファイルが大きいと初期化処理が重くなる。そこで…

辞書アプリの改良

関連エントリ StarDictの辞書アプリ - Random Note 改良ポイント StarDictの辞書アプリで作った辞書アプリはまだまだ単に動くというレベル。そこで、これからいくつかの改良を施していきたい。 とりあえず今のところ考えているのは、 初期化処理の高速化 コ…

StarDictの辞書アプリ

StarDictの辞書ファイル形式で調べたファイル形式に基づいて、簡単なコンソール辞書アプリを作ってみた。実行結果はこんな感じ。なんか変な辞書だな、これ。 search: あい あい => [アイ~あ行~]ใอ ไอ / ครา&#3617…

StarDictの辞書ファイル形式

WeDictで使われている辞書のファイル形式を調査。 辞書ファイルはStarDict形式で、インデックスファイル[*.idx]と定義データファイル[*.dict]に分かれている。 いろいろ探し回った結果、下記のような感じらしい。 ■Dictファイル dict.dzは、ようするに辞書の…

iPhoneでタイ語キーボード

cydiaに下記のレポジトリを追加する。 http://iappdev.com/i Cydiaでタイ語キーボードをインストールする。 Section→iAppDev.com→ThaiKeyBoard fw 2.1 タイ語キーボードはiPhoneのロシア語キーボードを上書きするので、iPhoneの設定でロシア語キーボードをon…