タグ

設計に関するinnx_hidenoriのブックマーク (10)

  • リファクタリング講座第1回まとめ-設計の視点 | QUARTETCOM TECH BLOG

    4月17日に、社内で第1回リファクタリング講座を開催しました。今回は、カルテットの同僚Mさんが実際に実務で取り組んでいる機能実装に対して、同じ機能要件で私が再実装を行い、その実装を見比べながら、いくつかの設計ポイントを解説しました。 状況 同僚のMさんは、プログラマーとして経験も十分にあり、Symfony2やAngularのコードを書き、テストも実装できるスキルの持ち主です。 対象となったアプリケーションは、バックエンドにはSymfony2を使ったREST APIフロントエンドにはAngularJSである程度の機能をSPAとして実装しているものです。RESTでやりとりする部分は、データの形が決まればあまり問題になることはありません。こういった部分はフレームワークのサポートも厚く、道具の使い方を知れば作り方に大きな差は出ません。しかし、登録されたデータを元にちょっと込み入ったロジックの入る

    リファクタリング講座第1回まとめ-設計の視点 | QUARTETCOM TECH BLOG
  • アンチパターン「成長する主キー」 - 設計者の発言

    我ながらしつこいが、またまたテーブルの主キーに関する話題である。「複合主キー」を毛嫌いする開発者がいるとすれば、その根拠はおおむね2つある。「ID等の単独主キーにしておけば、主キーの仕様変更に振り回されない」、および「複合主キーにすると実装が煩雑になる」だ。それぞれについて反論しよう。なおこれらの他に「ナチュラルキーを主キーにすると値が変わったときに困るから、複合主キーはダメ」と説明されることがあるが、こちらは非論理的なので取り上げない(詳しくは「ナチュラルキーを主キーにしてはいけない」を参照)。 ■成長する主キー まず「ID等の単独主キーにしておけば、主キーの仕様変更に振り回されない」についてだが、この主張は一面的には正しい。じっさい私自身、複合主キーの仕様変更に振り回された思い出がある。 新人の頃、ある重要なテーブルを処理するアプリをプログラミングしていた。仕様書にしたがって検索すると

    アンチパターン「成長する主キー」 - 設計者の発言
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • 「データモデリングライブ@渋谷」報告 - 設計者の発言

    先日開催した「データモデリングライブ@渋谷」では「ライセンス管理システム」を取り上げた。有償ソフトウエアの手配やインストールを管理するためのシステムである。ハードウエア管理も含むので、資産管理システムに発展できるかもしれない。規模的にも複雑さでも適度なネタで、休憩をはさんで延べ3時間で描いたモデルの最終形は以下のとおりである。 業務フロー(DFD) データモデル(ERD) 業務定義(アクションツリー)とUI構成 これらが「さんざん描き直された結果」であることに注意してほしい。じっさい、いかに高速に変化していったかを目撃しない限り、モデリング過程の効果は理解してもらえないだろう。もちろんそれなりにうまくまとまったのは、ひとえにエンドユーザ役として鋭いツッコミをどんどん入れてくれた参加者20名の方々のおかげである。 描きながらときどきモデリングのコツみたいな話をしたのだが、今回とくに説明したの

    「データモデリングライブ@渋谷」報告 - 設計者の発言
  • IA Stencil(Site-it!)

    IA Stencil(Site-it!) は、サイトストラクチャ、ユーザー経験フローを検討するために使うブレストツールで、テンプレートデザインが印刷された付箋型のノートです。コンセントで開発し、2008年のIA Summitにて発表しました。 ウェブプロジェクトでは、問題解決を行うために要求事項の背景まで含めて理解する必要があります。こうした背景を汲み取り、1つ1つの意思決定に基づいて情報アーキテクチャの設計が行われ、その結果としてサイトマップのようなドキュメント成果物に落とし込まれます。しかし、最終ドキュメントを通じてのみIA設計が判断されがちで、設計プロセスを共有しにくいという課題がありました。 そこで、設計プロセスの中にプロジェクトメンバーを巻き込み、一緒にディスカッションを行うことで理解を深められるよう、ワークショップのためのツールとして開発されたのがこのIA Stencilです。

    IA Stencil(Site-it!)
  • UcDDBootCampSap0.1

    Freak Out, Geek Out, or Seek Out: Dealing with Tech Change and Customer Engag...David King

    UcDDBootCampSap0.1
  • 分析パターン : これだけは覚えておこう | システム設計日記

    DDD 11章 Applying Analysis Patterns (分析パターンの応用)では、例として、ファウラーのアナリシスパターンの6章「在庫管理と会計」をヒントに、モデルを改良する話しが載っている。 エンタープライズアプリケーションでは、「在庫管理(企業資産の管理)」は、いつも重要な関心事だし、事実を記録するときに「会計」の考え方とやり方は、基中の基。 でも、正直言って、ソフトウェア技術者がファウラーの「アナリシスパターン」の6章を読んで、「なるほどそうか」と、ピンとくるとは思えません。 もうちょっと、単純な原則があると思っている。 私が、自分で考えるときとか、若手の技術者に説明するときに、よく使っている、単純な分析パターンを4つ紹介したいと思います。 ・記録は不変 ・予実の管理 ・連絡 ・情報の集約 この4つをちゃんとやってくれるソフトウェアは、利用者にとって、役に立つし、

  • MSDN ホームページ

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    MSDN ホームページ
  • 満足せる豚。眠たげなポチ。:大規模サービスの運用事例まとめ

    ここ数年の大規模サービスのシステム運用について調べてみたので参照したページやファイル、へのリンクをまとめておく。PDF へのリンクも多数含まれているのでご注意を。 時代が時代なら企業のノウハウとして隠されていたような情報がこれだけ公開してもらえているというのが非常にありがたい。公開してくれている各企業や公開してくれている人に感謝。 あとで気付いたが、Google や Facebook の事例も探しておけばよかった。Thrift とかあったのに。「こんな情報もあったよ」などあればぜひ教えてください。追記していきます。 youtube http://d.hatena.ne.jp/stanaka/20070427/1177651323 digg http://d.hatena.ne.jp/stanaka/20070427/1177651323 livedoor http://labs.cybo

  • テーブル設計は実装の後に!:ベンチャー社長で技術者で:エンジニアライフ

    株式会社ジーワンシステムの代表取締役。 新しいものを生み出して世の中をあっといわせたい。イノベーションってやつ起こせたらいいな。 「みんなが言ってる」は技術者が口にする言葉じゃないと書いてきました。 私が言ってることで、「みんな」とはおそらく真逆のことがあります。 それは「テーブル設計を(ユーザーインターフェイスの)実装の後に!」ということです。 「そんなことができるわけがない」とバカにされますが、そういう決め付けは思考停止ですよね? ともかく、眉に唾塗っていただいてけっこうですので、続きを読んでください。 一般的なシステムにおいて、一番手戻りが大きい(波及する箇所が多い)仕様変更はテーブル変更を伴うものです。下手糞な設計で、他に悪影響を与えるのもテーブル設計です。 逆に、テーブル設計が美しく合理的にできていれば、他の工程は非常に楽になります。 では、仕様変更を防ぎ、美しく合理的なテーブル

    テーブル設計は実装の後に!:ベンチャー社長で技術者で:エンジニアライフ
  • 1