Home

Born Neet

JavaScript Anywhere 1.5リリース!

iPadに(暫定)対応したJavaScript Anywhereのアップデート版がリリースされました。
6月末リリースを目指していたので、約1週間遅れですが。

今回のバージョンでは、皆様からいただいた要望を元に、
以下の機能を盛り込みました。

是非、使ってみてください。(もちろん価格は無料のままです。)

  • 複数プロジェクトのサポート
  • Landscapeモードに対応
  • 各種設定
    • テキスト・背景色
    • メール送信時の形式(添付ファイル or 本文)
    • 画面回転ロック
  • Webからファイルをダウンロード

ただ、付け焼刃の対応をした為、コードがもうぐちゃぐちゃです。

このままでは動作の安定にも悪影響を与えかねないということで、
改めてObjective-Cの勉強をしています。

次のリリースでは書き直したコードによる安定・高速版をお届けできる予定です。

「打倒有料ライバルアプリ」で頑張っていきますので、
今後ともjsanyを宜しくお願いします。

jQTouchとHTML5のlocalStorageでwikiみたいなの作った(w3c widget化も)

約一ヶ月ぶりのエントリ…完全に暑さに負けてますね^^

というわけで今日は日曜出勤の振替休日を利用して、
最近Ext.jsに合流したりで話題のjQTouchを触ってみました。

そしてできあがったのが、このwikiもどきです。

wiki5

説明

触っていただければ使い方はなんとなくわかると思います。
ただ、Mobile Safari以外では一切動きません。
(iOS4上では動作未確認です。)

また、タップが効かない、ボタンがアクティブのままになる、
画面が真っ黒になる等、全体的に挙動が安定していません。
(はい、テスト不足です。)

どうにもならなくなったときは「wiki5/index.html?clear」にアクセスすれば、
初期化されます。

あと、ついでですがw3c widgetにもしてみました。
cloud readerで動作することを軽く確認しています。

wiki5

中身の解説は暑いのでやめておきます(!)が、
ソースコードはgithubに置いてますので、ご自由にどうぞ。

tnantoka's wiki5 at master - GitHub

感想

今回、jQTouchのドキュメントを一切読まずに進めてしまったので、
予想以上に苦労しました。
やっぱり無茶はダメですね。

あと、iPhone Webアプリはデバッグが大変だな、と。
MacのSafariで動いても、シミュレータでは全然動かないとかも多々。

小さいアプリこそ実は、IBでちょちょいと作ってネイティブアプリにした方が
楽だったりするのかも。

使用ライブラリ

参考サイト

jQTouch – 画面遷移の前にデータ処理 | STUDIO Bloom 大阪・北摂地域を中心としたWebサイト・システム制作
他、多数。

以上です。
あーブログの書き方をどんどん忘れていくー

自作iPhoneアプリをiPad実機で動かすところまで

ついに出ましたね、iPad。
ぼーっとしてる間に予約をし損ねたのですっかり諦めてたんですが、
当日に入手することができました。
※ softbank wifiスポットが2年間ただで使えるんですね、知りませんでした。
 (3Gを売るためにあまり宣伝してなかった??)

どうやらかなり在庫があったようで、ビックカメラでは当日完売店舗が0だったと日経で報じられていました。

予約数をあえて制限し人気の過熱っぷりをアピールするマーケティング、さすがアップルと言ったところですか。
(日本企業なら予約者のことを考えて、とてもできなさそうです)

まだ少ししか触ってないですが、これはかなり使い易いです。
確かに機能的にはiPod Touchが大きくなっただけですが、
キーボードの打ちやすさとか、ネットの見やすさとか、大きいだけで断然違います。
これはますますPCを使う時間が減りそうだ…。

さて、そんなiPadですが、入手した自分のアプリがどう動くか気になります。
で、早速試してみたところ、iPhoneエミュレータが起動してその中で動くという残念な形に。

というわけでiPadの実機で動かすところまでをやってみました。
(iPhoneアプリを動かすところまではできてる前提にした殴り書きです。)

参考サイト

3.2 SDK導入

