jQueryサイト:リファレンスの修正とプラグインの追加

今週は色々忙しかったのと、deferredオブジェクトの再勉強のため、あまり進めることが
できませんでした。
 
 

リファレンス修正

jQuery.deferred

Deferredについては私の理解ミスがあったので今回修正しました。
簡単にいうとDeferredはアニメ用のpromiseと通信用のjqXHRがあると勘違いしていました。
実際は異なり、deferredオブジェクトからpromiseオブジェクトを作成して利用する
仕組みになっています。またjqXHRはpromiseオブジェクトを内包するXMLHttpRequest
のような仕組みです。
色々説明が長くなったので、目次に書いていたことをページとして分離しました。
→リファレンス:deferredメソッド 

 

jqXHRオブジェクトの説明

従来はdeferredオブジェクトの目次に書いていた説明なのですが、jqXHRオブジェクトは
通信関連に利用するものなのでAjaxの目次に移動しました。
→リファレンス:Ajax:目次 

 

when

promiseオブジェクトはアニメ意外にも利用できると理解したので通信のサンプルを
色々と追加しました。
→リファレンス:whenメソッド
 
 
 

プラグインの追加

deferredの再勉強をしている時に、アニメって一時停止できないのかな?と
思ったので、調べてみたらありました。しかしdeferredに対応していないどころか
アニメのキューにも対応していませんでした。しかし使いどころはあるかもしれない
様な気もします。
→プラグイン:アニメの一時停止
 
 
 

jQueryサイト:リファレンスの修正

リファレンスの修正

jQuery問題集vol2の問題作成に入りました。vol1の時と同じようにリファレンスを
確認しながら作成しているので、今回もリファレンスに色々追加/変更しています。
 
イベントや演出効果は頑張って作成されていたのですが、ajax関連は
すこし手抜きっぽくなっていたので、以下の様にたくさん追加しました。
 

jQuery.get

getメソッドに設定したfunctionは読込に成功した時にしか実行しません。
実際に読込に失敗した場合はfunctionが実行されないサンプルを追加しました。
→リファレンス:get「読込のエラーを検知するには
 
 

deferred.done

上記に関連してdeferredオブジェクトのdoneメソッドに以下の項目を追加しました。
→リファレンス:「アニメには異常終了は無い?
 
 

getJSON

getJSONではObjectオブジェクトだけでなく配列も読み込めるので
そのサンプルを追加しました。
→リファレンス:get「jsonデータを取得する(配列の例)
 
 

ajaxComplete

グローバルイベントハンドラのメリットを説明する項目を追加しました。
→リファレンス:ajaxComplete「グローバルであることのメリット
 
 

ajaxSend

サーバーにアップしたら機能しなかったサンプルなのですが、考え方として有用だと
思うので削除しませんでした。
→リファレンス:ajaxSend「通信前に通信の詳細をチェックする
 
ajaxPrefilterメソッドと異なりセッティングの内容を変更することはできない
ことを確認したサンプルも追加しています。
→リファレンス:ajaxSend「 ajaxPrefilterメソッドとの違い
 
 

ajaxStart

すこし実用的なサンプルを追加しました。
→リファレンス:ajaxStart「すこし実用的なサンプル(Now loading)
 
 

ajaxStop

すこし実用的なサンプルを追加しました。
→リファレンス:ajaxStop「すこし実用的なサンプル(全てのデータが揃ってから開始)
 
 

ajaxSetup

メモに本家サンプルの解説を追加しました。
→リファレンス:ajaxStop「ajaxメソッドと組みあわせて活用
 
 

ajaxTransport

本家サイトには「ajaxTransport」というメソッドがあるのですが、うちのリファレンス
にはありませんでした..。
何でかな?と思い本家サイトの内容を確認したら、すぐに思い出しました!
さっぱり理解できなかったのです。直訳でお茶を濁すこともできないほど理解できません
でした。だからリファレンスに載せなかったのです。
 
他のリファレンスサイトの説明を確認してみましたが、やっぱり分かりません…。
なので今回も載せないし問題集アプリにも載せません。
→参考:js STUDIO様「$.ajaxTransport()
 
 
 

来週はdeferredオブジェクト

リファレンスのdeferredオブジェクトも、昔よりも理解が深まったので
色々追加することになりそうです。
 
 
 

jQueryサイト:問題集アプリの完成

itunes

ついにjQuery問題集アプリがリリースされました!

