2012/03/31

[JavaScript]スマホを判別するJSスニペットについて

この記事で紹介されていたソースなのだが。

var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i) ? true : false;
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i) ? true : false;
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i) ? true : false;
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows());
}
};

via:スマホを判別するのに便利なJSスニペット
これ、グローバル変数を汚染しているから、どうなんでしょう?

一度、無名関数から値を返すようにしたほうがいいのではないのかと思うのだが。

2012/03/30

[本]失敗から学べ!「社長失格」の復活学

読了

失敗から学べ!「社長失格」の復活学
板倉 雄一郎
日経BP社
売り上げランキング: 290,102

第1章 起業のススメ―ベンチャーの基礎を学ぼう!
第2章 「社長失格」の失敗から学べ!
第3章 実践!起業入門/仕事入門
第4章 起業家/経営者は、どこで間違うのか?
第5章 ベンチャーの常識・非常識

via:目次
ハイパーネットを設立した板倉雄一郎の自叙伝的な内容。

他の企業家本とは、決定的に違うのは自身の失敗談をもとに構成されているところ。

通常の場合だと、「自身の成功をもとに」どうすれば、成功するか?という論理で書かれるのに対し、「自身の失敗をもとに」どうすれば成功するか?と起点が違うので、読んでいて大変興味深かった。

まさに、失敗から学べである。

2012/03/29

[dedgin]デザイン共有サイトDesignmoo

今、iOSアプリの実装しているのだが、その中で、facebook APIを使おうかなーっと思っており、ログインボタンをどうしようかと検索していたら、たまたまSocial Loginsというページを発見しました。

このページ、もともと、Designmooのコンテンツの一部なのだが、PSDファイルの共有サイトで、他にもたくさんのリソースがあり、今後も活用させていただくことになりそうだ。

すごくクオリティーの高いものもあったので、1エントリー書きました。

2012/03/28

[iOS]XcodeのInterface Builderについて

これ、なんだけど。。。

Apple 製の iOS/Mac アプリの統合開発環境であるXCodeは、ver4 から GUI ベースの UI 開発ツールである Interface Builder が組み込まれ、

via:UIView拡張カテゴリによるUIコーディングの簡略化
Xcode3の時代からInterface Builder存在自体はあったので、最初、本文を読んだとき、違和感があり、1エントリー起こそうと書いていたのですが、書きながら思ったのが、よくよく本文を眺めてみると、「組み込まれ」とあるので、確かに、4から統合されたなーっと自己完結してしまった。

日本語って難しいなーっと。

2012/03/27

[jQuery]:nth-childというセレクター魔法

以前、書いたeqとは別に、:nth-childがあるようだ。

eqとの違いが、最初の指定が、0ではなく、1からスタートということ。

結構、重要なことなので、間違えないようにしたい。

2012/03/26

[jQuery]画像のloadについて

どうやら、同じ問題に直面している人がいたようだ。

I recently did a small jQuery snippet that allows me to show a loading img until the real image is loaded.

The snippet seems to work in Safari, Chrome but not FireFox.

via:Jquery img preload not working in FireFox
そう、firefoxで、画像が完全にロードしていないにもかかわらず、loadメソッドがコールされてしまうときがあり、それに対する回答が、

It is possible that the load event will not be triggered if the image is loaded from the browser cache. To account for this possibility, we can use a special load event that fires immediately if the image is ready. event.special.load is currently available as a plugin.

via:Jquery img preload not working in FireFox
で、どうやら、プラグインを使うことで解消されるそうなのだが、果たしてどうなのだろうか?

2012/03/25

[html]レンダリングモードの最新にする方法

IEでは、ページを開くときに、いくつかのレンダリングモードを選択することができます。
これを最新の状態に保つためには、果たしてどうすればいいのだろうか?

ぐぐってみたら、回答を発見

// 最新の標準準拠モードを指定 (IE8の場合はIE8標準準拠モード)
<meta http-equiv="X-UA-Compatible" content="IE=edge">

via:X-UA-CompatibleでIE8のレンダリングモードを指定する方法
これで、以後、ドキュメントモードに悩まされなくてすみそうです。

2012/03/24

[本]人にいえない仕事はなぜ儲かるのか?

