python外部ライブラリをインストール。

どうも。python超初心者です!
結構おもしろいねぱいそん!

まぁ最終的にはWeb系で使いたいからな。
そしたらDjangoだなって言われたけど、まぁまず基本からやらないとね
ネットでも見るけど、どっちかというと参考書派なんだよな〜。。。
何処でも読めるし。

知ってる人には当たり前ですが、自分メモとして書いておきます。
このサイトで勉強してました http://www.python-izm.com/

画像処理系の外部ライブラリを使ってフォーマットの変更とかしてみた。
まずライブラリをダウンロードして解凍。

ターミナルからそのフォルダにアクセスすると、setup.pyというインストールするファイルがあるので

$ sudo python setup.py install

ってするだけ。
権限かかってるから普通に実行してもできなかった。
コレだけでいいので簡単だった!

なんか新しい言語やるの楽しいねっ
とくにWeb系の言語しかやってこなかったから
色々分野が広い言語やりたかったんですよね。
まぁ地道に頑張ってみます←

Jsでベンチマークてきな。

前にどこかのサイトでやってたので紹介します。
Javascriptベンチマークテストをしてみましょーっ

まぁそんなに使う機会はないと思うのですが、高速化のテストしてる時にちょっと使ってみました。
計測するにはjavascriptのconsoleを使います。
確かChromeと火狐しか対応してなかったと思います。。。

使い方

(function () {
    //ローカル変数にキャッシュして高速化
    var w = window;
    var i = 100000;
    var j = 100000;

    //遅い処理
    console.time('before');
    while (i--) {
        window.test = 'test';
    }
    console.timeEnd('before');

    //高速化
    console.time('after');
    while (j--) {
        w.test = 'test';
    }
    console.timeEnd('after');

})();

コレをコンソールで実行してみます。
Chromeの場合は、開いて右クリック→要素の検証→Consoleです。

f:id:rskull:20120217113903p:plain

さっきのを入力して実行してみると、結果が計測されています。
ローカル変数にキャッシュしたafterの方がかなり早いことがわかります。

高速化についてはコチラを参照 [ http://rskull.hateblo.jp/entry/2012/02/14/191254 ]

console.time('表示文字1'); ~ console.timeEnd('表示文字1');
の間が検証されます。

最初とエンドは同じ文字にしてください。

色々試してみて早いとなんか楽しいですね。
って言っても本当に少しの差なのですが、その差の積み重ねで早くなるのかな。

意識しすぎて可読性おちるのもどーかと思いますが、まぁ程々にね。

JavaScripの高速化メモ ①

忘れないための個人的なメモです。


for文の高速化

//遅い
for(i=0;i<array.length;i++){}
//速い
for(var i=0,len=array.length;i<len;i++){}

lengthは代入した方が早いらしい。


配列とオブジェクトの生成について

//遅い
var obj = {}, arr = [];
//速い
var obj = new Object, arr = new Array;

簡単だから{}とか略しちゃうけど、ちゃんとnewでやった方がいいらしい。。


グローバル変数は、一度ローカルにキャッシュ

//documentを変数に入れておく
var d = document, d.getElementById(...);


withを使用する場合

//withを使うと遅くなる
var obj = {test: 'hoge', str: ''}
with (obj) {
    var i = 10000;
    while(i--) str += test;
    return str;
}


//直接操作した方が速い
var obj = {test: 'hoge', str: ''}, i = 10000;
    while(i--) obj.str += obj.test;
    returnobj str;
}

直が文字化けしてる。。
withは結構重いらしいです。

32文字のランダムな文字列を作成

ランダムな文字列を生成したいときに簡単な方法があります。

たった1行でできます

<?php
$token = md5(uniqid(mt_rand(), ture));

(例)92325d689ea1ac75aec118fec4bd438b

これだけでおkです。

使いどころがあればつかってみてください。