2013/05/31

[JavaScript][Underscore.js]_.templateメソッド

JavaScriptでPHPのsmartyのようにテンプレートを使ってqueryを展開することができないのかと模索していたところ。

Underscore.jsのtemplateメソッドを使えばいけそうです。

<div id="container"><ul><ul></div>
<script>
var list = "<% _.each(people, function(name,i) { %><li><%= name %></li><% }); %>";
var ret = _.template(
    list, 
    {people : ['moe', 'curly', 'larry']}
);
$('#container > ul').append(ret);
</script>
templateメソッドで返ってきた値をdomにappendする感じですねー。

確かに便利だが、若干、醜い気がする。
特に、list変数の部分が。
<% %>
はJavaScriptのコードでそれ以外がHTMLなんですよね。
文字列で閉じ込めている以上しょうがないのですが、「"」で囲むのがなー。ちょっとうざい。

もう一歩進んで便利に使えないだろうか?

2013/05/29

[framework]Evan Priestleyのプログラム習得術

下のエントリーを読むまでわからなかったのだが、どうやらEvan PriestleyはFacebookで有名なエンジニアだったようで、どうすればプログラムがうまくなるのかをまとめた記事が公開されたようなので、ブクマ代わりに1エントリー。

Evan Priestley 氏がどうやってプログラミングを学んだかを教えてください

やっぱり、
「好きこそものの上手なれ」
なんですねー。

[iOS][Objective-C]iOS Dev CenterでAPPIDの削除が可能に

やっとiOS Dev Centerでapp idの削除ができるようになりました。

今まで作ったら作ったで削除することができなくて、負の遺産として残っていたわけだが、これはすごくうれしい。

2013/05/27

[Twitter][設計書]ページング処理について

twitterのドキュメントにタイムラインを使ったページングについて書かれていたのでブクマ代わりに1エントリー。

Working with Timelines

max_idを使って過去の検索ができるが、同時に、リアルタイムで発生したツイートはsince_idを使うというところがミソ。

2013/05/26

[Objective-C]NSLogでlong long型を出力

昨日は、「long long型」について書きましたが、今日は、NSLog上での出力方法について。

stackoverflowの「Passing long long argument in Objective-C?」を読むと、

NSLog(@"long long is %lld",long_long_value);
備忘録として。

2013/05/25

[C]long long型

long型は聞いたことがあるが、long long型とは?

C 言語が初めて作成されてから、現在までかなりの時間が経過しています。それに従い計算機も進化してきました。例えば、64 bit のアドレス空間を持つ CPU の登場です。64bit あれば 18E(エクサ)もの巨大な数を表すことができます。従来の C 言語のコンパイラではそのような巨大な数を表現することは想定していませんでした。そこで、今回新たに long long int という、long 型よりもさらに大きな数を表現できる型が新設されました。具体的な大きさなどは次の通りです。

via:long long int 型
なるほど。確かに計算機の処理能力があがるとよりたくさんの数字を計算できるようになるので、新しい型が登場しても不思議ではありません。

2013/05/24

[本]良いウェブサービスを支える「利用規約」の作り方

今までこのような本があっただろうか?
良いウェブサービスを支える「利用規約」の作り方
良いウェブサービスを支える「利用規約」の作り方
雨宮 美季 片岡 玄一 橋詰 卓司

第1章 3大ドキュメント超入門
第2章 トラブル回避のための注意点と対応策
第3章 すぐに使える・応用できるひな形
第4章 ダメな利用規約を生み出す「3つの落とし穴」を回避する
特別付録 ひな形英文訳

via:目次
facebookのapp centerに登録するには、利用規約とプライバシーポリシーが必要だと以前書いたが、実際、どのように書いたら全くわからなかったので、本書を手に取ったが、素晴らしいの一言。

何が素晴らしいかというと、「何故」利用規約ないしプライバシーポリシーが必要なのかという部分から説明があるので、納得した上で、先に進むことができたのだ。
普段、ソフトを使う上で、読むのがうざいと思うこれらの規約を楽しく学ばせてくれるのだ。