問題数が50問のLITE版は無料なので、興味のある方は是非ダウンロードしてみて下さい。
iPhone/iPodTouch用のアプリでiOS6以降のOSに対応しています。
 
上記画像をクリックするとAppleのアプリ紹介のページ(iTunesプレビュー)にリンク
しますが、iPhone/iPodTouchのApp Storeで「jquery quiz」と検索しても簡単に
見つけることができます。
 
もし気に入って頂けたら、214問のjQuery問題集vol1を購入して頂けたらと思います。
リリース記念として2月末までは200円で販売しています(3月からは300円の予定)。
vol2は4月にリリースする予定です。
 
 
 

言語設定の謎

iOSのAppStoreでは情報の項目に言語は無いのですが、上記リンクのiTunesプレビュー
では情報の項目に言語があり、jQuery問題集は「英語」と記載されています…。
 
アプリの登録情報はきちんと「Japanese」を選択しているのに何故?
iTunesプレビューで色々なアプリを観察すると、他にも日本語のアプリなのに言語が
英語になっているモノが多数あります。
 
こんどサポートに電話して聞いてみようと思います。
審査は英語だけれどサポートの電話は日本語もOKらしいので。
→参考:Worldwide Telephone Support
連絡の際にはTeamIDかEnrollmentIDを伝えるということを自分用にメモ
 
 
 

jQueryサイト:リファレンスの修正&アプリ紹介サイト

リファレンスを少し修正

今週はiOS用のjQuery問題集の実機テストで最終的な校正をしました。
htmlアプリの段階で何回も校正していたので、簡単に全問正解できると
おもっていましたがダメでした…。
 
間違えたのは、混乱しやすいafter/insertAfterなどです。
機能は同じだけれど、構文が異なるメソッドは混乱しやすいです。
これを期に、きちんと覚えようと思ったのでリファレンスにある説明図を
以下の様に修正しました。英語の構成から覚えると良いような気がします。
***************************************************************
オレンジ色の修飾語がついているメソッドは主語に追加する内容を設定します!
***************************************************************
 
pos_after
 
pos_before
 
pos_append
 
pos_prepend
まめ知識:prependという単語はappendという単語に対する言葉として作成された
     コンピュータ用語なのですって。
 
 
 

sliceとsplice

javaScriptでは機能が似ているsliceとspliceというのがあり
特にspliceは特定の要素番号を削除することができるのでよく利用されます。
→参考:javaScript「splice
→参考:javaScript「slice
 
jQueryにはspliceは存在しないのですがsliceは存在し、問題集アプリでも
出題されます。この問題の選択しにspliceを混ぜておいたら、見事に自分で
引っかかりミスしてしまいました…。
→参考:jQuery「slice
 
まあ、これは自分用の注意書きです。
 
 
 

jQuery問題集の紹介サイト

現在アプリは審査待ちなので、まだまだリリースできないのですが
紹介サイトは完成したので、ここでご紹介。リリースされたらリファレンスから
リンクする予定です。
→参考:jQuery問題集
スクリーンショット-2014-01-10-0.58

 
無事、審査に受かると良いのだけれど…。
 
 
 
 
 

iOS:実機テスト開始

1/4日に無事apple developrt programに加入することができました。activate
 
でもって、早速実機テスト。以下のサイトがとても参考になりました。
というか予想外に色々な手順がありました。
→参考:Yasushi Noguchi Class様「iOSデバイス(iPhone・iPad)実機テスト
→参考:GClue blog様「Xcodeで実機デバッグをするまでの手順
 
 
実機の登録/接続が完了すると下図のようにシミュレータを選択する
部分で登録した実機を選択する事ができるようになります。
jikki
 
 
 
 

実機テストの結果

今週は実機で色々デバッグするとして、今回調整したことをメモ。

・音量

MacもiOSでも音量のメモリをそろえてヘッドフォンで確認。
iOSの方が圧倒的に音量が低い。なので、音量の設定を上げました。
BGMなどがある他のアプリの音量と比較してさらに調整。
(BGMはうるさくないように少し小さめに設定)
 

iOS版safariの問題

私のiPodTouchはiOS6の中でも一番古い機種なのでCPUが非力。それゆえ
Mac上でのシミュレーション結果と異なる部分がありました。

・スクロールのカクツキ

