タグ

ブックマーク / atmarkit.itmedia.co.jp (19)

  • 間違いだらけの「かんたんログイン」実装法

    今回は、そのかんたんログインの問題点について説明します。 「契約者固有ID」を用いるかんたんログイン かんたんログインとは、携帯電話の「契約者固有ID」を用いたログイン手法です。 第1回で説明したように、携帯電話のブラウザのリクエストヘッダには契約者固有IDと呼ばれるIDを付けることができます。契約者固有IDは、携帯電話事業者によって詳細は異なりますが、すべての携帯電話事業者が対応しています。 図1は、NTTドコモの携帯電話がサポートしている契約者固有IDである「iモードID」がサーバに送信される様子です。この情報は、ユーザーがそれと意識することなく送信されます。携帯電話のかんたんログインとは、契約者固有IDのみを用いて認証を行い、ログイン機能を実現することです。 かんたんログインは、ベーシック認証のようにIDとパスワードを管理する必要もなく、Cookieのように対応する端末を考慮する手間

    間違いだらけの「かんたんログイン」実装法
  • 第2回 JavaScriptの関数をマスターしよう - @IT

    JavaScriptが、いま注目を浴びている。 前回も紹介したように、JavaScriptが復権を果たした背景にはさまざまな要因が考えられるが、その契機ともなったキーワードを1つだけ挙げるとするならば、「Ajax(Asynchronous JavaScript And Xml)」を外すことはできないだろう。Ajaxという技術の登場によって、JavaScriptによるリッチなユーザー・インターフェイス構築の可能性が示されたことで、JavaScriptの価値は確実に見直されつつある。 連載は、JavaScript復権のいまこの時代に求められる、JavaScriptという言語への理解を再確認しようというものだ。連載初回ではまずJavaScriptの苦渋の10年間を振り返りながら、JavaScriptという言語にまとわりつく誤解の払拭を試みた。JavaScriptという「不遇な」言語にこれまで向

    第2回 JavaScriptの関数をマスターしよう - @IT
  • .NETエンタープライズWebアプリケーション開発技術大全 対話型トランザクション処理の設計方法(2/3) - @IT

    8.1.2 対話型トランザクション処理の典型的な設計方法 対話型トランザクション処理の典型的な設計方法は、大きく以下の3つに分けられる。 排他制御を行わず、運用により回避する。 業務排他制御機能を作り込む。 楽観同時実行制御を行う。 まずは各方法を概観して、考え方の違いを明らかにしよう。 A.排他制御を行わず、運用により回避する 特にマスタデータメンテナンスのような業務では、そもそも業務の実施を認められている担当者が数人しかいなかったり、行われる頻度も少なかったりすることが多い。このようなケースでは、アプリケーション側でガードをかけなくとも、担当者間で意識合わせを行ってから「同時に業務を実施する担当者を一人にする」ように運用対処すれば十分なことも多い。 このような場合には、単純に「後勝ち」ルールでデータを更新していけばよい。小規模な業務アプリケーションのマスタメンテナンス業務などでは、実装

  • Webサービスをツールキットで作る

    無料でWebサービスを実験しよう 今回は、Javaアプリケーション・サーバでWebサービスを構築するためのキットである、「WebServices Toolkit」(以下、WSTK)を紹介しよう。これを利用すれば、個人でもWebサービスの実験が行える。そのために必要なものは、基的に全て無料で入手できるのだ。IBM alphaWorksについては、@ITJava Solutionフォーラムで「ここはJavaプログラマの天国?」というコラムを書いたので、こちらをご参照いただきたい。 では、WSTKを入手してセットアップし、利用するまでの工程を解説していこう。 ■WSTKに含まれるものと利用法 稿執筆時点でのWSTKの最新版は2.3であり、以下のものが含まれている(近日中に2.4が出るといううわさもある)。 ■Apache-SOAP v2.1(連載第1回「SOAPの仕掛けはどうなっている?」

    Webサービスをツールキットで作る
  • WebSocketで目指せ“リアルタイムWeb”!第1回 node.jsの衝撃とWebSocketが拓く未来 - @IT

    ご挨拶 こんにちは、ロンドンのNew Bambooという会社でWebエンジニアとして働いている@makoto_inoueです。ここのところ、PusherというWebSocketのクラウドサービスの開発に関わっています。今回から3回に渡ってWebSocketに関する短期連載を担当させていただきます。 私を含めたNew Bambooの面々(我々は自分たちのことをBambinoと呼んでいます)がWebSocketになぜ興味を持ったかということからはじまり、実際にクラウドサービスを始めるまでにいたったストーリーをお話ししたいと思います。そのストーリーを通じて、WebSocketが切り開く「リアルタイムWeb」な世界への可能性や技術的課題を皆さんと共有できればと思っています。

    WebSocketで目指せ“リアルタイムWeb”!第1回 node.jsの衝撃とWebSocketが拓く未来 - @IT
  • @IT:Snortでつくる不正侵入検知システム 第1回

    ※ご注意 稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。また、稿を利用した行為による問題に関しましては、筆者および株式会社アットマーク・アイティは一切責任を負いかねます。ご了承ください。 「IDS」という言葉をご存じだろうか。IDSとは「Intrusion Detection System」の略で、日語では「侵入検知システム」と訳される。この連載ではフリーのIDSであるSnortを題材に、IDSのインストールから運用までを解説していきたいと思う。 IDSとは何か 「IDSとは一体何なのか」。そう疑問に思った方は少なくないであろう。簡単にいえば、「ネットワークを流れるパケットに対してあるパターンに合致しているか否かを判定し、合致している場合はあらかじめ定められた処理を行う」ものである。 「あらかじめ定められた処理」とは具体的にどのような処理なのかというと、

    @IT:Snortでつくる不正侵入検知システム 第1回
  • Poundで作るロードバランサとSSLラッパ(1/4) ― @IT

    Webサーバの負荷を軽減する方法として、リバースプロキシによる代行とロードバランサによる分散が考えられる。今回は、これらによる負荷の低減方法について解説する。(編集部) Apache自体のチューニングによる性能向上には限界があります。よりパフォーマンスを求めるなら、次にやるべきことはメモリの追加や高性能なCPUへの交換など、ハードウェアの見直しです。しかし、それにも限界があります。 リバースプロキシとロードバランサ ハードウェア単体による性能向上が限界に達した場合は、サーバ構成の見直しを行います。まず考えられるのが、リバースプロキシをWebサーバの前面に立ててクライアントからのアクセスを肩代わりさせる方法です。Webサーバがボトルネックになるのを防ぐとともに、セキュリティ向上にも寄与します。 もう1つの方法は、より高可用性を意図した構成として負荷の分散を図ることです。高可用性とは、サーバの

    Poundで作るロードバランサとSSLラッパ(1/4) ― @IT
  • @IT:パケットフローから負荷分散の基本を理解する

    サーバ負荷分散の基構成と動作 負荷分散装置(ロードバランサ)のニーズは現在も高まる一方です。従来はWebサーバのみを主な対象としていましたが、現在ではルータ#1/アプリケーションサーバ/メールサーバ/SIPサーバ/ファイアウォール/VPNゲートウェイ/ウイルスゲートウェイ/IDSなど、多種多様の機器やプロトコルが負荷分散の対象となっています。それに応じてロードバランサも現在では非常に多機能となっていますが、連載では、全3回に渡ってアプリケーションベースではなく、ネットワークベースの技術、基となるパケットフローやサーバヘルスチェック、接続維持などの動作について紹介します。また、パフォーマンス測定についてもお話ししましょう。 #1 ルータはレイヤ3でインターネット回線のマルチホーミングとして機能する(=複数のWAN回線を接続して、同時に通信させることで負荷分散し、必要な帯域を確保するし、

    @IT:パケットフローから負荷分散の基本を理解する
  • Java開発者のためのFAQ集

    Java開発者のためのFAQ集 Java開発者が 最低限押さえておくべきJavaに関する基礎知識 、 実際のソリューション構築の場面で定石とされるノウハウ、 プログラミングTIPSなどのFAQをご紹介していきます。

  • いま購読するべき15の開発者ブログ

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) そもそも開発者ブログ・ラボブログとは 世の中に多くのブログが存在します。もともと「blog」は「web」+「log」の意味の造語で、2000年ころから平易に使えるブログツールや無料サイトなどが増え、浸透してきました。皆さん自身も日記のように気軽にブログを書かれている人も入れば、ブログを読むことを楽しんでいる方も多いでしょう。 技術者であれば、メモ的に技術情報をブログで公開している方から、さまざまなトラブル時や困ったときに、どこかの誰かのブログの記述に助けられることもあったかもしれません。 今日、企業活動の一環として、意欲的にブログを活用しているところから、広報活動的にブログを活用してい

    いま購読するべき15の開発者ブログ
  • JSPで特殊文字が文字化けする場合の対処方法

    質問1:「①②」「ⅠⅡ」「㍉㌔」などが文字化けします 解答:文字コードとしてシフトJIS(Shift_JIS)の代わりにWindows-31Jを指定しましょう Windows環境で標準的に用いられている文字コードは、正確にいうと「Shift_JIS」ではなく、Shift_JISを拡張した「Windows-31J」と呼ばれるWindows標準文字セットである。JavaではJDK 1.2以降で「MS932」という名称でサポートされており、JDK 1.4.1以降はWindows-31JというIANAの正式名称でも利用可能になっている。 このWindows-31Jは、以下のようなWindows固有の機種依存文字を含んでいるのが特徴だ。 一方、MacintoshなどWindows以外のOSにおける「Shift_JIS」は、Windows-31Jとは異なる文字集合をサポートしている。例えばWindow

    JSPで特殊文字が文字化けする場合の対処方法
  • WSDL文書が持つ二層構造の前段部

    WSDL文書の構造をおさらい 前回「WSDL:Webサービスのインターフェイス情報」では、Webサービスのインターフェイス情報を記述するWSDL文書の基的な構造を紹介した。今回は、WSDL文書の中に含まれる抽象的な定義と具体的な定義との関係や、WSDLの要素間の関係に注目しつつ、WSDL文書を構成するそれぞれの要素を解説していく。 まずは、前回紹介したWSDL文書の構造をもう一度思い出していただこう。 図1 WSDL文書を構成する主要な要素 図中で箱が3重に表現されている要素は、複数回出現可能なことを表している。wsdl:message要素、wsdl:portType要素、wsdl:operation要素、wsdl:binding要素、wsdl:service要素とwsdl:port要素がそれに該当する WSDLの最上位要素はwsdl:definitions要素であるが、その下位要素とし

    WSDL文書が持つ二層構造の前段部
  • いまさら聞けない「Webサービス」の常識 (1/4) - @IT

    企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎! Webを使ったサービス? 「Webサービス」って何? コンピュータ間の情報のやりとりは常日ごろから行われています。昨今では、物理的に離れたコンピュータ上にあるアプリケーション同士によるネットワークを通しての情報のやりとりが重要となっています。 ネットワーク上で最も一般的でシンプルなアクセス方法は、HTTPを用いてWebブラウザを利用しサーバから情報を取得することです。このような“システム”対“人”の方法は、アプリケーション同士の通信でも用いることができますが、“システム”対“システム”のサービスは、一般的に「Webサービス」と呼ばれています。

    いまさら聞けない「Webサービス」の常識 (1/4) - @IT
  • プログラマが知っておきたいJavaと.NETの違い

    システム開発がますます複雑化していく中、エンジニアには、テクノロジを理解して、さまざまな場面に適した選択が求められます。連載では、Javaと.NETの基的な仕組みから最新の傾向や技術などについて、数回に分けて紹介します いまさら聞けない、Javaと.NETの違い 今日、アプリケーション開発・実行のプラットフォームは、大きく2つのテクノロジに収束しているといえるでしょう。 1つは、エンタープライズ・アプリケーション開発の定番ともいえる「Java」です。 実行環境、開発環境の無償提供、OSを自由に選べること、フレームワークや開発環境が充実していることが人気の理由です。大規模アプリケーションの採用実績も多く、ほかのプラットフォームをリードしてきました。 もう1つは、マイクロソフトが発表した「Microsoft.NET」構想に基づいた「.NET」です。 プラットフォームが主にWindowsに制

    プログラマが知っておきたいJavaと.NETの違い
  • DB操作の“壁”を壊すJPAが起こした「赤壁の戦い」

    DB操作の“壁”を壊すJPAが起こした「赤壁の戦い」:現場から学ぶWebアプリ開発のトラブルハック(13)(1/2 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) O/Rマッピングツールは、上手に使えば開発効率を上げることができる、便利なツールです。しかし、データベース(以下、DB)アクセスを隠ぺいしてしまうため、下手に利用するとトラブルの温床になりかねません。稿では、Java EE 5で採用された標準のDB永続化APIである「JPA(Java Persistence API)」による“悲劇”をお送りします。 「“トラブルハッカー”は神速を尊ぶ」 プルルル、プルルル、午前2時の深夜、不吉な電

    DB操作の“壁”を壊すJPAが起こした「赤壁の戦い」
  • Visual Studio 2008単体テスト機能のすべて ― @IT

    Visual Studio 2008単体テスト機能のすべて:特集:Visual Studio 2008単体テスト機能徹底活用(前編)(1/4 ページ) 連載目次 Visual Studio 2005(以下、VS 2005)では上位エディションであるTeam Developerでのみ利用可能だった単体テスト機能が、Visual Studio 2008(以下、VS 2008)からは、Professional Editionでも利用可能になった。 VS 2008の1機能として導入されるほど単体テストが脚光を浴びるようになったのは、やはりアジャイル開発の普及だろう。アジャイルで開発する場合、単体の品質が非常に重要になる。また、リファクタリングなどで繰り返しテストが必要になるケースが多いため、テストを自動化するという考えが生まれ、単体テストの注目度はさらに増している。 稿では、このVS 2008

    Visual Studio 2008単体テスト機能のすべて ― @IT
  • C++アプリケーションの効率的なテスト手法(CppUnit編) ― @IT

    第2回 C++アプリケーションの効率的なテスト手法(CppUnit編):連載 C++開発者のための単体テスト入門(1/4 ページ) 連載目次 前回は単体テストの重要性を示し、従来のC/C++でのテスト手法であるprintf関数やassertマクロを使ったテストを紹介しました。この2つのテスト手法は開発環境(コンパイラとライブラリ)さえあれば利用でき、その使い方も簡単です。しかしながら、いずれも系統立てて、効率よくテストを行うには力不足の感が否めません。 今回は、Visual C++ 2005 Express Editionを含むVisual Studio 2005(以後、VS 2005)で利用できる代表的な単体テスト・フレームワーク(Unit Test Framework)の1つである「CppUnit」を紹介します。 ■単体テスト・フレームワークとは? 前回、「バグは早期発見が望ましい。早

    C++アプリケーションの効率的なテスト手法(CppUnit編) ― @IT
  • @IT: 「ぼくはまちちゃん」 ――知られざるCSRF攻撃

    ある日、大手SNS(Social Networking Site)のmixiの日記にこのような書き込みがあった。それも1人だけでなく、同日に数多くのユーザーの日記に同じ文面が掲載されていた。 これは、単にこのような文章がはやり、ユーザー自身が意図して掲載したのではなく、ある仕掛けによってユーザー自身が気付かないうちに引き起こされた現象なのである。その仕掛けとは、CSRF(Cross-Site Request Forgeries)と呼ばれる攻撃手法の一種だ。 編集部注: 現在、「はまちちゃん」トラップは、mixi運営者により対策されています。上記のサンプルは、mixi風に再構成したものです。 稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。また、稿を利用した行為による問題に関しましては、筆者およびアイティメディア株式会社は一切責任を負いかねます。ご了承ください

    @IT: 「ぼくはまちちゃん」 ――知られざるCSRF攻撃
  • O/Rマッピングの役割とメリット

    O/Rマッピングは、従来の煩雑なデータベースに関する処理の記述をスマートにし、、柔軟なアプリケーションの構築を可能にします。連載ではオープンソースのO/Rマッピングフレームワーク「Hibernate」を用いてO/Rマッピングの基礎を解説します。そしてさらに、J2EEアプリケーションへの実践的な適用方法とそのメリットも紹介していきます。(編集局)

    O/Rマッピングの役割とメリット
    wakarany
    wakarany 2009/11/19
  • 1