設計に関するxlcのブックマーク (29)

  • SQLデータベースに正しインデックスを作るのは 誰の役割?

    SQLのパフォーマンス問題は、SQLそのものと同じぐらいの歴史がある―― ある人は、SQLはそもそも遅いものだとすら言うかもしれません。これは、SQL歴史が始まった頃は正しかったかもしれませんが、今となっては全く 当てはまらないでしょう。にもかかわらず、SQLのパフォーマンス問題は今も一般的でよくあることです。どうしてそうなってしまうのでしょうか? SQL言語は、恐らく最も成功した第4世代言語(4GL)でしょう。その最大の利点は、「何を」と「どのように」 を分離できることです。SQL文は、どのようにそれを実行するかを記述せずに、単純に 何を必要としているかのみの記述になっています。以下のような例を考えてみましょう。 SELECT date_of_birth FROM employees WHERE last_name = 'WINAND'SQLのクエリは、データを要求する英語の文として読

    SQLデータベースに正しインデックスを作るのは 誰の役割?
    xlc
    xlc 2014/10/19
  • staticおじさんとオブジェクトおじさんはお互いに分かり合えるようになるかもしれません。 - 達人プログラマーを目指して

    先日書いたstaticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指してのエントリに、なんと、みながわけんじ氏ご人よりコメントを頂きました。もともとは一般のstaticおじさん達(英語ではstatic ojisansという感じ)に向けて書いたのですが、思いがけず、元祖staticおじさん(The static ojisanあるいはMister staticといった感じ)ご人からのご意見をいただき、当に嬉しく思います。 オブジェクト指向の再利用性と非オブジェクト指向の関数やサブルーチンとの違いを明確に示していないから いろいろ理屈を込めても無駄ではないでしょうか? 誰かが作ったクラスを継承して再利用したところで、バグが少なくて、メンテナンス性がいいものができるでしょうか? そんなものをあてにするより、天才が作ったクラスライブ

    staticおじさんとオブジェクトおじさんはお互いに分かり合えるようになるかもしれません。 - 達人プログラマーを目指して
    xlc
    xlc 2011/07/22
    純粋なOO言語を使うといろんなことに悩むんだなあ。
  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

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

    xlc
    xlc 2011/03/04
    SmalltalkのMVCではCとVに結合はなく、Mの変化をVが検知するんだけどな。これに近いのはAjaxのコールバックだと思う。
  • NTTデータのHadoop報告書がすごかった - 科学と非科学の迷宮

    業界トップ のエンタープライズ Hadoop 企業 Cloudera に入社しました http://www.cloudera.co.jp/ 今年の6月に、「平成21年度 産学連携ソフトウェア工学実践事業報告書」というドキュメント群が経産省から公表されました。 そのうちの一つに、NTTデータに委託されたHadoopに関する実証実験の報告書がありましたので、今更ながら読んでみることにしました。 Hadoop界隈の人はもうみんなとっくに読んでるのかもしれませんけど。 http://www.meti.go.jp/policy/mono_info_service/joho/downloadfiles/2010software_research/clou_dist_software.pdf 「高信頼クラウド実現用ソフトウェア開発(分散制御処理技術等に係るデータセンター高信頼化に向けた実証事業)」という

    NTTデータのHadoop報告書がすごかった - 科学と非科学の迷宮
  • NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance

    ここ2-3年ほど、いわゆる非SQL系データベースがホットな話題になってきています。このムーブメントを総称して「NoSQL (Not-only SQL)」と呼ばれることが多いようです。まるでSQLを否定しているかのような誤解を招きやすい用語ですが、かといってキー・バリュー型データストアや列指向DBを総称できる他の呼び方もないので、このエントリではNoSQLという用語を使うことにします。 OracleMySQLなどのSQLデータベースが成熟していく一方で、SQLデータベースを特徴づける弱点である柔軟性のなさ、堅牢さと引き換えに犠牲になった更新性能の低さ、スケールアウトの難しさなどから、「何でもかんでもRDB」から「目的に応じた永続化」が模索される流れになってきました。 時を同じくして、キャッシュサーバの世界でも、MemcachedのもつシンプルなAPIの使いやすさが評価される一方、LRUによ

    NoSQLの成功は1:10問題にかかっている:Kenn's Clairvoyance
    xlc
    xlc 2010/09/21
    それでもやはりSQLは廃れないと思う
  • http://www.cs.cmu.edu/~sleator/papers/self-adjusting.pdf

    xlc
    xlc 2009/12/01
    スプレー木
  • 誰もが簡単に作れるアプリを目指したい――サーバなしで使える「Afrous」冨田慎一さん

    誰もが簡単に作れるアプリを目指したい――サーバなしで使える「Afrous」冨田慎一さん:ひとりで作るネットサービス(1/3 ページ) 国が推進する未踏ソフトウェア創造事業でも採択された、ブラウザだけでデータがマッシュアップできる「Afrous(アフロス)」を作った冨田さん。信条にしている「誰もが簡単に作れること」の真意とは? ひとりでつくるネットサービス第27回は、ブラウザだけでさまざまなデータをマッシュアップできるツール「Afrous(アフロス)」を作った冨田慎一さん(32)にお話を伺った。「情報利用をみんなの手に」を目指し、ユーザーが簡単にデータを活用できるツールを作りたいという冨田さん。単身米国に渡り、シリコンバレーも視察してきた冨田さんが見ている世界とはどういったものだろうか。 「誰だ、これを作ったのは?」――独立決意後に作ったデモがトップの目にとまる 「誰だ、これを作ったのは?」

    誰もが簡単に作れるアプリを目指したい――サーバなしで使える「Afrous」冨田慎一さん
    xlc
    xlc 2008/05/17
  • http://cgi36.plala.or.jp/tera5/v/security/webap_sec2/chap01.html

  • 高木浩光@自宅の日記 - 飾りじゃないのよCAPTCHAは 〜前代未聞のCAPTCHAもどき, CAPTCHA機能の発注仕様をどうするか

    ■ 飾りじゃないのよCAPTCHAは 〜前代未聞のCAPTCHAもどき CAPTCHA*1が基的に荒らし対策目的で使用されるものであることは以前にも書いた。ユーザビリティの犠牲が少ないものは早いうちに破られるし、改良してもイタチごっこになることも目に見えている。それでもなお活用する意義があるのは、使用目的が荒らし対策だからだ。新規ユーザ登録や、ログインなしでできるコメントやトラックバックなど、元々自由に利用させる機能である限り、完全に防ぐことはできないのであり、たとえ将来破られる可能性があろうとも何もしないよりはましだというわけだ。(荒らしがよりハードルの低いところへ行ってくれることを期待できる。) そのようなCAPTCHAは、日ではあまり普及していないようだ。荒し行為が英語圏での状況ほど深刻なものになっていないためか、あるいは、イタチごっこになることが目に見えている技術の採用を嫌う国

    xlc
    xlc 2006/08/11
    (背景に何があるかわからないけど)物事の本質をわかっていない設計の好例
  • 複雑さに金が落ちる時代は本当に終わるのか? - アンカテ

    RailsやChuraのいけてないところ これは、Ruby on Railsに対する実に的確な批判だと思う。だが、これによって逆にRailsの意味が見えてきたような気がする。 (このエントリ、入口はソフトのやや専門的な話ですが、例によって大風呂敷で、そこから"The World is Flat"の話につながっていくので、できればプログラマ以外の方もおつきあい下さい) Railsというソフト開発ツールの良さは、単に便利とかフルスタック(必要な全ての機能盛合せ)ということではなく、実践的な仕事の流れが背後に想定されていることだ。頭をひねってツールを使いこなすというより、ツール(が想定しているソフト開発手順)に「乗る」という感覚で開発を進めることができる(まさに On Rails)。 だから、Railsの個々の機能の過不足を問題にするのはあまり意味が無い。仮に不足があったとしても、オープンソース

    複雑さに金が落ちる時代は本当に終わるのか? - アンカテ
    xlc
    xlc 2006/06/22
    OOとSQLは相性悪いからねえ。
  • 脱オブジェクト指向のススメ:ビジネスをデザインするブログ:オルタナティブ・ブログ

    知り合いから相談に乗ってやってくれと頼まれたので、ある若手プログラマと会って話をした。お題はスキルパスについでだ。大学を卒業後、独学でプログラミングを学び、現在は中規模開発会社で、主に業務システムの開発に携わっているそうだ。 で、相談の内容は、「このまま現在の業務を続けるか、辞めて、専門学校などでゼロからプログラミング(というかシステム構築)を学びなおすべきか」というものだった。 で、「どうして?」って聞いたところ。 「やっぱり、オブジェクト指向とか、きちんと理解していないので、基礎からやり直したいんです」とのこと。 で、よくよく話を聞いてみると、要は、現場の開発において発生するいろいろな課題を解決できないのは、オブジェクト指向などをよく理解していないからでは?と思いこんでいるようである。 「・・・・」 この手の相談を受けるたび、正直私は気が遠くなるのだ。ITmediaの紙面上で書くのは少

    脱オブジェクト指向のススメ:ビジネスをデザインするブログ:オルタナティブ・ブログ
    xlc
    xlc 2006/06/08
    はいそのとおりです。いわゆるSI屋の下請けプログラマにとってオブジェクト指向は「キチガイに刃物」であることは事実。コメントの過剰反応がおかしい...
  • Bridge Word

    This shop will be powered by Are you the store owner? Log in here

    xlc
    xlc 2006/05/11
  • 開発者のための正しいCSRF対策

    著者: 金床 <anvil@jumperz.net> http://www.jumperz.net/ ■はじめに ウェブアプリケーション開発者の立場から見たCSRF対策について、さまざまな情報が入り乱れている。筆者が2006年3月の時点において国内のウェブサ イトやコンピュータ書籍・雑誌などでCSRF対策について書かれている記事を調べた結果、おどろくべきことに、そのほとんどが誤りを含んでいたり、現実的 には使用できない方法を紹介したりしていた。そこで稿ではウェブアプリケーション開発者にとっての当に正しいCSRF対策についてまとめることとす る。また、採用すべきでないCSRF対策とその理由も合わせて紹介する。 ■あらゆる機能がターゲットとなりうる ウェブアプリケーションの持つ全ての機能がCSRF攻撃の対象となりうる。まずこのことを認識しておく必要がある。 Amaz

  • ミクシィのCTOが語る「mixiはいかにして増え続けるトラフィックに対処してきたか」:ITpro

    ミクシィのCTOが語る「mixiはいかにして増え続けるトラフィックに対処してきたか」 YAPC::Asia 2006 Tokyo 東京都大田区で開催されているPerl技術者向けカンファレンス「YAPC::Asia 2006 Tokyo」で2006年3月29日,日最大のソーシャル・ネットワーキング・サイト(SNS)である「mixi」を運営するミクシィのBatara Kesuma(バタラ・ケスマ)取締役最高技術責任者(CTO)が,増え続ける膨大なトラフィックにどのように対処してきたのかについて講演した。カギとなるのは「データベース分割」である。 mixiのシステムはもともとBatara氏が1人で作り上げたものだ。2003年当時,米国でFriendsterなどのSNSがはやっており,同氏が会社(現在のミクシィ,当時はイー・マーキュリー)にSNSを作りたいと提案したところ認められたという。同氏が

    ミクシィのCTOが語る「mixiはいかにして増え続けるトラフィックに対処してきたか」:ITpro
    xlc
    xlc 2006/03/30
  • Life is beautiful: ソフトウェアの仕様書は料理のレシピに似ている

    先日、経済産業省向けの仕事をしている知り合いと事をしたのだが、彼によると経済産業省の今の悩みは、「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」だそうである。「プライムベンダー」と呼ばれる「上流コンサルタント」たちがインドや中国にも仕事を発注できることを理由に、激しく値切り始めたために、今やわずか一人月30万円というケースもあるという。 こんな話を聞くと当に悲しくなる。まず第一に「プログラムを書く」という仕事は簡単な仕事ではない。数学的な頭を持っていないとかなり辛いし、基礎がしっかりと出来ていないとろくなソフトウェアは作れない。物価の安いインドや中国なら許せるが、米国よりも生活費の高い日で一人月30万円とはあまりにも低すぎる。 「彼らは下流のエンジニアで、詳細仕様書に従った通りのプログラムを書くだけの簡単な仕事をしているから給料が安い」という説明を聞いたことがあ

    xlc
    xlc 2006/03/20
    正論であるが、「請負仕事」とはそんなもの。だからこそ海外に発注できるのだ。海外に置き換えられてしまうソフトハウスは自身の付加価値について考え直すべき。
  • ビジュアルパスワードという考え方:phpspot開発日誌

    passclicks Passclicks is a new way to login to websites without users having to remember thir old style textual password. 画像による認証のサンプルが公開されているサイトを発見。 まずこの写真から5つのポイントをクリックして覚えておきます。 5つクリックすることでパスワードを生成します。 5クリックすると画面が遷移するので、ログインページに移動して試してみましょう。 ログインには10回のクリックが許されていて、生成時にクリックした5つの位置をまんべんなくクリックしてあげましょう。 ログインが成功するはずです。 ビジュアルパスワードを使うことで、テキストによるものよりも人間が覚えやすい仕組みを実現できますね。 仕組みとしても斬新で、ちょっと感動しました。

    xlc
    xlc 2006/03/06
  • Flickr の認証API - naoyaのはてなダイアリー

    認証API をどうするか、ということで数名のスタッフであれこれ話ながらやってます。 まず、はてなの認証APIを使って何ができるといいのかというところですが、はてなラボをオープンしたときにいただいた意見などを見ると、「はてなAPIで認証付きのをセキュアに利用するための API」というより「サードパーティのアプリケーションではてなIDでユーザーを識別できるためのAPI」の方が求められているという風に思いました。 具体的には、新規にユーザーを識別する必要のあるアプリケーション、例えば掲示板などを作るとして、その掲示板のユーザーを一意に識別する方法としてはてなIDを使いたい、そのIDが当にその人のものであるかどうかをはてなが保証する、その保証を問い合わせるための API ですね。その掲示板でログインして何かを書き込むと id:naoya、と表示されると。 この手の認証APIを提供しているサービ

    Flickr の認証API - naoyaのはてなダイアリー
    xlc
    xlc 2006/02/26
  • ただ削除するだけでいいのか? 古いページの「ロングテール」効果 | 秋元@サイボウズラボ・プログラマー・ブログ

    japan.internet.com 併載コラム 「ロングテール」という言葉がある。現実の店舗ではスペースの制約で置けなかったような需要の小さな商品もインターネット上のオンラインショップではいくらでも取り扱うことができ、少量売れるものが多数集まるとその売り上げは無視できないほど大きい、というような現象を指す。 これを踏まえて今回は、実世界の整理整頓と Web サイトの整理整頓は必ずしも同じではない、という話をしようと思う。 Web サイトを制作する際、現実の会社案内カタログや商店の比喩を使って考えることは多い。もちろん、接客という面においては Web サイトも実店舗も同じであるから、この比喩によって類推できる事柄は多く、意味の無いことではない。 しかし、Web サイトが機械(プログラム)による自動応答システムであることを忘れると、人間によるサービスと機械によるサービスの特性の違いを見落とし

    xlc
    xlc 2006/02/07
    Redirectの新しい使い方
  • Tim Bray 「もうXML言語を開発するな」 と、それに対するUche Ogbujiの反応 - モジログ

    少し前に一部で話題になっていた、Tim Brayのこのエントリ。 ongoing - Don’t Invent XML Languages http://www.tbray.org/ongoing/When/200x/2006/01/08/No-New-XML-Languages これについて何か書きたいな…と少し思っていたのだが、これを先日コメントをいただいたSatoshi Tanabeさんが、なんと全文、日語に訳してくださっているのを見つけた。 satolog - もう XML 言語を開発するな http://po3a.blogspot.com/2006/01/xml.html <XML の X は「拡張可能(Extensible)」という意味だ。自分の問題に応じて自分の XML 言語を開発できることをウリにしている。でも、僕は過去 2 、3 年の経験から、そうすべきではないことを悟

    xlc
    xlc 2006/01/30
  • TinyMCE JavaScript Content Editor - naoyaのはてなダイアリー:

    とある友人に教えても経ったTinyMCEという WYSYWIGWYSIWYG な HTML エディタライブラリがやばそう。 JavaScript で記述された LGPL でオープンソースな クロスプラットフォームの 多言語対応もしてて 簡単に使える ライブラリ。似たようなものに htmlArea というのがあって結構昔に話題になってたんですが、導入がめんどくさかったりブラウザによってはまともに動かなかったりとか色々面倒な感がありました。TinyMCE の方はと言いますと、Installation instructions にもあるとおり、 <html> <head> <title>TinyMCE Test</title> <script type="text/javascript" src="/js/tiny_mce/tiny_mce.js"></script> <script type=