tomoima525's blog

Androidとか技術とかその他気になったことを書いているブログ。世界の秘密はカレーの中にある!サンフランシスコから発信中。

Amazonのサーバレス→モノリス移行記事から学ぶこと

今年の3月頃、Amazon Prime のテックブログでストリーミング監視システムのマイクロサービスをモノリスに作り替えて90%コストを削減した記事が投稿され、ソフトウェア業界に波紋を呼びました。この記事の真相はなんだったのか、我々が学ぶべきことはなんだったのかについて書きます。

  • ことの経緯
  • 記事の解説
  • この記事はなんだったのか?
  • この記事と出来事の教訓
続きを読む

Mom testによる効果的なインサイトを得るユーザーインタビュー

mom test

最近ユーザーインタビューを沢山しています。いかに自分のバイアスを持ち込まずに課題を見つけるかに腐心しているのですが、その中でとても役に立っているMom testという手法について紹介します。

  • Mom testとは
  • 失敗する質問例
  • Mom testのエッセンス
  • iPad レシピアプリの例
続きを読む

暗号学をCouseraで学び直した。ソフトウェアエンジニアに役立つ内容だった

修了書

couseraでスタンフォード大学が提供する暗号学のコースを修了しました。新生児の誕生という忙しい時期で心折れかけましたが、早起きや歩きながら講義を受けたりしなんとか乗り切りました。

www.coursera.org

内容素晴らしかったので、おすすめの理由を書きます。ソフトウェアエンジニアなら受けて損ないです。

  • 暗号手法の紹介とプログラミングに直結する実践的な内容
  • 講義内容がひたすら濃い
  • 数学、整数論も学べる
  • 暗号学における独特な記述手法について学べる
  • 最後に
続きを読む

Lambda LayerからRustベースのWebAssemblyを使用する

最近、とあるRustベースのモジュールを、Lambda function(Node.js)のサーバレスプロジェクトで利用できるか調査しました。その際に、 WebAssembly (wasm)をLambda Layerからどう活用するか検証したので、記事にまとめました。

RustベースのWebAssemblyを使用するメリットとして、Rustのパフォーマンスとセキュリティを活用しつつ、TypeScriptからも直接機能にアクセスできるようになることが挙げられます。
一方で、wasmのファイルサイズは比較的大きいので、Lambda function自体に含むとロード時間やメモリ利用量に影響が出ます。そこで、Lambda layerを利用し wasmがあるファイルシステムをマウントして読み込むことで、functionのサイズを削減できます。さらに、他システムでの再利用も可能になります。

最初にコードを見たい方は、このレポジトリを参照ください。

github.com

ちなみに、こちらの記事は下の記事を日本語に翻訳したものです。元記事の方を覗いてみて拍手をいただけるととても嬉しいです!

betterprogramming.pub

では早速説明していきます。

  • Lambda function + wasmにおけるチャレンジ
  • 最小限の実装
  • もっと複雑なシナリオ
    • ボーナス:MakeFileでプロセスを自動化する
  • まとめ
続きを読む

ゼロ知識証明を学ぶ ZKUniversity を修了しました

zku

3 月から参加していたゼロ知識証明を学ぶプログラム ZKUniversity を先日修了し、卒業生の NFT も貰ったので、感想や最終プロジェクトについて書き残します。

zku graduate NFT

  • ZKUniversity とは
    • Learn to Earn
    • コースの構成
  • 受講の感想
    • 最初がつらい。脱落者続出
    • コミュニティの熱量高い。質問し放題
    • 共通の興味を持った仲間ができる
  • 最終プロジェクト
  • まとめ
続きを読む