タグ

関連タグで絞り込む (157)

タグの絞り込みを解除

設計に関するkitokitokiのブックマーク (264)

  • MVVMによるSilverlightアプリケーションの開発(その1)

    はじめに Silverlightに限らない話ですが、ページからのイベントに対する処理をすべてイベントハンドラに記述してしまったために、再利用性が著しく低かったり、単体テストがひどくやりにくいシステムを見たことはありませんか? これは、プログラムの機能をすべて同じ層に記述していることが原因の1つです。 この問題に対するSilverlightでの解決策の1つが、MVVMパターンです。今回はMVVMパターンと、MVVMパターンの要となるデータバインディング、コマンドバインディングについて2回にわたって解説します。 MVVMパターンとは MVVMはModel-View-ViewModelの頭文字をとった、アプリケーションの階層化パターンの1つです。階層化パターンを適用することで各層の依存関係が薄くなり、アプリケーションの修正、複数人数での分散開発、単体テストなどが実施しやすくなります。 Expre

  • Script Junkie

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. MVVM and jQuery: Designing Maintainable, Fast and Versatile Sites Saar Yahalom | June 15, 2011 Developing client-side web applications is becoming standard practice for building cross-platform solutions. It helps bridge the gap between different mobile d

    Script Junkie
  • DCIが面白い件 - ヽ( ・∀・)ノくまくまー(2010-05-12)

    ● DCIが面白い件 DCI凄い!ヤバイ! 「DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien」(翻訳) http://d.hatena.ne.jp/digitalsoul/20100131/1264925022 前に読んだときは難しすぎて(長すぎて)途中で挫折したけど、今改めて読んだらDCIは凄いと気付いた。以下、まとめ。 今回、内容理解の決め手となったのは「前半部分を読まない」ことだった。 そんな無謀な読み方(読んでないのだけれど)をした私の理解なので、 もちろん間違いはあるはず。 という前提で、 ツッコミを入れる気満々なテンションでどうぞ。 古来からプログラムの中心は<データ>であった なぜなら、それが設計の中で一番変化しにくい要素(箇所)であるから そして、<データ構造>とそれに対する<処理>の2つで考えるようになった (手続き型

  • http://www.machu.jp/posts/20051101/p01/

    http://www.machu.jp/posts/20051101/p01/
  • Evernoteのアーキテクチャ概要 - nokunoの日記

    みなさん、Evernoteは使っていますか? Evernoteは「全てを記憶する」が合言葉のメモアプリで、クラウド上にデータを保存してWin/Mac/iPhone/Webから共通のデータにアクセスしたり同期したりできるのが特徴の便利なサービスです。開発元はシリコンバレーの会社ですが、日人のユーザも非常に多いそうで、Evernoteの使い方についての記事は日語でも星の数ほどありますのでここでは触れません。 今回は、そのEvernoteの裏側のシステム概要を解説する記事が今月開設されたばかりの技術ブログに公開されていましたので、翻訳してみました。Architectural Digest | Evernote Tech Blog はじめにこのブログの手始めとして、Evernoteの構築について大雑把な概要を述べる。ここではそれぞれのコンポーネントの詳細に踏み込むことはしない。それらについての

  • Webアプリケーションにおける Job Queue システムの構成例と Worker を作る際に気をつけること - blog.nomadscafe.jp

    Webアプリケーション内で処理を直列に実行せずにJob Queueに回して非同期に実行することが多くなって来て久しいと思いますが、そのおすすめ構成と気をつけることについてつらつらと。 1) 既存のデータベースをキューとして使う構成例 1つ目はMySQLなどのデータベースをキューとして用いる例。既にアプリケーションで利用しているデータベースにキュー用のテーブルを作成して利用します。データベースを利用したキュー管理の仕組みとしてJonk、Qudo、TheSchwartzなどがPerlでは有名どころです。 依存するミドルウェアが増えないので最もシンプルな構成になると思います。 上記の図ではWorkerはアプリケーション内で実行することで冗長性を確保しますが、キューを格納するデータベースはSPOFになります。しかし、、データベースに障害があった場合キューだけでなくすべてのサービスが停止すると思われ

  • Zudolab -

    The Search for a Trusted 메이저사이트: A World of Thrills, Security, and Immersive GamingdErsPOId - December 1, 2023In the dynamic world of online entertainment, the quest for finding a trustworthy 메이저사이트, or major site, is akin to navigating through a labyrinthine digital jungle. Much like the adventurers of old scouring for hidden treasures, modern-day netizens are on the lookout for that one platform

  • ドメイン駆動式ソフトウェアの育て方 - Digital Romanticism

    レッツゴーデベロッパー2011での発表原稿とスライド 導入 2011年05月28日「レッツゴーデベロッパー2011@仙台」が開催されました。このイベントのテーマは「共有と交流」。"「共有」には、最新技術、知識、復興への想い、それぞれの決意を共有することを、「交流」には、東北と東北圏外のデベロッパーやコミュニティ同士の交流を深めることを込めて。" このイベントにてDDDセッションに登壇させて頂きましたので、そのときの発表原稿とスライドを公開致します。なお、当日はワークとして参加者の方にペアモデリングを行って頂きましたが、このドラフトではその部分を割愛しています。 スライドはこちら また映像はこちらで公開して頂いています。 さて今年4/9にDDD日語版が出版されました。それから2ヶ月弱、翔泳社様から、はやくも増刷のお知らせを頂きました。多くの方々とおかげと深く感謝しています。さて、この増刷が

    ドメイン駆動式ソフトウェアの育て方 - Digital Romanticism
  • Tools For jQuery Application Architecture (Extended Slides) from #wdx

    Hey guys. I just wrapped up my talk on Tools for jQuery Application Architecture over at Web Directions in London and wanted to make sure anyone interested had access to the slides. This is the extended version, which includes about 15 slides that weren't in the original deck, but may prove useful. Some of the topics I cover include: MVC & MVVM architecture patterns for client-side development Jav

  • Essential JavaScript And jQuery Design Patterns の日本語訳

    2012年1月10日追記 github に移行準備しています。Essential JavaScript Design Patterns 1.1がリリースされました。(03/09追記)Essential JavaScript And jQuery Design Patterns (Addy Osmaniさん著) の日語訳です (原文の HTML 版はこちら)。ライセンスは原文と同じCreative Commons Attribution-NonCommercial-ShareAlike 3.0 です。翻訳開始の予定ではブログで公開してゆきます。今後 pdf を用意する予定です (2011/02/23時点)。このチュートリアルで推薦されているオライリーの「JavaScriptパターン」の日語訳は今年の02/16に発売されました。 序文はじめに「パターンな」テスト、プロトパターンと3つのルー

    Essential JavaScript And jQuery Design Patterns の日本語訳
  • 無差別に技術をついばむ鳥GUIは何故シングルスレッドなのか

    恐らく、GUIプログラミングをした事がある人は、多くのGUIフレームワークがシングルスレッドである事を知っているでしょう。ですが、GUIフレームワークがシングルスレッドである理由を知らない人は多いと思います。今回は並行処理をする上で、必ずぶちあたる疑問である「GUIフレームワークがシングルスレッドである理由」を解説します。 その理由を理解するには、GUIの性質および仕組みとロックについて知らねばなりません。先ずはロックについておさらいしましょう。 並行処理時において、共有メモリ上にある1つのリソースに複数の処理が同時アクセスする場合、整合性がある結果を得るためにロックをしなければなりません。ロックをしなければ、リソースの状態は不整合になり、正しい処理結果を得られません。ですが、ロックの使用は細心の注意が必要になります。不適切なロックをすれば、デッドロックなどの深刻な問題が発生します。これを

  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

    kitokitoki
    kitokitoki 2011/06/02
    関数、オブジェクト、クロージャの使い分け
  • Logs Are Streams, Not Files

    Logs Are Streams, Not Files logs Fri Apr 01 07:29:49 -0700 2011 Server daemons (such as PostgreSQL or Nginx) and applications (such as a Rails or Django app) sometimes offer a configuration parameter for a path to the program’s logfile. This can lead us to think of logs as files. But a better conceptual model is to treat logs as time-ordered streams: there is no beginning or end, but rather an ong

  • RailsでのURL設計を考えてみる(2) follow - ぶろぐ。@はてな

    前回の「RailsでのfavoriteのURL設計」が思いがけなくそこそこ見てもらったようなので、いろんなパターンのURL設計を考えてみるシリーズをやってみたいと思います。(続くかどうかは未定) こんどはMioからは離れて、といってもほとんど同じようなものですが、Twitterのfollowのような機能を考えてみます。 Twitterの設計 考える前に、TwitterのWebサイトとAPIではフォロー関係の設計がどうなっているか参考に見てみましょう。*1 Webサイト URL フォローしている ユーザ(ツイート) /:screen_name/following フォローしている ユーザ /:screen_name/following/people フォローされている ユーザ /:screen_name/followers API*2 URL 追加パラメータ フォローしている ユーザ(ID)

    RailsでのURL設計を考えてみる(2) follow - ぶろぐ。@はてな
    kitokitoki
    kitokitoki 2011/05/31
    勉強になる。
  • JavaScriptMVC Overview

    JavaScriptMVC.md The following is a VERY rough draft of an article I am working on for Alex MacCaw's @maccman's Book. It is very rough, but even now a worthwhile read. Suggestions / comments are very welcome! Please help me :-) Introduction JavaScriptMVC (JMVC) is an open-source jQuery-based JavaScript framework. It is nearly a comprehensive (holistic) front-end development framework, packaging ut

    JavaScriptMVC Overview
  • URL最適化5つのSEOポイント | エンジニアのためのSEO入門

    前回の記事では検索エンジン全体の仕組みをおさらいし、その中でもクローラーの動きに着目しました。最新の情報を検索結果に反映させるためには、クローラーになるべく多くの回数自社サイトを訪問してもらい、ページの内容を適切な情報としてインデックスしてもらう必要があります。 このインデックスの際に重要なのが、サイトに対するクローラーの回遊性「クローラビリティ」です。クローラビリティを向上させる要素の1つとして、URLの最適化があげられます。SEOには、キーワードやカテゴリの設計、HTMLの最適化、外的施策などさまざまな対策が考えられますが、その中でもURLの最適化は、最も重要な要素の1つです。いくら他の対策が完璧でも、URLの設定によってはいい効果が期待できません。 一口にURLの最適化といってもさまざまです。この連載では、以下の3つの方法を説明していくことにしたいと思います。 永続化 ←この記事で解

    URL最適化5つのSEOポイント | エンジニアのためのSEO入門
  • 個人で作ったWebサービスの仕様書(Evernoteのメモ)を2つ公開してみる - アインシュタインの電話番号

    個人でWebサービスを作る際の考察に関する以下の記事が、とても興味深く面白かった。ここに書いてあることはだいたい同意で、自分も実践したいと思うことばかり。 個人でWebサービスを超高速でつくる人たちの作り方を考察。 │ モノづくりブログ 株式会社8bitのスタッフブログです で、記事の最後に執筆者が聞いてみたいこととして「個人Webサービスの場合、仕様書はどうしてるの?」と呼びかけていたので、僭越ながら自分が過去に作ったWebサービスの仕様書(Evernoteに書いたメモ)を公開してみる。公開するのはNekostagramとはてなスターカウンターのもの。 仕様書(TODOリスト)の書き方 自分の場合、Webサービスを作るときに書くものは「仕様書」などと呼べるようなちゃんとしたシロモノではなく、Evernoteに思いついたことをどんどんリストアップしていくだけ。いわゆるTODOリストですね。

    個人で作ったWebサービスの仕様書(Evernoteのメモ)を2つ公開してみる - アインシュタインの電話番号
  • いきあたりばったりのアーキテクチャと教訓

    スライドの作者であるGleicon Moraesは、これらの図を示した上で、リレーショナルデータベースはガムテープのようにつぎはぎで使えるような万能薬ではない。シャーディングや非正規化などは検討すべきよい選択肢であり、またリレーショナル以外のデータベースも選択肢としていれるとよいだろうと説いています。 そして次のような「リレーショナルデータベースの間違った使い方10項目」を示しているのです(訳は前述の記事「データベースの間違った使い方10項目」から)。 Dynamic table creation(動的なテーブルの作成) Table as cache(テーブルをキャッシュとして使う) Table as queue(テーブルをキューとして使う) Table as log file(テーブルをログとして使う) Distributed Global Locking(分散したグローバルなロック)

    いきあたりばったりのアーキテクチャと教訓
  • [ 技術講座 ] Domain-Driven Designのエッセンス -目次-|オブジェクトの広場

    技術講座] DDD難民に捧げる Domain-Driven Designのエッセンス 第 1 回 ドメイン駆動設計とは 第 2 回 DDDの基礎と実践 第 3 回 大規模なプロジェクトへの適用 DDDパターンカタログ パターン名 参考訳 I. Putting the Domain Model to Work Ubiquitous Language ユビキタス言語 Model-Driven Design モデル駆動設計 Hands-On Modeler 実践的モデラー II. Building Blocks of a Model-Driven Design Layered Architecture 層状アーキテクチャ Smart UI (アンチパターン) 利口なUI Entities エンティティ Value Objects 値オブジェクト Services サービス Modules モジ

  • えせMVC? - akimatter

    [Ruby on Railsの「えせMVC」の弊害] というエントリが話題になっているので釣られてみます。 http://satoshi.blogs.com/life/2009/10/rails_mvc.html MVC まず結論から。Rails当にMVCかどうかですが、僕は真っ当なMVCだと思います。 MVCが指すもの 例のエントリの次のエントリ[O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」]で、 MVCのコンセプトは「はやりすたり」とは関係のない良いアプリケーションを設計する上での基中の基Ruby on RailsやJ2EEを使ったウェブアプリケーションにも、Cocoa/UIKitの上のiPhoneアプリケーションにも通じる話だということを覚えておいてほしい。 確かにMVCは重要だけど、「「はやりすたり」とは関係のない」というのは言い過ぎだと思います。

    えせMVC? - akimatter