ブックマーク / zenn.dev/sosukesuzuki (12)

  • 最近は意図的にGitHub Copilotを無効にすることがある

    別にみんなそうするべきとは全く思わないのだけど、僕は最近GitHub Copilotを意図的に無効にすることがあるので、そのへんについて雑に書いておく。 あらかじめ言っておくが、僕はGitHub Copilotを有効にすることもある。この記事もGitHub Copilotおよびそのユーザーを批判する意図は全くない。 GitHub Copilot が便利な場面 僕がGitHub Copilotを使い始めて少なくとも一年以上は経ってる。自分が書こうと思っているコードに近いものが簡単に生成されていくことに最初は感動したし、便利な場面がはたくさんある。 具体的に便利な場面を思い返してみる。 僕は仕事ではNext.jsフロントエンドを書いたり、NestJSでバックエンドを書いたりしているのだが、その用途では便利だった。僕は自分が関わっているプロジェクトReactやNode.jsの書き方はある程度

    最近は意図的にGitHub Copilotを無効にすることがある
    toshikish
    toshikish 2024/05/27
  • TSKaigi 2024 Prettierの未来を考える スピーカーノート

    TSKaigi 2024 で話した「Prettier の未来を考える」という発表のスピーカーノートです。スライドは こんにちは、今日は「Prettierの未来を考える」というタイトルでお話させていただきたいと思います。 鈴木 颯介と言います。ユビー株式会社でプロダクト開発エンジニアとして働きながら、筑波大学でパソコンの勉強をしています。オープンソースソフトウェアが好きで、今日お話するPrettierのメンテナーをしたり、トランスパイラのBabelのコミッターをしたりしています。最近はWebKitのJSエンジンにたくさんパッチを投げたりしています。 私が働いているユビーは、TSKaigiのGold Sponsorをさせてもらっています。ブースがあります。ユビーのグッズの他に、Prettierのステッカーも配布しておりますので、興味がある方はぜひお立ち寄りください。 まず、Prettierにつ

    TSKaigi 2024 Prettierの未来を考える スピーカーノート
    toshikish
    toshikish 2024/05/12
  • 2023 年の Prettier 振り返り

    2023 年の Prettier の活動を振り返ります。 Prettier とは Prettier は JavaScript で書かれたコードフォーマッタです。設定可能な項目が少ないいわゆる opinionated なコードフォーマッタです。JavaScriptTypeScript だけではなく、HTMLCSSGraphQL などもサポートしています。 リリース 2023 年は、メジャーバージョンのリリースが 1 回、マイナーバージョンのリリースが 1 回でした。これまでは 3 ヶ月に 1 回程度マイナーバージョンをリリースしていたので、頻度は少し下がっています。 ですが、メジャーバージョンである 3.0 をリリースできたことと、これまでよりもカジュアルにパッチバージョンをリリースするようになったことを考えると、開発自体が停滞しているわけではないと思っています。 「カジュアル

    2023 年の Prettier 振り返り
    toshikish
    toshikish 2023/12/27
  • 【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました

    この記事は vjeux 氏によって Prettier 公式ブログに投稿された「$20k Bounty was Claimed!」を許可をもらって翻訳したものです。 もとのタイトルを翻訳するのが難しかったので、できるだけわかりやすいものに翻訳しました。 PrettierというJavaScriptのコードフォーマッターは、人々がコードを書く様々な方法を慎重に扱うことで、驚くほど広く採用されています。この時点で、フォーマットロジックは安定しており、私たちの三項演算子に関する作業が完了すれば、それは満足のいく状態になるでしょう。 これは、次の重要な側面に注目できるということを意味します:パフォーマンス。Prettierは決して速いとは言えませんが、ほとんどの使用例には十分な速さです。これはいつも不満足な感じがしたので、何かをすることを望んでいました。それには、友好的な競争以上の方法はありません。

    【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました
    toshikish
    toshikish 2023/11/28
  • JSConf JP 2023「書いたJavaScriptがそのままブラウザで動く未来へ」スピーカーノート

    この記事は、JSConf JP 2023 で発表した「書いたJavaScriptがそのままブラウザで動く未来へ」のスピーカーノートです。もともと PDF を公開していたのですが、読みにくいという声をいただいたので移植しました。内容はそのままで、見出しだけ付けています。 はじまり こんにちは、今日は「書いたJavaScriptがそのままブラウザで動く未来へ」というタイトルで発表をします。「いやいや、JavaScriptはブラウザで普通に動くだろう」と思われる方もいらっしゃるかもしれませんが、話を聞いてもらえれば何を言っているのかわかると思います。 JSConf JPで登壇させていただくのは今回で3度目なのですが、オフラインのカンファレンスで話すのは今回がはじめてなので少々緊張しています。 最初に軽く自己紹介をします。鈴木 颯介と言います。大体のところで Sosuke Suzuki という名前

    JSConf JP 2023「書いたJavaScriptがそのままブラウザで動く未来へ」スピーカーノート
    toshikish
    toshikish 2023/11/21
  • 「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ

    最近「おれってガベージコレクションを勉強するにあたってめちゃくちゃ恵まれた環境にあるのでは?」とふと思い立ち、ベージコレクションの勉強を始めました。 ガベージコレクションの勉強を始めるにあたって、とりあえず「The Garbage Collection Handbook (first edition)」の邦訳である「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読むことにしました。 この記事では、読み終わってうれしいので、雑に感想を書きなぐっています。表記が「GC」だったり「ガベージコレクション」だったりするのは雑に書いたからです。 前提知識 ガベージコレクションの事前知識はほとんど不要で、何をしてくれるものか大まかにわかっていれば良い程度だと思います。つまり、ヒープに確保した領域を明示的に解放しなくても、何かのアルゴリズムでいい感じにやってくれる仕組み、ということを知って

    「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ
    toshikish
    toshikish 2023/08/28
  • PrettierのNode.jsサポートポリシーを決めたので紹介します

    PrettierというソフトウェアはNode.jsで動作します。他のNode.jsで動作するソフトウェアと同様に、Prettierも、サポート対象のNode.jsのバージョンを決めています。 たとえば、Prettier v2.x は Node.js 10.13.0 以降のみで動作します。それより前の Node.js でももしかしたら動くかもしれませんが、それは想定されていません。CIでもテストしてません。 現在 Prettier v3.0 の開発を進めていて、どの Node.js までサポートしようか、という議論になりました。結論が出て、今後同じような議論を避けるためにポリシーを決めたので、理由と共に紹介しようと思います。 先に結論 https://github.com/prettier/prettier/wiki/The-policy-to-drop-Node.js-version に書

    PrettierのNode.jsサポートポリシーを決めたので紹介します
    toshikish
    toshikish 2023/07/02
  • コンストラクタの外からresolve/rejectを呼ぶPromsieテク

    Promsie を作って返す関数で、Promise コンストラクタの引数のコールバックではないところで resolve とか reject とかしたいことがある。 こんな感じで、外部に変数を作って普通に代入して外から resolve/reject を呼べるテクがある。 function registerSomething() { let resolve, reject; const promise = new Promise((res, rej) => { resolve = res; reject = rej; }); something.registerSomething((error, info) => { if (error) reject(error); resolve(info); }) return promise; } まあ実際には、上記コードくらいだったら普通にコンストラ

    コンストラクタの外からresolve/rejectを呼ぶPromsieテク
    toshikish
    toshikish 2023/06/04
  • ブラウザからもNode.jsからも import できるWebAssemblyライブラリを作る

    WebAssembly というやつは便利で一度コンパイルしてしまえばブラウザでも Node.js でも実行できる。 でも .wasm のファイルをどうやって読み込むのか、というのがブラウザと Node.js では違う。 色々やり方はあると思うけど、一番素直なやり方を考えてみる。 まずブラウザの場合は main.wasm みたいなファイルを適当な場所に配置しておいて fetch で内容を取得して WebAssembly.instantiate にわせるとかになると思う。 const response = await fetch("main.wasm"); const buf = await response.arrayBuffer(); const { instance } = await WebAssembly.instantiate(buf);

    ブラウザからもNode.jsからも import できるWebAssemblyライブラリを作る
    toshikish
    toshikish 2022/09/11
  • Deno でコマンドラインツールを雑に作ったので感想

    趣味で TC39 のアクティビティを追ったり https://cybozu.github.io/frontend-expert/ にそういう記事を書いたりすることがあるのですが、その作業をする中でややめんどい手作業みたいなのがあったりします。 そういうのを自動化するコマンドラインツールを作ろうと思って、最初いつもどおり Node.js で作り始めました。30分くらいしていつもどおり Node.js じゃつまらないなと思ったので Deno で作ってみました。 実は Deno を使ったのは初めてだったので感想を書いてみます。哲学とかは置いといて単純にユーザーとしての利便性について。 deno lintdeno fmt が便利 自分は ESLint と Prettier に精通している方だけどとは言えそういう設定なしにシュッと動くのはかなり楽。速いし。 標準ライブラリが便利 Node.js

    Deno でコマンドラインツールを雑に作ったので感想
    toshikish
    toshikish 2022/07/07
  • Prettier 2.7 にキャッシュを実装した

    Prettier 2.7 がリリースされました。 このバージョンには TypeScript 4.7 の対応のほかに、新しい CLI オプションである --cache と --cache-strategy が含まれています。 --cache と --cache-strategy を実装したのは自分なので、その背景や実装、そして使い方の話を雑にしようと思います。 背景 Rome Formatter のブログが公開されて日の開発者からもそれなりに大きな反響がありました。 私個人としてはコードフォーマッターにそこまでの速さを求めていないのであんまり興味はなかった(もちろん速いほうがいいけど)のですが、みなさん意外と興味あるんだなあという気持ちで眺めていました。 それからしばらくして Prettier の https://github.com/prettier/prettier/issues/58

    Prettier 2.7 にキャッシュを実装した
    toshikish
    toshikish 2022/06/15
  • Next.js で Node.js の API がいつ入ったのかわかる表を作る

    Node.js の API がいつ入ったのかを調べる必要が出てきた。 もちろんリリースノートを見たり、ドキュメントの History を見れば調べられることが多いが、普通に面倒くさいので、いい感じの表とかを自動で生成できたら嬉しい。 どうやら公式ドキュメントは Markdown で管理されており、Added の情報はその Markdown の中のコメントに YAML として書かれているらしい。 なので、Markdown の内容を fetch して Markdown としてパースし、その中の特定のコメントをさらに YAML としてパースすることでデータがとれそうだった。 そして、そのデータをビルド時にひっぱってくる静的サイトがあればいつでも見れて便利だし、ビルド時にしか fetch しないので比較的行儀も良い。 ということで作ったみた。 実際のサイトはこちら https://nodejs-a

    Next.js で Node.js の API がいつ入ったのかわかる表を作る
    toshikish
    toshikish 2021/06/06
  • 1