タグ

ブックマーク / xtech.nikkei.com (13)

  • 基礎から理解するデータベースのしくみ(8)

    インデックスで検索を高速にする ここまでの説明でおわかりのように,一般にテーブル内のレコードがディスク上に格納される順序は,レコードを追加する順序やページに空きがあるかどうかなどに左右され,特定のキーの順番に並んでいるわけではありません。そのため例えば,従業員テーブル(emp)から従業員番号(eno)が71であるレコードを抽出するSQL文である SELECT * FROM emp WHERE eno = 71 のような単純な検索処理でも,テーブル内のすべてのレコードを一つずつ調べていかなくてはなりません。これではレコード数が膨大な場合に大変な時間がかかってしまいます。そこで,こうした特定のキーに対する検索を高速化するために用意されている仕組みがインデックス(索引)です。 インデックスの基的な考え方は,書籍の索引と同じです。例えば,書籍の中から「テーブル」というキーワードを検索する場合,あ

    基礎から理解するデータベースのしくみ(8)
    foosin
    foosin 2009/08/31
    リーフノード
  • 仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア

    シンプルでスケーラブルな分散ストレージを自社開発したライブドア 一方ライブドア執行役CTOの池邉智洋氏は,同社のブログや写真投稿サービスなどのインフラで利用中のストレージ仮想化ソフトを自社開発した事例を紹介した。ライブドアのサービス群が求める要件が「いかに安価に容量を追加できるか。過剰な機能と信頼性は不要」(池邉氏)と判断。メーカー製のネットワーク・ストレージの利用を止め,「ファイルのパスがそのままURLになるため,ファイル・システムのパスをURLに変換しなくて済む」HTTPで入出力する分散型仮想ストレージの開発に踏み切ったのだという(写真4)。 設計思想は「複数ノード間の一貫性はCAP定理に基づいて遅延を妥協し,スケーラビリティと読み出しの速さにこだわった。一方で書き込みはそこそこの速度でよく,認証とアクセス制御はアプリケーションで実装するので不要」(池邉氏)というもの。HTTPサーバー

    仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア
  • 76. ファイルの文字コードをコマンドで一気に変換:ITpro

    Web2.0を意識したシステム構築ではXMLを扱う頻度が増え、同時にデザインテンプレートやスクリプトなども文字コードをUTF-8に統一したいというシーンが出てくるのではないでしょうか。それ以外にも文字コードをディレクトリ単位で変換したいシーンがあると思います。 世の中には文字コード変換専用のフリーツールが多数存在しますが、ここではUNIXコマンドによる文字コード変換を紹介します。 1.特定ファイルの文字コードを変換する 文字コードを変換する為のコマンド[nkf]を紹介します。 nkfは入力ファイルの文字コードを自動的に認識して指定の文字コードに出力してくれます。勿論、入力ファイルの文字コードを指定する事もできます。また、改行コードなどの指定も可能です。 代表的なnkfの文字コード・改行コードの出力オプションを紹介します -j JISコードの文字コードを出力する -e EUCコードの文字コー

    76. ファイルの文字コードをコマンドで一気に変換:ITpro
  • [MySQLウォッチ]第26回 知らないではすまされない,MySQLのセキュリティ設定

    データベースのセキュリティ設定は,標準のSQLステートメントを使用して行うものだ。そのため,どのデータベースでも同様に行えるのが建前だ。しかし,それぞれのデータベースごとにユーザーIDの取り扱いなどで異なる点があり,実施には大きく異なる。今回は,MySQL 5系も含めてセキュリティ設定に関して解説する。 ユーザーID MySQLのユーザーIDは,ユーザー名とホスト名の組み合わせとなっている。ユーザーID自身にどのホストからアクセス可能なのか明示しているので,わかりやすい面がある。「%」は,ワイルドカードとなっている。そのためホスト名に指定すれば,ホストを特定しないユーザーIDとなる。 次の例では,同じユーザー名で4つの例を挙げている。 ユーザーIDの例 satou@'%' すべてのホストからアクセス可能 satou@localhost ローカルホスト(サーバーそのもの)のみアクセス可能 s

    [MySQLウォッチ]第26回 知らないではすまされない,MySQLのセキュリティ設定
    foosin
    foosin 2009/03/10
    権限
  • PHPの「守護神」Suhosin

    PHPは,数え切れないほどのWebサイトで使われている非常に有名なプログラミング言語である。基的にはスクリプト言語であり,実行時にコンパイルされる。PHPは非常に多くのコミュニティによって支えられており,様々な機能を提供する膨大な数のオープン・ソース・ライブラリが公開されている。「WordPress」といった人気アプリケーションも,PHPで記述されている。ただし,PHPにもセキュリティの問題は存在する。 PHPセキュリティ問題は,長年にわたって多くの開発者が問題の修正に取り組んできた。しかし,常に迅速な対応が行われてきたわけではなく,被害を受けるユーザーも存在した。2006年末には,PHP開発者のStefan Esser氏が,この状況に嫌気がさして,PHP Security Response Teamを辞任した。 Esser氏は自身のブログで,「(辞任した理由は)いくつかあるが,最も決

    PHPの「守護神」Suhosin
    foosin
    foosin 2009/02/24
    Esser氏は自身のブログで,「(辞任した理由は)いくつかあるが,最も決定的だったのは,PHPそのもののセキュリティを高めようといくら頑張っても無駄な努力だと悟ったことだ」と説明した
  • 矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)

    今回は、パターンを1つだけ紹介します。「Mediatorパターン」です。GoFでは、それぞれのパターンの「目的]「背景」「効果」などが明示されています。私も、ちょっと真似をしてみましょう。複数のオブジェクトを組み合わせてプログラムの機能を実現するという目的において、オブジェクト間の関連がゴチャゴチャになってしまうという背景(問題)があり、Mediatorパターンの採用によって関連をキレイに整理できるという効果があります。説明だけでは、何のことだかわからないと思いますので、具体例をお見せしましょう。 図1[拡大表示](1)をご覧ください。これは、UML(Unified Modeling Language、ユーエムエル)と呼ばれる表記法で記述されたプログラムの設計図です。UMLでは、四角形の中に下線付きで名前を書いてオブジェクトを表し、関連のあるオブジェクトを矢印で結んで示します。ここで関連

    矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)
  • まつもと直伝 プログラミングのオキテ 第5回(2)

    ブロックを使う2つの方法 Rubyのブロックについてもう少し詳細を見てみましょう。Rubyのブロックはメソッド呼び出しに付加できるコードの塊であって,それ自身はオブジェクトではありません(ブロックをオブジェクト化したものがクロージャです)。渡し方も通常の引数とは違います。次のメソッド呼び出しを見てください。 ary.each {|x| puts x} このコードを観察すると,以下のようなことが分かります。 ●aryオブジェクトのeachメソッドが呼び出されている ●通常の引数はない ●ブロックが付加されている メソッドから渡されたブロックを利用する方法は2つあります。一つは「ブロック引数」でブロックを受け取ることを明示的に宣言する方法,もう一つは予約語yieldを用いる方法です。図6[拡大表示]ではブロック引数を用いています。配列に対する繰り返し処理を進めるeachメソッドが定義されていま

    まつもと直伝 プログラミングのオキテ 第5回(2)
    foosin
    foosin 2009/02/18
    ブロック
  • Part5 SOAP,WSDL,REST――Web APIの基礎技術を学ぶ:ITpro

    Web APIWebサービスAPI)をプログラミングで活用するにあたって,ぜひ知っておきたい基礎技術が三つあります。古典的な技術の代表としてSOAPとWSDL,そして昨今急速に普及してきたRESTです。ごく単純に言ってしまうと,前者は「高機能で複雑」,後者は「シンプルで簡単に利用可能」と区別できるでしょう。現時点では,そのシンプルさが多くの開発者に受け入れられたおかげか,REST方式が(先達である)SOAP方式を圧倒しているように見えます*1。 もっとも,だからといってRESTがSOAPよりも優れていると結論付けるのは早計でしょう。昨今では,SOA(Service Oriented Architecture)という言葉に代表されるように,大規模なシステムを「サービス」という単位で構成し,互いに連携し合う設計手法が注目されています。特に,SOAを実現する具体的な基盤技術として注目されている

    Part5 SOAP,WSDL,REST――Web APIの基礎技術を学ぶ:ITpro
    foosin
    foosin 2009/02/06
  • 【 sed 】 文字列の置換,行の削除を行う

    sedは与えられた文字列を,ルールに従って変換するコマンドだ。例えば,文字列の置換,行の削除といった処理が行える。 変換に利用できるルールには下表「sedの条件式」のような条件式が利用できる。例えば,文字列を挿入したい場合は「a」や「i」の後に挿入する文字列を指定する。文字列を置換したい場合は「s/置換ルール/置換文字/」と実行する。 置換ルールの最初に数値を指定すると,指定した行のみが処理される。例えば,「3d」と指定すると,3行目が削除される。 sedコマンドで実際に変換を行う場合は,変換処理内容は「-e」オプションを指定した後に記述する。また,sedコマンドに指定したファイルの内容を処理する。例えば,source.txt内のLinuxをリナックスに置換したい場合は,次のように実行する。 $ sed -e "s/Linux/リナックス/g" source.txt 結果は標準出力(ディス

    【 sed 】 文字列の置換,行の削除を行う
  • Part3 一目でわかるRuby on Rails:ITpro

    今,Webアプリケーション開発者の間で,あるフレームワークが大変な注目を集めています。オブジェクト指向スクリプト言語であるRubyを使って作成されたWebアプリケーション・フレームワーク「Ruby on Rails」です。略して「Rails」や「RoR」とも呼ばれています。開発者はデンマーク在住のプログラマであるDavid Heinemeier Hansson氏です。現在は彼が属する37Signalsという企業が中心になって開発しています。 Railsは,2005年に海外で大きな話題を呼び,一大旋風を巻き起こしました。そのおかげで米国ではRuby関連の書籍の売り上げが1年間で15倍以上に増えたそうです。また,2005年8月に開催されたオープンソース・ソフトウエアに関する世界最大のコンベンション「O'Reilly Open Source Convention(OSCON)2005」では,Ra

    Part3 一目でわかるRuby on Rails:ITpro
    foosin
    foosin 2008/11/30
    古いけど一応
  • 生産性の高いWeb開発環境 Ruby on Rails:ITpro

    ジャンル:Webアプリケーション開発環境 作者:David Heinemeier Hansson氏など ライセンス:MIT License URL:http://www.rubyonrails.org/ Ruby on Railsはデータベースを利用したWebアプリケーションを構築するためのフレームワークだ。RubyMySQLで構成される。新規に記述するコードの量が少なくて済み,簡単にWebアプリケーションを開発できる。利用可能なアプリケーションも多い。 Ruby on Rails(以下,Rails)は,2005年12月14日にバージョン1.0が登場したこともあり,今最も注目されるWebアプリケーション・フレームワークといえるだろう(写真1)。PHPJavaを使った既存のフレームワークに比べて,開発時間が短い,すなわち生産性が高いことが特徴である。Ajax(Asynchronous J

    生産性の高いWeb開発環境 Ruby on Rails:ITpro
    foosin
    foosin 2008/11/22
  • [MySQLウォッチ]第30回 MySQL 5.0のセキュリティ・ホールとInnoDBの設定

    前回からの短い間に,多くのバグフィックスとともに2つのセキュリティフィックスが含まれるMySQL 5.0.25がリリースされている。今回はこれらのセキュリティ・ホールについて解説する。また利用頻度が非常に多いInnoDBのファイル設定に関しても解説する。 MySQL 5.xのセキュリティ・ホール 権限のないユーザーが同名のデータベースを作成できる問題 Linuxなどファイルシステムが大文字と小文字をシビアに識別している環境で,来作成できないデータベースを作成できてしまうセキュリティ・ホールが発見された。 図1●権限のないユーザーが同様のデータベースを作成できるセキュリティ・ホールの症状(MySQL Bugs: #17647より) 1.$ mysql -u root -p 2.Enter password: 3.mysql> create database sample; 4.mysql>

    [MySQLウォッチ]第30回 MySQL 5.0のセキュリティ・ホールとInnoDBの設定
  • 第1回 眼の疲れを取る:ITpro

    システムの開発・運用という激務を続けていると,いつの間にか心身に疲れがたまるもの。十分に休養を取れず,眼,肩,腰などに辛さを感じている方も多いのではないでしょうか。 そこで,お薦めしたいのが,自分でツボ(経穴)をマッサージすることです。マッサージによってツボを刺激すれば,疲れが和らいで心身がすっきりします。健康を保つのに役立つだけでなく,仕事への集中力を高めることにもつながります。仕事の合間などちょっと時間が空いたときを利用して,ぜひツボのマッサージを習慣化してください。 この連載では毎回,肩こりや腰の痛みといった一つの症状を取り上げ,それに対して効果が大きく,自分でマッサージしやすいツボを紹介していきます。今回は,眼の疲れを取る八つのツボを紹介します。 眼の周りにある六つのツボが疲れに効く 眼の疲れを感じたとき,無意識に目頭を押さえた経験はありませんか。眼の疲れを取るうえで効果的なツボの

    第1回 眼の疲れを取る:ITpro
    foosin
    foosin 2008/04/26
  • 1