Laravel4のcomposer installでエラーになる場合

laravel4のインストールでは php composer を利用しますが、仮想環境などのパフォーマンスが良くない環境で行うとエラーになることがありました。 $ composer installLoading composer repositories with package information Installing dependencies (incl…

名前空間について

現時点で安定版のKohana3.2はPHP5.2でも動作するためPHP5.3からのnamespaceはサポートしてません。一応独自の仕組みがあって、classesの下にディレクトリを作成することで一意なクラス名を作成することが出来ます。 例えば、「classes/request/client/http.p…

紹介 その4 MVCのC

※この記事は以下の公式ドキュメントを元に書いています。 http://kohanaframework.org/3.2/guide/kohana/mvc今回はフレームワークの肝であるMVCのControllerについて紹介します。 Controllerについて MVCフレームワークの基本動作はControllerがリクエストを…

紹介 その3 モジュールについて

※この記事は以下の公式ドキュメントを元に書いています。 http://kohanaframework.org/3.2/guide/kohana/modules Kohanaが用意しているモジュール 標準のモジュールはmodulesディレクトリの配下におさめられています。これらを有効にするにはapplication/boo…

紹介 その1 インストール方法

KohanaはPHPが動くWebサーバがあれば簡単に動かすことが出来ます。 ダウンロードする まずはKohanaのWebサイトから最新版をダウンロードします。現在v3.2.0でした。 zipを展開してWebサーバに設置する zipを展開すると以下のような構成になっています。 koha…

紹介 その2 クラスロードについて

※この記事は以下の公式ドキュメントを元に書いています。 http://kohanaframework.org/3.2/guide/kohana/conventions クラスロード(autoload)について Kohanaのクラスロードの仕組みはPHP5から登場したautoloadの仕組みを利用しています。コードを書くこと…

紹介 その0 Kohanaについて

PHPフレームワークで最近の流行と言ったらSymfony、CakePHP、Codeigniter当たりでしょうか。どれもそれぞれ素晴らしいのですが、その中で特に注目度が高いのは軽量フレームワークであるCodeigniterでしょうか。 自分も使った事あるのですが、シンプルで高速…

ApacheのSNIはAndroidブラウザで使えない

Apacheの2.2.12からSNIが搭載され、1つのサーバでVirtualHost別のSSL証明書が使用出来るようになりました。 http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI これは大変よろしくて、ブラウザのサポート状況もWindowsXPを除く主要ブラウザで利用可能…

ピンチイン、アウト可能なImageVIewを作ってみた

Android標準のビューはiPhoneのようなピンチイン/アウトをサポートしてません。実現したければ自前で実装する必要があります。 Web上を探してみたけどしっくりくる物が無かったので作ってみました。簡単そうだけど考える事が多くて大変です。 ソースとサンプ…

WebViewで動的に画像を設定する方法

WebViewに画像を表示する場合、静的に決まっている画像であればassetsに放り込んでfile:///android_asset/のURLでimgタグを作れば良いのですが、編集した画像だったりをJavaから設定したい場合にはdata:imageスキームを使う事で実現出来ます。 <img src="data:image/png;base64,%s">こんなHTMLを…

LionでMySQLのコンパイルに失敗する

MacBook Airを購入したので早速開発環境を整えているとMySQLのインストールでハマりました。ソースコードからmakeしたい派なのですが、いつも通り cmake . -DCMAKE_INSTALL_PREFIX=/Users/matabii/apps/mysql5.5 make するとエラーになります。 Scanning dep…

In-app Billingでsignatureの検証をサーバサイドで行う

Androidのアプリ内課金を安全に使うためには何らかの防御策を取らないといけないのですが、その方法の一つとしてsignatureの検証があります。 購入完了後にMarketから購入情報がjsonで送信されてきます。 {"nonce":2102159826496562602,"orders":[{"notifica…

In-app Billingの問題点

正式に公開されたものの良い噂を聞かないですね。色々触ってみて発見した問題点を思いつく限り書いてみます。 2011年4月24日時点の情報です。進化が早いので最新情報は公式ドキュメントを参照して下さい。 情報が少ない http://developer.android.com/guide/…

Djangoでmodels.pyの分割

最近Pythonフレームワーク、Djangoを触ってます。 そこそこ軽量で、テスト用Webサーバやタスクなんか揃ってて気に入っているのですが、使ってると不満も出てきます。その1つがMVCのモデルを表すmodels.pyです。 これ、普通に作ってるとアプリ毎にmodels.pyと…

初期データの投入方法

いやお久しぶりです。データの管理にSQLiteを使うとして、初期データを作るのに、数テーブル、数件程度のデータであれば SQLiteOpenHelperのonCreate内に直接SQLを書いてやれば良いですが、 数百件にもなるとそうも言ってられなくなります。方法としては、SQ…

CUIのみでAndroidの開発環境を作る

何の役に立つのか疑問ですが、一貫した情報が無くハマりポイントが多かったので書いときます。 環境はさくらのVPS上に作りました。正真正銘のCUIです。 http://vps.sakura.ad.jp/ 最小構成でインストールしたCentOSに、カーネルは2.6.18-194.8.1.el5 x86_64…

CopiPeバージョンアップ

Androidアプリの「CopiPe」バージョン2.0をリリースしました。http://www.matabii.com/copipe/ 今回の目玉機能は現在日時のコピー機能です。Excelの日付書式のように「yyyy/MM/dd」等と登録しておけば、現在日時をその形に合わせてクリップボードにコピーし…

ウインドウの最大化

Mac

ずっとLinux使ってて久しぶりにMacに戻って戸惑ったのがウインドウサイズの変更でした。WindowsやLinuxだったら大抵F11のショートカットで画面が最大化するんだけど、Macだとやり辛い。 不便なのでショートカットの設定出来ないか調べてたら、割り当て方法が…

シンプルなフッターレイアウトの作り方

設定画面やダイアログで、下のようなボタンが2つ並んだフッターを付ける時に使ってるレイアウトxmlを紹介します。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > </relativelayout>

CopiPeバージョン1.4

AndroidアプリのCopiPeをバージョンアップしました。変更点は以下の通りです。 Xperia等、画面サイズの大きな端末でフリーズする現象を修正(半透明なウインドウが原因だったので止めました) Xperiaで頻繁に固まると言う情報をいただいており原因を調査した…

CopiPeその後

去年に制作したAndroidアプリの「CopiPe」が窓の杜で紹介されました。 http://www.forest.impress.co.jp/docs/special/20100126_344804.html 使ってくれる人も1万人に近づいていて要望メールなども頂いているので、smart.fmのアプリと合わせてバージョンアッ…

データベースをアップグレードする時

SQLiteのデータベースを使用する際はSQLiteOpenHelperクラスを使います。一般的には下のようなコードになると思います。 public class DatabaseHelper extends SQLiteOpenHelper { public DatabaseHelper(Context context) { super(context, "test.db", null…

クリップボードツール、CopiPeリリース

http://www.androlib.com/android.application.com-matabii-copipe-zAtA.aspx Androidにコピー&ペースト用のツールをリリースしました。 よく使う単語や定型文を登録しておけば、選択するだけでクリップボードにコピーできます。特徴 カテゴリー付きなので…

NetBeans上で使ってみる

NetBeansではJ2EEアプリのひな形の作成と、内蔵されているGrassFishへのデブロイも簡単に出来るので、JRuby & Sinatra環境を構築してみます。Railsと違いプロジェクトのテンプレートが用意されているわけではないので、多少は手動でごにょごにょする必要はあ…

NetBeans上で、RackとSinatraを使いJRubyを動かす

NetBeansを使うと、JRuby On Railsアプリケーションが嘘みたいに簡単に作れます。 http://www.netbeans.org/kb/docs/ruby/rapid-ruby-weblog.html 内蔵のGlassFishでさくっと動かせるし、Warblerを使えばwar化出来るので、デブロイするのも簡単です。 しかし…

Intentの凄さ

AndroidにはIntentと呼ばれる概念があり、これを使うことでアプリケーションをまたいでのデータのやり取りが可能になります。 例えば、端末の電話帳データを取得したり、メーラーを立ち上げて送信画面を開いたりすることが出来るのですが、Androidがデフォル…

Android marketにリリース

本日、http://smart.fm/のAPIを利用した語学学習アプリ、「Tango」をリリースしました。smart.fmの学習を簡略化したものをAndroid上で行うことが出来ます。まだまだ機能が荒削りですが、得られたフィードバックを元に改良など続けていきます。 ダウンロード…

ListViewについて

台風の影響でJJUG CCC行けなかったです。飛行機は欠航だし・・・ さて、以前、ListViewの色の変え方という記事を書きましたが、当時はAndroidを触り始めという事もあり、読み返してみてこれは酷いと思ったので書き直してみます。今もまだまだ勉強中ですが。 …

来週のJJUG CCCに行ってきます

10月8日、木曜日に渋谷区代々木で開催されます。 http://www.java-users.jp/contents/events/ccc2009fall/ セカイカメラの井口さんの講演が目当てですが、他にも聞きたいものが沢山あるので、はるばる神戸から参加しようと考えてます。 移動手段にちょっと迷…

SDK1.6のWVGAについて

SDK1.6がリリースされていたので、新しくサポートされたWVGAの画面サイズを試してみました。まずは1.6のAVDをWVGAで作成して、起動したエミュレータから1.5用に作ってたアプリをそのまま起動。とりあえず何事も無く大きな画面で動いたのだけど、解像度が増え…