2013-01-01から1年間の記事一覧

baseメソッドを使ってオブジェクト指向を実現

注意 (追記: 2014年1月2日) baseメソッドを使うとIE8で問題が発生しましたので、baseメソッドを非推奨とします。この記事は、検証用に残しておきます。 baseメソッドについて 今回は、前回の説明したbaseメソッドの使い方を、さらに詳しく説明します。JavaSc…

オブジェクトの整理

「や...やっと理解できた!JavaScriptのプロトタイプチェーン」を読んで 以下の記事を読んで、プロトタイプについて、オブジェクトを一度、整理しようと考えました。 「や...やっと理解できた!JavaScriptのプロトタイプチェーン」 http://d.hatena.ne.jp/ma…

SIE 14 の公開

軽量化したSIE 14 昨日、コアのエンジンを見直したSIE 14 を公開しました。改善によって、コードの軽量化をしました。 ダウンロード (ZIP形式) 以下のZIPファイルを解凍して、sie.jsが手に入ります。 http://sourceforge.jp/projects/sie/downloads/60168/si…

SIE 14 betaの公開

ベータ版のSIE 14 beta 昨日、ベータ版であるSIE 14 betaを公開しました。ミックスインの実装や、コアモジュールの軽量化が主な修正点です。 無償ダウンロード 以下から、ダウンロードして、ZIP形式なので解凍してsie.jsをお使いください。 http://sourcefor…

JavaScriptのオブジェクトを別のオブジェクトと合成させるメソッドを実装してみた

注意 (追記: 2014年1月2日) baseメソッドを使うとIE8で問題が発生しましたので、baseメソッドを非推奨とします。この記事は、検証用に残しておきます。 新しいメソッドの実装 インスタンスベースのオブジェクト指向をしたい場合、JavaScriptには、Object.cre…

ミックスインを使ったJavaScriptの高速化

ミックスインでSIEを高速化 ミックスインという技術を用いて、SIEの高速化に成功しました。IE 8でメソッドを読み込む場合、最大で、30%ほどの高速化ができます。 この改善は、次回のリリースで反映されます。 今後の予定 テストをして、バグを探します。

今日やったことなど

SIEの軽量化 SIEのコアモジュールを見直して、コードの軽量化をしました。この軽量化は、次回のリリースで反映されます。 今後の予定 テキストのリンク関連のバグを修正していきます。

関数オブジェクト - JavaScriptの個人的なメモ

関数はオブジェクト JavaScriptを学ぶときに、まず、覚えておかなければならないのが、「関数はオブジェクト」ということです。これを覚えておくと、プログラミングがかなり楽になってきます。 今回は、JavaScript以外のプログラミング言語を学んだ方のため…

委譲 - JavaScriptの個人的なメモ

委譲の意味を整理 JavaScriptでは4つの意味を持った委譲があります。まず、あいまいさを避けるため、ここで、それを整理してみましょう。 オブジェクト指向プログラミング言語で使われている委譲 プロトタイプチェインを使った委譲 apllyメソッドやcallメソ…

funcprotoのサンプルを公開

funcprotoが作動するかどうかのサンプル 本日、公式サイトにて、funcprotoが実際に動くかどうかのサンプルを公開しました。まだ、実験の段階ですので、シンプルにしています。 動作の確認は、Firefox24.0などでしています。 以下のサンプルは、花の絵がダウ…

非同期処理用ライブラリを追加したSIE 13 の公開

新しくSIE 13が公開されました さきほど、SIE 13が正式に公開されました。今回のバージョンでは、非同期処理用ライブラリ「funcproto」を追加しています。ライブラリは、ファイルを解凍して、tool/funcprotoのディレクトリの中にあります。 以下からダウンロ…

SVGのテキストを自動改行させる方法

クロスブラウザで自動改行 クロスブラウザで、プログラミングの知識がない人でも、SVGで自動改行できるよ、というお話です。 以下のSVGをご覧下さい。 <html xmlns="http://www.w3.org/xhtml/1999"> <div style="width:100px;height:100px;font-size:20px">Hello, World! ありがとう、さようなら。それから、こんごともよろしく</div> これを、インラインSVGでも、単</html>…

SIE 13 betaの公開

ベータ版のSIE 13 betaがリリースされました さきほど、SIE 13 betaが公開されましたので、ここで報告します。 不安定なベータ版ですので、ご注意ください。ほしい人は、以下からダウンロードできます。 無償ダウンロード http://sourceforge.jp/projects/si…

Math.roundの代わりに使えるビット演算

指定した数を整数に丸める JavaScriptのMath.roundは、引数を整数に丸めることができます。たとえば、 Math.round(0.4); // 0を出力 Math.round(0.5); // 1 のように、四捨五入をしてくれるわけです。 それで、このMath.round関数の代わりに、ビット演算を使…

svg要素のネストに対応しました

svg要素を入れ子にできるように 従来だと、入れ子になったsvg要素が表示されない不具合がありましたが、それを修正しておきました。次回のリリースで反映されます。 詳しくは以下のチケットで。 チケット #29279「入れ子になったsvg要素が表示されない」 htt…

