from scratch

https://yosuke-furukawa.hatenablog.com/

プログラミングやMacのネタを書いていきます。

フィード

記事のアイキャッチ画像
2023年の振り返り
from scratch
今年の漢字を一字上げるとしたら、筋トレの「筋」か受験の「験」かなと思います。 基本的に娘の受験勉強を見てあげるか、筋トレするかで過ごしてきました。 というのも今年が受験最終年で、筋トレは新しく趣味として始めてみたらハマってしまったというのが理由ですね。 一年前にやり始めた分割法で一年間続けた感じになります。筋トレはプログラミングとは違いますが、集中して何かに打ち込む事という意味では非常に良い趣味だなと思ってます。健康になりますし。 ただぶっちゃけ、受験勉強教えてから諸々やったあとに筋トレに行くと大体0時を過ぎており、筋トレのし過ぎで寝不足という健康なんだか不健康なんだか分けの分からない意味不明…
5ヶ月前
記事のアイキャッチ画像
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 --e…
1年前
記事のアイキャッチ画像
2022年の振り返り
from scratch
今年は40歳になりまして、もういい加減健康とかにも気を使っていかないとなと思ったので、今年のテーマは「健康」でした。 結果として、 体重16kg落とした 筋トレ始めて4kg増えた。トレーニング器具を買った。 会社で筋トレ仲間を集めて合トレしている って感じですね。 何やったか振り返ってみます。 健康 今年の1月に体重が歴代ハイスコアを記録してしまったので、本気でやばいと思ってダイエットを始めました。 具体的には、最初にKPIを体重に設定して、BMIが22を切るようにしました。 30分間ランニングを毎日実施してたのと、食事制限、糖質を少なめにしてました。具体的には昼食以外は炭水化物・糖質は取らな…
1年前
記事のアイキャッチ画像
Node.js fetch の内部の話
from scratch
前置き この記事は リクルートエンジニアアドベントカレンダーの3日目の記事です。 Recruit Engineers Advent Calendar 2022 - Adventar ちなみにココで書いたやつを一部抜粋させていただいております(ネタ切れにより過去投稿を利用してしまっております。。。すいません。。。) www.codegrid.net fetch が Node v18 から試験的にサポートされた ブラウザでは数年前から採用されていた HTTP リクエストを行う関数の fetch が global 空間に関数として作成されました。使うだけなら特に何のフラグもいりません、その代わり使う…
1年前
記事のアイキャッチ画像
Techfeed conference 2022 で Node.js 最新動向について話した
from scratch
speakerdeck.com 表題の通り話してきました。 本当は fetch の深い話とかもしたかったんですが、一応ライトニングトークということでほとんど話せなかった。なので、来月 Node 学園やる予定で、 v18 の話とか最近話題の WinterCG の話とか話したいなーと思ってます。 一旦今は予告的な感じ。詳しくは来月。
2年前
記事のアイキャッチ画像
Node.js の原罪
from scratch
Intro ちょうどタコピーの原罪が流行ってるのでこのタイトルにしたけど結構気に入ってる。 d.potato4d.me この話を読んでの感想とここまで大きくなった Node.js の振り返りをしようと思う。 どんなプログラミング言語であってもみんなから使ってもらって開発者をハッピーにしたいと思ってる。ただ最初は良かったと思ってた機能がなんか古臭くなったり、他にクールな機能を持ったものが登場したことによって徐々に飽きられていき、最終的に他の言語に乗り換えられる。 まぁどんな言語も同じだと思う。C言語だって生まれた当初はすごくクールでみんなをハッピーにしてた。今丁度「戦うプログラマー」を読んでるが…
2年前
記事のアイキャッチ画像
Node.js / Deno の徹底討論を Node 学園で行いました。
from scratch
3/17 に徹底討論という形で denoland の 日野沢さん をお呼びして Node学園で徹底討論という形で討論しました。 いくつか面白いトピックがあり、参考になると幸いです。 少しだけ紹介します。 ESM vs CJS ESM と CJS の対応が Node.js がグダグダだと思っていると言われた点がありました。 討論内でも Twitter を見ていても、そういう意見があって、意外だなーと思いました。 もちろん現実的に ESM / CJS の移行は今はまだ過渡期です。既存のエコシステムを壊さないために CJS との相互運用性を持ち込むしかなかったという状況においては現時点の拡張子やpa…
2年前
記事のアイキャッチ画像
2月に発表したいくつかのスライド
from scratch
2月にいくつか発表したので記録として残しておく。 開発組織の持続可能性について speakerdeck.com A Philosophy of Software Design 前半 speakerdeck.com どちらも最近読んだ本をベースにしている。 読書をベースにした事で情報としての新鮮さは失われているものの、普遍的な話はできている気がしている。 毎月2-3冊を読めていることは非常に効果的だと感じるし、英語の読書を習慣づけていこうと思う。 こういうのも記録として残しておこうと思ってブログにもポストしておく。
2年前
記事のアイキャッチ画像
Unhandled Rejection の考え方
from scratch
はじめに twitter 上で議論になっていたネタを本人の許可を得て記載しています。 Node.js でだけ発生する非同期関連の謎現象を発見した🤔複数回連続で、非同期処理を挟んだ関数から返した非同期関数を、非同期に実行すると allSettled で待ち受けされずにその場で例外が発生する。これはバグなのかな...https://t.co/w5C9wKEAOA pic.twitter.com/y3pz4ajndF— shqld🦭 (@shqld) January 4, 2022 実はこの話は会社の中でも一回議論になったネタなんですよね。僕も microtask と呼ばれる Promise キュー…
2年前
記事のアイキャッチ画像
2021年振り返り
from scratch
はじめに 今年も書きました。毎年書くことで去年との差分を知れるので、良いですね。来年もちゃんと書きます。 yosuke-furukawa.hatenablog.com 会社 去年は "マネジメントとシニアソフトウェアエンジニア" で4年目になったんですが、今年はそれに経営的なロールまでついて 5 年目突入しました。 大変でしたが、やりがいがある仕事につけて楽しいです。 qiita.com この手の経営とマネジメントとシニアソフトウェアエンジニア的な話をするタイミングももらえてよかったです。 社内アドベントカレンダーもどちらも活況でした。 adventar.org qiita.com 優秀なメン…
2年前
記事のアイキャッチ画像
実力なのか運なのか
from scratch
最近 SNS を見ていて、「人に努力をしろ」と勧めにくくなった、「もっと努力した自分を称えるべきでは」といった内容の投稿を見かけました。 この他にも「運も実力の内」、と言ったり、「運は実力によってカバーできる」といった言説があります。 いくつか本を読んで自分の中で思ったことをまとめて書こうかなと思います。 イメージ 何かしら成功する際に、自分の実力と運が両方必要になるケースがあります。例えばプロのソフトウェアエンジニアになるとして、そもそも実力が足りなかったらなれませんし、一定以上の規模の会社で働こうと思った場合は面接があったりするので、面接官との相性だったり、たまたま出てきたコーディング試験…
2年前
記事のアイキャッチ画像
この一年やったこと、継続していること (Rust とか 英語とか)
from scratch
前回エントリを踏襲し、さらに一年間どんな事をやったか、という話を書こうかなと。 yosuke-furukawa.hatenablog.com 一年間やったことを振り返ると、英語と競技プログラミング、その過程で Rust をやっていました。 競技プログラミング系 LeetCode この一年間でトータルで解いた問題が806問になりました。これまで JavaScript で解いてたやつを Rust で解き直したりしてたので、解答数はそこまで増えてないのですが、 Rust の勉強と割り切っていたので、目標としては良かったかなと思います。 github.com LeetCode の戦績 一年間ずっとやっ…
2年前
記事のアイキャッチ画像
Advent Of Code 2021 完答した
from scratch
Advent Of Code 2021 に参加して、今年も毎日コード書ききりました。。。大変だった。。。 今年も楽しかった。一個だけできなかったけど。。。I just completed all 25 days of Advent of Code 2021! https://t.co/L3evwKeuG2 #AdventOfCode— Yosuke Furukawa (@yosuke_furukawa) December 26, 2021 Advent Of Code 2021 Advent Of Code とは adventofcode.com Advent Calendar 形式で一日ずつ…
2年前
記事のアイキャッチ画像
Node.js の assert の小話
from scratch
Node.js Advent Calendar の4日目の記事 です。 Node.js の assert は結構歴史が深いです。あまり直接使ってる人は少ないかもしれません。使うとしたら test で使ったりするケースでしょうか。 それも最近は jest に生えてる便利ライブラリを使うほうが多いのかもしれないですね。 unassert なんかで開発中に埋め込んでいるケースもあるかもしれません。このようにたまに使うこともあると思うので、覚えておくと良いでしょう。 assert には 4 年ほど前から strict assertion mode というのが追加されています。 nodejs.org 今…
2年前
記事のアイキャッチ画像
Node.js コアモジュールの import/require には `node` schemeがつけられる
from scratch
Node.js アドベントカレンダーの 3 日目の記事です。空きを埋める形で始めました。 qiita.com www.codegrid.net CodeGrid でも書かせていただきましたが、 Node.js で ES Module / CommonJS を使ってコアライブラリのロードをする際、 node から始まる scheme を付けることが可能になっています。 nodejs.org // ESM import fs from "node:fs/promises"; // CJS const http = require("node:http"); これにはいくつかのメリットがあります。基…
2年前
記事のアイキャッチ画像
例外を初めて実装した言語
from scratch
リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味のある方は見てみてください。 blog.recruit.co.jp R-ISUCON 2021 では、 Node.js (TypeScript), Go, Java の3パターンの実装が出てくることが通例になっていまして、今回は Java の実装から Node.js, Go に適用していた時に一緒に実装して…
2年前
記事のアイキャッチ画像
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 主体での非同期…
2年前
記事のアイキャッチ画像
2020年振り返り
from scratch
はじめに yosuke-furukawa.hatenablog.com 今年もちゃんと書きました。 マネジメントとシニアソフトウェアエンジニア 二足のわらじで4年目になりましたね。去年も書いたんですが、メンバーが優秀であるがゆえに二足のわらじができていると思っていて、それを4年目も継続できました。新しく何名か入ったおかげで非常に強力なフロントエンド体制ができてるなと思っています。 adventar.org recruit-tech.co.jp recruit-tech.co.jp recruit-tech.co.jp 上記のブログは技術ブログの方に書いてもらったやつですが、他にも CodeZi…
3年前
記事のアイキャッチ画像
Advent of Code 2020 完答した。
from scratch
memo.sugyan.com leetcode も Tシャツとキーホルダーがもらえるポイントまで到達した。Advent of Code 2020 も終わった。大変だった。 pic.twitter.com/FLX7Eno50I— Yosuke Furukawa (@yosuke_furukawa) December 25, 2020 すぎゃーんの宣伝によって参加したけど、「楽しかった!が八割、辛かった!が二割」って感じでした。 Advent of Code とは adventofcode.com 所謂アルゴリズム系の問題が25日間のアドベントカレンダー形式ででてくるので、ひたすら解く感じのもの…
3年前
記事のアイキャッチ画像
Node.js で最近変わりそうな Permission Policy について
from scratch
さてさて、 25日目の Node.js アドベントカレンダーです。もう年の瀬ですね。振り返りシーズンなんで色々書きたかったんですが、ネタを見つけているうちにこの日になってしまいました。 Permission Policy とは Node.js に新しく Permission を提供しようという試みです。元々 Node.js では同じプロセス内で動いてしまえば どんなモジュールであろうと同じ権限で色々できますね。外部ネットワークにアクセスしたり、ファイルを読み書きしたり。 プロセスに元から許可されている権限は全てできてしまいます。これが今まででは普通でしたが、今後はもしかしたら変わるかも?という…
3年前
記事のアイキャッチ画像
この半年やったこと、継続していること
from scratch
syohex.hatenablog.com studio3104.hatenablog.com あまりにも同じことをしていたので「せっかくなので」と思って筆を執ることにする。 @syohex さん も @studio3104 さん も僕もだいたい同年代の人たちが同年代の sugyan や色々な方の影響を受けて同じことをしているというのはシンパシーを感じますね。 僕は今の仕事はフロントエンドエンジニアであることが多いのですが、「知識に垣根は作らない」をモットーにしているので、色々半年間挑戦してみました。 Leetcode この半年で545問解きました。 github.com sugyan が l…
3年前
記事のアイキャッチ画像
assert.CallTracker と must-call
from scratch
この記事はリクルートエンジニアアドベントカレンダーの2日目の記事です。過ぎてるかもしれませんが、メンバーから脅迫されて書いてます。 assert.CallTracker Node.js で experimental な API として assert.CallTracker がv14 で追加されました。 この機能は呼び出された回数を検証するという機能を持った新しい assert 関数です。 コールバック関数をテストする際に使える便利関数です。機能としては地味ですが、使いこなせると便利なので紹介します。 const assert = require('assert'); const tracker…
3年前
記事のアイキャッチ画像
【翻訳】Date and Times in JavaScript
from scratch
この記事は littledan から依頼を受けて、翻訳しています。広く Date and Times の JS プロポーザルについて意見がほしいとのことです。 意見は以下の場所にポストできます。 docs.google.com 原文: blogs.igalia.com tl;dr: Temporal のプロポーザルについてフィードバックを求めています。 Polyfill を試したら、サーベイの回答を送ってください、ただしまだ本番環境では使わないでもらいたいです。 JavaScript の Date クラスは壊れています、しかし Breaking the Web を起こさずに修正する方法はありま…
4年前
記事のアイキャッチ画像
web.dev live 2020 を聴講した
from scratch
今年はコロナの影響でいろんなイベントがオンラインになったり、中止になったりしてますが、 web.dev live 2020 が7月初頭にやっていたので、聴講してきました。 web.dev その中でも面白かったものについていくつか紹介します。 Day 1 ほぼ Core Web Vitals についての話でした。 以下のトークが面白かったです。 What's new in speed tooling Optimize for Core Web Vitals Core Web Vitals についてはもう既にたくさん資料があると思いますが、一応解説しておきます。 Core Web Vitals 初…
4年前
記事のアイキャッチ画像
2020年の JSConf.jp は中止にします
from scratch
表題の通り、 2020年の JSConf.jp は中止にします。2021年の開催を目指します。TC39とのコラボレーションとかも検討していたのですが、楽しみにしていた方々、大変申し訳ございません。いろいろな葛藤はありましたが、 JSConf.jp の前身になった Node 学園祭のときから「豪華なスピーカーに会えること」「Node.jsやTC39の中にいる人と直接交流できること」「知見が共有できる場所」というのを大事にしてきたのですが、オンライン開催ではその意味が半分以上失われてしまうと思っており、 JSConf.jp は開催しません。ただし、少し形を変えて、オンラインで開催する小さなカンファ…
4年前
記事のアイキャッチ画像
2019年振り返り
from scratch
はじめに なんかよく見たら 2年前の自分がちゃんと書いてるくせに 1年前の自分は書いてなくて、進化してるのか退化してるのかわからなかったので、今年からはちゃんと書こうと思いました。 yosuke-furukawa.hatenablog.com 会社 マネジメント マネージャーも3年目ですね。なんだかんだ、メンバーにも恵まれてるなと思うことが多いです。 メンバーがアウトプットを率先してやってるので、エンジニアコミュニティとして大きく形成されているなと思います。エキスパート同士が互いを教え合い、また競い合いながら目的を達成していくのは見てて気持ちが良いです。 2019年振り返り.md · GitH…
4年前
記事のアイキャッチ画像
実践 Off the main thread
from scratch
実践 Off the main thread 実際に Off the main thread をやりつつ、パフォーマンスチューニングをする際にどこに気をつけるべきかを今やっているので、それについて話します。 Off the main thread とは JavaScript の処理は基本的にメインスレッドで実施します。JavaScriptの実行処理以外にも記述された内容を解釈するためのパース処理やGC処理もメインスレッドをブロックします。メインスレッドの処理が多いとUI jankと呼ばれるガタツキ、チラツキ、画面の固まりの原因になります。 UI jankが発生していると、ユーザーがクリックした…
4年前
記事のアイキャッチ画像
2020年の Node.js, 2025年の Node.js (Web Standard編)
from scratch
この記事は Node.js Advent Calendar の 25 日目の記事です。 qiita.com Node.js の 2020 年はどうなるのか 2025 年にはどうなっているのかを予想していこうと思います。 ちなみに、あくまで筆者の予想にすぎないです。こうなるという与太話みたいなものだと思っていてください。 Node.js のこれまでと今後 Node.js は進化を続けていますが、 2018 年に語った通り、その進化の方向は以下のような方向に流れています。 Web Standard Performance Security Stability speakerdeck.com 今回は…
4年前
記事のアイキャッチ画像
Universal Data Fetch ライブラリ、 Specter の紹介
from scratch
この記事は Recruit Engineers Advent Calendar 2019 の 16日目の記事です。 adventar.org 最近僕が作っている OSS である Specter の話をします。 github.com Specter とは Client から Backend と BFF から Backend への Universal なデータフェッチを提供してくれるためのツールです。以下の特徴を持ちます。 軽量 TypeScript Freindly な型付け機能 投機的先読み 2年ほど前に報告されたCPUの投機的実行に基づく脆弱性である、 Spectre から来ています。と言っ…
4年前
記事のアイキャッチ画像
Dual Package Hazard
from scratch
この記事は Node.js Advent Calendar 2019 の 11 日目の記事です。 qiita.com 今回は全 Node.js で ES Modules を利用するユーザーが知っておくべき Dual Package Hazard について紹介します。 ESModules がフラグ無しでサポートに。 これまでは ES Modules は --experimental-modules フラグが無いと使えませんでしたが、 フラグ無しで Node.js v13.2.0 から使えるようになりました。ES Modules については CodeGrid の記事で詳しく書いているのでそれを一読…
4年前