タグ

JavaScriptに関するsakefのブックマーク (125)

  • JavaScriptでOOP – privateぽい関数と変数, staticなやつ

    var Book = (function (){ var cost = 1000 ,tax = 0.05 ,price = function () { return cost * (tax + 1) }; return { getPrice : function () { return price();//cost * (1 + tax); } ,getTax : function () { return cost * tax; } }; })(); console.log(Book.getPrice());//1050 console.log(Book.getTax());//50 console.log(Book.price());//error Bookはstaticな関数を持ったクラスのように使えます。 getPrice, getTaxはstatic public function

    JavaScriptでOOP – privateぽい関数と変数, staticなやつ
  • JavaScriptでOOP – Classみたいなのにprivateな関数と変数

    前回の投稿「JavaScriptでOOP – privateぽい関数と変数, staticなやつ」ではstaticな関数と変数を作成しました。 今回はインスタンスが作成できるClassみたいなのにprivateな関数と変数を設定します。 var Product = (function () { var cost = 1000 ,tax = 0.05 ,price = function () { return cost * (tax + 1); } ,main = function () { }; main.prototype = { tax: function (n) { tax = n; } ,price : function () { var p = price(); var t = cost * tax; return [p,t,p-t]; } }; return main; })(

    JavaScriptでOOP – Classみたいなのにprivateな関数と変数
  • JavaScriptでOOP – Classみたいなの

    久しぶりにJavaScriptどっぷりな生活を送りました。 これがかなり楽しい。 なんでかなぁって考えるとJavaScriptをガリゴリ書いてるとFlash 5, Flash MX 時代の ActionScript 1 を思い出してしまうからみたいです。 JavaScriptを書くとFlash MX時代に見て覚えたActionScript Tipsがほとんどそのまま使えて楽しいことこの上なかったりします。 当時むさぼり読んだ Robert Penner さんの書かれた “Robert Penner’s Programming Macromedia Flashmx” は忘れられないのひとつです。このでprototypeチェーンそしてOOPを知りました。

    JavaScriptでOOP – Classみたいなの
  • Site Under Maintenance

    We'll be back soon! Our site is currently undergoing maintenance. Please check back later.

    Site Under Maintenance
  • Webデザイナーでもできる、サイトのパフォーマンスをあげる5つの方法

    Webデザイナーでもできる、サイトのパフォーマンスをあげる5つの方法 2011-08-28 Webデザイナーが、Webサイトのパフォーマンスを重視する傾向はあまり無いように感じますが重要なことです。 Googleでは、0.5秒遅くなると、検索数が20%減少する amazonでは、0.1秒遅くなると、売り上げが1%減少する という報告もあるようです。Webサイトのパフォーマンスはコンバージョンにも影響する大切な部分。 今回はWebサイトのパフォーマンスを上げる方法を取り上げます。 パフォーマンスアップの前に 応答時間の限界 0.1秒までなら、結果はコンピューターではなく、ユーザーによって引き起こされたように感じる。 1秒までなら、"遅れている"と感じるが、ユーザーの思考は途切れずに、自由に動いていると感じる。 10秒までになると、ユーザーがコンピューターに振り回されている気持ちになり、ストレ

    Webデザイナーでもできる、サイトのパフォーマンスをあげる5つの方法
  • JavaScriptの動かないコード (初級編) 数値判定の方法・・・入力値が有効な整数かどうかチェック - 主に言語とシステム開発に関して

    連載目次へ クイズ…下記のJavaScriptコードが,意図した動作をしないのはどうしてですか。(制限時間1分) やりたい事 フォーム上で,テキストボックスに整数を入力してもらう。 有効な整数かどうか,ページ上でバリデーションを行なう。 <input type="text" id="my_num"> <input type="button" onClick="f()" value="数値チェック"> <script language="JavaScript"> function f() { var str_num = my_num.value; if ( isNaN( parseInt( str_num ) ) || isNaN( str_num ) ) { alert("有効な整数ではありません。"); } else { alert("OK"); // 有効な整数が入力された } } <

    JavaScriptの動かないコード (初級編) 数値判定の方法・・・入力値が有効な整数かどうかチェック - 主に言語とシステム開発に関して
  • Javascript で複数のコールバックをまとめて受け取る - ひだちのいろの日記

    複数のコールバックをまとめて受け取るためのクラスを書いてみました。 JavaScript は何かとコールバックが多用される言語です。単発のコールバックならば問題はありませんが、複数のコールバックを同時に使用して、それらが全て呼ばれたときに処理を進めるなどの処理は記述が複雑になりがちです。 そこでこの Callback クラス。 var cb = new Callback(); request(..., cb.here()); request(..., cb.here()); request(..., cb.here()); cb.then = function(result1, result2, result3) { } 上記のように「複数のコールバック呼び出しが完了した時点で処理をすすめる」パターンを簡素に書くことができます。 各コールバックに渡された引数もまとめて最後の then 関数

    Javascript で複数のコールバックをまとめて受け取る - ひだちのいろの日記
  • LaTeXやMathMLに対応したWebベースの数式表示ライブラリ·MathJax MOONGIFT

    MathJaxはLaTeXやMathMLの記法に対応したJavaScript製の数式表示ライブラリ。 MathJaxはJavaScript製のオープンソース・ソフトウェア。インターネットに最も多いコンテンツはテキストだろう。HTMLによってテキストの装飾は容易に行えるが、用意されているものだけで十分とは言いがたい。足りないものはどうすかと言えば、画像などで置き換えている。 サンプル しかし画像では後々の修正や可読性、再利用性さらには検索エンジンにインデックス化されないなど都合が悪いことが多い。そこでMathJaxを使ってみよう。MathJaxは数式を奇麗に表示できるライブラリだ。 MathJaxはLaTeXやMathMLで書いた内容をJavaScriptを使って数式に変換してくれる。どちらも数式を描く際によく使われるテキストフォーマットだろう。あくまでもテキストベースなので、拡大したり縮小

  • パーティクル3万個 - latest log

    IE 10pp2 と iPad2 (iOS5) のスコアを追記しました iPhone4S (iOS5) のスコアを追記しました Firefox 4 から window.mozRequestAnimationFrame が利用可能になっています。 window.requestAnimationFrame / setTimeout(,4) / setInterval(, 16) で パーティクル3万個を飛ばすデモ。 ベンチマークマシンのスペック → MacBook (13-inch, Late 2009) - 技術仕様。 メモリ4GBに + BootCamp + Windows7 上で計測しています。 Windows エクスペリエンスインデックスの数値は、5.1 で、各項目は プロセッサ: 5.8 メモリ: 5.8 グラフィックス: 5.1 ゲーム用グラフィックス: 5.5 プライマリハードデ

    パーティクル3万個 - latest log
  • 冷吟閑酔

    東京てら子Vol.16 『ドキッ、JavaScriptだらけの240分』でLT枠で発表させていただいた「Canvasアニメーションについて」の資料をアップします。正直技術的に参考になるものは特にないので、ご了承ください。 今回発表させていただいた内容は、FlashIDEで作成したFlashアニメーションを、FlashIDEのマクロ機能(?)であるJSFLを使用してHTML5のCanvasへ移植するというコンバーター「CanvasAnimationConverter(仮)」を作ってみたよーという紹介です。スライド内でも書いていますが、Grant Skinner先生のEaselJSフレームワークを使用しています。 今のところ、知る限りではCanvasによるアニメーション制作ツールというのは出ていない気がします。そういう意味では、少し目新しかったかな、と。 JSFLの配布に関しては、まだアルファ

  • 東京てら子Vol.16 の発表内容。 (memo.kappa-lab.com)

    土曜日はてんこもりでした。午前中はAEDを使った救急救命講義を受けて、午後は「東京てら子Vol.16 『ドキッ、JavaScriptだらけの240分』」で喋って、アフター7は皆で懇親会(飲み会)してきました。 今回は大人数だった事もあり、タイムキーパーアプリを作って厳密に時間管理が行われていました。タイムオーバーしてしまう発表者がいる中、特別枠とLT枠で2度も喋るKYっぷりを許していただきホントありがとうございます。 特別枠 「BeBop βversionについて」 先日ベータリリースしたBeBopの紹介をさせていただきました。会場で「無料なの?」と質問がありましたが、勿論、ムリョーですよ! 将来的にはプレミアムプラン的な有料高機能版が出るかもしれませんが、その際も無料版はなくならないのでご安心ください。この辺は断言しておきますのでご安心ください。 発表したスライドは以下です。 *背景の壁

  • JavaScriptで作ったお絵描き掲示板のソースを公開するよ | fladdict

    去年、ノリで数日で作り上げたJavaScript製のお絵描きアプリ、JSPaintのソースコードを公開してみた。 なんとなく勢いで。 Download 1週間で実装したわりには、指先ツールとかカラーピッカー、Undoまで完備されていて結構頑張ってるんじゃないかと。ただしIEでは(メンドイので)動きません。Twitter投稿のみphpを使っていてZendのフレームワークが必要です。この辺は @sumihiro さんのご助力に感謝です。 ソースの書きかたが、ちょっとクラシックでprototypeで疑似クラスを作っていますが、まぁ気にしない。JavaScripterでもないので割と突っ込みどころが満載です。 こまかい事はTwitterのfladdictで捕まえて聞いてください。

  • JavaScriptのテンプレートエンジン「T.js」を公開しました

    結構前に公開していたんですが、きちんとした紹介を書いてなかったので改めて。Githubにて、T.jsという名前のJavaScript用テンプレートエンジンを公開しています。 T.js - DOMBuilder-like template engine for JavaScript T.jsとは JavaScriptHTMLを書くためのライブラリ(一種のテンプレートエンジン)です。 T.table("#addressbook")({style:{borderCollapse:"collapse"},border:"5"}, T.thead( T.tr( T.th("name"), T.th("address"))), T.tbody( T.tr(".odd")( T.td("alice"), T.td("a street")), T.tr( T.td("bob"), T.td("b str

    JavaScriptのテンプレートエンジン「T.js」を公開しました
  • newを封印するべき4つの理由

    ちょっと勢いに任せて書いちゃったので攻撃的な文章になってます。。 すごくわかりやすい解説記事を頂いたので、こちらも必読です。 new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo (追記:2011/5/15) 前の記事「newを封印して、JavaScriptでオブジェクト指向する」が思いのほか反響が大きかったので、調子に乗って補足を書いてみますよ。 ブコメへの返信 「無用な複雑化に見える。」「俺俺オブジェクト指向な気がする。」といったご意見もいただいたんですが、普通たった10行の関数でオレオレオブジェクト指向なんて作れないですよ…。JavaScriptの内部機構をほとんどそのまま使っているからこそ、この行数で済むのです。 それに、このプロトタイプ的継承の考え方をDouglas Crockfordが編み出したのは、もう5年も前の話です。E

    newを封印するべき4つの理由
  • DOM APIとinnerHTMLは等価ではない

    最近、徳丸をじわじわ読んでいるのですが、DOM based XSSの話が書いてあったので、少し言及しておこうと思います。 徳丸から引用 DOM based XSSと呼ばれるXSSがあります。これは、JavaScriptによりクライアント側で表示処理する箇所があり、そこに脆弱性がある場合のXSSです。 サンプル書いてみました。 <script> document.write(unescape(location.href)); </script> こいつを適当なファイル名で保存して、domxss.html#<script>alert("hello")<script>などのURLでアクセスするとalertが表示されるはずです。任意のスクリプトが実行可能な状態ってことですね。任意のスクリプトが実行可能ってことは、セッションクッキー盗み放題で、他人に成り済まして買い物できちゃったりするレベルです

    DOM APIとinnerHTMLは等価ではない
  • Site Under Maintenance

    We'll be back soon! Our site is currently undergoing maintenance. Please check back later.

    Site Under Maintenance
  • wise9 › JavaとJavaScriptの20年戦争

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • Google製JavaScript最適化ツール·Closure Compiler MOONGIFT

    Closure CompilerはJava製のオープンソース・ソフトウェア。Googleでは言わずもがな、コンマ数秒単位の速度にこだわって開発が行われている。速さのためにWebブラウザ自体やOSまで開発してしまうのだから、そのこだわりの強さが感じられるだろう。 CUIJavaScriptは開発の方法によって実行速度や読み込み速度が大きく変わってくる。そのためのチェックと最適化処理を行ってくれるのがClosure Compilerだ。Closure CompilerはJavaで作られたソフトウェアで、CUIベースで利用する。 基的な使い方はJavaScriptファイルを引数で渡し、その出力先を指定することで最適化処理を行ったファイルを生成する。最適化処理は空白を消すのみ、シンプル、アドバンスと3段階から選べるようになっている。さらにエラーチェックも同時に行われ、Warningまたはエラ

    Google製JavaScript最適化ツール·Closure Compiler MOONGIFT
  • Stars 2 - jsdo.it - Share JavaScript, HTML5 and CSS

    Typographyシリーズ第2弾。 文字画像をトレースしてパス情報を求めようとあれこれしています。 オレオレアルゴリズムのため難しい漢字とか苦手かも。。。 How it works : http://jsrun.it/tsmallfield/stars2?debug Stars #1 : http://jsdo.it/tsmallfield/stars /** * @fileoverview Stars 2 * @author Tohl SMALLFIELD */ "use strict"; (function(win, doc) { var vibration = 0, tmr; /** * @see http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html * * TODO

    Stars 2 - jsdo.it - Share JavaScript, HTML5 and CSS
  • JavaScriptのいろいろなコーディングルールをまとめてみた

    JavaScriptの書き方はJavaScript自体がある程度自由なためいろいろな書き方ができますが、一貫性を持って書いた方がバグなども発生しにくくなるため、コーディングルールを定めておくのはよいことだと思います(特に複数人の開発の場合) 有名な企業やライブラリはコーディングルールも公開している事が多いので適当にまとめてみました JavaScript style guide – MDC Docs Mozilla/Firefox向けのものなので、一部ECMAScriptの範囲を超えたものも含まれています。 多くの人が見ていると思うので、見たことない人は一度読んでみるといいです。 jscsにこのコーディングルールをチェックするプリセットが用意されています。 Google JavaScript Style Guide Google JavaScript Style Guide 和訳 — Goo

    JavaScriptのいろいろなコーディングルールをまとめてみた