タグ

JavaScriptとtipsに関するigaiga07のブックマーク (30)

  • 避けなければいけない JavaScript の失敗 - フリーフォーム フリークアウト

    移転しました http://please-sleep.cou929.nu/20110515.html

    避けなければいけない JavaScript の失敗 - フリーフォーム フリークアウト
  • JavaScriptベストプラクティス30選-jsEdu

    #jsEduから適当に選んで日語にしたものです。 訳とかは全く正確ではなく、as possibleなど表現をかなり省いてるので命令口調になってます。 フィーリング的なものはあんまり入れてないので、興味をもったらTogetter – 「JavaScriptのベストプラクティス大会 jsEdu」を読みましょう。(まとめた奴はこれの10倍くらいありますが、被ってるのや関係無いのもあるので読める程度の量です) 全てを確認したわけではないので、正確性は保証しかねます。 ==ではなく===を使うべき (自動的に型変換に行われないのでバグが減る、高速) new Object() and new Array() よりも[] or {}を使うべき。 []や{}の方がシンプル JavaScriptを高速化する6つのテクニック | エンタープライズ | マイコミジャーナルで出てくるのは間違いだと思う。 []

    JavaScriptベストプラクティス30選-jsEdu
  • Web Workers用と通常のJavaScript用のコードを共存させる - latest log

    Web Workers の調べ物してました。 Web Workers は、Google Chrome 4+, Firefox3.5+ , Safari4+ で既に利用可能です。 Google Chrome5 では、Web Workers 内で Web Socket を動かすこともできます。 js の基であり鬼門といえば this オブジェクト 各ポイントで this.toString() や self.toString() を行い、this や self が何を指しているのか調べました。 <script> var globalScope = this.toString() </script> // WebWorkers.js var workersGlobalScope = this.toString(); var self1 = self.toString(); onmessage =

    Web Workers用と通常のJavaScript用のコードを共存させる - latest log
  • そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog

    弁当生活始めました。agoです。 以前のjavascriptの開発はサーバサイドと同じPGが開発することが多く、機能をファイル単位で分割してそのページで必要なファイルのみを読み込むと言うことが行われていました。 ただ、最近はサーバサイドとクライアントサイドの分業が進んだことや表示速度の兼ね合いもあり、単一ファイルに全体を記述しサーバサイドでは全ページでその一ファイルのみを読み込むような形になることが多いです。 単一ファイルの利点としてはサーバサイドの実装に依存せずに任意の機能を追加できることがありますが、欠点として機能毎の切り分けが難しくなると言う点があります。 jQueryを使用して$('.selector')で切り出す方法もありますが、マークアップの全体像を正確に把握できていないと不要なページで間違って実行されてしまう危険性もあります。 そこで、以下のようなJSを先に読み込み、各URL

    そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog
  • <script>タグから読み込んだjsのディレクトリを取得 - prog*sig

    <script src="..."> という感じでjsファイルを読み込んで、src部分が http://example.com/lab/test.js であるとき、 http://example.com/lab/ を自分自身で取り出す方法を模索する。 自分自身のsrcを調べる方法は とてもシンプルに自分自身が属する script 要素を取得 - IT戦記 http://d.hatena.ne.jp/amachang/20061201/1164986067 で大体いいと思います。 もしくは var n=document.getElementsByTagName("script"); n[n.length-1].src; // 自分自身のurl 相対パスの場合とか調べてないけど、今回の主題はディレクトリを取り出すとこなので後回し。 Twitterでどういう方法があるのだろうと投

  • Greasemonkeyスクリプトの開発で役に立ったサイトや本 - Alone Like a Rhinoceros Horn

    Firefox にこんな機能があればいいなあ → ん、Greasemonkey というのでできるらしいぞ → ユーザースクリプトとやらを書けばいいのか → どうやって書くんだ? というところからスタートして、最終的に自作のユーザースクリプトを公開するに至るまでの間、参考にしたサイトやをできるだけ自分の学習順に時系列に沿って列挙してみました。 JavaScript を少々かじったことのある人が Greasemonkeyスクリプトを書いてみようと思い立ったときに、その学習の指針というか、道標のようなものとして役立つリンク集になればいいなと思ってます。 Greasemonkey まずは Greasemonkey ってなんだとか、ユーザースクリプトってどう書くんだというのを調べるところからスタート。(以下小見出しがリンクになっています) Greasemonkeyの開発をまとめてみる ここで Gr

  • 安全な HTMLDocument の生成方法について - nothing but trouble

    何が危ないのか img.onerror や img.onload は src 属性の内容が評価された段階で実行されるので、外部ソースに対して HTMLDocument を構築する際などで、意図していないタイミングでスクリプトが実行されるケースがある。 具体的には、以下のような場合。 var source = '<img src="not_found.jpg" onerror="alert(1)">'; var range = document.createRange(); range.createContextualFragment(source); // onerror が実行される var img = document.createElement('img'); img.setAttribute('onerror', 'alert(1)'); img.src = 'not_found.

    安全な HTMLDocument の生成方法について - nothing but trouble
  • JavaScript変態文法最速マスター - 葉っぱ日記

    Java変態文法最速マスター - プログラマーの脳みそをリスペクト。 JavaScriptの変態文法・技法一覧です。あんまり使わないけど、知ってるとXSSとか攻撃したいのにWAFに妨害されるなど、いろいろ制約があるという場合に便利。 文字列の生成 引用符を使わずにさくっと文字列を作る。fromCharCode とか使ってもいいけどめんどくさいので、正規表現やE4Xを利用。 alert( /string/.source ); alert( <>string</> ) 空白文字を使わず記述 文脈上、スペースを書きたいけれどいろいろ制約があって書けない場合にはコメントで代替。実行するコードを作り上げてevalしてもいいけど大袈裟なので。 var/**/x=1; */ を含むコードブロックをコメントアウト コードの塊りをコメントアウトしようと思って /* */ で囲むと、コード内に string.

    JavaScript変態文法最速マスター - 葉っぱ日記
  • JavaScript初心者におくる24のグレイトなtips - 三等兵

    私が作ったわけではなく海外の記事です。自分も学習してみました。 phpスポーツ啓発日誌や、コカトリスさんや、アイスクレアームパラダイスさんのような、品質の良い訳は私にはできませんので見出しは意訳もしくは誤訳、文章は無視して訳してません。かつ、私がいろいろコードや文章つけたしてます。内容的にはほとんどズレてはないと思いますが、適当なのでおかしいところがあるかもしれません。 うっとうしい場合は原文をどうぞ。 24 JavaScript Best Practices for Beginners 1. 等価演算子で==使うなよボケ===だろナスチン野郎 ひぃぃぃ。 ==|!= だとねー、型は自動に変換されるんすよねー。ねー。 s = '1'; i = 1; alert(s == i); // true alert(s === i); //false えーと、==は「わし、数値も文字列も中身が一緒だ

    JavaScript初心者におくる24のグレイトなtips - 三等兵
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 使ってはいけないjQueryの機能 5個 : tech.kayac.com - KAYAC engineers' blog

    3 days ago的な時間表記をするサービスは全部嫌いです。agoです。 週末若手IT勉強会に参加させていただきjQuery 1.3.2のイベント周りを読んできたので、それを踏まえて使用すると問題の発生する可能性の高い機能を紹介します。 0 jQuery.browser 1.3からサポート外になりました。 代わりにjQuery.supportを使用しましょう。 ただ、swfの重ね合わせ問題等は単体のJSでは確認できないので、jQuery.browser無しでどう解決すればいいのかよくわかっていません。 1 getData、setDataイベント getData、setDataイベントは1.5系で削除される予定のようです 最新版のjQueryではgetData、setDataイベントが使用可能になっており、以下のようにイベントを設定できます。 $().bind('getData', fun

    使ってはいけないjQueryの機能 5個 : tech.kayac.com - KAYAC engineers' blog
  • JavaScriptで二つの配列の積集合を取得 - monjudoh’s diary

    面倒くさいのでJavaScript1.8で、 1.8をFirebugで使いたい場合は↓を参考に。 肉少なめ | Item - Firebugのコンソールでjavascript 1.8を使う var array1 = [1,2,3,4,5]; var array2 = [2,4,5,6,7]; var in_array1 = {}; array1.forEach(function(n,i){in_array1[n]=true;}); var result = array2.filter(function(n,i)in_array1[n]); result != array2; // true result; // [2,4,5]

    JavaScriptで二つの配列の積集合を取得 - monjudoh’s diary
  • id:mindcatさんのJavaScriptエントリに少しだけコメント - os0x.blog

    FAQ形式によるJavaScript質がわかる超入門 - 風と宇宙とプログラムが凄く良く出来てて、くやしい。じゃなくて、折角なので少しだけツッコミを。いや、これだけ完成度が高いのにツッコミというのも無粋ですが。 数値を文字列に、逆に文字を数値に変換する String(x)、Number(x)を推奨されていますが、一応、IE6ではパフォーマンスに差が出る点に注意が必要だと思います。 to_string (関数呼び出しのコストのため)IE6だとこのように結構な差がでます。(といっても10万回での結果ですが。) "" + 78ms "" + 63ms String() 125ms String() 125ms確かにChromeなどString()のほうが少しだけ速いみたいなので、ケースバイケースですね。 JavaScriptで ""+x を文字列変換に使うのは気持ち悪い - 風と宇宙とプログ

    id:mindcatさんのJavaScriptエントリに少しだけコメント - os0x.blog
  • JSDeferredの動きを追ってみた - Pixel Pedals of Tomakomai

    JSDeferredを使ってみたメモです。動きがわかれば、使うときに気をつけなきゃならないツボがわかるようになります。 なお、詳しい解説は家をどうぞ。 JSDeferredはどんなもの? チュートリアル的ではなく、このフレームワークの基中の基を最初に見ておきます。 JSDeferredでは、処理を数珠つなぎにして実行できます。以下、実用的にはまったく役に立ちませんが、このフレームワークの基中の基となります。 // Deferredを作る var d1 = Deferred(); // 処理をつないでいく var d2 = d1.next(function () { alert("d2"); }); var d3 = d2.next(function () { alert("d3"); }); // 発火すると全部走る d1.call(); ただ、これではまったく非同期性がありませ

    JSDeferredの動きを追ってみた - Pixel Pedals of Tomakomai
  • IE6,7のためにArray.join("") による文字列連結を使うべき - os0x.blog

    理由がない限り、Array.join("") による文字列連結は使わないほうがいいみたい - latest log の件について。 IE6の+による文字列結合が遅くて、Array.joinで連結するとマシになるよって話を(私が)初めて聞いたのはShibuya.js第1回の id:amachang の発表だったと思います。 Shibuya.js Technical Talk #1 を終えて。 - IT戦記 *1 少なくとも3年以上前のバッドノウハウが未だにIE6のみならず、IE7でも有効という現実に気が遠くなりそうですね。 で、IE6,7は基的なパワー不足で、同じJavaScriptでも他のブラウザより処理が遅いことがほとんどです。遅いブラウザに合わせてチューニングをするほうが一般的なので、特に理由がなければArray.joinを使っておいたほうが無難だと思います。 Array.join

    IE6,7のためにArray.join("") による文字列連結を使うべき - os0x.blog
  • ブラウザのスクロール量を取得するには? | Diaspar Journal

    オンライン英会話kiminiは、教育に70年の歴史をもつ「学研」が提供するオンライン英語学習サービスです。 英語の学習に取組むために、「どうやって勉強すればいいのかわからない」といった悩みを解決するために、オンライン授業に適した教材を学研が細部までこだわって作成しています。 kiminiは、月額980円(税込み1,078円)からの始めやすい料金プランが採用されいます。また、オンライン英会話に興味があるけど迷っている方に無料体験が用意されています。 オンライン英会話は、パソコンやスマートフォンを利用してレッスンを受講する仕組みです。インターネットさえ利用できる環境であれば、受講場所を問わず、自宅やカフェなど好きな場所で英語学習ができます。 英語学習の講師としてのトレーニングを行ったフィリピン人英会話講師と、早朝から深夜まで英語学習に取組むことができます。 kiminiには、1,400名以上の

    ブラウザのスクロール量を取得するには? | Diaspar Journal
  • プログラマのためのJavaScript (号外):こんな継承はどう? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日の「プログラマのためのJavaScript (11):継承についてもう少し」に、いくつかのコメントをいただきました。そのなかで、nanto_viさんに素晴らしいヒントを提供していただいたので紹介し、クラス(もどき)の継承への補足とします。 まずは、nanto_viさんが教えてくれたコードを再掲: var Traits = function () {}; Traits.prototype = SuperClass.prototype; SubClass.prototype = new Traits(); Traitsは一時的なコンストラクタですが、SuperClassのトレイツ(共通性質の定義)をそのまま持ち、余分な(おそらくは弊害を生むであろう)初期化実行コードは持たないものです。(こんなトリックがあったんだ、フーム、ムムム。) この手続きを関数にしてみます。(ちなみに、名前exten

    プログラマのためのJavaScript (号外):こんな継承はどう? - 檜山正幸のキマイラ飼育記 (はてなBlog)
    igaiga07
    igaiga07 2009/06/17
    継承
  • #01 JavaScriptのバッドノウハウ | gihyo.jp

    今回から「BK通信」(⁠ビーケーツウシン)と題して、連載することになった高林と申します。以前連載していた「プログラミングの光景」ではデバッグ、コードレビューといった大きなテーマを取り上げましたが、今回の連載では日常的に遭遇するチマチマした「バッドノウハウ」(⁠Bad Knowhow)について書いていきたいと思います。 バッドノウハウとは? バッドノウハウとは、筆者が2003年に作った造語です。元の定義は以下のようなものです。 計算機を使っていると、何でこんなことを覚えないといけないのだろうか、とストレスを感じつつも、それを覚えないとソフトウェアを使いこなすことができないためにしぶしぶ覚えなければならない、といった類いのノウハウは多い。そうした雑多なノウハウのことを、来は知りたくもないノウハウという意味で、私はバッドノウハウと呼んでいる。 一方、「⁠はてなキーワード」にある定義は簡潔ですっ

    #01 JavaScriptのバッドノウハウ | gihyo.jp
  • JsDoc Toolkitによる開発効率向上を目指して (1/3)- @IT

    JavaScript開発を見直そう(前編) JsDoc Toolkitによる開発効率向上を 目指して 遠藤 太志郎 株式会社インテック ネットワーク&アウトソーシング事業部 2009/6/9 JavaScriptを使った開発で、ソースの保守性や再利用性までを視野に入れたドキュメントを残しているだろうか。Ajaxを使った高機能なWebサービスなど、JavaScriptによる開発規模は拡大している(編集部) システムエンジニアならば、JavaScriptという言葉は誰でも聞いたことがあるだろう。Webブラウザ上で動作し、主にWebブラウザのユーザーインターフェイスの向上を目的に使用されるプロトタイプベースのオブジェクト指向型スクリプト言語だ。 JavaScriptは、世に出てからしばらくの間は特にそれほど脚光を浴びるような技術ではなかったのだが、2005年にGoogleGoogle Map