NUブログ 自作Webアプリで一発当てたいプログラマ

FrontPage

最近の記事

2009-12-13 17:07:07

DBがローカルにあるということは

iPhoneはSQLiteが使えて非常に便利なんですが、アプリをアップデートするとき、慎重にやらないとアプリが起動しなくなって、再インストールしないと動かない状態になりそう。

WEBベースのアプリなら、プログラムもDBも全部サーバ上で動いてて、開発者が好きに触って更新できるけど、iPhoneアプリの場合、ローカルDBを更新したかったら、配信したプログラムにDBを更新するプログラムを含めないといけないんですね。

rails の Migrate みたいなフレームワークが欲しいなぁ。と思いました。 暇があったら作ろう。

2009-01-25 15:59:50

ブラウザ上で、JavaScriptでDBのER図を書いて、SQLやXMLで出力できるツール。 http://ondras.zarovi.cz/sql/demo/

Google Codeで公開されているので、ソースを落としてローカルで動かすこともできます。 便利そうだったのでインストールしてみました。 http://code.google.com/p/wwwsqldesigner/

作ったデータをXMLでまとめてDBに保存してるあたりがなんか共感してしまいました。 バリデーションがめんどうですが、プライベートな環境でしか使わないと割り切れば関係ないですし、実装は楽ですね。


コメント

PCが起動しなくなったので、修理に出したところ、「メモリまわりの接触不良」だったらしく、クリーニングと再装着で直ったようです。

症状としては、電源ボタンを押しても画面が全く表示されず、「ピー」とビープ音がなり続けるだけでした。BIOSも起動しなかったので、CPUまわりの故障だと勝手に思っていました。 PC買ってから一度もメモリをいじったことはなく、完全にノーマークで、危うく意味もなく別のCPUを買って試していたところでした。

おかげでやっとサーバも復帰しました(いい加減レンタルサーバを探した方が…)


こんなページを見つけた
電源が入らない!画面が出ない!BIOSが起動しない!パソコンが起動しない!Windowsが起動しない!トラブル・お問合せ

・警告音無し: CPU・メモリ・電源ユニットなどの異常が考えられます。
・「ピーーーッ、ピーーーーッ」: 3秒から5秒(機種によって若干異なります)の長めの警告がなっている場合には、
  メモリ・メモリスロット・BIOSの異常などが考えられます
・「ピーッピッピッピッ」: VGAカード・AGPスロットなどの異常などが考えられます

2番目の症状が近い、これだったのかなぁ。


コメント

2008-11-11 23:43:08

安くRailsが使えるレンタルサーバないかなぁ…

2008-10-13 17:04:56

Mashup Award 4の作品応募リストが公開されていました。

僕も楽天APIを使用したアプリを応募してみました。
iPhone/iPod touchで楽天の商品をカバーフローっぽく表示できるアプリです。iPhoneのsafariのCSSって、アニメーションやら3D効果が表現できて結構すごいです。

iPhone/iPod touch をお持ちの方はぜひ試してみてください。

rFlow > http://lisentia.com/rflow/


コメント

「Heroes」やら「プリズンブレイク」やら、アメリカのドラマを見たい!と思って楽天レンタルの会員登録を行いました。

で、せっかくiPhoneがあるので、出勤時に電車で見たいよね。ということでやり方を調べていたところ、Linuxで「HandBrake」という簡単に変換できるツールがあるようで、GUI版の「HandBrakeGtk」をインストールしようとしたら、なにやら依存関係でインストールできず…

もう少し調べていると、コマンドライン版のマニュアルを見つけました。

http://trac.handbrake.fr/wiki/CLIGuide

その中で、iPhone用に最適化されたオプションがありました。なんてご親切な。

取り合えずDVDドライブのパスだけ変更してそのままコマンドを実行してみる。

./HandBrakeCLI -i /cdrom -o ~/Movies/movie.mp4  -e x264 -b 960 -E faac -B 128 -R 48 -f mp4 -I -w 480 -m -x level=30:cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1

結構時間はかかりましたが、上記コマンド一発で変換できました!が、字幕が入ってない…
ヘルプを見てみると、

### Picture Settings---------------------------------------------------------
   :
   :
   -s, --subtitle <number> Select subtitle (default: none)
   -U, --subtitle-scan     Scan for subtitles in an extra 1st pass, and choose
                           the one that's only used 10 percent of the time
                           or less. This should locate subtitles for short
                           foreign language segments. Best used in conjunction
                           with --subtitle-forced.
   -F, --subtitle-forced   Only display subtitles from the selected stream if
                           the subtitle has the forced flag set. May be used in
                           conjunction with --subtitle-scan to auto-select
                           a stream if it contains forced subtitles.
   :
   :

このあたりかなぁ。とりあえず -s 1 を追加して再度実行。

./HandBrakeCLI -i /cdrom -o ~/Movies/movie.mp4  -e x264 -b 960 -E faac -B 128 -R 48 -f mp4 -I -w 480 -s 1 -m -x level=30:cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1

字幕付きにできました〜。
チャプターリストまで付いてました。これは快適。


