Unhandled Rejection の考え方

はじめに twitter 上で議論になっていたネタを本人の許可を得て記載しています。 Node.js でだけ発生する非同期関連の謎現象を発見した複数回連続で、非同期処理を挟んだ関数から返した非同期関数を、非同期に実行すると allSettled で待ち受けされずにその…

2021年振り返り

はじめに 今年も書きました。毎年書くことで去年との差分を知れるので、良いですね。来年もちゃんと書きます。 yosuke-furukawa.hatenablog.com 会社 去年は "マネジメントとシニアソフトウェアエンジニア" で4年目になったんですが、今年はそれに経営的なロ…

実力なのか運なのか

最近 SNS を見ていて、「人に努力をしろ」と勧めにくくなった、「もっと努力した自分を称えるべきでは」といった内容の投稿を見かけました。 この他にも「運も実力の内」、と言ったり、「運は実力によってカバーできる」といった言説があります。 いくつか本…

この一年やったこと、継続していること (Rust とか 英語とか)

前回エントリを踏襲し、さらに一年間どんな事をやったか、という話を書こうかなと。 yosuke-furukawa.hatenablog.com 一年間やったことを振り返ると、英語と競技プログラミング、その過程で Rust をやっていました。 競技プログラミング系 LeetCode この一年…

Advent Of Code 2021 完答した

Advent Of Code 2021 に参加して、今年も毎日コード書ききりました。。。大変だった。。。 今年も楽しかった。一個だけできなかったけど。。。I just completed all 25 days of Advent of Code 2021! https://t.co/L3evwKeuG2 #AdventOfCode— Yosuke Furukaw…

Node.js の assert の小話

Node.js Advent Calendar の4日目の記事 です。 Node.js の assert は結構歴史が深いです。あまり直接使ってる人は少ないかもしれません。使うとしたら test で使ったりするケースでしょうか。 それも最近は jest に生えてる便利ライブラリを使うほうが多い…

Node.js コアモジュールの import/require には `node` schemeがつけられる

Node.js アドベントカレンダーの 3 日目の記事です。空きを埋める形で始めました。 qiita.com www.codegrid.net CodeGrid でも書かせていただきましたが、 Node.js で ES Module / CommonJS を使ってコアライブラリのロードをする際、 node から始まる schem…

例外を初めて実装した言語

リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味…

Node.js や deno に Web Standard な API をなんでも取り入れるのが良いことなのかについて

この記事は Node.js Advent Calendar の 11 日目の記事です。 qiita.com Web API と Node.js ES2015 以前の Node.js は Web Standard な API の中で足りないものを自分で補う形で進化を続けてきた。 Callback や Event 主体での非同期処理や Common JS な形…

2020年振り返り

はじめに yosuke-furukawa.hatenablog.com 今年もちゃんと書きました。 マネジメントとシニアソフトウェアエンジニア 二足のわらじで4年目になりましたね。去年も書いたんですが、メンバーが優秀であるがゆえに二足のわらじができていると思っていて、それを…

Advent of Code 2020 完答した。

memo.sugyan.com leetcode も Tシャツとキーホルダーがもらえるポイントまで到達した。Advent of Code 2020 も終わった。大変だった。 pic.twitter.com/FLX7Eno50I— Yosuke Furukawa (@yosuke_furukawa) December 25, 2020 すぎゃーんの宣伝によって参加した…

Node.js で最近変わりそうな Permission Policy について

さてさて、 25日目の Node.js アドベントカレンダーです。もう年の瀬ですね。振り返りシーズンなんで色々書きたかったんですが、ネタを見つけているうちにこの日になってしまいました。 Permission Policy とは Node.js に新しく Permission を提供しようと…

この半年やったこと、継続していること

syohex.hatenablog.com studio3104.hatenablog.com あまりにも同じことをしていたので「せっかくなので」と思って筆を執ることにする。 @syohex さん も @studio3104 さん も僕もだいたい同年代の人たちが同年代の sugyan や色々な方の影響を受けて同じこと…

assert.CallTracker と must-call

この記事はリクルートエンジニアアドベントカレンダーの2日目の記事です。過ぎてるかもしれませんが、メンバーから脅迫されて書いてます。 assert.CallTracker Node.js で experimental な API として assert.CallTracker がv14 で追加されました。 この機能…

【翻訳】Date and Times in JavaScript

この記事は littledan から依頼を受けて、翻訳しています。広く Date and Times の JS プロポーザルについて意見がほしいとのことです。 意見は以下の場所にポストできます。 docs.google.com 原文: blogs.igalia.com tl;dr: Temporal のプロポーザルについ…

web.dev live 2020 を聴講した

