カテゴリ: 未分類 - ページ 7

Javascriptでオブジェクトのディープコピー

参照型

Javascriptでオブジェクトをコピーということは基本的にできないみたい。Javascriptにおけるオブジェクトというのは、DOM要素と配列({} と [])などはオブジェクトとして扱われ、 1 とか “1” は 数値と文字列として扱われる。

<span class="synIdentifier">var</span> a = <span class="synIdentifier">[</span>1, 2, 3 <span class="synIdentifier">]</span>;
<span class="synIdentifier">var</span> b = a;
b<span class="synIdentifier">[</span>0<span class="synIdentifier">]</span> = 100;
<span class="synStatement">alert</span>(a);
Code language: JavaScript (javascript)

こうすると、bの変数の配列を一番目を変更したのにも関わらずaの配列の値が変わってる。これは変数aと変数bに格納されているデータを「参照」しているアドレスが同じ場所になってしまっているからなんだそうです。これを参照渡しと言って、Javascriptではどうあがいてもオブジェクトは参照渡しになってしまう。

ただ、DOM要素や関数が配列内に含まれていなければある方法でオブジェクトをディープコピーできる。

JSON

<span class="synIdentifier">var</span> a = <span class="synIdentifier">[</span>1, 2, 3 <span class="synIdentifier">]</span>;
<span class="synIdentifier">var</span> b = JSON.parse(JSON.stringify(a));
b<span class="synIdentifier">[</span>0<span class="synIdentifier">]</span> = 100;
<span class="synStatement">alert</span>(a);
Code language: JavaScript (javascript)

Mac OSXでたった5分でRedMineを使えるようにする方法

OSXのローカル環境にちょっと一手間だけで簡単にRedMineを使えるようにするパッケージ

BITNAMI
http://bitnami.org/ja/stack/redmine

このBITNAMIを使用することで、GUI環境にて、一切Terminalに触れることなくRedMineがインストールできてしまいます。インストールされるポートは8080なのでほかと競合しないように注意が必要です。

もちろん、ポートを開放したり、ファイアウォールによるポート制限を解除したりすればこのURLで複数のPCからもアクセスできるようになるので便利。

いいものを見つけました!

黄金比だけじゃなかった、webデザインのレイアウト比率の決め方。

黄金比

黄金比とは、1:1.1618 として短い方を1として長い方を1.618にするとなんかしっくりくるよねっていう比率のこと。帽子をかぶった時もこの比率に顔の形がなってないとなんか変?っておもわれてしまうくらいかなり重要なもので、黄金比にすると運が良くなる、とかじゃなくて、できるだけしたほうがいいものだったりする。

大和比

しかし、このなんかしっくりくるよねっていう比率、実は黄金比だけじゃなかった。大和比は別名、白銀比とも呼ばれ、実はかなり日常生活にも馴染みのある比率だったりする。
比率は「1:1.4142」。A4とかA5とかのコピー用紙の大きさだったりする。比率って意外と深い。

間の明け方の比率?

あんまり詳しくないんだけど、間の明け方の比率とかもあるのかな。