しかも、ただ書き方を教えただけでは読者はオリジナルを作ることは難しいことを熟知している上で、ひな形をベースに話を展開しているところもGood。

さらに、英語版も付録としてあったりと至れり尽くせり。

家とデスクのそれぞれ2冊づつ置きたいです。

2013/05/23

[本]無一文から億万長者となりアメリカンドリームをかなえたヨシダソース創業者ビジネス7つの法則

読了
無一文から億万長者となりアメリカンドリームをかなえたヨシダソース創業者ビジネス7つの法則
無一文から億万長者となりアメリカンドリームをかなえたヨシダソース創業者ビジネス7つの法則
吉田 潤喜

PROLOGUE はじめに

Chapter1
LAWS OF ENERGY【エネルギーの法則】 自分の中に熱(エネルギー)を持て
悔しさをエネルギーに変える
自分を認める
「I love myself」を口ぐせにする
やりたいことは口に出せ
決断は10秒あればいい
感動を口に出す

Chapter2
LAWS OF PASSION 【パッションの法則】 情熱をかたむける
燃えなければはじまらない
素人の強みを生かす
99%と100%のパッションは違う
できるという自己暗示にかける
ルールがあるからエキサイトする
落ち込んだらリセットボタン

Chapter3
LAWS OF CHANCE【チャンスの法則】 チャンスをつかむ
直感を大事にする
一か八か賭けてみる
ものを売るより自分を売れ
第一印象に気をつける
チャンスは過去にある!?
運を引き寄せる方法
最後は自分の心に聞け

Chapter4
LAWS OF ATTRACTION【アトラクションの法則】 他人を巻き込む
周りの人を巻き込むには?
必ず誰かが見ていてくれる
相手を認める
モチベーションを引き出す
若者に学ぶ姿勢を持つ
苦手な人を巻き込むには?
大人のビジネスゴルフの流儀
組織にチームは必要か?

Chapter5
LAWS OF GROWTH【成長の法則】 成長をつづける
トップの人間はLAZY(レイジー)になれ
事業にほれない
弱点と向き合う
上り調子のときこそ足元を見ろ
失敗は許せ、嘘は許すな
人脈はほしくて作るものではない
成長のためのお金の使い方
一流とは?

Chapter6
LAWS OF RETURN 【リターンの法則】 恩返しの力
恩返しというエネルギー
家族は最高のモチベーション
出会いに感謝する
恩を強要しない
人間の使命とは?

Chapter7
LAWS OF SUCCESS【成功の法則】 成功の方程式
成功に方程式はあるか?
武道から学んだこと
経営者は孤独か?
仕事はゲームだ
奇跡はあるか?
逃げるということ
笑顔は人生を物語る

EPILOGUE おわりに

via:目次
吉田社長自身の経験を語った内容なのだが、「大人げない大人になれ!」にもあったが、仕事を仕事として捉えず、ゲームとして無我夢中で楽しんでいる点ではやはり同じなんだなと。

アメリカのビジネスの実際ってやっぱり競争が激しいだなと日本人社長だからこそすごく説得力があり、今の置かれている状況を考えるとすごく焦った。

本書を読む限り、ものすごくポジティブな印象を受けたのだが、それでも一回自殺をしようと思ったとあり、結果的に気持ちを切り替えて再起を果たしたが、そこから戻れない人もいるんだと思ったり、こんな人が、そんなこと考えるなんてどんな世界なんだと想像するのが怖くなったり。

情熱をもって物事に取り組むこと、
部下に対してマイクロマネジメントしない、
相手を認める、
感動を口にする、
などなどは既に実践というか無意識に行っている部分もあったので共通部分がありうれしかったです。

ただ事業にほれないという部分に関しては、収集癖があるので今後気をつけるべきポイントなのかもしれない。