読了
人にいえない仕事はなぜ儲かるのか?  角川oneテーマ21
人にいえない仕事はなぜ儲かるのか? 角川oneテーマ21
門倉 貴史

第1章 野球選手はなぜ個人会社をつくるのか
第2章 長者番付に載る人、載らない人
第3章 サラリーマンの副業はどれだけ有利か
第4章 会社はどれだけ社員と国にお金を払っているか
第5章 税金を払わなくていい仕事の種類
第6章 地下ビジネスの担い手たち
第7章 先進各国の税体系
第8章 どのような税制が最も望ましいか

via:目次
「夜のオンナ」はいくら稼ぐか?
他人事ではない、ワーキングプアは自己責任か
ですっかり地下経済でおなじみになった門倉貴史の、これまた新書。

タイトルからどのようなカラクリで人にいえない仕事は儲けているのかという内容なのかなーっと思ったのですが、確かにあることはあったのですが、全体のボリュームとしては、少なめで、大半は、税金についてのことが書かれていました。

結局、合法、違法を含め色々な節税対策を行って儲けているんだなーっということがわかります。

なので、全体から見るとタイトルはちょっとフックのような気がしなくもないが。

ラッキーだったなーというのは、どうすれば、会社に副業していることがばれずに済むのかということ。
この部分に関しては大変参考になりました。

やはり新たなビジネスチャンスを模索したり様々な工夫をするということに関しては、地下経済から学べることも多いんじゃないのかなと改めて考えさせられた。決して、違法なことやいけないことをするということではなく、ものすごい競合他社があり、かつ価格競争などもあり、そこから勝ち上がっていくためには、日々努力が必要なわけで。まー、それは、合法なビジネスでもそうなのですがー。

こうして読んでみるとやっぱり日本って税金高いんですねー。もっと安くならないかなーっと暗い気分にもなりました。

話がものすごくそれるが、wikipediaを見ると、なんと、同じ高校。
おー、なんかすごくうれしい。先輩の後をついていくぜ!!

2012/03/23

[iOS][Facebook]URL Schemesの登録について

The last thing that needs to be accomplished to enable SSO support is a change to the .plist file that handles configuration for the app. Xcode creates this file automatically when the project is created. A specific URL needs to be registered in this file that uniquely identifies the app with iOS. Create a new row named URL types with a single item, URL Schemes, containing a single value, fbYOUR_APP_ID (the literal characters fb followed by your app ID). The following shows exactly how the row should appear in the .plist file:

via:Modify the app property list file
つまり、info .plistに、 URL Schemesを追加するときに、アプリケーションIDの前に、「fb」という文字をつける必要があります。

これが、ないと、エミュレータでも、正常に動作しません。

2012/03/22

[Blogger]ブログスカウターをはずしました

どうやら、終了の時がきたようです。

2012年3月31日をもちましてブログスカウターのサービスを終了致します。
永らくご利用いただきありがとうございました!

※サービス終了後については4月1日以降はブログに設置されている
ブログスカウターは表示されなくなりますのでご了承ください。

via:ブログスカウター終了のお知らせ
というわけで、ブログからはずしました。

2012/03/21

[JavaScript]htmlが崩壊

とてもおもしろいプラグインをみつけたので、紹介。

HTML崩壊 meltdown.jsで、jQueryを使わずに表示されているコンテンツをバラバラにする処理が公開されていました。

使い方も簡単で、下記を追加すればいいようです。

javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";var da=new Date();s.src="http://www.rr.iij4u.or.jp/~kazumix/d/javascript/meltdown/meltdown.js?"+da.getTime(); document.body.appendChild(s)})();

via:HTML崩壊 meltdown.js
著者が言っている様に、確かにYahooで試したらうまく崩壊しました。

使いようによっては、ものすごいインパクトがありますね。

2012/03/20

[jQuery]windowのonloadについて

windowのonloadに相当するメソッドであるのかなーっと思っていたのですが、ありました。

jQuery日本語リファレンスで確認したところ、単純に、loadメソッドがありました。

ソースも単純に下記のようにすればよかったんですねー。

$(window).load(function () {
// windowがloadされた際に実行したいコードを記述します。
});

