2012/11/30

[facebook][iOS]Facebook SDKを使った時の審査時の注意1

Photobucket
facebook sdkを使った時のiTunes Connectに審査を出した時の注意点。

facebookのアプリの基本設定で、必ず、

sandbox modeを「オフ」にする

こと。(下図参照)
Photobucket

これをしないとバグと認識され必ず審査に落ちます。

2012/11/29

[YouTubeAPI]chromeless playerで不具合発生

chromeless playerで突然下のようなエラーが発生しました。

http://s.ytimg.com/yts/swfbin/apiplayer3-vflm4I60t.swf is not found.
それまでは普通に表示できていたので、さっそく、gdata-issuesに報告をしました。

Issue 3776:404 not found

chromeless player version 3だけではなく、version2でもエラーが発生します。

早く治るとうれしいなー。

【更新】
11月30日
googleからの返信がありバグを修正してくれた模様

なんか、書き込みがいっぱいあって、Issue 3000:Actionscript 3 API for Chromeless player not loading - 404

にマイグレーションされていました。

とりあえず一安心

2012/11/28

[iOS]Missing Screenshotの時の注意点

2年ぶりに、iOSをiTunes Connectに提出したのだが、その時に、Xcodeから、提出したのにも関わらず

「Waiting For Review」

とはならなかった。なぜ??

よくよく見てみると、「Missing Screenshot」と書かれてあり、どうやら、スクリーンショットが足りないと怒っているようなのだが、そもそも、Retinaや3GS用のスクリーンショットはiTunes Connectにアップしている。

何が足りなんだろーっと探ってみたところ、四苦八苦していたところ、下のサイトに解答がありました。

今のiPhoneは3.5と4インチの画面があるので、両方ともアップしろと言う事らしい。

via:iTunesConnectでアプリをアップしたら「Missing Screenshot」になる
というわけで、iPhone5用の4inchスクリーンショットもアップロードしないといけないらしい。

iTunes Connectで4inchスクリーンショットをアップしたら、確かに、アプリのステータスが「Waiting For Review」になりました。

結論
iTunes Connectに審査を出すときは、
3.5inchのスクリーンショット

4inchのスクリーンショット
をiTunes Connectにアップロードする必要があります。

2012/11/27

[本]伝説の「どりこの」 一本の飲み物が日本人を熱狂させた

読了
伝説の「どりこの」  一本の飲み物が日本人を熱狂させた
伝説の「どりこの」 一本の飲み物が日本人を熱狂させた
宮島 英紀

序章 昭和最大のミステリー!?
第1章 人々を魅了した「どりこの」
第2章 講談社が「どりこの」を仕掛けた
第3章 「どりこの」はこうしてつくられた
第4章 「どりこの」を売ったのは少年だった
第5章 「どりこの」を生んだ博士
第6章 「どりこの」は二度とつくれない

via:目次
本書に出会うまでまったく知らなかったのだが、その昔、講談社は、「どりこの」という飲み物を販売していたそうだ。

それだけでも興味が沸いてしまったのだが、発売当時は、画期的なマーケティング手法を用いて爆発的な売り上げを飛ばしていたそうだ。

で、現在は、ちっとも耳にしなくなったわけだが、なぜ、そうなってしまったのか?についても当然、本書では触れている。

セールスをする上で大変勉強になる本だった。
独創的な売り方をすると、昔も今も変わらず色々とたたかれるようだ。
これは覚えておいた方がいいだろう。

講談社は、少年部という20歳未満の少年を集めて働かしていたそうだが、労働時間を見ると、現代では、とても許容できない内容となっている。それだけ昔の人は強かったのだと思った。

しかし、本書でも改めて感じたが、戦争は、本当に、なにもかもめちゃくちゃにする。
人の幸せ、企業の幸せ、国の幸せ。
親父から子供の時、地球上では必ずどこかで争いが起きていると言っていたが、なくなってほしいものである。

残念ながら、「どりこの」は、もう復活させることはできないのだが、その理由も書かれている。
ある一つの商品の歴史を詳細に追った内容の本を読んだことはこれが初めてかもしれない。

余談だが、先日、実家に帰り、三重生まれの祖父に聞いてみたが、知らなかったそうだ。
ちなみに、祖父は、昭和2年生まれである。

2012/11/26