話は変わるが、アマゾンで購入できないのかなーっと思って検索したらあった。
ヨシダ グルメのたれ オリジナル 645g
ヨシダ グルメのたれ オリジナル 645g
どんな味がするんだろうか?ってか「たれ、ソース」部門で一位だったんだけど、すごいなー。(2013年5月22日時点。)

2013/05/22

[本]ラクをしないと成果は出ない

以前、単行本版を買ったのですが、本棚の都合上、文庫版も買いましたー。
ラクをしないと成果は出ない (だいわ文庫)
ラクをしないと成果は出ない
日垣 隆

2013/05/21

[CSS][HTML][JavaScript]Browserhacks

これ、おもしろそう。

前ブラウザのブラウザハックまとめ「Browserhacks」
Chrome,Firefox,IE,Opera,Safariのハックが1ページにまとまっていて便利。
CSSによるハック方法と、JavaScriptによるハック方法が網羅されてます。

via:前ブラウザのブラウザハックまとめ「Browserhacks」
揚げ足とりになってしまうかもしれないが、これ「前」ではなく「全」ではないかと。

あえて要望を出すならばスマホ版もほしいなー。

そうすれば開発コストが下がると思うのだが。

2013/05/20

[JavaScript][CoffeeScript]引数なしの関数定義

引数無しの関数定義ってどうすればいいんだろう?

関数定義を読むと、

関数名=(変数,変数)->
処理
返値は最後に処理した値になる。*1(関数の最後の行とは限らない。)
明示的にreturnで関数から抜けることも出来る。
引数がない場合は括弧は省略できる。

via:関数定義
これでも理解できるのだが、不安が残ったので実際に定義しみることに。
hoge=->
 console.log "hello coffeescript"
確かにコンパイルしたら関数なしで定義されていましたー。

2013/05/19

[iOS][Objective-C]UITableViewCellの背景色を変更する その2

以前、UITableViewCellの背景色を変更するというエントリーを書きましたが、その後、プログラムをしていたら、これだと不具合が発生することがわかりました。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    cell.contentView.backgroundColor = [UIColor redColor];
}
上のプログラムだと、accessoryTypeプロパティーで値を設定した場合、contentViewで設定した背景が反映されないという不具合がありました。

stackoverflowのCell background and accessoryによると、下のように、backgroundViewで設定すれば問題ないようです。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    cell.backgroundView.backgroundColor = [UIColor redColor];
}
これから実装するときは、気をつけないとな。

2013/05/18

[JavaScript][CoffeeScript]否定演算子について

JSで書くと

if (!hoge){

}
なのってCoffeeScriptではどうやって書けばいいのだろうか?
公式マニュアルを見るとどうやらしたのように書けばいいようだ。
if not hoge
意外とあっけなかった。

2013/05/17

[本]それでも、日本人は「戦争」を選んだ

それでも、日本人は「戦争」を選んだ
それでも、日本人は「戦争」を選んだ
加藤 陽子

序章 日本近現代史を考える
1章 日清戦争 ―「侵略・被侵略」では見えてこないもの
2章 日露戦争 ―朝鮮か満州か、それが問題
3章 第一次世界大戦 ―日本が抱いた主観的な挫折
4章 満州事変と日中戦争 ―日本切腹、中国介錯論
5章 太平洋戦争 ―戦死者の死に場所を教えられなかった国

via:目次
人間は過去から教訓を学び取ることができるが、それを活かすのが本当に難しいし、かつ間違えた(と言っては語弊があるかもしれないが。)場合の結果、日本がどのような道を歩んでしまったのかを丁寧に解説した一冊。

また本書に出会うまで歴史はたんなる暗記物だと考えていたが、エドワード・ハレット・カーという歴史家の存在から科学だと知る。感情の積み重ねではなく過去の積み重ねによって今があるのだと。確かにそりゃーそうだ。まがいなりにも立派な大人が判断しているんだから。感情だらけの判断だったら今頃ぐちゃぐちゃになっていると思うし。