via:load(fn)
次回以降活用させてもらおー。

2012/03/19

[JavaScript]SWFObjectのバグ

SWFObjectを経由させてYouTubeAPIにアクセスしているのだが、なぜだか、firefoxでは、2度コールされるときが、ある。

なぜかなーっと思って調べたところ、どうやら、SWFObject側の不具合のようである。以下、引用。

Firefox 3 has a known issue that sometimes causes a swf to be 'double initialized'. The problem appears to be fixed in their codebase, but has not been released yet. See the following bugs for more details: bug 438830 and bug 445599.
Or, if you have "Disable cache" selected in your Firefox Web Developer Toolbar extension a double load will occur.

via:16. Why does Firefox load my SWF twice?
JavaScriptを使ってイベントのバインドなどを行なうときは注意したいですね。

2012/03/18

jqMobiがリリース

ちょっと興味が。

HTML5のモバイル・アプリに最適化された、jQuery互換の軽量JavaScriptフレームワーク「jqMobi」が正式リリースされています。

via:HTML5モバイルアプリに最適化されたjQuery互換の軽量JSフレームワーク「jqMobi」が正式リリース
モバイルでJavascriptを使う時に、jqueryは重い有名な話だった。
確かに、使わないメソッドがたくさんあるのは事実だ。
(例えば、clickメソッドなど)

jqueryが重いたい上に、jquery mobileも使うとなるとなおさらだ。

そこで、今回のような動きが起きたのだろ。

果たして、jquery mobileと一緒に使えるのかなー??

jqMobiの動きはどうなるのか勉強する必要がありそうだ。

2012/03/17

[本]議論のルールブック

読了

まえがき
議論の破壊者たち
感情論に振り回されない
感情論とは何か / 言葉は伝わらなくて当たり前 / 感情論を避けるための原則

インチキ理論を振り回す人たち
インチキ理論にはパターンがある / インチキ理論のパターン / 科学絶対主義の問題 / インチキ理論への対処法

冷笑主義者にご用心
冷笑主義にもパターンがある / 冷笑主義者のパターン / 現代のソフィストに注意 / 冷笑主義者への対処法

匿名という問題
匿名の種類 / 不特定多数を相手にするということ / 相手が特定できないということ / 匿名だとなぜ言葉が汚くなるのか / 「教えて君」の問題 / 相手との距離の取り方 / ブログ炎上のメカニズム / 匿名問題の背後にあるもの

そもそも議論とは何か
議論の定義
なぜ議論は炎上するのか / 議論とは「話を聞くこと」である / 議論で得られるものは「違う視点」である / 議論の形態 / 議論に勝ち負けはない

客観性とは何か
「客観的」とはどういうことか / 正しいことと納得できること / 「やってみなければ分からない」わけではない / 結果より過程 / 「仮説と検証」の意味 / 議論とは反証探しの繰り返し / オッカムの剃刀 / 検証の代償とは / 「公理」とは何か / 客観性の意味

正しさの相対性
「正しさ問題」を考える / 「正しさ」に関する問い / 答えのタイプ / メタ議論 / 正しい答えとは

意見とは何か
主観的な事実認識の意味 / 主観的な意見とは / 主観的な正しさ / 自分の意見には自信を持つべき / 相手の立場に立つ / 主観の普遍性について / 評価と価値観 / 主観的な議論の結論 / 意見を主張する意義

発言者の心得
発言の自由とは何か
議論の場では何でも言える / 自由とは何か / 「発言の責任」とは何か / 議論の「ルール」とは何か / 「無視」は悪いことか

謝罪とは何か
謝罪要求に意味はあるか / 謝罪教唆は許されるか / 発言の削除とは何か / 自由と自己批判
あとがき

via:目次
最近、会社で会議を開いて司会やまとめ役をすることが多く、かつ終わらせ方と次への繋げ方を知りたく本書を手に取った。

本書の特徴は、どうすれば、うまい議論ができるかどうかというところにフォーカスされているのではなく、

「そもそも議論って何?」

「議論してどうするの?」

という根本的なところをフォーカスしている。
従って、技術的なことを求めている人には、あわないが、非常に得るものが多かった。

特に、

「議論の前提として人の話を聞く」

