サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
dev.ariel-networks.com
開発部 川野です。昨日、キャノン IT ソリューションズ様主催の Sencha セミナーで講演させて頂きました。講演は、テキストエディタを使って Sencha Touch アプリを開発する、という内容です。参加者の方からとても元気が出る嬉しいフィードバックを頂いたので、興奮そのままにこの記事を書いています。 セミナーの後、何人かの方から、私の開発環境についてご質問を頂きました。私の個人的な環境ですが何かのお役に立てれば、ということで公開します。 === ◆テキストエディタ Sublime Text 2 Web エンジニアは UNIX 系のテキストエディタ(Emacs, Vim)を使う人が多い印象ですが、私は Sublime Text を使っています。Sublime Text も Emacs や Vim のようにカスタマイズできるテキストエディタなのですが、後発なだけあって、これまでのテキス
開発部 川野です。今週木曜日(7/25)、キャノン IT ソリューションズ様主催の Sencha セミナーでお話させて頂くことになり、デモンストレーション用に表題のアプリを作成しました。Node.js と Sencha Touch を組み合わせてアプリを作りたい方の参考になる気がしたので、ソースコードを公開します。 Photo Sharing App(ソースコード): https://github.com/kawanoshinobu/photo-sharing-app Photo Sharing App(デモ): http://photo-sharing.herokuapp.com Sencha セミナーでは、このアプリの作成方法を解説します。開催時間が平日昼間なのですが、もしご都合のつく方は、ぜひぜひお越し下さい!参加費は無料です ^^ お申し込みは以下のサイトから ↓ Senchaセミ
先週の金曜日、アスキー・メディアワークス様の会議室をお借りして、第 2 回目の Sencha Touch 2 ソースコード読書会を開催しました。お越し頂いた皆様、どうもありがとうございました! 今回もアスキー・メディアワークス様のご好意で Ustream 中継を実施して頂きました。録画が残っていますので、ご興味のある方はぜひご覧下さい。 – Ustream 録画 core/lang/Array.js まずはフレームワークの土台を支えるものから、ということで core ディレクトリのソースコードを読んでいます。前回、core/Ext.js、core/version/Version.js、core/lang/String.js と読み終えたので、今回はその続きの core/lang/Array.js から読み始めました。 splice について each forEach indexOf con
Sencha Touch Tutorial: HTML5 is Ready App Contest 1位アプリ「JDI」を作る #2 前回は Sencha.io のユーザーサービスを利用して、認証機能を作成しました。今回はアプリのメイン機能であるタスクデータの CRUD(作成、読み込み、更新、削除)機能を作成します。 – 一覧画面 – 作成画面 – 詳細画面 – 編集画面 今回のチュートリアルの完成形は、以下の URL から利用できます。 JDI at Tutorial #2: http://apps.kawanoshinobu.com/jdi-2 JDI は HTML5 is Ready App Contest で 1 位を獲得した Sencha Touch アプリです。アプリの概要については、チュートリアル #0 を参照して下さい。 Sencha Touch Tutorial: HTM
Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ
Sencha Touch Tutorial: HTML5 is Ready App Contest 1位アプリ「JDI」を作る #1 Special thanks to Simon Brunel, creator of JDI. He gave me permission to use JDI’s code to describe how to develop Sencha Touch apps. I sincerely appreciate his great works and fraternity! それでは JDI の作成に取りかかりましょう。今回は、アプリへの認証機能を実装します。 – ログイン画面 – ログアウト画面 今回のチュートリアルの完成形は、以下の URL から利用できます。 JDI at Tutorial #1: http://apps.kawanoshinobu.c
ラスボスが気まぐれで始めたコロコロ教ですが、まだ続いているみたいですよ。 そんな中でコロコロ教の存在を脅かす新たな勢力が現れました。 それは、グルグル教です。 グルグル教とはパワーボールを使ってトレーニングを行う新興宗教で、パワーボールを回せるという特殊能力を持った選ばれし者によって構成されています。 指先から肩までの広範囲の筋肉をトレーニングできるので、壁バカに大受けです。 がしかし、回せない残念な人もいます。 回そうとしても回せない残念な人 本場パワーボール(左)とそのパチもの(右) 頑張って両手で回している図 皆様も是非パワーボールで壁バカになりましょう。
アリエルの開発環境ってNotesのそれに似ているそうです。基本的にデータは全て、文書と呼ばれる単位で保存されます。RDBMSで言えば、テーブルの一レコードが一文書に相当します。それらの文書をアプリケーションって呼ばれる単位で格納しています。また、RDBMS的に言えばアプリケーションはテーブルに相当する概念らしいです。偉い人からは、厳密に言えばその説明は間違っている、って怒られそうですが…。 Notesの開発者にならもう少し厳密にマッピングできるように説明できるそうですが、Notesの開発者は希少種になりつつあるそうなので、それは触れてはいけないそうです。極めて単純化してしまえば、Notesも一覧画面と文書のCRUDが簡単に作れるシステムでしかないですよね。ちなみに、RDBMSもCRUDが簡単に作れるシステムの一つらしいです。 CRUDが簡単に作れるシステム、って言われても何ができるかよく分
「Sencha Touch はハマることが多い。ハマりから抜け出すには、、、ソース嫁!」 先週の金曜日、Sencha Touch 2 のソースコード読書会第 1 回目を開催しました。上記の言葉は、会の冒頭で LT をして頂いた高岡さんの言葉です。(いつも私の無茶ぶりを引き受けて頂いて、本当にありがとうございます _o_) Sencha Touch を使ったアプリの開発は、一般的な Web アプリの開発とは違う作法が要求されます。そもそも HTML は書かないですし、独自のクラスシステムやイベントシステムに従ってコードを書くので JavaScript を書いている感覚もそれほどありません。だから、、、ハマります。何度もハマって痛い思いをしたあげく辿り着いた結論は、ライブラリのソースコードをしっかり読むことでした。 Sencha のフレームワーク上で効率良く開発するには、ソースコードの理解が必
「アリエルって何の会社?」の記事で、アリエルは会社ができる以前からグループウェアばっかり作っている、って言うことが分かってもらえたと思います。グループウェアって、昔はそれ自体で価値があったのかも知れませんが、今はコモディティ化して特に目新しい機能はないです。他の製品と比較しても○×表がどれくらい埋まるか、って言うことで、ユーザからしてみればどれも似たようなものでしょ、と認識しているとおもいます。私の理解では、強いて言えば、その製品のUIが好きか嫌いか、と言う違いしかありません。 ホームページを見ていると、開発環境のようなことを謳っています。グループウェアについては一般的なことなので一度でも使ったことがある人なら分かると思うんですが、開発環境についてはアリエルで働いている私でもこのページの内容は漠然としていてよく分かりません。勉強不足でごめんなさい。 アリエルはLotusの出身者達が作った会
アリエルって技術が高そうだってよく言われますが、それと同じくらい何をやっている会社か分からないって言われます。技術的に高いかどうかは自分たちでは判断できませんが、何をやっている会社か分からないっていうのはそうだな〜、って感じます。会社のホームページを見ていてもよく分かりませんよね。 アリエルは昔はマルチスケジューラって言うP2Pで動作するスケジュールソフトを作っていました。本当はグループウェアだそうです。でも、最近はスケジューラって思っている人が多いみたいです。名前から連想するとスケジュールソフトですよね。グループウェアだって言っているは、スケジュールを複数の人で共有できるからだそうです。アメリカじゃグループウェアの定義はちょっと違うみたいなんですが、日本だと実質、グループウェアはスケジュール共有ソフトみたいな感じらしいです。 このソフトは無料で配布していて、ビジネスとしてはやっていないら
桜が満開ですね。先週、京都を旅行したのですが、清水寺の桜がとても奇麗でした。という訳で、今回は Sencha.io の話をします。 Problem: できるだけ短い開発期間でアプリをリリースしたいが、サーバーサイドのプログラミングが苦手、もしくは、毎回同じようなサーバーサイドのコードを書くのが面倒。 Solution: BaaS の利用を検討してみましょう。BaaS は Backend as a Service の略で、アプリのサーバーサイドで実装する機能を API として提供してくれるサービスです。 アプリのバックエンドで必要な機能は、だいたい似ています。ユーザー登録、ログイン認証、データの保存、通知 etc。これらの機能を、アプリを作る度に毎回用意するのは面倒ですし、しっかりと実装するにはそれなりのスキルが必要です。短い開発期間でアプリをリリースしたいときに、サーバーサイドの準備が足か
「現場で役立つノウハウを」というコンセプトで始まった Practical Sencha Touch シリーズ、今回は第 2 回目です。Sencha Touch のアプリが動作する環境は様々です。場合によっては、特定の端末だけ動作がおかしい、ということもあるでしょう。今回は、そんな時に重宝するツールをご紹介します。 Problem: 特定の端末だけアプリの動作がおかしい。原因を調査するために、詳細な情報が欲しい。 Solution: weinre を使います。weinre は Web インスペクタ リモート(WEb INspector REmote)の略で、端末のブラウザで表示しているページを PC ブラウザ(*)の Web インスペクタを使ってデバッグできるツールです。気になる発音ですが、公式ページによると「”ワイナリー”か”ワイナー”と呼ばれているが、どちらの発音が正しいかは知らない」と
先週、「Sencha Touch パーフェクトガイド」が出版されました。売れ行きはなかなか好調のようです。ご購入頂いた皆様、本当にありがとうございます。そして「はじめに」の正誤表を読んで、大事なことを思い出しました。今週から週1回のペースで Sencha Touch の記事を投稿します。。 実は「Sencha Touch パーフェクトガイド」には、書いていない内容があります。それは、所謂「バッドノウハウ」です。バッドノウハウはバージョンが変わると必要なくなったりする代物ですが、実際の開発現場では役に立つ情報です。今週から「Practical Sencha Touch」シリーズと題しまして、Sencha Touch アプリを開発する現場で役に立つノウハウを公開します。また、開発に便利な周辺ツールも併せてご紹介したいと思います。 Problem: Sencha Touch のドキュメントに含ま
先日の Developer Summit でのプレゼンに失敗して、すっかり意気消沈している開発部 川野です。 この度、弊社エンジニアの大谷、土江、稲垣、私、そして NTT レゾナント株式会社の森本恭平さん、フリーエージェントとして活動されている高岡大介さんの 6 名で、Sencha Touch の解説本を執筆しました。今月の 27 日、アスキー・メディアワークス様より出版します。 本の紹介 本のタイトルは「HTML5 モバイルアプリケーションフレームワーク Sencha Touch パーフェクトガイド」です。長いタイトルと一部で不評ですが、私は気にしていません。 書籍では Sencha Touch の導入から、フレームワークの基本構成、そして実践的なアプリケーションの開発方法までを扱っています。タイトルの「パーフェクト」の言葉通り、Sencha Touch に関する一通りのトピックを網羅し
(12/23追記: リンク先にあるチュートリアルを書き直しました) 開発部 川野です。今週月曜日に Sencha が発表した「Fastbook」が、すごい話題になっていますね!この投稿を書いているのは午前3時なのですが、こんな遅い時間にも関わらず、関連のツイートがたくさん飛び交っています。 Facebookのモバイルアプリが失敗した理由はHTML5のせいじゃない。HTML5でサクサク動くFacebookアプリを作って見せたSencha Touch開発チーム Facebookアプリを、HTML5でどうしてサクサクにできたのか。Sencha Touch開発チームが用いた3つのテクニック 私も早速触って、その驚異的なスピードに感動しました。「もしや、空前の Sencha Touch ブームが来るのでは!」と期待に胸をふくらませています :p Fastbook の衝撃をきっかけに、「Sencha
先週のありえるえりあミニ勉強会#4 ~ Google Closure Libraryにて@teppeisさんに発表していただいたfixclosureをRhinoのパーサーで書き直してみました。 https://github.com/tuchida/fixclosure-rhino Eclipseプラグインを作ったりClosure Compilerに組み込んだりしやすくなったのではないでしょうか。まあRhinoパーサー使いたかっただけなので用途を考えてないのですが。 以下脱線してRhinoの話をします。(rhino1_7R4時点) まずRhinoは 実装がJavaで作られている Rhinoで実行するJavaScriptからJavaを呼べる ということはつまりRhinoで実行するJavaScriptからJavaScriptエンジンを十全に使えるということを意味します。ただの「JVM上で動くJa
Ext JS や Sencha Touch など Sencha 製品は、世界中で使われています。Ext Japan のサイトでは、「世界中で100万人以上の開発者が Sencha フレームワークを使っています」と普及の規模を謳っています。携わるエンジニアが増えれば、コミュニティが発生するのは自然の流れで、Sencha 製品を利用する有志のコミュニティが世界各地で作られています。 大規模なところだと、ロンドン、シカゴ、パリ、、そして先日、日本でも Sencha 製品のユーザーグループが設立されました。 Japan Sencha User Group: http://www.meetup.com/Japan-Sencha-User-Group Japan Sencha User Group(※略して Sencha UG)は、Ext JS や Sencha Touch を使っているエンジニア同士
開発部 川野です。昨日、PyCon JP 2012(Python Conference Japan 2012)にて、Sublime Text 2 のセッションをしてきました。 以下、発表資料です。 今回のセッションをきっかけに、Sublime Text って面白そう!、と感じて頂ければ幸いです。が、私のつたないデモだと、むしろ逆効果だったのでは、と落ち込んでいたり。。Sublime Text は有償のテキストエディタですが、無期限(!)で試用できるので、ぜひとも一度使ってみて、その良さを直接体験して頂ければと思います。 Sublime Text – Download: http://www.sublimetext.com/2 PyCon JP 2012 運営チームの皆様、素敵なカンファレンスをどうもありがとうございました。「つながるPython」のスローガン通り、いろんな方と交流できた、と
Java 見習いのもりもとです。 アリエルのスタート地点 を知ってから、いつもどぎまぎしながら開発しています。 アリエルのスタート地点は、Javaと聞いて、ふっと鼻で笑える地点です。 私にとっては、スタート地点がまだまだ遠そうなのでしばらくは Python の話題でお茶を濁そうと思います。ちょうど良い機会なので Pythonic なテストツール pytest についてチュートリアルのような記事を何回かに分けて書きます。 pytest は、設定より規約 を設計原則とするツールで、xUnit スタイルではない funcarg という関数の引数をフックしてリソースインジェクションを行う仕組みを提供するなど、ユニークなテストツールです。さらに単体テスト、機能テスト、システムテストといった全てのテストフェーズにおいても利用できると、その応用範囲の広さも喧伝しています。ドキュメントも翻訳されているので
開発部 川野です。最近、Sublime Text が流行っていますよね。私の周りでも、Sublime Text を使っている、というエンジニアが増えてきたように思います。 パワフルでモダンなエディタを探している方は、ぜひ一度試してみてはいかがでしょうか。 そんな Sublime Text ですが、魅力のひとつに便利なプラグインの存在があります。本記事では、Sublime Text のプラグイン開発について取り上げてみようと思います。 Hello, World! Sublime Text のプラグイン開発を始めるのは、とっても簡単です。メニューバーの Tools > New Plugin.. を選択して下さい。雛形となるプラグインのコードが記述されたバッファを作ってくれます。Sublime Text のプラグインは、Python を使って書いていきます。 このプラグインは、バッファの一番最初
開発部 川野です。Sencha Touch で、タップして開閉できるアコーディオンリストが欲しかったのですが、どこにも見当たらなかったため、自分で作ってみました。もし必要な方がいらっしゃれば、ご自由にお使い頂けると嬉しいです(MIT ライセンスで公開しています)。 デモサイト(スマートフォン標準ブラウザか、Chrome、Safari でお願いします): – http://accordionlist.senchafy.com 使い方は簡単で、TreeStore をセットすれば完了です。TreeStore の階層構造に従って、アコーディオンリストを動的に構築します。アコーディオンの入れ子も無制限で可能です。 初期表示時にアコーディオンを展開するかどうかのオプションと、ヘッダーとコンテンツのテンプレートを自由に設定することができます。 ソースコードは GitHub で公開しているので、詳細はそち
スマートフォンのブラウザで WEB アプリをストレスなく動作させるのは、結構難しいチャレンジです。モバイルブラウザは非力で、レンダリングもスクリプトの実行も PC ブラウザと比較すると桁違いに遅いです。また外出先で使われることが多い特性上、利用時のネットワーク状況も恵まれているとは言い難いですよね。 このような不利な状況でユーザーに快適に利用してもらうために、いくつか心がけたい工夫があります。 – サーバーへのリクエスト回数を最小限にする – ファイルのサイズを最小限にする – 静的ファイルを端末側にキャッシュさせる – ローディング画面を表示して、ユーザーを安心させる 特に、端末へのキャッシュは強力な手法で、うまく実装すれば電波の届かない状況で WEB アプリを動作させることも不可能ではありません。ただ、適切にファイルをキャッシュさせるのは、なかなか難しい課題のように思われます。意図通り
WEB+DB PRESS Vol.69に「大規模コードリーディング」と題した記事を寄稿しました。 元ネタはTGSで行った講義です。この時の講義資料を見た編集者から執筆を依頼されました。講義は2月初めでしたが、雑誌として記事が載るのは6月末になりました。こう考えると紙媒体のタイムラグは相当なものです。今回に関しては時流に関係する内容ではないので問題はありませんが。 講義で一度話した内容なので執筆は余裕だろうと思っていましたが、書けばそれなりに苦労しました。 コードを書く技法もそうですが、コードリーディングの技法はそもそも伝達可能なのかという深刻な問いがあります。わかった気にさせることはできるかもしれませんが、経験しないと結局わからない懸念もあります。ブレンダン・アイク氏もゲシュタルトなプロセスと言っています。ただ、そんなことを言っていると、ソフトウェア開発はいつまで経っても未熟な産業のままで
Emacsファンなら既に今月のSoftware Design(以下SD)を買ったかと思います。VimとEmacsの特集が載っているからです。 Emacsの名のつく特集にアリエルから寄稿がないのもあれなので、序章を書きました。エッセイみたいな小文です。もし世の中にEmacsエッセイストという職業が成り立つなら、ぼくは名乗る資格があるかもしれません。なる気はありませんが。 少し前にもSDでVimとEmacsの特集があった気がすると思った人はおっさんかもしれません。前の特集は1年2ヶ月前です。おっさんには最近の話ですが、若い人には遠い昔の話です。 遡ると2008年2月号に「Emacsマスターへの道」がありました。裏話ですが、「Emacsのトラノマキ」を始めるきっかけがこの特集でした。更に言うと、次のふたつの社内勉強会の公開資料をSD編集者が見つけたのが、上記特集のきっかけでした。こういうこともあ
開発部 川野です。今回は少し趣旨を変えて、開発の Tips ではなく、Sencha Touch アプリの開発に適したエディタをご紹介させて頂こうと思います。 Sencha Touch のアプリは、規定の MVC(Model View Controller)構成でプロジェクトを作ることが想定されています。また、JavaScript ファイルを動的に読み込む機能や、Sass のコンパイルでも、規定のディレクトリ構成に従ってファイルが配置されていることを前提にしています。 こういった構成を強制されることでファイルが適切に分割されてメンテナンスし易くなるのですが、その分、ファイルの数が増えることになります。私が普段使っているエディタはバッファ間の移動が苦手なので、プロジェクトのファイルが増えてきた場合の移動が煩わしく、何かよい解決策がないか考えていました。 Sencha 社が提供しているスクリーン
ラングリッチからアリエルがケンカを売られました。嘘です。高いEmacs力を褒めてもらいました。ありがとう。 せっかくなので、自分がラングリッチの入社基準を満たしているのか確認してみました。 * PHP, Ruby, JS など、複数の言語がふつうに使える方 「パーフェクトJava」を執筆する程度にはJavaを知っています。JavaよりCのほうが自信があるので、基準は満たせていると思います。なおJavaScriptの文法知識は自信がありますが、DOM知識が絶望的なので期待しないでください。 * MySQL, Apache, Nginx, ロードバランサ, キャッシュサーバなどインフラ知識もふつうにある方 Apacheは細かい落とし穴を含めて色々と知っている自信があります。HTTPはrfc2616をかなり読み込んでいるので基準を満たせていると思います。 * Unix コマンドがふつうに使える方
Coders at Work プログラミングの技をめぐる探求の紹介の後半です。 心に残ったひとことの引用と、それに対する個人的な感想を書きます。引用は手動で書き写しているので書き間違いがあるかもしれません。何か変だったら前後から類推するか本を当たってください。 ジョー・アームストロング 今から思うとおかしいのは、現代的な小道具というのはどれも、実際にはより生産的にしてくれるものではないことです。(略)ソフトウェア開発の大部分はどのみち頭の中で行われるのです。(略)それから今日では選択の重荷が大きすぎると思います。(略)昔は選択による麻痺状態なんていうものはありませんでした。単に始めるだけのことで、言語やなんかに何を使うかという選択は、すでになされていたのです。どれにするかと考えることはなく、ただやり始めれば良かったのです。 Erlang作者のジョー・アームストロング氏の懐古主義な感想です。
Coders at Work プログラミングの技をめぐる探求を読みました。文字が小さめでかつびっしりと文字ばかりの本なので、ページ数の割に読むのに時間がかかりました(ページ数の割にと言っても、600ページ弱なので薄い本ではありませんが)。 これは良い本です。名文ぞろいです。 心に残ったひとことの引用と、それに対する個人的な感想を書きます。引用は手動で書き写しているので書き間違いがあるかもしれません。何か変だったら前後から類推するか本を当たってください。 長いので何回かに分割します。 ジェイミー・ザウィンスキー C++には嫌悪しか感じません。あらゆることがあらゆる仕方で間違っています。だからNetscapeでは可能な限りC++を避け、何でもCでやっていました。 XEmacsやMozilla(辞めた件)で有名なjwzの言葉です。本を読む前からjwzのC++嫌いは知っていましたが、相変わらずの過
次のページ
このページを最初にブックマークしてみませんか?
『ありえるえりあ | 上から読んでも下から読んでも・・・』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く