太平洋戦争を開始するにあたり統計データを用いたそうだが、やはり作り方によって、如何様にもできるんだなーっと歴史を通して再認識した。
まさに透明な時代を見抜く「統計思考力」を振り返えさせてくれた。
なので、どうして日本は、圧倒的な国力差のあるアメリカに戦争を挑んだか理解した。

びっくりしたのは、それを選んでしまわぬために - 書評 - それでも、日本人は「戦争」を選んだにも書かれていたが戦時中も株式市場があいていたということ。
9.11ではないが、ホント、繰り返されて怖いなーっと思った。

これからを賢明に生きる上での一つの羅針盤に本書はなりました。
(って、高校の授業も、中世の世界史じゃーなくて、こういうのを教えろよなと軽ーくクレーム。)

2013/05/16

[PHP][GoogleAppEngine]PHPのサポート?

ついにきたかも!!

At Google I/O, we announced PHP as the latest supported runtime for Google App Engine in Limited Preview. PHP is one of the world's most popular programming languages, used by developers to power everything from simple web forms to complex enterprise applications.

via:Get started with App Engine for PHP: scalable, secure and reliable
ずーっと前からtwitter上では、届いてないかもしれないが、要望自体は出していました。

これで一気に、GoogleAppEngineの利用ユーザーが増えそうだなー。

そうすれば、当然、有料課金者も増えることになり、売り上げが増えることでより便利な機能を追加することもできるようになるわけだし。

いい感じですねー。

2013/05/15

[iOS][Objective-C]UIButtonのテキストが表示されない件

UIButtonに以下のようにテキストを設定してもなぜか表示されない。

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.titleLabel.text = @"ButtonTitle";
どうやらテキストの設定は、
- (void)setTitle:(NSString *)title forState:(UIControlState)state
を使わないといけないようだ。
従って最終的には以下のプログラムで落ち着く
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"ButtonTitle" forState:UIControlStateNormal];
これからボタンにテキストを設定するときは気をつけないとな。

2013/05/14

[iOS][Objective-C]admob SDK 6.4.2の追加方法

先日、admobのiOS SDKのバージョン6.4.2がリリースされたので、既存のプログラムをアップデートしました。

基本的なやり方は、前回書いた「 admobの追加方法
」と同じなんだけど一個注意したいのが、StoreKitライブラリを「Required」でインクルードすることでしょうか。

そこさえ気をつければおk

2013/05/13

[iOS][admob]SDKのバージョン番号の確認方法

メール経由でadmobの最新のSDKがリリースされたので、交換してほしいというのがきたが、本文の中でバージョンを確認する方法が書かれていたので、備忘録として。

[GADRequest sdkVersion]; 
と入力すれば、バージョン番号をゲットすることができるようです。

確かに、NSLogで出力されました。

ちなみに、戻り値は、NSString型のようです。

2013/05/12

[本]徹底抗戦

以前、堀江さんの書いた「徹底抗戦」という本を紹介したが、文庫版がでたので、新規で購入。

徹底抗戦 (集英社文庫)
徹底抗戦 (集英社文庫)
堀江 貴文

2013/05/11

[本]稼ぐが勝ち

昨日のエントリーの続き的な感じがしてしまうが、本棚のレプレース作業に伴い文庫版を購入。

稼ぐが勝ち (知恵の森文庫)
稼ぐが勝ち (知恵の森文庫)
堀江 貴文

その後の「稼ぐが勝ち」が追記されていたので、その部分だけ読んだ。

2013/05/09

[CSS]Normalize.cssはCSSのjQueryだ

最近、Normalize.cssやらReset CSSなど聞くが正直、何がいいのかさっぱりわからないところがあったが、「なぜリセットではなく Normalize.css を使うのか」というエントリーを読んで、とてもわかりやすくやっと理解できた。

著者の言葉を借りれば、ずばりこうだ。