[本]石油 最後の1バレル

読了
石油 最後の1バレル
石油 最後の1バレル
ピーター・ターツァキアン

序章 変貌する石油
第1章 最後の鯨油ランプに火をともす―争いの幕開け
第2章 33%の優位性―なぜ人類は石油を選んだのか
第3章 車輪がまわらない―石油依存と各国の思惑
第4章 地球の果てへ―変化する経済とライフスタイル
第5章 技術という切符―テクノロジーに何ができるか
第6章 迫り来る足音―ブレークポイントへの対処法
第7章 新たなる黄金の時代―不確実な未来とその可能性

via:目次
最初、中身を見ずに、つまんねーだろうなーっと思っていたら、とんでもなかった。
これほどためになった本はなかなかない。

本書は、エネルギーを軸に歴史を振り返り、今のエネルギー問題について考察している一冊。

小中学校で勉強する網羅的かつ表面的な歴史とは違い、鯨油をエネルギー源として航海するところから入り、石炭、石油、原子力と変遷していく様を丁寧に描かれている。

せめて、高校の歴史もこういうのをやってくれよーっと読みながら切に願ってしまった。
そうすれば、なぜ、学校教育で歴史が重要なのか見えてくるからだ。

とても勉強になったのは、電球を開発したと言われているトーマス・エジソン

てっきり、トーマス・エジソンが一番最初に電球を発明したと思っていたのだが、そうではないようだ。
すでに、開発に着手している人がいて、後手だったようだ。
では、なぜ、最終的に、エジソンが競争に勝ったのだろうか?
本書ではずばりメディアの使い方がうまかったからだと書いてあった。

これは、appleが、iPodでmp3プレイヤー市場に乗り込んだ時と重なっているような気がしてならない。
当時、mp3プレイヤーも先行者がいたそうだが、結果的に、sonyのMDプレイヤー(懐かしい。)や他のMP3プレイヤーも撃破してiPhone発売まで、売り上げを独占してしまう。

マイクロソフトもappleが先行していたOS市場を駆逐して、圧倒的な地位を占めた前例がある。

facebookもmyspaceをシェアをあっという間に奪ってしまい、今や10億人規模のサイトにまでなっている。

改めて回りを見渡すとたくさんの事例がある。
おそらく、IT系以外にも適用できるケースは多々あると思う。

ここから言えることは、必ずしも先行して何かサービスやものを作る必要はなく、2番手もいいということ。
でも、必ず先行者とは違う何かを入れること。

ビジネス書として読んだつもりは全くなかったのに結果的に企業戦略論的観点から勉強になるところが多かった。

ちなみに、トーマスエジソンの作った電球は、ずっと勝ち続けたわけではなく、ウェスティングハウスに負けてしまったらしいが、2005年まで直流電源の電気がマンハッタンにあったのは知らなかった。

著者は、エネルギーサイクルは、音楽業界のレコード→CD→MD→なし→クラウド(「なし」、「クラウド」は、勝って胃に追加)のように急な変化は起こりえなく、長い年月をかけて変化すると言っている。

しかも、そのスパンは、エネルギーが変わるたびに長くなるそうだ。

従って、石油が枯渇する前に、スムーズに移行するとは考えられず、非常に厳しい時代がくると著者は言っていたが、今から想像すると、気分が暗くなってしまうので、誰かがきっとエネルギー革命を起こし、我々の電気事情をより安価に安心して移行することを祈るのみ。(と他人事で最後をしめる。)

2012/11/25

[android][google]Nexus 7と10について

2年前にIS06をゲットして依頼、まったくご無沙汰のandroid。

最近、同僚から聞いたのだが、google純正のandroid端末が発売されたそうです。

ずばり、Nexus 7、Nexus 10。しっかりと公式ページまで用意されていた。

ただ、製造は、ASUSTeK Computerとサムスンのようです。動画もあったので下に貼り付けた。



ってか、google自身がandroidをリリースすることによって、他のメーカーは、わざわざマイクロソフトやアップルに特許を支払ってまでリリースする必要はあるのだろうか?

だんだん、謎になってきた。

ちなみ、これはどこで買えるの?家電量販店??

2012/11/24

[chromeos]249ドルのChromebookが発売

以前、書いた[chromeos]chromebooksが発売と結果的に何が違うのか?

