タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

javascriptとJavaScriptとJavascriptに関するtsuyokのブックマーク (366)

  • 誤り : JavaScript のオブジェクト型は参照型ではないというお話 - vivid memo

    コンピュータ科学の分野における 「参照型」 (reference type) というのは、「何らかの値を参照するデータ型」 のことだと思っていたのですが、実際の意味は 「参照によってのみアクセス可能なデータ型」 のようです。 そんなわけで前者が正しい定義だと思って書いたこの記事は間違っています、ごめんなさい。 JavaScript のオブジェクト型が参照型 (コンピュータサイエンス用語) である、ということはさておきこの記事内容は間違っているのでご注意ください。 もうちょっとちゃんとまとめてから書き直したいと思います。 cf: Reference type - WikipediaJavaScript の型は、大別するとプリミティブ型と参照型に分けられる。 そしてオブジェクト型は参照型である」 と言われることが多々あります (そしてその説明は Java 経験者などにとってわかりやすいと思

    誤り : JavaScript のオブジェクト型は参照型ではないというお話 - vivid memo
  • Jarvis: JavaScript unit testing framework

    A JavaScript unit testing framework Jarvis is a unit testing framework written in JavaScript. It’s based heavily off of the API of NUnit, which is a rewrite of a port of JUnit which is a port of SUnit. Eventually, there will be no new code: just rewrites of old code. Download Node: npm install jarvis-test -g Browser: v2.0.3 Source code: https://github.com/tmont/jarvis Example Here is a quick taste

  • 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は等価ではない
  • Jasmineでテスティング | feedforce Engineers' blog

    今年の RubyKaigi 2010で、 Sarah Meiさんによる JasmineというJavaScriptのテスティングフレームワークの紹介発表がありました(発表時はRCでしたが、先日(2010年9月14日)に無事バージョン1.0がリリースされています)。 今回はこの Jasmine を紹介したいと思います。 特徴 Jasmineは以下のような特徴を持ったテスティングフレームワークです。 JavaScript自身でJavaScriptをテスト可能 RSpec風の記述が行える スタンドアローン版とRubyGemJavaScript自身でJavaScriptをテスト可能 テスト用に専用の言語・フォーマットを使う必要はありません。 RSpec風の記述が行える 全体の構造は、RSpecのユーザーにはお馴染のdescribe や it という記法で記述します。 Rubyのブロックほど簡潔に

    Jasmineでテスティング | feedforce Engineers' blog
  • JavaScriptのいろいろなコーディングルールをまとめてみた

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

    JavaScriptのいろいろなコーディングルールをまとめてみた
  • JavaScriptデバッガ、開発環境などに使えるツールのまとめ

    JavaScriptの開発環境は、テキストエディタを除外すると、主にデバッガやインスペクタとしてWebブラウザに内蔵されているのものと、Webブラウザのアドオンになっているもの。そして単独のアプリケーションとして統合開発環境となっているものの3つに大別できるでしょう。 特にWebブラウザのアドオンは手軽かつ一般のプログラミングには十分な機能を備えたものが登場しており、よく使われているようです。 2008年6月に書かれた以下の記事が、現状でのWebブラウザに関するHTML/CSS/JavaScriptのデバッガの状況を捕らえています。 Webデバッガ最強はFirebugだが、ほかのブラウザでは... | エンタープライズ | マイコミジャーナル In-browser Development Tools: Firebug Still King (英語) では以下から、ツールごとに関連する記事を

    JavaScriptデバッガ、開発環境などに使えるツールのまとめ
  • JavaScriptで書いたプログラムの構文チェックツール「JSLint」 - 強火で進め

    HTML Validatorの様にJavaScriptの記述が正しいか、非推奨の書き方がされてないかの構文をチェックをしてくれるツールです。 JSLint: The JavaScript Code Quality Tool http://www.jslint.com/ ちなみに基準となるルールはこちら。 JSLint: The JavaScript Code Quality Tool http://www.jslint.com/lint.html 使い方 画面下部に設定が有ります。この中からチェックしたい項目に選択します。 よく分からない場合は取りあえず、「The Good Parts」ボタンを押すと良い感じに選択してくれます。 慣れるまではこれでやって、この項目はチェックしなくても良いかな?って思った時点でその項目の選択を解除するという使い方が良いと思います。 主に検討すべき項目を挙げて

    JavaScriptで書いたプログラムの構文チェックツール「JSLint」 - 強火で進め
  • Closure Compiler - Google Code

    How do I start? Work through the UI Hello World. Work through the API Hello World. Download the application. Work through the Application Hello World. Read about Advanced compilation. Use the Closure Inspector to debug. Explore the project's source code. What is the Closure Compiler? The Closure Compiler is a tool for making JavaScript download and run faster. It is a true compiler for JavaScript.

  • ebiflyっていうiPhoneのWebデバッガを作ったよ - yaakaito::Blog

    JavaScript, Node.jsどうも、成人式に行けなかったのがちょっとショックですけど、まあ地元の子に連絡してみたら結構元気そうだったので満足です。というわけで、ebiflyです。エビフライですよ、エビフライ、おいしいですよね。https://github.com/yaakaito/ebifly簡単にいうとiPhone(じゃくともいいけど)のWebから ebifly.log("いえーい"); とかしてログを母艦のコンソールに送ったり、コンソールからiPhoneにJSを送りつけて実行するあれです。たまに似たようなというかほとんど同じものを見ますけど、なんかちょっとださいのでかっこよさにはすこーしだけ力を入れてみました!なんで作ったかNode.jsの味をしめたからですね。それだけです。あとこういうのあると楽じゃないですか。UIWebViewとかconsole.log("aaa")じゃみ

  • CocProxy | CodeRepos::Share – Trac

    CocProxy めんどくさいことしない置換プロキシー 使い方 http://svn.coderepos.org/share/lang/ruby/cocproxy/proxy.rb をダウンロード `files' というディレクトリをつくる 置換したいファイルをてきとうにつっこむ ruby proxy.rb ポートとか表示されるのでブラウザの設定を変える デフォルトだと、 #{File.basename(req.path_info)}", #{req.host}#{req.path_info}", #{req.host}/#{File.basename(req.path_info)}", .#{req.path_info}", がスキャンされ、ヒットしたら置換されます。 例えば、http://example.com/test/foo/bar.css にアクセスすると files/bar.c

    tsuyok
    tsuyok 2011/05/19
    こういうの独自で作らないとダメね
  • QUnitの基本的な使い方 - but hopeful

    [追記] 2013/9/1 三年前の記事が未だに読まれているようなので、一応書いておきますが、あれから色々変わってもっと良いものも出ています。 QUnit でも別に問題はないですが、今から QUnit を使うよりは http://visionmedia.github.io/mocha/:title=mocha] とかの方が個人的にはお勧めです。とにかく、今は色々あるのでもっと別の選択肢調べて見ることを個人的にはおすすめします。別に QUnit は使わないほうが良いとは言いません。 JavaScriptのテスティングフレームワークはいろいろありますが、自分は今主にQUnitを使っているので、少し使い方をまとめて見たいと思います。 [追記]今回作成したソースを上げました。ninja.js QUnit とは QUnitはもともと、jQueryをテストするために開発されたJavaScript Un

    QUnitの基本的な使い方 - but hopeful
    tsuyok
    tsuyok 2011/05/19
    Jasmineのが良さそう
  • 書評: 『JavaScript: The Good Parts ― 「良いパーツ」 によるベストプラクティス』 Douglas Crockford 著, 水野 貴明 訳 - vivid memo

    JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス 作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型購入: 94人 クリック: 1,643回この商品を含むブログ (190件) を見る Amazon.co.jp でのレビューで高評価だったのでちょっと読んでみようかなぁ、と思って購入しました。 読んでみると思ったほど良い内容ではなかったので、ちょっと気になった部分を書いておきます。 初心者向けにしてはやや難あり? 書の 「はじめに」 には次のように書かれています。 書は JavaScript というプログラム言語についてのであり、偶然か、はたまた好奇心のためか、初めて JavaScript の世界へ飛び込もうとしているプログラマに向けて書かれている。 また

    書評: 『JavaScript: The Good Parts ― 「良いパーツ」 によるベストプラクティス』 Douglas Crockford 著, 水野 貴明 訳 - vivid memo
  • new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo

    私は陰謀論者じゃないですし JavaScript の new 演算子が大好きなわけでも大嫌いなわけでもないです。 念のため。 記事は Hiraku さんが書かれた下記記事への言及です。 newを封印して、JavaScriptでオブジェクト指向する(1) newを封印して、JavaScriptでオブジェクト指向する(2) newを封印するべき4つの理由 new 演算子は使うな!? 「newを封印するべき4つの理由」 でも new がいかに糞であるかが書かれていますし、その記事からも言及があるように Crockford さんが書かれた書籍 『JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス』 でも new 演算子は Bad Parts に分類されています。 new 演算子が忌避される理由はいろいろあるみたいですが、Hiraku さんの記事では n

    new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo
  • JavaScript継承パターンまとめ - Thousand Years

    プロトタイプ function Animal(){}; Animal.prototype = { sleep : function(){}, walk : function(){ alert('noshi, noshi') } }; function Human(){}; Human.prototype = new Animal(); new Human().walk(); // noshi, noshi もっともポピュラだと思われる。 変型プロトタイプ Human.prototype.__proto__ = Animal.prototype; new Human().walk(); // noshi, noshi ほとんどのIEを除くJavaScript処理系で実行可能。裏ワザちっく。 エクステンド /** * extend function * @param {Object} s su

    JavaScript継承パターンまとめ - Thousand Years
  • JavaScriptエラー時にエラーを分かりやすく通知してくれるChrome拡張「JavaScript Errors Notifier」:phpspot開発日誌

    JavaScriptエラー時にエラーを分かりやすく通知してくれるChrome拡張「JavaScript Errors Notifier」 2011年05月10日- JavaScript Errors Notifier - Chrome ウェブストア JavaScriptエラー時にエラーを分かりやすく通知してくれるChrome拡張「JavaScript Errors Notifier」 エラーがあった場合に、アドレスバーの星アイコンのとなりに次のように通知してくれます。 アイコンをクリックすれば具体的なエラー内容が分かるという物。 赤のアイコンでエラー検知が分かりやすくていいですね。 通常の状態ではエラーがあろうと、デベロッパーツール等でコンソールを開いてない限り気づくことは出来ませんが、これは開発者は必須のツールかもしれませんね。 関連エントリ PHPのエラーなんかをブラウザで確認できるC

  • Eclipse で jQuery のコンテンツ・アシストを “ jquery wtp” - おやぢたかぽんの趣味と備忘録

    趣味のスクーバダイビング、カメラ、ガンプラ、デジモノに関する覚え書きや、ネットなどで興味をもった事の備忘録

  • newを封印して、JavaScriptでオブジェクト指向する(1)

    以下はプロトタイプ的継承だけで一通りの機能を実現できる、という一つの例です。もちろん他にも書き方はありますし、newを使うのがよくないと主張しているわけではないです。 (誤解を生みそうな文体が混じっているようなので追記: 2011/5/14) 春ですし、少し初心者向けの記事を書きます。タイトル通り、JavaScriptのオブジェクト指向について。ちょっと長くなるので目次です。 クラス(に相当するオブジェクト)を作る オブジェクトからオブジェクトを作る(インスタンス化) 単一継承 多重継承 privateは諦めましょう 親のメソッドを呼ぶ コンストラクタ instanceofに対応する ダックタイピングのススメ JavaScript標準のオブジェクト指向といえばnewやらprototypeやらを書く必要がありますが、これらは書くのが面倒臭い上に気をつけないといけない点がたくさんあります。Ja

    newを封印して、JavaScriptでオブジェクト指向する(1)
  • jQuery1.6の更新内容をまとめたよ。 | Ginpen.com

    昨日jQuery1.6が公開されたので、その内容をまとめてみました。 jQuery: » jQuery 1.6 Released だいたい原文にそってますが、翻訳ではありません。 追記 : data()の扱いが誤っていたので修正しました。キーをキャメルケースにする必要があるとしていましたが、引数を与えずにマップを得た場合の話で、引数にキーを与えて個別に取得する場合は過去のコードと互換性があります。thanks @GeckoTang !(23:11) 変更点 既存コードに影響がある変更がいくつかあります。 data属性の自動マッピング ハイフン “-” を含む名前のとき、$element.data()に引数を与えずに得たマップのキーはキャメルケースに変換されるようになりました。 var $div = $('<div data-abc-xyz="123" />'); var data = $d

    jQuery1.6の更新内容をまとめたよ。 | Ginpen.com
    tsuyok
    tsuyok 2011/05/04
    jQuery.holdReady()ってあるんだ。
  • Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog

    Chrome版のFirebugことGoogle Chrome Developer Toolsですが、以前gihyoで解説したときよりさらに便利になっているので、少し紹介します(元はWebKitなので、そのうち(近いうちに)Safariでもそれなりに使えるようになるはずです)。 圧縮されたコードの整形 まず、目立つところからいきましょう。ちょうど先日更新されたChromeのdev版(12.0.742.0)に搭載されたばかりの機能で、minifyされているJavaScriptコードを読みやすいように整形して表示してくれるというものです(IE9の開発者ツールにも実装されている機能です)。 例えば、Google Analyticsのコードは圧縮されていて普通は読めません。 しかし、Chromeのデベロッパーツールなら、 このように整形してくれます。 やり方は簡単で、デベロッパーツールのScript

    Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog
  • Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記

    jQueryヘビーなアプリケーションの問題点と、MVCによる構造化の必要性 jQueryは、ブラウザ上で動くJSアプリケーションの開発生産性を劇的に向上させました。DOM操作による動的なページ書き換え処理などは、セレクタを使ってちょろっとコードを書くだけで、ほんの数行で記述できてしまいます。 しかし、この方法の延長で、大規模なJSアプリケーションを構築することは果たして現実的でしょうか。例えば「GMail」や「New Twitter」程度の規模のJSアプリケーションを書かなければならないとしたら、どうでしょう? 大規模なJSアプリケーションを開発するには、こういった手法を延長するのではなく、より洗練されたデザインパターンを導入する必要があります。この目的にぴったりのデザインパターンが、「MVC」デザインパターンです。 MVCパターンは、Webの世界ではサーバサイドプログラミングで広く知られ

    Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記