animateColor要素は使わないで

SVG1.1の2版で重要な変更がありました W3CのSVG1.1 (2nd) の仕様を見てみますと、animateColorの廃止を予告していました。 以下、該当する邦訳を引用します (注1) animateColor の利用は、そのすべての機能が単に animate 要素の対象を色値をとれるプロパテ…

XMLのパースとシリアル化ができるDOMParserとXMLSerializerの実装

XMLの解析と文字列化するPolyfill IE8ではDOMParserとXMLSerializerが実装されていなかったため、実装してみました。 以下のopenfile.jsのコードに書かれています。 http://sourceforge.jp/projects/sie/scm/git/sie/blobs/develop/tool/funcproto/openfile.…

ファイルの入出力ができるopenメソッドと非同期処理ができるsleepメソッド

コードができました 前回で、私がコードを書くといっていた件で、コードが完成しましたので、ここに解説しておきます。自分のほしい機能をいっぱい詰め込みました。 このコードでできることは、 ファイルの入出力操作 sleepを使った非同期処理 引数の引継ぎ …

コールバックに関する考察と私見

以下を読んでみて この文書を読んでみると、ファイルの入出力をどうするかという問題の一点に絞ることができると思います。 コールバック……駆逐してやる…この世から…一匹…残らず!! http://qiita.com/KDKTN/items/4c6986049d204f0645d8 ファイルの入出力につ…

最新のOperaを導入しました

一から新しくなったOpera 16 ブラウザのOperaが、ChromiumベースのOpera 16を公開していましたので、インストールして、使ってみました。なかなか使い勝手がいいです。 レンダリングエンジンはWebKitから派生したBlinkのようです(注1)。 Operaのダウンロー…

公式サイトのダウンロードのリンク先を修正しました

新しいバージョンのSIE 12をダウンロードのはずがSIE 11に 公式サイトのダウンロードリンクが、SIE 11のままになっていましたので、SIE 12に修正しました。ご迷惑をおかけして、申し訳ないです。 SIE 公式サイト http://sie.sourceforge.jp/

SIE 12 の公開について

軽量化された最新のSIE 12 昨日、最新バージョンであるSIE 12を正式に公開しました。このバージョンは軽量化がされています。以下からダウンロードしてください。 無償ダウンロード (SourceForge.JP 経由) http://sourceforge.jp/projects/sie/downloads/594…

Zコマンドに関するバグを修正

path要素のZコマンド SIE 12 betaにおいて、path要素のZコマンドが表示されないというバグが起きました。 チケット #31893 「Zコマンドが対応しない不具合」 http://sourceforge.jp/ticket/browse.php?group_id=3313&tid=31893#preview すでに修正しました …

SIE 12 betaの公開について

ベータ版のSIE 12 beta おととい、ベータ版として、SIE 12 betaを公開しました。前のバージョンに比べて、軽量化をしています。ベータ版ですので、不安定になることがあります。 無償ダウンロード http://sourceforge.jp/projects/sie/downloads/59311/sie12…

SIEの軽量化に成功

三項演算子とif文 以下の記事のコメントに、oao_hikaru_oao さんが興味深いことを書いていました。 oao_hikaru_oao がコメント 2ヶ月前 ifelseを三項演算子にして縮めるとこう書けますね dacapo = tempo andante" : tempo if文をきれいに書く方法 のコメント…

JavaScriptの小数を使った計算における誤差について

JavaScriptの計算誤差 以前の記事でも書いたことなのですが、JavaScriptの小数計算がほぼすべてのブラウザで、おかしなことになることを報告しました。 JavaScriptの0.1 - 0.102の計算が奇妙 http://d.hatena.ne.jp/dhrname/20130415 仕様の上では、必ず誤差…

SIE 11 を公開

バグを修正したSIE 11 たった今、SIE 11 をリリースしました。いくつかのバグを修正しています。 無償ダウンロード http://sourceforge.jp/projects/sie/downloads/59077/sie11.zip/ 上記のリンクにジャンプした後、自動でダウンロードが始まります。ダウン…

SIE 11 betaを公開

バグを修正したバージョン11のベータ版 今日、SIE 11 betaを公開しました。ベータ版ですので、不安定かもしれません。ご注意ください。 バグをいくつか修正したバージョンです。 無償ダウンロード (SourceForge 経由) http://sourceforge.jp/projects/sie/do…

setPropertyメソッドの修正

currentColorを値に設定した場合の不具合を修正 stop-color属性に、currentColorを値として入力しておくと、不具合が起きてしまい、正しい色が表示されない問題を発見しました。 そこで、CSSモジュールのsetPropertyメソッドを修正しておいて、上記の問題を…

consolidateメソッドの修正について

SVGTrasnformListのconsolidateメソッドを修正しました 以下のバグを修正するために、consolidateメソッドを修正しておきました。 チケット #30187「coords-dom-01-fのバグ」 http://sourceforge.jp/ticket/browse.php?group_id=3313&tid=30187#preview cons…