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です。
さっきのを入力して実行してみると、結果が計測されています。
ローカル変数にキャッシュした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です。
使いどころがあればつかってみてください。