タグ

ブックマーク / yosuke-furukawa.hatenablog.com (16)

  • Node.js にプロセスレベルの Permission が入りそうな話 - from scratch

    Node.js の Permission についての解説を行います。 Node.js に Permission 機能が入りそう。 すでに PR が出されており、 land も間近です。おそらく次かその次くらいのリリースで入ることになるでしょう。 github.com おそらく初期リリースでは experimental flag を付けた上で、 fs, child_process, worker のパーミッションを許可するかどうかに留まり、 net, env などのパーミッションは今後になるでしょう。 以下の方法で利用します。 // filesystemの読み書きを許可する $ node --experimental-permission --allow-fs foo.mjs --allow-fs ファイルシステムの読み書きを行えるようにする --allow-fs-read= に記載のファイ

    Node.js にプロセスレベルの Permission が入りそうな話 - from scratch
    kadoppe
    kadoppe 2023/03/27
  • Node.js や deno に Web Standard な API をなんでも取り入れるのが良いことなのかについて - from scratch

    この記事は Node.js Advent Calendar の 11 日目の記事です。 qiita.com Web API と Node.js ES2015 以前の Node.js は Web Standard な API の中で足りないものを自分で補う形で進化を続けてきた。 Callback や Event 主体での非同期処理や Common JS な形でロードできる独自のモジュールの仕組みがその筆頭だと思う。ただ逆に Web Standard な API が流行ると今度はそれに追従していかないといけなくなってきた。 ES2015 以後に流行ったものといえば、 Promise 主体での非同期処理であり、 async-await での処理だと思う。また、 ES Modules の台頭もあり、今日では Node.js でも普通に呼び出すことが可能になった。 今ではどちらも Node.js で

    Node.js や deno に Web Standard な API をなんでも取り入れるのが良いことなのかについて - from scratch
    kadoppe
    kadoppe 2022/08/14
  • Node.js Performance 改善ガイド - from scratch

    Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに

    Node.js Performance 改善ガイド - from scratch
    kadoppe
    kadoppe 2020/03/27
  • Node.js における設計ミス By Ryan Dahl - from scratch

    Ryan Dahl は Node.js の original author ですが、彼の作ったプロダクト deno に関するトークが jsconf.eu 2018 でありました。 Node.js にずっと関わってきた僕が見て非常に興奮するような話だったので、しばらくぶりにブログに書き起こすことにしました。 背景 Ryan Dahl は2009年に Node.js の話を初めて公の場に公開しました。その時の「公の場」というのが「jsconf.eu 2009」です。 www.youtube.com Video: Node.js by Ryan Dahl - JSConf.eu - 2009 この発表から Node.js が広まり、今やサーバのみならず、IoTデバイス、デスクトップアプリなど、様々なところで動作しています。 で、今回はその発表から9年の歳月が経過し、Node.jsに対しての設計不

    Node.js における設計ミス By Ryan Dahl - from scratch
    kadoppe
    kadoppe 2018/06/08
  • Node.js で発生した Hash flooding DoS とその内容について - from scratch

    Node.js のセキュリティアップデート 7/11 に Node.js のセキュリティアップデートがリリースされました。 Security updates for all active release lines, July 2017 | Node.js これには複数の脆弱性が報告されており、今回はそのうちの1つの Hash flooding DoS という脆弱性が何なのか、それに対して採用された対策が何なのかについてお話します。 Hash flooding DoS (hashdos) Denial Of Service 、つまりサービス拒否攻撃の一種です。 JavaScript のオブジェクトは内部的にハッシュテーブルとして表現されています。 図はこちらから引用 ハッシュ関数は同じkeyなら同じ値を返しますが、別なkeyなら通常は別な値になります。 ハッシュテーブルのinsert, g

    Node.js で発生した Hash flooding DoS とその内容について - from scratch
    kadoppe
    kadoppe 2017/07/15
  • Node.js v6.0 (Current) がリリースされました。 - from scratch

    さて、とうとう皆さん待望の Node.js v6.0 がリリースされました!次のLTS候補です。LTSになるのは2016年の10月からの予定です。v6 の LTS 期間は明示化されてないですが、ルールに照らし合わせれば、LTSになってから 2年半がサポート期間なので、おそらく 2019年4月まではサポートされます。 Node v6.0.0 (Current) | Node.js Node.js v6.0 の主な変更点 ES2015 support の改善 module load性能の改善 Buffer API の new Buffer() コンストラクタの廃止 (セキュリティ上の理由から) ES2015 support の改善 やっぱりこれが一番大きな変化ですね。 node.green を見てもらえればわかるかもしれませんが、 ES2015 のサポートがこれまでは 58% だったのが 96

    Node.js v6.0 (Current) がリリースされました。 - from scratch
    kadoppe
    kadoppe 2016/04/27
  • YAPC::Asia 2015 で Node.js のこれからの話をします。 #yapcasia - from scratch

    さてさて、当にNode.js と io.js の話も大詰めになってきました。 今年は io.js オジサンとしてそれこそサンフランシスコに行ったり、発表や講演も多数行ってきました。 io.jsの中の人になれたり、Evangelistとして認定されたりしました。 io.jsというプロダクトはあと一ヶ月か二ヶ月程で終わりを迎えるでしょう。既にリポジトリはio.jsではなく、Node.jsに変わりました。 これからは io.js が新しいNode.jsとして動いていきます。 www.publickey1.jp publickeyにも書いてあるとおりです、日付が9月になるかどうかはまだ実は不透明ですが、この位のスケジュール感で今動いています。 この io.js の活動の始まりと終わり、whyを理解してもらいたいと思うし、 OSSのケーススタディとしても面白い話になるかなと思っています。 あと願わ

    YAPC::Asia 2015 で Node.js のこれからの話をします。 #yapcasia - from scratch
    kadoppe
    kadoppe 2015/09/23
  • YAPC::ASIA 2015で「どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか?」というタイトルで発表してきた。 - from scratch

    YAPC::ASIA 2015 でスピーカーとして参加してきました。 2014年に一度スポンサーセッションでトークしましたが、2015年はCFPを出しつつスピーカーとして参加してきました。自分がNode学園のオーガナイザーになってみてわかりますが、YAPCの規模で毎年カンファレンスを続けるのは当にすごい。スタッフ含めておもてなしと手際の良さが表れていて、素晴らしかった。 あと発表者としては、今回のYAPCの参加者はかなり積極的に質問してきていて、いつもよりも参加してる人達の"質問してやろう"っていう意向が強くて活発な議論ができたかと思います。すごく良かったです。 発表内容 発表の内容は Node.js の歴史と今のNode.jsの開発体制の話、さらに今後のNode v4.0 の話を中心的に話してきました。 Node.js は Ryan Dahl によるBDFL(優しい終身の独裁者)の開発

    YAPC::ASIA 2015で「どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか?」というタイトルで発表してきた。 - from scratch
    kadoppe
    kadoppe 2015/09/22
  • Node.js v4.0.0 がリリースされました。 - from scratch

    NodeConfEUに行ってたりして完全にブログにするのが送れましたが、 Node.js v4.0.0 がリリースされました。 https://nodejs.org/download/release/v4.0.0/ Node v4.0.0 (Stable) | Node.js 個人的には今年ずっとNode.js と io.js をまとめてきたり、時に中の人としてpatchを送ったりしてきたので当に思い入れの深いリリースです。今までで一番リリースの思い入れが深いですね。 何が変わったのか 何回かこのブログで触れてますが、一番変わったのは開発体制と開発方法です。YAPCの発表でも触れましたが、BDFL (優しい終身の独裁者)モデルではなくなり、技術委員会によってけん引するモデルに変わりました。 体制が整った事で、今までよりかなりちゃんとPRはレビューされるようになりましたし、テストも不安定な

    Node.js v4.0.0 がリリースされました。 - from scratch
  • io.js の v2.0 が出ました。 - from scratch

    さてさて、久しぶりのio.js エントリですが、この度 io.js の v2.0 が出ました。 変更点をかいつまんで説明しましょう。書いてたら長くなってしまったので、サマリだけでいい人は最後のまとめを読むだけでいいと思います。 io.js は変化がものすごく激しく、v1.0 から v2.0 が入るまでに色んな機能が入っているんですが、知らない人も多いかと思います。 今回は v2.0 の単なる変更点だけじゃなくて、 v1.0 から今までで入った機能をサマリつつ伝えていこうかと思います。 Stream Simpler Construction (v1.2.0〜) Stream の作成が簡単になりました。今までStreamを作るためには、目的のStreamを継承して、TransformStreamであれば _transform のようなメソッドを拡張して実現する必要がありました。 これをより簡単

    io.js の v2.0 が出ました。 - from scratch
    kadoppe
    kadoppe 2015/05/07
  • ES6 を学べる tower-of-babel を作りました。 (workshopper の作り方) - from scratch

    さて、NodeSchool が開校された時に、ES6を学べるチュートリアル的なものがほしいと思い、tower-of-babelという名前のチュートリアルツールを作成しました。 github.com このツールはnpm/node.jsを使って作っています。実際に動かすときはnpmがあれば動きます。 npmのインストールは他の記事を参考にしてください。npmが入っていれば、以下のようにすれば実行可能です。 $ npm install tower-of-babel -g $ tower-of-babelそうすると下記のようなダイアログが起動するのでエクササイズを選択して各種問題を解いてください。 全ての問題を解き終わった頃にはなんとなく ES6 の構文が使いたくなってくるはずです。 なにか問題があれば気軽に tower-of-babel のリポジトリに連絡をください。 github.com 以下

    ES6 を学べる tower-of-babel を作りました。 (workshopper の作り方) - from scratch
    kadoppe
    kadoppe 2015/04/26
  • io.js と Node.js の和解への道 - from scratch

    io.jsがリリースされてから早二ヶ月が経過しました。 io.js Evangelistの一人になりました。 @yosuke_furukawa です。 Node.js側との和解の状況へある程度話が進んできたようなので、ここらへんで一回振り返りましょう。 また、io.jsの最新情報は io.jsブログ にもまとまっております。そちらもご一読ください。よろしくお願いいたします。 io.js リリースからここまでの話 リリースから少しして、結局どうなっているかわからない人達もいると思います。一旦復習を兼ねてリリースから今まで何が起きているのかを解説します。 Node Foundation が設立 io.js がリリースされた後にちょうど NodeSummit と呼ばれる大きめのNode.jsカンファレンスがありました。 このカンファレンスでは、 Joyent の CEO である Scott Ha

    io.js と Node.js の和解への道 - from scratch
    kadoppe
    kadoppe 2015/04/01
  • Yet Another JSONなJSON5の紹介とそれのjsxバインドを作ったこと - from scratch

    さて、JSON5についての紹介です、みんなjsonを使って色んなリソースを表現すると思いますが、jsonって色々と不便ですよね。 よく挙げられるjsonの不満: ケツカンマが使えない コメントが入れられない keyに必ずquoteが必要 などなど。 この手の話はよくあるんですが、これは仕様で決まってしまっていることなのでどうしようもないです。 この手の話が出る度に色んな解決策があります。jsonじゃなくてyaml使おうとか、csonいいよ、とか、jsonでparseできなかったらevalしてjavascriptオブジェクトにしちゃおうとか。 んで、もう一つの解決策として、JSON5っていうYet AnotherなJSON形式があるわけです。 これ使うと普通のJSONはJSONとしても読み込めるし、上にある、コメントやケツカンマ、ダブルクオートの問題も解決されます。どうしてもコメント入れたい

    Yet Another JSONなJSON5の紹介とそれのjsxバインドを作ったこと - from scratch
  • Node.jsのコミュニティに変化を与えるnode-forwardについて - from scratch

    ちょっとここ最近node.jsを騒がせてるnode-forwardについてまとめました。 node-forwardとは Node.jsを専門とするTechnical Committee(技術委員会)です。 nodeforward.org というサイトができており、簡単にそこに書かれている事を翻訳しておきました。 [翻訳] nodeforward.org Node Forwardとはオープンなコラボレーションを通してNode, JavaScript, それらのエコシステムを改善するために努力をするコミュニティです。 Nodeは驚くべき速さで成長しています。この成長はコミュニティが一定以上の規模になるまでに起きたいくつかの問題を先頭を切って解決してきました。 いくつかの問題は単純にアサインされるようなものだけじゃなく、リーダーシップとコントリビューターの自主性を要求するような問題でした。一方で

    Node.jsのコミュニティに変化を与えるnode-forwardについて - from scratch
  • Bower入門(基礎編) - from scratch

    Bower入門 これから Bower について書いてきます。Bowerの使い方から実際に使う上で考慮することまで含めて書きます。 長くなりそうなので単に使うだけの基礎編とモジュールを作る上で気をつけることをまとめた応用編に分けて書きます。 Bower とは Twitter社が作ったフロントエンド用のパッケージマネージャです。 Java で言う Maven、 Ruby で言う gemPerl で言う cpan のようなものです。 Node.jsには npm と呼ばれるパッケージマネージャがありますが、それに強く影響を受けています。 パッケージマネージャを利用することでライブラリを自分で管理する必要がなくなり、管理するファイルの数を減らすことができます。 また、パッケージマネージャを利用することでライブラリのバージョン管理をしやすくなります。 さらに自分のライブラリを Bower comp

    Bower入門(基礎編) - from scratch
  • Yeoman入門(第一部、yoを使う) - from scratch

    ※ 追記: id:TokyoIncidents さん"補足"の誤字修正しました、ありがとうございます!! これからYeomanに関して説明していきます。 Yeoman自体が何者なのかよくわかっていない人も多いと思います。また、ある程度Yeomanの概要は知っているので、generatorの作り方が知りたい、という方もいると思います。今回は三部構成で、yeomanを使う話、yeomanのgeneratorを作る話、最後にyeomanのAPIに関して説明していきます。今回は第一部のyeomanを使う話について説明します。 Yeomanとは Google社が作成した総合開発ツール群です、「ヨーマン」と呼びます。公式サイトには MODERN WORKFLOWS FOR MODERN WEBAPPS (モダンWEBアプリケーションのためのモダンワークフロー) と記述されています。 Yeomanを使う

    Yeoman入門(第一部、yoを使う) - from scratch
  • 1