Latest Publications

OSC名古屋のセミナー情報

弊社は、CodeIgniterユーザ会で参加します。

今回は「読書会」です。どうぞふるってご参加ください。

—-以下告知文—-

====================================================================
「OSC2009 Nagoya」 セミナー参加登録 受付開始のお知らせ
====================================================================

セミナー参加登録の受付を開始いたしました。

http://www.ospn.jp/osc2009-nagoya/

各開催、多くの方にご参加いただいております。
セミナー参加登録もすぐに満員となってしまいますので、お早めのご登録を
おすすめいたします。

1日中、セミナーが目白押し、全て無料で聴講いただけます。
OSS初心者から上級者まで、よりわかりやすく、楽しめる企画が満載です。

──────────────────────────────────
□■□ –【オープンソースカンファレンス2009 Nagoya】– □■□

★セミナー参加登録受付中!⇒⇒⇒ http://www.ospn.jp/osc2009-nagoya/

◆日時:8月22日(土)10:00-18:15
◆入場:無料
◆会場:名古屋市立大学 山の畑キャンパス教養教育棟(地下鉄桜通線 桜山駅 徒歩15分)
◆主催:オープンソースカンファレンス実行委員会
◆内容:オープンソース関連の最新情報提供 (展示・セミナー)
──────────────────────────────────

2004年から始まり、今回で38回目を迎える日本最大級のオープンソース総合
イベント「オープンソースカンファレンス」。

オープンソース・IT 技術に関するイベントとして、多彩なセミナーと、
オープンソースに触れられる展示で旬の最新情報をお届けします。
セミナー・ブースでの展示は、全て無料でご参加いただけます。

オープンソース最前線で活躍する人たちと気軽に出会えるのもOSCならではの
魅力!
ここでしか得られない貴重な情報や人脈、ビジネスチャンスを探しに、ぜひ
ご来場ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆事前登録についてのご注意

セミナープログラムについては、聴講できる人数に限りがございます。
お早めに参加登録をお済ませ下さい。

左側の「セミナー事前受付登録はこちら!」より、登録を行ってください。

★登録はこちらから → http://www.ospn.jp/osc2009-nagoya/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
セミナータイムテーブルはこちら↓

http://www.ospn.jp/osc2009-nagoya/modules/eventrsv/index.php?id=1

展示一覧はこちら↓

http://www.ospn.jp/osc2009-nagoya/modules/xfsection/article.php?articleid=1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆オープンソースカンファレンス2009 Nagoya の注目企画セミナー!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▼10:15-12:00
『Webアプリケーション・フレームワーク大集合【2コマ連続】』
→ http://www.ospn.jp/osc2009-nagoya/modules/eguide/event.php?eid=34

▼13:00-14:45
『地域系勉強会パネルディスカッション【2コマ連続】』
→ http://www.ospn.jp/osc2009-nagoya/modules/eguide/event.php?eid=35

▼17:10-18:55
『フリーソフトウェアとOSS』
→ http://www.ospn.jp/osc2009-nagoya/modules/eguide/event.php?eid=36

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▼懇親会のご案内

時間:18:30-20:00
会費:一般3000円、学生2000円
→ http://www.ospn.jp/osc2009-nagoya/modules/eguide/event.php?eid=37

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▼来場者プレゼント

ご来場いただき、オープンソースに関する意識調査アンケートにご協力いた
だいた方には『くじ引き』にてすてきな景品が当たるチャンス!
→ http://www.ospn.jp/osc2009-nagoya/  ※最下部に景品画像掲載中!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆協賛
・NEC
・日本AMD株式会社
・日本ヒューレット・パッカード株式会社
・サン・マイクロシステムズ株式会社
・ノベル株式会社
・株式会社日立製作所
・株式会社NTTPCコミュニケーションズ
・マイクロソフト株式会社
・NTTコムテクノロジー株式会社
・SRA OSS, Inc. 日本支社
・株式会社野村総合研究所
・日本仮想化技術株式会社
・株式会社ザクロ
・株式会社ミライコミュニケーションネットワーク
・株式会社IDGジャパン
・株式会社アスキー・メディアワークス
・株式会社インプレスIT(ThinkIT)
・株式会社インプレスジャパン
・株式会社オライリー・ジャパン
・株式会社技術評論社(Software Design)
・株式会社翔泳社
・ソフトバンク クリエイティブ株式会社
・株式会社日経BP – 日経Linux
・株式会社毎日コミュニケーションズ

