nginxのリバースプロキシで巨大なファイルのダウンロードに失敗する件

例えば友人がスポーツの試合の動画を共有してくれた時、長時間にわたるものだと4GB~5GBぐらいまでデカかったりして、サーバーからダウンロードに失敗すると試行錯誤の時間がなかなか手痛い。今回はnginxでリバースプロキシを構成したサーバーから4GBぐらいのファイルをダウンロードしようとしたらできなくて困ったのだけれど、wgetを使うとできたのでメモ書き。
続きを読む nginxのリバースプロキシで巨大なファイルのダウンロードに失敗する件

Xcode4でのiOS Frameworkの作り方

よく使う機能やクラスをひとまとめにして他で流用したいことがある。そんな時は、Frameworkを自作してしまうと楽だ。この記事では、こんな感じでオリジナルのフレームワーク(画像中の”TestFramework.framework”)を作る方法を説明する。

フレームワークでも静的ライブラリでもなんでもよかったんだけど、猫好きモバイルアプリケーション開発者記録の「Xcode 4におけるiOS Frameworkの作成方法」という記事が分かりやすかった。ただ、このブログ記事の通りに進めて行ってもビルドエラーが出てしまい、色々試行錯誤が必要だったので、ブログ記事を参考にした上で自分が進めたやり方を残す。

続きを読む Xcode4でのiOS Frameworkの作り方

Objective-Cでシングルトンを作る方法

MRCの場合とARCの場合で異なるようだ。

MRCの場合

Objective-Cで自分の作ったクラスでシングルトンな動作をさせようと思ったら、公式ドキュメントを見るのが一番早かった。

http://developer.apple.com/jp/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_10.html

以下、上記サイトから引用して一部改変。

続きを読む Objective-Cでシングルトンを作る方法

Objective-Cのブロック構文をメソッドの引数にする

2014年03月25日追記
http://fuckingblocksyntax.com/という、ちょっと発声できない名前のページに、分かりやすくまとまっているのでそちらを参照するとよいかもしれないです。

概要

Objective-Cでは、ブロック構文というものが使える。iOS4から使えるようになった。
例えば、配列を走査したい場合はこんな感じで書ける。

NSArray *array = [NSArray arrayWithObjects:
				  @"りんご", @"ごま",
				  @"まほうしょうじょまどかまぎか",
				  @"からす", @"すずめ",
				  @"めだか", @"かんり", nil];
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
	NSLog(@"%d番目の要素は「%@」です。",idx,obj);
}];

これを自分で書いたクラスの中でメソッドの引数にするにはどうするか、というお話。

続きを読む Objective-Cのブロック構文をメソッドの引数にする

Debian6.0.2にnvmでnode.jsを入れるメモ

既に実験用として運用されてるDebian6.0.2サーバーにnode.jsのインストールを試みたのでメモ。
Node.jsとnvmを初めてインストールするときのハマりポイントと対策 – ess supを参考にした。

サーバーサイドはほとんど不慣れなので、明らかにおかしい表現があったらこっそり教えていただけると嬉しいです。

続きを読む Debian6.0.2にnvmでnode.jsを入れるメモ

CSS3 Animations を適用するとiOSでぼやける

enchant.jsでSpriteやLabelに対してjQueryを使ってエフェクトをかける方法についてはenchant.js + jQuery でエフェクトをつけるに書いた。使い慣れたjavascriptの機能を使ってエフェクトをかけられるのは魅力的だが、Spriteに対してCSS3の機能であるAnimationsを適用すると、iOS(iPhone,iPad等) の Mobile Safariで表示した際に、ピンボケというか過剰なアンチエイリアスというか、ぼやけた感じになってしまった。おかしいな、と思って実験したら、特定の条件下でAnimationsを適用した場合にぼやけてレンダリングされることが分かった。

特定の条件とは、

  • div要素に対してCSSでbackground-imageを適用して画像を表示している(enchant.jsのEntity)
  • 複数の画像にCSS3 Animationsを適用している
  • どれかの要素でCSS3のアニメーションが継続中

といった場合だ。そこで、実験をしてみた。
※結論だけ知りたい人はこちらをクリック

続きを読む CSS3 Animations を適用するとiOSでぼやける

enchant.js + jQuery でエフェクトをつける

javascriptのゲーム用ライブラリenchant.jsがステキすぎてハマりそうな感じではあるのだけれど、フェードイン/フェードアウトとか移動とかそういったエフェクトが見当たらず、フレームごとの処理が必要になりそうなのが面倒だった。

jQueryのEffectsが使えたらフェードインしたりスライドさせたり何かと楽でいいんじゃないかと思ったので、連携方法を模索。コード見ていたらdiv要素を持っているクラスは_elementという変数で保持しているようなので、その変数を返す関数をprototypeで拡張してみた。

続きを読む enchant.js + jQuery でエフェクトをつける