まずは、iPhone SDK 3.2をインストールします。
iPhone Dev Centerからどうぞ。
ダウンロード&インストールで1時間以上かかるので注意です。
インストーラは全部デフォルトのまま次に行っちゃって問題なしです。

シミュレータで動かす

Upgrade Current Target for iPad

Xcodeで既存iPhoneアプリのプロジェクトを開きます。
左ペインの「グループとファイル」から「ターゲット」を開きます。
その中にあるターゲット(プロジェクト名のもの)を右クリックして、
「現在のターゲットをiPad用にアップグレード…」をクリックするとポップアップが出てくるので、
「One Universal application」を選んで進みます。
「Resouces-iPad」グループ(中身は空)ができればOKです。

次に、メニューの「プロジェクト」→「プロジェクト設定を編集」を選びます。
Targeted Device FamilyをiPhone/iPadに変えておきます。

これで下準備はOKです。

Create iPad Version

次にiPad用のリソースを作り、シミュレータで動かします。

「Resouces」の「MainWindow.xib」をダブルクリックで開きます。
開いたInterface Builderのメニューから、
「File」→「Create iPad Version Using Autosizing Masks」を選択します。

すると、iPad用の画面が出てくるので、保存します。
場所はプロジェクトの「Resouces-iPad」内に、名前は「MainWindow-iPad.xib」で良いです。
※ このファイル名は「*-info.plist」の「Main nib file base name (iPad)」で指定する必要がありますが、
 デフォルトで上記の名前になっています。

保存を押すとポップアップが出てくるので、プロジェクト名のターゲットをチェックしてAddします。

「*ViewController.xib」も同じ手順で「-iPad」付きのファイルを作ります。

こうすると、「グループとファイル」の中に「-iPad」付きの.xibファイルができるので、
「Resouces-iPad」にドラッグ&ドロップします。

最後に「MainWindow-iPad.xib」を開き、
「Attributes」の「NIB Name」を「-iPad」付きのControllerに変更します。

これで、「Simulator - 3.2 | Debug」等で実行すればiPadシミュレータで動くはずです。
※ 部品の大きさなどは調整する必要が有ります。

実機で動かす

iPhone Provisioning Portalの左メニューから「Devices」を選択します。
「Add Devices」を選択して、左列の名前は適当に(iPad等)、右列のDevice IDには、
iPadを繋いで、「Xcode」→「ウィンドウ」→「オーガナイザ」から表示される「identifier」をコピペします。

次に、左メニューから「Provisioning」を選択します。
iPhoneアプリ用に既に作っているものを使いまわす為、
「Edit」→「Modify」を選びます。そして「Devices」を「Select All」してsubmitします。

するとPending状態になるので、画面を更新しActiveにし、downloadします。

先程開いた「オーガナイザ」でiPadを選択し、「Use for development」をクリックすると出てくる、
「Provisioning」にダウンロードしたファイルをドラッグ&ドロップします。
「プロジェクト設定を編集」から「コード署名ID」も今ダウンロードしたものに変更します。

そして、「Device - 3.2 | Debug」等で動かせば…

動きました!!


まとめ


とりあえず実機テストまでは行けました。

このままApp Storeに申請…といきたいところなのですが、
どうやらiPadアプリはportrait/landscape両対応が必須らしいので、
頑張りたいと思います。

ruby1.9をcoreserverとmacのホームディレクトリにインストール

  • 2010-05-24 (Mon)
  • Ruby

久々のブログ。
大したネタはないけど、たまには書かないと文章の書き方忘れちゃいそうなので。

ということで、rubyに関するちょっとしたメモ。

開発環境であるmacと本番環境であるcoreserverを統一したくて、
rubygemsをホームディレクトリに入れようとするも失敗。

諦めかけたけど、1.9にはgemが同梱されているということで、
いっそのこと1.9をインストールしちゃえばいいんじゃないかとやってみた。

結果、すんなりうまく行ったので手順を残しておく。

参考

Ruby1.8系とRuby1.9系を共存させてみる。 - 名もないテクノ手

手順

# 作業ディレクトリの作成
mkdir src
cd src

# ダウンロード・展開
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.gz
tar zxf ruby-1.9.1-p378.tar.gz
cd ruby-1.9.1-p378

