タグ

JavaScriptとjavascriptに関するTakiTakeのブックマーク (150)

  • css3のtext-shadowだけでモナリザを描いてみた - Cherenkovの暗中模索にっき

    はいー、できましたー。text-shadowを1ピクセルごと配置してモナリザを表現しています。 これまでいくつか「cssだけで◯◯」を見てきましたがあんなのはハッタリです。タグ使いまくりで全然cssだけじゃありません。この手法を使えばテキストとcssがあれば再現できます! ジェネレータも作ったので、よかったら遊んでみてください。windowsChrome6 devとFirefox3.6.6で動作確認していますが、Chrometext-shadowの描画が遅いので、Firefox推奨です。 Mona Lisa de text-shadow (CSS) - gallery 注意: Firebugなどでcssを見ると応答なしになったり場合によってはクラッシュするのでしっかりと準備して自己責任でお願いします。 モナリザの原理 text-shadowはテキストの影を演出するものです。構文は以下の

    css3のtext-shadowだけでモナリザを描いてみた - Cherenkovの暗中模索にっき
    TakiTake
    TakiTake 2010/07/10
    img > canvas > css で変換
  • jstudy #1 を開催しました - Webtech Walker

    perlとかHTML/CSSとかの勉強会はよくでてるけどjavascriptの勉強会ってあんまないなーと思ったので開催してみました。当はもっとゆるい感じでわいわい話しながら適当にプレゼンするみたいのをイメージしてたんですけど、予想より遙かにプレゼン希望者が多く(ありがたい限りです)内容も濃い勉強会になりました。 twitterも割と盛り上がったのでtogetterにまとめました。 Togetter - まとめ「jstudy #1」 まとめはtogetterで十分なので以下、個人的なメモです。 Introducing jQuery @Takazudo JQueryの入門講座を話していただきました。すでにホッテントリはいってました。さすがです。とりあえずjQuery入門してみたい方はこのスライド見るといいと思います。 Introducing jQuery まとめると、jQuery使えばかめは

    jstudy #1 を開催しました - Webtech Walker
  • XSSの攻撃手法いろいろ - うなの日記

    html5securityのサイトに、XSSの各種攻撃手法がまとめられているのを発見せり!ということで、個人的に「お!」と思った攻撃をサンプルつきでご紹介します。 1. CSS Expression IE7以前には「CSS Expressions」という拡張機能があり、CSS内でJavaScriptを実行できたりします。 <div style="color:expression(alert('XSS'));">a</div> 確認 @IT -[柔軟すぎる]IEのCSS解釈で起こるXSS で詳しく解説されていますが、CSSの解釈が柔軟なことともあいまって自前で無害化するのはなかなか困難。以下のようなコードでもスクリプトが実行されてしまいます。 <div style="color:expr/* コメントの挿入 */ession(alert('XSS'));">a</div> 確認 <div s

    XSSの攻撃手法いろいろ - うなの日記
    TakiTake
    TakiTake 2010/06/19
    dataURLでも仕込み可能か
  • JavaScript で n 進数を扱う: Days on the Moon

    2 進数や 16 進数を使いたいというとき、JavaScript では組み込みの機能を利用できます。使えるのは 16 進数だけではなく、2 進数から 36 進数 (0 ~ 9 および a ~ z を使用) まで扱えます。 n 進数文字列から数値への変換 n 進数文字列から数値へと変換するときは、parseInt 関数を使います。第 2 引数に基数 n を指定することで、第 1 引数の文字列を n 進数であると解釈してくれます。n は 32 ビット整数に変換され、その値が 2 未満または 36 を超えるときは NaN が返ります。ただし、n が 0 になるときは文字列が 10 進数表記であるとして解釈されます。 parseInt(10, 36); // 36 parseInt("10", 0x100000000 + 36); // 36 基数が明示されておらず、文字列が 0 から始まっていた

    TakiTake
    TakiTake 2010/05/12
    2 .toString(2) や 2..toString(8) で変換可能
  • Greasemonkeyスクリプトの開発で役に立ったサイトや本 - Alone Like a Rhinoceros Horn

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

  • JavaScriptが遅い4つの原因とは?

    1つ前の記事「JavaScriptをいかに高速化するか、IE9、Firefoxの取り組み」では、IE9とFirefoxにおけるJavaScriptの高速化について紹介しましたが、そもそもJavaScriptの実行速度はなぜ遅いのでしょう? その理由について、Mozilla Japanテクニカルマーケティング担当の浅井智也氏が、スライド「Trace Monkey」でポイントをまとめています(このスライドはタイトルから分かるとおり、Firefoxの当時の新しいJavaScriptエンジン「Trace Monkey」を紹介するために1年以上前に作成されたスライドですが、1つ前の記事を見ると、ここで示された課題はいまも変わっていないようです)。 全67枚のスライドの20枚目から24枚目の5枚を以下に紹介します。 JavaScriptが遅い原因は、以下の4点にまとめられています。 インタープリタ型言

    JavaScriptが遅い4つの原因とは?
    TakiTake
    TakiTake 2010/03/23
    動的型付け、プロパティアクセス(ハッシュ計算)で、実行前にやることいっぱいだから
  • JavaScriptの奇妙さに対してその真面目な態度は失礼だと思わないのかね - 三等兵

    なんだねその真面目にパソコンの前に座ってJSを書いている態度は。大変いただけない。まっこといただけない。あるいは、いただけない。ところで、いただけない。だから、お金を、いただきたい! …いやもっとゆるい感じで現代の人間の代表的な欲求をありのままに発言しただけだって私は決して己の欲望を発言したわけではありませんよほほほほほ。つまりですね、もっとユーモラスにファンシーにスピリッツに、そしてルシにパルスのパージがライトニングだということなのです。FFなんて8で時がとまってる。 というわけでFF13の映像みたらプログラミング書籍よりも唐突すぎる専門用語連発でビックリしたというお話。 あとはどうでもいいのだけど、やっぱりどうでもよくないのだけど、JSに対してJavaのように堅実な付き合い方はいただけません。それはJSに対して大変失礼だ。だらしないやる気を前面に押し出し、あきらかにやる気ありませんよア

    JavaScriptの奇妙さに対してその真面目な態度は失礼だと思わないのかね - 三等兵
    TakiTake
    TakiTake 2010/03/03
    0.1 + 0.2 // 0.30000000000000004 こういうの気を付けたい。 (1+2)/10 ね
  • ただ線がひけるだけのSVG

  • Firebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - monjudoh’s diary

    Firebugでは条件付きブレークポイントが使えるので、 scriptタブにて該当行にブレークポイントを貼り、 条件としてconsoleへの出力を||区切りで、最後に&& falseを入れる。 console.debug('this.lastPosition') || console.dir(this.lastPosition) && false こうするとブレークポイントを通る度にconsoleへの出力は評価され、 consoleに出力され、最後の&& falseのため式全体は必ずfalseとして評価されるため ブレークすることはない。 追記 console出力系関数の戻り値はundefinedなんだから&& falseは不要か 追記 nanto_vi @monjudoh JSでは||より&&の方が優先順位が高いので、a || b && c はaが真ならbもcも評価されずに全体が真として

    Firebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - monjudoh’s diary
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    TakiTake
    TakiTake 2010/02/21
    はまりそうだから注意せねば
  • .sort.call(null)の深淵 - 素人がプログラミングを勉強していたブログ

    発端は javascript:alert([].sort.call(null)) これで window オブジェクト取れるのなんで? http://twitter.com/edvakf/status/9222713572 という投稿。 この不可解な挙動を説明することは案外難しい。 まず、ES5のstrict mode以前(つまり、今普通にJavaScriptを使う場合)では、 function fun() { return this; } alert(fun.call(null) === window); がtrueになる。 それから、 var a = [3, 2, 1]; alert(a.sort() === a); alert(a); // [1, 2, 3] sortは破壊的であり、thisを返す。 thisが配列以外の場合については、仕様では未定義であるが、どうなのか。id:nan

    .sort.call(null)の深淵 - 素人がプログラミングを勉強していたブログ
  • Javascript quiz — Perfection Kills

    I was recently reminded about Dmitry Baranovsky's Javascript test, when N. Zakas answered and explained it in a blog post. First time I saw those questions explained was by Richard Cornford in comp.lang.javascript, although not as thoroughly as by Nicholas. I decided to come up with my own little quiz. I wanted to keep question not very obscure, practical, yet challenging. They would also cover wi

    TakiTake
    TakiTake 2010/02/09
    You've got 9 answers wrong (#2, #3, #6, #8, #9, #10, #12, #13, #14).
  • 勝手に添削: Selection内のHTML Textをいい感じに取得する: Days on the Moon

    というわけでやってまいりましたこのコーナー! 日のお題は「Selection内のHTML Textをいい感じに取得する - 枕を欹てて聴く」でございます。選択範囲のHTMLソースを抜き出すというやつですね。では早速いってみましょう! if(src.focusNode){ // selection まずは HTML5 テキスト選択 API の Selection オブジェクトが登場! 以後これに対する操作が続きます。しかしこの Slection オブジェクト、getRangeAt メソッドを使うとなんと選択範囲に対応する DOM 2 Traversal and Range の Range オブジェクトが取れちゃうんです! // common parent node search (以下 21 行省略) それ Range#commonAncestorContainer で取れるよ! // c

    TakiTake
    TakiTake 2010/02/05
    本質的にはRangeを使うべきだった。TreeWalkerは探索の話しだな
  • Selection内のHTML Textをいい感じに取得する - 枕を欹てて聴く

    追記: Rangeを使うと, 86行に及ぶDOM操作がなんと2行に! 勝手に添削: Selection内のHTML Textをいい感じに取得する: Days on the Moon Tomblooの最新版ではEvernoteの取り込み機能がつき, これに伴いHTML Textを取得する周りで大規模な変更がありました. これのなかで nsIDocumentEncoder などのXPCOMが使われているのですが, Taberareloo移植の際, もちろんXPCOMなんてものはChromeにはありません. それで, 書いてみました. function convertToHTMLString(src, safe){ var doc = src.ownerDocument || src.focusNode.ownerDocument; if(src.focusNode){ // selection

    Selection内のHTML Textをいい感じに取得する - 枕を欹てて聴く
    TakiTake
    TakiTake 2010/02/04
    TreeWalkerじゃだめなのかな?よく読んでないから後で試す
  • JavaScript変態文法最速マスター - 葉っぱ日記

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

    JavaScript変態文法最速マスター - 葉っぱ日記
  • Annotating JavaScript for the Closure Compiler - Closure Compiler - Google Code

    Documentation Closure Compiler Service UI Getting Started Closure Compiler Service API Getting Started Tutorials Communicating with the API Compressing Files with the API API Reference Closure Compiler Application Getting Started Closure Inspector Inspector Guide Inspector and Caja Advanced Topics and Reference Compilation Levels Advanced Compilation Annotating JavaScript for the Compiler Error an

    TakiTake
    TakiTake 2010/01/27
    適切なJSDocコメント付ければコンパイルに活用してくれる
  • JavaScript + Canvas で動くカオスアトラクタ生成器作ってみた - mooz deceives you

    カオスアトラクタ by edvakf in hatena を見ていて Canvas でピクセル操作が出来るらしいことを知り、早速カオスアトラクタ生成器を作ってみた。 アクセスは C.H.A.O.T.I.C C.A.N.V.A.S から。 動作は Firefox 3.5 と Google Chrome で確認。処理速度は Chrome の方が 5 倍ほど速いので、一応 Chrome 推奨。 Safari や Opera では未確認。 で、操作説明。 Draw ボタンを押せばカオスアトラクタが描画される。 Settings 右のプルダウンメニューにいくつかプリセットの設定を用意しておいたので、はじめはそちらを試されるのが良いと思う。 Coefficients の値をちょびっとづつ変えていくと、生成される画像が綺麗に変化していってくれる。一期一会な感じが小憎い。画像は Firefox なら右クリ

    JavaScript + Canvas で動くカオスアトラクタ生成器作ってみた - mooz deceives you
  • The 20 Most Practical and Creative Uses of jQuery - Nettuts+

    All-in-one creative subscription with full AI stack All-in-one creative subscription From $16.50/m

    The 20 Most Practical and Creative Uses of jQuery - Nettuts+
    TakiTake
    TakiTake 2010/01/15
    html, attrメソッドにコールバック指定できるのは便利そう
  • A Colorful Clock With CSS & jQuery Tutorialzine

    The first wave of Christmas holidays passed and we are looking forward to New Year’s Eve for a fresh start at all those things we failed to do the last 12 months. And in the mood of the upcoming holiday, this week we are going to make a colorful jQuery & CSS clock, which will help you keep track of those precious last seconds of the year. This is also the first tutorial that features our first ver

  • javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog

    週末料理をしていて足を切ってしまいました。agoです。 以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー 当時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。 いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。 Perlプログラマ Schemeプログラマ Rubyプログラマ (家に直接リンクできるURLが無かったため、参照ページへリンクしています) haskellプログラマ 堕落したCプログラマ HTML知識レベル プログラマレベル 企業法務 JavaScriptの業務スキルレベル 判別表 (5

    javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog
    TakiTake
    TakiTake 2009/12/22
    Lv.5って所だな