Nomalize.css は CSS における jQuery と理解すればいいだろう。

via:なぜリセットではなく Normalize.css を使うのか
というわけで、今後の開発には積極的に取り入れたいなー。

2013/05/08

[JavaScript][underScore.js]groupByメソッドについて

公式マニュアルを見ながらgroupByメソッドの使い方を勉強する。

var hoge = _.groupBy([3.14, 1.41421356237, 1.73205080757],function(num){
 if(num > 2){
  return 'over2';
 }else{
  return 'under2';
 }

});
/*
{
 'under2':[1.41421356237, 1.73205080757],
 'over2':[3.14]

}
*/
console.log(hoge)

2013/05/07

[JavaScript][Underscore.JS]_.mixinメソッド

公式マニュアルを見ながらmixinメソッドの使い方を勉強する。

_.mixin({
 hoge:function(args){
  console.log(args)
 }
});

_.hoge('hello');
備忘録として。

2013/05/06

[JavaScript][Underscore.JS]extendメソッド

公式マニュアルを見ながらextendメソッドの使い方を勉強する。

var hoge = {'bar_01':1};
var foo = {'bar_02':2};

var ret = _.extend(hoge,foo);
/*
{
 bar_01: 1
 bar_02: 2
}

*/
console.log(ret)
備忘録として。

2013/05/05

[JavaScript][Underscore.JS]eachメソッド

公式マニュアルを見ながらeachメソッドの使い方を勉強する。

_.each([1, 2, 3], function(v,i,list){
 //return index number
 //0,1,2
 console.log(i)
 //return array value
 //1,2,3
 console.log(v)
});
_.each(['lemon', 'apple', 'orange'], function(v,i,list){
 //return index number
 //0,1,2
 console.log(i)
 //return array value
 //'lemon','apple', 'orange'
 console.log(v)
});

_.each({'lemon':'hoge', 'apple':'foo', 'orange':'bar'}, function(v,i,list){
 //return key
 //'lemon','apple', 'orange'
 console.log(i)
 //return json value
 //'hoge','foo','bar'
 console.log(v)
});
備忘録として。

2013/05/04

[Game]Mobage版ファイナルファンタジータクティクス

GW中は、ゲームをやりたくなっちゃうのですが、そんな中、うれしいお知らせが。

スクウェア・エニックスは4月26日、Mobage向けにタクティクスRPG「FINAL FANTASY TACTICS S」を、配信することを発表。事前登録を開始した。対応機種はiPhone/Android端末で、配信時期は未定。

via:スクエニ、Mobage向けに「ファイナルファンタジータクティクス」新作を配信へ
なつかしいなー。ファイナルファンタジータクティクス。

一番、最初にやったのが、高校1年の時。
ファイナルファンタジータクティクス
ファイナルファンタジータクティクス
スクウェア

もっと前には、タクティクス オウガもやっていたかも。
タクティクス オウガ
タクティクス オウガ
むちゃくちゃ下手だったけど、どれも素敵な思い出だ。

ただ、伝説のオウガバトルはやらなかったけど。
伝説のオウガバトル
伝説のオウガバトル
クエスト

そんなことを振り返りつつMobage版をチャンレジしたいのだが、果たして時間はあるのだろうか?

2013/05/03

[ChromeWebStore]ChromeWebStore版のGoogle Keep公開

まったく使ってないが、こんなニュースが飛び込んできた。

Googleは米国時間5月2日、「Chrome」ウェブアプリ版の「Google Keep」を発表した。Google Keepは、ちょっとしたメモ書きから大きなアイデアまであらゆるものを保存できるアプリを目指している。

via:「Google Keep」、「Chrome」ウェブアプリ版がリリース
というわけでストアでリリースされている。

前から気になっているのだが、Googleはこれを公開してどうするのだろうか?
何が狙いなのか?よくわからない。
 photo googlekeepchromewebstore_zps5ed651bc.png