Suche senden
Hochladen
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
•
2 gefällt mir
•
4,474 views
株式会社MonotaRO Tech Team
Folgen
Developers Boost KANSAI (2019.6.15 @Osaka) の発表資料です。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 75
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
増田 亨
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Koichiro Matsuoka
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
Empfohlen
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
増田 亨
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Koichiro Matsuoka
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
こわくない Git
こわくない Git
Kota Saito
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
Kenjiro Kubota
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説
MinoDriven
ドメイン駆動開発 勉強会 ①
ドメイン駆動開発 勉強会 ①
Kakeru Kikuchi
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM,INC
Security measures
Security measures
shusuke-ichikawa
Weitere ähnliche Inhalte
Was ist angesagt?
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
こわくない Git
こわくない Git
Kota Saito
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
Kenjiro Kubota
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説
MinoDriven
ドメイン駆動開発 勉強会 ①
ドメイン駆動開発 勉強会 ①
Kakeru Kikuchi
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
Was ist angesagt?
(20)
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
Pythonによる黒魔術入門
Pythonによる黒魔術入門
こわくない Git
こわくない Git
地理分散DBについて
地理分散DBについて
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説
ドメイン駆動開発 勉強会 ①
ドメイン駆動開発 勉強会 ①
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
Ähnlich wie 大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM,INC
Security measures
Security measures
shusuke-ichikawa
サイトオーナーが片手間で実践できる効果測定と改善メソッド
サイトオーナーが片手間で実践できる効果測定と改善メソッド
Makoto Shimizu
Mirai carved out by innovations
Mirai carved out by innovations
Osaka University
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
MicroAd, Inc.(Engineer)
Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話
雄大 廣瀬
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
株式会社MonotaRO Tech Team
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
You&I
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方
Shun Nukui
機械学習システムの品質保証に向けた課題とコンソーシアム活動
機械学習システムの品質保証に向けた課題とコンソーシアム活動
Hideto Ogawa
Webを支える組み込み技術
Webを支える組み込み技術
Yuji Chiya
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
Kotaro Ogino
(インテージテクノスフィア)FY20_技術探究委員会_ブロックチェーン分科会活動報告
(インテージテクノスフィア)FY20_技術探究委員会_ブロックチェーン分科会活動報告
INTAGEGROUP
SORACOM Technology Camp 2018 ベーシックトラック2 | そのデバイス、どうしたらIoT化できますか?事例に見るセンサー/デバイ...
SORACOM Technology Camp 2018 ベーシックトラック2 | そのデバイス、どうしたらIoT化できますか?事例に見るセンサー/デバイ...
SORACOM,INC
リクルート式AIの活用法
リクルート式AIの活用法
Recruit Technologies
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
内製化 20190618 rpa_comunityvol11 LT
内製化 20190618 rpa_comunityvol11 LT
勝也 石井
アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜
MicroAd, Inc.(Engineer)
Yapc::Asia_2012
Yapc::Asia_2012
Masaru Hoshino
Coldfusionを活かすシステム企画をリーンスタートアップに学ぶ
Coldfusionを活かすシステム企画をリーンスタートアップに学ぶ
masashi takehara
Ähnlich wie 大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
(20)
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
Security measures
Security measures
サイトオーナーが片手間で実践できる効果測定と改善メソッド
サイトオーナーが片手間で実践できる効果測定と改善メソッド
Mirai carved out by innovations
Mirai carved out by innovations
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
Clean Architecture用の開発ツールを作ったお話
Clean Architecture用の開発ツールを作ったお話
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
モノタロウECプラットフォームを支える開発運用モダナイゼーションの取り組み #devsumi
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方
機械学習システムの品質保証に向けた課題とコンソーシアム活動
機械学習システムの品質保証に向けた課題とコンソーシアム活動
Webを支える組み込み技術
Webを支える組み込み技術
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
(インテージテクノスフィア)FY20_技術探究委員会_ブロックチェーン分科会活動報告
(インテージテクノスフィア)FY20_技術探究委員会_ブロックチェーン分科会活動報告
SORACOM Technology Camp 2018 ベーシックトラック2 | そのデバイス、どうしたらIoT化できますか?事例に見るセンサー/デバイ...
SORACOM Technology Camp 2018 ベーシックトラック2 | そのデバイス、どうしたらIoT化できますか?事例に見るセンサー/デバイ...
リクルート式AIの活用法
リクルート式AIの活用法
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
内製化 20190618 rpa_comunityvol11 LT
内製化 20190618 rpa_comunityvol11 LT
アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜
Yapc::Asia_2012
Yapc::Asia_2012
Coldfusionを活かすシステム企画をリーンスタートアップに学ぶ
Coldfusionを活かすシステム企画をリーンスタートアップに学ぶ
Mehr von 株式会社MonotaRO Tech Team
本番環境でやらかしちゃった選手権_MonotaRO社内LT会利用スライド.pdf
本番環境でやらかしちゃった選手権_MonotaRO社内LT会利用スライド.pdf
株式会社MonotaRO Tech Team
この技術書がすごい!2023夏(おすすめの技術書をペライチで紹介する選手権) .pdf
この技術書がすごい!2023夏(おすすめの技術書をペライチで紹介する選手権) .pdf
株式会社MonotaRO Tech Team
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
株式会社MonotaRO Tech Team
【TECHTRACKJP】私ってデータエンジニアなんですか?気づいたらデータエンジニアと呼ばれるようになった私がこの職種について考えた【20230725】
【TECHTRACKJP】私ってデータエンジニアなんですか?気づいたらデータエンジニアと呼ばれるようになった私がこの職種について考えた【20230725】
株式会社MonotaRO Tech Team
【マーケティング・テクノロジーフェア 大阪 2023】 データから正しい意思決定を行うために 〜全社横断で実施したデータ活用プロジェクトの取...
【マーケティング・テクノロジーフェア 大阪 2023】 データから正しい意思決定を行うために 〜全社横断で実施したデータ活用プロジェクトの取...
株式会社MonotaRO Tech Team
[ITmedia Cloud Native 2023] モノタロウのクラウドネイティブ.pdf
[ITmedia Cloud Native 2023] モノタロウのクラウドネイティブ.pdf
株式会社MonotaRO Tech Team
datatech-jp Casual Talks #5_データ基盤の立ち位置を考えるのに チームトポロジーの概念を活用した話
datatech-jp Casual Talks #5_データ基盤の立ち位置を考えるのに チームトポロジーの概念を活用した話
株式会社MonotaRO Tech Team
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
JDMC LT#1 - なぜモノタロウでデータマネジメントが必要になったのか
JDMC LT#1 - なぜモノタロウでデータマネジメントが必要になったのか
株式会社MonotaRO Tech Team
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
株式会社MonotaRO Tech Team
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
株式会社MonotaRO Tech Team
データ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決する
株式会社MonotaRO Tech Team
モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021
モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021
株式会社MonotaRO Tech Team
「指標」を支えるエンジニアリング: DataOpsNight #1
「指標」を支えるエンジニアリング: DataOpsNight #1
株式会社MonotaRO Tech Team
データ管理に重要なことは事業と組織の理解だった(Data Engineering Study #11 発表資料)
データ管理に重要なことは事業と組織の理解だった(Data Engineering Study #11 発表資料)
株式会社MonotaRO Tech Team
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
株式会社MonotaRO Tech Team
全社のデータ活用を一段階上げる取り組み
全社のデータ活用を一段階上げる取り組み
株式会社MonotaRO Tech Team
データ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディング
株式会社MonotaRO Tech Team
MonotaRO LT - ESLintの仕組み
MonotaRO LT - ESLintの仕組み
株式会社MonotaRO Tech Team
ITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookie
株式会社MonotaRO Tech Team
Mehr von 株式会社MonotaRO Tech Team
(20)
本番環境でやらかしちゃった選手権_MonotaRO社内LT会利用スライド.pdf
本番環境でやらかしちゃった選手権_MonotaRO社内LT会利用スライド.pdf
この技術書がすごい!2023夏(おすすめの技術書をペライチで紹介する選手権) .pdf
この技術書がすごい!2023夏(おすすめの技術書をペライチで紹介する選手権) .pdf
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
【TECHTRACKJP】私ってデータエンジニアなんですか?気づいたらデータエンジニアと呼ばれるようになった私がこの職種について考えた【20230725】
【TECHTRACKJP】私ってデータエンジニアなんですか?気づいたらデータエンジニアと呼ばれるようになった私がこの職種について考えた【20230725】
【マーケティング・テクノロジーフェア 大阪 2023】 データから正しい意思決定を行うために 〜全社横断で実施したデータ活用プロジェクトの取...
【マーケティング・テクノロジーフェア 大阪 2023】 データから正しい意思決定を行うために 〜全社横断で実施したデータ活用プロジェクトの取...
[ITmedia Cloud Native 2023] モノタロウのクラウドネイティブ.pdf
[ITmedia Cloud Native 2023] モノタロウのクラウドネイティブ.pdf
datatech-jp Casual Talks #5_データ基盤の立ち位置を考えるのに チームトポロジーの概念を活用した話
datatech-jp Casual Talks #5_データ基盤の立ち位置を考えるのに チームトポロジーの概念を活用した話
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
JDMC LT#1 - なぜモノタロウでデータマネジメントが必要になったのか
JDMC LT#1 - なぜモノタロウでデータマネジメントが必要になったのか
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
データ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決する
モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021
モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例 - Jenkins Day Japan 2021
「指標」を支えるエンジニアリング: DataOpsNight #1
「指標」を支えるエンジニアリング: DataOpsNight #1
データ管理に重要なことは事業と組織の理解だった(Data Engineering Study #11 発表資料)
データ管理に重要なことは事業と組織の理解だった(Data Engineering Study #11 発表資料)
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
全社のデータ活用を一段階上げる取り組み
全社のデータ活用を一段階上げる取り組み
データ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディング
MonotaRO LT - ESLintの仕組み
MonotaRO LT - ESLintの仕組み
ITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookie
Kürzlich hochgeladen
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(10)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
大規模フロントエンドのクリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~
1.
大規模フロントエンドの クリーンアーキテクチャ化 ~ 年間売上1,000億円企業モノタロウの取組み ~ 12019.06.15
© 2019 MonotaRO Co., Ltd. All Rights Reserved. 株式会社MonotaRO データマーケティング部門 芝本 雅史
2.
次のどれかに悩んでいる人 ● 複雑に依存しているシステム ● 技術的負債を抱えているシステム ●
テストコードがないシステム 2 対象者
3.
CleanArchitectureについて ● 詳しく知らなくても学びながら作れる 3 もちかえってほしいこと
4.
アジェンダ 4 ● 自己紹介 ● 背景 ●
CleanArchitectureとは? ● 取り組んで得た知見 ● まとめ
5.
自己紹介 5
6.
氏名 芝本 雅史
(shibamoto masashi) 誕生日 1994/02/14 出身 大阪 会社 株式会社MonotaRO データマーケティング部門 趣味 個人開発 興味 K8s,GCP,MicroFrontends twitter silver_birder portfolio https://silver-birder.github.io 自己紹介 6
7.
株式会社モノタロウ 7 ● 事業者向けに提供する間接資材の通信販売会社 ● 年間売上1,053億円の売上
(2018年) ○ 前年比24.0%↑ ■ 2019年売上計画1,305億円 ○ 9年連続20%↑の成長率 (2009年~)※ ※ https://pdf.irpocket.com/C3064/g9xd/i8RW/uNIX.pdf no.7 システムは主にPython
8.
背景 8
9.
9 急成長するモノタロウだが...
10.
10 急成長についていけてないものがある...
11.
11 背景 shibamoto MonotaRO FrontEnd ServerSide
- Search Page my mental capacity
12.
12 背景 Python shibamoto MonotaRO FrontEnd ServerSide
- Search Page my mental capacity
13.
13 背景 Python 独自MVC フレームワーク (テストコードなし) shibamoto MonotaRO FrontEnd ServerSide
- Search Page my mental capacity
14.
14 背景 Python 独自MVC フレームワーク (テストコードなし) 技術的負債 shibamoto MonotaRO FrontEnd ServerSide
- Search Page my mental capacity
15.
15 背景 Python 独自MVC フレームワーク (テストコードなし) 技術的負債 新機能拡張 shibamoto MonotaRO FrontEnd ServerSide
- Search Page my mental capacity
16.
16 背景 Python 独自MVC フレームワーク (テストコードなし) 技術的負債 新機能拡張 独自MVC フレームワーク 開発者の退職 shibamoto MonotaRO FrontEnd ServerSide
- Search Page my mental capacity
17.
17 独自フレームワークから 脱却しないと...!
18.
18 独自フレームワークがシステムと 密結合していて無理...
19.
19 テストコードがないから不安...
20.
20 そんなときに!
21.
21 背景 Python 独自MVC フレームワーク (テストコードなし) 技術的負債 新機能拡張 独自MVC フレームワーク 開発者の退職 cleanArchitectureshibamoto MonotaRO FrontEnd ServerSide
- Search Page my mental capacity
22.
CleanArchitectureとは? 22
23.
23 CleanArchitecture 特徴 関心の分離 一方向への依存関係 ※ https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
24.
24 CleanArchitecture レイヤー名 役割 Frameworks & Drivers DBやフレームワークの詳細 Interface Adapters 内外へのデータ変換 Application Business
Rules アプリケーション固有のビジネ スルールをカプセル化 Enterprice Business Rules 企業全体のビジネスルールを カプセル化 ※ https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
25.
● データベースやWebフレームワークの詳細 ○ ex. ■
databaseへの接続設定 ■ Webフレームワークの設定 25 関心の分離 - Frameworks & Drivers -
26.
● 外→内 ○ 外部アクセスからユースケースを呼び出し ■
ex. ● MVCの Controller ● 内→外 ○ Enterpriseのデータを外部へ適した形に変換 ■ ex. ● MVCのView (Presenter) 26 関心の分離 - Interface Adapters -
27.
● アプリケーション固有のビジネスルールを カプセル化 ● データベース,UI,フレームワークから隔離 ○
ex. ■ キーワードから商品を検索するユースケース ■ ユーザー情報を登録するユースケース 27 関心の分離 - Application Business Rules -
28.
● 企業全体のビジネスルールをカプセル化 ● データとメソッドを持つ ○
ex. ■ 商品情報のドメイン ● メソッド:特価の商品か判断する ■ ユーザー情報のドメイン ● メソッド:〇企業に属するか判断する 28 関心の分離 - Enterprise Business Rules -
29.
● 依存関係逆転の原則 ○ dependency
inversion principle 29 一方向への依存関係
30.
30 依存関係逆転の原則 ※ https://ja.wikipedia.org/wiki/依存性逆転の原則 before
31.
31 依存関係逆転の原則 after ※ https://ja.wikipedia.org/wiki/依存性逆転の原則
32.
● フレームワークからの独立 ○ Independent
of Frameworks ● データベースからの独立 ○ Independent of Database ● UIからの独立 ○ Independent of UI 32 CleanArchitectureの良い面 ※ https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
33.
● テスト可能 ○ Testable 33 CleanArchitectureの良い面 ※
https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
34.
● ソースコードのファイルが増える ○ 処理を追う時間がかかる 34 CleanArchitectureの悪い面
35.
UIでは「Atomic Designによるコンポーネント 化」に取り組みました。 ※ 今回は話しません。
35 CleanArchitecture以外の取り組み
36.
取り組んで得た知見 36
37.
1. 学習しながら開発 2. リリースを分割 3.
本質的なことに集中 4. テストの手段 37 取り組んで得た知見
38.
● 先に幹となる処理を書いて、後から枝葉と なる処理を書くこと ○ 根本となる設計から始められる 38 1.
学習しながら開発
39.
CleanArchitectureって、 どこから開発したら良いんだ..? 39 1. 学習しながら開発
40.
チームでCleanArchitectureについて 詳しい人はいないし... 40 1. 学習しながら開発
41.
最初から最後までを1本通して 作ってみよう 41 1. 学習しながら開発
42.
42 1. 学習しながら開発 Controller Use
Case Entity Presenter 先に幹となる処理を書いて、後から枝葉となる処理を書く キーワードから商品を検索
43.
43 1. 学習しながら開発 Controller Use
Case Entity Presenter Use Case Entity 先に幹となる処理を書いて、後から枝葉となる処理を書く キーワードから商品を検索 カテゴリから商品を検索
44.
44 1. 学習しながら開発 Controller Use
Case Entity Presenter Use Case Entity Use Case 先に幹となる処理を書いて、後から枝葉となる処理を書く キーワードから商品を検索 カテゴリから商品を検索 価格から商品を検索
45.
● CleanArchitectureを学習しながら、段階的 に作成可能 ○ 最初から完璧に設計するのが難しい ○
試行錯誤→理想形 ● デバッグが容易 ○ アプリケーションの動作確認がしやすい 45 1. 学習しながら開発
46.
● エンドポイント毎にリリースする等のリ リース規模を分割すること ○ メンテナンスコストを削減するため 46 2.
リリースを分割
47.
● ソースコード ○ 約3,000行 ○
約10ファイル ■ プロダクト 47 2. リリースを分割 ● ソースコード ○ 約15,000行 ○ 約300ファイル ■ 約150ファイル ● プロダクト ■ 約150ファイル ● テスト 検索ページ - CleanArchitecture化 before/after
48.
● ソースコード ○ 約3,000行 ○
約10ファイル ■ プロダクト 48 2. リリースを分割 ● ソースコード ○ 約15,000行 ○ 約300ファイル ■ 約150ファイル ● プロダクト ■ 約150ファイル ● テスト設計&実装に10人月 テストに6人月 検索ページ - CleanArchitecture化 before/after
49.
とにかく開発に時間がかかる! 49 2. リリースを分割
50.
大量の変更ファイルを維持するのは大変 早くリリースしたい... 50 2. リリースを分割
51.
リリースを早くするのには...? 51 2. リリースを分割
52.
リリースをエンドポイント毎に分割しよう 52 2. リリースを分割
53.
53 2. リリースを分割 Routing requeast 特集ページ 検索ページ 商品ページ
54.
54 2. リリースを分割 Routing requeast 特集ページ (CleanArchitecture化) 検索ページ 商品ページ release
55.
55 2. リリースを分割 Routing requeast 特集ページ (CleanArchitecture化) 検索ページ (CleanArchitecture化) 商品ページ release release
56.
56 2. リリースを分割 Routing requeast 特集ページ (CleanArchitecture化) 検索ページ (CleanArchitecture化) 商品ページ (CleanArchitecture化) release release release
57.
● トラブルの原因調査が比較的簡単 ○ ロールバックがしやすい ●
アプリケーションのサービス提供をしなが ら開発可能 ○ 新機能追加のタイミングが調整しやすい 57 2. リリースを分割
58.
● 本質的な部分以外に時間をかけないこと ○ 開発工数を抑えるため 58 3.
本質的なことに集中
59.
本質的 ● 独自フレームワークからの脱却 ● テストコード作成 59 3.
本質的なことに集中
60.
非本質的 ● ユースケースの返り値はEntityの型 ● Entityは不変オブジェクト ●
Presenterにセットした値を取得する手段 ● ...etc 60 3. 本質的なことに集中
61.
● CleanArchitectureが目的ではない ○ 何がしたいのかよく考えること ●
リファクタリングが容易 ○ テストコードがあるから 61 3. 本質的なことに集中
62.
● スナップショットテストを活用 ○ 効率的に品質を高めるため ○
ex. ■ Jest, Puppeteer 62 4. テストの手段
63.
システムリプレースのテストは どうするの? 63 4. テストの手段
64.
大規模なシステムだと、一からテスト 仕様書を書いて進めるのは非効率 64 4. テストの手段
65.
● 「HTMLが変わってないこと」に着目 ↓ スナップショットツールの活用 65 4. テストの手段
66.
66 4. テストの手段 基本パターン URLリスト 検索ページ (CleanArchitecture前) 検索ページ (CleanArchitecture後) requeast HTML HTML requeast diff 機能網羅 スナップショットツールの流れ
67.
67 4. テストの手段 ランダムパターン URLリスト 検索ページ (CleanArchitecture前) 検索ページ (CleanArchitecture後) requeast HTML HTML requeast diff アクセスログ スナップショットツールの流れ
68.
● テスト工程が簡単 ○ テスト→バグ修正を繰り返す ●
非機能要件は別途テストが必要 ○ プロファイリング ○ 負荷テスト 68 4. テストの手段
69.
取り組んだ結果 Q1. 独自フレームワークからの脱却は? A1. 独自フレームワークの処理をFrameworks
& Drivers層 に寄せたことで、他のフレームワークと切り替えれるよう になった。 フレームワークに求める機能を整理することができたた め、新たなフレームワークを採用する際に役立つ。 69
70.
取り組んだ結果 Q2. テストコードは? A2. プロダクションコードと同じぐらいの行数のテスト コードを生成できた。 インターフェースをMockで差し替えるだけで、テスト コードが容易に生成できる。また、一方向へ依存している ため、上の層を気にしなくて済む。結果、テストコードに 集中できる。 70
71.
取り組んだ結果 Q3. 悪かったことは? A3. 開発工数が予定以上に膨れてしまった。(約1.6倍) 原因の1つは、「CleanArchitectureの理解」と「業務知 識の理解」を並走して開発したため。結果、スピードが低 下した。 →
業務知識の理解者がメンバーにいると良い。 71
72.
取り組んだ結果 Q4. 良かったことは? A4. 複雑だったコードが、適切な層に配置されたことで、 コードの見通しが良くなった。 ユースケースの種類や順序が明確になるので、 仕様を把握しやすくなった。結果、保守しやすくなった。 72
73.
まとめ ● 依存フレームワークからの脱却する道筋が立った ● 開発工数が大幅に膨らんでしまう問題がある ●
CleanArchitectureに詳しい人がチームにいなくて もなんとかなる! 73
74.
急成長するモノタロウと一緒に働いてみませんか? ● 自社開発・自社運用で、全社/全業務でITを駆使するテ クノロジー企業です。テックブログもやってます。 ● 本社は関西(尼崎)で、幅広い職種を募集しています。 ○
ITエンジニア、データサイエンティスト、デジタル マーケター、プロダクトマネージャー ● お気軽にご連絡ください。 ○ shibamoto@monotaro.com 74
75.
752019.06.15 © 2019
MonotaRO Co., Ltd. All Rights Reserved.
Jetzt herunterladen