最近GoogleとSamsungが249ドルのChromebookを発表し、利用時間の殆どがウェブというユーザーのためにデザインされた実用的軽量パソコンに、新たな最低価格が設定されたと思われた。今日Googleは、同社ウェブ上で新しいAcer C7 Chromebookを発表した。(多少スペックは低いが)価格はさらに50ドル安く、Chrome OSノートパソコンのハードルをさらに上げている。画面サイズは同じ11.6インチだが、こちらはIntel Coreプロセッサーと320GBのハードディスクを搭載している。

via:GoogleとAcer、199ドルのChromebook C7を発売。低価格競争はどこまで行くのか?
これだけだとよくわからない。

いっそのこと、4桁で買える金額にスマホやタブレットが席巻しているこのご時世、インパクトをだすのは難しいのではないかと思うのだが。

2012/11/23

とうとう、30歳に

なってしまった。

色々と振り返ると反省すべき点がありすぎて、死にそうになりますが、頑張ります。

2012/11/22

[iOS][Objective-C]ARCでGrand Central Dispatchをリリース

Photobucket
iOS5から、導入されたARC。

releaseメソッドやdeallocなどを意識することなく、ありがたくプログラムしているのですが、Grand Central Dispatchを使った場合、releaseを名目的に呼び出す必要があるのだろうか?

答えは、stackoverflowにありました。

If your deployment target is lower than iOS 6.0 or Mac OS X 10.8, you need to use dispatch_retain and dispatch_release on your queue. ARC does not manage them.

Starting in the iOS 6.0 SDK and the Mac OS X 10.8 SDK, every dispatch object (including a dispatch_queue_t) is also an Objective-C object. This is documented in the header file:

via:Does ARC support dispatch queues?
つまり、iOS5対応する場合は、名目的に呼ぶ必要があるようだ。

結構、忘れがちな内容なので、覚えておきたい。

2012/11/21

[jQuery]プラグインの作り方(超初級編)

改めてjQueryのプラグインの作り方ってどうすればいいんだろう?

相当前に[jQuery]関数を追加するというエントリーを書いたが、そもそも、お作法があるかわからないし、いったんきちんと調べる必要があるなと。

Plugins/Authoringを調べると、下のような感じがベーシックだとわかりました。

(function( $ ){

  $.fn.test = function(options) {
  
     var settings = $.extend( {

     }, options);

     return this.each(function() {

      
     });

  };
})( jQuery );
すごくすっきりしています。

でも、なぜ、returnで、this.eachを返さないといけないのだろうか?

インスタンス化しない場合は、returnを書かなくても成立すると思うのだが。。。

改めて、奥が深いjQuery。

2012/11/20

[JavaScript][jQuery]外部公開する時の注意点

今日も備忘録

ブログパーツやウィジェットをはじめ、外部にJSを公開する時に、覚えておいた方がいいエントリーがあったのでメモ。

1.名前空間を一つだけ用意して、それのみを使うこと
2.設定はグローバル変数ではなく、引数渡しにすること

via:javascript - ブログパーツ/ウィジェット開発者におねがい
これ、jQueryプラグインを作っている場合、jQueryという外部変数を一つ汚染した上で、構築するので、問題はないかもしれませんが、jQuery.fn.××××以下で、衝突する可能性はあります。

一つも汚染せずに、JSを公開する方法ないかなー。
(function($){
//処理
}(jQuery))
って書くことが一番、安全なのかなー??

2012/11/19

[facebook]プロフィール写真の変更

今日も備忘録

昨日、timeline(タイムライン)のカバー画像を変更する方法を書きました。

今日は、プロフィール画像の大きさについて。
Photobucket

タイムラインのサイズはこれで完璧!新Facebookページの写真サイズまとめ
と、
Facebookページ「タイムライン」のカバー画像サイズと4つの注意点のリンク先にあったFacebook Pages
で確認すると、「180 × 180」の設定でおkなようです。

ここまでメモしておけば、画像設定関連はオールおkか?

2012/11/18

[facebook]タイムラインのカバー画像の大きさ

備忘録。
facebookのtimelineで表示されるカバー画像。
Photobucket
いったい大きさって??

Facebookページ「タイムライン」のカバー画像サイズと4つの注意点
によると、サイズは「 851px × 315px 」とのこと。

