この記事は、Node.js Advent Calendar 2018の 18 日目の記事です。 遅れてしまい本当に申し訳ありません。 この記事は、HTML5 カンファレンスで話した内容が中心となります。 Node.js とはかけ離れていますが、自分が書きたかった内容だったので、理解してくださると嬉しいです。
出典: https://www.npmtrends.com/typescript TypeScriptはJavaScriptを拡張して作られたプログラミング言語です。トレンドが示すとおり、TypeScriptはJavaScriptに代わって第一に選択される言語になりました。TypeScriptが提供する静的型システムは、コードの保守性と可読性を大幅に向上させます。またブラウザ等の互換性を心配することなく、モダンで便利なJavaScriptの機能を利用できます。 TypeScript DeepDiveは初心者からベテランまで役立つオープンソースのドキュメントです。JavaScriptのモダンな機能からTypeScriptの様々な魔法に至るまで丁寧に説明されています。多くのコードサンプルがあり、具体的なTypeScriptの使い方を簡単に理解できます。TypeScript DeepDive日本
はじめに リクルートテクノロジーズに4月に新卒入社した 辻 健人です.GitHubではmaxmellonで活動しています. 7月より,やりとりも作成もラクになるシフト管理サービス「Airシフト」 のエンハンス開発を担当しています. 以前は,React製SPAのパフォーマンスチューニング実例という内容で記事を書きました. 今回は同じSPAにおいて,いかにwebpackが生成するJavaScriptのバンドルサイズを減らすかについて紹介していきます. webpackが,そもそも何のためのツールか,バンドルする理由などについては割愛させていただきます. そういった話は,こちらの記事 (Webpack の考え方について – mizchi’s blog) がわかりやすいと思います. Airシフトのアーキテクチャ Airシフトは,React-Reduxで開発されており,かつSSRを行っておりコードの大
We just released a new minor version of Babel! This release includes support for private instance methods and a bunch of bug fixes regarding Flow and TypeScript types. You can read the whole changelog on GitHub. A lot of new contributors fixed bugs or implemented new features in this release: thanks to Gcaufy, Grigory Moroz, Paul Happ, Tim McClure and Veaceslav Cotruta! A big shout out to Bloomber
HTML5 Conference 11/25
ここ数年書いているJavaScript入門本ですが https://jsprimer.net/ というURLで無料で公開しました。 まだ開発中です これからJavaScriptを始める人がES2015以降をベースにして学べる本 プログラミングをやったことがあるが、今のJavaScriptがよくわからないという人が、今のJavaScriptアプリケーションを読み書きできるようになるもの Webサイト: https://jsprimer.net/ リポジトリ: asciidwango/js-primer: JavaScriptの入門書 もともと公開してありましたが、jsprimer.net というドメインを取ったのでURLが変わっただけです。リダイレクトされているので既存のブックマークはリンク切れにはなりませんが、気になる人はブックマークしなおしてください。 またリポジトリ(asciidwan
宿泊事業本部の宇都宮です。 一休.com スマホサイトのホテルページパフォーマンス改善プロジェクトでは、フロントエンドには以下のような要件がありました。 デザイン面は既存を踏襲する 機能はほぼ従来通り 日付等を変更した際の再検索は、画面遷移を挟まず、画面内で行えるようにする パフォーマンスをできるだけ改善する 要するに、従来と同様の機能+αを実現し、かつ、従来と同等以上のパフォーマンスを実現する、というミッションです。 このために、どのような取り組みを行ったか、紹介します。 パフォーマンス目標値の設定 まず、パフォーマンスの目標値を設定する必要があります。モバイルでは、ユーザの帯域幅は回線や時間帯によって大きな変動があります。多少回線状況が悪くても、閲覧を妨げない程度のパフォーマンスを実現する必要があります。 一休へアクセスするユーザのモニタリングを見ると、極端に遅い回線を使っているユーザ
Update at 2018.10.31 This bug has been fixed in iOS 12.1, have a good day~ I found a problem with Array's value state in the newly released iOS 12 Safari, for example, code like this: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <title>iOS 12 Safari bugs</title> <script type="text/jav
There's already another release! 7.1.0 includes support for Stage 2 Decorators and adds support for Stage 3 Private Static Fields as well as some various bug fixes. If you didn't see earlier, we released 7.0! Decorators (Stage 2) https://github.com/babel/babel/pull/7976, by Nicolò It's been many years in the making, but thanks to the amazing work by Nicolò, this release includes initial support f
極小JavaScriptエンジン「MINIScript」、GitHubに登場!フットプリントはROM 8kB、RAM 1kB
JSer.info #398 - Babel 7が正式にリリースされました。 Babel 7 Released · Babel Node.js 4のサポート終了し、@babelスコープへモジュールを移動、es2015のような年号プリセットを廃止し@babel/preset-envに移行、Stageプリセットを廃止などが行われています。 年号プリセット(babel-preset-es2015) -> 廃止(@babel/preset-envへ移行) Stageプリセット -> 廃止(個別の@babel/plugin-proposal-*プラグインを使う) babel-preset-env -> @babel/preset-envへ移行 またJavaScriptで設定を書けるbabel.config.jsでの設定をサポート、パフォーマンスの改善などが行われています。 マイグレーションはbabe
After almost 2 years, 4k commits, over 50 pre-releases, and a lot of help we are excited to announce the release of Babel 7. It's been almost 3 years since the release of Babel 6! There's a lot of moving parts so please bear with us in the first weeks of release. Babel 7 is a huge release: we've made it faster, created an upgrade tool, JS configs, config "overrides", more options for size/minifica
本書では、ECMAScript 2015(ES2015)以降で大きく変化したECMAScriptの新機能を、6つのPartに分けて、サンプルコードとともに詳しく解説しています。本書掲載のサンプルは、ダウンロード可能。どんどん動かして試してみてください。 ※本書は、旧版「速習 ECMAScript 6」をECMAScript 2018に対応し、最新の情報で改訂したものです。 担当編集者からのコメント WINGSプロジェクト刊行のKindle電子書籍、7冊目です。 隙間時間にサクッと学べる手軽な本をコンセプトとした「速習シリーズ」。これまで「速習 webpack」「速習 Vue.js」「速習 TypeScript」「速習 ASP.NET Core」など、ラインナップを充実させてきましたが、おかげさまで、いずれもご好評いただいており、今回はその第6弾「速習 ECMAScript 2018」となり
webサービスのUXを向上させるために、表示速度は非常に大切です。 しかしながら、noteはリリース当初からフロントエンドの実行速度が遅い=表示が遅いという構造的な問題を抱えており、継続率や離脱率など重要指標に悪影響を及ぼすリスクが強くありました。 noteチームはnoteを本格的なメディアプラットフォームへ成長させるスピードを加速していきます。それを踏まえ、手遅れになる前に技術的な負債を解消し、最新のベストプラクティスに沿ったフレームワークに移行することで、高性能なサービスを提供する基盤を作っていくという決断をしました。 本ポストでは、移行プロジェクトの技術的背景や移行手順を説明します。また、途中成果のデモをUPしているのでご紹介します。 技術的な背景noteの現在のフロントエンドはAngular.js 1系で構築されたSPAです。Angular 1系はかなり複雑なUIでも簡単に構築でき
Linux kernelを直接JavaScript上で動かした. つまり,JSLinuxのようにEmulatorをJavaScriptで作成し, その上でLinuxを動かすのではなく, JavaScriptで書かれたLinuxを生成し,それを動かす,ということである. LKL.js Architecture リポジトリは以下の通り. https://github.com/retrage/linux/tree/retrage/em-v2 なお lkl.js Demo にデモを用意した. SharedArrayBufferを有効にして試してみてほしい. Linux Kernel Library (LKL) ここでは,Linux kernelをLibrary OSの形態の1つであるAnykernelにする Linux Kernel Library (LKL)を利用する. LKLはLinux ke
JSer.info #390 - Firefox 61がリリースされました。 Firefox — Notes (61.0) — Mozilla Firefox 61 for developers - Mozilla | MDN Firefox 61 サイト互換性情報 | Firefox サイト互換性情報 TLS 1.3のサポートをデフォルトで有効化、アクセシビリティインスペクタの実装、 PerformanceServerTimingのサポートなどが行われています。 AvastやAVGを使っている場合にTLS 1.3での接続に問題が出るケースもあるようです。 1468892 - SSLERRORRXRECORDTOO_LONG with Avast intercepting TLS 1.3 connections またFetch APIのcredentialsのデフォルト値をomitからsa
Show navigation This post describes the garbage collection technique called concurrent marking. The optimization allows a JavaScript application to continue execution while the garbage collector scans the heap to find and mark live objects. Our benchmarks show that concurrent marking reduces the time spent marking on the main thread by 60%–70%. Concurrent marking is the last puzzle piece of the Or
JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM JavaでJavaScriptエンジンを実装し、JavaVM上でJavaScriptを実行可能にする機能「Nashorn」は、JDK 8で新たに搭載された機能でしたが、2018年5月8日付けで登録された「JEP 335: Deprecate the Nashorn JavaScript Engine」で非推奨(depricated)となり、将来的には廃止されることになりそうです。 JavaVM上でJavaScriptを実行する機能としては、Nashorn登場以前からMozillaが開発したオープンソースのRhinoが存在しており、Java 6からサポートされていました。 NashorhはこのRhinoを置き換える形でオラクルが開発を始め、ECMASc
共著者として参加していた書籍『React,Angular,Vue.js,React Nativeを使って学ぶ はじめてのフロントエンド開発』が、2018/5/9に技術評論社さまより発売となりました。 React、Angular、Vue.js、React Nativeを使って学ぶ はじめてのフロントエンド開発 作者: 原一浩,taisa,小松大輔,永井孝,池内孝啓,新井正貴,橋本安司,日野洋一郎出版社/メーカー: 技術評論社発売日: 2018/05/09メディア: 単行本(ソフトカバー)この商品を含むブログを見る どんな本か React、Angular、Vue.js、React Nativeそれぞれが、同じサーバのAPIを参照し、同様の機能を持ったアプリケーションとして作成します。React Nativeは、ネイティブアプリを開発するためのフレームワークなため、SPA(Single-page
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く