タグ

javascriptとJavaScriptに関するhamacoのブックマーク (172)

  • Shibuya.js - Test.js LT テスターを支援する仕組みの話 - monjudoh’s diary

    お前、誰よ 文殊堂といいます BePROUD社員 お仕事 最近は、JavaScript時々Objective-C 今日のお話 自動テストの話はしません テスターによるテストの話をします タイミングによって発生したりしなかったりする類のバグってありますよね テスターさんがモンキーテストをやってくれてる時に見つけてくれたりします でも報告されるのは… 「何をやっているときに」 「何が起こったか」 つまり、「操作」と「現象」だけです 原因箇所を特定するにはプログラマもその操作をなんども繰り返さないといけません ダルい 何とかしたい 問題の実例 IE(主に6,7)で「操作は中断されました」が出る What Happened to Operation Aborted? – IEBlog HTML解析中にまだ閉じタグまで解析されていない要素(bodyとか)に対して、子要素の追加や削除を行うと「操作は中

  • 動的なscriptタグの読み込みを同期的に行う | Blog.37to.net

    home blog labs about contact プログラミング・開発 > 動的なscriptタグの読み込みを同期的に行う JavaScript 作成: 2008-08-31T20:01:23+09:00 更新: 2009-04-29T01:06:49+09:00 タイトルからして何を言っているか分からないと思いますが、 JavaScriptから動的にscriptタグを追加した場合に、非同期に読み込まれるという 特徴があるのですが、これを同期的に読み込もうというお話です。 動的なscriptタグの追加 JavaScriptからscript要素を作り、追加する事で外部JSのロードを行うという処理です。 外部JSファイルの読み込みや、いわゆるJSONPとかです。 動的に追加した場合の特性として、読み込みが非同期になるというものがあります(operaは9.5からのようです)。 これは使い

  • phantomjs で JSDeferred のテストを実行 - って、なんでですか〜 - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    phantomjs で JSDeferred のテストを実行 - って、なんでですか〜 - subtech
  • history.pushStateでページ遷移するjQueryプラグイン書いた - Webtech Walker

    history.pushStateでのページ遷移をやりやすくするためにjQueryのプラグインとしてjquery.smarthistory.jsというのを書いてみました。 jquery.smarthistory.js history.pushStateをサポートしてるブラウザではhistory.pushStateを使って、サポートしてないブラウザでは何もしません(普通に遷移する)。今だとchrome、safari、iOS、Firefox4で動くと思います。 こんな感じで使います。 $('a').smarthistory({ defaultData: $('html').html(), target: function() { return $(this).attr('href') }, before: function() { // ajax前の処理 }, change: function

    history.pushStateでページ遷移するjQueryプラグイン書いた - Webtech Walker
  • node.jsは普及しそうに無い

    ここ一ヶ月ぐらいからJavaScriptが注目されているようだ。理由は簡単で、GoogleJavaScriptエンジンを使ったアプリケーション・サーバーであるnode.jsの性能が高いと主張されているからだ。 地味にブームになりつつあり、Ajaxのようにウェブ開発の現場に定着するかも知れない。多数のブログで紹介がされている。現状のその特徴を振り返りつつ、node.jsが普及するかを考察してみた。 1. JavaScriptは、ブラウザ発の人気スクリプト言語 JavaScriptは、LiveScriptとして1995年にNetscape Navigatorというウェブ・ブラウザに搭載されたのが始まりで、すぐに政治的な理由でJavaScriptに改名された。1996年には、その基的な文法がECMAScriptとして、ECMA-262とISO/IEC 16262で定義されている。言語仕様が簡

    node.jsは普及しそうに無い
  • JavaScriptのデバッグTips - os0x.blog

    JavaScript Advent Calendar 2010 8日目担当のid:os0xです。 JavaScriptネタは案外範囲が広くて色んなネタがあるので、毎回が楽しみですね。 さて、私はデバッグをネタにしたいと思います。テストではなくデバッグです。誰かが書いたコードをメンテナンスしなきゃー、とか。jQueryプラグイン導入しようとしたけど、なんかうまく動かないーみたいなケースのおはなしです。 JavaScriptのデバッグは大変なので、多くの方が日々苦労されていると思います。なぜJavaScriptのデバッグが大変なのか少し整理してみましょう。 ブラウザ依存 まず、なんといってもJavaScriptはウェブブラウザ上で実行されるので、環境が一定ではありません。特定の環境だけを対象にJavaScriptを書くことは滅多にありません。PC向けではIE、Firefox、Chrome、Sa

    JavaScriptのデバッグTips - os0x.blog
  • $("div").append("<section>section</section>") できないらしいので色々調べてみた - latest log

    追記: jQ的には解決していませんが、素の JavaScript を使った回避方法がわかりました。IE8以下では、オンザフライで作成した要素に対して innerHTML すると謎要素が作成されてしまうといった現象がでるため、一度要素片を、DOMツリー( body とかね ) にぶらさげてから innerHTML すると回避できました。 つまり、オンザフライな↓ではだめで… var div = document.createElement("div"); // 作る div.innerHTML = "<section>ほげー</section>"; // 突っ込む → ι(´Д`υ) ↓のようにすると謎の挙動を回避できます。 var div = document.createElement("div"); // 作る document.body.appendChild(div); // あて

    $("div").append("<section>section</section>") できないらしいので色々調べてみた - latest log
  • GREE Engineering

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    GREE Engineering
  • BPStudy#41のアウトラインメモ

    BPStudy#41に参加してきたのでメモってた内容。 TwitterTogetter – 「BPStudy#41 まとめ」にまとまっています。 ^文殊堂 第一部 – RequireJSとeventとUIコンポーネント BPStudy#41 RequireJSとeventとUIコンポーネント – 文殊堂 RequireJS実践編 jQuery カスタムイベント応用編 粗結合のUIコンポーネントの作成について RequireJS実践編 RequireJSとは何か? AMDのブラウザ向けの実装 RequireJS moduleについて defineでモジュールを定義する。 requireはmain関数みたいなもの。 define – 第一引数に依存してるモジュール、第二引数に中身 (第一引数に関数オブジェクトを渡すと関数の返値になってしまう) moduleの用途 関数を返すmoduleを定義

    BPStudy#41のアウトラインメモ
  • JavaScriptのDOM Core基礎 - 三等兵

    Coreの簡易リファレンス。Coreは要素を参照したり、相対位置から周りのノードを参照したり、要素を生成するといった部分。主に利用するであろうプロパティやメソッドはカバーしているつもりですけど、これも入れとけってのあったら教えてください。 このあたりは地味で使いづらくその上理解しにくいという残念な部分。ふと忘れたときに使う個人的なものですが、慢性jQuery拒絶症候群な人よかったらどうぞ。それにしても暑い。ガリガリ君おいしいね。 DOMとは。 Document Object Model (DOM) は、HTML および XML ドキュメントのための API です。これはドキュメントの構造的な表現を提供し、内容や表示形態の変更を可能にします。端的に言えば、Web ページをスクリプトやプログラミング言語とつなぐような機構です。 https://developer.mozilla.org/ja/

    JavaScriptのDOM Core基礎 - 三等兵
  • addEventListener()の第3引数の意味とかをちゃんと理解する為のメモ - 今日もスミマセン。

    Web上でUIをマジメに作ろうとするとイベントの仕組みをちゃんと理解しておく必要がある。 jQueryとか便利なライブラリつかえばある程度簡単にできるんだろうけど、いろいろ制約あってそれらのライブラリが使えない場合もあるので、ちゃんと理解するためにメモしておく。 イベント伝播の順番 W3Cのドキュメントに分かりやすい図があったので引用する。 The capture phase: the event is dispatched to the target's ancestors from the root of the tree to the direct parent of the target node. The target phase: the event is dispatched to the target node. The bubbling phase: the event

    addEventListener()の第3引数の意味とかをちゃんと理解する為のメモ - 今日もスミマセン。
    hamaco
    hamaco 2010/09/28
    図が分かりやすい
  • サイボウズで学んだこと - IT戦記

    はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip

    サイボウズで学んだこと - IT戦記
  • Array に Hash を被せる(AOH) - latest log

    配列を返す関数は、素の配列を返すよりも、first や last などの付加情報も一緒に返すといいんじゃないかな。 というお話です。 たとえば FakeArray → Array NodeList や arguments は FakeArray(Array Like Object) と呼ばれる擬似配列です。 FakeArray には join() や push() などの便利なメソッドがないため、FakeArray を一旦 Array に変換する(↓)toArray のような関数が、どうしても必要になります。 # Array.prototype.slice.apply(fakeArray) を使うケースは説明しないよ 素の Arrayを返す toArray 関数 function toArray(fakeArray) { // @param Array/FakeArray: // @ret

    Array に Hash を被せる(AOH) - latest log
  • 8行でjQueryのデバッグが楽になるjQuery.pの紹介 - KAYAC Engineers' Blog

    週末はオレ標準JavaScript勉強会のUstreamを眺めてました。ago(@kyo_ago)です。 以前jQuery使いが陥りやすい罠の中で「4 何でも一行で書こうとする」という点を上げたのですが、以下のようなmethodを定義することでmethod chainのデバッグが楽になるので紹介したいと思います。 $.fn.p = function (id) { var arg = [this]; if (id) arg.unshift(id); if (!window.console) return this; var c = window.console || { 'log' : function () {} }; (c.debug || c.log).apply(c, arg); return this; }; 具体的な使い方ですが、以下のように確認したいmethodの後に.p()を

    8行でjQueryのデバッグが楽になるjQuery.pの紹介 - KAYAC Engineers' Blog
  • EfficientJavaScript - Dev.Opera - 効率的な JavaScript

    EfficientJavaScript - Dev.Opera - 効率的な JavaScript 目次 この文書について 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval を書き換えよう 関数を使いたいなら function を使おう with を使うのはやめよう 性能を決める関数で try-catch-finally を使うのはやめよう eval と with は隔離しよう グローバル変数を使うのはやめよう 暗黙のオブジェクト変換に気をつけよう 性能を決める関数で for-in を使うのはやめよう 文字列は累積スタイルで使おう プリミティブの操作は関数呼び出しより速い setTimeout() や setInterval() には文字列でなく関数を渡そう DOM 再描画と再フロー 再フローの回数をでき

  • JavaScriptのundefinedというクセ者のいろいろ - 風と宇宙とプログラム

    はじめに JavaScriptの初心者にとってundefinedというのはちょっと混乱を招くものらしい。nullとの違いや使い分けがよく分からなかったり、数値やブール値との比較が不自然だったりするのが原因と思われる。ここでは、そのようなundefinedのいろいろについてまとめてみた。 ECMA262規格では undefinedとnullに関して、ECMA262規格では最初に以下のような記述がある。 4.3.9 undefined value primitive value used when a variable has not been assigned a value. 4.3.11 null value primitive value that represents the intentional absence of any object value. undefinedは変数に

    JavaScriptのundefinedというクセ者のいろいろ - 風と宇宙とプログラム
  • Prototyperに贈るjQuerystからの手紙

    先に 別にどっちがいいという話ではないです。 向き不向きはありますが、どちらもフレームワークとしての完成度は高いです。(Prototype.jsも1.6.0でDOM Readyサポートしたし) 先に 具体的には以下のような使い分けがおすすめ Prototype.js 速度が要求される演算 複雑なアルゴリズムを使用した計算 他のクラスを拡張した処理(google mapsとか) jQuery 簡単なDOM操作 イベント処理 ブログパーツ

    hamaco
    hamaco 2010/03/26
    jQueryとprototype.jsの比較。 OperaShowで見れるよ
  • "Javascript quiz " 解答と解説 - mooz deceives you

    前書き Javascript quiz ? Perfection Kills が Twitter で話題となっていたので, 挑戦してみました. 結果は 5 問のミス. 完敗でした. 色々分かっていないところがあるなと感じたので, 勉強がてらに解答と解説を書いてみました. 間違いやまずい表現などあれば指摘していただけると助かります. どれも良く考えられた問題で勉強になるので, まだやっていない方はぜひ挑戦してみてからこのエントリを読んでいただけたらと思います. 解説 1. (function(){ return typeof arguments; })(); arguments は配列. 一見配列のように見えるが, 実際は 0, 1, 2 といったプロパティと length を持ったオブジェクト. >js (function () { alert(arguments instanceof A

  • jQuery1.4の新機能を1.4だけに14個 - KAYAC Engineers' Blog

    時が経つのは早いもので、ぼーとしてたらもう1月も終わりそうですね。外村です。 先日リリースされたjQuery1.4で新しく追加されたメソッドや新しい使い方ができるようになった機能を全部ではないですがいくつか紹介します。以下に変更点が全て掲載されているのでそちらも参照するといいと思います。 Version 1.4 ? jQuery API 新規で追加されたメソッド 1. nextUntil()、prevUntil()、parentsUntil() 指定したセレクタまでの要素を返します。以下の例ではitem3とitem4の後ろにテキストが追加されます。 <ul> <li id="item1">item1</li> <li id="item2">item2</li> <li id="item3">item3</li> <li id="item4">item4</li> <li id="item5

    jQuery1.4の新機能を1.4だけに14個 - KAYAC Engineers' Blog
  • Extreme JavaScript Performance

    Talk given at http://jsconf.eu 2009. You serve up your code gzipped. Your caches are properly configured. Your data (and scripts) are loaded on-demand. That's awesome—so don't stop there. Runtime is another source of slowdowns, and you can learn to conquer those, too. Learn how to benchmark your code to isolate performance issues, and what to do when you find them. The techniques you'll learn rang

    Extreme JavaScript Performance
    hamaco
    hamaco 2010/02/09
    Firefoxでfunction(){return 2*3}をtoStringするとfunction(){return 6;}