ということや、

「自分の言ったことは聞いてくれて当たり前」や「自分の言ったことは理解してくれる」というそもそもの前提が違っている

ということなど、目から鱗もの。

さらに、どんな論者がいるのか?というタイプとそれに対する対処法も書かれているので、こちらは、悪いもの大しては反面教師として受け止め改善する必要があるし、いいものは、そのまま継続する必要があると感じた。

新潮新書標準価格、680円(税込み714円)というのは、手間暇の節約代としては十二分に納得がいくものだ。新書というより会議室に常備する文房具のように使いたい一冊だ。

via:まずは議論[に]しよう - 書評 - 議論のルールブック
この点に関して禿同と言わざるを得ない。

家用と会社用と2冊常備したい。

2012/03/16

[iOS][objective-C]UIImagePickerControllerのエラーになる件

以前購入したUIKit詳解Camera Programming Topics for iOSを読んでいるのですが、エミュレーターでなぜかうまくいかない。

結果的にうまく動くようになったのですが、エラーとなっていた原因をいくつか推測してみる。

1:UIImagePickerControllerをサブクラス化する必要はないのに、してしまった。

Important The UIImagePickerController class supports portrait mode only. This class is intended to be used as-is and does not support subclassing.

via:Taking Pictures and Movies
つまり、直接、インスタンス化をしないといけないんですな。

2:エミュレーターでは、UIImagePickerControllerSourceTypeCameraをサポートしていない。
これに気づくのにものすごく時間がかかったのだが、当初、プログラム内に下記を入れていなかったのです。
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
//カメラの処理を行なう

}
で、毎回、毎回、エラーが起きていたわけだが、elseに、NSLogを入れたところ、そこに処理が移っていたことがわかったので、エラーの原因を特定できました。

ってか、カメラは、macにもともとついているんだから、サポートしてもいいと思うんですけど。

どうなんだろうか。

2012/03/15

[mac]Lionにアップデートできない件

なぜ、できない?

2008年に購入したmacに今回リリースされたLionがインストールできない。

理由としては、どうやら、メモリーが1Gだと足りないようだ。

メモリー増設するにしても、パソコンは手放したくはないので、新しいの購入しないといけないのかなー。

困ったなー><

2012/03/14

[本]決断できない日本

親父がおもしろそうな本を持っていたので、


第1章 トモダチ作戦の舞台裏
第2章 嵌められた「ゆすりの名人」報道
第3章 横紙破りの外交官として
第4章 アメリカは日本を手放さない
第5章 沖縄「反基地」政治家との戦い
第6章 日米同盟の内幕
第7章 七転び八起きでいいじゃないか

via:目次
国務省元日本部長が語る今の日本政治についての本。

お恥ずかしい話だが、本書を手に取るまで、著者の存在をしらなかった。

国務省や沖縄総領事になった著者だからこそ語れる外国特にアメリカから見た日本の政治は、あまりいい感じではないようだ。
それどころか、所々馬鹿にされているような気もしなくもない。
が、それが仕事人生を通して感じたことなのだろう。

日本とアメリカとの関係について、普段は、田中宇さんのメルマガでキャッチアップしていたので、その内容と比較して読み比べてみると非常におもしろかった。(ちなみに、田中宇氏の過去に読んだ書籍には、「世界がドルを棄てた日」があります。)

著者が日本に対する思っている外交戦略と、田中氏が考える外交戦略がかなり食い違っているからである。
どちらが正しいか、間違っているかで判断するのではなく、総合的に考えることが必要なんだと改めて感じました。

本書を読んで、すべての情報が出揃うまで決断しないことは、すなわち危険であることは、政治ばかりではなく、企業、経済にも当てはまるのではないだろうか。

アメリカのタスクフォースの組み方には、企業の戦略を立案する上で、そこまでいうと、大げさかもしれませんが、プロジェクトを動かすことで大変参考になるのではないかと。

つまり、長時間労働をしてしまうと疲労が蓄積し、結果として失敗してしまう。
緊急時にこそ、人員にゆとりをもたせ、通常とおりに勤務を行うことで、高いパフォーマンスを達成する。

アメリカの危機管理には、多いに見習うところがあるかもしれませんね。

