結果から言います。
メールアプリケーション(Mac OS Xの「メール」や「Microsoft Outlook」など)と同期されます。
iTunesではメモ帳を同期するように設定したのですが、
どこを探せばいいかわからなかったので、調べました。
言うまでもないことかもしれませんが、
私のように知らない人もいると思って、一応書きました。
結果から言います。
メールアプリケーション(Mac OS Xの「メール」や「Microsoft Outlook」など)と同期されます。
iTunesではメモ帳を同期するように設定したのですが、
どこを探せばいいかわからなかったので、調べました。
言うまでもないことかもしれませんが、
私のように知らない人もいると思って、一応書きました。
PDFの本をiPhoneに同期し、帰り道やカフェーで読みのが今一番楽しいことです。
iPhoneの既存ビューアでもPDFは見れますが、
あまりにも機能的に貧乏すぎます。
私が求めているのは以下の2点です。
いろいろ調べたらGoodReaderが出てきました。
115円にとってはかなり使いやすいものです。
購入はこちら:http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306277111&mt=8
幾つかのスクリンショットで紹介しましょう。
これが初期画面です。
ファイルのインプットタイプでフォルダが分けています。
ファイルの選択画面ですね。
これが実際PDFを開いた時の画面です。
内容検索、ブックマーク、ページ指定などの機能があります。
赤い四角で囲まれたボタンは横向き/縦向きを転換します。
赤い丸で囲まれたボタンは横スクロールをロックします。
ファイルに対して基本の操作ができます。
コピーだっだり、リネームだっだり、メールもできます。
そしてiPhoneをパソコンにつなぐだけでファイルを転送するアプリがあります。
GoodReaderUSBといいます。Mac,Windows両方対応してます。
これが操作画面です。
ダウンロード先はこちら:http://www.iphone-explorer.com/AppPages/GoodReader.html
17日池袋シネマサンシャインで鑑賞した。
シリーズ第四部として、相変わらずの殺しのシーンがいっぱいありました。
プラス3Dなので、かなりの迫力でした。
しかし全くストーリが全く同じパターンなので、新鮮感がなくなりました。
シリーズ全くこの流れなので、もう勘弁してほしいです。
人が死のシーンをわざわざと2000円も払って映画館で楽しむ何んて、
自分のどこかが変態だと思っちゃいました。
3Dの眼鏡は私の頭だと小さすぎます。
着用するとかなりきついくらい、
もらったその場で先に試着みてください。
今のプロジェクトは基本設計段階で毎週お客さんと定例会を実施している状態。
うちから参加するメンバーはPM、サブPM含めて四人です。
って、戻ったら情報共有で参加しなかったメンバーに対して議事録を基に説明します。
ですが、途中で議論がどんどん出てきていつになってもなかなか結果が出ません。
結局会議が長続き、効率的ではないことは一目瞭然です。
なぜこうなるのでしょうか?
みんな定例会に参加したのになぜ受取りにこんなに差があるのでしょうか?
後で思ったのはやはり前提条件、あるいは先入観せいだと思います。
参加メンバーはプロジェクトに対しての理解にずいぶん差があり、
お客さんの同じ言葉でも人それぞれ違う形で受け取ったかもしれません。
逆に言うと、お客さんも何かを明確に話さないといけない気がします。
日本で二年働いて感じたのは、お客さんの話が曖昧すぎる傾向があるということです。
「お客さんの認識では。。。」という言葉がいつも出てきますが、
こんな表現が出たところで、既にお互い明確に話し合ってないと思います。
もちろんこれは日本文化の一つでもあり、特にビジネス上何もかも明確になってはいけないこともあります。
とはいえ、誤解が生むまで曖昧するくらいなら納得できませんね。
あるテレビのCMを思い出しました。
「アイデアはどこで生まれる?」というテーマで
様々の場所でのパーセントを提示したCMです。
最後はなんと会議室で0%とのシーンがあります。
的中ですね。。。
ちなみに「トイレ」で31%との結果は意外と高かったほうでした。
私もいつもトイレでは集中できるので、
自分だけがおかしいかなと思っちゃいました。
本文(英語)のアドレス:
A Plugin Development Pattern » Learning jQuery - Tips, Techniques, Tutorials
まず、要点と規約に沿ったソースを先頭に置きます。
- Claim only a single name in the jQuery namespace
- Accept an options argument to control plugin behavior
- Provide public access to default plugin settings
- Provide public access to secondary functions (as applicable)
- Keep private functions private
- Support the Metadata Plugin
// create closure
(function($) {
// plugin definition
$.fn.hilight = function(options) {
debug(this);
// build main options before element iteration
var opts = $.extend({}, $.fn.hilight.defaults, options);
// iterate and reformat each matched element
return this.each(function() {
$this = $(this);
// build element specific options
var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
// update element styles
$this.css({
backgroundColor: o.background,
color: o.foreground
});
var markup = $this.html();
// call our format function
markup = $.fn.hilight.format(markup);
$this.html(markup);
});
}
// private function for debugging
function debug($obj) {
if (window.console && window.console.log)
window.console.log('hilight selection count: ' + $obj.size());
}
// define and expose our format function
$.fn.hilight.format = function(txt) {
return '<strong>' + txt + '</strong>';
}
// plugin defaults
$.fn.hilight.defaults = {
foreground: 'red',
background: 'yellow'
}
// end of closure
})(jQuery);
プラグイン目的の純粋化と思われます。
// プラグインの宣言
$.fn.highlight = function() {
// Our plugin implementation code goes here.
}
$('#myDiv').highlight();
以下はよくないパターンです。こうするなら二つのプラグインに分けるか、目的をもっと明確にしろうってことです。
$.fn.oneFunction= function() {};
$.fn.anotherFunction= function() {};
// プラグインの宣言
$.fn.highlight = function(options) {
var defaults = {
foreground: 'red',
background: 'yellow'
}
// Extend our default options with those provided.
var opts = $.extend(defaults, options);
// Our plugin implementation code goes here.
}
$('#myDiv').highlight({
foreground: 'blue'
});
// プラグインの宣言
$.fn.highlight = function(options) {
// Extend our default options with those provided.
// Note that the first arg to extend is an empty object -
// this is to keep from overriding our "defaults" object.
var opts = $.extend({}, $.fn.highlight.defaults, options);
// Our plugin implementation code goes here.
}
// plugin defaults - added as a property on our plugin function
$.fn.highlight.defaults = {
foreground: 'red',
background: 'yellow'
}
// override plugin default foreground color
$.fn.highlight.defaults.foreground = 'blue';
// ...
// invoke plugin using new defaults
$('.highlightDiv').highlight();
// ...
// override default by passing options to plugin method
$('#green').highlight({
foreground: 'green'
})
例えば文字列をフォーマットするファンクション"format"があるとします。
ここでは単純に強調表示するだけですが、誰でも簡単に変更できます。
// プラグインの宣言
$.fn.highlight = function(options) {
// iterate and reformat each matched element
return this.each(function() {
var $this = $(this);
// ...
var markup = $this.html();
// call our format function
markup = $.fn.highlight.format(markup);
$this.html(markup);
});
}
// define our format function
$.fn.highlight.format = function(txt) {
return '<strong>' + txt + '</strong>';
}
// create closure
(function($) {
// プラグインの宣言
$.fn.highlight = function(options) {
debug(this);
// ...
};
// private function for debugging
function debug(obj) {
if (window.console && window.console.log)
window.console.log('highlight selection count: ' + obj.size());
}
// ...
// end of closure
})(jQuery);
Plugins/Metadata/metadata - jQuery Wiki
これはMetadataというプラグインがあるそうで、
なおかつたくさん人が使っていることを前提(或いは現状)としたため、
自分が作ったプラグインはMetadataにも対応するべきという結論になったわけです。
私もまだMetadataプラグインが何か全然わからないため、
ここはTODOとして残します。
./configure --prefix=ここでインストールパスを指定
make
make install
インストールの詳細は解凍先のドキュメントの「INSTALL」を参照してください。
ここでは一番簡単(デフォルト)のコマンドを紹介します。
英語ばかりでわかりづらいかもしれません。
これでインストールは完了です。
指定したインストール先には「bin」、「include」、「lib」の三つのフォルダがあるはずです。
次にターミナルでbinフォルダに移動します。
ここからはsqliteのシンタックスになります。
sqlite test.db;
これでtestという名のデータベースにつながります。もしtest.dbのファイルがなければ自動で作成されます。
こんなメッセージも出るはずです。
SQLite version 3.4.0
Enter ".help" for instructions
次に簡単なテーブルを作成し、データをINSERTしましょう。
sqlite> create table Employee(id int,name varchar(15));
sqlite> insert into Employee values (1,'Jim');
sqlite> insert into Employee values (2,'Tom');
sqlite> select * from Employee;
1|Jim
2|Tom
sqlite>
.exit
ちょっと探しましたが、このサイトで日本語の資料がたくさんあるようです。
iPhoneの基礎知識、SDKにある程度理解しているため、
今日のiPhoneについてのスピーチの6-7割は既にわかっているものにすぎませんでした。
この場に来る人たちは多分そうであろうと私は思っていますが、
背景や歴史など、そこまで詳しく説明しなくても良さそうな気がします。
4000円払って知ってるものを聞くのはよくないですね。
Androidについてはなかなか満足のできなかったスピーチになったと思います。
私はAndroidについてニュースくらいで知ってて、
その特徴は何か、これからどれくらい伸びかなど気になってたんですが、
なかなかこういう面での話はきちんとできなったのです。
唯一深津さんの話には肝心のものがありました。
特に意識してほしいのは深津さんの話によると、
ボタンやレイアウトなどの大きさとか、母指で押しやすいかどうかも含めて
最初にUIをきちんと決めることです。
俺も実際その方針でやりたいのですが、
Photoshopができないかつ、インターフェースのデザインなどの経験もないので、
ついつい実装から始まり、プロトタイプができたところで
アプリにあわせた画像や素材を探し始めます。
デメリットといえば、UI設計が揃ってない状態ではユーザ操作の体験が
なかなか想像しにくいです。
コーディングもできて画像を貼付けるところで、
「これ押しにくいな~」と気づいたこともあるでしょう。
やはりある程度のPhotoshopの腕とデザインのセンスが必要と思います。
みなさんはどうなさっていますか。
この部分(UIのデザイン)を誰かに頼んで発注する案も可能であれば、
やってみたいです。
これに関して興味のある方はぜひ私の方に連絡してください。
もう一点参考となったのが、
UIデザインはPhotoshopなどではなく、
iPhoneと同じ大きさのペッパーで行ったことです。
それで実際のボタンの大きさや、レイアウトの問題に
気づきやすいですよね。
意外!
ネットで試験結果を見た時、うれしかった!
事前準備も特にせずに、ほとんど勘で答えたので、
とんでもない点数としか思わない。
一番苦手だっだリスニングがなんと420点、
自慢だっだリーディングは375、
これもまた意外だよね。。。
リーディングがもうちょっとうまくいったら800点までとれたのに。。。
残念!
とりあえず800点ということで、しばらくは試験を受けないことにした。
今回のリスニングはやはり普段見てたアメリカのドラマが役に立ったと思うわ。
これがコツとでも言いましょう。
仕事が落ち着いたら次は英会話のクラスに!
これが何のイベントかっていうと、下記になります。
CROSS(クロス)は、CSS Niteからスピンオフした、Webクリエイター向けのイベントです。2つのすばらしいプロダクトを交互に紹介して、その魅力や特長をスピーディに知ることができる場を提供いたします。
今回取り上げるのは、Appleの「iPhone」と、Googleケータイこと「Android」。
公式サイトはこちら
@ITのイベントページで見つけたのです。
なんと、アクセスランキングが第二位です。
先日見たときは既に満席となってしまい、キャンセル待ちの受付をしました。
そろそろ寝ようかと思ったとたん、通知のメールが飛んできて、
すぐに申し込み!
うれしいな~
今週の土曜日です。お楽しみに!