タグ

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

  • 第2回 Comet---プッシュ型のWebアプリケーションを作る

    この記事は,日経ソフトウエア2007年1月号,連載「簡単実装で学ぶWeb技術2006」の第7回「Comet――プッシュ型のWebアプリケーションを作る」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。 今回は,サーバーからデータをプッシュするタイプのWebアプリケーションを作成する技法の「Comet」を紹介します。簡単なチャット・プログラムを通してCometの仕組みを学びましょう。 Cometとは 通常のWebアプリケーションは,クライアント(Webブラウザ)から送られてくるリクエストを受け取って動作します。つまり,WebアプリケーションはユーザーがWeb上のリンクをたどったり,ボタンを押したりすることをきっかけに動くのです。ここで,動きの主導権はクライアント側にあります。クライアントがサーバーから情報を「引き出す」ことによって動作する

    第2回 Comet---プッシュ型のWebアプリケーションを作る
  • W3C,マークアップ言語「XHTML 2」を「HTML 5」に統合へ

    Web関連技術の標準化団体World Wide Web Consortium(W3C)は米国時間2009年7月2日,マークアップ言語HTMLをXMLで再定義した言語「XHTML 2」について,策定担当ワーキング・グループ(WG)の憲章(行動指針)「XHTML 2 Working Group charter」の適用を2009年末で打ち切ると発表した。同憲章を更新せず,HTML担当の「HTML WG」に投入するリソースを増やすことで「HTML 5」仕様の策定作業を加速させ,HTML開発の方向性を明確化する考え。 W3CはXHTMLHTMLのXMLシリアライゼーション(XML形式への変換)と見なしている。HTML 5仕様にXMLシリアライゼーションを含め,引き続きHTML WGで検討していく。現在HTML 5仕様でこのXMLシリアライゼーションは「XHTML 5」と呼んでいるが,今後HTML

    W3C,マークアップ言語「XHTML 2」を「HTML 5」に統合へ
  • ブレストでは,わざと“ありふれたアイデア”を出そう

    絵の面積によって価格が決まる絵画販売サイト「ART-Meter」など,特徴的なサイトやサービスを開発・運営する面白法人カヤック。ブレーンストーミングを支援する「代表ブレスト派遣」を顧客向けに提供するほど,社の文化としてアイデアの創出を重視している。 同社で新しいサイトやサービスを企画・開発する「ラボ事業」では,毎日夕方に約1時間,アイデアを話し合うブレーンストーミングを実施しているという。会議主催者の一人である玉田雄以(ゆい)氏に,ブレーンストーミングの秘訣を聞いた。 なぜ毎日,ブレーンストーミング(ブレスト)会議を実施しているのですか。 ラボ事業では2007年には77個,2008年には88個のサイトやサービスを企画・実装するという目標を掲げ,実際にリリースしてきました。今年2009年は99個が目標で,大きなチャレンジです。 この数字を達成するには,毎日ブレスト会議を実施して,限られた時間

    ブレストでは,わざと“ありふれたアイデア”を出そう
    hokaccha
    hokaccha 2009/07/02
    上手なブレストの秘訣は何でしょうか。  発言の垣根を低くすることです。あまり発言しない人がいた場合,司会者やリーダー・クラスのメンバーが,「こういうのもあり得ますよね」とあえて誰でも思いつくようなアイ
  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • 第1回 Tracをオススメする,これだけの理由:ITpro

    Tracの便利さに惹かれるが,インストールに煩わしさを感じ,Tracを簡単にインストールできるTrac Lightning(旧Trac月)の開発を行う。また,日のTracコミュニティであるShibuya.tracにてユーザー補完プラグインなどのプラグイン開発にも携わる。 チーム内のタスクや分散開発におけるタスク管理の手段として,プロジェクト管理ツールのTracが注目を集めています。Tracは,Ruby on RailsやSpring IDEなどでも利用されています。連載では,開発現場を交通整理するために,Tracを利用したプロジェクト管理の効率化を,Tracの基礎から紹介していきます。 ソフトウエア開発において,プロジェクト管理はガントチャート・ベースで行われることが多いでしょう。しかし,ガントチャート・ベースの管理では,詳細を報告するために作業報告書を別途作成する必要があります。 ま

    第1回 Tracをオススメする,これだけの理由:ITpro
  • 第1回 まずは「クッキー」を理解すべし

    Webアプリケーションのぜい弱性がなかなかなくならない。メディアなどでも盛んに取り上げられているにもかかわらず,である。特に,セッション管理がからむアプリケーションのぜい弱性には,気付かないことが多い。具体的には「クロスサイト・リクエスト・フォージェリ」(CSRF),「セッション・フィクセーション」などである。これらはクロスサイト・スクリプティング,SQLインジェクションといった比較的メジャーなぜい弱性に比べて認知度が低く,対策も進んでいない。 原因の一つは,アプリケーションの開発者が原因を正しく理解していないこと。CSRFやセッション・フィクセーションについて言えば,セッション管理に使うクッキー(cookie)の動作を理解していないと対策が難しい。ところが最近の開発環境では,セッション管理の仕組みが隠ぺいされているため,必ずしもこの知識は要求されない。こうした開発者は容易にはぜい弱性に気

    第1回 まずは「クッキー」を理解すべし
  • 島根県のホームページ管理システムがOSSとして無償公開,地元企業がRubyで開発:ITpro

    島根県は2008年2月14日,同県の公式サイトで採用しているCMS(コンテンツ管理システム)をオープンソース・ソフトウエア(OSS)として無償公開した。自治体が開発したCMSをOSSとして公開するのは国内初と見られる。島根県に在住する技術者まつもとゆきひろ氏が開発したRubyで構築されており,同氏が在籍するネットワーク応用通信研究所が島根県の委託を受けて開発した。視覚障害者が利用しやすくするための機能を備えていることが特徴。 基盤ソフトウエアもオープン ソフトウエアの名称は「島根県CMS」。2006年から県の公式ホームページで稼動している実績がある(関連記事)。特徴は,パソコンに詳しくない職員でもコンテンツの投稿,編集が容易になるような管理画面を備えていることと,視覚障害者向けにアクセシビリティを向上させる機能を備えていること。 アクセシビリティ向上のための具体的な機能として,Webブラウ

    島根県のホームページ管理システムがOSSとして無償公開,地元企業がRubyで開発:ITpro
  • 【PHP TIPS】 70. mod_rewriteでの/問題:ITpro

    mod_rewriteを使う場合、URLに「%2F」が含まれるとApacheの設定によっては思い通りに動作しない可能性があります。 mod_rewriteについては第15回のメーリングリストを参照していただくとして、まずは以下のようなURLを考えてみましょう。 http://example.com/search/keyword%2Fkeyword ここでは、以下のようなルールで変換を行うとします。 RewriteEngine On RewriteRule \/search\/(.+)$ /search.php?q=$1 [L] また、search.phpはmod_rewriteの動作確認用に、以下のような簡単なコードを使用するとします。 <?php echo $_GET['q']; ?> 先ほどのURLにアクセスした場合、search.phpを呼び出して「keyword%2Fkeyword

    【PHP TIPS】 70. mod_rewriteでの/問題:ITpro
  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
    hokaccha
    hokaccha 2007/10/22
  • Vistaが「遅い」と感じませんか?:ITpro

    2007年1月30日にWindows Vistaが店頭で発売されてから約8カ月が過ぎた。この記者の眼でも,4月24日に「Vistaってどうよ?」というややポジティブな見解が掲載された。これはこれで納得できる。「『売り上げは期待を下回るが私は強気』,マイクロソフトWindows部長」というコメントもほぼ同時に報じられた。 その後もマイクロソフトは,「Windows XPのPCメーカーへの出荷,来年1月で終了へ」と突っ張っていた。それが最近では「『Windows XPの販売を5カ月延長』,米マイクロソフトが方針転換」と来た。低価格パソコン向けに新興国で販売している「Windows XP Starter Edition」については,2010年6月30日まで販売を延長するという。Vistaはどうもハッピーな状況ではない。 Vistaが好感を持たれない理由は,(1)価格が高い,(2)マイクロソフト

    Vistaが「遅い」と感じませんか?:ITpro
  • MySQLウォッチ---目次

    「IBM版」Notes/Dominoのサポート終了巡り混乱、企業は主体的に情報収集を 2024.05.17

    MySQLウォッチ---目次
  • 生年月日から年齢を計算する簡単な計算式:ITpro

    私の個人ブログに掲載したら好評でしたので、こちらでもご紹介してみます。 最近知ったんですが、生年月日から年齢を計算する簡単な計算式というのがあるそうです。 (今日の日付-誕生日)/10000の小数点以下切捨て。 PHPで書くと echo (int)((20070823 - 19850101)/10000); Perlで書くと print int ((20070823 - 19850101)/10000); JAVAで書くと System.out.println( (int)((20070823 - 19850101)/10000) ); という感じになります。 日の法律を確認してみました。誕生日の前日が終了する瞬間(すなわち誕生日をむかえる午前0時00分の直前)に1歳を加えることになる。ただしうるう年など、年によって期間を定めた場合において最後の月に応当する日がないときは、その月の末日を

    生年月日から年齢を計算する簡単な計算式:ITpro
    hokaccha
    hokaccha 2007/08/27
  • 41. mod_rewriteを使いこなそう

    SEOという言葉が普及して久しいですが、SEO対策の1つとしてURLを最適化する という方法があります。たとえば以下の2つのURLを見比べてみてください。 A.http://phppro.jp/news/detail.php?id=10 B.http://phppro.jp/news/detail/10/ 検索エンジンは、AのURL表記よりもBのURL表記を好み、ページの評価が高くなり ます。 このようなURLの最適化をPHP言語だけで処理するのは困難です。そのため、Web サーバーの機能によりURLの「書き換え」を行い、BのリクエストをAのリクエス トに移すことで対応を行います。これを実現する仕組みの1つがmod_rewriteモ ジュールです。 mod_rewriteモジュールは、Apacheに標準で添付されているモジュールで、多く のパッケージでデフォルトで組み込まれています。SEO

    41. mod_rewriteを使いこなそう
  • Dreamweaver CS3は使えるのか?

    5月8日にDreamweaverをはじめとするアドビの各種ツールの最新版「CS3」が発表になりました。すでに各所で新機能等について言及されていますが、Dreamweaverの新機能についてフォーカスしてみます。 なお、画面にはベータ版を使用しています。 ■Photoshopとの連携 アドビとマクロメディアの合併後、実質、アドビブランドでの初のリリースとなる「CS3」は、旧マクロメディア製品との連携にチカラが入っています。残念ながら、その中心はFlashにあるようですが、Dreamweaverでもいくつかナイスな技が可能になっています。 従来、Photoshopで作成した画像データを、Dreamweaverに配置する場合、まずJPEG/GIF/PNGなどの画像ファイルに書き出すことが必要でした。Dreamweaver CS3では、Photoshopで書き出したい画像を選択しコピー、Dream

    Dreamweaver CS3は使えるのか?
  • 第10回 麻雀の役を判定する:ITpro

    図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。 麻雀の役を考える 麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

    第10回 麻雀の役を判定する:ITpro
  • 7日間でマスターする!プログラマのためのFlashお絵描き講座---目次

    仕事趣味でちょっとしたWebページを作ったり,プレゼンテーションをするときに,「絵や図を自分で描けたら便利なのに」と思うことはありませんか。文字だけのWebページに比べて,絵や図が入ったページはぐっと華やかになりますし,わかりやすさも向上します。 最近ではフリーの素材がWeb上に溢れていますから,自分で描く必要はないと考える人もいるでしょう。ただ,たくさんの素材の中からイメージに合った絵を探すのも結構手間がかかりますし,目的にぴったりの絵というのは案外見つからないものです。 「自分で絵を描ければいいのだが,“絵心”がないし,センスもないから」とあきらめている人も多いかもしれません。確かに,紙に描くにせよ,コンピュータを使って描くにせよ,他人に見せて感心されるような絵を描けるようになるのは並大抵のことではありません。しかしコンピュータを使ってお絵描きをする場合には,ツールの使い方を理解し,

    7日間でマスターする!プログラマのためのFlashお絵描き講座---目次
  • まだまだあるクロスサイト・スクリプティング攻撃法

    前回はクロスサイト・スクリプティングのぜい弱性を突く攻撃の対策としてのHTMLエンコードの有効性を述べた。ただ,HTMLエンコードだけではクロスサイト・スクリプティング攻撃を完全に防御することはできない。そこで今回は,HTMLエンコードで対処できないタイプのクロスサイト・スクリプティング攻撃の手口と,その対策について解説する。 HTMLエンコードで対処できない攻撃には,次のようなものがある。 タグ文字の入力を許容している場合(Webメール,ブログなど) CSS(カスケーディング・スタイルシート)の入力を許容している場合(ブログなど) 文字コードを明示していないケースでUTF-7文字コードによるクロスサイト・スクリプティング <SCRIPT>の内容を動的に生成している場合 AタグなどのURLを動的に生成している場合注) 以下では,HTMLタグやCSSの入力を許容している場合と,文字コードを明

    まだまだあるクロスサイト・スクリプティング攻撃法
  • 対策遅らせるHTMLエンコーディングの「神話」

    クロスサイト・スクリプティングという言葉は元々,WebアプリケーションのHTMLエンコード漏れなどを利用することによって第三者にJavaScriptを実行させる手法を指す。広義では,HTMLのエンコードによる画面改変などを含むこともある。 前回述べたように,クロスサイト・スクリプティングのぜい弱性はWebアプリケーションに見付かるぜい弱性の半分以上を占める。数年前から指摘されているにもかかわらず,一向になくならない。その理由として,クロスサイト・スクリプティング対策あるいはHTMLエンコード注1)に対する「神話」があり,正しい対策の普及を遅らせているように思う。その「神話」の数々について説明しよう。 注1)実体参照(entity reference)というのが正式だが,あまり普及していない用語なので,HTMLエンコードという用語を用いる 「すべからくHTMLエンコードすべし」が鉄則 HTM

    対策遅らせるHTMLエンコーディングの「神話」