APIには、直線や曲線、円弧を描画するためのメソッドが予め用意されています。これらのメソッドを利用することで、これまではプラグインなしでは実現が難しかった自由な形状のパスをHTMLだけで描画することができます。CSSHTML5のcanvasに線や塗りで図形を描画するHTML5のcanvasには、図形を線や塗りで描画するためのメソッドが予め用意されています。これらのメソッドを利用することで、これまではFlashのようなプラグインに頼らなければ実現が難しかった図形によるグラフの描画などもHTMLだけで実現することができます。canvas要素の基本的な使い方HTML5で新たに追加されたcanvas要素を使うと、プラグインに頼ることなくアニメーションなどを描画することができます。旧バージョンのブラウザでは対応していないものもあるため、まだまだ使う場面は限られると思いますが、将来的には強力な表現方法の一つになることは間違いないでしょう。staticメンバJavaScriptには、アクセス修飾子がないため、クラスに属するstaticプロパティやstaticメソッドを外部からアクセスできないようにすることはできません。クロージャを使うことにより、privateなstaticプロパティやstaticメソッドに似た機能を実現することができます。続きを読む2012/03/05カテゴリー:JavaScriptJavaScriptでのprototypeを利用したクラスの継承JavaScriptは、プロトタイプベースのオブジェクト指向言語であるため、クラスベースのプログラミング言語で使われるextendsのようなクラスを継承するための特別な構文はありませんが、prototypeを利用することにより、継承の機能を実現することができます。続きを読む2012/02/27カテゴリー:JavaScriptJavaScriptにおけるクラス定義JavaScriptは、プロトタイプベースのオブジェクト指向をサポートしています。クラスベースのオブジェクト指向言語に比べて記述は大きく異なりますが、JavaScriptでもクラスを利用することができます。続きを読む2012/02/20カテゴリー:JavaScriptJavaScriptの無名関数を利用した名前衝突の回避JavaScriptは、言語として名前空間をサポートしておらず、また変数や関数を上書きすることができるため、特に複数人で開発する場合などに名前の衝突が問題になる場合があります。無名関数のローカルスコープを利用することで、変数名や関数名の衝突を効率的に回避することができます。先日、ある案件でSSL環境下でもテストする必要があったので、MacportsでインストールしたApache2でSSLを有効にしてみました。思ったよりも簡単に設定することができましたが、憶えておく自信がないので忘れないようにメモしておきたいと思います。続きを読む2012/01/10カテゴリー:PHP配列がもっと便利になる!PHPの配列関連関数プログラミングするにあたって配列はとても便利なものですが、PHPには配列をさらに便利にする関数が色々と定義されています。これらの関数を上手く利用することで、配列をより効率的に扱うことができます。配列を扱うにあたって、すべての要素に特定の関数を適用したいケースがあります。array_filter()といった関数が定義されており、これらの関数を利用することで処理を簡潔に記述することができます。