2024/07/13 大吉祥寺.pm 20分レギュラートーク 登壇資料
2024/07/13 大吉祥寺.pm 20分レギュラートーク 登壇資料
こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシのプロダクトは、管理者の方が使う Web アプリに React、現場の方が使う iPad / iPhone アプリに React Native を採用しています。 どちらもフロントエンドの技術スタックを採用していることもあり、先日までは Monorepo と Yarn Workspaces の構成で運用されていました。 最近では Monorepo 化を進めている事例もよく見かけるようになってきました。 engineering.mercari.com devblog.thebase.in ですが、カミナシでは Monorepo をやめてリポジトリ分割をする意思決定を行いました。 具体的には、harami_client という Monorepo を harami_web と harami_mobile とい
マルチテナントを実現するときに便利な機能Row Level Security 5.8. 行セキュリティポリシー PostgreSQL の行レベルのセキュリティを備えたマルチテナントデータの分離 | Amazon Web Services ブログ テーブルごとにアクセス可能な行を絞ることができるんですが、設定例を調べると単一テナントを前提としたものが多く 複数のテナントのデータにアクセスさせる設定がわからなかったので試してみました。 設定例 テーブル定義 データ作成 RLS有効化 結果 ハマったポイント まとめ 設定例 以下のようなクエリで実現できました。 CREATE POLICY tenant_isolation_policy ON users USING (tenant_id = ANY( SELECT tenant_id FROM user_tenants WHERE user_id
請求明細書を見てお嘆きの皆様へ。 前回の記事では、すぐにコスト削減の成果を出したい人向けに比較的簡単な方法を解説しました。 この記事では、時間がかかっても良いので根本的に原価をなんとかしたい人を対象としています。 請求明細書(Billing)やCost Explorerの参照権限を広く付ける 開発者がコストを意識するところから、すべては始まります。 意識しようにも、そもそもいくらかかっているかわからないことがあります。見ようとしても現場レベルで直接参照する権限がないことがあります。情報対称性の意味でも、初期設定で権限を付与しておきましょう。デフォルトAllow、やむを得ない事情があればDenyという方式がよいです。 AWSの請求は日次で更新されるため、当日行った作業結果が翌日翌々日には反映されます。フィードバックループを回せるよう、まずはデータを入手できるようにしましょう。 横断してコスト
このブログエントリでは、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent BeckがTDDの定義を改めて明確化した文章を、許可を得たうえで翻訳し、訳者の考察を沿えています。 きっかけ 2023年の年末、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent Beckは、substackにTDDに関するポストを連投して論戦を繰り広げていました。TDDはその誕生から20年以上が経ち、その間に「意味の希薄化」が発生して議論が噛み合わなくなっていました。意味の希薄化(Semantic Diffusion)とは、新しく作り出された用語が広まる際に本来の意味や定義が弱まって伝わる現象です。 私(和田)はTDDと関わりの深いキャリアを歩んできました。Kent Beckの著書『テスト駆動開発』の翻訳者であることもあり、TDDの正
課題意識 特定の商品を数量を指定して購入できるECサービスのドメインモデルを表現とします。TypeScriptで構築する際に、「数量」を単にnumber型で扱うことは可能ですが、よりロバストな設計を目指す上で以下の2つの方法論があります。 Refinements(値の制約を表す): 「数量」は一般的に自然数です。1度の注文で指定できる上限を設けるビジネスルールがあると仮定します。この場合、number型に「自然数」「上限付き」の制約を加えた値として表現します。 Branded Types: (同じ構造の型を区別する): 「価格」などの他のnumber型と混同されないように、これらの数値を型レベルで区別したいです。JavaやC#に見られる公称型の概念をTypeScriptで模倣するBranded Typesのテクニックを用いることで、これらの誤った利用を型システムで防ぐことができます。 Br
2016年6月から株式会社カケハシのCTOを務めていたが、昨日の2024年2月29日付けで辞任した。 辞任にあたっての想いや在籍中の思い出について熱量高めに書くことも考えたが、一旦は報告を優先してコンパクトなテキストにしておく。それまで比較的ジョブホップ気味だった私にとって7年9ヶ月という在籍期間は到底考えられない圧倒的な長さであり当然思い入れも一入である。350人を超える規模の組織成長という未知の領域で様々な経験を得ることができた。在任中に関わった全ての顧客、同僚、関係者の皆様に心から感謝している。 3月以降の活動については何も決まっていないが、これから色々な方・企業の話を伺って可能性を探っていくことになると思う。ただ、カケハシの前に同じくCTOについていたサイカから考えると10年以上、事業成長のためにあらゆるものを振り捨てて全力疾走してきて少し立ち止まってゆっくり考えたい気持ちが強いた
2024/03/20 追記 採択されました🎉 聴講者の期待に応えられるように全力で頑張ります💪 また、これに伴い記事のタイトルを「TSKaigiにプロポーザルを提出しました」から変更しています。 TSKaigi 2024年5月11日にTSKaigi 2024が開催されます。 柔軟な型の表現力と強力なエコシステムを持つTypeScriptは、Webフロントエンドアプリケーションの開発のみならず、インフラ構成管理やサーバアプリケーションの開発にも利用されています。 TSKaigiの公式サイトにも下記の記載があるように、様々なバックグラウンドを持つエンジニアと横断的な交流ができそうでとてもわくわくしています。 私たちの願いは、フロントエンドからバックエンド、インフラに至るまで、多様な分野のTypeScriptエンジニアたちが集い、普段は交流の少ないエンジニアたちが、それぞれの得意分野や最新の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く