バックエンドエンジニアがNext.jsのApp Directoryに夢を見る

6 min read | #設計 #Next.js #React

こんにちは、@p1assです。

最近、Next.js 13 から beta で導入されている App Directory を趣味で触っているのですが、今まで SPA を採用しづらかった事業領域でも React のエコシステムを使えるようになりそうな予感がして、ワクワクしています。

このブログでは、今までどういった課題があり、Next.js の App Directory がそれをどのように解決するのかを紹介します。 なお、内容はあくまで考察であり、実際に運用をしているわけでない点に注意してください。 これは「夢」なのです。

続きを読む

2022年にやったこと

3 min read | #ポエム #アニメ #ライブ #引っ越し #旅行 #ゲーム

こんにちは、@p1assです。

年末なので 2022 年にやったことをまとめようと思います。

続きを読む

『Googleのソフトウェアエンジニアリング』を読んだ

3 min read | #読書 #テスト

こんにちは、@p1ass です。 最近はどっぷり Splatoon 3 にはまっています。

さて、ここ 1 年近く読み進めていた『Google のソフトウェアエンジニアリング』をようやく読み終えました。 大ボリュームで時間がかかってしまいましたが、学びが多くある本だったので感想をまとめようと思います。

続きを読む

ISUCON 12 本選に参加しました

5 min read | #ISUCON #Go

こんにちは、@p1ass です。

前回のブログに引き続き、ISUCON 12 の本選に @km_conner@atrn0 で参加しました。

結果は、参考スコア 218,852 点で失格になりました 😭

PASS してたら総合 5 位のスコアのようです。 僕のミスのためとても悔しいし、申し訳ない気持ちでいっぱいです。

スコア

この記事ではいつも通りやったことを書こうと思います。

GitHub はこちらです。

なお、スコアグラフはこのようになりました。

スコアグラフ

続きを読む

ZigでISUCON 12 の予選をCGOクロスコンパイルする

2 min read | #開発 #Zig

こんにちは、@p1ass です。

先日投稿した記事「ISUCON 12 の予選に参加して、7 位で本選進出を決めました」にて、CGO クロスコンパイルに苦労した話をしました。

その後色々調べたところ、Zig を使うと簡単にコンパイルできることを知ったので試してみました。

続きを読む

ISUCON 12 の予選に参加して、7位で本選進出を決めました

10 min read | #ISUCON #Go

こんにちは、@p1ass です。 先日行われた ISUCON 12 の予選に @km_conner@atrn0 と参加しました。

結果は 35642 点・7 位で、本選に行くことができました。わいわい 🙌

スコア

この記事では、事前準備や本番中に入れた改善について紹介します。 なお、今回はコミットごとのベンチのスコアをほとんどメモしておらず、途中のスコアは概算となる点にご注意ください。

GitHubはこちらです。 masterがバグることが何回かあり、コミットやPR単位で実装を見てもFAILするコードになっている場合があるので注意してください。 (主に僕の実装)

続きを読む

protocの代わりにBuf CLIを使ってスキーマ駆動開発の体験を向上させる

5 min read | #開発 #Protocol Buffers #gRPC

こんにちは、@p1assです。

この記事では、Protocol Buffers に関連した様々なコマンドを実行できる Buf CLI を紹介します。 Buf CLI は、protoc とは異なり、Formatter や Linter、Breaking Change Detector、依存パッケージ管理など、Protocol Buffers を使う上で便利なコマンドが用意されています。 Protocol Buffers を使いたいけど CI のセットアップ等が面倒な人におすすめです。

Bufのロゴ Buf のロゴ(公式サイトより引用)

続きを読む

SPA で役立ちそうな OAuth 2.0 for Browser-Based Apps を読んだ

11 min read | #開発 #OAuth #SPA

こんにちは、@p1assです。

GW 中に SPA で OAuth を使うときのプラクティスについて調べていたところ、OAuth2.0 for Browser-Based Apps という RFC の Internet-Draft を見つけました。

一通り読んでみたところ、現時点でのベストプラクティスが良い感じにまとまっていたので、興味深かったところを抜粋して紹介します。

続きを読む

Twitter API v2のOAuth 2.0 Authorization Code Flow with PKCEを試した

8 min read | #開発 #Twitter #OAuth

こんにちは、 @p1ass です。

Twitter API の v2 が正式リリースされてから数ヶ月経ちました。

Twitter API v2 では様々な API が追加されていますが、中でも注目すべきは OAuth 2.0 対応だと思います。

今までは OAuth 1.0a しか対応しておらず、他の OAuth 2.0 対応の認可サーバーと比較して使いづらいと感じていました。 今回の対応によって、OAuth 2.0 の Authorization Code Flow ( RFC6749 Section4.1)を利用した認可に対応し、より便利に認可をシステムに組み込めるようになりました。

また、スコープを細かく制御できるようになったため、今までのように不用意に多くの権限を要求する必要がなくなりました! 現在対応しているスコープは以下の通りで、非常に細かくスコープを制御できることが分かります。

  • tweet.read
  • tweet.write
  • tweet.moderate.write
  • users.read
  • follows.read
  • follows.write
  • offline.access
  • space.read
  • mute.read
  • mute.write
  • like.read
  • like.write
  • list.read
  • list.write
  • block.read
  • block.write

というわけで、せっかく OAuth 2.0 に対応したことなので、実際に Authorization Code Flow を試してみようと思います。

続きを読む

『ソフトウェアアーキテクチャの基礎』を読んだ

4 min read | #読書 #設計 #アーキテクチャ #マイクロサービス #レイヤードアーキテクチャ

こんにちは、 @p1ass です。 タイトルの通り、『ソフトウェアアーキテクチャの基礎 エンジニアリングに基づく体系的アプローチ』を読みました。

本書はソフトウェアアーキテクチャに関する内容を網羅的にまとめたもので、アーキテクトのようなポジションを目指す人にとっての教科書的な存在です。 自分の今の興味関心にドンピシャの内容で、書籍の発売後にすぐ読み切ってしまいました。

この記事では、本書の感想を書こうと思います。 現在購入を検討している方の参考になれば幸いです。

続きを読む