タグ

ブックマーク / www.milkstand.net (8)

  • WebにおけるMVCアーキテクチャの勃興と変遷

    どんなに当たり前になった開発手法やプログラム管理方法があっても、新人さんにとってはHello worldから入って行くと思う。インターネットで、「知の高速道路」が整備されたと言っても、意外と古い話を探すのは難しい話で、MVCみたいに当たり前になってしまったことについて、何故そんなものが存在するのか?という考え方を後から肌で感じるのは難しく、そんなことを考えていたら、突然MVCについて書きたくなった。 以下、書いていくがかなりの偏見が入っている気はするので、ぜひ、歴史認識が間違ってたら僕のためにツッコんでくださいませ。 僕がMVCアーキテクチャを知ったのは、JavaのServletを勉強していた時だった。Javaはオブジェクト思考で作られている言語かつ、Webに特化した言語ではないため、クラス間のデータは、インターフェース仕様に基いて秘匿されるのと、テンプレートエンジンは別に存在していたので

    ghostbass
    ghostbass 2013/05/26
    rails的なものってなんか苦手。C部分で実装するのはActionなのに複数のActionが渾然一体となってめちゃめちゃになる。
  • 引き算のデザイン vs ごちゃごちゃしたデザイン

    定期的に出る、「エレガントなデザイン」より「ごちゃごちゃしたデザイン」の方が売れるという話がある。 よく楽天市場のショップを揶揄する言葉として使われるが、最近は、eBayにもこんな話が出て、どうやら世界共通に通じることらしい。 eBay でヒドいデザインの方がコンバージョン率が高かった、という話 ただ、何故ごちゃごちゃ情報を掲載した方が売れるのか?!ということに関しては、あまり具体性がある記事を見た事が無い。 自分が思うところを書いてみたいと思うが、ある掃除機を売ると仮定して、「引き算の商品説明」と、「ごちゃごちゃしたい商品説明」考える。 ■引き算の商品説明 この方法で説明を考える時は、その商品の良さを徹底的に絞り込んで、できる限り一つのメッセージに落としたいと考える。 その結果が、例えば 「吸引力の落ちない掃除機です」 という説明にして売る。 何個かメリットがある場合は、情報に強弱をつけ

    ghostbass
    ghostbass 2012/05/21
    見せるobject,targetによって「良い」「悪い」は決まってくるはず。
  • 何故、エンジニアはUIのセンスがないか。

    何故、エンジニアUIのセンスがないのか、という自分にも当てはまるようなことについて書いてみる。 まずエンジニアがダメなUIを作ってしまう理由について、いくつかの仮説を立ててみる。 1.その画面を作るエンジニアは全てを知りすぎていて、もはやわからない人の気持ちがわからない説 2.エンジニアITリテラシーは高いけど、自分ができることを人に理解できるように説明するのは下手説 3.技術的に実現する方に興味が偏って、ハナからUIの使い勝手に興味が無い説 4.国語力がない、自分が実現する文脈を表現するのはできるが、ユーザーの文脈に配慮した言葉を想像する力が無い説 5.仕様書を読まない、人の言う事を聞かない説。例えばOSが定めているユーザーインターフェースガイドラインに従わないので、UIパーツが意図した使い方をしておらず統一性に欠ける。 6.わかりやすい色や文字、レイアウトに関する知識が無い。センス

    ghostbass
    ghostbass 2012/05/13
    UIの70%ぐらいは所謂センスの問題じゃなくてユーザーに何を認識させるかとかって言う設計の問題。「エンジニアだからUIはどうもねえ」は甘え。
  • Siriがパスロック状態で動くことが問題じゃなくてさ

    「「Siriが、iPhoneの持ち主の個人情報を教えてくれる件」」を書いたら、Siriがパスロックの状態で使えることばかりが、みなさんの気持ちにヒットしてるようで、そこの反応が多かったのですが、僕が驚いたのは事実ですがポイントはそこじゃない。 「私は誰?」で出てきた情報の出所を確認したかったのです。 一言で言うと、どこかの何かのプロセスで、 アップルストアに入力した「購入情報」が勝手に同期され公開されていませんか? ということなのです。 まず僕はiPhoneやスマホを信用していなくて、昨今のアドレス帳が勝手にWebサービス側に同期されてしまう問題があるので、極力iPhoneに個人情報を入れないようにしているつもりです。 で、Siriでは、上記のアルファベットで入力した名前が出てきました。またわざわざ家の住所まで出てきました。 住所なんてiPhoneに入れた覚えはありませんし、入れるきっかけ

    ghostbass
    ghostbass 2012/03/09
    秘書がやりました
  • それドロップシッピングを語る業者に騙された、だけでしょ?

    これドロップシッピングが悪いんじゃないでしょ。ひどいニュース。 ネット商取引「ドロップシッピング」出店者の被害続出 (1/2ページ) - MSN産経ニュース ドロップシッピングは「直送」の意味。ホームページやブログで電化製品などさまざまな販売店を出店した個人が、商品購入の注文を受けるとサービス提供業者に発送を依頼する。在庫を持たずに出店でき、仕入れ値と販売価格の差額が利益になるシステム。出店者は購入希望者とメールでやり取りするだけ。従来のネット通信販売に代わる新たな商品流通として注目されている。 うんうん。 で、 近畿在住の自営業の男性は親族からドロップシッピングの話を聞き、副業にしようと昨年3月、東京都内のサービス提供業者に問い合わせた。担当者から「何もしなくてももうかる」「月に1000万円を稼ぐ人もいる」と勧誘され、HP作成費などを含む約230万円を支払い、昨年7月に液晶テレビなどの販

    ghostbass
    ghostbass 2009/05/03
    なるほど。
  • ソースコードは一期一会の精神で書くべし。

    こんなことを、おいらが言って説得力があるのかわからないけど、 「@」でエラー抑制すると PHP が遅くなるという噂について : a++ My RSS 管理人ブログ ↓ 大切なのは数秒のスピードアップ?それとも? でもね、よく考えよう。100万回ループさせたら9秒の差が出ました、って、、、 100万回とか1000万回ループするfor文なんてものを書くのは実際の開発現場においてよくあることなんだろうか? 元のエラー処理の考え方が富豪的だなとは思ったけど、安定して動いているなら一度書いたコードとしては、わざわざ直すレベルではない。 ネタ帳さんの方の、はてブコメントに大量のアクセスがあったら?という意見があったけど、それなら一度書いてしまったなら、そうなった時に直せば良いだけの話。 逆に言えば、プログラムを書いてお金をもらう人は、「安定して動いてるけど、望ましくない記述」という状態もまた真になって

    ghostbass
    ghostbass 2008/05/10
    単に効率アップを目指すだけのリファクタリングなどするべきではないが、一方でバカコードを放置して「動いているから」を理由にリファクタリングしないのはもっとバカだろ/触られたくないなら馬鹿コード書くなよ
  • F's Garage:>「ソフトウェアの部品化」が失敗する理由を読んで。

    この記事は考えさせられた。 「ソフトウェアの部品化」が失敗する理由 - @IT おそらくその1つの理由は、「部品化」という比喩が門外漢にもきわめて分かりやすいからだろう。部品化は以下のように理解されている。 部品を再利用すれば生産性が上がる 不具合が出るのは部品の品質基準がないからだ 汎用部品を使わず専用部品を作るから費用がかかる 完成品メーカーになれなくとも、高品質な部品を提供する産業として成長できる それに対する現実は、 実のところ、部品化とは 再利用は品質の安定期まではかえってコストが上がる 初期目的外のテストは過剰で、そもそも行われてない 汎用化を目的とせず使い捨てコードを書くことで、短期的コストは下がる 高い再利用性を持った部品群を作成する方が、使い捨てコードよりも高度な技術が必要 この文章を読んで、製品の部品化(ASSY)は同じものを繰り返し作る手間、品質を改善したが、ソフトウ

    ghostbass
    ghostbass 2008/05/03
    たとえばギア、車輪のようなものは実はかなりある。
  • JavaScriptでViewをロジックと分離するphp版

    「Jemplate で JavaScript でもロジックとビューを分離する」に刺激されて、phpでやってみようかと思ったら、あまりにも簡単なことしか思いつかなくて、それってこういうこと?ってのを書いてみます。 HTMLのWindowインターフェースを研究する でシンプルなウインドウマネージャを作ってみたのですが、naoyaさんが書かれている通り、JavaScriptで動的出力するHTML部分のコーディングが面倒だなぁと思っていたので、Jemplateなるものの変わりにSmartyを使ったらどうよ?ということで以下のような感じになりましたが・・・・ 例:まず最もシンプルなHTML側のコードを書いてみる。 document.writeしてるのは、スクリプトタグから読み込まれるjsonオブジェクトの中にあるHTMLに該当します。 --------------------------------

  • 1