タグ

JavaScriptに関するt-murachiのブックマーク (168)

  • !importantの誘惑 | 水無月ばけらのえび日記

    公開: 2012年2月25日23時5分頃 こういう状況がありました。 コンテンツ内に、クリックすると動いたり出たり消えたりする物体がある。その物体の動作はjQueryの animate() fade() などで制御されている特定の画面幅になったときに、その物体を非表示にしたい。特定の画面幅のときに要素を消すというのは、Media Queries (www.w3.org)を使ってdisplay: noneにすれば良いだけで、とても簡単です。 ……と、思いきや、うまく行かずに難航。調べてみると、消したい要素にstyle属性でdisplay:blockが指定されており、CSSファイル内に書いたdisplay:noneがの指定が負けていたのでした。 jQueryで要素を表示したり非表示にしたりするメソッドは、要素に対してにdisplay:blockやdisplay:noneをセットすることがありま

    t-murachi
    t-murachi 2012/02/27
    div ラッピングは常套手段ですよね… / もう一つの誘惑: jQuery 使うのやめる。
  • algorithm - 重みをつけて乱択する : 404 Blog Not Found

    2011年12月27日17:15 カテゴリ algorithm - 重みをつけて乱択する 数学ガール/乱択アルゴリズム 結城浩 同意なのだけど… Perlで生でrand関数をごちゃごちゃ使うコードはもう嫌だ | hirobanex.net とにかく、プログラムッチクというとなにかとランダムという要件が多いし、こんなコードばかりグチャグチャ書くのはもういやですね。 これを一般化するという問題はアルゴリズムの実習にちょうど手頃なサイズなので。 JavaScriptによる実装 頻度を高い順に並べて、乱数<合計頻度となったところでそれを選択します。O(n)ですが選択肢を頻度順に並べることでその分ループが回る確率を抑えています。 (function(global){ var make_random_picker = function(picks){ var choices = Array.proto

    algorithm - 重みをつけて乱択する : 404 Blog Not Found
    t-murachi
    t-murachi 2011/12/30
    id:miya2000 さめ: 選択自体もループで回してるから、確率が高いやつを手前に持ってきておいた方が全体のループでかかる時間が少なく済む。別解の方はループじゃないから sort 要らんけど。
  • javascript - からnewを取り除いてみる : 404 Blog Not Found

    2011年12月25日22:30 カテゴリLightweight Languages javascript - からnewを取り除いてみる JavaScript: The Good Parts Douglas Crockford / 水野貴明訳 [原著:JavaScript: The Good Parts] giveするイベントも終わったところで、takeしたいと思います。 JavaScriptから、newを。 だぐらす「すべてのnewを、生まれる前に消し去りたい」 newはなぜ危険か "JavaScript: the Good Parts"も言葉では指摘していますが、実演まではしていないので以下で改めて。 (function(){ var o, /* なんの変哲もないコンストラクター */ Point = function Point(x, y){ this.x = x; this.y

    javascript - からnewを取り除いてみる : 404 Blog Not Found
    t-murachi
    t-murachi 2011/12/26
    将来バージョンの EcmaScript では関数がコンストラクタであることを指示できる修飾子を導入して欲しいな。 new や func.call(inst, ...) で呼ばれず this がグローバルを指してる場合は例外を投げるみたいなルールで。
  • javascript - そろそろECMAScript 5を使いたい少なくとも3つの理由 : 404 Blog Not Found

    2011年12月16日15:00 カテゴリLightweight Languages javascript - そろそろECMAScript 5を使いたい少なくとも3つの理由 下準備も終わったので、blogで扱うJavaScriptは、特に断りのない限りECMAScript 5を前提にしていくことにします。 0. どのブラウザーで使えるの? 以下で確認できます。 ECMAScript 5 compatibility table ざっといろいろ試してみると… IEは9以上以降かつStandard Modeなら使える Safari 5はFunction.prototype.bindのみ使えない - 5.1.4より[native code] iOS5も同様 Android 2.3ではさらに加えてObject.sealなどObjectをロックする機能が使えない というわけで、もう使いはじめてもい

    javascript - そろそろECMAScript 5を使いたい少なくとも3つの理由 : 404 Blog Not Found
    t-murachi
    t-murachi 2011/12/17
    humm...
  • Facebook 向けウェブサービスは IE6 に対応すべきか ( 2011年12月の Facebook のブラウザシェア ) - IT戦記

    はじめに みなさん、お元気ですか><リリースも終わって、一息ついたあまちゃんです! ヽ(´ー`)ノわー さて今日は、最近「お花サプライズ!」というサービスをリリースしたのですが、そのときにちょっと面白いデータを見つけたのでそのいきさつも含めて紹介したいと思います。 (今日のテーマはこの円グラフ) フェイスブック系のサービスはどのブラウザに対応すれば良い? よく、ウェブサービスを開発するときの悩みとして「古いブラウザでのデザインをどのくらいケアするか?」というものがあります。 「お花サプライズ!」でも、割と短い期間で実装することを目標としていたり、番の HTML を書いた経験があまりないメンバーが多くいたことで「IE6 や IE7 への対応が鬼門なんじゃないか?」という心配が常にありました。 そこでよぎる甘い誘惑 このご時世、 IE6 とか IE7 に特別対応する必要なんてないんじゃね?

    Facebook 向けウェブサービスは IE6 に対応すべきか ( 2011年12月の Facebook のブラウザシェア ) - IT戦記
  • javascript - typeof()を再発明する : 404 Blog Not Found

    2011年12月06日14:30 カテゴリLightweight Languages javascript - typeof()を再発明する まてよ、ということは… underscore.js の _.isRegExp について - ”><xmp>TokuLog 改メ tokuhirom’s blog multiple frames のときにハマるということらしい。 Perfection kills ≫ `instanceof` considered harmful (or how to write a robust `isArray`) This means that creating isArray function could not be simpler than: これを応用すればまっとうなtypeofを作れるってこと? JavaScriptのtypeofは役立たず よく知られて

    javascript - typeof()を再発明する : 404 Blog Not Found
    t-murachi
    t-murachi 2011/12/06
    instanceof じゃ駄目なの? (個人的には undefined と null を区別するニーズすらなかったり…)
  • aaencode - Encode any JavaScript program to Japanese style emoticons (^_^)

    aaencode - Encode any JavaScript program to Japanese style emoticons (^_^)

    t-murachi
    t-murachi 2011/12/02
    すごいなこれwwww
  • Ecma-262.pdf (application/pdf オブジェクト)

    ECMAScript® 2023 language specification 14th edition, June 2023 This Standard defines the ECMAScript 2023 general-purpose programming language. Kindly note that the normative copy is the HTML version; the PDF version has been produced to generate a printable document. This 14th edition has been prepared under the Ecma RF patent policy. Please note that for ECMAScript Edition 4 the Ecma standard nu

    t-murachi
    t-murachi 2011/10/06
    これって前から公開されてたんだっけ…?
  • ブラウザだけでここまで! HTML5で作られた「スーパーマリオブラザーズ」がスゴい

    ブラウザゲームの可能性が一気に広がりそうです 次世代のWebフォーマットとして注目され、徐々にいろんなところで使われはじめている「HTML5」。そんなHTML5で作られた「スーパーマリオブラザーズ」が公開され、話題となっています。 従来のHTMLに比べ、マルチメディア機能が大幅に強化されたHTML5では、今までのようにFlashなどの外部プラグインに頼らなくても、単体で複雑なゲームなどを動かすことが可能と言われています。今回紹介する「Infinite Mario Bros」も、ベースはあくまでJavascriptで、HTML5の高いポテンシャルを感じさせてくれるものとなっています。当然ながら、ブラウザがHTML5に対応していないと遊べませんので、古いブラウザを使っている人はご注意を。 パッと見はよくあるFlashゲームですが、もちろんFlashは一切使っていません 操作は方向キーで左右移動

    ブラウザだけでここまで! HTML5で作られた「スーパーマリオブラザーズ」がスゴい
    t-murachi
    t-murachi 2011/08/21
    凄いんだけど、キーボードで複雑な操作のアクション/シューティングはやっぱりきついな (汗
  • 文字列を数値に変換するJavaScript入門

    HOME JavaScript入門 文字列を数値に変換する ここからJavaScriptで数字と文字を扱うスクリプトについて見ていきます。 その最初に文字列を数字に変換する方法について考えます。 これは例えばフォームに記入された数字を使って計算する場合などに必要となります。 なぜならフォームに記入されたものは文字列なので、そのままでは計算できないからです。 文字列を数字に変換する 以下のスクリプトをHTMLのBODY内に記入してみましょう。 なお以下のフォームの意味が分からない方は、 当コンテンツのフォーム関係をご覧になってみて下さい。 <form name="keisan"> <input type="text" value="3">+ <input type="text" value="5"><br> <input type="button" value="計算" onclick="t

    t-murachi
    t-murachi 2011/04/23
    「eval()が文字列を数字に変換するJavaScriptの命令文です」ナ ナンダッテー!! Ω ΩΩ / こうしてセキュリティ上問題のある Web アプリは量産されるのであった… orz
  • DOM & checkbox(checked status)

    t-murachi
    t-murachi 2011/04/22
    頭がクラクラしてくるな… #stomachache
  • Leak Free Javascript Closures

    October 20, 2005 Javascript closures can be a powerful programming technique. Unfortunately in Internet Explorer they are a common source of memory leaks. Therefore I propose a method to create closures that don't leak memory. Problem First start with a short explanation of the problem I tried to fix. Here is an example of a simple event handler (IE only for clarity): function attach() {

    t-murachi
    t-murachi 2011/04/17
    これって…よーするに参照をグローバルに移動して、あとは自前でガベッジコレクトしろっちゅーことだよな… orz
  • Internet Explorer リーク パターンを理解して解決する

    Justin Rogers Microsoft Corporation June 2005 日語版最終更新日 2006 年 2 月 3 日 Web 開発者の進化 以前は、メモリ リークは Web 開発者にとって大きな問題ではありませんでした。ページは比較的単純に保たれ、サイト内の異なるロケーション間のナビゲーションは解放されたメモリをクリーンアップするうえで優れた方法でした。リークがあった場合も、たいていは気付かないほど小さなものでした。 新しい Web アプリケーションは、より高い標準に従います。ページはナビゲートされずに何時間も実行され、Web サービスを通じて更新情報を動的に取得する場合があります。複合イベント スキーム、オブジェクト指向の JScript、およびアプリケーション全体を生成するためのクロージャを組み合わせることで、言語機能が限界点に達します。これらの変更およびその他

    t-murachi
    t-murachi 2011/04/17
    「必要でない限りクロージャを使用しないことをお勧めしています」<ふざけるな(怒) むしろ IE6 が非推奨じゃ(怒)              ('A`)=3
  • DOM オブジェクトとメモリリーク: Days on the Moon

    IE でのメモリリーク ちょこちょこと紹介されているので知っている人も多いと思うが、IE には DOM ノードに絡んだメモリリークの問題がある。これに関しては Microsoft 自身の記事である「Understanding and Solving Internet Explorer Leak Patterns」に詳しいが、簡単にいえば DOM ノードオブジェクトに関する循環参照を作ると、IE を終了させるまでそのオブジェクトが解放されないというものだ。記事によればメモリリークには以下のようなパターンがあるという。 1. 単純な循環参照 ある DOM ノードオブジェクトのプロパティをたどっていくと自分自身に行き着く場合。以下のようなパターンが考えられる。 element.property == element element1.property1 == element2, element2

    t-murachi
    t-murachi 2011/04/17
    http://bit.ly/fg6J7P の解りやすい解説記事。なるほど。
  • はてなブックマーク開発ブログ

    はてなブックマークのブックマーク数が多い順に記事を紹介する「はてなブックマーク数ランキング」。2月12日(月)〜2月18日(日)〔2024年2月第3週〕のトップ30です*1。 順位 タイトル 1位 マンションリフォーム虎の巻 2位 メルカリで値段の「¥マーク」を小さくしたら購入率が伸びた理由、ペイディがサービス名を「カタカナ表記」にする理由など、プロダクトのマーケ施策まとめ30(2023)|アプリマーケティング研究所 3位 私が独学をして、マジ神だと思うサイトおよび他 #初心者 - Qiita 4位 全社会人が読みたい「面倒なことはChatGPTにやらせよう」|asano 5位 旧Twitter社が「バズる」ツイートの法則を徹底的に統計解析して168ページもの資料にした代物、SNSマーケティングやってるプロが全員廃業するレベルの優良資料だった - Togetter 6位 google検索の

    はてなブックマーク開発ブログ
    t-murachi
    t-murachi 2011/03/07
    この手の手法は良し悪しなんだよなぁ…ページが表示し始まるまでは確かに速くなるけど、肝心のコンテンツが表示されるまでにやたらと時間がかかったり、表示されないまま止まっちゃったりすることも結構あるし…。
  • jquery [DokuWiki]

    jQueryは軽量のAjaxフレームワークです。JavaScriptの標準的なコーディングとは異なりますが、非常に短いコードで大きな効果があるスクリプトを記述できるようになります。prototype.jsがRuby風に記述できるライブラリだとすればjQueryはCSS風にJavaScriptを記述できるライブラリといえるでしょう。 主な特徴としては以下のとおりです。

    t-murachi
    t-murachi 2011/01/25
    なるほどね。確かにこれは、js 好き (もっというとプログラミング好き) が嫌いそうな代物だ罠。
  • 官房長官になって流出映像をとめろ!

    あなたは官房長官になってなぜか日のあちこちからわき上がってくる流出ビデオをY●uTubeにアップロードされないように法律ビームで取り締まってください。 法律ビームはゲーム画面内でマウスをクリックすると発射されます。ただし、時代にあわずなぜか単発です。 官房長官はマウスを動かすと上下に動きます。 このゲームはフリーなのでコピーして画像を書き換えたりプログラムを改造するなりして楽しんでください。 お薦めブラウザ順:Google Chrome > Safari 5 > Firefox > Opera > IE このゲームをより一層深く(?)楽しむには尖閣諸島ビデオで検索してみるとよいでしょう。YouTubeで尖閣諸島のキーワードで検索するとよいかもしれません。 2010年11月5日 午後10時00分 *追記 11月10日にITmediaに、同日にmixi newsに掲載。11月17日にサンスポ

    t-murachi
    t-murachi 2010/11/06
    プログラムが何気に短くまとまっていてステキ。
  • ぼえぼえ~ by Javascript: 国民宿舎はらぺこ 大浴場

    作ってみた。こんなもんに 5 営業日もかかっちまったよ。。。とりあえず、現段階では開発途上バージョンということで。 動作環境 Firefox、Opera、IE にて動作確認済み。但し IE では動作がやたらと重い。。。これは IE の処理能力が劣るだとか、おいらのプログラム側の問題だとか言うことではなくて、単に IE の window.setInterval() がそれほど短い delay に対応していないだけだと思う。 遊び方 カーソルキーの「←」と「→」でキャラを左右に動かして、どんどん下のほうへ飛び降りてください。画面はどんどん上へ上へとせりあがっていきます。キャラが画面の上まで行って隠れてしまうか、もしくは落っこちすぎて画面の下へ隠れてしまうとゲームオーバー。また、飛んでくる火の玉 (には見えないだろうけどw) にぶつかってもゲームオーバー。 キャラがどれだけ飛び降りることができた

    t-murachi
    t-murachi 2010/11/02
    そういやブクマしてなかったなぁ…大分昔に作ったやつです。ケータイアプリ化計画中…。
  • JavaScriptにおけるURLエンコードの処理

    このメモは、JavaScriptでクッキーを処理する場合のポイントをお示しし、URLエンコードに関わるトラブルを回避していただくことを目的にしています。お急ぎの方は3章と4章を飛ばして読んで頂いて構いません。なおこのメモはなるべくIEでご覧下さい。 目次 1.  1 クッキーとURLエンコーディング 2.  2 URLエンコーディングとは 3.  3 JavaScriptにおけるescape()とunescape()関数 4.  4 JavaScriptにおけるencodeURI、decodeURI、encodeURIComponent、decodeURIComponent 5.  5 それでは一体どうすればよいか? 6.  6 UTF-8のURLエンコード・デコード関数の例: プログラム例 7.  7 JSPとJavaScript間のクッキーによるデータ交換例 HTMLテキスト以外にウェ

    t-murachi
    t-murachi 2010/10/04
    encodeURI() が URI encoding をまともに行っていなかったとか… なんだか泣きたくなってきた orz
  • サイボウズで学んだこと - IT戦記

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

    サイボウズで学んだこと - IT戦記
    t-murachi
    t-murachi 2010/09/18
    どつかれさん。 / DEBUG && assert(hoge) はダサイなぁ… おいらなら定義が空の assert() と本体の assert_impl() を書いて、その後ろで一回だけ if (DEBUG) assert = assert_impl; するかな。