タグ

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

タグの絞り込みを解除

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

  • えせ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
  • ログアウト処理は POST メソッドで作る

    Firefox で勝手にログアウトする問題が発生していました。Firefox のページ先読み順序の基準については以下のページが参考になりました。 FireFox先読み機能対策としてnextリンクを解除する : WordPressをインストールしてみた 単純に link rel=’next’ が指定している URL を先読みしているだけです。 WordPress のページなどでログアウトページを作っている場合は特定のページに以下のような感じで next にログアウトページが入ってしまいます。

  • RailsでのfavoriteのURL設計 - ぶろぐ。@はてな

    http://d.hatena.ne.jp/r7kamura/20110505/1304577667がすごいなと思って、routes.rbの書き方の例についてコメントしたのですが、自分で書いておいて後で「unfavorite」はちょっとまずいかなと思ったので、favorite(いわゆるお気に入り、スター)はどういうふうに設計すればいいのか考えてみました。 構造はよくある感じの、 tweet has_many favorites user has_many favorites 任意のツイートに任意のユーザーがお気に入りをつけられるというもの。別にツイートじゃなくても何でもOKです。 ブログのコメントにはこのように書きました。 (1) resources :tweets do member do post 'favorite' post 'unfavorite' end end ルーティングは

    RailsでのfavoriteのURL設計 - ぶろぐ。@はてな
  • Practical NoSQL - Solving a Real Problem with MongoDB and Redis

    Practical NoSQL - Solving a Real Problem with MongoDB and Redis When I wrote The Little MongoDB Book (hey, it's free) I presented the point of view that, broadly speaking, NoSQL was about expanding our toolset with respect to data storage. In addition to new tools, NoSQL is also about viewing, and storing, data with an open mind and using new modeling techniques (if not new, than at least newly ac

  • キーワード引数のかわりに fluent interface (流れるようなインターフェース) を使う - kなんとかの日記

    Pythonでは、キーワード引数が使える。これは、引数の種類が多い場合は非常に便利である。 理由は、可読性が高いことと、引数の順番を気にしなくていいということ。 ## Pythonによるキーワード引数の例 rows = Query.find_all('stocks', where='price >= 1000', order_by='name', limit=10) キーワード引数がない言語では、ハッシュや連想配列を使ってそれに近いことができる。ただしキーワード引数と違って、キーワード名が間違っていてもエラーにならないという欠点がある。 ## PHPによる、連想配列を使ってキーワード引数をエミュレートした例 $rows = Query.find_all('stocks', array('where'=>'price >= 1000', 'order_by'=>'name', 'limit'

    キーワード引数のかわりに fluent interface (流れるようなインターフェース) を使う - kなんとかの日記
  • ricollab Web Tech Blog » Blog Archive » はてなダイアリーAtomPubレビュー: その3 設計編

    さて、このシリーズも今回で最後です。遅れに遅れて申し訳ありません…ちなみに昨年の12/22付けで仕様書が改訂され、私が指摘したところが直っていました。どうもありがとうございます>中の人 最後は設計編です。 今回、私がはてなダイアリーAtomPubの仕様を見ていて、設計面で疑問に思ったのは次の2点です。 X-HATENA-PUBLISH HTTP ヘッダ エントリ文書の対称性 以下ではそれぞれについて具体的に検討してみます。 X-HATENA-PUBLISHヘッダ いくつかのブログでも指摘されていますが、はてなダイアリーAtomPubではapp:draft 要素を利用しません。 はてなダイアリーAtomPub仕様書によると、以下のような理由があるそうです。 はてなダイアリーAtomPubでは、AtomPubで規定されているapp:draft要素を使用しません。はてなダイアリーでは日記エントリ

  • Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson | Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson | InformIT

    Erich Gamma, Richard Helm, and Ralph Johnson talk to Larry O'Brien about Design Patterns, 15 years later. Larry O'Brien: 85,000 apps for the iPhone have been developed and deployed in the past year-and-change. One can write a globally-accessible "Hello, World! The time is X" Web page in just one line of PHP, for instance. "Designing object-oriented software is hard," are the first words of Design

  • パターンを学べばどんな技術にも対応できる

    パターンを学べばどんな技術にも対応できる:マーチン・ファウラー特別ラウンドテーブル 現場レポート [前編](1/2 ページ) マーチン・ファウラー氏の来日に伴い、マイクロソフトとアットマーク・アイティは4月21日、「マーチン・ファウラー特別ラウンドテーブル」を共同開催した(ラウンドテーブルの参加者は下記を参照)。ファウラー氏は非常な饒舌(じょうぜつ)家である。1つのシンプルな質問に対し、さまざまなエピソードを交えながらたっぷり15分以上は回答し続ける。ラウンドテーブルのテーマとして、「Architectual Pattern」「Analysis Pattern, Enterprise Modeling」「Agile Process, XP」「UML」「Architect Evangelism」といった幅広いジャンルを用意したものの、ファウラー氏の情熱的な饒舌が制限時間を圧迫し、すべてにおい

    パターンを学べばどんな技術にも対応できる
  • 人間のために分かりやすい実用的なURLを設計する方法

    URL Design [ad#ad-2] 下記は各ポイントを意訳したものです。 はじめに URLを設計する理由 トップレベルのセクションは重要 URL構造を増強する方法 クエリの文字列 URLにはASCIIを URLは検索エンジンのためにではない URLは合意 全てがURLを持っているべき リンクはリンクらしく 再利用できないURL 素晴らしいURLの例 おわりに はじめに あなたは、URLの構造を設計するのに時間をかけるべきです。この記事を読んだ後で、あなたに一つだけ覚えておいてほしいことは、URLの構造を設計するのに時間をかける、ということです。 URLデザインは簡単ではなく、正しい解決方法があると言うことはできません。しかしそれは、他のデザインと同じです。良いURLデザインがあり、良くないURLデザインがあり、そしてその中間もあります。 しかし、それは素晴らしいURLデザインを作るこ

  • ワイヤフレーム | CSS Radar | For Frond End Developers

    CSS Radar For Frond End Developers Recent Articles ワイヤフレーム 01 Apr HTML5 Boilerplate 15 Mar ターミナルを使いこなす 13 Feb Gitでバージョンコントロール 29 Jan レスポンシブウェブデザインについて 24 Jan Read More ワイヤフレームって作ったことありますか? ワイヤフレームはウェブページのコンテントを視覚的に表現するドキュメントの中核を担う存在。 建築用語でいうところのブループリントと同じだろうか。 52 Weeks of UXによると、UXデザイナにとってなくてはならないモノであり、IAのベストフレンド、とさえある。(Wireframing is not a religion) 私が現在働いている会社にはもちろん、UXデザイナという職種もないし、IAという職種もない。デ

  • sinatraとActiveRecordとERBでBBS作ったのでソースを公開してみる - 新だるろぐ跡地

    rubyのwafでsinatraが最近人気なのでBBS作ってソース晒してみた。 http://github.com/hirafoo/sinatra_bbs/tree/master rubyrailsも、ほぼ知識無しの状態でやったので色々見苦しいはず。俺が使えるのはrailsの中でのマイグレーションのみです。 sinatraについては以下が大変参考になります。 http://labs.unoh.net/2009/05/sinatra.html 第9回 SinatraとSequel・Hamlで掲示板アプリを作る:Ruby Freaks Lounge|gihyo.jp … 技術評論社 作ったBBSの機能、特徴など。 ActiveRecord使用 railsと同じコマンドによるマイグレーション セッション管理 セッションをDBに保存 ログイン 認証 ページング ERB使用 にげっとのソースを晒し

    sinatraとActiveRecordとERBでBBS作ったのでソースを公開してみる - 新だるろぐ跡地
  • 直交性 - Strategic Choice

    直交性どういうこと?元々は幾何学分野の用語である。コンピューティングの分野では、ある種の独立性、あるいは分離性を表している。 2つ以上のものごとで、片方を変更しても他方に影響を与えない場合、それらを直交していると呼ぶ。たとえば?うまく設計されたシステムでは、データベースのコードはユーザー・インタフェースと直交してる。つまりデータベースに影響を与えることなくインタフェースを変更したり、インタフェースを変更することなくデータベースを交換できたりする。どうして?生産性の向上 変更が局所化されるため、開発期間とテスト期間を短縮できる。システム結合が疎になるため、再利用性が促進される。直交しているコンポーネントを組み合わせて、多くの機能を実現出来る。リスクの削減 問題部分を隔離できるので、システムがより頑強になる。コンポーネント単位の設計や、テストが簡単に行えるため、検証しやすい。特定のプラットフォ

    kitokitoki
    kitokitoki 2011/03/21
    直交性
  • Ruby を全面的に採用した東京ガスの地震防災システム

    東京ガスでは、数年前より、業務システムのオープン化に取り組んでおり、今日に至っております。とくに、地震防災という非常にミッションクリティカルな業務システムへ Ruby を全面的に採用し構築、運用しています。今回のミニセミナーでは、東京ガスグループの(株)ティージー情報ネットワークに所属する武藤様にお越しいただき、2009 年 10 月に リニューアルした地震防災システム「SUPREME」を紹介して頂くとともに、システム全体像における Ruby の位置付け、および Ruby 適用の効果について、ユーザ視点でご講演いただきました。

    Ruby を全面的に採用した東京ガスの地震防災システム
  • Close to the EDGE New Wave of Database Programming with Ruby 1.9 on Rails 2.1

    New Wave of Database Programming with Ruby 1.9 on Rails 2.1 というタイトルで、 RubyKaigi 2008で LTした。とりあえず発表資料は こちら 。 (2008/07/01追記: そうか! slideshareなんだからそのまんま貼っちゃえば良いのか! ということにようやく気づいて以下に貼った) ところで、これがまたどうも何故か Java方面から思わぬ反応を頂いているようだ。 http://d.hatena.ne.jp/higayasuo/20080624/1214305064 違うよ><全然違うよ!! Javaは僕にオブジェクト指向を教えてくれた思い出深い言語なので、ひがさんのとこのコメントにも 書いたとおり嫌いとか対立とか全く思ってもいないし、ていうかそもそもそんな後ろ向きな話題には 微塵も興味な

  • ページネーションにおけるrel=“canonical”タグの正しい使い方 at SMX West 2011

    今日のエントリもSMX Westのセッションからのレポートです。 扱うトピックは、GoogleのMaile Ohye(マイリー・オイェ)さんが説明した、「ページネーションにおけるrel=”canonical”タグ(属性)の使い方」です。 ※ページネーションとは、ここでは1まとまりのコンテンツを複数のページに分割する、いわゆる「ページ送り」を意味します。 たとえばECサイトでを通信販売していたとします。 あるカテゴリで、1ページにつき商品を10個表示していて、全部で200種類のがあったとします。 この場合ページネーションすると、合計で20ページができあがります。 こんなケースでrel=”canonical”タグを使うとしたら、あなたはどうしますか? 僕だったら、2ページ目以降のページでは1ページ目を指し示すようにrel=”canonical”タグを記述します。 つまり「ページ2」〜「ペー

    ページネーションにおけるrel=“canonical”タグの正しい使い方 at SMX West 2011
  • 補足 - Web Applicationをきれいに設計するためのMVACという考え方 - $shibayu36->blog;

    Web Applicationを綺麗に設計するためのMVACという考え方 - Dive into the Tech World! では、様々な意見をいただきありがとうございました。コメントを見る限り、うまく伝えきれていないなという部分がいくつかあったため、補足としてまとめたいと思います。 前提 前回の記事は一応前提として、以下のようなものがあります。 Web Application設計の新しい手法を提案したわけではない 昔からある手法の理解が自分の中で深まったので、まとめてみたわけです もらった意見とその補足 MVCにおけるMの定義がおかしいのでは Mの定義がおかしいから、Aがある データモデルがMと思うと失敗する これに関しては、「MにSkinnyを」などというように、記事の書き方が少し良くなかったのではないかなと思いました。Mに関しては、DBへのインターフェイス、オブジェクトの層、ロジ

    補足 - Web Applicationをきれいに設計するためのMVACという考え方 - $shibayu36->blog;
  • Expression Builderパターン - Strategic Choice

    Expression Builderパターンどういうこと?内部表現にカプセル化を施し、その上に公開インターフェイスを組み立てる。公開インターフェイスは「流れるようなインターフェイス(fluent interface)」と呼ばれるメソッドチェーンを実現する。たとえば?クラスのクライアントの観点から見る。車両のクラスCarがあり、そこに商品としての情報MarketingDescriptionを持たせる例がある。 Car car = new CarImpl(); MarketingDescription desc = new MarketingDescriptionImpl(); desc.setType("box"); desc.setSubType("Insulated"); desc.setAttribute("length", "50.5"); desc.setAttribute("la

  • Introduce Expression Builder - Strategic Choice

  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

  • ユーザーを逃さない!海外Webアプリの入力フォームいろいろ

    このフォームのポイント! 上部のボックスでエラー表示 入力時にリアルタイムのエラー判定 それぞれのフォーム下部にエラー文言 項目名を赤く目立たせる