タグ

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

  • あなたの知らないJDKの便利ツールたち

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー

    あなたの知らないJDKの便利ツールたち
  • 新人(3年目)、先輩デビューで「最悪の振る舞い」

    新人(3年目)、先輩デビューで「最悪の振る舞い」:システム開発プロジェクトの現場から(20)(1/3 ページ) こんにちは、檜山です。前回「新人、アーキテクチャチームで『運命の出会い』」では、私が先輩の背中から学んだことをお話ししました。今回は「初めてのスーパーバイザー(以降、SV)経験」、つまり逆に自分が先輩としてどう振る舞ったかについて、反省を交えつつお話しします。 3年目SE、クライアントとの直接交渉でプロ意識を実感 話は入社3年目に移ります。 私は前回触れたアーキチームや資源管理チームを経て、アプリチームへ移りました。このころプロジェクトは運用フェイズに入り、規模も縮小。少人数体制に切り替わりました。その結果、SEとしてうぶ毛が生えた程度(それすらも怪しい)の私ですら、1人で1領域を担当させてもらえることになりました。 そして、クライアントとも直接調整ができる立場になりました。準備

    新人(3年目)、先輩デビューで「最悪の振る舞い」
    j7400157
    j7400157 2008/11/07
    こんなところで…
  • ログオンを省略してWindows 2000を利用できるようにするには(レジストリによる設定法) - @IT

    Windows 2000では、ログオン時のユーザー認証によりそのユーザーの権限を決定し、以後プログラムを実行したり、ファイルをアクセスしたり、ネットワーク資源にアクセスしたりするたびに、ユーザーの権限が確認され、権限を超えた操作は禁止されたり、操作内容がログに記録されたりするようになっている。このように、システムを安全に運用するには、ログオンは避けて通れない処理だが、たとえば自宅にある自分専用のマシンで、自分以外がこれにアクセスすることはほとんど考えられないような環境では、ログオン処理が無駄だと感じるかもしれない。使うユーザーは自分しかいないのだから、コンピュータのスイッチを入れたら、ユーザー名やパスワードなどを毎回入力しなくても、人としてログオンし、利用可能な状態になってほしいと考えるだろう。 Windows 2000システムを使い始めるときには、まず最初にこのログオン ダイアログで正

  • ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT

    ThreadとHashMapに潜む無限回廊は実に面白い?:現場から学ぶWebアプリ開発のトラブルハック(10)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) マルチスレッドのトラブルハックはさっぱり分からない… 対処が難しいトラブルといえば、GC(ガベージ・コレクション)とマルチスレッド処理に起因することが多い。 前々回(「肥え続けるTomcatと胃を痛めるトラブルハッカー 」)と前回(「JavaのGC頻度に惑わされた年末年始の苦いメモリ」)の2回にわたってGC、特にメモリ周りのトラブルを取り上げた。そこで今回は、マルチスレッド処理のトラブルの1つ、「レースコンディション(競合状態)

    ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT
  • スレッドダンプの森で覚えた死のロックへの違和感

    スレッドダンプの森で覚えた死のロックへの違和感:現場から学ぶWebアプリ開発のトラブルハック(11)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) スレッドダンプはトラブルハックに非常に有効 Javaを用いたシステムで発生したトラブルを解析する際、スレッドダンプは非常に有効な手掛かりを指し示してくれる。 例えば、連載第3回の「【実録ドキュメント】そのログ当に必要ですか?」ではログ出力がボトルネックとなったトラブルを、解析ツールを用いたスレッドダンプ解析により発見している。また、連載第10回の「ThreadとHashMapに潜む無限回廊は実に面白い?」では、レースコンディション(競合

    スレッドダンプの森で覚えた死のロックへの違和感
  • @IT:プロファイラでメモリリークとパフォーマンス問題を解決

    Java開発の問題解決を助ける(2) プロファイラでメモリリークとパフォーマンス問題を解決 サン・マイクロシステムズ 岡崎 隆之 2005/8/10 この連載は、Java開発を妨げるさまざまな問題の解決方法を扱います。前回はプログラムのバグを効率よく発見し解決する方法を紹介しました。第2回は、プロファイラを使ってメモリリークやパフォーマンスの問題を解決する手法を紹介します。 メモリリークとは不要になったオブジェクトが何らかの理由で解放されず、メモリ領域を無駄に占拠してしまっている状況です。このような不要なオブジェクトが積もり積もっていくと、メモリ不足でシステムが停止してしまうなどの深刻な問題を引き起こす場合があります。ではこのような深刻な問題を引き起こしてしまうメモリリークの見つけ方、解決方法を学んでいきましょう。 ■どうしてメモリリークは起こるのか では、そもそもどうしてメモリリークが起

  • GoogleのMapReduceアルゴリズムをJavaで理解する

    GoogleMapReduceアルゴリズムをJavaで理解する:いま再注目の分散処理技術(前編)(1/2 ページ) 最近注目を浴びている分散処理技術MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) いま注目の大規模分散処理アルゴリズム 最近、大規模分散処理が注目を浴びています。特に、「MapReduce」というアルゴリズムについて目にすることが多くなりました。Googleの膨大なサーバ処理で使われているということで、ここ数年の分散処理技術の中では特に注目を浴びているようです(参考「見えるグーグル、見えないグーグル」)。MapReduceアルゴリズムを使う利点とは、いったい何なのでしょうか。なぜ、いま注目を浴びているのでしょうか。 その詳細は「MapReduce : Simplified Data Proc

    GoogleのMapReduceアルゴリズムをJavaで理解する
  • グーグル エンジニアのまじめな日常 ― @IT

    グーグルがどのようにソフトウェア開発を行っているかは、これまであまり詳細が明らかにされてこなかった。だがグーグルは6月10日、開発者向けイベント「Google Developer Day 2008 Japan」を開催し、グーグルのソフトウェアエンジニアグーグルでの仕事術を語る「Google ソフトウェアエンジニアの日常」という講演会を実施した。スピーカーは、NECITエンジニアとして勤務した経験がある藤島勇造氏。2006年からグーグルのソフトウェアエンジニアとして働いている。藤島氏は、グーグルでのソフトウェア開発方法について、グーグルのカルチャーと自身の見解を織り交ぜて語った。 グーグル ソフトウェアエンジニアの1日の流れ 藤島氏の1日は、朝10時ごろ出社し、メールをチェックすることから始まる。この時間にメールを見る理由は、米国にいる同僚に連絡が付きやすい時間帯だからだ。 午前中の主な

    グーグル エンジニアのまじめな日常 ― @IT
  • Aptana RadRailsで始めるJRuby on Rails超入門(1/3)―@IT

    JRubyを利用したRuby on Rails(以下、Rails)のことを「JRuby on Rails」と呼びますが、オラクルのユーザー向けSNSサイト「Oracle Mix」は、このJRuby on Railsで開発されるなど、JRubyを利用したRailsアプリケーションは実用に近づいてきたといえます。 稿では前編・後編に分けて、JRuby on Railsについて解説します。前編ではRailsのIDEであるAptana RadRails(以下、RadRails)を使い、手軽にJRuby on Railsアプリケーションを体感する方法を紹介します。ToDo管理アプリケーションを構築しながら、RadRailsの便利な機能を紹介していきます。 JRubyはJavaRubyのイイとこどり? JRubyとは一言でいうと、100% Pure-Javaで実装したRubyの実装系のことです。こ

    Aptana RadRailsで始めるJRuby on Rails超入門(1/3)―@IT
    j7400157
    j7400157 2008/05/20
    あとで試してみたい
  • Mac OS XでAMP構築(1/4) ― @IT

    Shin.鶴長 2008/5/19 DarwinをベースとしたUNIX系OS「Mac OS X」では、ApacheやSambaをはじめとするおなじみのアプリケーションを動作させることができます。今回は、Webアプリケーションの定番、AMP(Apache+MySQLPHP)環境を導入してみましょう(編集部) Mac OS Xは、BSDの流れをくむ「Darwin」をベースとしたUNIX系OSです。 Mac OS Xを手掛けるアップルでは、発売当初からUNIX由来の堅牢(けんろう)性や安定性を前面に打ち出し、UNIX互換であることを強くアピールしていますが、「Aqua」と呼ばれる洗練されたユーザーインターフェイスに覆い隠され、普通に使用するうえでUNIXを意識することはありません。 しかしひとたび「ターミナル.app」を立ち上げれば、ps、ls、viなど、Linuxで慣れ親しんだコマンドに触れ

  • ゼロ円でできるインターネットVPN(1/4)

    ゼロ円でできるインターネットVPN OpenVPNで手軽にVPN構築 オープンソースのソフトウェア「OpenVPN」を利用すれば、手軽にSSL-VPNによるインターネットVPN環境を構築することができます。そのインストール・設定方法を紹介しましょう。(編集局) Shin.鶴長 2008/5/2 元祖仮想化はネットワーク? 高速なCPUの普及を背景に、XenやVMwareのような仮想化技術が注目されていますが、ネットワークにおいても、ブロードバンドのような高速インターネット回線の普及を背景に、インターネットVPNが利用されるようになっています。 VPNはインターネット上に仮想的な専用線を構築し、離れた拠点間を直接つなぐことができます。VPNはNATルータやファイアウォールを越えた接続も可能なため、外部のインターネットからはアクセスできない社内ツールに、自宅に居ながらアクセスすることができます

    j7400157
    j7400157 2008/05/03
    やるぞー
  • インストールと環境構築

    今回から数回にわたって、仮想化ソフトウェア「Xen」を用いたシステム構築についてご紹介します。 ご存じの方も多いと思いますが、Xenは、オープンソースで提供されている仮想化ソフトウェアで、手軽に仮想マシンを実現する手法として注目されています。この連載ではその概要については割愛し、システム構築の現場で、実際にどのように仮想化システムを設計・構築・運用していくかという実践的な部分に焦点を当てて解説を進めていきたいと思います。 初めに、XenをインストールしてゲストOSを動かすまでの基的な手順を紹介したいと思います。ゲストOSを稼働させ、Xenの基的なセットアップ方法を把握したところで、次回以降、実際の仮想化システム構築のプロセスを、パフォーマンス検証結果などとともに紹介していきます。 なお、今回は仮想化環境のプラットフォームとしてRed Hat Enterprise Linux 5(以下R

    インストールと環境構築
  • まつもとゆきひろ×小飼弾対談 生き残るエンジニアとは? ― @IT

    パソナテックは3月11日、同社が提供開始したITエンジニア向けサイト「てくらぼ」のオープニングイベント「Matz×Dan×Daiji エンジニア進化論」を実施した。イベントでは、Ruby開発者のまつもとゆきひろ氏と、ブロガーでプログラマの小飼弾氏のトークセッションが開催された。会場となった東京・秋葉原のUDXギャラリーは大勢のITエンジニアで埋め尽くされ、キャンセル待ちが出るほどの盛況だった。 トークセッションは、ニューズ・ツー・ユー 取締役 平田大治氏が司会し、まつもと氏と小飼氏に質問を投げ掛けた。まつもと氏と小飼氏が質問に○か×かで答えた後、平田氏が詳しく話を聞くというスタイルだった。以下にトークセッションでの2人の発言をいくつかまとめた。

    まつもとゆきひろ×小飼弾対談 生き残るエンジニアとは? ― @IT
    j7400157
    j7400157 2008/03/13
    弾さんのように、勉強中で半端な知識でもブログに書いてしまうことが大事。→これは間違い。amachangを例に話していた。→いまは直っている。
  • Javaエンジニアにこそ、Rubyの良さが分かる ― @IT自分戦略研究所

    Javaエンジニアにこそ、Rubyの良さが分かる:JavaエンジニアのためのRuby入門(1)(1/2 ページ) 実は共通点の多いRubyJavaJavaエンジニアであり、JavaRubyの両方のインストラクターでもある筆者が贈る、JavaエンジニアのためのRuby入門。 「Rubyはハードルが高い」。当にそうですか? 昨今、急速にITエンジニアの注目を集めているRuby。中でも、RubyのためのWebアプリケーションフレームワークであるRuby on Rails(以下、Rails)は、「Javaの典型的なフレームワークの10倍の生産性」と宣伝されたこともあり、とりわけJavaエンジニアの皆さんにとって気になる存在なのではないでしょうか。 とはいうものの、「Rubyは触ったことがないし、ソースコードを少し読んではみたものの、さっぱり意味が分からない。勉強するにはハードルが高い」と感

    Javaエンジニアにこそ、Rubyの良さが分かる ― @IT自分戦略研究所
    j7400157
    j7400157 2008/03/12
    Ruby勉強してみようかな
  • Javaでコンパイラの基礎を理解する

    そもそもコンパイラの中ってどうなっているの? Javaでコンパイラの基礎を理解する(1) 普段、なにげなく使っているコンパイラ。中身を理解すると、プログラミングへの意識が変わり、技術力もつきます! 開発者必見です

  • @IT:Security Tips LiveHTTPHeadersでHTTPヘッ...

    Webアプリケーションの送受信データ内容のチェックやデータ送信先の確認、セッション管理機能のテストなどにおいては、HTTPのヘッダ情報やPOSTされるデータ内容を確認する必要に迫られる。 このようなテストを実行する場合には、通常、送受信データチェック専用のローカルプロキシサーバをセットするなどの方法を使用するが、これはなかなか煩雑である。Mozilla/Mozilla Firefoxを使用できるのであれば、LiveHTTPHeadersというアドインツールを使用することで煩雑な手順を経ずとも、ブラウザが実行したデータ送受信におけるヘッダ情報や送信データを非常に簡単に確認することができる。 LiveHTTPHeadersはxpi形式で配布されており、次のサイトからダウンロード、もしくはインストールすることができる。 使い方は簡単だ。メニューバーの「ツール」から Web 開発を選択し「Live

  • Tomcatのセキュリティとリスクの基本分かってる? (1/4) - @IT

    Tomcatのセキュリティとリスクの基分かってる?:Tomcatはどこまで“安全”にできるのか?(4)(1/4 ページ) 前回までで、Tomcat 6系に関する機能や設定、運用といったところに触れてきました。今回と次回は2回に分けて、いよいよTomcatを運用していくに当たってのセキュリティ面に着目していきたいと思います。 「セキュリティ」対策をしないと、人生が変わる? 「セキュリティ」という言葉が注目され始めた2000年からすでに8年が経過し、時代は2008年となりました。いまのご時世、パソコンを使う人はみな耳にする、この「セキュリティ」とは一体何のことなのでしょうか? 一般的な解釈に従えば「セキュリティ」=「パソコンの安全性」になります。「ウイルス」や「不正アクセス」に対する安全性のことを指し、さまざまな対策を行うことで「セキュリティ」を保ち脅威から身を守ります。 それでは実際に「セ

    Tomcatのセキュリティとリスクの基本分かってる? (1/4) - @IT
  • Tomcat 6で実現!Ajaxを超える通信技術Comet

    Cometを使ったチャットアプリケーション それでは、実際にCometを使って簡易チャットを作成してみましょう。ページは上下分割で元のページは「CometChat.jsp」とします。 ページ下部にメッセージ送信部分を作成し、「CometChatSender.jsp」というファイル名で作成します。ページ上部にメッセージ文を表示させる「CometChat」というサーブレットを作成します。

    Tomcat 6で実現!Ajaxを超える通信技術Comet
  • @IT:現場に活かすJakarta Project 第9回

    プログラムを作成する際に、地味ですが重要な作業の1つとしてログの出力部分の作成があります。ログの出力が適切でないと、トラブルが発生した場合にその原因をつかむのが難しくなります。ログの出力が適切であれば、問題の原因を特定することが容易になるでしょう。 また、システムの処理時間をログの要所に入れておけば、プロファイラなどを使わなくても、ボトルネックがある程度解析できます。レスポンスタイムなどのシステム状態の統計を取っておけば、問題の把握などにも役立つでしょう。稿では、そんな縁の下の力持ちともいえるログの出力機能を提供するCommonsプロジェクトLoggingとlog4jについて紹介します。 Logginで実現できること Loggingは、log4jやJ2SDK 1.4のLogging APIなど、複数のログAPIへのラッパーとして利用できるライブラリです。Loggingを利用すると、次の

    @IT:現場に活かすJakarta Project 第9回
    j7400157
    j7400157 2007/09/27
    log4jの使い方
  • GWTとYahoo!のAPIを使って画像検索アプリ! - @IT

    前回「JavaをAjaxに変換するグーグルのGWTを使ってみよう」では、Google Web Toolkit(以下GWT)の概要を紹介しました。 GWT最大の特徴は、JavaでAjaxが開発できることです。Ajaxアプリケーションのクライアント側をJava言語で開発し、それをピュアなHTMLJavaScriptに翻訳する「Java-to-JavaScriptコンパイラ」というユニークな技術をコアとした開発手法にあります。 具体的なAjaxアプリケーションを実際に作成することで、GWTのプログラミングやウィジェットあるいはリモート・プロシージャ・コールの機能といった質的な要素へと迫っていきましょう。