APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
![Webアプリケーション概要 2021 / Web Application Overview 2021](https://cdn-ak-scissors.b.st-hatena.com/image/square/a5cd5ca6075526d7ba0791a671cdb1bcf444be95/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F1321f7631d5d424b8fa3f85890a5086a%2Fslide_0.jpg%3F18495509)
4月に発売した書籍「Kotlin サーバーサイドプログラミング実践開発」なのですが、この中で途中まで作っていてボツネタにした内容がありました。 gihyo.jp それが「Gradleのマルチプロジェクトでオニオンアーキテクチャを実現する」というものです。 第2部で作成していたbook-managerというアプリケーションは、もともとこれを使って作成していましたが、途中でやめて現在の形になりました。 github.com ボツネタにした理由としては、一回実践で導入してみていくつか微妙な点があったことと、紙面上の説明が複雑になるのでベーシックな内容としては外していいかなと思ったためです。 ただせっかく途中まで作っていたので、試して微妙と感じた点も含めて、今回紹介したいと思います。 サンプルとしてこのbook-managerの内容をマルチプロジェクト化したアプリケーションを使い、オニオンアーキテ
2021年7月に発足したMAD事業部が、実際なにを価値提供するのか?理想の支援の形を赤裸々にお話します。 「クラスメソッドMADってなんなん?なんか狂った感じ?」 「うん、だいたいあってる」 というわけで、ハマコーこと濱田孝治は、2021年7月付で、クラスメソッド株式会社 CX事業本部 MAD事業部の部長を拝命致しました。 拝命とか書くと「そんな厳かな儀式があんの?」と思われる方もいるかも知れませんが、そこは弊社、のんびりしたもんです。自分も「ブチョー」と言われてもあまりぴんときません。 MAD事業部は、MADチームとしてちょうど一年前の2020年7月に発足しました。この一年はとにかく目の前の案件をこなしていくことに精一杯の一年だったのですが、改めてこれまでを振り返ってみることで、我々がどのように進化していきたいのか、何を社会に価値提供していきたいのかがおぼろげながら見えてきました。 MA
tl;drすべてのデータを高品質に保とうとしない。事業フェーズやプロダクト仕様、マネタイズ方法に応じて、品質を守るべきデータを明確に定義し、「品質が守られた箱の中の世界」を明確にする。データ品質維持の前提は、Single Source of Truth。SSOTなDWHを構築することとセットな取り組みであることが大切。データ品質管理のHowとしては、dbtがおすすめ。not_nullやrelationshipなどdbtがもつtest機能を活用し、データ品質監視を実現しよう。当然、dbtだけでは品質は守られない。Data Meshのような議論から運用体制を考えていく必要もある。聞こえのよい新しいものに踊らされる前に、着実に必要なデータ品質を守っていこうね。 こんにちは、こんばんは。Ubie Discoveryのsotaronです。データエンジニアをやったり、小倉唯さんのファンクラブ会員などを
There is no consensus on the right way to organize a React application. React gives you a lot of freedom, but with that freedom comes the responsibility of deciding on your own architecture. Often the case is that whoever sets up the application in the beginning throws almost everything in a components folder, or maybe components and containers if they used Redux, but I propose there's a better wa
Web Neural Network API W3C Candidate Recommendation Draft, 5 May 2024 More details about this document This version: https://www.w3.org/TR/2024/CRD-webnn-20240505/ Latest published version: https://www.w3.org/TR/webnn/ Editor's Draft: https://webmachinelearning.github.io/webnn/ Previous Versions: https://www.w3.org/TR/2024/CRD-webnn-20240503/ History: https://www.w3.org/standards/history/webnn/ Im
Background Image Courtesy: Photo by Joshua Sortino on UnsplashImagine you have a pile of bricks somewhere. And you want to build a wall with those bricks here. Let’s say you have a friend to help move the bricks. To start building, you now have two options. You can either wait until your friend brings the whole pile of bricks to you, or you can start building as soon as you have a few bricks to st
クリーンアーキテクチャで web アプリケーションを作る際に、バリデーションはどのレイヤの責務なのか?と悩むことが多いため、それについての考察を行ってみる。 あと、バリデーションについて書いてたはずがドメインロジックとアプリケーションロジックの違いについても結構言及せざるを得ない感じになったので、そのへんの話もしてみる。 結論から言うと バリデーションはどのレイヤの責務なのか?という問い自体が間違いであり、レイヤごとにそのレイヤの責務となるバリデーションを行うべき、というのが今のところの結論。 バリデーションという単語は意味があまりに広い。「意図していないもの/ことを防ぐ」ことはすべてバリデーションと呼ばれている節がある。そのことにより、バリデーションというのはあたかも唯一つの責務であるかのように錯覚しがちだが、そうではない。クリーンアーキテクチャではレイヤによって責務を分担しているが、同
Paper Q&A How to ALPN/SNI Updates! News A big reevaluation of TLS libraries, TLS application servers, and a new internet scan by Jannik Hölling is now available in the Updates section! ALPACA will be presented at Black Hat USA 2021, USENIX Security Symposium 2021, and Real Word Crypto Symposium 2022! Recommended articles: Ars Technica (Dan Goodin), Golem (Hanno Böck; German) Introduction TLS is an
要約 現在最新のGoogle Chormeで10080番ポートが使用できなくなった Firefoxではすでにブロック済み NAT Slipstreaming v2攻撃への対応のため ブラウザからアクセスするサーバを建てる場合は10080以外のポートにするべき 回避方法は一応ある Chrome 91以降は10080番ポートがブロックされる Google Chormeの91 (2021/05/25 リリース)から10080番ポートへのサーバに接続できなくなります。 例えば Google Chrome 90だと以下のように10080番のポートを受け付けるサーバにアクセスできますが、91以降だとアクセスできなくなります % python -m http.server 10080 Serving HTTP on 0.0.0.0 port 10080 (http://0.0.0.0:10080/) .
[速報]マイクロソフト、自然言語をプログラミング言語にAIで変換、新ノーコード機能をPower Appsに搭載。AI言語モデル「GPT-3」を採用。Microsoft Build 2021 マイクロソフトは、オンラインで開催中の開発者向け年次イベント「Microsoft Build 2021」で、ローコード/ノーコード開発ツール「Power Apps」に、英語で説明すると自動的にその機能をプログラミング言語の「Power Fx」に変換してくれる新機能の搭載を発表しました。 Power FxはExcelの数式をベースにしたプログラミング言語で、今年の3月に発表されたばかりです。 参考:Excelの数式をベースにしたプログラミング言語「Microsoft Power Fx」登場。オープンソースで公開予定。Microsoft Ignite 2021 これによりプログラミングせずに、Power A
Learn how to use Docker to create images for development and production. Imagine that you have developed a full fledged working application and want other developers to contribute to the project. Now if the application consists of different components like UI, running server, database etc. The new developer should install the exact configuration of the entire stack on to his/her system before star
はじめに 前回のエントリーでは、Azure Functions で Puppeteer を動かして、特定のページのスクリーンショットを取得する Web API を作ってみました。 uncaughtexception.hatenablog.com Web API で動作がするのは確認できましたが、Web ブラウザーのアドレスランを編集して URL クエリーに対象の URL を入れるのがやや面倒なので、Web API を使用しつつ Web ページで UI を作ってみたいと思い、 静的ページとバックエンド API を一緒にデプロイできる Azure Static Web Apps (以下 SWA、ちな Preview) で試してみました。 Azure Static Web Apps を作る クイック スタートがあるので、そのまま使います。 docs.microsoft.com ざっくりいうと、
app todoApp { title: "ToDo App", // visible in the browser tab auth: { // full-stack auth out-of-the-box userEntity: User, methods: { google: {}, gitHub: {}, email: {...} } } } route RootRoute { path: "/", to: MainPage } page MainPage { authRequired: true, // Limit access to logged in users. component: import Main from "@client/Main.tsx" // Your React code. } query getTasks { fn: import { getTasks
Authelia is an open-source authentication and authorization server providing two-factor authentication and single sign-on (SSO) for your applications via a web portal. It acts as a companion for reverse proxies by allowing, denying, or redirecting requests. Documentation is available at https://www.authelia.com/. The following is a simple diagram of the architecture: Authelia can be installed as a
Prisma is a next-generation ORM for Node.js and TypeScript. After more than two years of development, we are excited to share that all Prisma tools are ready for production! Contents A new paradigm for object-relational mapping Ready for production in mission-critical apps Prisma fits any stack Open-source, and beyond How can we help? Get started with Prisma Come for the ORM, stay for the communit
Visual Studio 2022 launch is here! Join us at our free online event to celebrate the launch of Visual Studio 2022. Learn about what’s new, hear tips & tricks, participate in the live Q&As, and be the first to take the latest version for a spin. All of our product development begins and ends with you—whether you posted on Developer Community, filled out a survey, sent us feedback, or took part in a
Published on 2021-04-14. Modified on 2023-02-16. The name SQLite is a nice name, but the "lite" part is misleading, it sounds like it is only useful for tiny things - which is very wrong. SQLite should be named AwesomeSQL, because that is what it is. SQLite is probably the only database you will ever need in most cases. SQLite is a relational database management system contained in a C library. It
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く