「アーキテクチャ」に対する一般的なイメージ インフラ設計図のような青写真──機能やデータがどこに配置され、どう結び付くかを俯瞰で示す全体像。 システムの骨格とルール──技術スタックやモジュール分割、データフローなど「こう作るべき」を規定する枠組み。 将来への建築基準──性能・安全性・保守性を支え、変更や拡張の自由度を左右する長期的な基盤。 「アーキテクチャ」の本質的な意味 建築から哲学、テクノロジーまで幅広い分野で使われ、人間の行動様式や社会関係を規定する重要な要素となっている。 建築物が人の動きを決めるように、社会制度やテクノロジーのアーキテクチャも私たちの行動や権力関係に影響を与えている。 ローレンス・レッシグのアーキテクチャ アーキテクチャは、人々の行動を規制する4つの力(法、社会規範、市場、アーキテクチャ)の1つとして定義される 「ある選択肢を選びやすく/選びにくくする」 という性
リリース後に発生した問題と対応 2024年12月16日のリリース時には想定を上回るリクエストが来たが、各コンポーネントをスケールアウトすることで無事に稼働を続けることができた。お正月などの一時的な負荷が見込まれる場合も、コンポーネントをスケールアウトすることで問題なく運用を継続している。姜氏は「リリースして期間は短いですが、今のところサービスを無停止で運用できています。一度だけTiDBインスタンスのノード障害が発生しましたが、そのときもサービス影響なく対応することができました」と報告した。 リリース時の各種メトリクスを示したグラフ リリース後に発生したSlow Queryについても言及。Secondary Indexを使ったクエリで、Indexの先頭カラムで対象を絞り、2番目のカラムでソートする場面で問題が発生した。「IN句の要素が一つの場合はソートが効いたのですが、複数要素が指定されると
ご来店ありがとうございます。新刊発売予定のお知らせです。 2025年4月18日(金)、遠藤侑介著『型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語』の発売を予定しています。なお、2025年4月16日(水)から開催されるRubyKaigi 2025会場のBOOKSTOREにて、著者サイン会に合わせた先行発売を予定しています(紙書籍のみ。部数には限りがあります)。ジュンク堂池袋本店様でも4月16日から販売していただける予定です。 『型システムのしくみ』について 多くのプログラミング言語では、さまざまな場面で「型」が登場します。特に静的型付き言語では、プログラムを実行せずに潜在的な問題をあぶり出す「型検査」の有用性が広く知られるようになりました。最近では動的型付き言語でも、型ヒントや静的解析ツールとして、この機能を部分的に取り入れる動きがあります。 型検査の背
TVerバックエンドチームの id:takanamito , 小林 ( @k0bya4 ) です。 この記事では、TVerにおけるAPIリアーキテクチャについて紹介します。 ここでいうリアーキテクチャはAPIサーバーのソフトウェア的なアーキテクチャを変更する作業のことを指します。一部インフラにも変更点はありますが、今回の記事ではソフトウェアのリアーキテクチャにフォーカスして書いていきます。 今回の記事では、なぜリアーキテクチャをするのか、どのような課題を解決しようとしているのかを整理して解説します。 リアーキテクチャをする理由 新アーキテクチャの設計方針 オニオンアーキテクチャの採用 プロセスの分割 新アーキテクチャの具体的な取り組み アーキテクチャ構造と分割の意図 コードジェネレートの積極的な採用 OpenAPI ORM APIのマイグレーション計画について やらなかったこと できていな
「プログラミング教育について語る会 」で話した内容をまとめておきます。 「AI時代のプログラミング教育」としたのだけど、内容的には「コンピューティング能力を伸ばそうぜ、その道具としてプログラミングしよう」みたいな話になりました。 Nextbeat Tech Bar:第二回プログラミング教育について語る会 - connpass 資料はこちら まず前提として、AIのコーディング能力が7ヵ月で倍になっているというのがあります。なので、今現在の能力で話をしてもあまり意味がなく、ゆくゆくはかなりのレベルでAIがコードを書くという想定をしておいたほうがいいです。 元ネタのツイートはこれ https://x.com/METR_Evals/status/1902384481111322929 論文はここ [2503.14499] Measuring AI Ability to Complete Long
2025/3/14 toranoana.deno #20 で発表した内容です。
Amazon Web Services ブログ Amazon DynamoDB を使った CQRS イベントストアの構築 コマンドクエリ責務分離(command query responsibility segregation, CQRS)パターンは、もともとコマンドクエリ分離の原則から導出されたもので、ドメイン駆動設計コミュニティの啓蒙によって広く知られるようになったものです。イベントソーシングを使用した CQRS アーキテクチャは、イベントストア と呼ばれる追加のみを許されたログに、作成されたイベントを保存します。イベントソーシングを利用することによっていろいろなメリットがありますが、中でも次のようなことができるようになります: データベースとメッセージブローカーを跨ぐような複雑な分散トランザクション(いわゆる 二相コミットプロトコルによるトランザクション)を用いなくてもデータベースの
イベントソーシングは複雑で、導入障壁が高いと思っていませんか?しかし、ドメイン駆動設計(DDD)と組み合わせることで、システムの複雑さを扱いやすくし、柔軟な開発を実現できます。本セッションでは、イベントソーシング・CQRSとDDDの共通点と、それがもたらすメリットをわかりやすく解説します。具体的には、関…
“選定してすぐにダメになった”を防ぐには?特定の言語にフルベットしない、一休の技術戦略 2025年3月4日 株式会社一休 執行役員CTO 伊藤直也 新卒でニフティ株式会社に入社。ブログサービス「ココログ」を立ち上げる。2004年、株式会社はてなに入社し、CTOに就任。「はてなブックマーク」などの開発を主導。2010年から、グリー株式会社でソーシャルメディア統括部長を務める。その後フリーランスとなり、技術顧問を務めていた株式会社一休に2016年4月入社。執行役員CTOに就任し、現職。 エンジニアの仕事の中でも、「技術選定」は特に難易度が高く、責任が重いものです。ひとたび特定技術の採用を決めると、容易にリプレイスできず、長期間にわたって開発や運用に影響を及ぼします。さらに、使用する技術によって採用活動や組織戦略にも大きな影響が出ます。読者の中にも、「技術選定で失敗したくない」「将来にわたって持
Disclaimer: 筆者は Snowflake で Senior Performance Engineer として働いていますが、この記事は公式の見解ではなく、あくまでも個人的な内容になります。 Intro COUNT(*), COUNT(1), COUNT(expr) の違いについて、おそらく NULL の扱いだったり、パフォーマンスだったりが違うんだろうな、という経験的に得られた知識があると思いますが、これを ANSI SQL 標準 (ISO/IEC 9075-2:2016) を元に体系的に整理します。 ANSI SQL における COUNT 集約関数の定義 ISO/IEC 9075-2:2016 の "4.16.4 Aggregate functions" にて、COUNT (および単一引数の集約関数) は下記のように定義されています。 COUNT(*) は集約内の行数を返す そ
PayPayの6年の歴史の中で、私たちは急速な成長を遂げてきました。現在、6700万人以上のユーザーにサービスを提供し、日々数百万件の決済を処理しています。しかし、これを成功させるためには、トラフィックと信頼性の要求を満たすための技術的な挑戦が伴います。 PayPayは設立当初からJavaとNodeJSを採用しており、これらの技術は非常にうまく機能してきました。しかし、成長に伴いサービスをスケールアップする必要が生じ、これによりKubernetesクラスターでのCPUとメモリの使用量が増加しました。これにはサーバーコストの増加が伴います。 2023年末、私たちはコアサービスでのトラフィックをより効率的に処理する方法を模索し始め、GraalVMやGo、Rustなどさまざまな技術を調査しました。Rustは、その優れたパフォーマンスとメモリの安全性が保証されていることから、PayPayの多くのユ
はじめに(おことわり) Goの次期バージョンである1.23でイテレータが導入されるようなので触ってみます。 今回の調査で使うGoのバージョンは1.23rc1です。公式ドキュメントからの情報に基づいていますが、RC版ですので、正式リリース時には変更が入っている可能性がありますので、注意が必要です。 イテレータとは イテレータは、連続したデータを1つずつ順番に処理していくための仕組みです。 イテレータをを使うと、スライスを使わずにシーケンシャルなデータを扱うことができます。 Goのイテレータは、コールバック関数を受け取る関数です。返り値はありません。コールバック関数を呼び出してデータを1つずつ渡していきます。 Goのイテレータ関数は次のようなシグネチャで定義されます。コールバック関数は慣習としてyieldと名付けられます。 コールバック関数は引数を1つ受け取るものと、2つ受け取るものがあります
はじめに LITALICO の @katzumi です。 2020 年に LITALICO へ Join して以来、ずっとレセプト業務の開発に携わってきました。 レセプト業務は複雑なドメインゆえミスが許されず、さらに3年に一度の大きな報酬改定があり、ロジックが大幅に変わります。 その改定作業は情報公開から実装完了までの期間が約 3 ヶ月と短いです。また、年々複雑化するシステムに対応する必要があります。 その複雑な業務に立ち向かった内容を過去にも以下の内容で開発業務の記事を書いていました。 今年 2024 年は法改正の年になっており、取り組みの結果、その後どうなったのか?を振り返っていきます。 今回も壮絶だった法改正 私自身の大規模法改正の経験が今回で 2 回目となります。 チーム構成としては私ともう一名を除いて前回の 2021 年度法改正を経験したメンバーがいませんでした。前回は 3 種類
ISUCON 14 に id:utgwkk, id:wass80 と「ミレニアムサイエンススクール」というチーム名で参加した。 結果は 28875 点で 22 位!去年は fail して最下位だったので反省を活かすことができたのでは? 一昨年に Kibana / Elasticsearch / Filebeat で解析環境を組んでサクセスしていたが、今年は OpenTelemetry (Otel) をベースにモニタリング環境を作り直し、バックエンドは ClickHouse、フロントは Grafana の構成でやってみた。これがなかなか良かったので紹介。 コンテスト当日のアプリ改善周りは utgwkk の記事を見てください。 blog.utgw.net 序: ISUCON で必要な計測 ISUCON ではパフォーマンスを継続的に確認してボトルネックを探しながら改善していくのが王道ルート。 イ
翻訳を担当した書籍『ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用』(インプレス)が明日2024年12月11日に発売となります。 本書は、2023年12月に出版されたSrinath Perera 著『Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products』(Addison-Wesley Professional)の全訳となります。 ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用 作者:Srinath PereraインプレスAmazon 著者は、Apacheのオープンソース開発者として20年以上のキャリアを
TOPICS 発行年月日 2025年01月 PRINT LENGTH 468 ISBN 978-4-8144-0101-7 原書 Building Multi-Tenant SaaS Architectures FORMAT Print PDF SaaS(Software as a Service)とは、ソフトウェアをクラウド環境などでホストし、ユーザーにサービスとして提供する形態のビジネスモデルです。マルチテナントとは、複数のユーザーが同一のリソースを共有するモデルや、それらを統一された体験を通じて管理する仕組みを指します。セキュリティや可用性、運用面などで独自の考慮事項が必要となりますが、インフラストラクチャコストの削減や運用効率の向上が見込めるため、近年その採用件数は右肩上がりに増加しています。本書は、エンジニア向けの本格的なSaaS解説本として、マルチテナントSaaSの概念、実践的
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く