タグ

jsに関するsubakのブックマーク (19)

  • Debugging WebSockets using JS Proxy Object

  • ES2018: Rest/Spread Properties

    Update 2018-01-25: This proposal has reached stage 4 and will be part of ECMAScript 2018. The ECMAScript proposal “Rest/Spread Properties” by Sebastian Markbåge enables: The rest operator (...) in object destructuring. At the moment, this operator only works for Array destructuring and in parameter definitions. The spread operator (...) in object literals. At the moment, this operator only works i

  • 「for やめろ」またはイベントループと nextTick() - Block Rockin’ Codes

    ものすごく遅レスですが、LLDiver で @esehara さんの LT であった話。 forやめろ、あるいは「繰り返し」という呪縛から逃れるために 簡単に言うと、 1~10 までを出力する方法を複数考えるというもの。 for, while, 再帰, goto etc.. と出て、途中で終わっちゃったので結論はよくわかりませんでしたが、 Node ではどれも使わずにできるな、と思ったのでちょっと例を出してみます。 ちなみに、タイトルでネタバレしている通りイベントループの話です。 そしてよくある「イベントループとは何か」「なぜ止めてはいけないのか」「process.nextTick() とは何か」「setImmediate() と何が違うのか」 などを解説する良い例だったので、書いてるうちに実はそっちがメインの解説となりました。 サンプルの実行結果は Node v0.11.13 です。(書

    「for やめろ」またはイベントループと nextTick() - Block Rockin’ Codes
    subak
    subak 2018/01/25
  • .mjs + HTTP/2 = Universal JS - Qiita

    この記事は2017/10/06のGotanda.js#9でLTした内容と同じです。 但しこちらでは、Node.js等のリリースと共に内容をアップデートしていく予定です。 (発表資料はsnapshotとしてアップデートしません) (new) Node.js >= v10.0.0 HTTP/2 & ES Modules core modulesにおいて、http2をfeature flagなしで実行できるようになりました。 ES modulesについては未だフラグ付きなものの、dynamic importやimport.metaがサポートされました。 koaまたはhapiはhttp2サポートされているのでproductionで使い始めるところも出てきてるかもですが、10系のLTSは2018/10からなのでまだオススメしません。 expressにおいては未だhttp2サポートされてませんが、sp

    .mjs + HTTP/2 = Universal JS - Qiita
    subak
    subak 2018/01/23
  • ECMAScript 2017、2018 の時代の開発環境 - Qiita

    概要 ECMAScript 2017、2018 で導入が予定されている機能および開発ツールについて調べました。 ES モジュール 主要ブラウザー、モジュールバンドラー (Webpack、Rollup) でサポートされています。Node.js は v8.5 で実験的な機能として利用できます (--experimental-modules)。古いバージョンの Node.js のサポートのために @std/esm が公開されています。 ES モジュールを利用するメリットは従来よりも読み込む必要のあるコードを減らすことができることです。必要なクラスや関数だけをインポートできます。RxJS の場合、どれだけ変わるのかはこちらの記事をご参照ください。 import {Observable} from 'rxjs/Observable'; import 'rxjs/add/observable/inte

    ECMAScript 2017、2018 の時代の開発環境 - Qiita
    subak
    subak 2018/01/23
  • 1年前に作ったフロントエンド環境を色々新しくした - Qiita

    新規立ち上げのチームを異動して、1年前に作った会社のフロントエンド環境(Vue.js + webpack(+Gulp))をベースに環境を作っていたのですが、 色々古かったので、新しくしました 今回作ったものはGitHubにあげてます https://github.com/kurosame/vuejs-boilerplate この中からやったことをいくつかピックアップして紹介したいと思います パッケージを最新にする npm install -g npm-check-updates npm-check-updates -u // package.jsonのパッケージを全て最新にして上書く npm update // package.jsonに記載してあるバージョンに更新する npm install 今回みたいにバージョンアップするパッケージが多い場合は、これでいいと思う 他のパッケージに依存し

    1年前に作ったフロントエンド環境を色々新しくした - Qiita
  • 2017 JavaScript Rising Stars

    As we did last year, it's time to look back at the JavaScript landscape in 2017. Let's see by the numbers which projects got traction in 2017 by comparing the numbers of stars added on GitHub over the last 12 months, and find out who are 2017's JavaScript Rising Stars. The following graphs compare the number of stars added on GitHub over the last 12 months. We analyzed projects coming from Best of

    2017 JavaScript Rising Stars
    subak
    subak 2018/01/15
  • 最近の ECMAScript (JavaScript) に入ったやつをぐぐりたくても名前が分からないやつ

    2017/08/24 この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります techECMAScriptJavaScriptnamingEnglish 明確に読み書きできるやつは良いのです。 読み書きできないやつでぐぐりたいときに、 「これ英語で(日語で)何ていうんだっけ?」 みたいなのが不定期で出てきて「あーなんて呼ぶか忘れたー」ってなります。 みなさんもありますよね?? もうこれ以上忘れたくないのでメモ っておきました。 以下の見出しは「そうそうこういうやつなんだけど、それの名前を知りたい」レベルで逆引きできるものにしてあります。 ドットが3つ連続するやつlet a = { key1: 'val1', }; let b = { key2: 'val2', key3: 'val3', ...a, }; console.log(b); {key2: "val

    最近の ECMAScript (JavaScript) に入ったやつをぐぐりたくても名前が分からないやつ
    subak
    subak 2018/01/12
  • Web アプリの JavaScript の初期化処理をどうまとめるか - r7kamura - Medium

    いわゆる JavaScript のエントリポイントを、どういうパターンで管理しているかについて。 ディレクトリ構成自分の場合、次のようなディレクトリ構成でまとめていることが多い。 client/javascripts/entryPoints/*.jsclient/javascripts/initializers/*.js実例を挙げると、現在携わっているプロジェクトでは以下のようなファイルが存在する。 client/javascripts/entryPoints/client.jsclient/javascripts/entryPoints/server.jsclient/javascripts/initializers/googleAnalytics.jsclient/javascripts/initializers/helmet.jsclient/javascripts/initiali

    subak
    subak 2017/11/11
  • AsyncとAwait : コールバック地獄を避けるための最新のやり方、そしてその未来 | POSTD

    (2016/7/7、いただいたフィードバックを元に記事を修正いたしました。) JavaScript、特にNode.jsといえば、 コールバック地獄 がよく連想されます ^(1) 。たくさんの非同期I/Oを扱うコードを書いたことがある方には、おそらく以下のようなパターンはおなじみでしょう。 export default function getLikes () { getUsers((err, users) => { if (err) return fn(err); filterUsersWithFriends((err, usersWithFriends) => { if (err) return fn(err); getUsersLikes(usersWithFriends, (err, likes) => { if (err) return fn (err); fn(null, lik

    AsyncとAwait : コールバック地獄を避けるための最新のやり方、そしてその未来 | POSTD
  • ES6 (ES2015) ModulesのUMD化。HTMLのScript要素とES6 importでの同時読み込みに対応させる方法

    最近はES6(ES2015)でJavaScriptを書くようになってきました。前回投稿した記事で紹介した自作のJavaScriptプラグイン「cb-typewriter-js」もES6の構文で書いて、Babelでコンパイルして作っています。その中で、そのプラグインのコードを書いていてかなり悩んだ事がありました。ES6で書いたコードを「HTMLのScript要素」と「ES6のimport」のどちらの方法でも読み込めるようにする事です。なんとか解決方法がわかったのでまとめておきます。 ES6(ES2015) Modulesで何がやりたいのかJavaScriptのプラグインという性質上、用途は様々となりえます。scriptタグで読み込んで使う人もいれば、最近はES6(ES2015)で開発する人もいるので、ES6のimportで読み込んで使う人もいます。つまりプラグインはそれぞれの環境で使えるよう

    ES6 (ES2015) ModulesのUMD化。HTMLのScript要素とES6 importでの同時読み込みに対応させる方法
  • Next.js - Qiita

    https://zeit.co/blog/next の翻訳です。 > Naoyuki Kanezawa (@nkzawa), Guillermo Rauch (@rauchg) and Tony Kovanen (@tonykovanen) > 2016年10月26日 私たちは、サーバレンダリングされるユニバーサルなJavaScriptウェブアプリのための小さなフレームワークであり、ReactWebpack、Babel上に構築され、このサイト(訳注: https://zeit.co )を動作させているNext.jsをオープンソース化することをとても嬉しく思います! (Next.jsの"Hello World") Next.jsを使い始めるには、package.jsonを含む新しいディレクトリ内で次のように実行してください。

    Next.js - Qiita
    subak
    subak 2017/11/03
  • ServiceWorkerとCache APIを使ってオフラインでも動くWebアプリを作る - Qiita

    はじめに Thetaの360°画像にぼかしを入れるWebアプリSphereBlur.comを作った際に、オフラインでも動くようにするために、HTML5の新しい技術Service Workerを使った。なお、下の動画でホーム画面からネイティブアプリっぽく起動しているのはWeb App Manifestのおかげである。 Service Worker Service Workerは、通常のページの環境とは別に、バックグラウンドで実行されるJavaScript実行環境で、ページからのネットワークリクエストを横取りしたり、ウェブサイトからのPush通知を受けとって表示するといった、今まではできなかった処理をすることができる。Push通知の方は、去年Facebookが使い始めたので有名になったが、今回はPush通知ではなく、ネットワークリクエストを横取りする機能を使ってオフライン対応をした。 ネットワ

    ServiceWorkerとCache APIを使ってオフラインでも動くWebアプリを作る - Qiita
  • テストがないJS環境にモダンなテスト環境を導入していく - Qiita

    Qiita:Teamに投げた社内ドキュメントだったけど、特に問題ないのでQiitaにも投げる。 前提として browserify-rails とbabelify が導入されている状況を想定してる。 基方針 新規コードはES2015で書く 番はbrowserify(-rails)でコンパイルする。 単体テストは node 環境下で走らせる テスト環境下では jsdom で window, document をモックする 単体テストでは ブラウザ特有の挙動はテストしない 裏側の環境(browserifyやspec-helper)は難しくして良いが、利用者からみえる範囲は複雑にしない(npm install; npm testで走る) Universal JavaScript に寄せることでコードのポータビリティを上げる 事前準備 browserify-railsを導入する。 .babelr

    テストがないJS環境にモダンなテスト環境を導入していく - Qiita
  • https://webkatu.com/private-property/

    subak
    subak 2017/10/24
  • Isomorphic Architecture を実装してるときの細かいアレコレ

    Isomorphic あらため Universal ? 一時期火がついていた Isomorphic について。各自がプロダクションの事例を作り上げる潜伏期に入ったのか、はたまた当に一過性で火が消えたのか、コモディティ化を遂げたのか分かりませんが、あまり耳にすることがなくなった印象です。 そんな中ですが先日、Universal JavaScript — Medium が公開され、なるほど Universal ってキモチになったので、タイトルに反して以下は Universal と呼称します。 今回の話題にするのは module レベルではなく Universal な JavaScript architecture のほうです。アーキテクチャのレベルで Universal なコードが役立つ代表的ケースは SPA (Single Page Application) と SSR (Server S

    Isomorphic Architecture を実装してるときの細かいアレコレ
    subak
    subak 2017/10/23
  • ES2015 (ES6)についてのまとめ - Qiita

    ECMAScriptとは ECMAScriptはJavaScriptの中核仕様を抜き出して標準化したもの 開発当初のJavascriptは、ブラウザによる独自の拡張が多く、互換性が低かったため、Ecma Internationalが中心となりECMAScriptが開発された ES2015 (ES6)とは 先日策定された、ECMASCriptの6th Editionのことであり、当初はES6と呼ばれているが、正式名称をECMASCript2015(ES2015と呼ばれる)とし、今後は年単位のリリースを予定しているとのこと [公式サイト]http://www.ecma-international.org/ecma-262/6.0/index.html ES2015で可能となる新たなシンタックス let・constキーワードによる変数宣言 class構文 関数の引数のデフォルトパラメータ(Def

    ES2015 (ES6)についてのまとめ - Qiita
  • 全力で ES Decorator使ってみた - Qiita

    Proposalはここ wycats/javascript-decorators stage: 1 なのでまだまだ仕様変わる可能性あり。 typescriptやbabelでつかいたい場合は次のようなコンパイラオプションが必要 デコレータの振る舞い クラスデコレータは Class Functionをとって Class Function を返す関数 クラスの関数デコレータは instance とname と descriptor を引数に descriptorを返す関数 引数を取るデコレータは、関数を返す関数として実装する(部分適用っぽい感じ) クラスに所属しない関数へのデコレータはbabel/typescriptともに未実装? 使ってみた感想 元の振る舞いを変えずに参照透過を維持するような関数が見通しが良い 用途は以下が考えられる DI Logging Memoize Mixin アノテーシ

    全力で ES Decorator使ってみた - Qiita
    subak
    subak 2017/10/23
  • 1