タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとprogrammingとstudyに関するraimon49のブックマーク (145)

  • Latest topics > 今更聞けない可変フレームレートなトゥイーンの基本 - outsider reflex

    Latest topics > 今更聞けない可変フレームレートなトゥイーンの基 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « ツリー型タブにアニメーション処理(トゥイーン)を加えつつある Main 立った! フラグが立った! » 今更聞けない可変フレームレートなトゥイーンの基 - Apr 08, 2009 1つ前のエントリに書いた、可変フレームなトゥイーン効果の実装の話。 今時は便利なJavaScriptのアニメーション用ライブラリが色々あるからわざわざ自分で書くような必要はないんだろうけど、自分はほんの一箇所だけのためにライブラリ全部突っ込むというのは気が引けるタイプなので、ピンポイントな実装とその理屈を(雑学として)書いておこう。 先に

    raimon49
    raimon49 2011/09/28
    tween 可変フレームレート
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    raimon49
    raimon49 2011/09/25
    JavaScript玉手箱でも紹介していたガイドライン。改行ルールも。
  • カリー化談義 - あどけない話

    最近、スタートHaskellで「カリー化された関数のメリットは何か?」という質問が出た。そのすぐ後に、kmizuさんがカリー化の誤用に対して警鐘を鳴らしてしていた。僕からするとkmizuさんの「カリー化の定義」も誤用に思えたので、調べるとともに考えたことのまとめ。 いろんな定義 「カリー化する」という用語は、すくなくとも以下の3つの意味で使われているようだ。 部分適用という意味 これは明らかに間違い 「複数の引数を取る関数」を「一引数を取る関数のチェインに直す」こと これはkmizuさんの定義。世間でもよく使われる。 「構造体を一つ取る関数」を「構造体のメンバーを複数の引数にばらし、一引数を取る関数のチェインに直す」こと これは僕の定義。というか、Haskellコミュニティの定義。 「部分適用」の意味で使うのは明らかに間違いのなで排除。定義2と3について議論する。あとで、部分適用とは何かに

    カリー化談義 - あどけない話
    raimon49
    raimon49 2011/09/07
    一引数だと部分適用できて嬉しい。
  • jQuery で ;(function () ...と、セミコロンで始めることがあるのはなぜか - わからん

    追記 たくさん反響があって驚きました。念の為書いておくと、私はこの記事で仕組みを解説しただけで、このようなノウハウに賛成も反対もしていません。追記はここまで。 azu さんのつぶやきで知った、Dangers of anonymous function closures が、例がよいのに説明が少ないので、ここで丁寧に解説します。なぜ、 jQuery で ;(function () ...とセミコロンで始めるコードがあるのかがわかります。 次のサンプルの実行結果を想像して下さい。 var foo = function(bar) { console.log("foo"); return bar; } (function(){ console.log("bar") })(); 結果は "foo bar" を印字します。多くの場合、これは意図しない挙動だと思います。"bar" だけだと思いませんか。

    raimon49
    raimon49 2011/08/31
    意図しない実行を未然に防ぐイディオム
  • 知ってて当然?初級者のためのJavaScriptで使う即時関数(function(){...})()の全て

    (function(){...})()は、 (function($){ $.hoge = function() { }; })(jQuery) みたいに使われていたりするコード。GreasemonkeyとかjQueryのプラグインとか、あれこれ見かけることがあると思います。 この話題はいくつかWebでも取り上げられていますが何がどうなってんのかちょっと難しいですね。しかし、誰でも理解できるレベルではあります。というのも、こういう種の難しさは体系的な知識が備わっているか否かということなのです。 でも、この知識を体系化する作業って結構しんどくて、難しくて、まーハゲるほど悩むこともあるかもしれない。それはきっと、とても毛根に悪いかもしれない。スカルプDも真っ青の状況になるかもしれない。それは、悲しいことなのだと思う・・・っ! 毛根にはこれからもがんばってほしい!いつだって頭を温かいまなざしで見守

    raimon49
    raimon49 2011/08/25
    式, 文, 式文とキーワードの整理。式の後ろにセミコロン, varキーワードによる代入文を覚えておくと式と区別がし易い。
  • JavaScriptの文字列を反転する10の方法とそのパフォーマンス - 風と宇宙とプログラム

    はじめに JavaScriptで文字列を反転する10の方法を(無理矢理?)思いついたので、ちょっと簡単に紹介したい。また、それぞれについて、各ブラウザでパフォーマンスを測定してみたので、その結果も合わせて載せる。 文字列のStringオブジェクトには、部分切り出し(substring, slice)や置換(replace)、連結(concat)など豊富な機能があるのに、反転(reverse)機能はない。Arrayのreverseはあるのに、Stringのreverseがないのはどうしてなのだろうか。 各ブラウザとそのバージョンは以下の通り: Chrome Firefox Opera Safari IE 13.0.782.112 m 6.0 11.50 5.1(7534.50) 8.0.7600.16335 rev01: C言語的発想 空の配列を作って、そこに元の文字列の後ろから1文字つづ入

    JavaScriptの文字列を反転する10の方法とそのパフォーマンス - 風と宇宙とプログラム
    raimon49
    raimon49 2011/08/22
    06以降がどんどんマニアックになってて面白い。Chromeの得手不得手や、各ブラウザで+オペレータが賢くなってることが良く分かる。自分では03までしか思い付かないけど…。
  • Bruce Eckel「JavaScriptへの回帰、およびクロージャ」 - クライアント・サイド・スクリプティング with Web Standards

    The Artima Developer Community 2011.7.15の記事 JavaScript Redux (and Closures) java/c++書いたり、flex/flashでUI開発長年したり、flexでの開発用にpythonでツール作ったりと別の言語では経験豊富なエンジニアが、flex/flashは将来性なし、でもhtml/css/jsのセットはクソ、js飼いならすにはクロージャ大事、js実行環境としてのブラウザの今後についてまで、サクサク書かれたエントリ 以下斜め呼んだ内容 サマリー エンジニアは誰もがjsと向き合う必要あり jsは醜いがよくなってきた部分もある jsをテーマにした良いレクチャーや名著が色々ある それを見たり読んだりしたらjsへの見方がかわると思う クロージャを理解してない人にもこうしたレクチャやは有益 他の言語ではクロージャは「あったら

    Bruce Eckel「JavaScriptへの回帰、およびクロージャ」 - クライアント・サイド・スクリプティング with Web Standards
    raimon49
    raimon49 2011/08/13
    JSの駄目なところ, 潜在的パワー, ポジショニングについて。
  • Daftar Serta Masuk Saat ini Di Situs Slots Online Terpilih Ojekslot

    Daftar Serta Masuk Saat ini Di Situs Slots Online Terpilih Ojekslot Seperti yang kita pahami waktu ini ada sangat banyak permainan slot online paling sederhana yang dapat dimainkan dalam sekejap hanya cukup masuk di sana saja ojekslot terunggul. Di sini dapat ada sangat banyak bermacam permainan luar biasa yang pastinya dapat anda temukan dengan ringan. Beraneka permainan terbaik di sini dapat and

    raimon49
    raimon49 2011/07/14
    関数内オブジェクトからの外側スコープへのアクセス。callしか無いけど普通こういう設計にはしない。
  • jQuery.Deferredの問題点 - taiyoh独言

    (updated 2011-07-11: この記事はjQuery1.5当時のものです。jQuery1.6以上であればpipeメソッドが存在するので、このエントリで懸念している部分については解決します。id:nanto_viさまのコメントも参照のこと) 最近、僕の観測範囲ではjQuery1.5からサポートされたDeferred Objectが話題になってますね。 ここで書いていたことをちょっと解説。 リリース時、遂にjQeuryでも遅延処理のサポートが!と僕もちょっと喜んだのですが、それもつかの間、以下の動作を見ていただきたいな、と。 → http://jsdo.it/ttaiyoh/evYG 普通、とくにjsDeferred使っていた人間なら、以下のような動作を期待しますよね? → http://jsdo.it/ttaiyoh/zI5H Deferred Objectのソースみてもらえると

    jQuery.Deferredの問題点 - taiyoh独言
    raimon49
    raimon49 2011/07/11
    >1. ある JSDeferred オブジェクトに関連付けられるコールバックは高々ひとつだが、jQuery Deferred オブジェクトには複数のコールバックを登録できる。2. JSDeferred で next(...).next(...).next(...) とすると 3 つの JSDeferred オブジェクト
  • jQueryのDeferredオブジェクトについて調べてみた - AOEの日記

    はじめに 最近になって jQuery に Deferred Object と呼ばれるものが追加されたことを知りました。バージョン1.5から追加になったようです。 ここのところ色々な場面で非同期処理と付き合うことが多かったこともあって調べてみたのですが、中々嬉しい機能を持っているやつであることが判明したので、調べた内容についてまとめてみました。 非同期処理は結構書きにくい jQuery Deferred オブジェクトは非同期処理を書きやすくするために用意されたものです。でも何でそんなものが追加されたのでしょうか? 非同期処理は複雑になってくると書きにくいものです。Ajaxリクエストを例に挙げてみます。 $.ajax({ url: "serviceA.json", success: function(data) { // リクエストが成功したときの処理 }, error: function(x

    jQueryのDeferredオブジェクトについて調べてみた - AOEの日記
    raimon49
    raimon49 2011/06/24
    jqXHR Objectは旧来のXHR Object + Promise interfaceなんだけど、そのPromiseって何よというところが分かり易い。
  • Learn web development  |  web.dev

    Web Platform Dive into the web platform, at your pace.

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    raimon49
    raimon49 2011/06/09
    ビルトイン関数に注入, @includeの重要性
  • ECMAScript 5th の strict mode で global コンテキストを得るには

    mooz @stillpedant strict mode で [[Global]] ってどうやって得るのだろうか. this は使えないし. __parent__ とかか? 2010-10-16 00:13:01 Atsushi Takayama @edvakf @stillpedant indirect eval call (eval という名前じゃない eval 呼び出し) がグローバルスコープで実行されるので。var e = eval, global = e('this'); でいいはず。 2010-10-16 00:19:56

    ECMAScript 5th の strict mode で global コンテキストを得るには
    raimon49
    raimon49 2011/05/31
    > var getGlobal = Function('return this');this bindingをnullにして呼び出すことさえ守ればstrict mode内でも外でも, getGlobalの定義自体がstrict mode内でも外でもどこでもglobalを取れる.
  • jQueryのDeferredとPromiseで応答性の良いアプリをー実践編 | ゆっくりと…

    前回 は、「Creating Responsive Applications Using jQuery Deferred and Promises」 の記事と jQuery のリファレンスを翻訳し、Deferred の解説をお届けしました。が、今一歩、Deferred オブジェクトの うれしさ をお伝えできていなかったように思います。今回はその反省をふまえ、単なる翻訳ではなく、元記事の文脈に沿って、Deferred オブジェクトをどのように使うと/何がうれしくて/どうしあわせになるのか、私が学習して得た事をお伝えしたいと思います。 今回は、4jsfiddle を記事に埋め込んでいます。jsfiddle 上で自由に編集してテストしてもらえばうれしいのですが、4すべて実行すると1.4MBものリソースを読み込む事になり、ブラウザに優しくありません。すぐに タブや をクリックせずに、 タブ

    raimon49
    raimon49 2011/05/22
    resolveとthenで見通しを良くするレシピ集
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    raimon49
    raimon49 2011/05/19
    発火時にDOMツリーをいじりたい時はタイマーで非同期化を。挿入された要素を使いたければスタックに積んでおいて処理。
  • new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo

    私は陰謀論者じゃないですし JavaScript の new 演算子が大好きなわけでも大嫌いなわけでもないです。 念のため。 記事は Hiraku さんが書かれた下記記事への言及です。 newを封印して、JavaScriptでオブジェクト指向する(1) newを封印して、JavaScriptでオブジェクト指向する(2) newを封印するべき4つの理由 new 演算子は使うな!? 「newを封印するべき4つの理由」 でも new がいかに糞であるかが書かれていますし、その記事からも言及があるように Crockford さんが書かれた書籍 『JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス』 でも new 演算子は Bad Parts に分類されています。 new 演算子が忌避される理由はいろいろあるみたいですが、Hiraku さんの記事では n

    new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo
    raimon49
    raimon49 2011/05/16
    面白くてためになる議論。クラスベース言語(Javaなど)に慣れている人に向けて機能を提供するのであれば、プロトタイプを意識させずにnew演算子でインスタンスを生成してもらうのは、自然なことだと考える。
  • JavaScriptは初心者向けではなく“ハッカー言語”:Rails Hub情報局:エンジニアライフ

    先日、日Rubyの会会長の高橋征義さんと雑談しているとき、以下の指摘に妙に納得しました。 「私の中ではハッカー言語という分類があって、PerlやLisp、JavaScriptハッカー向けの言語だと思うんですよね」。 その心は、これらの言語は多数のプログラミングのパラダイムをサポートしていて、自分が何がしたくて、どれを使えばよいか分かっている人には柔軟で良いのだけれども、初心者が使う言語としては自由度が高すぎて難しいのではないか、ということです。 JavaScriptは最初のハードルこそ低いけど…… JavaScriptはどこでも動きますし、すぐに「Hello World」が表示できます。文字の色もすぐに変えられます。ほかのどの言語よりも最初のハードルが低く、入門に向きそうです。そういう意味で、初心者にオススメといわれることもあります。しかし、そこからちょっと先に進もうと思っても、「これ

    JavaScriptは初心者向けではなく“ハッカー言語”:Rails Hub情報局:エンジニアライフ
    raimon49
    raimon49 2011/04/28
    お作法不定のJavaScriptよりもRailsでお作法が確定しつつあるRubyの方がとっつき易いよという話。
  • JavaScript のコンマ演算子 - フリーフォーム フリークアウト

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

    JavaScript のコンマ演算子 - フリーフォーム フリークアウト
    raimon49
    raimon49 2011/04/09
    Comma Operator 最後のオペランドを評価 リストや関数の引数で使われるComma Separatorとは別物
  • Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記

    jQueryヘビーなアプリケーションの問題点と、MVCによる構造化の必要性 jQueryは、ブラウザ上で動くJSアプリケーションの開発生産性を劇的に向上させました。DOM操作による動的なページ書き換え処理などは、セレクタを使ってちょろっとコードを書くだけで、ほんの数行で記述できてしまいます。 しかし、この方法の延長で、大規模なJSアプリケーションを構築することは果たして現実的でしょうか。例えば「GMail」や「New Twitter」程度の規模のJSアプリケーションを書かなければならないとしたら、どうでしょう? 大規模なJSアプリケーションを開発するには、こういった手法を延長するのではなく、より洗練されたデザインパターンを導入する必要があります。この目的にぴったりのデザインパターンが、「MVC」デザインパターンです。 MVCパターンは、Webの世界ではサーバサイドプログラミングで広く知られ

    Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記
    raimon49
    raimon49 2011/04/07
    クライアントサイドMVCフレームワークBackbone.jsにおけるMVCの考え方。サーバサイドテンプレートエンジンMustacheやクライアントサイドのDOM操作にjQueryといった組み合わせが相性が良い。Backbone.ControllerはURLフラグメントのルー
  • jQuery.extend マニアックス - てっく煮ブログ

    JavaScriptjQuery の extend メソッドは便利なんだが複雑で忘れてしまいがちなのでメモしておく。jQuery.extend の呼び出しパターンは次の4通り。$.extend([deep,] target, obj1, [obj2, [obj3, ...)$.extend([deep,] obj)$.fn.extend([deep,] obj)$(...).extend([deep,] obj)全てのパターンで第一引数に [deep,] がある。これはオプションの引数で true を指定するとディープコピーしてくれる。以下では分かりやすくするために deep オプションは省略した一覧を掲載する。$.extend(target, obj1, [obj2, ...)$.extend(obj)$.fn.extend(obj)$(...).extend(obj)だいぶシンプルにな

    raimon49
    raimon49 2011/03/24
    同じextendという名前だけど、それぞれ用途が違う。