問題の選択肢をタップすると結果画面にスクロールで移動するようにしてい
ますが、このスクロールがカクつきます。
この処理はスクロールだけでなく、正解画面の生成も合わせて実行してる
ため通常のスクロールよりも負荷が高くなっているのです。
なので「正解画面の作成」と「スクロール」を同時に実行するのではなく
0.25秒の間隔をあけて実行するようにしたところ、カクツキは解消されました。

・画面が一瞬暗転する

これは原因の究明に時間が少しかかりました。このアプリではページ移動では
なく、各コンテンツをshowメソッドやhideメソッドで切り替えているのですが
スクロール位置が0でない時にshowメソッドやhideメソッドを利用すると
一瞬画面が暗転することを突き止めました。
例えばリスト画面で下の方のページを見ている時に、menuボタンでトップに
戻る際などに発生します。
 
なので、コンテンツを切り替える際はスクロール位置を0に戻してから切り
替えるようにしました。これで画面が一瞬暗転する問題を解決できました。
結果として、リストの位置が最上部に移動してからトップに戻るという
ことになったのですが、暗転よりはマシなので良しとしました。
 
 
 

その他

あと気になるのは復習コードが大量になった場合の挙動。
214問を一気に解答していくと、iOS/jQuery間の文字のやり取りが
600文字を越えてきます。非力なCPUに、この処理がどう影響するのか?
目に見えるような動作の遅延が生じるのか?
今日は時間が無いので、明日以降に挑戦しようと思います。
 
 

iOS:お正月だけどAppleから連絡が来た

あけましておめでとうございます。
 
お正月(3日)だというのに朝10時にAppleからdeveloprt programの確認の電話がきた!
電話で目が覚めたので、寝ぼけながら電話に対応..。途中でAppleからの電話ということに
気が付く。電話で確認がくるなんて思っていなかったのでビックリ。しかもお正月なのに。
 
そして確認事項は英語での会社名「designdrill,k.k.」の「,k.k.」の部分。
本当にコレでよいの?ということ。変更を依頼して申請が伸びるのもイヤだったので
OKですと返事。すると、すぐに登録をすすめるメールを送るとのこと。
 
その際、電話で「ブラウザはsafariで」と注意を受けたのでメモして2度寝。
昼過ぎに起床し、メールのリンクからsafariで登録を進めるにもカートに何も
表示されず進めることができない!
 
寝ぼけていたため、もしかしたら「ブラウザはsafari以外で」かも?と思い
chromeでページを開くとカートに「iOS Developer program – Membership for one year」
がカートに入っていて購入することができました!。
24時間以内に次のステップへ進めるメールが届くそうです。
 
 
 

,k.k.という表記について

英語での会社表記「co. ltd.」と「Inc.」って、漠然と「co. ltd.は大きい会社」で
「Inc.は小さい会社」と思っていたのですが、調べると全然違いました。
Inc.は主にアメリカで利用され、Co.Ltd.は主にイギリスの未上場会社で
利用されるそうです。
→参考:ビジネス英語雑記帳さま「Co LtdとIncの意味の違い
 
そして「,k.k」という表記は日本で設立された会社を強調したい時に付けられ、
外資企業の日本支社が本社の表記との重複を避けるため付けることが多いそうです。
外国と取引がある場合は意味が通じないので、通常の企業では付けないそうです。
英語版のアプリを開発する予定は今のところ無いので、とりあえずは「,k.k」で
いこうと思います。
 
 

東京で会社設立すれば自動的にduns numberが申請される?

というか、そもそも何故duns numberに「designdrill,k.k.」と登録されていたのか?
たぶん東京商工リサーチというところが東京で法人登記された会社を登録しているような
気がします。本日(3日)はお正月のため、サービスが停止中で該当ページを見つけることが
できなかったのですが、duns numberについて調べている時に、そのような記載を見かけた
気がします。
 
designdrillの法人登記は司書に任せず、自分でマニュアル本を見ながら行ったのですが
その本では法人登記の会社住所は曖昧でもOKとあったので部屋番号は記載せず登記しました。
そしてduns numberに登録されていた住所も部屋番号は記載されていなかったので、やはり
登記情報を元にduns numberに登録されたような気がします。
 
 
 

法人のクレジットカードは必要ない

appleからの電話では「お支払いはクレジットか銀行振込で」と伝えられました。
サイトには「A valid credit card for purchase.」ってあるので
わざわざ法人のクレジットカードを作成したのに!
 
さらに法人カードは審査に3〜4週間かかるので、プリペイドクレジットを作成して
待機していたのですが、dunsnumberの取得に時間がかったため、
これも必要ありませんでした..。