2011年2月26日土曜日

Simple@Idx 2011/02/26

デモをアンドロイドの実機で動かすのが目標。

実機はGalaxy S。Android 2.2が乗ってます。
デモはノートブックPCのローカル環境で動いてます。

◆無線LAN環境を整えよう

LogitecのUSB無線LANはAPモードになる。
アンドロイドからWiFiでPCにつなげられる。

つながったと思ったら不安定だったので、
最新のドライバーにアップグレード。

◆つなげてみよう

PCのローカルIPを調べて、
ブラウザーに直接打ち込むと、
お、動いた。

ここまでは簡単。

◆デモが動かない。

HTMLは表示されるが、WebSqlDatabaseからの読み込まない。
PHP、JavaScript自体の問題はないみたい。
デバッグ情報もalertもOK…
さて、どうしたものか。

◆Android SDKをインストールしてみる。

するとJDKもインストールしろといわれたので、した。
インストールは簡単に終了。が、動かない。

どうもコンポーネントのダウンロードに失敗していたらしい。
Windowsなので、「管理者として実行」としたら動いた。
例の「Program Files」フォルダー以下に書き込めないのが原因だろう。

・・・

なんか動いたみたい。
すごく遅い。

お、動いた。
WebSqlDatabaseも動いた。
エミュレーター上では問題なし。

◆Galaxy Sの問題?

お、Galaxy Sのファームウェアバージョンアップがあった。
Samsung KiesをPCにインストールする必要があるのか。
どうしよう。

簡単なWebSqlDatabaseのサンプル・デモを作ったのを思い出した。
Galaxy Sで確認すると、動いた。

◆jQueryをアップグレード

デモのjQueryが1.4.1と古かったので、1.5.1にアップグレードしてみた。
すると、PC上のChromeでも動かない。
直さないといけないみたい。

仕方ないので1.4.4にアップグレード。PC、エミュレーターでは動く。
が、実機では動かない。

◆実機でデバッグ

しろと。
ADBとやらを動かして、consoleのアウトプットをみると。
このあたりのリンクを参考にして。
http://www.nanaze.com/2009/01/debugging-javascript-on-android.html

以上で、時間切れ。

2010年12月19日日曜日

Simple@Idx 2010/12/19

本年度最後のSimple勉強会です。
気がつけば終わってました。

◆特許について

特許取得を考えてます。
詳細は以降。

◆Dioモジュール

もう6年目も昔に書いた、いまだに使っているクラスを書き換えてました。

実は一昨年に書き換えようと思い立って90%ぐらい作ったのがあるんですが、気に入らなくて没にしてました。もう一度、インターフェースを考え直してみました。

名前だけは思いついてます。
Data Input/Output、すなわちDIO!

が、だらだらと書いているうちに、
気がつけば勉強会終了。

2010年12月10日金曜日

NetBeansでPHPのデバッグ

今まで何度も試してみたPHPのデバッグ。
WebStudio、TruStudio、PDTと試したけれど、うまく動かない。
やはり自分は設定作業が苦手らしい。

で、本日NetBeansでPHPのデバッグ出来るようになりました。
ブレークポイントで、一行ずつPHPを実行できる気持ちよさ。

面倒なので、Twitterのまとめです。

2010年11月20日土曜日

Cenaとは何?特徴は?

Cenaを使うと何が便利になるのか?
前回のエントリーで書いたローカルデータベースを使った場合の問題を解決できます。

つまり、データのシンクロナイズ、ローカル上のデータをサーバーにアップロードする処理が簡単になります。
  • 新規登録および既存データのID(プライマリキーですね)の追跡が簡単になるため、レコード間のリレーションを含めてアップロードできる。
  • 更新したデータのみをサーバーにアップロードできる。
    しかもレコード単位でなく、修正した項目のみのアップロードが可能。
  • 一度に複数の更新および新規登録データのシンクロが可能。
そもそもが難しい問題(と思う)ので、簡単にシンクロが出来るというよりは「(比較すれば)簡単になる」と書くべきかもしれません。

また、HTML5などのようなサーバー&クライアントといった関係でのみ対応が可能と考えてます。全てのどんなデータベースでも通信、というのは解決できてません。

2010年11月19日金曜日

HTML5のローカルDBを使う場合の問題点

Cenaというフレームワーク、のようなものを作ってますが・・・
なぜCenaを作る|使うのか?

HTML5が登場し、ブラウザーにローカルデータベースが出来たことで、ウェブアプリケーションの機能が飛躍的に向上します。サーバーと通信することなく、大量のデータを変更したり追加することが可能となります。リレーショナルデータベースを扱えるので、複雑な構造のデータでも扱える利点があります。

ただし、ローカルデータベースを使った場合、
難しい問題がいくつかあります。

2010年10月30日土曜日

Simple@Idx 2010/10/30

台風(ほぼ?)直撃の中のSimple勉強会。
作業は、いつものCena開発。

前回までに、既存データの
→ サーバーからダウンロード
→ ローカルHTMLでデータ修正
→ サーバーにアップロード
の一連の作業が動くようになった。

今回は、新しいデータをローカルで追加→サーバーにアップ、の部分。

2010年10月22日金曜日

PHP5.3でJavaScriptのようにメソードを上書きする(ように見せる)方法

JavaScriptをしばらくいじくった後、PHPに戻ると、一旦メソードを上書きでいないのにいらいらします。継承するか、インスタンス化して別クラスに委譲して別メソードをかぶせる、とかぐらいしか出来ません。

で、PHP5.3のクロージャー(無名関数)と__callを使って、
メソードを上書きできる、ように見せることが出来ました。