調査するのに結構時間がかかったので、1エントリー書きました。

2012/11/17

[jQuery]動的にstyleタグを追加する

動的にscriptを追加するのは、難しいのですが、styleタグはいけそうです。

jQuery Tips: appendTo()でランタイム時にstyleタグを追加する」を参考にすると、以下のように記述されていました。

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('<style type="text/css">div#wrap div {background-color: red; width: 50px;} </style>')
.appendTo('head');
});
</script>
</head>

via:jQuery Tips: appendTo()でランタイム時にstyleタグを追加する

appendToメソッドを使って、動的に追加されているが、appendメソッドでもいけそうですね。

2012/11/16

[chrome]JAM with Chrome

おもしろいアプリがあったので。


Backstage at JAM with Chromeで知ったのですが、websocketを使って、友達とジャムセッションができるようです。

実際に試してみたのですが、結構おもしろいです。

jamwithchromeにアクセスして遊ぶことができます。

chrome web storeでもアプリをインストールすることができるようです。

是非、時間があるときにどうでしょうか?

2012/11/15

[BootStrap]ナビゲーションバーに検索ボックスを追加

以前、ナビゲーションバーを実装する方法について書きました。

今回は、ナビゲーションバーに検索ボックスを追加する方法について。

<div class="navbar">
 <div class="navbar-inner">
  <a class="brand" href="#">タイトル</a>
  <ul class="nav">
   <li>
    <form class="navbar-form pull-left">
     <input type="text" class="span3" placeholder="検索キーワード">
     <button type="submit" class="btn">検索</button>
    </form>
   </li>
  </ul>
 </div>
</div>
実行した結果、IEだと、こうなりました。
Photobucket
一方、chromeだと、こうなりました。
Photobucket
やっぱり、chromeの方が全然、かっこいいっす。

2012/11/14

[BootStrap]ツールチップを表示する

今、デモページを作っていて、tooltipsを実装する必要がでてきたので、その方法を調べました。

Tooltipsのページを読んでも、すぐにわからなかったのですが、ソースを直接調べた結果、以下のように落ち着きました。

<script>
jQuery(function($){
 $('a[rel=tooltip]').tooltip();
});
</script>
</head>
<body>
<div class="container">
 <div class="row">
  <div class="span12" >
   <a href="#" rel="tooltip" data-placement="top" data-original-title="this is tooltip">test</a>
  </div>
 </div>
</div>
</body>

IEだと、こんな感じ
Photobucket
chromeだとこんな感じ
Photobucket
やっぱり、chromeだと丸角がついてかっこいいですねー。

2012/11/13

[BootStrap]Pagination ページングの位置について

前回、BootStrapでページングを実装する方法について書きました。

で、今回は、ページングを真ん中にする方法について。

PaginationのAlignmentを読むと、「pagination-centered」または、「pagination-right」をつければいいようです。

従ってコードは、真ん中にしたい場合は下のような感じになります。

<div class="pagination pagination-centered">
 <ul>
  <li><a href="#">Prev</a></li>
  <li><a href="#">1</a></li>
  <li><a href="#">2</a></li>
  <li><a href="#">3</a></li>
  <li><a href="#">4</a></li>
  <li><a href="#">Next</a></li>
 </ul>
</div>
右側にしたい場合は、
<div class="pagination pagination-right">
 <ul>
  <li><a href="#">Prev</a></li>
  <li><a href="#">1</a></li>
  <li><a href="#">2</a></li>
  <li><a href="#">3</a></li>
  <li><a href="#">4</a></li>
  <li><a href="#">Next</a></li>
 </ul>
</div>
デフォルトは左側になるので、合計で3種類設定できることになります。

これでページングの位置設定も困ることはなさそうです。

2012/11/12

[BootStrap]Navbarを実装する

Navbar componentsを読みながら、簡単なナビゲーションバーを実装してみる。

<div class="container">
 <div class="navbar">
  <div class="navbar-inner">
   <a class="brand" href="#">Hello World</a>
  </div>
 </div>
 <div class="row">
  <div class="span4">
   Span4
  </div>
  <div class="span8">
   Span8
  </div>
 </div>
</div>
実行結果はIEの場合、こうなりました。
Photobucket
Chromeで見た場合、こうなりました。
Photobucket
やっぱり、chromeで見た場合のインパクトが違うなーっと。

