[iOS] CGLayerとCALayerってどう違うのよ?

2013/05/31

こんにちは。きんくまです。

画面をキャプチャしたいなと思って、調べてました。

>> iphone – Need to capture UIView into a UIImage, including all subviews – Stack Overflow

やり方はリンク先に書いてあるのを参照すれば大丈夫でした。

それで、コードを実際に書いていて、CALayerとCGLayerというのが存在しているのに気がつきました。

あれ、どっちも使ってる気がしてるけど、そういえば深く考えたことなかったな。

これ何が違うの???

この投稿の続きを読む »

LINEで送る
Pocket

[JavaScript] jQuery.Deferredで登録時に引数を持たせたい

2013/05/24

こんにちは。きんくまです。

今回はjQuery.Deferredです。

これは、非同期処理をわりと簡潔に書けるようになるので、ソースコードがあっちにいったり、こっちにいったりしないで、見やすくなるのが便利ポイントかなと思いました。

ASでもCommand系のライブラリがあったので、使用感としてはそれに近い感じでしょうか。並列、直列の非同期を書けるところとか。

で、わかりやすいチュートリアル記事があったので、これで勉強デス。
>> 爆速でわかるjQuery.Deferred超入門

ためしに書いたタイマーの非同期処理

var myTimer = function(){
	var d = new $.Deferred();
	setTimeout(function(){
		console.log('timer complete');
		d.resolve();
	}, 1000);
	console.log('timer start');
	return d.promise();
}

myTimer()
.then(myTimer)
.then(function(){
	console.log('all tasks complete');
});

これやってて、例えば登録時(.then)に引数をもたせたいことって結構あると思います。
3秒待ってから、5秒待ってからとか。

この投稿の続きを読む »

LINEで送る
Pocket

[JavaScript] Sublime Text2からGruntのタスクを実行できるようにする

2013/05/23

こんにちは。きんくまです。

html関係のエディタはいまSublime Text2を使っています。
で、ビルドシステムのGruntを使って、watch使って、ファイルが保存されたらビルドする。とやってました。

・最初「おー、これすごい便利!」
・「あー、癖ですぐ保存しちゃうから、ビルド毎回しちゃってるー」
・「保存しただけでビルドしないで欲しいです、。」
・「あー、イライライライライライラ…」
・「ビルドしないで下さい。泣(懇願)」←イマココ

となってきました。
やっぱり、各ファイル保存して、「ここだ!」という自分の好きなタイミングでビルドしたい!
ま、そのやり方にずっと慣れちゃってるっていうのもあります。

そこで今回のエントリです。

この投稿の続きを読む »

LINEで送る
Pocket

[iOS] アプリ開発日記 スパゲティ化した初期化処理をなんとかする

2013/05/22

こんにちは。きんくまです。

Habit Keeperという日課アプリをAppStoreで発売しております。

で、今回はそのアップデートの日記みたいなものです。

前回最後にアップデートしたのが3月でして、そろそろ次のアップデートをしたいなと思ってます。

というか、アップデートをしたかったんですが、どうやっていいかわからず困ってしまっていたというのが正直なところです。
えーと、機能が増えていくと、あちらを立てるとこちらが立たずとか、このときにこうなるとか、分岐が増えていったりします。
なるべく依存関係はなくすように書いているのですが、機能が増えるとどうしても重なる部分が出てきてしまって、いろいろと考えることが増えていくんですよね、、。

この投稿の続きを読む »

LINEで送る
Pocket

[JavaScript] jQuery.getJSON()ではまった

2013/05/21

こんにちは。きんくまです。

設定ファイルをJSONで書いて読み込むということをやろうとして、はまったのでメモです。

jQuery.getJSON()を使ってやってみたところ、どうにも読み込みハンドラが呼ばれないのです。

$.getJSON('path/to/jsonfile.json', function(jsondata){
    console.log(jsondata); //これが呼ばれない
});

この投稿の続きを読む »

LINEで送る
Pocket

[JavaScript] TypeScriptとか_(underscore.js)のtemplate()とか

2013/05/16

こんにちは。きんくまです。

JS関係のメモをひきつづき。

TypeScriptはこちらのページがまとまっていて、わかりやすかったです。

>> TypeScript クイックガイド

Underscore.js

Backbone.jsというのがあるみたいです。使い方を調べていたのですが、データの追加・削除・更新などをするのに便利そうでした。(たぶん)

>> Backbone.js Advent Calendar 2011

んで、Backbone.jsというのは、Underscore.jsというのに依存しています。
Underscore.jsは他に依存していないので、独立して使うことが可能です。

Underscore.js

この投稿の続きを読む »

LINEで送る
Pocket

[JavaScript] Gruntについてのメモ

2013/05/16

こんにちは。きんくまです。
Objective-Cの入門はしばらくお休みにして、JSのメモなどを。

Gruntというビルドツールがあるみたいです。

最近、sassとかTypeScriptとか、こういうのなんていうのかしらないんだけど(メタ言語というの?)、上位言語というか、そういうのいくつか出ております。
それをコマンドラインでひとつずつコンパイルしても良いのですが、「それまとめてコンパイルしちゃる!」みたいのがGruntというものらしいです。
コンパイル以外にもファイルのmin化とか、いろいろできるみたい。

詳しくはこちらで。

Web制作で面倒な作業を自動化するビルドツール、Grunt v0.4 入門

で、自分でもsassとTypeScript管理したいと思って作ったGruntfileをメモとしてアップ。

watchに書かれているfilesに変更があると、tasksにかかれているプロパティを実行します。

module.exports = function(grunt){
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-typescript');
    grunt.loadNpmTasks('grunt-contrib-sass');

    grunt.initConfig({
		typescript:{
		    base:{
				src: ['ts/*.ts'],
				dest: 'js/main.js'
		    }
		},
		sass:{
		    dist:{
				files:{
				    'main.css':'scss/main.scss'
				},
				options:{
				    style:'compressed'
				}
		    }
		},
		watch:{
		    scss:{
				files:['scss/*.scss'],
				tasks:['sass']
		    },
		    scripts:{
				files:['ts/*.ts'],
				tasks:['typescript']
		    }
		}
    });
};
LINEで送る
Pocket

ページトップへ戻る