Devlove 名古屋 2014-5-18 DDD, Object Oriented Design, ドメイン駆動設計 オブジェクト指向設計Read less
よく訓練されたアップル信者、都元です。今回のお題は久しぶりにVPCです。 この記事は、アップデート版が存在します。最新情報は【AWS】VPC環境構築ノウハウ社内資料 2014年4月版を参照してください。 VPCを利用する理由 弊社で構築するAWSのサーバ環境は、一部の例外を除いて全てVPCを利用しています。 突然ですが、筆者はあまり大規模なシステムに携わった経験がありません。大規模なプロジェクトだと「数百数千台のサーバがラッキングされ、それが論理的なネットワークで区切られていて」「複数のデータセンターが冗長化された専用線で結ばれて」等、正直ちょっと想像つかない世界があるんだと思います。よくわかんないですが。 (c)John McStravick. (CC BY 2.0 Licensed) 逆に、小さなシステムであれば、月々数万円でレンタルサーバを借りて「1台のマシンの中にWebサーバとDB
2018年1月10日に開催された DCI Tokyo 1 に続き、2018年3月27日に DCI Tokyo 2 が開催されました。今回も James Coplien @jcoplien さんをお招きしてのトークセッションとなりました。会場は 株式会社ヴァル研究所 様に提供していただきました。 セッションは、前回同様 @remore さんと @ganchiku さんによる同時通訳とともに進められました。 今回のテーマはマルチパラダイムデザイン(Multi-Paradigm Design: MPD)の中核を成し、DCI / リーンアーキテクチャ(Lean Architecture)とも深く関係する 共通性/可変性分析 でした。 レポートは @smori1983 が担当させていただきます。 当日の様子は Coplien さんの許可を得て YouTube の DCI Tokyo 公式アカウントに
移転しました http://please-sleep.cou929.nu/20130121.html
こんにちは。ライブドアのモリウチです。突然ですがWebディレクターのみなさん、「WebAPI」を使った企画や設計をしていますか? APIとは「Application Programming Interface」の略で、特にWebAPIとはあるプログラムが、別のシステム (Webサービス) が持っているデータのCRUD (読み書き削除) や、一連の処理 (機能) の利用を可能にするための技術です。 WebAPIの活用の普及に貢献したのは2005年のGoogleMapのAPIでしょう。 WebAPIは、登場当初は地図情報や、都道府県やジャンルなどの静的な情報を取り出して利用することが主流でしたが、最近ではTwitterやFacebookのように利用ユーザーからの許可を受けてユーザーの個人データやソーシャルグラフを取り出して利用したり更新したりできるようなWebAPIが一般化してきました。そして
イントロダクション CakePHPのキャッシュ機構は、 キャッシュストレージへのラッパー コアに統合されているもの の2種類があります。 前者はCache::read()などを使うもので、自由にキャッシュの操作が行えます。 後者のほうは、ビューキャッシュ、クエリキャッシュ、ディレクトリマップのキャッシュなどで、仕組みを理解した上で設計を思慮する必要があります。 特に問題となるのはビューキャッシュです。 ビューキャッシュの生成・破棄 ビューキャッシュは、エレメントキャッシュと、アクションキャッシュ(フルページキャッシュ)があります。 アクションキャッシュでは、生成されるファイル名の規則としてURIを用いています。 これにより、ルーターの起動の前にキャッシュ処理に移行することを可能にしています。 例:(以下、パスはAPP/tmp/cache/views/以下を示します。) / => home.
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。
弁当生活始めました。agoです。 以前のjavascriptの開発はサーバサイドと同じPGが開発することが多く、機能をファイル単位で分割してそのページで必要なファイルのみを読み込むと言うことが行われていました。 ただ、最近はサーバサイドとクライアントサイドの分業が進んだことや表示速度の兼ね合いもあり、単一ファイルに全体を記述しサーバサイドでは全ページでその一ファイルのみを読み込むような形になることが多いです。 単一ファイルの利点としてはサーバサイドの実装に依存せずに任意の機能を追加できることがありますが、欠点として機能毎の切り分けが難しくなると言う点があります。 jQueryを使用して$('.selector')で切り出す方法もありますが、マークアップの全体像を正確に把握できていないと不要なページで間違って実行されてしまう危険性もあります。 そこで、以下のようなJSを先に読み込み、各URL
MVC 設計について考えていたときに、ちょうどその辺りの話をされている方々が居たので、今の考えをまとめてみました。 目次 前提 肥大化するコントローラを避ける ビジネスロジックをどこに書けば良いのか コントローラとモデルの間にもう一つの層があるとうまくいく? まとめ 前提対象は Web アプリケーションで、画面数(ビューの数)は数個〜100個程度の規模です。WordPress、Twitter、37signals のサービスのようなものを作ろうとするとき、どういう MVC 設計をしていくかについて考えます。巨大なシステム、金融系システム、基幹系システムなどを作る場合とは異なる考え方もあると思います(そもそも MVC を使わない、など)。 肥大化するコントローラを避ける例えば、八百屋さんで「60円で仕入れたリンゴ1つを100円で売った」こと(Sales Transaction)を記録する場合を
CakePHPを使ったMVC設計のベストプラクティス 個人的にはCakePHPはあまり好きではないのですが、CakePHP開発メンバーによるMVCデザインの記事 (CakePHP のおいしい食べ方)で紹介されていたBest Practices in MVC Design with CakePHP (php|architect’s C7Y)はMVCフレームワーク利用者にとってとても有用な情報だったので、訳してみました(php|architectの方には翻訳許可を頂いています)。 この記事を読んでドメインモデルに興味を持った方は、エンタープライズ アプリケーションアーキテクチャパターン(PoEAA)やDomain-Driven Design: Tackling Complexity in the Heart of Softwareに手を出してみるのもいいかも。他に、InfoQにユーザー登録すれ
ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture
SEO対策というのは、サイトを作った後の運用の話だと思っていたら大間違いで、SEOを意識したウェブサイトを設計すれば、立ち上がりが速くなるし、そもそもサイトのポテンシャルに影響してくる。何より何事にも変えられない大事な時間を失わないで済む。 SEO対策には2つのフェーズがある。 フェーズ1.インデックスされやすさ、クロールされやすさ(クローラビリティというらしい)を実現するサイト設計 フェーズ2.コンテンツ運用によって、、上位表示されるに値する価値を作り出す フェーズ1だけで、上位表示するのは難しい。 難しいが、フェーズ1が満たされてないと、上位表示は難しい。 インデックスされやすさ、クロールされやすさは、サーバ設計、URL設計、コンテンツ設計(HTML構造含む)技術的側面で解決する問題だ。 そして、適切なインデックスをされるポテンシャルを持ったWebサイトが、フェーズ2の上位表示されやす
ErmodellerはJava製のオープンソース・ソフトウェア。最近はデータが主体になったシステム開発が多い。データは大抵がデータベースによるものだ。そうなるとデータの定義が固まればコントローラの仕組みも大抵決まってくる。データベースを適切に設計することが、システムの組みやすさやパフォーマンスに大きな影響を及ぼすのだ。 各種DBに対応したモデリングができる そうなるとデータモデリングソフトウェアに対する期待が大きくなる。その点、マルチプラットフォームで動作するJava製のモデリングツールは優位だろう。Ermodellerは多数のデータベースに対応したモデリングソフトウェアとして便利に使えそうだ。 Ermodellerが対応するのはMySQL/PostgreSQL/Oracle/PointBaseとなっている。モデリングは概念、論理、物理型の3つに対応している。データベースからのリバースエン
データベース設計ツール 調査メモ データベース設計をER図を書きながらをしたいとき、どのツールで整理するとベストなのかを簡単に調べましたので、そのメモを残しておきます。 ■ MySQL Workbench ・スタンドアロン(XP/Vista対応) ・MySQL公式のDB設計・管理ツール。 ・ER図と物理的データベースが連携する(フォワード/リバースエンジニアリング) ・有償版(Standard)と無償版(Community)がある。 ・無償版ではドキュメント出力、運用中DBへの操作ができない。 ・英語版のみ ・DBDesigner4 からのインポート ・Vista(SP1)にてインストールは出来たが正常起動できなかった(2008.06) ・操作性は良い。図もきれい。 → 機能一覧(ダウンロードはこちらから) ■ DB Designer 4 ・スタンドアロン ・オープン
特集:ツールを使ったドキュメント作成技法(前編) 価値のある開発ドキュメントを効率的に作成するには? アバナード株式会社 市川 龍太(Microsoft MVP 2008 for XML) 2008/05/20 システム開発の現場では、さまざまなドキュメントを作成する必要がある。しかし昨今では開発の短期化に拍車がかかっており、ドキュメントを作成するための工数を十分に取れないことが多くなってきている。そこで本稿では、限られた工数の中で価値のある開発ドキュメントを効率的に作成するための技法について解説していく。 本題に入る前に、まずウォーターフォール型開発の各フェイズにおいて、一般的にどれだけのドキュメントを作成する必要があるのかについて以下の表にまとめてみた。
外部設計書で最も大切なことは,「システム開発を依頼してきたお客様」(発注者)に読んでもらい,理解してもらうことです。外部設計書を,開発メンバーではなく,発注者に理解してもらうためには,「いかに発注者にとって分かりやすい外部設計書を作成できるか」と「レビューを通じていかに合意形成を図るか」が重要になります。本連載では,発注者が理解しやすい外部設計書の書き方とレビューの方法に関する具体的なノウハウを解説していきます。 第1回 ユーザーと意思疎通が図れない外部設計書は危ない 第2回 [システム振舞い編]一覧表に一工夫入れることで漏れや重複をなくす 第3回 [システム振舞い編]全体を俯瞰でき,システム化範囲が一目で分かる業務フローを作成する 第4回 [システム振舞い編]発注者が理解しやすいシナリオの記述方法 第5回 [画面編]見れば“わかる”「画面レイアウト」の作り方 第6回 [画面編]画面遷移を
図解の本質はここにあった ITエンジニアにも必要な国語力 第1回 名前にとことんこだわるべし 開米瑞浩(アイデアクラフト) 2005/8/10 コミュニケーションスキルの土台となる図解言語。だが筆者によると、実はその裏に隠れた読解力、国語力こそがITエンジニアにとって重要なのだという。ITエンジニアに必須の国語力とはどのようなものだろうか。それを身に付けるにはどうしたらいいのか。毎回、ITエンジニアに身近な例を挙げて解説する。 「Can you speak English?」と聞かれてあたふたしてしまう日本人も、「あなたは日本語が話せますか?」と聞かれたら「いいえ」と答えることはないだろう。しかし、「日本語が話せる」といっても、日常会話レベルの日本語力とエンジニアリングに必要な日本語力とでは次元が違う。ITエンジニアに必要な国語力をあらためて見直そう。 ■ITエンジニアにこそ国語の力が必要
ソフトウェア業界の仕事は、下請け・孫請けのピラミッド構成となることが多く、常駐・派遣型のビジネスがかなりのパーセンテージを占めています。そんな中、他の業界と同じように、下請け脱却を目指して"一括請負"で仕事を引き受けたいとする会社もあります。 その志は善しとしましょう。しかし、肝心の"実力"が伴っていないと発注者も受託者もお互いに手痛い目に遭います。ここで言う"実力"とは、単なる技術力のことではありません。スケジュール管理や品質管理、コスト管理などのプロジェクト管理の技術・体制を社内で持っているかどうかが成否の鍵となるのです。 筆者の会社は創立11年目なのですが、創業以来「常駐・派遣の仕事はやらない!」という起業時のポリシーを貫いて来ました。C/SやWebのシステム開発を主体としているのですが、10年間の中では当然(?)、いくつかの失敗プロジェクトもありました。その苦い経験の中で「成功率と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く