JavaScriptの継承について

1 Comment

今までJavaScriptの継承はネットで拾い読みしたコードを参考に書いてきたので,きちんとまとめたくなった。

勉強に使ったのは下記の書籍。
これまで自己流で書いてきた私にとっては非常にいい本である。

この書籍では関数をクラスのように書く”関数パターン”は”クラシカル”と表現されていた。
また,”プロトタイプパターン”もあり,こちらは”モダン”と呼ばれていた。

これまでの人生でJavaやC++でクラスというものが染み付いてしまっているので,まずは”関数パターン”の方を調べみた。
(クラシカルという表現は気になるけれど。。。)

具体的には下記の形式になる。

一般的に”継承よりもコンポジション”と言われ,使用する機会が少ないかもしれないが,
オブジェクトのプロトタイププロパティを理解するのにもいい教材だった。


Adobe Premiere Elements 10にてアニメーションにイーズイン(ease in)とイーズアウト(ease out)を設定する

No Comments

結婚式のプロフィールビデオをAdobe Premiere Elements 10を使って作成している。

その時にエフェクトのモーションのアニメーションを作っていたのだけど,常に同じ速度ではなく,徐々に減速したり,徐々に加速させるようにしたかった。

一般的にこういった変化の具合は下記のように呼ばれている。

  • リニア(linear)
    常に同じ速度
  • イーズイン(ease in)
    徐々に減速
  • イーズアウト(ease out)
    徐々に加速

設定するには,アニメーションさせたいビデオクリップを選択した上で,[編集]タブの[エフェクト]-[エフェクトの編集]を選択。
するとキーフレーム設定画面が開くので,キーフレームを右クリックすると設定できる。

ググったら非常にわかりやすい説明を見つけた。
キーフレームと補間法 – Pre-ing


さくらVPSのリソース情報のCPUについて

No Comments

さくらVPSのりソース情報でCPUのグラフがよくわからなかった(汗)

グラフは下記のように表示されている。

縦軸の単位がmsec??
よくわからなかったので調べてみた。
どうやら,CPUリソースを一秒間に何msec占有したかの値らしい。

今回仮想サーバーの仮想コア数が3つだとすると,縦軸の最大値は3000msecということなのかな。

それが正しければ,上記のグラフを見ると100msecほどしか使用していないので,100 / 3000 で全体の3%程度しか使用していないことになる。

(本当かな?)

そこで,リモートログインしてコンソールで確かめてみる。
mpstatという便利なコマンドがあるらしいのでインストール。
(vmstatやtopでもよい)

$ sudo aptitude install sysstat -y

下記のコマンドで1秒おきにCPUの使用情報を表示する。

$ mpstat 1

するとidleが99%か100%と表示され,むしろ全体の3%も使用してない。。。

う~む,よくわからない。続調査項目。


後日。。。

さくらの中の人に質問してみた。

  • このグラフはコアではなく、CPU全体の使用率を表している
  • CPUの使用率が1Ksecになると負荷が高くなっている可能性がある
  • CPUがIdle状態のときでも100msec程は使用率として表示される

とのこと。

最大値は1000msecになるのかな?
とても丁寧に教えていただけた。


更に後日。
JMeterを使ってパフォーマンスを測定してみた。

CPU使用率は1Ksecを超えるらしい。。。


403エラーの代わりに404エラーを返す

1 Comment

最近,Webサーバーのアクセスログを見ているとブルートフォース攻撃と見られるアクセスを発見した。

攻撃に対して403エラーを返してしまうとそのコンテンツがサーバー上に存在することがわかってしまうのでよろしくない。

そこで代わりに404エラーを返すように設定した。

仮に下記の条件で実施したとする。

  • WebサーバーはApache
  • (DocumentRoot)/error/を作り,表示可能な設定にしている
  • PHPが使用できる

まず,Apacheのコンフィグファイル(httpd.conf等)に下記を追加する。

次に(DocumentRoot)/error/404.phpを作成する。

Apacheの404エラーページを真似た表示にしてみた。

ちなみにサーバーシグネチャを入れるとバージョンがわかってしまうのでセキュリティ上入れない方が良いと思われる。
(HTTPレスポンスのServerヘッダの設定も変更してバージョンを表示させないほうが良い)

これでOK。


NT-Emacsの日本語対応

No Comments

下記のサイトが非常にまとまっていてわかり易かった。

Amrta – NTEmacs で UTF-8 な環境構築を試行錯誤

該当する箇所は”まずは文字コード関連の設定をなるべく UTF-8 にする。”というとこから。
環境をUTF-8で統一することで,Diredやシェルの日本語の文字化けが起こらなくなり,grep-findコマンドで日本語を検索できるようになった。

後はこの環境にあわせてShellモードでCygwinのbashを使うように設定し,自分にとって非常に使いやすい環境を構築できた。
下記,環境変数CYGWIN_HOMEにはCygwinのインストールディレクトリを設定してある。


WordPressのFTPSを用いたテーマのインストールに失敗する

No Comments

WordPressのテーマインストール時にFTPSを用いて接続すると下記のエラーが出てしまう。

WordPress テーマディレクトリが見つかりません。

FTPではうまくいくのにな~。。。
ちなみにFTPSはFileZillaで接続できることを確認済み。
このエラーメッセージ自体接続には成功してることを示してるみたい。

FTPのときと何が違うんだろ。続・調査。。。


gnupackのEmacsが使いやすい件について

No Comments

WindowsのGNU Emacsを使ってみて非常に不便だったのが,Windows標準のMS IMEで日本語のインライン入力ができないことだった。

自分が入力中の文字が分からないのである。
(スペースで変換すると,候補のポップアップは表示されるも,場所はスクリーン右下。。。)

調べたところ,修正パッチがあり,これを適用してビルドし直すと解決するらしい。

Emacsのバージョンを上げるたびにビルドし直すのは面倒だな~と思って(本家でも修正が入ると思うけど)探したら,
パッチを適用してビルドしたバイナリがあった。

gnupack

必要なのはemacsのみなので,”emacs only”のリンクからバイナリをダウンロード。

欲しかったものを見つけた。

ちなみにUSキーボードで日本語入力のON/OFFを切り替えるのに”Alt-`”を使うと,下記のメッセージが毎回表示される。

<M-kanji> is undefined

これは下記のように~/.emacsでM-kanjiをignore関数に割り当てることで解決。