本文の中で、日本の膨れ上がった借金についての批判があったが、それは、アメリカとて同じではないだろうか?
だって、去年の8月には、デフォルトになるかもしれないという記事もありましたよ。
行くも地獄、引くも地獄 米財政デフォルト問題

かつサブプライム問題もアメリカ発だったような気が。。。

最終的に政治に関しては本書を読んでみても色々と思うところがあったのですが、金融に関しては、果たしてどうなんでしょうかねー。。。

2012/03/13

[Chrome Extensions]ajaxについて

Chrome Extensionsで果たしてjQueryを使ってajaxを行なうことができるのだろうか?

Google Chrome ExtensionsのOther APIsで確認してみると、どうやら可能なようだ。

ただし、一点注意点があって、permissionsを設定する必要があるそうです。

確かに、クロスドメインを考えると、パーミッションがないと、セキュリティー的に厳しいですからねー。

2012/03/12

[iOS][Objective-C]UIWIndowのrootViewControllerについて

いつの間にか、重要なメソッドが追加されていたようだ。

iOS4から、UIWindowクラスにrootViewControllerメソッドが追加されているのだが、今までのようにaddSubviewメソッドを行なった上で、makeKeyAndVisibleメソッドを唱えるのではなく、UIViewControllerを継承したインスタンス変数をrootViewControllerに設定した上で、makeKeyAndVisibleメソッドを唱えるようだ。

iOSとしては、最低でも、一つのUIViewControllerを設定してほしいといっているので、以後は、こちらを使った方がいいのかもしれませんね。

2012/03/11

[jQuery mobile]マルチカラム

jQuery mobileを使ってマルチカラムを実現する方法について

Layout gridsを読んで、以下のように実装

<div data-role="page">
<div data-role="content">
<div class="ui-grid-a">
<div class="ui-block-a">
<div class="ui-bar ui-bar-e">
Block A
</div>
</div>
<div class="ui-block-b">
<div class="ui-bar ui-bar-e">
Block B
</div>
</div>
</div>
</div>
</div>
実行結果は、このようになりました。
Uploaded from the Photobucket iPhone App

2012/03/10

[jQuery mobile]dialogの実装方法

今日は、dialogについてDialogsを読みながら実装する。

呼び出し元は、下のように記述


<div data-role="page">
<div data-role="content">
<a href="./dialog.html" data-role="button" data-inline="true" data-rel="dialog" data-transition="pop">Open dialog</a>
</div>
</div>
すると、このようになります。
Uploaded from the Photobucket iPhone App
呼び出し先は、↓のように、実装
<div data-role="dialog">
<div data-role="header" data-theme="d">
<h1>Hoge</h1>
</div>
<div data-role="content" data-theme="c">
<h1>動作確認</h1>
<p>This page is the Dialog test.</p>
<a href="#" data-rel="back" data-role="button" data-theme="b">Ok</a>
<a href="#" data-rel="back" data-role="button" data-theme="c">Cancel</a>
</div>
</div>
タッチすると、このようになります。
Uploaded from the Photobucket iPhone App

2012/03/09

[Python][本]初めてのPython 第2版

初版第三版につづいて、第二版も


1部 Pythonの基礎知識
2部 ビルトインオブジェクト
3部 ステートメント
4部 関数
5部 モジュール
6部 クラスとオブジェクト指向プログラミング
7部 例外
8部 その他の重要事項
9部 付録

via:目次
先輩社員にいただいたのですが、会社のデスクに常備しておくのに、最適です!!

第三版だと重すぎるので。。。

2012/03/08

[Objective-C]NSAraayにBOOLを設定

だいぶ前にBOOL型についてのエントリーを書きました。

で、これをNSArrayに設定したいのですが、BOOLは、あくまで「型」。

オブジェクトではないし、クラスでもないので、果たして、どうすれば?

答えは、こちらに。

BOOL b = NO;
NSMutableArray *array = [[NSMutableArray alloc] init];

[array addObject:[NSNumber numberWithBool:b]];

NSLog(@"value is %d", [array objectAtIndex:0] );

via:NSArray and bool values
試してみると、コンパイルエラーにはならないようなので、引き続き動作エラーがないように見守りたい。