今年はコロナの影響でいろんなイベントがオンラインになったり、中止になったりしてますが、 web.dev live 2020 が7月初頭にやっていたので、聴講してきました。 web.dev その中でも面白かったものについていくつか紹介します。 Day 1 ほぼ Core Web Vitals …

2020年の JSConf.jp は中止にします

表題の通り、 2020年の JSConf.jp は中止にします。2021年の開催を目指します。TC39とのコラボレーションとかも検討していたのですが、楽しみにしていた方々、大変申し訳ございません。いろいろな葛藤はありましたが、 JSConf.jp の前身になった Node 学園祭…

2019年振り返り

はじめに なんかよく見たら 2年前の自分がちゃんと書いてるくせに 1年前の自分は書いてなくて、進化してるのか退化してるのかわからなかったので、今年からはちゃんと書こうと思いました。 yosuke-furukawa.hatenablog.com 会社 マネジメント マネージャーも…

実践 Off the main thread

実践 Off the main thread 実際に Off the main thread をやりつつ、パフォーマンスチューニングをする際にどこに気をつけるべきかを今やっているので、それについて話します。 Off the main thread とは JavaScript の処理は基本的にメインスレッドで実施し…

2020年の Node.js, 2025年の Node.js (Web Standard編)

この記事は Node.js Advent Calendar の 25 日目の記事です。 qiita.com Node.js の 2020 年はどうなるのか 2025 年にはどうなっているのかを予想していこうと思います。 ちなみに、あくまで筆者の予想にすぎないです。こうなるという与太話みたいなものだと…

Universal Data Fetch ライブラリ、 Specter の紹介

この記事は Recruit Engineers Advent Calendar 2019 の 16日目の記事です。 adventar.org 最近僕が作っている OSS である Specter の話をします。 github.com Specter とは Client から Backend と BFF から Backend への Universal なデータフェッチを提供…

Dual Package Hazard

この記事は Node.js Advent Calendar 2019 の 11 日目の記事です。 qiita.com 今回は全 Node.js で ES Modules を利用するユーザーが知っておくべき Dual Package Hazard について紹介します。 ESModules がフラグ無しでサポートに。 これまでは ES Modules …

JSConf.JP を開催しました。 / We have held JSConf.JP !

Acknowledgement JSConf Japan Photo 色々と終わって来たので鉄は熱い内にと思ってブログを書いてます。ホント大変なこともたくさんありましたが、やりきれて本当によかったです。 We have done the rest of tasks, so I am writing a blog. I had lots of t…

ISUCON 9 予選に isucon_friends として参加し、予選総合3位でした。

久しぶりの本戦出場 ISUCON3 以来なので 6 大会ぶりですね。。。思えばずっと予選で負け続けてきたものです。 yosuke-furukawa.hatenablog.com 結果どうだったか 予選3位通過でした(棄権含む)。最終スコアは 27,470 ですね。 isucon.net 1位 nil 1 [1] 52,44…

JavaScript Registryの今後

さて、前回は tink と yarn v2 における CLI 戦略の話でした。次は JavaScript Registry についてです。 ちなみにこの内容が今回 JSConf.EU 2019 で一番盛り上がったトピックです。 JavaScript Registry とは JavaScript Package をバックエンドで管理してい…

npm, yarn による zero install 戦略

jsconf.eu 2019 に行ってきました。 特に npm や yarn の今後の話とそもそも Registry をどうしていくか、の話があったのでお知らせします。 そもそも Registry をどうしていくかについては次のエントリで話します。 tink: A Next Generation Package Manage…

JavaScript が読み込まれる前でもWeb Applicationを動かす

今回は最近取り組んでいる、 JavaScript が読み込まれる前であっても「ちゃんと」 Web Application が動作するように作る話をします。 Server Side Rendering における注意点と対策 BFFを使ってServer Side Rendering をすることに数年前から取り組んでいま…

再入可能なロックの話

先週、@t_wadaさんと@yosuke_furukawaさんと議論した再入可能性に関する私の経験について書きました | ロック(ミューテックス)の再入可能性 https://t.co/j3xeOUxaWt— Yoshiki Shibata/柴田芳樹 (@yoshiki_shibata) October 22, 2018 突然のロックの話 い…

Yearly Node.js 2018

Node.js 2018 まとめ この記事は HTML5j カンファレンスで発表した、 Node.js 2018 のまとめの話をブログに起こしたものです。 speakerdeck.com ちょっとずるいですが、この記事一つで Node.js アドベントカレンダーと JavaScript アドベントカレンダーの25…

Chrome Dev Summitに参加しました!

Chrome Dev Summit に初参加しました!色々トピックとして気になったものを紹介してます。後直接 Addy Osmani とか Paul Irish とかに聞く機会があったので、色々ついでに聞いてきました。 Chrome DevRel teams create a Chrome cake #ChromeDevSummit [pic.…