タグ

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

  • Eclipseで逆コンパイルを行う

    ソースコードを入手できないJavaプログラムを修正するときなど、クラスファイルから基になったソースコードの復元が必要になることがあります。このような方法は、ソースコードを「コンパイル」してクラスファイルを生成する通常の流れとは逆になるため、「逆コンパイル」と呼ばれています。この逆コンパイルを行えば、コンパイル時に失われる情報(コメントや定数同士の四則演算など)以外のソースコードを復元することができます。 Javaの逆コンパイルツールはいくつかありますが、稿ではJadとJadClipseというツールを使用して、Eclipse上で逆コンパイルする方法を紹介します。 操作手順 (1)JadとJadClipseのダウンロード Jadはコマンドラインで使用する逆コンパイラで、JadClipseというEclipseプラグインを利用すれば、Eclipse上から使用することができます。JadClipse

    Eclipseで逆コンパイルを行う
    mai_k
    mai_k 2010/08/26
    jad
  • @IT:Javaの文字化け対策FAQ(1)

    質問1: Webブラウザが文字コードを判定する基準は何ですか? 解答:HTTPのContent-Typeヘッダです まずは、Webにおける文字コードの扱いをおさらいしておこう。HTML 4.01仕様では、Webブラウザが以下の優先順位で文字コードを決定することを規定している。 HTTPにおけるContent-Typeヘッダのcharsetパラメータ HTML文書内のMETA宣言およびhttp-equiv属性で設定された、Content-Typeヘッダのcharsetパラメータ HTML文書内の各要素のcharset属性 Webサーバが送信するHTTPヘッダの中には、送信内容がどのような素性のコンテンツなのかをWebブラウザに教えるために、以下のようなContent-Typeヘッダを通じてコンテンツのメディアタイプ(下記例ではtext/html)を明示する。 これによりWebブラウザは、受信

    @IT:Javaの文字化け対策FAQ(1)
  • Webアプリにおける11の脆弱性の常識と対策

    Webアプリにおける11の脆弱性の常識と対策:Webアプリの常識をJSPとStrutsで身につける(11)(1/4 ページ) 連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPASP.NETRuby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です 【2013年2月25日】編集部より、おわびと訂正のお知らせ 稿において読者の皆さまより多数のご指摘をいただきまして、誠にありがとうございます。編集部であらためて調べた結果、間違いを把握し、あらためて修正版を掲載させていただきます。この度は、長期にわたり誤った内容を掲載したので、読者の皆さまに多大なご迷惑をお掛けしたした点をおわび申し上げます。 通常、記事に間違いがあった場合には、筆者確認後に修正版を掲載するのですが、今回の場

    Webアプリにおける11の脆弱性の常識と対策
  • SHA-1/SHA-2/MD5ハッシュ値を計算するには?[C#、VB] - @IT

    2つのパスワードや2つの大容量データなどを比較する際、そのデータをそのまま比較するのではなく、そのデータを元に生成した固定長(16/20/32/48/64bytesなど)の一意な値、いわゆる「ハッシュ値」を使うということがよくある(※なお、このハッシュ値は不可逆なデータで、ハッシュ値から元のデータに戻すことはできない。つまり、ハッシュは「一方向の暗号化」である)。このハッシュ値は、元のデータが1bitでも異なると大きく変化するため、特にテキストやファイルが改ざんされていないかをチェックするのに適している。 ハッシュ値の活用例としては、例えばパスワードの保存がある。ハッシュ値を使えば、生のテキスト・パスワードを保存しなくて済むので安全性が高まる(万が一、ハッシュ値が漏れても、それから実際のパスワードは取得できない)。また、例えば2者間で送受信したデータが不正ではないかをチェックしたいときにも

    mai_k
    mai_k 2010/05/17
  • 初めてJavaでXML文書を操作してみる

    DOMツリーの構造 前回(「第1回 必要なのはJ2SEとXMLパーサ」)では、DOMとSAXの概要および環境の準備について簡単に解説しました。いよいよ今回からその詳細に挑戦してみましょう。今回は、DOMのオブジェクトモデルの概要に触れたうえで、そのプログラミングの基礎について取り上げてみることにします。 DOMはXML文書をオブジェクトのツリーに見立てるのだ、というのが前回の説明でした。前回のツリーの例は説明のために少し簡略化したもので、実際はもう少し複雑です。今回は実際のXML文書の例をとりあげてみましょう。 今回のXML文書のサンプルをリスト1に、それをDOMツリーとして表現したものを図1に示します。 <?xml version="1.0" encoding="UTF-8"?> <profile id="M-IO-000000" date="20000101"> <name> <fir

    初めてJavaでXML文書を操作してみる
  • ユーザーのユーザーIDやグループIDを調べるには

    【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27) 連載は、Linuxのコマンドについて、基書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 Linuxの「ジョブコントロール」をマスターしよう (2017/7/21) 今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21) 連載は、Linuxのコマンドについて、基書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 【 iostat 】コマンド――I

    mai_k
    mai_k 2009/11/09
  • テキストファイルの行末に^Mが表示される

    Windowsで作成したファイルの改行コードはCR+LFだ。これに対して、Linuxの改行コードはLFだけなので、ファイルの転送方法によってはWindowsで作成したテキストファイルをviで開くと、すべての行末に「^M」が表示される場合がある。 1つずつ検索して削除することも可能だが、数が多いと面倒だ。エディタで一括置換するのが簡単でいい。viで一括置換するには、[:]キーを押してコマンドモードに入り、一括置換のコマンド

  • 「commons digesterのルール記述でのListの扱い方について」(1) Java Solution - @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

  • クラスのインスタンスを1つに保つ(Singletonパターン)

    サーブレットのようなマルチスレッド環境下で共有リソースを扱うとき、複数のスレッド間で単一のオブジェクトを操作するようなプログラムが必要になることがあります。また、マルチスレッド環境以外でも、プログラム全体の情報を共有するオブジェクトや、生成に非常にコストが掛かるものの使い回しが利くオブジェクトのように、プログラム全体で1つのインスタンスだけを扱いたいこともあります。 小規模なプログラムなら、インスタンスを1つしか作らないという暗黙の規則を作り、注意深くコーディングすれば対応することはできるでしょう。しかし、プログラムの規模が大きくなってくると、そのような暗黙の規則だけではいずれ破たんしてしまいます。もともと1つだけのインスタンスを扱うように作られたクラスが、いつの間にか複数のインスタンスで扱われていたりすると、バグを引き起こす原因になります。 このような問題の解決には、クラスのstatic

    クラスのインスタンスを1つに保つ(Singletonパターン)
  • netstat - ホストのネットワーク統計や状態を確認する

    netstatコマンドは、ホストのネットワーク接続状態やソケット/インターフェイスごとのネットワーク統計などを確認するためのコマンドだ。ホストが現在実行している接続一覧とそのステータスを確認できるほか、IPやTCP/UDP以下の各パケット統計やエラー状態なども調べられる。ホストにおけるネットワーク調査全般の総合的なコマンドを意図しているので、ルーティング・テーブルの確認など、ほかのコマンドと同様の機能も実装されている。 なお、各機能の設定については、ifconfigやrouteなどの専用コマンドまたはGUIによるプロパティ設定が必要だ。

  • @IT:Linux Tips Index

    IPAexフォントを使うには(2010/7/7)New! IPA(独立行政法人情報処理推進機構)が開発・配布している日フォントIPAexフォント」をインストールする方法を説明する。 ■yumで「Cannot retrieve repository metadata」エラーが出るときは(2010/7/7)New! Fedoraでyumコマンドを実行して、「Cannot retrieve repository metadata……」というエラーが表示された場合の対処法を紹介する。 ■GUIでアンチウイルスソフトClamAVを使うには(2010/7/7)New! GUIで操作可能なアンチウイルスソフト「KlamAV」のインストール方法と使い方を説明する。

  • DNSの仕組みの基本を理解しよう

    いきなりだが、2001年はDNSDomain Name System)にとっては、当たり年ともいえる年だった。ニュースなどでも取り上げられているが、「日語」や「多言語」ドメインという大きな構造変化がシステム全体に押し寄せ、ブロードバンド環境の広がりは、個人がドメインを取得して運用するための足掛かりともなった。 連載では、ドメインの運用など、これからDNSと付き合おうとしている方々を対象に「DNSの概念や運用の考え方」を明らかにしていこう。ただし「BIND」など、DNSに関する具体的な製品の設定方法については触れない。詳しくは以下の記事もぜひ参考にしてほしい。 DNSはなぜ必要か? 最初に、「DNSとは何か」を説明するために、「なぜDNSが必要になるのか」を考えてみよう。それには、歴史的経緯から考えるのが分かりやすい。 DNSはご承知のとおり、IPアドレスホスト名をマッピングして相互

    DNSの仕組みの基本を理解しよう
  • ホームページはWebと同じ?HTTP!?~これで入門書が読める!超初心者のためのインターネットの仕組み~

    ホームページはWebと同じ?HTTP!?~これで入門書が読める!超初心者のためのインターネットの仕組み~:インターネットのモヤモヤを解消する(7)(1/2 ページ) ブラウザって裏でどんなことをしているか知ってますか? 普段よく使うWebのやりとりは、HTTPが使われています。そのやりとりは一方通行でこんなに単純です

    ホームページはWebと同じ?HTTP!?~これで入門書が読める!超初心者のためのインターネットの仕組み~
  • Java Solution FAQ:JSPのリロードが行われないときの対策

    多くのJSPコンテナは、JSPファイルの更新を検知し、次回実行時にJSPファイルを再コンパイルして実行するリロード機能を備えています。 リロード機能は、開発時にいちいちコンテナを再起動する手間が省けるため、非常に便利で欠かすことのできない機能ですが、まれにJSPのリロードが行われなくなったり、コンテナを再起動しても変更が反映されなかったりする場合があります。 そもそも、JSPの動作原理は、JSPコンテナがJSPファイルをサーブレットのソースに変換し、サーブレットのソースをコンパイルしたものが実行されるというものです(参照:JSPの動作原理を教えてください)。 リロードの際には、変換されたサーブレットと元のJSPファイルを比較して、更新されていれば、「再度変換」→「コンパイル」を行い変更を反映させています。 もしリロード機能がうまく動作しなかった場合には、変換後のサーブレットとの比較がなんら

    mai_k
    mai_k 2008/12/25
  • 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の親しい関係
  • JSP cookieの受け取り

    前回はJSPでセッションを扱う方法を説明しました。JSPのセッションでは、セッションの識別IDがクッキーとして自動的にブラウザ側に格納されていました。今回は、このクッキーの扱いについて、JSPプログラムから値の格納と取得を行う方法について説明します。 クッキーとは クッキーという概念がなかったころのWebシステムでは、サーバ側でアプリケーションを提供できても、ブラウザやユーザーが利用している端末にデータを書き込むことはできませんでした。クッキーは、その問題を解決するために考案された技術です。 クッキーがサポートされるブラウザに対して、サーバが小さなデータ(name=valueの組み合わせ:クッキー)をレスポンスのヘッダ部分に記述することで、その内容をブラウザ側に保存できます。ブラウザ側は、次回そのクッキーを発行したサイトに訪れた際に、持っているクッキーをサーバに提出します。サーバはその内容

    JSP cookieの受け取り
  • Servlet/JSP+MySQLでアプリケーションサーバ その1

    Javaアプリケーションのコーディング JDBCドライバのロードとMySQLサーバへの接続 では、JDBCドライバをロードしてMySQLサーバへ接続するサンプルを見てみましょう(リスト1)。 1、2行目でJDBC APIを使用するためにjava.net.*とjava.sql.*をインポートし、

    Servlet/JSP+MySQLでアプリケーションサーバ その1
  • 「パスワード欄に全角かなを入力するとエラーになる」(1) Java Solution - @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

  • 「配列→ArrayList()」(1) Java Solution - @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

  • DbUtilsで結果セットの内容をスカラー値として取得する

    Tipsは「DBUtilsで結果セットをJavaBeansにマッピングする」の続きです。DbUtilsの概要についてはそちらを参照してください。 DbUtilsを使うと、検索結果をJavaBeansで取得するだけでなく、従来のResultSetのように結果セットから特定のカラムのデータを取得することもできます。これにはorg.apache.commons.dbutils.handlersパッケージのScalarHandler、ArrayHandler、ArrayListHandler、MapHandler、MapListHandlerを使います。これらの違いは以下のとおりです。ArrayHandlerはResultSet#getObject(int columnIndex)に、MapHandlerはResultSet#getObject(String colName)に対応することになり

    DbUtilsで結果セットの内容をスカラー値として取得する