タグ

JavaScriptに関するnodoca_engineのブックマーク (185)

  • 1年間真剣にJavaScriptに取り組んだ話 - Qiita

    まえがき JavaScriptアドベントカレンダーの最終日をやらせて頂いて光栄です。 http://qiita.com/advent-calendar/2015/javascript ※元々は2の最終日を担当するつもりでしたが、家が空いておりましたので失礼させていただいております。 2015年、自分の中で一番何に夢中だったかといいますと、モンハンかJavaScript(Node.js)だったなぁと思います。 そんなで今回は1年間どんな感じにJavaScriptとじゃれてきたのかをモクモクと書いてみようと思います。 たまにJavaScriptではなくて、PHPの話とかもするかもしれませんが、あしからず。 1年前のJavaScriptのスキル JavaScriptを使ったWEBアプリ(SPA)を一様書くことはできる。 Backbone.js/Marionette.jsを使ったサービスをすごい

    1年間真剣にJavaScriptに取り組んだ話 - Qiita
  • JavaScript製FlashPlayer「swf2js」swfをそのままHTML5に変換。 - Qiita

    JavaScript製FlashPlayer「swf2js」って? ある日、ある会社(Apple)の偉い人が言いました。 「僕たちFlashサポートしないよ。」 そして、世はスマホ時代へ突入。 当にFlashがサポートされないまま突入。。。 困る!! っということでJavaScript製FlashPlayerを作ってみました。 完成品 swf2js/swf2js サンプル提供 GAMEDESIGNさんのサイトからご提供していただきました。 ありがとうございます! GAMEDESIGN 対応バージョン FlashLite 1.x, 2.x, 3.x, 4.x ActionScript 1.0, 2.0, 3.0 「swf2js」の使い方 ベーシックな使い方 応用的な使い方 ベーシックな使い方 <html> <head> <script type="text/javascript" src=

    JavaScript製FlashPlayer「swf2js」swfをそのままHTML5に変換。 - Qiita
  • フロントエンドに秩序を取り戻す方法 〜はてなブログ編集画面をリニューアルするためにやったこと〜 // Speaker Deck

    東京Node学園祭2015

    フロントエンドに秩序を取り戻す方法 〜はてなブログ編集画面をリニューアルするためにやったこと〜 // Speaker Deck
  • Introduction · ECMAScriptとは何か?

    Introduction ECMAScriptとは何か?ECMAScriptの嘘は嘘と見抜けるように results matching "" No results matching ""

  • やはり、お前らのJavaScriptでのリダイレクト実装は間違っている

    一見簡単に見えるJavaScriptでのリダイレクト(URL転送)ですが、よく知られた方法にはある落とし穴があり、Googleアナリティクスで正常な解析が行えなくなります。どんな落とし穴があるかと、その回避策について解説します。 なお、こちらの記事は、 SEM Technology - Googleアナリティクスに悪影響を与えずにJavaScriptでリダイレクトする方法 と同じ内容となっています。 はじめに モバイルサイトとPCサイト間のリダイレクトであったり、URL変更に伴うリダイレクトにおいて, .htaccessなどを用いたサーバー側でのリダイレクトが技術上できず、JavaScriptを利用してリダイレクトしているケースをたまに見かけます。 こうしたサイトでは、見た目上は問題なく動作しているものの、実はGoogleアナリティクスなどを用いてアクセス解析を行うと致命的な問題点がみつか

    やはり、お前らのJavaScriptでのリダイレクト実装は間違っている
  • AirbnbのES6スタイルガイドを読んで - maru source

    こんにちは丸山@h13i32maruです。 ES6の仕様がRC4になっており、正式リリースを今か今かと待ちわびている。とはいえもう個人で書くコードはES6一択。ES5には戻れない(それにしてもBabelの勢いがすごい)。 そんな感じでES6を書いてるわけだけど、つい先日にAirbnbがES6のスタイルガイドを公開したというのを見かけたので、ざっくり読んでみた。 Airbnb JavaScript Style Guide() {} ほとんどの内容はすでにES5で一般的になっているものだったけど、一部ES6ならではのものがあった。賛成できるものもあったり、できないものもあったので、気になる項目だけ軽く紹介してみる。 constを使う References ES5まではvar fooというように変数を宣言してきたけど、このvarが曲者で他の言語とはちょっと異質な存在である。「ブロックスコープでは

    AirbnbのES6スタイルガイドを読んで - maru source
  • JavaScriptでのDOM操作は重いのかという話とForced Synchronous Layoutについて - id:anatooのブログ

    2015年にもなるのにJavaScriptでのDOM操作のパフォーマンスについて書く。ウェブページにインタラクションを持たせたい時に、JavaScriptでDOM操作を行うことがよくある。このDOM操作のパフォーマンスについて、よく聞く意見を大別すると次の2つがある。 JavaScriptによるDOM操作は重たい レンダリングが重いだけで、DOM操作そのものはそれほど重たくない JavaScriptでオブジェクトのプロパティを操作したりする単体の処理は通常1ミリ秒もかからないが、DOM操作をするとレンダリングが完了するまでに数十ミリ秒程度かかったりする場合がある。1番目のDOM操作が重たいと言っている人は経験則的にそう言っていることが多い。 レンダリングの仕組みを知っている人は2番目の意見を言うが、重箱の隅をつつくような話をするとこれも必ずしも正しいわけではない。DOM操作するコードによっ

    JavaScriptでのDOM操作は重いのかという話とForced Synchronous Layoutについて - id:anatooのブログ
  • JavaScriptのクロージャは内部でどう機能するのか | POSTD

    もうだいぶ前からすでに私はクロージャを使っています。使い方を学びましたが、実際にクロージャがどう機能するのか、また、使うと隠れたところで実際に何が起きるのかを明確に理解しているとは言えませんでした。そもそも、クロージャとは一体何なのでしょうか。 ウィキペディア はあまり役に立ちません。クロージャはいつ生成され、いつ削除されるのでしょうか。どのように実装されるべきなのでしょうか。 "use strict"; var myClosure = (function outerFunction() { var hidden = 1; return { inc: function innerFunction() { return hidden++; } }; }()); myClosure.inc(); // returns 1 myClosure.inc(); // returns 2 myClos

    JavaScriptのクロージャは内部でどう機能するのか | POSTD
  • JavaScriptのコメントは不要か? | POSTD

    コード中にコメントを書くべきでしょうか? 是が非でも避けるべきでしょうか? それとも控えめに書けばいいでしょうか? 開発者たちはそれぞれ、ソフトウェアを開発する際にどのように、そしてどんな時にコメントを書くかについて、独自の考え方を持っています。この記事では私の意見を述べますが、これが誰にも当てはまるというわけではありません。 なお、関数型プログラミングまたはオブジェクト指向プログラミングの原則に則ってJavaScriptで書かれたソフトウェアに絞った上で、私の意見を述べることにします。 コメントと保守性 この記事では、保守性のあるコードを書く場合について考えます。つまり、以下のようなコードです。 簡単に理解できる 簡単に拡張できる 簡単にデバッグできる 簡単にテストできる 保守性のあるコードには、大量のコメントが必要でしょうか? 明確に書かれたコードであるならば、大量のコメントは不要だと

    JavaScriptのコメントは不要か? | POSTD
  • JavaScriptによるデータビジュアライゼーション入門

    TOPICS Web , Database , HTML/CSS , JavaScript 発行年月日 2015年10月 PRINT LENGTH 396 ISBN 978-4-87311-746-1 原書 Data Visualization with JavaScript FORMAT PDF JavaScriptHTMLCSSといったWeb開発者が日頃使い慣れている技術を使って、効果的で印象的なグラフの作成方法をチュートリアル形式で説明しています。さまざまな可視化手法の中から、データをより効果的に魅せるには、どの表現方法がよいのか、どのような技術が必要なのかを解説します。基的なグラフから、樹形図、ヒートマップ、ネットワークグラフ、ワードクラウド、時系列グラフ、地理情報、複合グラフなど、ステップバイステップで徐々に機能を追加したり改善を加えながら高機能かつインパクトのあるインタラ

    JavaScriptによるデータビジュアライゼーション入門
  • 末尾再帰による最適化 - Qiita

    はじめに ES6 (EcmaScript 6)を試そうと、Babelのドキュメントを読んでいたところ、末尾呼び出し(Tail Call)の最適化をしていることにびっくり。公式リリース(2015年6月)から3ヶ月あまり経ってはいますが、ES6が末尾呼び出し最適化を仕様としてサポートしていることをようやく知りました。 現状で末尾呼び出し最適化をサポートしているブラウザはなく(ブラウザやaltJSなどのES6互換表を参照)、唯一、ES6からES5へのトランスパイラであるBabelのみが部分的(直接的な末尾再帰のみ)ではありながらサポートしているようですね。 今回の記事では、来たるES6時代(いまさらの感はありますが)に備えて、末尾再帰とその最適化について簡単に解説した上で、Babelを利用して実際にJavaScriptでの末尾再帰の最適化を実験してみたいと思います。 ざっくり概要 再帰関数 は関

    末尾再帰による最適化 - Qiita
  • エディタの実装をcycle.jsでMVIベースにしてみた話 - ✘╹◡╹✘

    最近Electronでエディタをつくっており、最初はReact.jsを使いながらゆるいFlux風の設計でつくっていたのを、cycle.jsを使いながら一部をMVI風の設計に置き換えてみた。400行程度の一画面のコードだったので3時間ぐらいで置き換えられて、前よりも責務が適切に分割されるようになったので、体部分も次の機能追加時に置き換えようと思っている。 とりあえずプレビュー画面だけ置き換えた 置き換えたのは、編集中のファイルを別画面でプレビューとして表示する画面で、ただプレビューするだけの機能のほかに連続したスライドとして表示するプレゼンテーション機能もある。1つ前のブログ記事を見てもらうとわかりやすいと思うけれど、次の画像のようなやつ。ボタンをクリックしてモードを切り替えたりキーボードを使って移動したり、またエディタ側でファイルの内容が書き換わったりと、それっぽく言えば幾らか動きのある

    エディタの実装をcycle.jsでMVIベースにしてみた話 - ✘╹◡╹✘
  • npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita

    背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 npm と bower の違いは? npm はサーバーサイド用、bower はクライアントサイド用らしいよ えっ、でもなんで bower のインストールに npm が必要なの? サーバーサイドは Rails で書きたいから npm 要らないと思うんだけど・・・ ていうかサーバーサイドJSとか node.js って何? よく見る browserify って何? こういった疑問が沸き上がるのは、各ツールが生まれた文脈がよくわかっていないからです。いろいろ調べてやっとちょっとわかってきたのでメモします。間違いがあったらご指摘ください。 「CommonJS」誕生 - Javascript は汎用プログラミング言語へ その昔、Javascript 大好きおじさんは言いました。 Javascrip

    npm とか bower とか一体何なんだよ!Javascript 界隈の文脈を理解しよう - Qiita
  • CSSモジュール ― 明るい未来へようこそ | POSTD

    ここ最近、CSSに対する考え方が広がりを見せています。皆さんの中には、その転換点を見つけようと、Christopher Chedeauの”CSS in JS”という講演を聞いた方もいるでしょう。2014年11月にNationJSで行われたこの講演は、CSSにおける重大な分岐点となりました。まるで高エネルギー粒子が衝突した後のように、それを機に、数ある多様な考え方が、各々の方向へ渦を描くように広がったのです。その例として、 React Style と jsxstyle 、 Radium を挙げましょう。これら3つは、Reactのスタイリングにおける最新かつ最良、そして最も実行しやすいアプローチに含まれており、 各々のプロジェクトのReadmeファイルでも、 そのように言及しています。もし”発明”が、 adjacent possible(一歩先にある可能性) を探ることの一例であるのなら、Ch

    CSSモジュール ― 明るい未来へようこそ | POSTD
  • ECMAScript 2015 Language SpecificationのIntroductionから4章まで - Qiita

    ECMAScript 2015 Language Specification一人輪読会資料。(やりたいチームメンバーがいればいつでもウェルカムなので、もしかしたらそのうち普通の輪読会になるかも) このECMA標準はECMAScript 2015を定義するものである 1997年に第1版が出て、今回で第6版 ECMAScript2015のゴール 大規模アプリケーション開発、ライブラリ開発、多言語のコンパイルターゲットとしての利用へのより良いサポート ECMAScriptの歴史 Wikipedia見たほうが図があっていいかも 1 Scope この標準はECMAScript2015多目的プログラミング言語を定義している 2 Conformance 適合条件っぽい。 conformance => 適合・準拠 ECMAScriptに適合する実装は、 (ES5と変わらないとこ) 仕様に記述されている全

    ECMAScript 2015 Language SpecificationのIntroductionから4章まで - Qiita
  • オブジェクトリテラルのプロパティ/メソッドのいろんな書き方(ES6版) - Qiita

    ECMAScript 6 がいよいよ標準仕様となり、ブラウザでの実装もより一層進んできています。 オブジェクトリテラルの書き方ひとつ取っても、大変多彩になりました。 var d = 42; var obj = { a: 42, "b": 42, 0: 42, ["c"] : 42, d, e(){}, get f(){}, set g(v){}, *h(){} }; これらを全て把握するだけでも一苦労です ここではそれぞれの書き方を、ひとつひとつざっくり見ていきたいと思います。 尚、ここで紹介するコードは、一部のブラウザでは動かないことがあります。 投稿時点で最新の GoogleChrome 44 であればすべて動作することを確認しましたので、よければそちらをお使いください。 var obj = { prop: value }; 一番慣れ親しんできた書き方だと思います。 しかしプロパティ名

    オブジェクトリテラルのプロパティ/メソッドのいろんな書き方(ES6版) - Qiita
  • javascriptが理解しにくい人へ

    javascriptが使えないと… プログラミングの苦労 最近のweb制作の現場ではjavascriptを使う機会が激増している聞く。プログラマーさんとデザイナーさんが分かれているならそんなに心配はないが、状況によってはデザイナーさんが自身でプログラミングに手を出さないといけない現場もあるようだ。むしろjavasc1.javascriptが使えないと…1.プログラミングの苦労2.オブジェクトオブジェクトうるせえんだよ1.オブジェクト指向プログラミング2.オブジェクトとは3.理解がしにくくなると思われる理由1.オブジェクトは既に存在する2.webページはDOM箱で表現される3.やりたいことをするときに4.いきなり難しすぎる4.jQueryの功罪1.jQueryは便利だけど…5.使わない勇気6.javascriptを理解するには1.急がば回れ7.勉強の資料 javascriptが使えないと…

    javascriptが理解しにくい人へ
  • WEB+DB PRESS Vol.87のECMAScript 6特集を読んだ(+TypeScript) - dackdive's blog

    特集1の「今すぐ活かす! 最新JavaScript 進化した仕様ECMAScript 6をまるごと解説」を読んでES6(またはES2015)について勉強している。 WEB+DB PRESS Vol.87 作者:佐藤 鉄平,小林 明大,石村 真吾,坂上 卓史,上原 誠,鳥居 英,佐藤 歩,泉水 翔吾,うさみ けんた,伊藤 直也,高橋 侑久,佐藤 太一,hayajo,橋 翔,西尾 泰和,中島 聡,はまちや2技術評論社Amazon ES6 については既に web 上でたくさんの記事があったりスライドが上がってたりするが、 書籍として出版されているものは要点がコンパクトに分かりやすくまとまっており、これから学ぼうとする人にはこの特集記事が一番いい資料だと思う。 個人的には ES6 で導入される新しい文法が「今の(ES5 の文法での)JavaScript だとどう書くか」と対比されているため それ

    WEB+DB PRESS Vol.87のECMAScript 6特集を読んだ(+TypeScript) - dackdive's blog
  • Relay チュートリアル【日本語翻訳】

    先日、Facebookがデータ駆動型のReactアプリケーションの開発を行うためのJavaScriptフレームワーク「Relay」のTechnical Preview版を公開しました。さっそくですが、自分の理解を深めるためにRelayのチュートリアルを和訳しました。せっかくなのでブログにもアップしておきます。誤訳などもあるかと思いますが、Google翻訳よりはマシだと参考にしていただければと思います。原文もつけておいたので、翻訳がおかしなところもなんとなくニュアンスを掴んでいただければと思います。 Relayチュートリアルに行く前に、Relayの基礎知識RelayRelayは、「データ駆動型のReactアプリケーションを開発するためのJavaScriptのフレームワーク」です。RelayはReact同様、Facebook�が開発を進めています。Relayを使うと、サーバから取得したデータを

    Relay チュートリアル【日本語翻訳】
  • javascript再勉強のためにreact + ardaでマインスイーパーをつくったので気づきを忘れないようにメモ - Qiita

    一ヶ月近くの有給休暇を経て8/1から完全な無職になりました。前職ではjsといえばviewsに$()を書きまくるという所業をはたらいておりましたが、railsapi、フロントは別口でというのが流れであるっぽいので、ちゃんとしたjs作業をしましょうというのが今月のあらすじ。 成果物 うごいてるもの No Mines Land 左右同時押しがMouseEventから簡単にとれてびっくりした。 ソース https://github.com/mmmpa/mine はじめてつかった Browserify とくにBrowserifyはとてもよくて、javascriptのファイル分割に関する知見がまったくない自分でも、簡単に分割と結合が行えるようになっており当によかった。 Browserifyについて勘違いしていたこと Browserifyを読み込んでおくとrequireが使えるようになると思っていた

    javascript再勉強のためにreact + ardaでマインスイーパーをつくったので気づきを忘れないようにメモ - Qiita