Born Neet
JavaScript Anywhere 1.5リリース!
- 2010-07-10 (Sat)
- iPhone/iPad/IPod Touch
iPadに(暫定)対応したJavaScript Anywhereのアップデート版がリリースされました。
6月末リリースを目指していたので、約1週間遅れですが。
今回のバージョンでは、皆様からいただいた要望を元に、
以下の機能を盛り込みました。
是非、使ってみてください。(もちろん価格は無料のままです。)
- 複数プロジェクトのサポート
- Landscapeモードに対応
- 各種設定
- テキスト・背景色
- メール送信時の形式(添付ファイル or 本文)
- 画面回転ロック
- Webからファイルをダウンロード
ただ、付け焼刃の対応をした為、コードがもうぐちゃぐちゃです。
このままでは動作の安定にも悪影響を与えかねないということで、
改めてObjective-Cの勉強をしています。
次のリリースでは書き直したコードによる安定・高速版をお届けできる予定です。
「打倒有料ライバルアプリ」で頑張っていきますので、
今後ともjsanyを宜しくお願いします。
jQTouchとHTML5のlocalStorageでwikiみたいなの作った(w3c widget化も)
- 2010-06-22 (Tue)
- iPhone/iPad/IPod Touch
約一ヶ月ぶりのエントリ…完全に暑さに負けてますね^^
というわけで今日は日曜出勤の振替休日を利用して、
最近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 — jQuery plugin for mobile web development
説明不要。 - Showdown - Markdown in JavaScript
Wiki記法の代わりにMarkdownを採用しました。 - JSON in JavaScript
Mobile SafariでJSON.parse/stringifyする為に。
(現在の実装はlocalStorageに文字列しか格納できないので。仕様上はany data。)
参考サイト
jQTouch – 画面遷移の前にデータ処理 | STUDIO Bloom 大阪・北摂地域を中心としたWebサイト・システム制作
他、多数。
以上です。
あーブログの書き方をどんどん忘れていくー
自作iPhoneアプリをiPad実機で動かすところまで
- 2010-05-29 (Sat)
- iPhone/iPad/IPod Touch
ついに出ましたね、iPad。
ぼーっとしてる間に予約をし損ねたのですっかり諦めてたんですが、
当日に入手することができました。
※ softbank wifiスポットが2年間ただで使えるんですね、知りませんでした。
(3Gを売るためにあまり宣伝してなかった??)
どうやらかなり在庫があったようで、ビックカメラでは当日完売店舗が0だったと日経で報じられていました。
予約数をあえて制限し人気の過熱っぷりをアピールするマーケティング、さすがアップルと言ったところですか。
(日本企業なら予約者のことを考えて、とてもできなさそうです)
まだ少ししか触ってないですが、これはかなり使い易いです。
確かに機能的にはiPod Touchが大きくなっただけですが、
キーボードの打ちやすさとか、ネットの見やすさとか、大きいだけで断然違います。
これはますますPCを使う時間が減りそうだ…。
さて、そんなiPadですが、入手した自分のアプリがどう動くか気になります。
で、早速試してみたところ、iPhoneエミュレータが起動してその中で動くという残念な形に。
というわけでiPadの実機で動かすところまでをやってみました。
(iPhoneアプリを動かすところまではできてる前提にした殴り書きです。)
参考サイト
- iPhone アプリを iPad 対応にする方法(プログラミング編) : 管理人@Yoski
- iPhone京都勉強会(第3弾 - 第2回: 2010.05.19)
- iPad app from iPhone codes|iPhone App 開発
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=ページ番号」で記事を表示する機能だけ。
よし、やるぞー!