2012/11/11

[jQuery]disabledについて

前回、jQueryでselectboxの値を取得する方法について書きました。

で、今度は、selectboxのdisabledにする方法について調査しました。

disabledにする方法は、単純に、

$('selectboxのselector').attr('disabled','disabled');
で出来たのだが、解除する場合は、どうすればいいのだろうか?

jQuery フォームで特定の条件で選択不可にする

jQuery でフォームの disabled を解除したり有効化する方法
を参考にすると、removeAttr("disabled")を使えと書かれていたが、これでも出来なかった。

結果的に、jQuery1.6のattr()で困ったら、1.6.1にすればいいみたい。を読んだところ、「prop」メソッドを使えばいいことになり、
$('selectboxのselector').prop('disabled',false);
ではずすことができました。

逆に、disabledをつける場合は、
$('selectboxのselector').prop('disabled',true);
とすればいいようです。

こうしてまとめておけば今後、同じ問題に遭遇したときも困らないぞと。

2012/11/10

[game]BRAVERY DEFAULTの公式ガイド

ソフトは持ってないけどほしい。
ブレイブリーデフォルト フライングフェアリー 公式コンプリートガイド (SE-MOOK)
ブレイブリーデフォルト フライングフェアリー 公式コンプリートガイド (SE-MOOK)
スクウェア・エニックス
理由は、これ。

ブレイブリーデフォルト フライングフェアリーの公式コンプリートガイドを購入して特典キャラクターをGETしよう!!

via:ブレイブリーデフォルト プレイングブレージュ×ブレイブリーデフォルト フライングフェアリー
どうやら、シリアルコードが入っており、それを入力すると、オリジナルキャラクターがゲットできるようだ。

うーん、ちょっと、ほしい。

2012/11/09

[jQuery]selectboxの値を取得

selectboxで、選択された値を取得したい場合、どうすればいいのだろうか?

当初は、単純に、

$('selectboxのselector').val();
で取れるだろうと思って、確かに、デバッグすると取得できていたので、問題ないのかなーっと思っていたのですが、不安になり、一度、ぐぐることに。

jQueryのselectタグ操作かんたんまとめで確認すると、syntax sugarとして用意されているようです。

他にも、

$('select option:selected').val();

via:jQueryのselectタグ操作かんたんまとめ
で、取得できるようです。

今回は、セレクトボックスでしたが、radioボタンとかはどうなんだろうか?

2012/11/08

[Objective-C][iOS]backBarButtonItemのタイトルを変更する

以前、書いたような気もするのですが、見当たらなかったので、1エントリー。

ViewController1 の viewDidLoad などで

UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] init] autorelease];
backButton.title = @"前の画面に戻ります";
if(iOS5以降なら)
{
// 戻るボタンの色を変えたい場合は、tintColor に UIColor をセットする
backButton.tintColor = [UIColor redColor];
}
self.navigationItem.backBarButtonItem = backButton;

via:ナビゲーションバーの戻るボタンのタイトルを変更する
大事なのは、呼び出し元で設定するということ。

ついつい呼び出し先に設定してしまいがちなので、注意したい。

2012/11/07

[PHP]textareaに書いた改行コードをbrタグに変更

同じことを考えていた人がすでにいたようだ。

正しく改行コードを
に変換できないでしょうか?

via:TEXTAREAに書いた改行コードを正しくBRに
それに対する答えは、これ。

nl2br()を使いましょう。
参考URL:http://jp2.php.net/manual/ja/function.nl2br.php

via:TEXTAREAに書いた改行コードを正しくBRに
結果的に、これでできましたー。
ちなみにSmarty版の改行は、以前のエントリーに書いてあります。

2012/11/06

[PHP]ヒアドキュメントについて

PHPでヒアドキュメントを使って文字列を表示しようとしたのだが、なぜかエラー

原因は、

原因その2:
ヒアドキュメントのエンドIDの前にスペースとかインデントとかタブが入っている

via:Parse error: syntax error, unexpected $end in について
実際エラーのときは、こうでした。
  print <<<EOT

  EOT;
で、タブやインデントを省いたのがこれで、正常終了しました。
print <<<EOT

EOT;
忘れそうなので注意したい。