◆後援
・一般社団法人 Mozilla Japan
・特定非営利活動法人エルピーアイジャパン (LPI-Japan)
・オープンソースビジネス推進協議会
・World Wide Web Consortium (W3C)
・日本Linux協会
・日本UNIXユーザ会

◆参加グループ
・CAMTA-JP, GT.M研究会(Google Groups)
・CSNagoya
・DeLLa.JS
・Developer Study Tokai(DSTokai)
・Drupal – http://groups.drupal.org/japan – Japan Group
・EOS Project
・FLOSS桜山
・Geeklog Japanese
・Ja STACK コミュニティ
・Joomla! 日本語化プロジェクト
・KOZOSプロジェクト
・Magento-JP User Group
・Nucleus ジャパン チーム
・ocaml-nagoya
・OpenOffice.org日本ユーザー会
・Python東海
・Ruby東海
・TEF東海
・TYPO3 UsersGroup JAPAN
・Ubuntu Japanese Team
・Usagi Project
・WordBench 名古屋
・XOOPS Cube Tokai
・オープンソース(OSS)で中小企業のIT化
・静岡ITPro勉強会
・多治見IT勉強会
・デジタルアシストWEB勉強会
・東海インターネット協議会(オープンソースセミナー)
・名古屋アジャイル勉強会
・日本Androidの会
・日本CodeIgniterユーザ会
・日本NetBSDユーザーグループ , 名古屋*BSDユーザグループ
・日本 OpenSolaris ユーザーグループ
・日本PostgreSQLユーザ会名古屋支部
・日本語プログラミング言語「なでしこ」友の会
・浜松IT技術者交流会

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
このメールは、転送、転載自由です。

====================================================================
問い合わせ先:オープンソースカンファレンス事務局 (OSC2009@Begi.net)
====================================================================

Aptana Studioの日本語化がどうにも不安定で困る。

フリーで使えてJavaScriptの開発環境としては申し分ないAptanaですが、ちょっと日本語化が不安定なんですよね。

pleiadesを入れてAptanaStudio.iniに追記すればいいんですが、長く使っていると何故か日本語化が元に戻ってくるんですよね。

プロジェクトが増えてくるとそうなるのかな?原因はよくわかりませんが。

で、もう一度日本語化の手順を試すけど直りません。

結局直った解決方法は、

Aptanaをインストールしたディレクトリまで行き、-cleanオプションを入れて再起動すると直ります。

C:\Program Files\Apatana\Aptana Studio\Aptana Studio.exe -clean

こんな感じですか。通常インストールならProgram Filesに入ると思うので。

ゴミファイルが溜まるとそうなるのかな・・・。

Linuxなら問題ないでしょうが、Windows環境の人ってあんまりコマンドラインを使わないので困りますね。

いや、使わないのは私だけかな。

HTML5 CANVAS

最近何かと話題のcanvas。でもIEでは動かないんですよね~。

で、何とかして動かそうとエミュレート機構をJavaScriptで作ってますがなかなか難しい・・・。

excanvas.jsでしたっけ。アレ使えばいいじゃん、と思うのですが、やっぱ人の作ったものって使うのに抵抗があるんですよね。

で。コードを参考にさせてもらいながらカタカタやってるのですが、どうにもマトリックスの辺りがよく分かりません><

座標変換・移動の時に使ってるんですが???です。

まぁ何とか頑張って作らないといかんなと。

なんと独自で作った方がいました。

http://uupaa-js-spinoff.googlecode.com/svn/trunk/uupaa-excanvas.js/README.htm

いや~凄い。見習わないと。

そういえば学生時代も数学の行列とかニガテでしたね。

追記:

…と思っていたら、結構あっけなく理解しました。

なんだ、公式的に座標計算してるだけだ。

いわゆる「これはこういうものだ」的にやればいいみたい。初心者にとってはね。

参考:http://www.samurai-logic.com/svg/2008/07/chapter-9-5-svg-canvas-matrix.html

