RNIアドベントカレンダー6日目 2024年に使いたい技術

2024年に使いたい技術

メリークリスマス! リサーチ・アンド・イノベーションの横山です。

RNIアドベントカレンダーの6日目になります。

今年も残り一週間ということで、来年2024年に使いたい技術についてお話しようと思います。

ruby3.3

明日はいよいよクリスマス。例年、rubyは12月25日に新しいバージョンがリリースされます。

恐らく明日にはruby3.3がリリースされることでしょう。 既にRCがリリースされており、何事もなければこのまま正式版がリリースされると思います。

ruby3.3の新機能としてはパーサの置き換え、RJIT(rubyで書かれたJITコンパイラ)の追加、irbとrdbg(デバッガ)の連携強化などがあります。 現在ruby3.2へのアップグレードで苦戦している状態であり、まず解決しなければならない問題がいくつかありますが、ここを乗り越えれば3.2->3.3のアップグレードはさほど難しくないはずなので、頑張ろうと思います。

debug gem

ruby3.xで導入されたデバッグ用のgemです。

アップグレード作業で既に使っていますが、本格的にruby3.2(3.3)に移行すればdebug gem(rdbg)でデバッグが捗るはず。 現時点はターミナルと組み合わせていますが、後述のdevcontainerと組み合わせれば、vscode上で完結するようにもなります。

dev container

vscode上で使うことのできる、dockerを使った開発環境(ローカルサーバ)です。

ずっと秘伝のタレと化したdocker composeを使って開発してきたこともあり、dev containerへの移行をやっていませんでしたが、ruby3.2(3.3)への移行を機にdev container化を図ろうと思います。 昨年あたりまではエディタもまちまちだったので踏み切れませんでしたが、さすがにもうみんなvscodeなので・・・(かく言う私も昨年ごろemacsからvscodeに切り替えました)

TiDB

最近注目されている、mysq互換かつスケーラビリティの高いデータベースエンジンです。

ちょうどmysql8への移行でデータベース周りの見直しが進んでいますが、事例を見るとなかなか良さそうなので是非試してみたいと思っています。

RBS

rubyの静的型解析(型情報ファイル)です。

型なんて要らない、と思っていたんですがirbvscode上でのメソッド補完が効くようになって便利らしい(rubykaigiでめちゃくちゃアピールされた)ので来年は手を出してみようと思います。

passkey/FIDO2/webauthn

公開鍵認証を用いたパスワードレスの認証方式です。

長年クラシカルな認証方式を使ってきましたが、今年はユーザの増加に伴い不正アクセスの試みを受けるなど、セキュリティ上の懸念点が出てきた年でもありました。 不正アクセスのほとんどはメールアドレスとパスワードの使い回しによるものです。 メールアドレスを用いた従来のオンラインサインアップはパスワードの使い回しをする人が多く、どこかのサービスからメールアドレスとパスワードの組が漏れると芋づる式にやられてしまう問題を秘めています。 以前はSNSログインを推奨してきましたが、TwitterAPI有料化騒動でSNSログインも難しくなってきており、一方で今や生体認証のない端末の方が珍しくなってきているため、今後はpasskeyによる認証が解決の糸口になると思っています。

Idempotency-Key Header

ヘッダに一意のキーを持たせることで多重POSTを防ぐ仕組みです。

同じリソースに対するPOSTリクエストが複数回来た場合に多重に更新されることを防げます。 今までこの問題に対する対策はクライアント側の実装によるしかなく、特にネットワークの切断を考慮しなければならないスマホアプリでは設計の複雑化を招いていましたが、この技術でシンプルにすることができるでしょう。 まだドラフトの段階だと思いますが、実装はそれほど難しくないと思います。

自作キーボード関係

今年は2つ(+マクロパッド)作りました。

来年も何か1つは作りたいなぁ。無線化も試してみたい。

rubykaigi2024@那覇

技術ではないですが、来年も必ず行きます。

数年ぶりの沖縄も楽しみです。 毎年参加していますが、今年のkaigiは一人ではなく社内からも数名参加した人がいて、現地で交流したりもできました。 参加した人からは会社で何かしたいという要望も出ているので、一緒に検討していきたいと思います。

それでは皆さん、良いクリスマスを。