追記
ubuntu に HandBrakeGtkをインストールするために monofix をインストールしないといけないらしい。で、以下の順番でインストール。

sudo apt-get install mono-mcs mono-2.0-devel gtk-sharp2
sudo dpkg -i monofix_1.0_all.deb
sudo dpkg -i handbrakegtk_1.0.1_i386.deb

参考
これでGUI版も動きました。

急遽、仕事でMacを使うことになりました。 現在LinuxとWindowsをSynergyで接続してキーボードとマウスを共有しているので、Macも追加で設定しようと思いました。が、様々な問題が発生。

  1. 日本語キーボードの配置の設定がうまくできない
  2. 一つのデスクにPC3台はスペース的に厳しい(特にiMacのでかさがハンパない)
  3. フロアに数少ないMacなので、他の人がたまに動作確認で使用する
  4. Linux,Windows,Macの3台構成は周りから見るとややヘンタイ

そこで、Synergyでの共有を諦め、Macを別のデスクに移し、VNCでリモートデスクトップで操作することにしました。

MacをVNCサーバにする

最初、Macにデフォルトで入っている「インターネットとネットワーク」の「共有」を試してみたのですが、これだとフルカラーでないと共有できず、実用に堪えないほどの速度しか出ませんでした。

次に試してみたのが Vine Server(OSXvnc)です。
これだとわりとサクサク動きました。
と言っても、ギリギリ使えそう、というレベルで、できればもうちょっと速い方が良い…

LinuxをVNCクライアントにする

さて、Linuxの方ですが、UbuntuにデフォルトでGUIから起動できる「インターネット」>「リモートデスクトップビューワ」を使用してみました。 一見良さそうだったのですが、「Ctrl+N」で新規接続メニューが出てしまい、これでは開発時に致命的な支障が出てしまいます。

次に、コマンドラインから「vncviewer」を試してみました。 これは「F8」以外は全て通してくれそうです。最初、フルスクリーンから戻る方法が分からずに焦ったのですが、「F8」で戻れました。また、起動時のパラメータで他のキーに変更することもできそうです。

  • フルスクリーンで起動する
vncviewer -FullScreen [VNCサーバのIP]

とりあえずこの構成でやってみようと思いますが、他にもっといい組み合わせってどなたかご存知でしょうか?


2008-09-03 13:16:01

仕様など

とりあえず UserAgent

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

変えたい場合はどうしたらいいんだろ?

2008-07-27 13:39:44

通常のsafariとの違いなど

対応していないもの

  • window.showModalDialog() or window.print()
  • Mouse-overイベント
  • hoverスタイル
  • ツールチップ
  • Javaアプレット
  • Flash
  • SVG
  • XSLT
  • プラグインのインストール
  • カスタムのx.509証明書
  • WML
  • ファイルのアップロードとダウンロード

HOME画面用favicon

DocumentRootに以下の画像を置く

apple-touch-icon.png

ページ毎に違うfaviconを使用したい場合、以下を<head>の中に書く

<link rel="apple-touch-icon" href="/customIcon.png"/>

サイズは57x57で作成する

ビューポートの指定

PCではウインドウのサイズを変えることができますが、iPhoneの場合は固定(980)されています。 ただし、<meta>タグで最適なサイズを指定することで、iPhoneはそれに合わせて表示してくれます。

<meta name="viewport" content="width=device-width; user-scalable=no;" />

device-width というのは、iPhoneが持っている固定値で、320です。
おそらく、今後もっと解像度の高い端末が出たときも、device-width を使用していれば、それぞれの端末のサイズを自動的に適用してくれるものと思われます。

[参考]https://developer.apple.com/jp/webapps/designingcontent.php

iPhone の javascript でできること

基本的に PC版 safari でできることは大抵できるんですが、特に気になった部分をピックアップします。

コンソールにデバッグ出力ができる

設定 > Safari > デベロッパ > デバッグコンソールオン にすることで、safariのアドレスバーの下にデバッグコンソールが表示されます。
ここにログを表示したい場合は以下のメソッドを使用します。

console.log("通常のログの出力");
console.warn("警告を出力");
console.error("エラーメッセージを出力");
console.info("インフォメーション情報を出力");

データベースが使える

safari 3.1 から Gears のような SQLiteベースの javascript database が使用できるようになったそうですが、 iPhoneでも使用できます。

[参考]Safari JavaScript Database Programming Guide: Introduction

2008-07-13 20:23:27

自分のような者がマカーなど大変おこがましいのですが、ついにMacを買いました! 初めてのMacなので、まずはどんなものか慣れるために色々触ってみたり、開発環境なんぞを整えてみようと思います。

テキストエリアに入力しながら気がつきましたが、普通に <Ctrl+f><Ctrl+b><Ctrl+n><Ctrl+p>でカーソル移動ができる!

Vimバインドでないのは残念というかしょうがないけど、ちょっと感動した!


インストールの記録などはこちら -> Mac


コメント

  • ありがとうございますー。まだ ctrlとshiftの位置が慣れないです。 -ksk- 2008-07-16 10:40:29
  • おお、それはおめでとうです! -hirony- 2008-07-14 13:59:21