タグ

ブックマーク / codezine.jp (26)

  • 【Sun Tech Days 2008セッションレポート】「MySQL: Database for Web 2.0」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    【Sun Tech Days 2008セッションレポート】「MySQL: Database for Web 2.0」
    hiroto-k
    hiroto-k 2008/12/10
    ちょこっとパフォーマンスチューニングネタ+5.1GAネタ
  • 「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine
  • CSSハックで、クロスブラウザ対応のCSSを記述する:CodeZine

    はじめに 連載では、「クロスブラウザに対応したデザインテクニック」をテーマに、保守性や互換性に優れたXHTML+CSSの書き方を紹介しています。 連載第1回目となる前回は、CSSを使ったクロスブラウザなデザインを実現するための第一歩として、「表示モード」について解説しました。今回からは、表示モードを統一してもカバーできないブラウザの実装差異を補う方法として、CSSハックを中心に紹介していきます。対象読者XHTMLCSSの基を理解していている方。Web標準に準拠したクロスブラウザなレイアウトデザインに興味のある方。 必要な環境 クロスブラウザなデザインを目指す上でターゲットとする視覚系ブラウザを一通り用意してください。稿では、ユーザー数が多く、表示上の問題も多いことから、Windows Internet Explorer 6を中心に解説していますが、それ以外の視覚系ブラウザ(モダンブ

  • PHPにおけるUnicode文字列の正規化:CodeZine

    はじめに 与えられた文字列を含む文書を返す検索機能を実装しているところを想像してください。 検索語として「ページ」が与えられれば、「ページ」という文字列を含む文書を返します。これは特に難しいことではありません。 半角の「ページ」が与えられたらどうでしょう。「ページ」と「ページ」を区別する必要がないような、一般的な文書検索においては、「ページ」という文字列を含む文書を返すのが望ましいはずです(もちろん、この2つは常に同一視できるわけではありません。同一視できない例として稿があります)。 もしかしたら、「㌻」で検索しようとする人がいるかもしれませんし、日語を母国語としない人が、「ぺ」(「ヘ」と半角の半濁点「゚」)や「ヘ゜」(半角カナ「ヘ」と半濁点「゜」)を使うかもしれません。 人間なら簡単に対応できることですが、コンピュータで対応するには特別な処理が必要になります。例えばUnic

  • Adobeが推奨するFlexコーディング規約がWebで公開中:CodeZine

    Adobeが推奨するFlexのコーディング規約「Flex SDK coding conventions and best practices」がWebで公開されている。 このコーディング規約は「まだ完全ではない」とされているものの、FlexフレームワークをActionScript 3でコーディングする際の標準となりうるものとしており、今後、Flex SDKプロジェクトはこのコーディング規約に則ってコミットされていくという。

  • SQLiteを操作できるFirefox拡張機能「SQLite Manager 0.2.4」リリース:CodeZine

    SQLiteを操作できるFirefox拡張機能SQLite Manager 0.2.4」がリリースされた。Firefox Add-onsよりダウンロードできる。 「SQLite Manager」をインストールすると、Firefoxメニューの「ツール」から起動できるようになる。DBファイル(sqliteファイル)を指定することで、テーブルの操作が可能になる。 実行できる操作はデータベースの作成・削除、テーブルの作成・削除、データグリッドによるテーブル行の追加・編集・削除など。他にもSQL文の発行やインデックスの設定といった基操作全般が行えるようになっている。 SQLite Manager :: Firefox Add-ons

  • Perlを使って脆弱性を検証する:CodeZine

    はじめに 今回はXSSの脆弱性をチェックするPerlスクリプトを作成したいと思います。すべてのXSSによる脆弱性が回避できるわけではありませんが、テストコード作成のヒントになれば幸いです。 対象読者 Webアプリケーション開発者で、XSSのテストケースを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。基動作の確認はMac OS Xを利用しました。次のPerlモジュールを利用するので、あらかじめインストールしておいてください。 Template::Toolkit Web::Scraper Test::Base またCGIを使用するので、ApacheなどのCGIが実行できるWebサーバを用意してください。 解説内容 ソースコード解説 まず最初にソースコードの解説をします。 xss.pl

  • 階層化アーキテクチャと依存性注入・依存性逆転:CodeZine

    .NET 1.0のベータ1から.NET Frameworkに従事してきた.NET開発のエキスパートで、アプリケーションのアーキテクチャ作成と設計と開発で7年以上の経験がある。アジャイルプラクティスと実際的なビヘイビア駆動開発(BDD)テクニックを通じてチームの成功を支援する独立コンサルタントとして活躍している。BDDを.NETに応用する記事をVisual Studio Magazine、DevX、MSDNに寄稿。ポッドキャスト/スクリーンキャストとして人気のある.NET Rocks!とDNRTVに登場したことがあり、実際のデザインパターンというトピックについてMicrosoftのためのウェブキャストを配信。MSDN Canada Speakers BureauおよびMicrosoft Most Valuable Professional(MVP)のメンバ。自分のブログも継続的に更新中。

  • サロゲートペア入門:CodeZine

    はじめに Windows VistaのJIS2004対応により、WindowsのUnicode環境で使用できる日語漢字の数が増えました。従来、12238字(Windows XP)だったのが13145字(Windows Vista)になり、907字追加されることになりました。これによって、JIS第3水準、JIS第4水準の漢字がすべてサポートされることになったのです(Windows XPまでは一部サポート)。 またWindows XPでも、パッチさえ当てれば、Windows Vistaと同じように追加907字を加えた13145字の漢字が使用できるようになりました。 ところが、この追加された907字の中には「サロゲートペア」という特殊な文字が304字あり、これらは今までのUnicodeの文字とは扱いが少し違います。この点について解説していきたいと思います。 対象読者 Unicode

  • 「Windows Live認証機能を手軽に導入」 MS、6つの言語に対応したSDKを無償公開:CodeZine

    MicrosoftWindows Live認証機能をWebサイトに設置できるライブラリ「Windows Live ID Web Authentication 1.0 SDK」を公開した。ダウンロードセンターより無償でダウンロードできる。 Webサイト上でIDとパスワードを使った認証機能を導入しようとした場合、IDの発行や管理、ユーザ増加によるシステム負荷、安全性を保つための技術開発など、さまざまな手間がかかってしまう。「Windows Live ID Web Authentication 1.0 SDK」を使うことで、この認証機能を全てWindows Live認証機能に肩代わりさせることができ、これによりWebサイト構築時の開発コストを下げることが可能になる。 SDKはASP.NET(C#)、JavaPerlPHPPythonRubyの6言語が用意されており、Windows

  • MySQLのシステムアーキテクチャ:CodeZine

    SQLを使う業務では分析関数を使いこなすと、生産性とSQLの可読性とパフォーマンスを、大きく向上させることができます。分析関数を使う際の考え方と、処理のイメージを解説します。今回は総集編として、前編、中編、後編、完結編に関連した内容を扱います。

  • Facadeデザインパターンを利用したオブジェクト指向JavaScriptカレンダーの作成:CodeZine

    去る8月30日(土曜日)、ライトウェイトプログラミング言語(Lightweight programming Language)の総合カンファレンス「LL Future」が、なかのZERO(中野区もみじ山文化センター)大ホールで開催された。当日は前線の影響で時おり豪雨に見舞われる中、さまざまな言語のユーザーや開発者など千人近くが集まった。

  • RailsでWikiシステムを作成する:CodeZine

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • 「ちょっと待て」 真・MySQLのクエリを最適化する10のTips:CodeZine

    Jaslabs: High performance phpで紹介された「MySQLのクエリを最適化する10のTips」に対して、反論している人がいる。ブログ「20bits」のJesse氏だ。彼は「10 Tips for Optimizing MySQL Queries (That don’t suck)」というエントリーで、Jaslabs氏の記事は適切でないとしている。 Jesse氏の経験によれば、SQL最適化で最も重要なことはSQLDBの基をしっかりと理解することであり、60%がこれで解決するという。残り35%はDBやクエリの特殊な性質に対する対処であり、最後の5%で発想の転換などを求められる。Jaslabs氏はここにばかり力を入れており、それはまったくもって時間の無駄だと述べている(Jesse氏は「SQL_SMALL_RESULTなんて、生まれてこの方使ったことすらない」とまで言

  • CodeZine:「超高速、完全自動、しかもフリー」 WebテストツールのGITAK公開(TIBCO, 開発ツール)

    TIBCOは、オープンソースのWebサイトテストツール「TIBCO General Interface Test Automation Kit 0.7」(GITAK)を公開した。TIBCO Developer Networkより無償でダウンロードできる。 「TIBCO General Interface Test Automation Kit」は、Webサイトの入力チェック、ボタンの動作内容、JavaScriptの動作などを自動で一気にテストできるツール。すべてのテストがブラウザで完結するのが特徴だ。ダウンロードファイルにはサンプルが含まれているので、試しに動作させてみることができる。 1.GITAKの入手 TIBCO Developer Networkよりファイルをダウンロードし、解凍する。 2.TestRunner.htmlの起動 解凍してできたフォルダから「/gitak/c

  • IE7強力無料アドオン「IE7pro 0.9.12」公開、グリモンっぽいことが可能に:CodeZine

    IE7を強力にカスタマイズできるアドオン「IE7pro 0.9.12」が27日、公開された。IE7pro.comから無償でダウンロードすることができる。 IE7proは、IE7をより使いやすくすることができるアドオン。マウスジェスチャーや、プロキシスイッチ、ダブルクリックでタブを閉じる、といった機能に加え、「スーパーマウスジェスチャー」と呼ばれる機能がついている。これを使うと、Web上のリンクをドラッグ&ドロップするだけで、リンク先を新しいタブで開くことができるようになり、かなり便利だ。また、反転表示させた文字をドラッグ&ドロップした場合は、その文字を自動的にGoogleで検索してくれる。 今回のバージョンアップではGreasemonkey(グリースモンキー)に似た機能として「User Script」が搭載された。GreasemonkeyはFirefoxの人気拡張機能の1つで、Java

    hiroto-k
    hiroto-k 2007/03/28
  • SQLで数列を扱う:CodeZine

    はじめに 関係モデルのデータ構造には、「順序」という概念がありません。必然的に、その実装であるリレーショナル・データベースのテーブルやビューにも、(たてまえ上)行列の順序がありません。同様にSQLも、順序集合を扱うことを直接的な目的とはしていません。 そのため、SQLでの順序集合の扱い方は、最初から順序を扱うことを目的とした手続き型言語とファイルシステムのアプローチとはかなり異質なものになります。しかし、異質ではあるものの、そこに確固たる原理が存在することも確かです。一言で言えば、集合と述語――特に「量化子」(quantifier)と呼ばれる特別な述語の使い方が鍵になります。 稿では、SQLを使って、数列や日付などの順序を持つデータを扱う方法を解説します。単にTipsを列挙するだけでなく、できれば、解法に共通する基的な原理を取り出し、未知の問題に取り組むときにも適用できる一般的な指針と

  • [PHPプロ!] 重複するURLを防ぐことでSEO効果を上げるTips:CodeZine

    onPHP5.comで、非常に見落としやすいSEOのTipsが掲載されています。これは、重複するURLを無くすことに重点が置かれたSEO対策です。 たとえば、http://www.example.com/ というサイトに http://example.com/ でも繋がるようであれば、これは重複するURLであるといえます。このようなURLが存在すると、同じページへのリクエストが複数のURLに分散されてしまうためSEO的に不利になるということです。 この記事ではこのような重複URLを、mod_rewriteとPHPスクリプトを用いて防ぐ方法が紹介されています。記事で取り上げられているのは、どちらを入力しても同じページが開く以下のような3つのケースです。 ドメイン名の違いによる重複

  • [PHPプロ!] PHPのOpenSSL関数を使って、OpenIDとTypeKey認証を実装するコード:CodeZine

    Wez Furlong氏による、OpenIDとTypeKey認証を行うための、OpenSSLエクステンションのパッチが公開されています。このパッチを使用すると、PHPのアプリケーションにて、OpenIDとTypeKey認証を簡単に実装できます。 パッチ自体は、このURLからダウンロードできます。Furlong氏のサーバー上でのPHP5にて動作を確認されているという事ですが、PHP4でも動作するだろうと、同氏は述べています。 Associateリクエスト Associateリクエストを行い、キーを生成、交換することで、OpenIDサーバーとの関係を構築できます。このリクエストの結果は、同じサーバーを認証する場合の、ユーザー認証に使用できます。このコードは以下のようになります。 <?php $assoc = array(); $crypto = array(); $dh = o

  • 相関サブクエリで行と行を比較する:CodeZine

    はじめに SQLでは、同じ行内の列同士を比較することは簡単にできます。普通にWHERE句に「col_1 = col_2」のように書けばよいだけですから。一方、異なる行の間で列同士を比較することは、それほど簡単ではありません。ですがそれは、SQLで行間比較ができないということではありません。手続き型言語とはかなり異なる発想に基づいていますが、SQLでもそうした処理を記述することが可能です。 SQLで行間比較をする際に威力を発揮するのが相関サブクエリ、特に自己結合と組み合わせた「自己相関サブクエリ」です。稿では、この技術を使った行間比較の応用方法を、具体例を通して解説します。稼働環境OracleSQL ServerDB2PostgreSQLMySQL(バージョン4.1以上) 対象読者 相関サブクエリの基的な使い方を知っている方。CASE式、自己結合、スカラ・サブクエリについての知識があると

    hiroto-k
    hiroto-k 2007/02/08