技術探し

JavaScriptを中心に記事を書いていきます :;(∩´﹏`∩);:

JavaScript

Markdownだけで綺麗なスライドを作るCLIを作っている

Markdownだけでスライドを生成するFusumaというCLIを紹介します。 開発・ビルド・リリースをすべて1コマンドで行います。

Node.js v10の変更点まとめ

Node9からの変更点をまとめます。 Node10のリリース予定日は2018/04/24です。

Node.jsの使用調査をしてみた

3月のデータ ダウンロード数 バージョン OS 国ランキング 2017/04 - 2018/03 新規コントリビューター数 今年度も終わりなのでNode.jsがどれぐらいダウンロードされているかの調査を行いました。 2017年版はnodesourceが出している記事を読むと良さそう。 nod…

時間計測をしてNode.jsアプリのパフォーマンス改善の手助けをする

Performance Timing APIの紹介とNode.jsのパフォーマンスチューニング方法について

Node.jsとECMAScript Modules

覚えておくべきこと ESMを使いたい場合は、拡張子を.mjsにする .mjsの拡張子は省略可能である ESMのファイルをトップレベルではCJSでインポート出来ない CJSのファイルをインポートするのにnamed importは行えない ESMのパスはwhatwg urlに準拠している Node…

webpack4への簡単なマイグレーションガイド

webpack4への移行ガイド

package.jsonで値を展開する

今年初の記事です そういえばこんな機能あったなーって感じだったので記事にしてみました。 本当は今年最初の記事用意していたのですが、まだ終わってないので後ほど。。 github.com 今回は、タスクのstartとbuildに同じ変数をwebpackへ渡すために共通化した…

次のリリースであるwebpack 4の主な変更点まとめ

移行ガイド abouthiroppy.hatenablog.jp ドワンゴのアドベントカレンダーの17日が空いているので本来その予定で書かれた記事ではないですが、そこに埋めます。 2日連続になってしまった。。 qiita.com Happy Xmas, Noders! #Nodejs pic.twitter.com/Rsxr8Sbe…

botたちの家を作っている

今日が入社日です。 abouthiroppy.hatenablog.jp この記事は第2のドワンゴ Advent Calendar 2017の18日目です。 これはなに? 目的 現在の進捗 今後やりたいこと 機能面 コード面 仕組み 今現在、子供botができること 技術スタック DB docker-compose node-s…

登壇する時に使っているスライド発表ツールの紹介

一ヶ月前に勉強会で話してきました。 hiroppy.github.io 2017年の2月から運用しています。 リポジトリ 目的 ツール・フレームワーク JavaScript CSS ビルドフロー webpack slideを取得する 取得したHTMLをReactへ プロダクション Service Worker imagemin Dy…

Object.freeze / Object.seal の糖衣構文

もともとの発端はここから。 Fishrock123/proposal-const-function-arguments: A proposal to introduce constant function argument references.: https://t.co/rMvEtdYrrg— hiroppy (@about_hiroppy) 2017年11月26日 明示的にconstかどうかを示すプロポー…

Node.jsのドキュメント管理について

じいちゃんが米寿なため、実家で書いています。 あと家族増えてました‍‍‍ 左の4ヶ月の子。 家帰ったら家族が増えてました pic.twitter.com/4rmjpCNf4J— hiroppy (@about_hiroppy) 2017年11月19日 先日、こちらのOSSドキュメント勉強会で話しました。 kbkz.co…

Node.jsのパフォーマンスチューニングのtips

--inspect, --inspect-brk --trace-opt, --trace-deopt --prof --trace-events-enabled --trace-gc node-report Performance Timing API 優しいコードの書き方へ v8::SnapshotCreator さいごに Node9が10/31に出ました Node v9.0.0 (Current) | Node.js 今回…

AyoでWorkerの実装が進んでいる

Chrome Dev Summitのため、サンフランシスコで書いています。 Ayo側 Node側 Workerとは? メソッド・変数 isMainThread postMessage(value[, transferList]) threadId workerData クラス MessageChannel MessagePort postMessage(value[, transferList]) Wor…

JavaScriptの現状と将来というタイトルで発表してきた

the present and future of JavaScript 情報処理学会の若手の会で発表してきました。 三回目の参加で、二回連続30minのセッションをさせて頂きました。 前回は3年前に発表してその頃はまだ学生でした‍ 実はこの週、スライドにも書いてある通りバンクーバでNo…

Pipeline Operatorがstage-1へ

github.com 先月のTC39のMTGでstage-1になりました。 F#, OCaml, Elixir, Elm, Julia, Hack, LiveScriptなどと似たような機能を提供します。 function doubleSay (str) { return str + ", " + str; } function capitalize (str) { return str[0].toUpperCase…

次のリリースであるBabel7の主な変更点まとめ

Babel7の主な変更点まとめ。(随時更新) また各stageプラグインの変更のまとめとBabel内で現在進行中のspecの作業も。

PWAの実装をしてみた

一年以上前の記事なので、コードが古いです。気をつけて読んでください。 PWAとは? 目的 技術スタック Service Worker PWAのview App Shell Content キャッシュ戦略 読み込みフロー Web App Manifest デザイン FirefoxとChromeしかService Workerないけどど…

Node.js FoundationとNode.jsについて

Node.js Foundation 相関図 委員会 TSC(Technical Steering Comittee) CTC(Core Technical Committee) Core Working Groups CommComm(Community Committee) Working Groups Teams 会議 カレンダー CoreのMTGノート 各MTGの動画リスト Summit Node LTS(Long T…

react-router, redux-sagaのテストの書き方

以下のリポジトリを参考にしてください github.com 記事が長くなってしまうので、プロダクションのコードは折りたたみしておきます。 使用ライブラリ Jest Enzyme jest-serializer-enzyme(enzymeでsnapshotとるため) redux-mock-store redux-saga-test-plan …

util.callbackify()というのがそろそろNodeへ入りそう

github.com util.promisify() に関連して提案されました。 abouthiroppy.hatenablog.jp github.com 名前の通り、非同期関数をコールバック関数に変換する関数です。 つまり、util.promisify()の反対版です。 const util = require('util'); async function f…

babelへOptional Chainingが追加される

Optional Chaining github.com // before const fooInput = myForm.querySelector('input[name=foo]'); const fooValue = fooInput ? fooInput.value : undefined; // after const fooValue = myForm.querySelector('input[name=foo]')?.value; const obj = …

Node8の注目的変更まとめ

そろそろNodeのv8.0.0が出ます。 github.com 注目するべき変更 Node8のリリースが4月から今回に変わった影響として、V8のバージョンをv5.8へ上げるためというのがあります。 何故かと言うと、TurboFanとIgnitionがv5.8で試験的に入り、v5.9でデフォルトにな…

Nodeへutil.promisify()の追加

add util.promisify()がそろそろ入りそう(承認の既定値越した) https://t.co/AdSMtzTgS6— hiroppysoliste (@about_hiroppy) 2017年4月27日 ということで久しぶりに記事を書くことにした。 4/24のNode学園でも少し話したが、自分がとても注目している追加です…

bespokeを使ってスライドを作る環境を構築した

今朝からなんとなく自分用のスライド作成環境がほしくなってしまい作成しました。 再来週にLTがあるためそれの準備です。 最近のスライド作るフレームワークは何があるのかわからないのとbespokeで満足しているので今回はbespokeで作ることにしました。 また…

webpack2へ移行する軽いメモ

webpack2への移行記事