2017年10月12日紙版発売 2017年10月12日電子版発売 三菱UFJインフォメーションテクノロジー株式会社 斉藤賢哉 B5変形判/528ページ 定価3,850円(本体3,500円+税10%) ISBN 978-4-7741-9303-8 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 本書は,アプリケーションアーキテクチャの基本設計フェーズにおいて「何を作るか」ではなく「どう作るか」を設計する際のガイドです。心臓部となるサーバサイドを中心に,シングルページアプリケーションの台頭で再び重要性を増してきたクライアントサイド,SQLなどの伝統的な処理方式とビッグデ
こんにちは。Product Securityチームの@gloriaです。前回、自動化テストエンジニアからセキュリティエンジニアへのキャリアチェンジについて記事を書きました。 今日は、最近OSSとして公開した社内ツールのプロジェクトについてお話をしたいと思います! 「Testdeck」とは? TestdeckはGolangで書いたgRPCマイクロサービスのインテグレーションテスト、エンドツーエンドテスト(E2E)とセキュリティテストの自動化ツールです。以下の機能を提供しています: gRPCとHTTPエンドポイントのインテグレーションテスト・E2Eテスト ファズテスト 悪意のあるペイロードの注入(Burp SuiteのIntruderという機能のように) gRPCとHTTPリクエストのユーティリティメソッド CharlesやBurp Suiteなどのデバッギングプロクシーに接続し、リクエストの
本製品は電子書籍【PDF版】です。 ご購入いただいたPDFには、購入者のメールアドレス、および翔泳社独自の著作権情報が埋め込まれます。 PDFに埋め込まれるメールアドレスは、ご注文時にログインいただいたアドレスとなります。 Amazon Payでのお支払いの場合はAmazonアカウントのメールアドレスが埋め込まれます。 本製品を無断で複製、転載、譲渡、共有および販売を行った場合、法律により罰せられる可能性がございます。 ご購入の前に必ずPDF利用案内をお読みください。 学習しやすいパターンが満載! ドメイン駆動設計をやさしく学べる入門書! 【本書の概要】 本書は、 『エリック・エヴァンスのドメイン駆動設計』(ISBN978-4-7981-2196-3、翔泳社)、 『実践ドメイン駆動設計』(ISBN978-4-7981-3161-0、翔泳社) に感銘を受けた著者が贈る、ドメイン駆動設計の入門
開発者にはしばしば必要なものがないという状況が訪れます。デベロッパーエバンジェリストの成瀬氏が、実際に10名弱のチームで新規プロダクトを作る際にクリーンアーキテクチャの構成を実践してみた話をしました。 Part.3はクリーンアーキテクチャの実装例について。動画はこちら。 これに従って実装すれば、見えるものがあるんじゃない? 詳しくいきましょうか。実装例がどういうものか? 右下の図がすごく大事という話をしましたよね。これをもっと細かくしましょう。そういう図が実はクリーンアーキテクチャのWebと書籍にもありました。Robert C. Martin、この人はかなり有名な人で、あのSOLID原則を定義した人です。Robert C. Martinがこのクリーンアーキテクチャというのを発表して、iOSクリーンアーキ……iOSのほうでかな。発表して(※のちに勘違いだったとYouTube説明欄で訂正)、そ
POSAでの定義 レイヤードアーキテクチャを、体系だって書いたのは「Pattern-Oriented Software Architecture, Volume 1, A System of Patterns」だろう。まずはその原典に立ち返って、レイヤードアーキテクチャとは何かをみてみる。 コンテキスト ソースコードの変更がシステム全体に波及させたくない。それが1つのコンポーネントに閉じられ、他に影響を与えないようにすべきだ。 インタフェースは安定している。標準化団体によって規定されている場合もある。 システムの一部は交換可能である。コンポーネントはシステムの他の部分に影響を与えることなく、実装を入れ替えることができる。 現在設計しているシステムと同様の下位レイヤの課題をもつ他のシステムを、将来構築することがあるかもしれない。 理解のしやすさと保守性のために同じ責務はグルーピングしておきた
本書は、初めてDDDを学ぶ方、もしくは実際に着手して「難しい!!」と感じているエンジニアの方を対象とした、ドメイン駆動設計(以下、DDD)についての解説書です。 近年、ソフトウェアのレガシー化が社会的に問題になっていると言われています。 DDDはレガシー化への対策として非常に有用なものですが、日本語で出ている書籍「エリック・エヴァンスのドメイン駆動設計」や「実践ドメイン駆動設計」は非常に重厚かつ難解で、初学者が実用に到達するまでには長い時間と試行錯誤が必要なのが実情です。 そこで本書では、迷子になりがちな「DDDの目的」や「モデル」の解説からはじめ、 具体的なモデリングを行い実装まで落とす事例を元に、DDDの魅力や効果を体感することを目指します。 また、その後にはレイヤーごとの個別のトピックについて、1章ずつ詳しく解説します。 ■本書の構成 本書は以下の構成になっています。 「第1章 DD
I am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is the SocialSite REST API. That is RPC. It screams RPC. There is so much coupling on display that it should be given an X rating. What needs to be done to make the REST architectural style clear on the notion that hypertext is a constraint? In other words, if the engine of application stat
【レポート】亀田さんトーク全文掲載! “Amazon culture of Innovation とマイクロサービスアーキテクチャ” #AWSSummit Amazonのカルチャーを分かりやすく紹介していただく、セッションです。エンジニアだけでなく、経営者の方、スタートアップの関係者、起業したい方にもオススメです。 こんにちは HIRANO@おんせん県おおいた です。 Amazonのカルチャーを分かりやすく紹介していただく、AWSアドボケイトの亀田さん。今回も素晴らしい内容でした。 この感じを皆さんにお伝えする方法がないかと思い、全文文字起こししてみました。 少し長いですが、一読していただければと思います。 セッション概要 アマゾン ウェブ サービス ジャパン株式会社 シニアアドボケイト 亀田 治伸 このセッションでは、AWS そのものの開発を支える Amazon のカルチャーや組織の作り
開発者にはしばしば必要なものがないという状況が訪れます。デベロッパーエバンジェリストの成瀬氏が、実際に10名弱のチームで新規プロダクトを作る際にクリーンアーキテクチャの構成を実践してみた話をしました。 Part.2はクリーンアーキテクチャについて。動画はこちら。 ドメインにおける問題を解決に導くのがアプリケーション 成瀬允宣氏:順番にクリーンアーキテクチャの図を説明していきます。まずEnterprise Business Rules。図の中ではEntitiesって書かれているものですね。 もしかしたらドメイン駆動設計を調べた方がいるかもしれないですけど、ER図とかのEntityと意味は一緒なんですけど、違うものです。クリーンアーキテクチャで言うEntityは何かというと、ビジネスルールをカプセル化したもの。いわゆるドメインオブジェクトがEntityと、僕は認識しています。 ドメインオブジェ
Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティでの分割 https://microservices.io/patterns/decomposition/decompose-by-business-capability.html 現在の業務機能にしたがってサービスを分割する。 したがって、コンウェイの法則にしたがった分割とされる。 サブドメインでの分割 https://microservices.io/patterns/decomposition/decompose-by-subdomain.html DDDのサブドメ
フュートレックでは、約15年間に渡り提供してきた統合CRMシステム「Visionary」のリニューアルプロジェクトが進行している。従来の良さを残しつつより柔軟で拡張性を持った製品にするため、マイクロサービスアーキテクチャへと刷新。それに伴い、Kubernetes、TypeScript、React.jsという技術を採用したが、なぜそれらの技術を選定したのか。また、新型コロナウイルス感染症の拡大により働き方が変わることでとまどいはなかったのか。Visionaryリニューアルの目的とともに、技術選定の背景や働き方の変化によるプロジェクトの生産性などについて、同プロジェクトに携わっている大塚勉氏(CRM事業部 副事業部長 プロダクト開発部 部長)、竹村憲二氏(CRM事業部 プロダクト開発部 副部長)、杉能康明氏(CRM事業部 プロダクト開発部 担当マネージャー)に話を聞いた。 コロナ禍でも経済的な
KubeCon + CloudNativeCon Europe 2020 2日目 のセッションである eBPF and Kubernetes: Little Helper Minions for Scaling Microservices についてです。 スライド 以下のような内容でした。 eBPF についての初学者向けな説明 eBPF の歴史 eBPF の Kubernetes CNI 実装である Cilium について ※ 時系列を雑に日本語で起こしましたが知らないことばかりで都度調べながらの作業でした。 結局ほとんどスライドのままな気がしますが、それでも他の記事以上に誤りが多い気がするので間違っている箇所があったら優しく指摘してください・・笑 Challenges from OS kernel side 前半は eBPF を Linux に入れるまでの話?正直良くわからなかった・・
この文書は、ある組織において、ある一つの Ruby on Rails で書かれたサービスの全部または一部を、(言語A) で書き直したい、という proposal に対して qsona が表明した意見の文を、一部手直ししたものです。このサービスは、現在担当しているチームとは別の人が初期実装をしたものであり、現在はまだ小規模ですが、今後新しいチームの手により発展していくもので、現在の規模のうちに要件や新しいチームメンバーに最適な言語で書き直すという選択は十分合理的です。また、この組織内のコードは、Ruby on Rails で書かれているものが大半であり、さらに組織としてマイクロサービスアーキテクチャの方向を目指している、という前提の上でお読みいただければと思います。もちろん文責は qsona 個人にあり、qsona の属する組織の意見とは関係ありません。 ------------------
Firebase AuthenticationとCloud Runを使ってマイクロサービスっぽく認証機能を作り直してみた (1/2) 大城です。 今日は僕が大好きなFirebaseについて書いて見ようと思います。皆さんFirebaseも使っていますか? 一人のエンジニアとしては本当にお世話になっているサービスです。(しかもほぼタダで。。。) さて、アプリケーションを構築していれば当然認証と認可の機能は必要になってきます。しかし最近のモダンなアプリケーション開発における認証についてはとても複雑になって来たと思います。 古き良き時代もありました。一つのWebサービスがあって、ユーザのIDとPWはハッシュ化してデータベースにいれておけばよかったわけです。しかし今はユーザはログインする際にいろんなオプションを求める様になりました。 • SNSアカウント(Google, Facebookなど)でログ
CSSフレームワークとしてTailwindが知られています。画一的なデザインを提供するBootstrapなどと異なり、個別のスタイルのみを提供します。UI部品にする際には、それらのスタイルを組み合わせて自作する必要があります。より自由度が高く、作業を効率化してくれるフレームワークです。 そんなTailwindを使ってブロック機能を提供するのがtailblocksになります。 tailblocksの使い方 様々なデモがあります。これは一例です。 こんな感じの表示も。汎用性が高そうです。 テーマに合わせてカラーリングの変更も可能です。 縦型のブロックも。 タブレットやスマートフォンサイズもサポートしています。 ライト、ダークテーマも。 Webサイトでそのまま使えそうなデザインも用意されています。 他にもたくさんのパターンがあります。 ECサイトで使えるものも。 それぞれコードがありますので、貼
はじめに リアクティブシステムを構築するためのライブラリ「Akka」を開発する Lightbend社 から、リアクティブシステムやマイクロサービスについて学習できる有償のオンライントレーニング「Lightbend Academy」を提供されていますが、2020年夏の間(※)は無償で受講できるようになっています。 ※2020/07/14現在。当初は無償期間が6月末まででしたが、7月末 -> 夏いっぱいと期間が延長されています。 ※「Lightbend Academy」の受講については、こちらのスライド「Lightbend Academyオンライントレーニングを受けてみた」もご参照ください。 この記事では「Lightbend Academy」を受講して学んだ、リアクティブな性質を備えたマイクロサービスを設計・開発するために知っておきたい知識や理論 を、私なりに整理・再編してご紹介したいと思いま
こんにちは、プラットフォームチームの池田と申します。初投稿です。 プラットフォームチームではマイクロサービスアーキテクチャの構成を採用し開発を進めています。 どんな構成でも忘れてはいけないのがロギング。いわゆる非機能要件の1つで地味な存在ですが、サービス運用を支える上で非常に重要です。 直近でマイクロサービスにおけるロギングの構成を調査し、プラットフォームチームでメインで採用しているGo言語での実装を検証しました。 今回の記事ではそのまとめを紹介します。 目次 目次 ロギングベストプラクティス for マイクロサービス リクエストにユニークなIDを付与し紐付けができるようにする ログは一箇所に集める ログデータを構造化する ログに有益な情報を持たせる どのサービスでも共通で持つのが望ましいフィールド リクエストのエントリーポイントとなるサービスで持つのが望ましいフィールド Go言語での実装
公開日 : 2020年5月24日 カテゴリー : アクセシビリティ / ユーザビリティ 2020年5月22日に開催された「アクセシビリティの祭典 2020」に、ボーナストラック的な位置づけで登壇させていただき、「Essence of "Form Design Patterns"」というテーマでお話をしました。 監訳させていただいた書籍「Form Design Patterns — シンプルでインクルーシブなフォーム制作実践ガイド」を噛み砕く形で、デモを交えつつ、本書のエッセンスをご紹介する、という内容です。 下記より、プレゼンテーションスライドの PDF およびテキスト起こしをダウンロードできます。 プレゼンテーションスライド (.pdf) テキスト起こし (.txt) また今回のセッションでは、スクリーンリーダー (iOS VoiceOver) を用いたフォーム操作の様子を、デモ動画とし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く