# パス設定
vim .profile
export PATH=$HOME/local/bin:$PATH
:wq
source .profile

# coreserverは.bashrcで
vim .bashrc
source .bashrc

# インストール
# 場所は~/local以下、コマンド名はruby19(gemはgem19)
./configure --prefix=$HOME/local --program-suffix=19
make
make install

# coreserverでは以下のエラーが出た
make[1]: Entering directory `/virtual/core/src/ruby-1.9.1-p378/ext/dl'
gcc -I. -I../../.ext/include/i686-linux -I../.././include -I../.././ext/dl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -fno-defer-pop -fno-omit-frame-pointer  -o callback-4.o -c callback-4.c
gcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See  for instructions.
make[1]: *** [callback-4.o] Error 1
make[1]: Leaving directory `/virtual/core/src/ruby-1.9.1-p378/ext/dl'
make: *** [mkmain.sh] Error 1

# 手動で失敗したコマンドを叩いた後、makeすれば通った
cd /virtual/core/src/ruby-1.9.1-p378/ext/dl
gcc -I. -I../../.ext/include/i686-linux -I../.././include -I../.././ext/dl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -fno-defer-pop -fno-omit-frame-pointer  -o callback-4.o -c callback-4.c
make

# インストール確認
ruby19 -v
gem19 -v

~/.profile, ~/.bashrcとmakeでこけるとこ以外は、mac, coreserver共通でいけました。
貴重な日曜日のかなりの時間を費やしたのに、1.9ならこんなにすんなりいけるとは。
やっぱ言語に標準で組み込まれているってのはいいですねー。

rubyでCMS(blogツール)を作ってみようかと思う

  • 2010-05-06 (Thu)
  • Ruby

ようやく本腰をいれてサーバサイドスクリプト(ruby)を勉強しています。

で、レベルアップのためにはオープンソースのコード読むのがいいかな、
と思ってCMSを漁ってみました。(CMSとかWikiクローンとか昔から好きなんです)

興味を持ったのは以下のもの。

  • sakura
    かなり古いblosxomクローン
  • lily
    こちらもかなり前のblosxomクローン
    昔聞いたことがあるし、わりと有名だったはず。
  • The Bilbo Diary
    2009年製、新しい。1.8.7、1.9対応。DB不要。
    コンセプトは大好きだけどSinatraにコミットする気にまだなれないんだよなぁ。
  • stream-of-consciousness
    2010年製。生のRubyで1ファイル。1.8.7&1.91対応でDB不要。
    これはかなり好き。名前長いけど。
  • bliki
    これもいいんだけど、Sinatraベース。
    rubyをある程度マスターした後、フレームワークを手を出す時には是非パクリたい。

触るとしたらStream of consciousnesかなー。
ただある程度ソースいじらないと動かなかったんだよなぁ。

なんていろいろ悩んでたんだけど…だったら「自分で作ればいいじゃん!」
という結論にいたった。

そんで躓くことがあったらオープンソースを参考にすればいいと。

ってことでまずはコンセプト(?)を殴り書き。

  • cgi 1ファイル構成。置くだけで使える。
    ただ、設定ファイルは別ファイルで。
  • storageはまずファイル。日付はtimestampで。
    ゆくゆくはSQLiteに対応したい?
  • 記事はFTPアップじゃなく、GUIで。
    ただWYSIWYGは絶対やらん。
  • installが必要なライブラリは極力使用しない
  • テンプレートはVicunaベースで。
    ただ変更できるようにもしたい。
  • blogdataを置くディレクトリがなければ勝手に作る。
  • コメント機能ぐらいはつけたいなー(Twitter or はてぶで代替?)

カテゴリをどうやって管理するかがぱっと考えた感じ大変そう…。
※ ディレクトリで分けちゃうと、全記事を日付で取得するとき面倒?
  Dir.glob('*/.html')とか??

そんな感じでプロトタイプがこちら。
名前はLiary(Lightweight Diary)で決まり。
※ リンク先がlocalhostになってたので直しました。(2010/05/16 13:42)

Liary Test

まだ、「?p=ページ番号」で記事を表示する機能だけ。

よし、やるぞー!

Home

Page Top