タグ

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

  • 進化する“Webスクレイピング”技術の世界 ― @IT

    2007/02/20 WebサービスAPIRSSフィードを使って複数サイトのサービスや情報をマッシュアップ――。これはWeb2.0が包含するいくつかの概念のうち、最も重要なものの1つだ。Amazon.comやGoogleYahoo!楽天といった大手Webサイトは、RESTやSOAPを用いたAPIを公開しており、さまざまなサービス提供者や個人がAPIを通して各種サービスを利用している。その一方、世の中のWebサイトの大多数はWeb1.0的なHTMLCGIフォームしか提供していないのが現実だ。こうした背景からWeb1.0サイトから構造化されたデータを引っ張り出す“Webスクレイピング技術が急速に発展してきているようだ。 HTMLをXML化し、XPathで関連データだけを抽出 例えば価格情報サイトでは製品名から価格が簡単に調べられるが、Webサーバから提供されるのは、製品名や価格にレ

  • Javaでコンパイラの基礎を理解する 第1回そもそもコンパイラの中ってどうなっているの? (1/2) - @IT

    プログラミング言語処理系の実装 Ajaxなどによりスクリプト言語のJavaScriptの良さが見直されたり、Railsの出現によりプログラミング言語Rubyへの注目度が高まったりしています。これだけプログラミング言語が注目されるようになってくると、独自のプログラミング言語を作成したいと考える開発者も増えてきていることかと思います。 コンパイラ作成を勧める3つの理由 Javaなどのプログラミング言語を使えるようになって、自分が作りたいプログラムを自由に作成できるようになってくると、既存のソフトウェアでも簡単なものを自作してみたくなるものです。せっかくプログラムを組めるようになったのですから、いろいろと自分で作ってみたいと思うのは当然です。中でも、プログラミング言語処理系は一度は作成してみたいと思うでしょう。 一般のコンピュータ利用者と違って、開発者は日ごろからコンパイラやインタプリタを使って

    Javaでコンパイラの基礎を理解する 第1回そもそもコンパイラの中ってどうなっているの? (1/2) - @IT
  • 暗号化仮想ドライブで手軽にファイルを暗号化 ― @IT

    重要な情報の入ったノートPCや、USBメモリなど、持ち運びが簡単なものは紛失や盗難の可能性も高い。万が一、誰かの手に渡ってしまったときを想定し、その情報を利用されてしまうことを防ぐ効果的な手段がある。それは、情報を暗号化して保存しておくことだ。 ファイルなどを暗号化するには、いくつかの方法や、それを実現するソフトウェアがある。ここでは、重要な情報の保存や、持ち運びの際に便利な「暗号化仮想ドライブ」について紹介する。 暗号化仮想ドライブを使おう 「仮想ドライブ」は、物理的なディスクドライブに対して、ソフトウェアで実現した仮想的なディスクドライブという意味である。CD-ROMのISOイメージなどをマウントして、あたかも実際にドライブがあるかのように利用することができるものだ。暗号化仮想ドライブは、その名が表すとおり、暗号化された仮想ドライブである。 暗号化仮想ドライブは、以下の特徴を備えている

    暗号化仮想ドライブで手軽にファイルを暗号化 ― @IT
  • Windows管理者必携、Sysinternalsでシステムを把握する - @IT

    Windows管理者必携、Sysinternalsでシステムを把握する:Security&Trust ウォッチ(43) SysinternalsというWebサイトをご存じだろうか? 何となくそこにたくさんのツールがあるのは知っていても、Webサイトが英語版しかないので全部読む気がしない。また、いくつかのツールは使っているけど、ほかにどういったユーティリティが提供されているのか細かく見ていないという人がいるのではないだろうか。 筆者もその1人で、「Process Explorer」などの有名なツールは使っていたが、全ぼうは把握していなかった。 Windowsを使っているシステム管理者や技術者の方ならば、Sysinternalsという名前を知っている方は多いはずだ。SysinternalsはWindows標準のツールでは管理できないシステム情報などを扱うツールを数多く提供している。 このSys

    Windows管理者必携、Sysinternalsでシステムを把握する - @IT
  • ディスク・デフラグメント完全マスター(1/9) - @IT

    ―― 標準ツールを使うか、フル機能版のDiskeeperを使うか。ハードディスクを最速に保つための知識とテクニック ―― デジタルアドバンテージ 2000/10/21 ひと昔前のPCユーザーにとってハードディスクは、少ない容量をいかにやりくりして使うかという、「狭いながらも楽しいわが家」的な存在でもあった。しかし激しい大容量化競争と高速化競争のおかげで、今やエントリ・モデルのPCでも、10Gbytes超のディスクを当たり前のように搭載するに至っている。これは、数年前のPCサーバを凌ぐほどの容量だ。初心者の多くは、昔のようにディスクの残り容量やディスクのアクセス速度に汲々とすることなく、思う存分好きなアプリケーションをインストールしたり、好きなファイルを保存したりできるようになったに違いない。 さすがに稿の読者はここまで極端でないにせよ、初期のWindows NTにツールが標準添付されなか

  • マルチバイトの落とし穴 − @IT

    ブラインドSQLインジェクションも不必要情報の脆弱性も覚えた星野君。だけど覚えないといけないことはまだまだありそうです。今日も赤坂さんといっしょにお勉強。 「はい、これでクロスサイトスクリプティングやってみせて」赤坂さんがそういって見せてくれた勉強用のWebアプリケーション、あれ、見たところ完ぺきなんですが…… 高橋さん 「どうよ?」 星野君 「え……。どうって何がですか?」 高橋さんは唐突に会話を始めることが多い。大抵の場合、星野君には何の話か分からない。 高橋さん 「こないだ赤坂さんとWebアプリの検査したでしょ。どうかなって」 星野君 「どう……っていうか、なんか難しい感じでした。簡単なのはすぐに見つけられると思うんですけど……」 高橋さん 「ふーん……」 高橋さんはしばらく考え込んだ後、赤坂さんに声を掛けた。 高橋さん 「ねぇ、赤坂さん。いまって暇?暇だよねー?」 赤坂さん 「いや

    マルチバイトの落とし穴 − @IT
  • @IT:/procによるLinuxチューニング [前編](1/2)

    /procによるLinuxチューニング [前編] ~ /procで理解するOSの状態 ~ Linuxの状態確認や挙動の変更で重要な役割を担うのが/procファイルシステムである。前編では/procの概念や/procを利用したOSの状態確認方法を理解していただきたい。(編集局) 遠田 耕平 2002/12/10 稿では、/procファイルシステムによるカーネルチューニングを紹介します。カーネル2.4.19をベースに説明していきますが、カーネルのバージョンによって内容が異なる場合があります。また、ディストリビュータが独自の拡張を施しているものもあります。従って、これから説明する内容がすべて当てはまるとは限りません(端的にいうと説明の対象が存在しなかったり、説明されていない機能が追加されていることがあります)。 /procファイルシステムとは /procは、Linuxシステムの/(ルート)に「

  • @IT:/procによるLinuxチューニング [後編]

    の4つがあります。kernel配下にはカーネル全般にかかわるパラメータ、fs配下にはファイルシステム関連のパラメータ、vm配下には仮想記憶関連のパラメータ、net配下にはネットワーク関連のパラメータが置かれています。 /proc/sys/kernelディレクトリ まずはkernel配下のパラメータを見ていきましょう。/proc/sys/kernel配下のパラメータを使うと、パフォーマンス・チューニング以外のさまざまな設定も可能です。 ctrl-alt-del、cad_pid ctrl-alt-delは、おなじみの[Ctrl]+[Alt]+[Del]キーシーケンスの有効(1)/無効(0)を設定するファイルです。同時に、cad_pidには[Ctrl]+[Alt]+[Del]キーを押した際にシグナルを送信するプロセスを指定します(注)。 domainname、hostname これらのファイルに

  • Apacheパフォーマンス・チューニングのポイント

    現状の測定(ベンチマーク)と結果の着眼点 ここからはApacheに着目して、パフォーマンス・チューニングのための準備を行う。チューニングするに当たって、まず現状を十分に分析し、具体的な目標を定めることから始めたい。目標をどれだけ具体化するかはともかくとしても、現状を数値的に知りもせずに、漠然と「遅い遅い」と騒いでいても仕方がない。 現状を数値的にとらえるにはツールが必要となる。いわゆるベンチマーク・ツールだ。Apacheには、標準で「ab」(Apache Bench)というツールが付属している。abの構文は、

    Apacheパフォーマンス・チューニングのポイント
  • 隠されていたSQLインジェクション ― @IT

    星野君は赤坂さんと一緒にお客さんのWebアプリケーションの検査をすることになった。辛うじて「不必要情報」の脆弱性を見つけたものの、赤坂さんは不満げだ。 「だって、これ、ほかにもっと危険な脆弱性あるよ……」。 赤坂さん 「ってことで、今回は50点ってとこかな」 星野君 「うわっ。厳しいですね……。一応脆弱性は見つけたんだからもう少し……」 赤坂さん 「え。だって、これ、ほかにもっと危険な脆弱性あるよ」 星野君 「(ほかにも脆弱性あるっていってもなぁ……)」 赤坂さんに「ほかにもっと危険な脆弱性あるよ」と指摘されたにもかかわらず、星野君にはサッパリ見当が付かなかった。不必要情報(Unnecessary Information)の脆弱性に気付くまでの作業で、一通り思い付くことはやりつくしていた。 そうこうしているうちに時間は過ぎ、結局ほかの脆弱性を見つけられないまま、お客さんと約束した時間になっ

    隠されていたSQLインジェクション ― @IT
  • JavaとJavaScriptの親しい関係

    教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた 筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集局) 注目を浴びるJavaScript JavaScriptが世に広まって10年近くたちますが、最近話題に上ることが多くなってきています。なぜ、いまさらJavaScriptが注目を浴びているのでしょうか? JavaScriptはECMA(ヨーロッパ電子計算機工業会)によって、ECMAScriptとして標準化されていて、Standard ECMA-262 ECMAScript Language Specification 3rd edition (December 1999)や、Standard ECMA-357 ECMAScript for XML (E4X) Specificationといった仕様が公開されています。これらの仕様を見て分かるように、Java

    JavaとJavaScriptの親しい関係
  • JavaをJavaScriptに変換するグーグルのツールを使ってみよう ― @IT

    グーグルが発表したGoogle Web ToolkitJava言語で作成したクライアントアプリケーションを、JavaScriptHTMLアプリケーションに変換するという、まったく異なるアプローチを持つAJAXアプリ開発ツールだ。簡単なサンプルを動かしてみよう(編集部) 2006年5月17日、米国Googleが、Google Web Toolkitをリリースしました。早速Webサイトを見ると、『Google Web Toolkit - Build AJAX apps in the Java language』(=Java言語でAJAXアプリを造る)という、Java開発者にとって非常に刺激的なキャッチで始まっています。 これまでも、BACKBASE Java Edition、ICESOFT ICEFACES、Nexaweb などAJAX+Javaでの開発に対応するフレームワーク製品または

  • アクセスログの改ざんと検出方法

    ログ監視ツール ~ LogWatch 先述のless、tail、grepなどを使えば、ほとんどのログ調査は事足りる。しかし、実際は管理者が24時間常時ログを監視するということは、まず不可能に近いだろう。そういったことを踏まえ、ここではログの監視を毎日定期的に行い、結果を加工してレポートしてくれるLogWatchを紹介する。 LogWatchは、Kirk Bauer氏が中心となって開発を行っているPerlで書かれたログ監視ツールで、Red Hat Linux 7.3ではLogWatchバージョン2.6が標準でインストールされ、1日1回ログのチェックを定期的に行っている。 LogWatchの入手とインストール (1) LogWatchのダウンロード LogWatchは、LogWatchのサイト(http://www.logwatch.org/)からダウンロードする。稿では最新安定バージョンの

    アクセスログの改ざんと検出方法
  • @IT:古くて新しいAjaxの真実を見極める

    では、簡単なAjaxアプリケーションを作ってみよう。ボタンを押せばサーバから取得した文字列をページに表示するものだ(ここではAjaxの基的な動作を示すために細かいエラー処理などは行っていない)。 まず、JavaScriptでXMLHttpRequestオブジェクトを作成するコードを作る。ブラウザがIEならばActiveXオブジェクトとして、それ以外ではJavaScriptオブジェクトとして作成する。 ajax = false; // IE以外 if(window.XMLHttpRequest) { ajax = new XMLHttpRequest(); // IE用 } else if(window.ActiveXObject) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { ajax = new Act

  • @IT:Eclipseを使おう(1)

    記事は2005年に執筆されたものです。環境構築についての最新情報は「バージョン別セットアップマニュアル一覧」の「Eclipse」をご参照ください。Eclipse全般の最新情報は@IT キーワードINDEXの「Eclipse」をご参照ください。 オープンソースとしてコミュニティに寄付されてから3年半、@ITに最初の記事が掲載されてから2年半、いまだとどまるところを知らずに進化し続ける統合開発環境、Eclipse。書籍やWeb情報のさらなる充実ぶりは、相変わらずの関心の高さを裏付けるものです。 昨年6月の@IT読者調査でも、Eclipseが、利用しているIDE、今後利用したいIDE、ともに第1位を獲得しています。 さて、Eclipseは、2005年6月28日に待望の3.1がリリースされました。JDK 1.5の機能に完全対応するなど、大幅な機能拡張、変更が加えられています。 幸いなことに、また

    @IT:Eclipseを使おう(1)
  • @IT:システム管理の基礎 syslogdの設定をマスターしよう(3-3)

    logrotateによるログローテーションの設定 syslogdの設定を行いましたが、そのまま特定のログファイルに永遠にログを書き込んでいくわけにはいきません。なぜなら、ログファイルのデータが多くなればディスク容量を圧迫しますし、ログを確認しようとすると時間やCPUへの負担が大きくなるからです。これを回避するために、「logrotate」というプログラムを利用します。logrotateは指定されたタイミングでログファイルのバックアップを取り、新しいログファイルを作成してログのローテーションを行います。

    @IT:システム管理の基礎 syslogdの設定をマスターしよう(3-3)
  • サーバのログ監視ツールを使いこなそう

    Logwatchによるログの定期チェック swatchは出力されるログを監視して、指定したパターンが現れたときにアクションを起こすツールでした。しかし、パターンの含まれる行がそのまま表示されるため、ログを見慣れていないと少し戸惑うかもしれません。これに対して、「Logwatch」は(デフォルトでは)毎日夜間に実行され、ログから特定のパターンを含む行を比較的見やすい状態に加工して表示させることが可能です。 Logwatchのインストール 最近のRed Hat LinuxLogwatchがデフォルトでインストールされていますが、多くの場合バージョンが古いので、一度アンインストールします。

    サーバのログ監視ツールを使いこなそう
  • 「sendmail .forward ファイルの書き方」(1) Linux Square - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

  • 「sendmailでメールを転送したい」(1) Linux Square - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

  • BIND 9のセキュリティ対策

    ゾーンサーバの対策 ゾーン情報の改ざん対策 現在のところ、namedプロセスやDNSの脆弱性を利用したゾーン情報改ざんの心配はありませんが、サーバそのものを乗っ取られてしまえばその限りではありません。 BIND 9自体の対策については前出の「ユーザー権限の奪取対策」を参照していただくとして、BIND以外のアプリケーションや構成上の欠陥についても踏み台にされないように努める必要があります。ゾーン情報そのものが改ざんされないまでも、問い合わせクエリーに対する応答メッセージが、問い合わせ元に到達するまでに改ざんされる危険性もあり得ます。このような事態を未然に防ぐ手段として、DNSセキュリティ拡張を施す試みが行われています。DNSセキュリティ拡張については、後半の「DNSSEC(DNSセキュリティ拡張)」で後述します。 不正ユーザーによるゾーン転送や不正DDNSの対策 もしWebサーバやメール

    BIND 9のセキュリティ対策