タグ

JavaScriptとJavascriptに関するmoozのブックマーク (809)

  • canvasでキラキラした背景を作る方法 - KAYAC Engineers' Blog

    tech.kayac.com、ささやかにリニューアルしました! tech.kayac.comをご覧の皆さん、はじめまして。意匠部ME課のfuchigamiといいます。 どうして技術部ブログに意匠部の野郎が?って感じですが、 技術部ブログのリニューアル記念ということで、ちゃっかりcanvasについて記事を書こうと思います。 最初なので、、、 簡単にぼくの属性を説明すると、html5とか好き、CSS3とか好き、canvasとか興味ある、非モテjavascriptはjQueryがなんとなくわかる程度、非リア充。こんな感じです。 今回のリニューアルではコーディング全般を担当しました。 特に、プログラミングに関してはド素人だ!ということを強調しておきます。 そんなぼくが、canvasを使ってキラキラした背景を作ってみました 「リニューアルするからには新しいことがやりたいよね。だったらhtml5とc

    canvasでキラキラした背景を作る方法 - KAYAC Engineers' Blog
    mooz
    mooz 2010/05/14
    これはすごい. globalCompositeOperation = "lighter"
  • FirefoxのsetTimeoutの実装 - bits and bytes

    Firefoxのソースコードを追っているうちに、たまたま1年遅れで IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 の裏側がどうなっているかがわかったので、その話を。 タイマーの管理方法 そもそもjavascriptからsetTimeoutを呼ぶと、どういう仕組みで指定した時間後に渡した関数が呼び出されるようになっているのでしょう。Linuxであればsleepのように一定時間後にawakeするという処理は、タイマーリストによって管理されています。カーネルの中にN jiffies(LinuxのOS内時間の単位はjiffyと呼ぶそうです)経過後に実行することリストがあって、カーネルが4msごとに毎回タイマーリストをチェックしてやることがあったときにはそれを実行しています。 FirefoxもLinuxと同じようにタイマーリストみたいな

    mooz
    mooz 2010/05/14
    TimerThread 内部
  • WebSocketでClock on Tornado - Keep on moving

    Tornado のWebSocketを久々にいじって遊んでます。 pythonで別のWebSocketの処理実装diffract.meで出てくるClockを実装したことがなかったので書いてみました。 ついでにClockとは一秒ごとにWebSocketのサーバーの時間をメッセージで送って表示することです。 Tornadoのポイント 1秒ごとにメッセージを送るの必要があります、普通はpythonではtime.sleepを使うのが普通らしいのですが、 実はTornadoのWebSocketではtime.sleepをつかうと処理が固まってしまいます。 まだよく理解していないのですが、Tornadoの作り故に使えないようすです。 以下の様にioloopのadd_timeoutを使うことでTornadoではスケジューラっぽいことができるようです。 さらっと実装出来ると思っていたのですがここではまってし

    WebSocketでClock on Tornado - Keep on moving
    mooz
    mooz 2010/05/14
    WebSocket. Python でサーバ.
  • setIntervalとsetTimeoutを調べた結果余分なことになった - 三等兵

    なかなかどうして、怠惰な若輩者につき不明な点が多々あるため先人の知恵をお借りしたく候。というわけでいろいろ知恵や知識などいただきます。・・・消化不良でしたorz setTimeoutの中の小難しいお話 自分だけじゃ到底調べられないし分かる術もない。Cなんて知るか。だのにこうしてなんとなくでも知ることができるのはありがたいことです。 http://labs.gmo.jp/blog/ku/2007/09/firefoxsettimeout.html Firefoxだけで少し古い記事だけど今でも同じようなものかな。他に私がわかるような資料もないのでこちらをベースに考えさせてもらいます。大きな変更はないだろうし。 タイマースレッド URL先読んだだけではイメージできなかった。整理のため箇条で要約。 Firefoxにはタイマー処理だけを管理している専用のスレッドがある(TimerThread) タイ

    setIntervalとsetTimeoutを調べた結果余分なことになった - 三等兵
    mooz
    mooz 2010/05/14
    素晴らしい記事.
  • 機能が呼び出されたことを他のアドオンに通知する « Mozilla Developer Street (modest)

    あなたはアドオンを作る時、他のアドオンと連携しやすいようにするということを意識しているでしょうか? 例えば、複数のタブをまとめて一気に閉じる機能を設けるために、タブの配列を受け取ってそれらをすべて閉じる closeTabs() という関数を定義するとしましょう。 function closeTabs(aTabs) { gBrowser.dispatchEvent(event); aTabs.forEach(function(aTab) { gBrowser.removeTab(aTab); }); } この機能を提供するアドオンの作者であるあなたにとっては、これ以上特に何も気にする事はありませんよね。 では、他のアドオン作者の人が、あなたのアドオンと連係して動作するアドオンを開発する場面を考えてみましょう。この関数が呼ばれたという事を他のアドオンから検知するにはどうすればよいでしょうか?

    機能が呼び出されたことを他のアドオンに通知する « Mozilla Developer Street (modest)
    mooz
    mooz 2010/05/14
    createEvent('Events') としてイベントを作成. initEvent('FooBar', true, false) などとしてイベント情報を設定. イベントのプロパティは自由自在にいじれる.
  • http://bloga.jp/ws/jq/ref/

    mooz
    mooz 2010/05/11
    WebSocket のデモを兼ねた API 使用例.
  • Firefox 4: fast, powerful and empowering

    Firefox 4: fast, powerful and empoweringAI-enhanced description Firefox 4 aimed to provide a simpler, cleaner and faster experience for users through a redesigned default theme, performance optimizations, and improved navigation. It also sought to give users more control over their relationship with websites and enhance customization through a new Add-ons Manager. For developers, Firefox 4 focused

    Firefox 4: fast, powerful and empowering
    mooz
    mooz 2010/05/11
    楽しみ.
  • XSS (Cross Site Scripting) Cheat Sheet

    XSS (Cross Site Scripting) Cheat Sheet Esp: for filter evasion By RSnake Note from the author: XSS is Cross Site Scripting. If you don't know how XSS (Cross Site Scripting) works, this page probably won't help you. This page is for people who already understand the basics of XSS attacks but want a deep understanding of the nuances regarding filter evasion. This page will also not show you how to

  • XBLとuserContent.cssとGreasemonkey - 素人がプログラミングを勉強していたブログ

    追記:コメントでbindToUntrustedContent="true"が必要になったと指摘をうけたので追加 2015/3/21 userContent.cssに @-moz-document domain("reader.livedoor.com") { #right_body > .item { -moz-binding: url("ldr.xml#filter") !important; } } と書いて、同じchromeディレクトリに、ldr.xmlという名前で <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl"> <binding id="filter" bindToUntrustedContent="true"> <implementation><constructor><![CDATA[ if

    XBLとuserContent.cssとGreasemonkey - 素人がプログラミングを勉強していたブログ
    mooz
    mooz 2010/05/10
    userContent.css で XBL を呼び出して, DOMContentLoaded 前に JavaScript 実行.
  • SCRAPBLOG : XPCOM サービスへの頻繁なアクセスを効率化するテクニック

    拡張機能や XUL アプリにて、 JavaScript から特定の XPCOM サービスを頻繁に使用するケースがよくあります。そのような場合に処理やソースコードを効率化するためのテクニックをいくつか紹介します。ここでは、例として nsIObserverService を頻繁に利用するケースを想定します。なお、Cc は Components.classes, Ci は Components.interfaces への参照です。 方式1: 毎回 XPCOM サービスを呼び出す 特に工夫をしない場合、以下のように XPCOM サービスを利用するたびに毎回そのスコープ内で呼び出し手続きを行うことになります。 var MyExtension = { init: function() { var observerSvc = Cc["@mozilla.org/observer-service;1"].

    mooz
    mooz 2010/05/09
    色々と方法があるなあ
  • JavaScriptのyield - prog*sig

    いわゆるジェネレーターというものについて New in JavaScript 1.7 - MDC Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記 拡張機能開発チュートリアル JavaScript 1.7、yieldがわからない - はてなダイアリー - 無料で簡単。広告のないシンプルなブログをはじめよう! gist: 394522 - GitHub XHR gist: 394548 - GitHub send 使えるのはFirefox限定? 実行するにはJS1.7をあつかえるものが必要になります。 Firebugは対応してないので、xqjs - ’ellaneousを使うと便利です。 MDCのジェネレーターで扱われているフィボナッ

    mooz
    mooz 2010/05/08
    yield まとめ.
  • JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記

    経緯 id:kazuhooku さんが一年前にやってたことですが Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド 今日やっと挙動が理解できたのと、 Weave のソースを読んでいたらこのテクニックをバリバリ使っていて「ちょwwおまwww」ってなったので、自分でも作ってみようと思いました。 ほとんど id:kazuhooku さんのと同じものなので、既出です><当にありがとうございました>< まず、 yield とは何か yield とは、 JavaScript 1.7 から導入された機能です。 以下に yield の細かい挙動を示しておきます。 function f() { // なんかの処理 yield; // ... (1) // なんかの処理 yield; // ... (2) // なんかの処理 } var g = f(); // こ

    JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記
    mooz
    mooz 2010/05/08
    yield を使って協調的マルチスレッド. 解説.
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/05/coopthread.php

    mooz
    mooz 2010/05/08
    コルーチン. yield を使って協調的マルチスレッド.
  • はてなブログ | 無料ブログを作成しよう

    2025年前半に読んだ 今回は色々読んだ。 こうやって並べると、「ちょっと興味があるな」くらいのを結構読んでいる。家には積ん読もたくさんあるけど、それらをスルーして読んだも多い。その事実について考え始めると「はて?どれも読みたくて買ったはずだよな?なんでこっちを読まず…

    はてなブログ | 無料ブログを作成しよう
    mooz
    mooz 2010/05/08
    書き換え. イベントキャプチャリングを利用し, 上の要素側で stopPropagation してやる方法も. 思いつかなかった.
  • Building Applications with XULRunner

    Introduction to XULRunner Mozilla platform runtime for deploying rich, XUL+XPCOM desktop applications More like developing DHTML web applications Less like developing MFC, WinForms and Delphi applications Core toolkit Support Standard and custom UI widgets Templated UI generation Script and binary components Supports native accessibility technologies Completely cross platform Application Support L

    mooz
    mooz 2010/05/07
    XULRunner でアプリケーションを作成しよう, という内容のプレゼン.
  • Greasemonkeyいろいろ作った - hitode909の日記

    Greasemonkeyをいろいろ作った.合わせて使うと楽しい. 画像や文字の位置を入れ替える いろいろ入れ替える — Gist 勝手にリンクをクリックしてちがうページに行く 勝手にリンククリックしまくる — Gist 色を派手にする 色をランダムに変える — Gist 完成系 静止画なので分からないけど,ずっとちかちかしていて,5秒ごとにランダムなリンクを踏んでくれる.見ていて飽きない.

    Greasemonkeyいろいろ作った - hitode909の日記
    mooz
    mooz 2010/05/07
    ゲージュツってやつですか
  • 勝手にリンククリックしまくる

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    勝手にリンククリックしまくる
    mooz
    mooz 2010/05/07
  • コマンドラインからjsのリファレンスを引く - walf443's blog

    昨日cpprefを久々に使ったりしていて改めてコマンドラインからリファレンスを(オフラインで)引けるのは便利だなぁと思ったので、ぱっとみないっぽかったので、jsrefというツールを作ってみた。 基的にはcpprefと同様にサイトのpathを書きかえつつ、scrapingしてきてツールから引けるようにしただけです。ふだん案外jsは書く機会がなかったりしてあまり詳しくないですが、評判は聞くのでMozillaのサイトがよいらしいので、https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference からscrapingしてきています。 実行すると、20-30分くらいはかかってしまうので、orig/以下の入れてしまっています。日語のマニュアルが欲しい人は、BASE_URLをhttps://developer.mozilla.org/j

    コマンドラインからjsのリファレンスを引く - walf443's blog
    mooz
    mooz 2010/05/05
    emacs でもやりたい
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    mooz
    mooz 2010/05/05
    jsdIDebuggerService を使うとオブジェクトの色々なプロパティを覗き見し放題らしい.
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    mooz
    mooz 2010/05/04
    (new String("foo")) instanceof String // => true だが (String("foo")) instanceof String // => false