とっても助かりました。

document.querySelectorAllの実装状況がとっても変だから自分で作ってみた。

最近のブラウザでは続々とdocument.querySelectorAllが実装されてきてますね。うん、とても良いことだ。

IE8とか、Safari4とか、Firefox3、Chrome辺りは実装してるのかな。Operaは10かららしいです。

とても良いこと、なんですが・・・

ブラウザによって対応状況がまちまちなのが気になる、というかキツイ。

querySelectorAllを知らない人のために説明しておくと、CSSセレクタ(CSS3もOK)からノードリストを取得してくれるんです。

今までjQueryとかでないと取得できないと思っていた方には朗報ですよね。

でもですね、このメソッドのサポートするセレクタがブラウザによってビミョ~に違うんですよ。

IE8だと、「!」が含まれるトークン、「only-child」、「last-child」のセレクタはTypeErrorを返す仕様のようです。

div[class!=example]とか、p:only-childとか、p:last-childのCSSセレクタは使えないことになりますね。

その他のサポートブラウザでは、「:contains」と「!」が含まれるトークンはダメなようです。

メソッドの有り無しで分岐するのには慣れてるけど、メソッド内の引数で分岐するのは気持ち悪いです。

どうせならもっと統一されてからサポートすればいいのに。こんな重要なセレクタならなおさらですよ。

jQueryはその点上手くマージしていて、prototype.jsは独自で解析してるのかな?結構遅いです。

というわけで、まだまだCSSセレクタは実装不十分なので、ライブラリに頼ることになるかな・・・

というのも癪なので、自分で作ってみた。速度はjQueryよりやや早いです。まだチューニング出来るところは

ありますが、ここいらで一区切り。よろしければ参考にどうぞ。

http://neo-navi.net/sugimoto/css_selector.js

querySelectorAllが使えるところは使って、未サポート、またはサポートしないクエリは独自で解析して返します。

現在「:not」と「:contains」は未実装です。面倒だ(ry

まぁそんなムズイセレクタ取得はしないだろう、ってことで。普段使いには問題ないかと思います。

使い方は、

getElementsBySelector(CSS Selector)

って感じで、getElementsBySelector関数の引数にセレクタを渡します。

返り値は配列です(Node Listではありません)。何故配列でないか?そのほうが扱いやすいでよね?

興味があればお使い下さい。一応MITライセンスです。バグ報告とかあれば喜びます。

…え?

jQueryがあるからいらないですか、そうですか。

約4行でOOPっぽくする方法(prototype.jsのClass.createのアレ)

prototype.jsを使っている方は、

var oop = Class.create();

oop.prototype = {

initialize : function()

{

コンストラクタ

}

}

とかやって新しいクラスを生成してちょっとOOPっぽくやってる方もいらっしゃるかと思います。

で、本題。一体このClass.create()って何やってるんでしょうか?

答えは簡単。ぶっちゃけ約4行で出来ちゃいます。以下のコードです。

function create()

{

return function() { this.initialize.apply(this, arguments); }

}

こんなことです(実際prototype.jsはもう少しゴニョゴニョやってますが)。簡単に言うと、create関数は

「initializeという内部メソッドを全ての引数を渡して実行する関数を返す」

だけなんです。これ考えた人は素晴らしいですね。何故こんなことが可能なのか?というと、

JavaScriptの言語特性にあります。

「関数を実行すると、新しく生成した関数を返す」

というまさに不可思議(笑)な動作。他のプログラミング言語ではありえないかもですね。

つまり、関数の返り値に関数を指定できるんですね。JavaScriptでは関数もオブジェクトだからこんなことが出来るんですね。

で、後はその返り値の関数にprototypeを設定して、オリジナルのカスタムクラスの完成です。

ただし、singletonなクラスを生成したい場合にはもう少しゴニョゴニョしないといけません。

JavaScriptでsingletonなクラスを生成するケースも稀でしょうが。

というわけで、Class.create()を使いたい人は、わざわざprototype.jsをインクルードしなくても、上記create関数を

先頭にでも定義しておけばカスタムクラスを作りたい放題ですね。

あ、でもグローバル関数になるからその辺は上手くやってくださいね。