タグ

設計に関するbopperjpのブックマーク (65)

  • Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog

    はじめまして、サーバサイドエンジニアの立木です。 特定業種向けポータルサイトやスマートフォンゲーム開発などを経て、昨年3月に入社し、現在はANDPADの開発に従事しています。 アンドパッドでは、技術顧問をして頂いてる三谷(mita2)さんによる、データベースに関する勉強会が定期的に行われております。 tech.andpad.co.jp 先日もデータベースの観点から、Webアプリケーションのパフォーマンスをいかにして監視し、改善していくかという勉強会を開催していただきました。 今回はその勉強会について気になったポイントをまとめてみたいと思います。 当日の資料 概要 ANDPADの現状について分析 Datadogによる分析手法 よくある改善パターン 質疑応答 ANDPADの現状について分析 Webサイトのパフォーマンスは大事当たり前ですが、Webサイトにとってパフォーマンスはとても重要です。

    Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog
    bopperjp
    bopperjp 2024/04/22
    マテリアライズ使えるかも
  • DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions

    gotanda.rb#52@オンライン "DB外の副作用をトランザクションから分離しよう"

    DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions
    bopperjp
    bopperjp 2023/04/21
    わー、、全然考えてこなかったから、死ぬほどためになるわー。
  • 『ソフトウェアアーキテクチャ・ハードパーツ』 - Don't Repeat Yourself

    『ソフトウェアアーキテクチャ・ハードパーツ』を訳者の方からご恵贈いただきました。ありがとうございます。献については基的にすべて書評を書こうと思っているため、今回も記事にします。発売は10/27のようです。 ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析 作者:Neal Ford,Mark Richards,Pramod Sadalage,Zhamak DehghaniオライリージャパンAmazon おことわり まず指示語についてです。記事中で「書」「この」と書く場合は『ソフトウェアアーキテクチャ・ハードパーツ』を指します。また、「著者」は書を執筆した人を指すものとします。「筆者」といった場合、それは私のことです。 いわゆるスキミングをした状態で一旦書評をするため、書の細かい議論の見落としや用語の誤認識が含まれる可能性があります。この書評

    『ソフトウェアアーキテクチャ・ハードパーツ』 - Don't Repeat Yourself
  • 安全安心にソフトウェア開発を行うためのDesign Doc導入ガイド|面川泰明

    みなさん、コードを書く前に設計書を書きますか? 書くか書かないかは人それぞれだと思いますが、「設計」というプロセス自体は意識的であれ無意識的であれエンジニアであれば全員やっていることだと思います。 今回は設計プロセスの改善という文脈で私たちがDesign Docという仕組みを導入したことについて共有しようと思います。もし同じような状況を経験している人がいたら参考になれば幸いです。 導入の背景まずは導入するに至った状況からお話します。 私たちのサービスは、利用していただくユーザーの数が増加しています。それに伴って品質のハードルも上がってきました。サービスに障害が発生するとユーザーさんに大きな損害を出してしまうことになるからです。そこで今まで以上に安全にサービスを開発できる仕組みづくりが必要になりました。ですが、実現のためには大きく2つの課題がありました。 課題1. 開発スピードが徐々に鈍化し

    安全安心にソフトウェア開発を行うためのDesign Doc導入ガイド|面川泰明
  • 『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動

    こんにちは、リファクタリングが大好きなミノ駆動です。 これは、私が執筆した『良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』について紹介する記事です。 2022年4月30日発売です(ほぼ同日に電子書籍版も出ます)。 AmazonなどECサイトで、すでに多くの予約が入っており、ヨドバシ.comでは一時期予約終了になったほどです。おかげさまで初版部数が2倍になりました。 ■どんな?皆さんはプログラミングでバグを埋め込みたいですか?ロジック修正が上手くいかず、ヒィヒィ言いながら長時間残業したいですか?イヤに決まってますよね。ところが現実には、 何度もバグを埋め込んでしまう ロジックを読み解くのに時間がかかる やっとロジック修正しても、全然違う箇所がバグ化してしまう ……ほとんど誰もが体験しているのではないでしょうか。 でも、こうした状況をなんとかしたいと思って

    『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動
  • RDBのデータモデリング・テーブル設計の際に参考にしている考え方と資料

    はじめに タイトルのとおり、RDBのデータモデリング・テーブル設計を行う際に参考にしている考え方と関連資料をまとめました。 P.S. なんと記事内でいくつか参考として挙げさせてもらっている増田さん・かとじゅんさん・奥野さん・そーだいさんからコメントいただくことができました。 当にありがとうございます。 前提 RDBを採用するのは事実を無駄なく正しく記録するため 正規化、トランザクション、制約とデータ整合性 基的には始めに理想として集合論・リレーショナルモデルに基づいて正規化を考え(論理設計)、パフォーマンスなどの現実問題に対して折り合いをつけていく(物理設計) 制約を最大限利用する cf: ↑P91〜 ↑P.29,41 ↑P56〜 ↑5章 ↑P347~ 情報とデータ データ:単なる事実の値→これを永続化して蓄えるものがRDB 情報:データから生み出される意味や目的のあるもの→RDB

    RDBのデータモデリング・テーブル設計の際に参考にしている考え方と資料
    bopperjp
    bopperjp 2022/03/23
    データベース設計
  • 振る舞いをUMLで表現する-ステートチャート図

    第6回「振る舞いをUMLで表現する-相互作用図」は、オブジェクト間のコラボレーションを表現する相互作用図について説明しました。相互作用図はオブジェクト指向の基的考え方である自律分散協調動作をモデリングするものです。UMLには、メッセージの時系列を重視するシーケンス図とオブジェクト間のコラボレーションを簡単に表現するコラボレーション図の2つのダイアグラムが定義されています。 今回は「振る舞いをUMLで表現する」の第2回として、UMLのもう1つの動的モデルであるステートチャート図について説明します。ステートチャート図はある特定のオブジェクトに注目して、そのライフサイクルをモデリングするものです。 はじめに前回の復習の意味で、最後に宿題として挙げておきました問題について考えてみましょう。前回の説明では、お母さんと妹が協力して弁当を作るというシナリオで相互作用モデルを作成しました。これとはちょっ

    振る舞いをUMLで表現する-ステートチャート図
    bopperjp
    bopperjp 2021/11/18
    わかりやすいUML
  • The Amazon Builders' Library

    【毎月更新・日AWS エンジニアがクラウド解説】 初心者向け解説、最新のクラウドネイティブな開発手法・利用シーン別ハンズオンを学ぶ »

    The Amazon Builders' Library
  • わかる!ドメイン駆動設計 ~もちこちゃんの大冒険~【C91新刊】 - TechBooster - BOOTH

    【C91新刊(電子書籍)】 わかる! ドメイン駆動設計~もちこちゃんの大冒険~(A5相当で60p)はソフトウェア設計手法であるドメイン駆動設計(DDD)の解説書です。 DDDの原書である「エリック・エヴァンスのドメイン駆動設計」はたいへん分厚く、読み応えがある内容です。 そこでDDDを理解する手助けに(すべてを解説するのではなく)入門に必要な知識をわかりやすく、物語を通じて理解できる構成にしました。 主人公の「もちこちゃん」はモバイルエンジニアであり、いろんな人の手を借りながらソフトウェアモデルを設計していきます。道中にもちこちゃんが出会った問題は、どんなエンジニアでも遭遇する共通の課題です。書を読むことでチームでの開発指針を定めたい、プロジェクトの見通しを良くしたいなど複雑化したソフトウェア開発を良くしていく活動への示唆となれば幸いです。 もちこちゃんの冒険が今から始まる。 【電子書籍

    わかる!ドメイン駆動設計 ~もちこちゃんの大冒険~【C91新刊】 - TechBooster - BOOTH
  • Shopify Developers Platform—Build. Innovate. Get paid.

    Opens in a new windowOpens an external siteOpens an external site in a new window Compose, customize, and extend every part of the commerce stack—from storefront to checkout to backend integrations—and create unique experiences for your brand or millions of merchants around the world.

    Shopify Developers Platform—Build. Innovate. Get paid.
    bopperjp
    bopperjp 2021/02/25
    Hanami的設計。大規模になってMVCだけだと、Controller, Model の Fat化が避けられない。そこで、Model の 「ビジネスロジック部分」「ORM部分」「Viewとのやりとり部分」にアーキテクチャ上名前を付けて分離。
  • - UML超入門_第2章

    2章では,簡単な業務システムを例にしてUMLの記法をひと通り詳しく解説して行きます. なるべく分かりやすく具体的な例として,社員の出退勤の管理を行う,勤怠管理システムを選びました. この章は入門ということで、通常のモデリング作業でよく用いられる基的な要素に重点を置いて説明していきます。 UMLの図と、その図に使用される要素を説明するだけでなく、イメージしやすいように、 勤怠管理システムを例にして説明していくことにしましょう。 勤怠システムの仕様 今回の例に用いるのは、社員の出退社時間を管理するシステムです。 社員は出退社処理しか行えませんが、総務の人は勤怠変更入力することが可能です。 また、次期開発では、遅刻/早退の場合には、理由を入力する機能を持たせます。 画面のイメージは図1のようになっています。勤怠変更画面のイメージは省略します。

    bopperjp
    bopperjp 2020/11/18
    システムが簡単なので、UML各図の用途と使い方がわかりやすい
  • ユースケース 複合図 - Google 検索

    2020/04/13 · 業務フロー図 と ユースケース複合図 を1つの図としてまとめたものです。 業務フローと一緒にシステムとのやりとりの全体像が把握できるので、ビジネス ...

  • リレーションシップ駆動要件分析(RDRA) - Qiita

    リレーションシップ駆動要件分析(RDRA)とは? 要件定義において、重要な要素が3つあります。 「網羅性」:システムの目的や、それを実現するための要件が漏れや重複無く定義されている 「整合性」:各要件の整合性が取れている 「表現力」:それぞれの要件が分かりやすく表現されている 複数の人間で共同作業する際にも、網羅性によって要件定義に必要な情報の枠組みが決まり、整合性によって作業の手順が決まり、表現力によって共通認識を確立します。 リレーションシップ駆動要件分析(RDRA)とは、要件定義において重要なこれらの3要素を高いレベルで実現するための要件分析フレームワークです。 RDRAでは要件定義を4つの構成要素に分け、UMLを拡張した表現方法で要件分析を行います。 よくあるように要件をリストでただ並べるのではなく、UMLの視覚効果を利用することで表現力を実現します。 要件定義についてはこちら↓

    リレーションシップ駆動要件分析(RDRA) - Qiita
  • RDRA+プロトタイピングおよび仕様化時に役立つ技術、事例紹介

    RDRA(らどら:リレーションシップ駆動要件分析)での要件定義を行った後、より開発可能な「仕様化」に向けた設計を行う際に役立つ技術を2つ、事例を含めて紹介します。 紹介する技術は主に以下の2つです。 ・RDRA+プロトタイピング ・RDRA+バリューオファー(仮)Read less

    RDRA+プロトタイピングおよび仕様化時に役立つ技術、事例紹介
  • リレーションシップ駆動要件分析 - Google 検索

    2019/05/19 · RDRAでは、要件定義の構成要素として「システム価値」「システム外部環境」「システム境界」「システム」の4つを定義します。 要件定義は要件を決めていく ...

  • アプリケーションにおける権限設計の課題 - kenfdev’s blog

    日々権限設計で頭を抱えてます。この苦悩が終わることは無いと思ってますが、新しい課題にぶつかっていくうちに最初のころの課題を忘れていきそうなので、現時点での自分の中でぐちゃぐちゃになっている情報をまとめようと思い、記事にしました。 所々で「メリット」「デメリット」に関連する情報がありますが、そのときそのときには色々と感じることがあっても、いざ記事にまとめるときに思い出せないものが多々ありました。フィードバックや自分の経験を思い出しながら随時更新する予定です。 TL;DR(長すぎて読みたくない) 想定する読者や前提知識 この記事での権限とは 権限の種類 ACL(Access Control List) RBAC(Role-Based Access Control) ABAC(Attribute-Based Access Control) どの権限モデルを採用するべきか 権限を適用する場面 機能

    アプリケーションにおける権限設計の課題 - kenfdev’s blog
  • テスト設計技法の適用・・・その前に

    2. 自己紹介 • 氏名:なかむら こうじ • あなたとテストの関わり:1~2年に1案件くらいやる • 組織の主な業務:SIです • 業務担当している主な分野:なんでも。今は要件定義。 • テストに関連する資格:JSTQB AL TM/TA, JCSQE 中級 • あなたの派閥:派 2017/6/17 WACATE 2017 Summer 2 3. WACATEとテスト設計技法の歴史 2010 冬 デシジョンテーブルを使いこなそう!(加瀬正樹) https://www.slideshare.net/softest/wacate2010w デシジョンテーブル 2012 夏 入門!組合せテスト(井芹洋輝) https://www.slideshare.net/goyoki/ss-34571626 基用語等の基礎知識 組合せテスト技法はじめの一歩(近江久美子) https://www.sli

    テスト設計技法の適用・・・その前に
  • 新しいAndroidプロジェクトを作るならこれ!Android設計&Kotlin入門資料集2019 - Qiita

    この記事のターゲット 新しいAndroidプロジェクトの開発を始めるので、ベストプラクティスを知りたい Androidアプリの開発をやっているが、最近の設計をどこからキャッチアップしていいかわからない この記事に載っていないこと Androidアプリ開発の基学習のための資料 Android設計入門 Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する - エンジニアHub|若手Webエンジニアのキャリアを考える! Jetpack(Android Architecture Components) 新しくプロジェクトを作るのであればJetpackをフル活用するべき。 Jetpack は、優れた Android アプリを簡単に開発できるようにするための Android ソフトウェア コンポーネントのコレクシ

    新しいAndroidプロジェクトを作るならこれ!Android設計&Kotlin入門資料集2019 - Qiita
  • 設計のための、問題の捉え方〜ドメイン知識の暗黙知を形式知に〜(まとめ版) - Speaker Deck

    「2018/11/8 設計Night2018 powered by Classi」で発表した資料です 当日の資料のページ数が多すぎた(140ページ)ので、2/3くらいにまとめました

    設計のための、問題の捉え方〜ドメイン知識の暗黙知を形式知に〜(まとめ版) - Speaker Deck
  • Set-Based Design – Scaled Agile Framework

    品質は、作品がそれ自体の中に代案を取り込み、使いこなす深さによって決まる。─テオドール・アドルノ バラツキを認め、複数の選択肢を残す─SAFeの第3原則 セットベースの設計の概要 システム開発は、未確定事項を減らして知識へと変換し続けるプロセスであるといえる。最初にシステムをどれだけうまく定義し設計したとしても、実際の顧客のニーズや技術の選択はどちらも未確定なので、システムをどう実装する必要があるかの認識は、現実を反映して変えていかなければならない。 ポイントベースの設計(具体的で詳細な要求およびシステム設計をプロセスの早い段階で確約するというプロセス)では、システム開発者は、その後に得られる経験に基づいたデータを利用することができない。そのデータはシステム開発が進まないと手に入らないからである。選択した設計がうまく機能しないと気付くのがプロセスのずっと遅い時点まで遅れるため、すんなりと正

    bopperjp
    bopperjp 2018/10/25
    セットベース設計