2014/04/15

[本]フラット化する世界 増補改訂版 上

読了
フラット化する世界 [増補改訂版] (上)
フラット化する世界 [増補改訂版] (上)
トーマス フリードマン

序文
第一部 世界はいかにフラット化したか
第1章 われわれが眠っているあいだに
第2章 世界をフラット化した10の力
フラット化の要因1 ベルリンの壁の崩壊と、創造性の新時代
フラット化の要因2 インターネットの普及と、接続の新時代
フラット化の要因3 共同作業を可能にした新しいソフトウェア
フラット化の要因4 アップローディング:コミュニティの力を利用する
フラット化の要因5 アウトソーシング:Y2Kとインドの目覚め
フラット化の要因6 オフショアリング:中国のWTO加盟
フラット化の要因7 サプライチェーン:ウォルマートはなぜ強いのか
フラット化の要因8 インソーシング:UPSの新しいビジネス
フラット化の要因9 インフォーミング:知りたいことはグーグルに聞け
フラット化の要因10 ステロイド:新テクノロジーがさらに加速する
第3章 三重の集束
第4章 大規模な整理
第二部 アメリカとフラット化する世界
第5章 アメリカと自由貿易──リカードはいまも正しいか?
第6章 無敵の民──新しいミドルクラスの仕事
索引

via:目次
2008年に出版されたものなので、今更目新しい感じは受けなかったが、当時、読んでいたらどう受け止めていただろうか?

著者は、新しいミドルクラスの仕事をゲットするために知的好奇心を保ち続けることを書いていたが、
HIKAKINさん

アイスマン福留さん
のように新しい仕事を作る能力が、今後、ますます重要になってくるような気がするのだが、どうだろうか?

本では、PCとネットにより、グローバル化が進んでいると説いていたが、今は、スマホとクラウドの組み合わせで、よりいっそうその動きが進んでいると思われる。

おちおちしていられないぞと。

2014/04/13

[iOS][Objective-C]UIBarButtonItemに画像を設定する際に気をつけること

iOS7からどうやらUIBarButtonItemに画像を設定する時に、挙動が変わってしまったようだ。

デフォルトでは、iOS7から登場した下のメソッドにUIImageRenderingModeAutomaticが設定されているようです。

- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode
で、これを画像そのものにするには、
UIImage *image;
[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
とするしかないようです。

で、iOS7よりも小さいバージョンを考慮したプログラムは下のようになります。
UIImage *image;
CGFloat osVersion = [[UIDevice currentDevice].systemVersion floatValue];
if(osVersion >= 7){
    [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
これをベースに、組んでいけばいいのかなと。

2014/04/12

[Facebook][iOS][Objective-C]自分のアルバム情報を取得する

Facebook上のアルバム情報を取得する方法を調べました。

GraphAPIのalbumsを使えばいけそうです。

[FBRequestConnection
    startWithGraphPath:@"/me/albums"
    completionHandler:^(FBRequestConnection *connection,id result,NSError *error){
    NSLog(@"%@",result);
}];
実行した結果、取得することができました。

meの部分を任意のidに変更すれば、お友達のアルバムも取得することができます。
(別途パーミッションの設定も設定ですが。)

ものすごく簡単に取れました。

2014/04/11

[android]Nexus 4でスクリーンショットって撮れるの?

Nexus 4でスクショを撮りたいのだが、その方法は果たしてあるのだろうか?

Nexus 4でスクリーンショットを撮る方法によると、電源ボタンとボリュームボタンの小を同時に押せばいいと書いてあって、下の動画にもそんな感じに操作していたんだけど、実際に試したらまったく撮影できないwww


で、迷いに迷って結局、ちょっと長めに両方のボタンを押し続けないと撮れないようだ。

う~ん、難しい。

2014/04/10

[Game]Yahoo!ゲームでドラゴンクエストX

 photo dragonquest10_zpsbd0ad523.png
え、まじで。

スクウェア・エニックスとヤフーは3月27日、Yahoo! JAPANが運営するオンラインゲームサービス「Yahoo!ゲーム」向けに、「ドラゴンクエストX Yahoo!ゲーム版」のサービスを開始した。

via:「ドラゴンクエストX Yahoo!ゲーム版」がサービスを開始
ということで、さっそく公式サイトに訪問して、遊ぼうと思ったんだけど、windowsじゃーないとダメなんだね。乙
かつ、クライアントDLって、もうflashとか、unityとかにしません?

2014/04/09

[android]イオンのnexus4をゲット

先日、イオンでスマホの予約をしたことを書きましたが、やっとゲットできました。


 photo nexus4_01_zpsb9081515.jpg

 photo nexus4_02_zpsd4c53563.jpg

 photo nexus4_03_zps9971cfae.jpg
長年iPod touchをメインに使っていたので、すんごい違和感。

まず、何をするにしても、ウィーン、ウィーンとバイブがうざい。(デフォ、offでいいんじゃない。)

カメラアプリ立ち上げたのはいいけど、どうやって終了すればいいのかわからないし。

フッターのボタンが減ったり増えたりする挙動がイミフだし。
(かつ、backボタンいる?)

OS自体がたまーにクラッシュするし。

widgetの存在って何、これ必要??って疑問もあるし。

アプリのショートカットも複数個作れそうだし(この仕様いる?)

唯一よかったのは、プロセスの殺し方と、通知だね。
通知は件数がでないのがいい。
この変の仕様は、iOSもパクっただけあって、素敵。

ちょっと今、思ったのだが、こうしてイオンという小売店がスマホを独自に売り始めたということは、他の小売店、例えば、イトーヨーカ堂とかも販売してもおかしくはないと思った。
かつ、もっと突き詰めて考えると、セブンイレブンや、ファミマ、ローソンでの販売も現実味を帯びている気がしてきた。
現に、イオンはミニストップを配下に持っているので、余計ありそうだ。

そんでもって、将来的には、ちょっと前にコンビニであったような気がするプリペイド式のスマホとかでるのかなー。
それはそれで興味があったり。

2014/04/08

[JavaScript]hammer.jsのgestureプロパティーについて

前回、hammer.jsについて書きましたが、directionなどのプロパティーは、どうやらevent.gestureで取得できるようです。

<style>
html,body{
  height:1000px;
  margin:0;
  padding:0;
}
</style>
<script src="//cdnjs.cloudflare.com/ajax/libs/hammer.js/1.0.6/hammer.min.js"></script>
<script>
Zepto(function($){
 
  Hammer(document.getElementById('container')).on("dragstart", function(e) {
    console.log(e.gesture.direction);
  });

});
</script>
<body id="container"></body>
これ向きとか取得できるので便利なんですな。

2014/04/07

[本]JavaScriptデザインパターン

読了
JavaScriptデザインパターン
JavaScriptデザインパターン
Addy Osmani

まえがき

1章 デザインパターンとは?
1.1 はじめに
1.2 パターンとは?
1.3 「パターン」性検査、プロトパターン、3の法則
1.4 デザインパターンの構造
1.5 デザインパターンを作成する
1.6 アンチパターン
1.7 デザインパターンのカテゴリー
1.8 デザインパターンの分類

2章 JavaScriptデザインパターン
2.1 コンストラクタパターン
2.2 モジュールパターン
2.3 リビーリングモジュールパターン
2.4 シングルトンパターン
2.5 オブザーバパターン
2.6 メディエータパターン
2.7 プロトタイプパターン
2.8 コマンドパターン
2.9 ファサードパターン
2.10 ファクトリパターン
2.11 ミックスインパターン
2.12 サブクラス化
2.13 ミックスイン
2.14 デコレータパターン
2.15 擬古典的デコレータ
2.16 jQueryを使ったデコレータ
2.17 デコレータパターンの利点と欠点
2.18 フライウェイトパターン

3章 JavaScriptのMV*パターン
3.1 MVC
3.2 JavaScript開発者のための MVC
3.3 MVCは何の役に立つのか
3.4 JavaScriptにおける Smalltalk-80のMVC
3.5 MVP
3.6 MVVM
3.7 MVVMの利点と欠点
3.8 MVVMによる緩やかなデータバインド
3.9 MVCとMVPと MVVMの比較
3.10 Backbone.jsとKnockoutJSの比較

4章 モダンなモジュラー JavaScriptデザインパターン
4.1 スクリプトローダに関するいくつかの注記
4.2 AMD
4.3 CommonJS
4.4 競合しているが有効性で並ぶ 2つのフォーマット: AMDとCommonJS
4.5 ES Harmony
4.6 まとめ

5章 jQueryのデザインパターン
5.1 コンポジットパターン
5.2 アダプタパターン
5.3 ファサードパターン
5.4 オブザーバパターン
5.5 イテレータパターン
5.6 遅延初期化
5.7 プロキシパターン
5.8 ビルダーパターン

6章 jQueryプラグインのデザインパターン
6.1 パターン
6.2 軽量スタートパターン
6.3 完全なウィジェットファクトリパターン
6.4 入れ子の名前空間プラグインパターン
6.5 カスタムイベントプラグインパターン(ウィジェットファクトリと併用)
6.6 DOMからオブジェクトへのブリッジパターンを使ったプロトタイプ継承
6.7 jQuery UIウィジェットファクトリのブリッジパターン
6.8 jQuery Mobileウィジェットのウィジェットファクトリ
6.9 RequireJSとjQuery UIウィジェットファクトリ
6.10 グローバルと呼び出し単位のどちらかでオーバーライドできるオプション(最適なオプションパターン)
6.11 高度な設定と変更が可能なプラグインのパターン
6.12 パターン以外にプラグインに必要なものとは?
6.13 jQueryプラグインのまとめ
6.14 名前空間作成のパターン
6.15 名前空間作成の基礎
6.16 高度な名前空間パターン

7章 おわりに

付録 参考資料
索引

via:目次
デザインパターンに即してJavaScriptの場合、どうやって実装すればいいのか?という視点で書かれている本だが、はっきり言って初心者向けではない。

しかも、Objective-Cで、MVCや通知、delegateなどを知っていたので、理解しやすかったのだが、単純にJavaScriptだけ書いていたら理解できなくて、投げ出していたと思う。
というわけで、他の言語も触ったことがある人向けだといえる。

かつ、undersocre.jsや、Backbone.jsRequireJSもなんたるかを知らないとキツイ。こちらもたまたま業務で触ったことがあったので、理解する上で助かった。


最近、JavaScript開発していると確かに、「Objective-Cの通知みたいなことをしたい」という欲求が発生したりして、どうやって実装すればいいか悩んでいたので、大変助かった。

大規模開発したいJavaScript向けですな。

2014/04/06

[iOS][HTML]input type="file"のサポート

最近、知ったのですが、どうやら、iOS6から、inputタグのtype="file"がサポートされたようなので、早速試してみることに。

と言っても、簡単な一行なのですが。

<input type="file">
実行結果は、下のようになります。
 photo iphone_input_type_file_zps2fd68793.png
これ、写真と動画おそらく両方選べると思うんだけど、片方だけってできるのだろうか?

2014/04/05

[jQuery]Lightbox_meプラグイン

ライトボックス系のプラグインを探していたところ、Lightbox_meというプラグインを発見。

導入は、めちゃくちゃ簡単

<!-- script -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="/js/jquery.lightbox_me.js"></script>
<script>
//open lightbox
$('#hoge').lightbox_me();
</script>
<!-- html -->
<div id="hoge"></div>
ここでは、id="hoge"だったが、自由に記述することができる。

また、デフォルトでは、マスク部分をクリックすると自動的にクローズするんだけど、しないことも設定できます。

とても便利なプラグインなので、一度お試しあれ。