タグ

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

  • JavaScriptでvarを並べること - ワザノバ | wazanova

    http://benalman.com/news/2012/05/multiple-var-statements-javascript/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約4時間前 まあ、好みの問題もあるので、嫌な人にとっては嫌なんでしょうが、、 JavaScriptで、例えば先頭で var をまとめて定義 & 値を代入する際に、 var foo = 1, bar = 2; でなく、 var foo = 1, var bar = 2; と、varを並べたほうが、メンテ性も見た目を揃えるにもよいのではないかという、Ben Almanの2年前のブログが最近いくつかtweetされてたので、チェックしてみました。 そもそも、 複数varを並べるのは無駄だし、初心者っぽい。 単独varの方が見た目がよい。

    rryu
    rryu 2014/08/17
    どちらかというと変数宣言をカンマでつなげて書くほうがその記法の罠にまだ気づいてない初心者っぽいイメージがある。
  • 古めかしいCGを描くためのライブラリ gretro です - 音の鳴るブログ

    gretro - JavaScript graphic library for retro CG (2014.08.14) お試しページを作りました 最近、昭和っぽい気持ちのCGを描きたい感じで20年くらい前のを参考にしながら 円 とか 線 とか描いて遊んでいたのだけど、古いを参考したら昭和っぽい絵が描けるというわけではなくて、Canvas に描くとどうしてもモダンな感じになってしまうという問題があった。 昔は4096色中の16色しか使えないとか座標は整数のみとか色々制約があって、それでも絵を描くためにタイルパターン(2色を交互に並べたりして中間の色を出す)とか駆使していたのだけど、今の Canvas だと16777216色、透明あり、小数の座標、アンチエイリアスも利くとか表現力が格段に高くてちょっと描いただけですぐモダンな感じになってしまう。大は小を兼ねるとか言ってもちろん Canv

    古めかしいCGを描くためのライブラリ gretro です - 音の鳴るブログ
    rryu
    rryu 2014/08/12
    ソースコードもブレゼンハムアルゴリズムとか懐かしい感じ。
  • 親に向かって何だその $self.parent().remove() は - mizchi's blog

    親に向かって何だその $self.parent().remove() は— いま、一番勢いのあるヤツ (@mizchi) 2014, 7月 1 $self.parent().remove()、自分も巻き添えで死ぬことになるので、 $parent = $self.parent(); $self.detach(); $parent.remove() が正しいです— いま、一番勢いのあるヤツ (@mizchi) 2014, 7月 1 子離れしましょう— いま、一番勢いのあるヤツ (@mizchi) 2014, 7月 1

    親に向かって何だその $self.parent().remove() は - mizchi's blog
  • お前自分ちのページャUIが本当に速いと思ってんの?

    手抜きです

    お前自分ちのページャUIが本当に速いと思ってんの?
    rryu
    rryu 2014/07/07
    確かに無限ページ送りとマップのスクロールシステムは似ている気がする。
  • jQuery 公式 Blog 「jquery-latest.js を使用するのをやめろ」

    jQuery 公式 Blog は、「Don't Use jquery-latest.js」 と題された記事内で、今後、jquery-latest.js のバージョンを 1.11.1 で固定することと、番環境で jquery-latest.js を読み込むのをやめてくれというアナウンスを行っています。 jQuery 公式 Blog は、7月 3日付けで投稿された 「Don't Use jquery-latest.js (jquery-latest.js を使うな)」 と題された記事内で、今後、jquery-latest.js のバージョンを 1.11.1 で固定することと、番環境 (公開している Web サイト) で jquery-latest.js を読み込むのをやめてくれというアナウンスを行っています。 Don't Use jquery-latest.js : Official jQ

    jQuery 公式 Blog 「jquery-latest.js を使用するのをやめろ」
    rryu
    rryu 2014/07/04
    jQueryがレガシーブラウザを瞬殺できる力を持ったと言えなくもない。
  • Opal: Ruby to Javascript Compiler

    Opal Ruby to Javascript Compiler It is source-to-source, making it fast as a runtime. Opal includes a compiler (which can be run in any browser), a corelib and runtime implementation. The corelib/runtime is also very small. Opal Documentation opal.min.js opal-parser.min.js Use the CDN Opal is hosted on GitHub . You can join the community by chatting on Gitter at opal/opal or on Freenode IRC (chann

    Opal: Ruby to Javascript Compiler
    rryu
    rryu 2014/06/27
    RubyからJSへのコンパイラは既にあったとは…
  • jQuery の.on()をもういっぺん理解してみる - あまり新しくないもの

    jQueryのイベントハンドリングには、現在 .on(),.off()のみが推奨されて利用されています。 その基的な使い方はこんなかんじでした。 $(element).on(event, function() { console.log('event fired!'); }); この場合、対象となる$(element)において指定したeventが発火した時に、コールバック関数が呼び出されます。非常に直感的ですね。 ところで、これは以前の.bind()と全く同じです。 .bind()の場合は、指定したずばりその要素に対してのみ、イベントハンドリングを行います。よって、.bind()が呼び出されたその時点で存在しない要素に対しては、たとえセレクタが一致していたとしてもハンドリングが行われません。 このことを利用すれば、イベントハンドリングをしたいまさにその要素にのみ、たとえその後同じセレクタ

    jQuery の.on()をもういっぺん理解してみる - あまり新しくないもの
    rryu
    rryu 2014/05/16
    jQueryは本当に関数のオーバーロードが好きだよなあ。
  • mXSS - Mutation-based Cross-Site-Scripting のはなし - 葉っぱ日記

    ここ数年、XSS業界の最先端で盛り上がっている話題として mXSS というものがあります。mXSS - Mutation-based XSS とは、例えば innerHTML などを経由してすでに構築されているDOMツリーを参照したときに、来のDOM構造とは異なる結果を得てしまい、そのためにHTML構造の破壊を引き起こすという類のDOM based XSSの亜種とも言えます。 mXSSに関しては以下の資料などが参考になります。 The innerHTML Apocalypse mXSS Attacks: Attacking well-secured Web-Applications by using innerHTML Mutations どちらの資料にも掲載されていますが、mXSSのきっかけとなったのは 「教科書に載らないWebアプリケーションセキュリティ(1):[これはひどい]IEの

    mXSS - Mutation-based Cross-Site-Scripting のはなし - 葉っぱ日記
    rryu
    rryu 2014/05/08
    めんどうくさい系のセキュリティの香り。対策としては複製するときはcloneNodeしましょうという感じ?
  • JavaScriptの生きてるundefinedと死んでるundefined - mizchi's blog

    JavaScriptの悪魔的な振る舞いの一つにundefinedがあると思う。 javascriptには存在するundefinedと存在しないundefinedがあるし、それはつまり [undefined].length => 1 だ— 俺は平気だよ (@mizchi) 2014, 4月 22 JavaScript、[undefined].length => 1 で arr = []; arr[0] = undefined; だけど、このとき前者のundefinedと後者のundefinedは性質的には別物ですよ— 俺は平気だよ (@mizchi) 2014, 4月 22 もう一つの例として、 obj = {}; のとき obj[‘a’] = undefined したとき、for i in obj するとイテレータが一回だけ回る。obj[‘a’] = undefined しても キーは消え

    JavaScriptの生きてるundefinedと死んでるundefined - mizchi's blog
    rryu
    rryu 2014/04/23
    Perlで空リストを返したつもりがundefを要素とした要素数1のリストを返していて悩むとかはたまにある。
  • jQueryで指定されたイベントの定義場所を取得する方法

    jQueryで指定されたイベントの定義場所を取得する方法 セミナー時にHTML上のイベントが指定されている要素から、実際にイベントを指定したコードが書かれているJavaScriptファイルや場所を知りたいと質問を受けました。 調べたところ良さそうな方法があったのでシェアしておきます。 ちょっと動画に取ってみたので、動画でご確認ください。 なにをやっているかというと、まず、デベロッパーツールを開き、検証したい要素を選択します。 次に右クリックして「Add attribute」から適当なidを指定します。今回は「js_debug」というidを指定しています。 次にデベロッパーツールの右上のアイコンからコンソールを開き以下のコードを入力しEnterを押します。 $._data($("#js_debug").get(0), "events"); Object->click->0の順番に開いていき、

    jQueryで指定されたイベントの定義場所を取得する方法
    rryu
    rryu 2014/04/04
    なんで元記事にある$0でinspectしている要素を参照できる点を無視してわざわざid属性を付けるんだろう。
  • JavaScript プログラマの職種は4種類くらいに分けるべき

    jser.md はじめに JavaScript を使っていると「JavaScript出来るの? jQuery / AngularJS / Node.js etc... で困ってるんだけどさー」みたいな話を振られることがあります。 そういった時に、自分は一般的なライブラリの使い方やフレームワークに対して大した知見も興味もないので、わざわざ説明するのも面倒なのでこうして文章にしておきます。(当に届いて欲しい人に限って、こういう文章が届かないのはわかっていますが、文章を書くこと自体が気晴らしだと思って諦めます。) 「フロントエンドエンジニア」という言葉の汎用性 先ほどのような話は自分に限ったことではなく、たぶん経験のある人も多いでしょう。 振られた話が自分の分かる範囲、あるいは興味のあるものならばまだ良いのですが、そうでないことがあまりに多すぎます。 話を振られるだけならともかく「JavaSc

    JavaScript プログラマの職種は4種類くらいに分けるべき
    rryu
    rryu 2014/03/17
    概ね、かっこいいモーションを付けるスキルの有無で分けることができて、スキルのある人を私はビジュアル系と呼んでいる。
  • jsdo.it

    We’re getting things ready Loading your experience… This won’t take long.

    jsdo.it
    rryu
    rryu 2014/02/21
    もう初歩のレイトレなんてものはJSで余裕で動くのか…
  • CoffeeScript 1.7.0 でメソッドチェーンがしやすくなった - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    CoffeeScript 1.7.0 でメソッドチェーンがしやすくなった - Qiita
    rryu
    rryu 2014/01/31
    関数$の呼び出しに括弧が無いとかなり混乱する。どちらかというと引数無しのメソッド呼び出しの括弧を省略したい。
  • jQuery tablesorter 2.0

    TIP! Sort multiple columns simultaneously by holding down the Shift key and clicking a second, third or even fourth column header! Getting started To use the tablesorter plugin, include the jQuery library and the tablesorter plugin inside the <head> tag of your HTML document: <!-- choose a theme file --> <link rel="stylesheet" href="/path/to/theme.default.css"> <!-- load jQuery and tablesorter scr

    rryu
    rryu 2014/01/14
    列ヘッダの固定もソート列指定の保存もできるようになっていて、なんというか素晴らしい。
  • WEB+DB PRESS Vol.78に「フロントエンドの国際化」について書いた! - teppeis blog

    先週発売されたWEB+DB PRESS Vol.78のJavaScript連載にて、「フロントエンドの国際化」をテーマに記事を書きました! 内容はこんな感じです。 国際化の基 I18NとL10N ロケール タイムゾーン フロントエンドにおける国際化 メッセージリソースの管理 数値や日付のフォーマット CLDRとICU JavaScriptにおける文字コードの罠 JavaScriptにおけるタイムゾーンの罠 JavaScript国際化関連ライブラリ i18next Numeral.js Moment.js & Moment Timezone ECMAScript 6 Internationalization API 前半ではソフトウェアの国際化で使われる基概念と、最近のフロントエンド領域で国際化を行うときに課題となるポイントを解説しています。 中盤ではいくつかの定番ライブラリを紹介し、最

    WEB+DB PRESS Vol.78に「フロントエンドの国際化」について書いた! - teppeis blog
    rryu
    rryu 2013/12/31
    そうそう、JSのDateTimeはローカルタイムを扱うものでUTC→ローカルタイムしかできなくてタイムゾーンも取得できないことを知ると軽く絶望する。
  • やはり俺のMVCは間違えている in Backbone.js - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    昨日のエントリの続き。こっちのほうが有益な情報になってると思うんだけど多分昨日ほどはのびない。 さて、昨日のエントリーでは「Backbone.jsのViewはControllerってことなのか〜それは俺が間違えてたわ〜、えっじゃあ Marionette.js 使う場合はどうなの」という感じになったのだけれど、そのあといろいろ考えて以下のような感じに落ち着いた。 Marionette.jsを使っていたとしても結局考え方はBackbone.jsのときとかわらない。 つまり、Marionette.js の View も C である。ViewControllerと言うべきかもしれないので以下ではViewControllerと書く。 ViewControllerの責務は、以下の通りである。 Model(あるいはCollection)をひとつ保持し、View(HTML片のことである)をひとつ保持する

    やはり俺のMVCは間違えている in Backbone.js - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    rryu
    rryu 2013/11/12
    ここでのVはMVPパターンのpresenter+viewで、Mはview model。真のドメインモデルはサーバサイドにある訳だが、サーバサイドからVMを取ってくるコードは何なのかと言われると難しい。
  • CoffeeScript

    CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. The golden rule of CoffeeScript is: “It’s just JavaScript.” The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can u

    rryu
    rryu 2013/11/07
    本家が最速文法マスター並みにわかりやすい。
  • サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス - kazuhoのメモ置き場

    JavaScript文字列のエスケープ – yohgaki's blog に対して、 最近だと id="hoge" data-foo="<% bar %>" しておいて $("#hoge").data('foo') でとりだすのが主流かと思います。 はてなブックマーク - JavaScript文字列のエスケープ – yohgaki's blog のように、 そもそもJavaScriptコードを動的生成すべきでない JavaScriptコードに渡す変数はHTMLノードを経由すべきだ というような反論がついています。 が、はたしてそうでしょうか。 僕には、元の記事の手法も、HTMLノードを経由する手法もあまり好ましくない*1ように思えます。 そもそも、HTML生成時にXSS脆弱性が発生しがちなのは、 タグや静的な文字列と動的に生成される文字列が混在し 埋め込まれる多数の文字列を正しくエスケープ

    サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス - kazuhoのメモ置き場
    rryu
    rryu 2013/11/06
    インラインJSONP方式とは。よく考えてみると、安全にJSONが吐けるなら、普通に変数に入れた方が楽な気がする。
  • Headless Commerce with Salesforce

    AgentforceHumans with Agents drive customer success together. Explore Agentforce

    Headless Commerce with Salesforce
    rryu
    rryu 2013/11/02
    画像などのリソースがロードされる前に別なものに差し替えたりする為のライブラリらしい。
  • Mini AJAX File Upload Form

    In this tutorial we are going to create an AJAX file upload form, that will let visitors upload files from their browsers with drag/drop or by selecting them individually. For the purpose, we will combine the powerful jQuery File Upload plugin with the neat jQuery Knob to present a slick CSS3/JS driven interface. The HTML As usual, we will start off with a basic HTML5 document: <!DOCTYPE html> <ht

    Mini AJAX File Upload Form
    rryu
    rryu 2013/10/30
    jQuery File UploadとjQuery knobを使ったドラッグアンドドロップとプログレス表示の付いたシンプルなアップロードフォームの例。