タグ

設計に関するgayouのブックマーク (37)

  • 健全なソフトウェア設計の第一歩! 既存のPHPソースコードからクラス図を自動生成しよう

    PHPに関する日最大のカンファレンスである「PHPカンファレンス2024」が2024年12月22日(日)に開催されます。カンファレンス盛り上げ企画として、開催までの5カ月間にわたりPHP技術記事の連載を企画しました。この記事をお読みの皆さんには、PHPのさまざまな技術に触れながらカンファレンス当日を楽しみにしていただければと思います。第5回目の今回は、オープンソースのツールである「PlantUML」「php-class-diagram」を使って、既存のPHPのソースコードからソフトウェア設計の把握や改善に役立つクラス図を自動生成する方法を紹介します。 複雑なシステムの課題 PHPは伝統的に、シンプルなWebサイトを迅速に立ち上げるためのツールとして威力を発揮してきました。 迅速に立ち上げられたシステムも、機能追加を繰り返しながら運用を続けていると、プログラムが複雑化して修正や機能追加を

    健全なソフトウェア設計の第一歩! 既存のPHPソースコードからクラス図を自動生成しよう
  • AWSのサービスクォータをなめてると痛い目に遭うぞ!(全サービスクォータ一覧化スクリプト付き) - Qiita

    はじめに AWSのサービスクォータ、意識していますか? 小規模なシステムであれば、意識していなくても問題になることはないかもしれません。 しかし、大規模なシステムではアーキテクチャ設計からサービスクォータを意識していないと痛い目に遭うことがあります。 記事では、サービスクォータを意識する必要性を解説します。 合わせて、全サービスクォータを一覧化するCLIスクリプトも紹介します。 2022/02/28 追記 続編書きました。↓ サービスクォータとは? 一言で言えば**「AWSのサービス毎に定められた制限」**です。 以下はVPCのクォータです。 「リージョンあたりの VPC の数」はデフォルトで「5」となっています。 「デフォルトで」というのは調整できる=引き上げ可能ということです。 なぜ、サービスクォータを意識しないといけないのか? 結論から言うと、サービスクォータを意識していないと、シ

    AWSのサービスクォータをなめてると痛い目に遭うぞ!(全サービスクォータ一覧化スクリプト付き) - Qiita
  • フランスの建築学校の課題「段ボールで橋を造ってその上を渡れ」なお落ちたら落第

    ほたか @hotaka_zrc Le pont le plus long(長ぇ橋)って名前の授業 その名の通り、学校のアトリウムの窓から窓へ10メートルの橋を段ボールのみで作り、最終日にはその上を歩かないといけないと言うアホがワイン飲みながら考えたとしか思えない内容 こんなに真剣に壊れない設計を考えたことはない。命かかってる pic.twitter.com/QbIuzpPsRz 2022-02-10 17:07:53

    フランスの建築学校の課題「段ボールで橋を造ってその上を渡れ」なお落ちたら落第
    gayou
    gayou 2022/02/13
    日本の大学でやると注目集まる気もするけど、単位取れないリスクもあるから履修率低くなりそうな予感。
  • データベース設計の際に気をつけていること - 食べチョク開発者ブログ

    皆さんこんにちは、エンジニアの西尾です。 新しい機能・サービスを開発する際、私は特にデータベース設計に気をつかいます。 データベースはシステムの土台です。 土台が不安定だと、その上に積み上げていくアプリケーションコードがいびつなものになり、つらい思いをします。 また、一度動き出してしまったシステムのデータベース設計を変えるのは、容易なことではありません。 データベース設計には”これだ!”という正解はないと思っています。 サービスの特徴、システムの性質、toB向け/toC向け、Readが多い・少ない、Writeが多い・少ない。 その他もろもろの背景により、データベース設計の仕方も変わってきます。 このテーブルは正規化していないから駄目だ、この設計はいわゆるポリモーフィック関連だから使ってはいけない、などということはありません。 アンチパターンと呼ばれるものも時と場合によっては正解になります。

    データベース設計の際に気をつけていること - 食べチョク開発者ブログ
  • 履歴を持つデータの設計

    酔いどれ設計ナイト2019の発表資料です。

    履歴を持つデータの設計
  • 思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall

    2. What is Software Architecture ● IEEE1471「コンポーネント、それらの関係や環境、設計やそのコンポーネント、それらの関係や環境、設計やそのそれらの関係や環境、設計やその関係や環境、設計やそのや環境、設計やその環境、それらの関係や環境、設計やその設計やそのや環境、設計やそのその関係や環境、設計やその 進化を左右する原則に具現化されたシステムの基的な構成」を左右する原則に具現化されたシステムの基的な構成」左右する原則に具現化されたシステムの基的な構成」する原則に具現化されたシステムの基的な構成」原則に具現化されたシステムの基的な構成」に具現化されたシステムの基的な構成」具現化を左右する原則に具現化されたシステムの基的な構成」されたシステムの基的な構成」システムの基的な構成」の関係や環境、設計やその基的な構成」な構成」構成」」 ● M

    思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
  • マイクロサービス・アーキテクチャのメリット/デメリットまとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日、Microservices Meetup vol.2という勉強会に参加してまいりまして、マイクロサービス・アーキテクチャ(以下、MSA)の教科書的なメリット/デメリットをまとめておくと有益ではないかと思うようになりました。 Microservices Meetup vol.2のTogetter(資料のリンクあり) というわけで、エントリーで、マイクロサービス・アーキテクチャ(以下、MSA)を従来のモノリシック・アーキテクチャと比較した際の、メリット/デメリットを書きたいと思います。 Sam Newmanのマイクロサービス1の内

    マイクロサービス・アーキテクチャのメリット/デメリットまとめ - Qiita
  • MVCのモデルを分割する方法 - 浜村拓夫(・∀・)作品集

    MVCフレームワークでWebアプリケーションを作成するとき、肥大化していくモデルをどのように分割すれば良いのか?悩みます。 いつもは適当にやっているのですが、だんだんファイル数、クラス数、メソッド数が増えてくると、把握しづらくなって、辛くなってきますw 他の人のやり方を参考にして、モデルを適切に分割する方法を検討してみました。 ●Webアプリとは? Webアプリの特徴は、インターネットをはさんで、 (1) クライアント側 (2) サーバー側 に分かれていることです。 サーバー側は、 (a) DB(データを置いておく場所。通常はリレーショナルデータベース) (b) DBのラッパー(CRUDを担当するアプリケーション層) に分かれています。 で、このラッパー部分(b)に、MVCフレームワークを使っています。 (via もみじ饅頭(こしあん):もみじ饅頭のやまだ屋) MVCフレームワークは、 (

    MVCのモデルを分割する方法 - 浜村拓夫(・∀・)作品集
  • CSS設計における3大メソッド[OOCSS][BEM][SMACSS]

    こんにちは。マツコです。 突然ですが、CSS設計はとても重要なものです。 一定のルールがないと、コーダー各々が違う考え方でスタイルづけをして余計なCSSが増えてしまったり、人でなければ分からないルールが発生してしまい、メンテナンスがしにくくなってしまいます。 そのため、以下のことを強く意識してCSS設計を行うことが大切だと言われています。 予測しやすい 再利用しやすい 保守しやすい 拡張しやすい 今回は上記の目的を達成するヒントとなる、著名なCSS設計手法である「OOCSS」「BEM」「SMACSS」についてお話したいと思います。 概要 Object Oriented CSS(オブジェクト指向CSS)の略。 オブジェクト指向に基づいて、考案された設計手法です。 Yahoo!のNicole Sulivan氏によって開発され、Twitter(とBootstrap)やGithub、Youtub

    CSS設計における3大メソッド[OOCSS][BEM][SMACSS]
  • 海外の人気サービスで使われているCSSスタイルガイド8選

    CSSのスタイルガイドとは、コーディングを行う際の決まりやルールのようなものです。 CSSのスタイルガイドを作成することで、一貫性のあるスタイルシートを実現しやすくなり保守性や拡張性を向上させることができます。ひとりで開発するときにも役立ちますが、特にチームで開発を進めるときに効果を発揮します。 今回は参考になる海外の有名サービスのCSSスタイルガイドをまとめてみました。CSSスタイルガイドを作成するときや、コーディングをするときにぜひ活用してみてください。 Airbnb AirbnbのCSS/Sassのスタイルガイドです。各用語のルールから始まりCSSやSassの合理的な記述方法について記載されています。こちらは日語訳されたスタイルガイドもあります。 Airbnb Style Guide Google GoogleHTML/CSSのスタイルガイドです。シンプルなデザインのスタイルガイ

    海外の人気サービスで使われているCSSスタイルガイド8選
  • マイクロにしすぎた結果がこれだよ!

    This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur

    マイクロにしすぎた結果がこれだよ!
    gayou
    gayou 2016/08/11
    やり過ぎました。
  • Amazon API Gateway を活用したゲームサーバー構築

    This document describes Amazon Web Services (AWS) API Gateway and how it can be used to create, publish, maintain, monitor, and secure APIs at any scale. API Gateway sits between the internet and AWS services such as Lambda, EC2, DynamoDB, and supports many features including caching, authorization, throttling, monitoring, and transformations. It allows defining RESTful APIs and WebSocket APIs tha

    Amazon API Gateway を活用したゲームサーバー構築
  • Solved by Flexbox — クリーンでハックのない CSS

    イントロダクションCSSには長らく適切なレイアウトメカニズムが不足していました。トランジション、アニメーション、フィルタ、これらはすべて素晴らしくて有用な言語への追加機能ですが、しかしWeb開発者が不満だった、永遠に続くようにも思われた主要な問題に対処するものではありませんでした。 Flexboxに感謝します。ついに我々は解決方法を手に入れました。 このサイトはCSSフレームワークではありません。その代わり、CSSだけでは解決するのが難しい、あるいは不可能だった問題が、今やFlexboxでとても簡単になった事例のショーケースとなることが、このサイトの趣旨です。また、Internet Explorer 11の最近のリリースとSafari 6.1により、今やすべてのモダンブラウザがFlexboxの最新仕様に対応しています。 以下のデモをご覧ください。Webインスペクタでスタイルを眺めるか、また

    Solved by Flexbox — クリーンでハックのない CSS
    gayou
    gayou 2016/05/18
    つまりハック的なCSSを書くことなく、レイアウト用CSSを書ける時代になってきたのだろうか。
  • Web制作者がチェックしておきたい!デザイン要素の定義や見せ方が勉強になる最近のスタイルガイドのまとめ

    Webサイトを制作している時、そして納品する時、サイトのデザインで定義されているカラー・タイポグラフィ・エレメントなどのスタイルを一覧できるようにまとめたスタイルガイドを紹介します。 Photoshop, Illustrator, Sketchなどのアプリを使ったり、オンラインツールを使ったものなどいろいろあり、中身だけでなくその見せ方の参考にもなると思います。

    Web制作者がチェックしておきたい!デザイン要素の定義や見せ方が勉強になる最近のスタイルガイドのまとめ
    gayou
    gayou 2016/05/17
    設計、ドキュメント作成の参考にする。
  • http://post.simplie.jp/posts/23

    http://post.simplie.jp/posts/23
  • コンバージョン率 (CVR) を向上させる7つの方法【UXデザイン】 デザイン会社 ビートラックス: ブログ

    Webサイトやアプリを始めとして様々なプロダクトをデザインする際には、最終的に顧客に喚起してもらいたい行動 = コンバージョンを常に意識する事が重要になる。その為には気つけたいポイントが幾つかある。まずは最低限のユーザビリティーを確保する事。 コンテンツが見やすい、情報が伝わりやすいナビゲーションが分かりやすい、求める行動が起こしやすい等の基条件を満たしている必要がある。ユーザビリティーの高いウェブサイトはこの基条件が全て達成出来ている。 優れたユーザビリティを実現する25のUXデザイン概念 ユーザーエクスペリエンス (UX) 設計においては、ユーザーの心理を理解し、望んだ行動パターンを喚起させる事が重要なポイントとなってくる。例えば、ボタンをクリックさせたり、フォームを送信させせる等のユーザーに運営側が望んだ動きを導きサイトに戻ってくるようなエクスペリエンスを与えるのがいわゆるエ

    コンバージョン率 (CVR) を向上させる7つの方法【UXデザイン】 デザイン会社 ビートラックス: ブログ
  • เว็บสล็อตโรม่า joker123 หมดกังวลเรื่องการโกงไปได้เลย

    เว็บสล็อตโรม่า joker123 เป็นทางเลือกที่น่าเชื่อถือสำหรับผู้เล่นที่ต้องการความมั่นใจในการเดิมพันออนไลน์ ด้วยระบบความปลอดภัยระดับสูงและการตรวจสอบอย่างเข้มงวด คุณสามารถวางใจได้ว่าทุกการเล่นของคุณจะเป็นไปอย่างยุติธรรมและโปร่งใส เว็บไซต์นี้ได้รับการรับรองจากหน่วยงานที่เกี่ยวข้อง ทำให้คุณหมดกังวลเรื่องการโกงได้อย่างสิ้นเชิง เว็บสล็อตโรม่า joker123 สล็อตโรม่า นอกจากนี้ ทีมงานมืออาชีพพร้อมให้บริการตลอด 24

    เว็บสล็อตโรม่า joker123 หมดกังวลเรื่องการโกงไปได้เลย
  • flowchart.js - SVGのフローチャートを生成するJavaScriptライブラリ MOONGIFT

    システムやワークフローを分かりやすく説明する際にフローチャートを使うことがあります。特に業務システムなど、多数のシステムが複雑に組み合わさって処理が実行される場合、きちんと可視化されているかどうかで結果が大きく変わる可能性があります。 Excelで仕様書を書いているとExcel上で完結しそうです。しかしこれでは検索性やメンテナンス性がよくありません。そこで仕様書をMarkdownHTMLで書いているならばflowchart.jsを使ってみましょう。 flowchart.jsの使い方 flowchart.jsのデモです。専用の記述方法に沿って書くことで、右側のようなフローチャートが生成されます。URLがあるところはクリッカブルになっています。 さらにカラーリングの指定もできたり、縦ではなく横に広がっていく形にもできます。 flowchart.jsはSVGで生成しているのがポイントで、元文書

    flowchart.js - SVGのフローチャートを生成するJavaScriptライブラリ MOONGIFT
    gayou
    gayou 2015/10/05
    設計ドキュメントをオンライン化したいなぁ。
  • 手書き風のUMLシーケンス図をJSでリアルタイム描画できる「js-sequence-diagrams」:phpspot開発日誌

    js-sequence-diagrams by bramp 手書き風のUMLシーケンス図をJSでリアルタイム描画できる「js-sequence-diagrams」 画像をサーバ上で生成するのではなくJSで、更に温かみのある手書き風の画像でリアルタイム描画できます。 仕組みとしてなかなか面白かったのでご紹介。 関連エントリ かなり豊富な種類のグラフを描画できる「ECharts」 SVGベースの要素が移動可能なフローチャート描画ライブラリ「SimpleFlowchart」 リアルタイムで更新してアニメーションするリアルタイムグラフを描画できる「Epoch」 円、線、棒グラフを描画できるシンプルなチャートライブラリ「cssCharts.js」 Bootstrapなサイトでグリッドを描画してレイアウトの参考にできる「jQDrawBootstrapGrid」

  • SVGベースの要素が移動可能なフローチャート描画ライブラリ「SimpleFlowchart」:phpspot開発日誌

    mmazo/SimpleFlowchart GitHub SVGベースの要素が移動可能なフローチャート描画ライブラリ「SimpleFlowchart」 ドラッグ&ドロップで移動可能な要素を次のように線で結んでフローチャートを作れます 関連エントリ テキストをCSSSVG等でアニメーションさせるやばいサンプル集 SVGなオブジェクトを線で接続できる「svg.connectable.js」 SVGグラフィックを華麗にアニメーションさせられる「vivus.js」 スライドショーにSVGでモーションブラーをかけてかっこ良くするデモ いい感じに動くフラットデザインのローディングインジケーター「SVG Loaders」 びよーんと伸びるブロック要素の実装デモ集「Elastic SVG Elements」