タグ

ブックマーク / sosukesuzuki.dev (5)

  • オープンソースをメンテするときに自分が考えていること

    @azu さんのブログ記事 Maintainer Month: オープンソースをメンテナンスするコツ を読んで GitHub が Maintainer Month というイベントを主催していることを知りました。 自分は Maintainer Month の Sponsoring の対象でありませんが、自分がオープンソースのプロジェクトをメンテするときに考えていることを書き残しておこうと思います。 オープンソースガイド などにはすごいためになることが書かれていますが、積極的な内容で自分にとっては読むだけで疲れてしまうような内容でもあります。なのでこの記事ではあえて自分が普段考えていることの中でも消極的なことについて書いてみます。 オープンソースのメンテナンスに疲弊している人や、オープンソースに貢献している人、もしくは貢献しようと思っている人に「こんなゆるい気持ちでやってる人もいるんだ」と思っ

    オープンソースをメンテするときに自分が考えていること
  • JavaScript の Class Static Blocks について

    この記事では現在 Stage 3 の Class Static Blocks について解説する。 なお、まだ現時点で Stage 3 であるため実装状況や細かい仕様は今後変更される可能性がある。 概要 Class Static Blocks プロポーザルは、クラス内でスタティックなメンバにアクセスできるブロックの構文を導入する。 次のコードの static { から始まるブロックが新たに導入される構文である。このとき、スタティックブロック内のthis.fooはスタティックなメンバである。 class C { static foo; static { this.foo = "foo"; } } スタティックブロックはクラスCが評価されるタイミングで実行される即時実行関数のようなものと見ることもできる。また、クラスは複数のスタティックブロックを持つことができ、その場合は上から順に実行される。

    JavaScript の Class Static Blocks について
  • Node.js の import.meta.resolve について

    先日 import.meta について調査して人に話す機会があり HTML(Web) と Node.js の各ホストの import.meta がどのようなオブジェクトを返すのかを調査していた。そのときは、「HTML でも Node.js でも import.meta.url だけが生えていて〜〜」という話をしてしまった。 後になって知ったのだが、Node.js には import.meta.url 以外にも import.meta.resolve というプロパティが実装されている。 この記事では Node.js に実装されている import.meta.resolve について解説する。 なお、import.meta.url はまだ Stability 1 の API なので、今後仕様が変わる可能性があることに注意してほしい。 import.meta について まず import.met

    Node.js の import.meta.resolve について
  • JavaScript にイミュータブルな配列操作メソッドを導入するプロポーザルについて

    この記事では、現在 Stage 1 のプロポーザル Change Array by copy について解説する。 プロポーザルの詳細については、https://github.com/tc39/proposal-change-array-by-copy を参照してほしい。 また、ここで紹介した仕様に関しては今後更新されていく可能性がある。 概要 Change Array by copy は、簡単にいえばイミュータブルな配列操作メソッドを導入するプロポーザルである。 JavaScript の配列には多くのインスタンスメソッドがあり、それらを使って配列を操作できる。 配列のインスタンスメソッドには、ミュータブルなもの、つまりもとの配列を変更することによって配列を操作するタイプのものがいくつかある。 たとえば、Array.prototype.push や Array.prototype.pop、A

    JavaScript にイミュータブルな配列操作メソッドを導入するプロポーザルについて
  • JavaScript の Module Fragments について

    現在 TC39 の 3 月のミーティングのアジェンダが GitHub にて公開されている(Link)。 それによると、Module Frangments という新しいプロポーザルが@littledan氏によって提案される予定だ。 この記事では、現在の Module Frangments の概要とモチベーション、構文について解説する。もしさらなる詳細に興味がある場合は https://github.com/littledan/proposal-module-fragments を読んでほしい。 また、Module Fragments は現在 Stage 0 の提案であり、今後仕様が大きく変わっていくことが予想されるのでその点には注意してほしい。 概要 Module Fragments はインラインで JavaScript のモジュールを定義するための構文を導入する提案である。詳細は後述するが

    JavaScript の Module Fragments について
  • 1