タグ

JavaScriptとjavascriptに関するrryuのブックマーク (235)

  • そのコード、本当にjQueryが必要ですか?ネイティブ関数の代替Tips集 | ゆっくりと…

    sitepoint から「当にjQueryが必要ですか?」とタイトルのついた3の記事を紹介します。 Do You Really Need jQuery? Native JavaScript Equivalents of jQuery Methods: the DOM and Forms Native JavaScript Equivalents of jQuery Methods: Events, Ajax and Utilities 言うまでもなく著者の Craig Buckler さん の趣旨は、「jQueryを使うのは止めよう」ではありません。ネイティブ関数で代替えできるのは、古い IE のサポートが必要なく、ごく簡単なケースに限られます。その代わりに得るものは「速さ」です。そこで、どの程度「速い」のかを所々 jsperf の結果で補ってみたいと思います。 また JavaScri

    rryu
    rryu 2013/09/27
    遂にCで書くよりアセンブラで書いた方が早い系の話がウェブ業界に。
  • jQuery plugin: Tablesorter 2.0

    rryu
    rryu 2013/09/04
    これは便利すぎる。
  • TechCrunch | Startup and Technology News

    Using stalkerware is creepy, unethical, potentially illegal, and puts your data and that of your loved ones in danger.

    TechCrunch | Startup and Technology News
    rryu
    rryu 2013/08/31
    「JavaScript for Things」というJSのコードで制御できるDIYボードの話なのだが、タイトルの「インターネット」は一体どこから…
  • 今すぐ辞めて欲しい、「jQuery勉強してます」「Backbone.js勉強してます」

    最近、といってもここ2年ぐらいからだけど、「jQueryの勉強してます」とか「Backbone.jsの勉強してます」とか、そういう人からのプログラミングの修得の相談とかを頂いたりする機会が多い。 それらの中で、非常に口をすっぱくして言っているんだけど、なかなか理解して頂けないのが、『「jQuery」や「Backbone.js」を使うな』という個人的なアドバイスだ。これは個人的には当に守ってほしい、絶対に手を出してほしくない、Framework達である。 なぜかみんな「jQueryってイケてる技術だよね」「jQueryだったらこんなこともいとも簡単にできちゃうんだよね」みたいな印象を持っている。もちろん、それは間違いではない。jQueryは早い。ライブラリもたくさんある。コミュニティも活発だ。リッチなウェブサイトなんて昔は数人月かけて作ったものだが、いまはjQueryとプラグインなんて使え

    今すぐ辞めて欲しい、「jQuery勉強してます」「Backbone.js勉強してます」
    rryu
    rryu 2013/07/25
    とはいえ「DOMの勉強してます」というのはなんか逆に怖い感じがする。
  • voodoojs.com - このウェブサイトは販売用です! - voodoojs リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    rryu
    rryu 2013/07/23
    WebGLで3Dモデルをパララックス表示するJSライブラリ。3Dモデルに対するクリックなどのイベントもDOMと同じように扱える。
  • JavaScriptで`undefined`の代わりに、`void 0`を使ったほうがいい理由 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    今まで平気でundefinedを使ってましたが、underscore.jsのソース読んで、無防備にundefinedを使っちゃいけないなってことを初めて知りました。いやはや、まったくもって面目ない! 知っている方なら知っていると思いますが、意外と知らない方も多いのでは?という意味でのプチ記事です。 void 演算子 voidは1つの式を取って、常にundefinedを返す演算子です。 例えば void 0 void (0) void 99 void "wow" void {} //すべてundefinedが帰ってくる と、このように、voidはundefinedの代わりとして使えるのが分かりますよね。 上記の理屈で行くと、そんな面倒なことをするまでもなく、undefinedを直接使えば済む話じゃあ?と思いますよね。ところが話はそう簡単ではないようです。 何故なら、なんと、undefined

    JavaScriptで`undefined`の代わりに、`void 0`を使ったほうがいい理由 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
    rryu
    rryu 2013/07/08
    undefinedがダメならnullを使えばいい。
  • JavaScript イディオム集

    JavaScriptでは、初見の人にはさっぱりわからないけれども、ある程度慣れた人は当たり前に使うイディオムが結構たくさんあります。知ってしまえば何てことはないので、私の知っている限りのイディオムとその意味を解説します。 (7/3追記: twitter等で教えていただいた内容を追加しました) +v (数値化) var v = "123"; console.log(+v + 100) // 223 console.log(v + 100) // 123100 vを数値化する方法では最もメジャーです。parseFloat(v) に比べて高速なのに加えて、parseFloatとは細かい挙動が異なります(例えば空文字列の場合、parseFloatならば NaN になりますが、 +v の場合はゼロになります)。必ず数値になることが保証されており、文字列などで数値化出来ない場合はNaNが返ります。 v

    rryu
    rryu 2013/07/04
    なんか、暗黙の型変換の方が明示の型変換よりも良い仕事をするというのがなあ…
  • JavaScriptの+演算子の謎挙動に迫る » nmi.jp

    console.log(+[]); // 0 console.log(+[3]); // 3 console.log(+[null]); // 0 console.log(+[undefined]); // 0 console.log(+["3"]); // 3 console.log(+[1,2]); // NaN console.log(+[true]); // NaN console.log(+[false]); // NaN なぜこのような処理になるのか、JavaScriptの仕様書(ECMA Script Specification 5th)から説明してみましょう。 まず最初、単項+演算子(Unary + Operator)を評価する際に、ToNumberを呼び出すのは前述したとおりです。仕様書の(11.4.6)に書かれています。ではToNumberとはどのような処理でしょうか。

    rryu
    rryu 2013/06/29
    ECMA Scriptの暗黙の型変換周りの仕様は、仕様が明確でなかった頃のよく分からない挙動をいかに仕様化するか苦心している感じがにじみ出ていて微笑ましい。
  • ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由 - hogehoge @teramako

    結論から言うと、単なる格好付けです。 以下説明。 主要なJavaScript (ECMAScript 5th)では、functionは2種類あります。 文(Statement) *1 式(Expression) です。 所謂、「即時関数」と呼ばれるものはfunctionは式(Expression)である必要があります。 何故なら、関数実行を示す構文であるCallExpressionが式であり、それ以外存在しないからです。*2 JavaScript コードは文(Statement)の集合 JavaScriptのコードは文の集合と言えます。いきなり式が始まることはありえません。 とはいえ、 foo(); 1 + 2; といったものは成り立ちます。これは文(Statement)の解釈としてExpressionStatement(式を書いても良い)という、文が定義されているからです。 ともかく、文

    ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由 - hogehoge @teramako
    rryu
    rryu 2013/06/24
    Grouping Operatorは意外と遅いみたいな記事を見た記憶があるような気がするのだがどうなんだろう。
  • ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由

    ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由を調べてみました。 1.はじめに TwitterPocketなどのソーシャルボタンのコードをみると、共通してscript要素の中にあるfunctionの前に「!(エクスクラメーション)」がついています。 Twitterの場合 <a href="https://twitter.com/share" class="twitter-share-button" data-via="yujiro" data-lang="ja" data-size="large">ツイート</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getE

    rryu
    rryu 2013/06/12
    functionで始まる構文には関数定義文と関数式があるということを説明しないとさっぱりだが、単純に1文字短くなるからという訳でも無い気がするけどどうなんだろう。
  • データビジュアライゼーション「d3.js」 | GUNMA GIS GEEK

    最近、「データビジュアライゼーション」に興味を持ち始め d3.js というjavascriptのデータビジュアライゼーションライブラリの使い方を学び始めました。海外では、結構有名なライブラリらいしいのですが、日では利用者が少ないようなので、勉強がてら紹介をしてみたいと思います。 d3.js http://d3js.org/ 「データビジュアライゼーション」については以下を。 データビジュアライゼーションの美 ■データ駆動ドキュメント d3.jsは、データを基にDOM(ドキュメントオブジェクトモデル)を操作するためのライブラリです。 データとDOMのエレメントを結びつけ、データの変化をドキュメントへと反映させることができます。 d3.jsは、配列を渡すだけでグラフィカルな結果を出力してくれるようなフレームワークではありません。 その代わりに、柔軟なカスタマイズが可能で、webの標準の機能(

    データビジュアライゼーション「d3.js」 | GUNMA GIS GEEK
    rryu
    rryu 2013/06/01
    応用範囲は広そうだけど、率直にグラフを描く機能は無さそうなのでとっかかりが厳しい。
  • 機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記

    WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるようにしましょう(むしろ機密情報かどうかに関わらず、全てのコンテンツにつけるほうがよい。関連:X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記)。 例えば、機密情報を含む以下のようなJSON配列を返すリソース(http://example.jp/target.json)があったとします。 [ "secret", "data", "is", "here" ] 攻撃者は罠ページを作成し、以下のようにJSON配列をvbscriptとして読み込みます。もちろ

    機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記
    rryu
    rryu 2013/05/17
    これはIEに限らずscript要素でJavaScript以外の言語が使えるブラウザに潜在的に危険性が存在すると思うのだが、該当するものはあるのだろうか。
  • JavaScriptのコードフローを視覚化するTraceGL

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    JavaScriptのコードフローを視覚化するTraceGL
    rryu
    rryu 2013/05/08
    アセットパイプライン的な仕組みでトレースコードを埋め込んでNode.jsのサーバで収集・配信、それをWebGLで描写するらしい。
  • Google Chromeに入ったジェネレータとPromiseで非同期処理に革命が起きた - 素人がプログラミングを勉強していたブログ

    Google Chrome Canary(正確にはV8)に、ついにGenerators(yield)が入った。これを上手に使うと、エラー処理を含む非同期コードを同期的に書くことができるようになり、見通しが極めて良くなるので、ここで紹介する。 ここで紹介するものはいずれNode.jsでも使用できるようになるので、Webとの互換性を気にする必要のないNode.jsでは近いうちに活用できるようになると思う。 下のコードを動かすためには、最新のGoogle Chrome Canaryで、chrome://flagsからexperimental javascriptを有効にしておく必要がある。 ES6 HarmonyのGenerator構文について functionではなくfunction*というキーワードを使うと、yieldキーワードが使えるようになる。 function* range(begin

    Google Chromeに入ったジェネレータとPromiseで非同期処理に革命が起きた - 素人がプログラミングを勉強していたブログ
  • GitHubのようなtextareaの補完機能を実装する - カーソル位置の取得 - Qiita

    続編 JavaScript - Qiitaのtextarea自動補完がOSSになりました GitHubのコメントでは@と入力するとカーソルの下に入力補完が出現する。さらっとやっているが、実はこれが結構難しい。なぜ難しいのかというと、JavaScriptではカーソルが何文字目にいるかは分かるが、 カーソルのXY座標を取得するAPIが存在しない からだ。カーソル位置が分からなければ、適切な位置に補完候補を表示することができない。では一体どうすればいいのか? 今回Qiitaではコメント欄でのメンションの補完機能を実装した。稿では前述の問題を解決するために用いたテクニックを解説する。 ちなみにこのメンション補完機能はチーム用プライベートQiitaである「Qiita:Team」でも勿論使える。現在絶賛無料トライアル実施中なので、興味を持たれた方はそちらも使ってみて欲しい。 要約 textarea内

    GitHubのようなtextareaの補完機能を実装する - カーソル位置の取得 - Qiita
    rryu
    rryu 2013/04/16
    選択範囲としてのカーソル位値ではなく座標としての位置の取得方法。なかなか涙ぐましい感じ。
  • asm.js

    Working Draft — 18 August 2014 Latest version: http://asmjs.org/spec/latest/ Editors: David Herman, Mozilla, <dherman@mozilla.com> Luke Wagner, Mozilla, <luke@mozilla.com> Alon Zakai, Mozilla, <azakai@mozilla.com> Abstract This specification defines asm.js, a strict subset of JavaScript that can be used as a low-level, efficient target language for compilers. This sublanguage effectively describes

    rryu
    rryu 2013/03/27
    JSでそれっぽく動く記述をそれ用に解釈することで普通のJSとしても動くということなのか。型アノテーションは型変換も兼ねている感じ?
  • asm.js:コンパイラのための低レベルかつ高度に最適化可能なJavaScriptのサブセット

    JavaScriptのサブセットとして静的型付け言語を定義し、事前コンパイルを可能にすることでJavaScriptの実行速度を劇的に改善しようというasm.jsの概要を、1つ前の記事で調べました。 まだasm.jsの情報は少ないのですが、その中でも分かりやすくまとまった記事がDevon Govett氏のブログBADASS JAVASCRIPTのエントリ「asm.js: A Low Level, Highly Optimizable Subset of JavaScript for Compilers」です。 Govett氏に翻訳の許可を得たので、翻訳記事として掲載します。 asm.js: A Low Level, Highly Optimizable Subset of JavaScript for Compilers MozillaのDavid Herman、Luke Wagnerそして

    asm.js:コンパイラのための低レベルかつ高度に最適化可能なJavaScriptのサブセット
    rryu
    rryu 2013/03/27
    なんかIA32のコードを捨てられないが故にmicro-opsで2階建てになっていくような展開だなあ。
  • フロントエンドJavaScriptにおける設計とテスト

    今日話さないこと JavaScriptの基礎知識、jQueryの導入 気持ちいいUIUXがうんちゃら CanvasやWebGLを使ったリッチでイケてるゲームの作り方

    rryu
    rryu 2013/03/24
    ちゃんとしたオブザーバの仕組みを用意しないでモデルとビューを分離すると表示と内部状態が食い違ったり通知が無限ループしたりして、それはそれでつらい。
  • JavaScript の getter/setter について - webとかmacとかやってみようか

    JavaScript で getter/setter が使えるということを今更ながら知った。同じ ECMAScript ベースの ActionScript は使えるのになー、と思ってたら案の定使えた。はい。私の不勉強でした。。。 参考: いろんな言語のSetter・Getterを比較してみた at HouseTect, JavaScriptな情報をあなたに IE 以外の JavaScript で getter setter が使えるようになる! - IT戦記 しかし、ほとんど使ってるのを見たことがない。いろんなライブラリでは速度が重視されるからか?とも思ったが、ライブラリだからこそ、こういうアクセッサメソッドは重要なんじゃないだろうか。 IEでは非サポートなので意味ないということかもしれないが。。(が、一応対応策はある) とりあえず、どれくらい遅いのか測ってみることにした。 こんなオブジェ

    JavaScript の getter/setter について - webとかmacとかやってみようか
    rryu
    rryu 2013/03/09
    JavaScriptにプロパティ定義の機能があったとは。でもIEは9かららしいのでまだ数年は封印だな。
  • [JS]最近よく見かける1ページ垂直スクロールコンテンツで、スクロール位置を自動補正するスクリプト -windows.js

    スクロールしすぎも補正 windows.jsの使い方 実装は簡単で、既存のコンテンツにclassを加えるだけで適用できます。 Step 1: HTML HTMLは各コンテンツを配置しているdivやsectionにclassを加えるだけです。 classは変更可です。 <section class="window"></section> <section class="window"></section> <section class="window"></section> <section class="window"></section> <section class="window"></section> Step 2: 外部ファイル 「jquery.js」と当スクリプトをhead内に記述します。 <script src="http://cdnjs.cloudflare.com/aja

    rryu
    rryu 2013/03/09
    パララックスも遂にここまで簡素に…