タグ

ブックマーク / www.keisuke69.net (13)

  • 脱Firestoreするために考えていること(追記あり) - Sweet Escape

    FirebaseのFirestoreをやめることにしたので雑なメモを残しておく。なお、まだ走り始めたばかりなので、内容には間違いや考慮不足も多数含まれる可能性があるので読む人はその点注意を。あと、あくまでも雑なメモなので細かいところは書いていない。 なぜ脱Firestoreするのか? なぜGraphQLではなくREST APIなのか? 移行にあたって検討したこと、決め事 ドキュメントIDをどう扱うか サブコレクションをどう扱うか 配列やマップといったフィールドのタイプをどう扱うか 追記: Mapの配列をどうするか Firebase Authenticationとセキュリティルールで実現しているセキュリティ機能をどうするか では実際にどんなテーブル設計にするのか 次にやること なぜ脱Firestoreするのか? まず、脱Firestoreする理由は ユースケースとしてFirestoreでは対

    脱Firestoreするために考えていること(追記あり) - Sweet Escape
  • 一意な識別子の生成でUUID/ULID/CUID/Nano IDなど検討してみた - Sweet Escape

    最近、一意な識別子について検討することがあったのでその検討メモ。 一意な識別子とは つまり、重複しない、ユニークな識別子(Identifier, 以下id)のこと。ここではRDBのテーブルにおける主キーとして使うことを想定かつ前提としている。したがって、主キーの要件であるユニーク性を持ったidをどうやって生成していくか。 そんなのDBの連番でいいじゃんて話もあるがここではその話はせず、あくまでも一意な識別子をどう生成するかの話に絞る。 選択肢 一番有名だと思われるUUIDを筆頭にいくつかの選択肢がある。 UUID ULID CUID Nano ID 他にもTwitter発のSnowflakeとか今はDeprecatedになってるshortidなどがあるが、キリがないのでここでは上記の4種類だけで簡単に比較した。また、実際にはUUIDはバージョンによってSpecが異なるがここではバージョン4

    一意な識別子の生成でUUID/ULID/CUID/Nano IDなど検討してみた - Sweet Escape
  • 【超重要な追記あり】Docker Desktop for Macを使ってる人はみんな今すぐvirtiofsを使うんだ! - Sweet Escape

    前提 はじめに virtiofsさっそく試す もうちょっとちゃんと計測してみる Named Volumeを試してみる まとめ 追記(超重要) 追記2 前提 特にVSCodeのRemote Containers使ってる人には耳寄りです。別に使ってなくてもMacDocker Desktop使ってる人ならあてはまります。 あと、このポストはMacといってもM1 MaxなMacBook Proで確認したものです。なので同じMacでもIntel Macとかだと違う結果になるかもしれません。 また、ここで紹介しているものはまだExperimental(試験的)な機能なので不具合や問題を引き起こす可能性があります。なので試す方はその辺は承知の上で試してみてください。 はじめに さて、MacDocker Desktopというと「遅い」というのがこれまでの常識。自分のように普段VSCodeのRemote

    【超重要な追記あり】Docker Desktop for Macを使ってる人はみんな今すぐvirtiofsを使うんだ! - Sweet Escape
  • Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape

    記事はNext.js Advent Calendar 2020の9日目です。 tl;dr Vercel以外でもIncremental Static Regenerationは可能 試した範囲ではフルに機能するのはコンテナで動かした場合のみ AWSのサーバーレスで動かすのは現時点で絶望的 はじめに 早速ですが、みなさん、次世代のStatic Site Generation(SSG)と言っても過言ではないIncremental Static Regeneration(ISR)はご存知でしょうか。 一応知らない人のためにすごく簡単に説明をすると、『リクエストに対して静的にビルドされたページを返しつつ、有効期限が過ぎたら非同期で静的ページの再生成をSSRで行う』っていうものです。Cache Controlにおけるstale-while-revalidateと同じような考え方が適用されたものとも言

    Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape
  • AWS Lambdaがコンテナをサポートしたのでちょっと試してみた - Sweet Escape

    現在開催中のre:InventでAWS Lambdaがコンテナのサポートをするという発表がありましたね。 aws.amazon.com というわけでちょっと試してみました。 素材はここにあげてあります。 github.com 流れとしては、 普通にファンクション書く Dockerfile作る イメージをビルドする イメージをECRにプッシュする Lambdaファンクションを作るときにECR上のイメージを指定する という感じです。3,4のコマンド実行例はReadmeに記載しています。 イメージに関してはRuntime APIを実装する必要があるんですが、現在Lambdaがサポートしている各言語向けには既に用意されていてリリースされています。例えばNode.jsであればnpm install aws-lambda-ricでインストールできます。 加えて、これを組み込み済のベースイメージが既に用

    AWS Lambdaがコンテナをサポートしたのでちょっと試してみた - Sweet Escape
  • AWS Amplifyを無理して使わなくてもいいケースについて挙げてみる - Sweet Escape

    AWS AmplifyといえばAWSが提供しているフロントエンド開発者向けのライブラリやツールセットです。今回はそんなAWS Amplifyについてです。 はじめに おさらい AWS Amplifyはフロントエンド開発者にとっての銀の弾なのか 無理して使わなくてもいいケース バックエンド側のライフサイクルや開発部隊が分かれてる場合 AWSのリソースに直接アクセスしない場合 認証・認可の手段としてCognito使わない場合 Server Side Rendering(SSR)の場合 AWS WAF使いたい場合 Amplify CLIに対応していないバックエンドを利用したい場合 AWS Amplifyがおすすめのケース まとめ はじめに この投稿は2020年10月22の21時から開催予定のイベント(ライブストリーミング)で話す内容です。 serverless-newworld.connpass

    AWS Amplifyを無理して使わなくてもいいケースについて挙げてみる - Sweet Escape
  • AWS Lambdaの裏側をなるだけ詳しく解説してみる - Sweet Escape

    AWS Lambdaの環境がどのようになっているか、ユーザが用意したLambdaファンクションがどんな感じで実行されるかってあたりを可能な限り詳しく説明したいと思います。 はじめに 大前提 コールドスタート/ウォームスタート コントロールプレーン/データプレーン アイソレーション AWS Lambdaのコンポーネント群 同期実行かつ初回呼び出し(コールドスタート)、もしくはスケーリング 同期実行かつ再利用(ウォームスタート) 非同期実行 スケールアップ エラーハンドリング リトライ その他 ネットワーク まとめ はじめに この投稿は2020年9月29日の21時から開催予定のイベント(ライブストリーミング)で話す内容です。 serverless-newworld.connpass.com もし間に合えば、かつ時間があればぜひライブ配信のほうにも参加ください。 (2020.09.30 upda

    AWS Lambdaの裏側をなるだけ詳しく解説してみる - Sweet Escape
  • AWS Lambdaが提供するProvisioned Concurrencyという機能を簡単に説明してみる - Sweet Escape

    はじめに 大前提 トラフィックバースト Provisioned Concurrency 何が解決するのか 設定のコツ まとめ はじめに 実は日開催のイベントでProvisioned Concurrencyという機能について話す予定です。 serverless-newworld.connpass.com このイベントは省エネで特定のトピックについて簡単に話すというのをモットーとしていまして、普段の各種イベントでの講演のようにプレゼンテーション用のスライドを作ったりはしないつもりだったんです。と、言いつつも前回は過去に書いたブログ記事を使って話をしたんです。でも今回はそれすらない。 最初はそれでもいいかと思っていたんですが、口頭だけだとなかなか難しそうだなと思えてきたので4時間後のイベントのためにブログをしたためています。 大前提 AWS Lambdaにはコールドスタートというものがあるのは

    AWS Lambdaが提供するProvisioned Concurrencyという機能を簡単に説明してみる - Sweet Escape
  • Vue.jsのサイトジェネレータGridsomeが最高かもしれない - Sweet Escape

    はじめに Gridsome どんな感じで動くのか やってみる データソースとかもろもろ設定してみる ビルドする Wordpressをデータソースに設定してみる まとめ はじめに 前回、Docker + Remote Containersを最高だと紹介したわけですが、今回はGridsomeを紹介します。そもそも前回のブログはこれを試すために環境を整備しなおそうとしたのがきっかけでした。なお、前回のブログはこちら。 www.keisuke69.net どこらへんが最高かっていうと全てのデータソースに対してGraphQLでアクセスできるようになるところ。これって最高じゃないですかね。ま、最終的には静的サイトとしてGenerateしてしまうわけですが。 ちなみに、なぜ、今回Gridsomeを試そうと思ったかというと、最近聞いたとあるPodcastで紹介されてたからです。それだけ。 Gridsome

    Vue.jsのサイトジェネレータGridsomeが最高かもしれない - Sweet Escape
  • DockerとRemote Containersでの開発環境が最高過ぎる - Sweet Escape

    この投稿がきっかけでソフトウェアデザインに寄稿しています。この投稿の加筆修正ですが、自分のパート以外にもVS Code全般の特集となってますので興味あるかたはぜひそちらも! ソフトウェアデザイン 2021年6月号 作者:tsutsu,吉岩 正樹,中村 充志,西谷 圭介,erukiti(佐々木 俊介),結城 洋志,上田 隆一,八田 昌三,サリチル酸,結城 浩,山川 正美,大串 肇,松 直人,清水 洋治,広田 望,松田 佳希,田中 宗,中島 明日香,くつなりょうすけ,高橋 永成,金谷 拓哉,佐藤 雄飛,梶原 直人,髙濱 暢明,星川 真麻,八木澤 健人,けんちょん(大槻 兼資),職業「戸倉彩」,森若 和雄,大隈 峻太郎,小野 輝也,河野 哲治,古川 菜摘,石井 将直,杉山 貴章,Software Design編集部技術評論社Amazon はじめに Remote Containers Docke

    DockerとRemote Containersでの開発環境が最高過ぎる - Sweet Escape
  • AWS DevDay Tokyo 2018を開催しました & 資料まとめ - Sweet Escape

    はじめに もう先々週のことになりますが、前回告知した『AWS DevDay Tokyo 2018』というイベントがAmazon Web Services Japan主催で10月29日(月)〜11月2日(金)に渡って開催されました。 www.keisuke69.net イベント自体の紹介は前回の投稿に詳しいので割愛して、当日あったセッションの資料をまとめます。が、その前にいくつか。 まず、最終日のアフターパーティでも発表した好きな言語、好きなエディタの集計結果を改めて載せておきますね。Pythonが1位ってのも数年前だと考えにくかったと思いますが、Javaがまだまだ元気なことだったりVimEmacsで2倍以上の差がついたりというのも面白い結果かなと。面白いと言えば1位のVS Codeってのも少し驚きましたが確かにいいエディタだと思います。かくいう自分も今はVS Codeです。秀丸Vim

    AWS DevDay Tokyo 2018を開催しました & 資料まとめ - Sweet Escape
  • なぜAWS LambdaとRDBMSの相性が悪いかを簡単に説明する - Sweet Escape

    2020/01/20 Update: エントリの内容は2019年12月3日にアナウンスされた『Amazon RDS Proxy』のリリースにより完全に陳腐化しました。過去のアンチパターンがフィードバックをもとにした改善によってアンチパターンではなくなるという最高の事例です。 サーバーレス元年始まった! 今年がサーバーレス元年な理由. それはLambdaに以下が揃ったから. ・カスタムランタイムで実質どんな言語でも利用可能 ・VPC利用時のコールドスタート改善 ・Provisioned Concurrencyでスパイク対応も可能 ・RDS ProxyでRDBとの接続が現実的に これまで5年で受けたフィードバックがついに結実. 強い— Keisuke Nishitani (@Keisuke69) 2020年1月19日 RDS Proxyの詳細はこちらからどうぞ。まだプレビューですがぜひ試して

    なぜAWS LambdaとRDBMSの相性が悪いかを簡単に説明する - Sweet Escape
  • クラウドネイティブとサーバレスアーキテクチャ - Sweet Escape

    こんにちは、@Keisuke69 です。 ポエムです。 クラウドネイティブとサーバレスアーキテクチャと言うものに関してなんとなく整理がてら書きたいなーと思って。 ま、この2つを一緒に話すのはどうなんだって気もするがポエムなので気にしない。あと文章長い割りに大して中身はない。 クラウドネイティブ そもそもクラウドネイティブとはなんなのか。クラウドネイティブって言葉が先行していて実際のところなんなのか分からない人も多いはず。何かきちんとした単語の定義があるかっていうともちろんそんなのあるわけない。人それぞれモヤっとしたイメージがきっとあってそれを一言で表現するのにクラウドネイティブってキーワードが使われてるのかなと。ラベリング重要。 とはいえ、クラウドネイティブというお題で僕が話をするときに毎回最初に定義をしていて、その定義は以下の通りだ。 クラウドで提供されるサービス利用を前提に構築するシス

    クラウドネイティブとサーバレスアーキテクチャ - Sweet Escape
  • 1