トラブルの発生時に利用するツール システム開発の現場では予期しないトラブルが付き物だ。Javaの場合、ヒープメモリやGCに関するトラブルが発生することが多い。この場合、GCログやヒープダンプを解析することで原因の特定を試みることになる。今回はこれらのトラブルが発生した場合に役立つツールを紹介する。 JDK標準ツール「jconsole」 jconsoleはJDKに標準で付属するJMXクライアントツールで、Java VMのリソースの利用状況を監視するのによく利用される。JDKインストールディレクトリのbinディレクトリ配下のjconsole.exeで起動することができ、ローカルで動作しているプロセスのほか、リモートで動作しているJava VMに接続することも可能だ。JDKのインストールディレクトリ直下のbinディレクトリにあるjconsole.exe(Windowsの場合)で起動することができ
The Geek Stuff How to Debug C Program using gdb in 5 Simple Steps - The Geek Stuffにおいてgdbを使ったCプログラムの基本的なデバッグ方法が紹介されている。あらかじめ問題を仕込んである短いCのソースコードと、それをデバッグオプション付きでビルドして、実際にどのようにデバッグを実施すればいいかが簡潔にまとまっていて参考になる。同記事では次のようなCで記述したソースコードを用意。 階乗計算プログラムをデバッグする例 このソースコードは階乗を計算するという内容。「for (i = 1; i < num; i++) j = j * i」の部分が階乗計算部分だが、変数jが初期化されていないため階乗の計算になっていない。jにどういった数値が入っているかは実行する環境によって左右される。How to Debug C Pro
MySQLを手軽に使いたいユーザにはぴったりの"砂場" - MySQL Sandbox MySQLのインストールがもっと簡単なら…… ちょっと使いたいだけなのに…… こう考えたデベロッパは少なくないことだろう。とくにレプリケーションや1台のマシンに複数のMySQLサーバを構築したいとなった場合、ポート番号の衝突やデータディレクトリの管理など検討事項が一気に増え、作業が煩雑になりがちだ。そんなときは、このMySQL Sandboxを使えばスッキリ解決するかも知れない。わずかな操作で簡単にMySQLをインストールできる魅力的なプロダクトを紹介しよう。 7月14日、Giuseppe Maxia氏はMySQL Sandboxの最新バージョンであるMySQL Sandbox 3.0.04をリリースした。MySQL Sandboxは手軽にMySQLデータベースを構築できるオープンソースソフトウェア。同
ユニットテストを記述する際に問題になるのがモックの作成方法だ。テストケース時にモックに差し替えることを想定してしたコードであればテストケースでモックに差し替えることは難しくない。しかし、差し替えるモックを作成する手間は馬鹿にならない。そこで登場するのがモックライブラリだ。 モックライブラリはテストケースで使用するためのモックオブジェクトを手軽に作成するためのものだ。実際にモックオブジェクトのクラスを定義しなくても、動的にモックオブジェクトを作成できるものが多い。 Java向けのモックライブラリにはJMock、EasyMockなどさまざまなものがあるが、本稿で紹介するのはMockitoという比較的新しいモックライブラリだ。 MockitoのWebサイト MockitoはMITライセンスで開発されているオープンソースソフトウェアで、他のモックライブラリと比較して直感的な記述でモックの挙動を設定
Webアプリケーションの操作性を向上させるために、いまや欠かすことのできないJavaScript。Prototype.jsやjQueryといった各種フレームワークを使用して、ユーザビリティを高めている開発者も少なくないだろう。 ここ数年の間でYahoo! UI LibraryやExt JS、Dojo Toolkitといった、開発のしやすさや・操作性の向上はもちろんのこと、綺麗なデザインも兼ね備えているライブラリが増えてきた。既存のWebアプリケーションに少しのコードを追加するだけで、機能もデザインも付加できるこれらのライブラリは非常に魅力的だ。 ここではテーブルで組んだリストに対して、まるで表計算ソフトのような操作性を提供するFlexigridライブラリを紹介したい。 ネイティブアプリケーション並みのリストを実現 FlexigridとはPaulo P. Marinas氏が開発・公開している
本稿では、Adobe AIRを使って簡単なアプリケーションを作るまで過程を紹介します。注目の技術、Adobe AIRで何ができるのか、どうやって開発するのかを解説していきます。 Adobe AIRとは? 今後、最も期待している技術は何かと5つあげていくと、その中に必ず入るのが、「Adobe AIR」です。Adobe AIRは、アドビシステムズが開発したデスクトップアプリケーションの実行環境です。 AIRが面白いのは、これまで使ってきたWebアプリケーションの技術、HTML/JavaScriptやFlash/Flexを利用して、デスクトップアプリケーションを作ることができる点にあります。もし、これまでに、HTMLやFlashで何か作ったものがあれば、それを、簡単な作業で、デスクトップアプリケーションとして公開することができるのです。ちょっと手を加えるだけで、Webで動くアプリケーションと、デ
Webページの表示パフォーマンスの向上は、Webデベロッパやフロントエンドプログラマにとって永遠の課題だ。ページの表示が速いかどうかは、ユーザの満足度に大きく影響する。リッチなUIや機能を実現しつつも、ページの表示は軽くしたい。 そこで重要になってくるのが、ページの読み込み速度を測定して分析してくれるツールの存在だ。Webページパフォーマンス計測ツールを使うことで定量的に状況を把握し、改善策を練ることができるというわけだ。Webページパフォーマンス計測ツールはいくつかあるが、最も導入が簡単で、かつ効果の高いもののひとつがYahoo! Developer Networkを通じて提供されているYSlowだ。執筆現在での最新版は0.9.2となっている。 YSlowはFirebugを活用しつつJavaScriptで開発されたWebページパフォーマンス計測ツール。Yahoo! Exceptional
CSSがWebページデザインの主要技術になってから、WebデザイナはCSSの振る舞いに頭を抱えなかったことはない。もっとも悩ましいのは、同じCSSでもWebブラウザごとに表示が異なるところにある。なるべく同じ表示を実現しようと、一見すると奇っ怪にみえる設定を加えたり、意味がないような行を加えたり、背景色と同じ色の画像を調整用に追加したり、涙ぐましい努力は後を断たない。 世界中のWebデザイナやフロントエンドデベロッパが同じ悩みを抱えているから、Webブラウザ間の互換性を実現するCSSライブラリがいくつも登場したり、ベストプラクティスをまとめたCSSリファレンスドキュメントが登場したり、CSS擬似クラスといったテクニックが紹介されたり、IEのCSS/HTML非準拠に対処するライブラリが登場するといったことが相次いで起こっているわけだ。 しかし、ほかのライブラリに依存せずにいちから自力でCSS
Eloquent JavaScript Eloquent JavaScriptというタイトルのもとでJavaScriptに関する情報が公開されている。同コンテンツの作成はMarijn Haverbeke氏の手によるもの。プログラミングの簡単な紹介からJavaScriptを使ったプログラミングの勘どころが丁寧にまとまっている。JavaScriptの仕様を解説するスタイルではなく、実際に必要になる処理や間違いやすい部分について取り上げながら説明がおこなわれている。JavaScriptを使ったプログラミングを実施するすべてのデベロッパに一読をお薦めしたいコンテンツだ。Eloquent JavaScriptの目次は次のとおり。 Introduction Basic JavaScript: values, variables, and control flow Functions Data stru
Prototype.jsとはなにか Prototype.jsは、Sam Stephenson氏を中心とするチームによって開発されているAjax対応JavaScriptライブラリだ。単体でもAjaxian.comの2006年と2007年の調査で最もよく知られたAjaxフレームワークに選ばれるほどの人気を得ているが、実はWebアプリケーション・フレームワークRuby on Railsのプロジェクトで開発されているプロダクトであり、同フレームワークに同梱されているため、Ruby on Rails経由で使用されるケースも多い。 ライブラリはMITライセンスで公開され、ドキュメントはクリエイティブ・コモンズ(Creative Commons)ライセンスのAttribution-Share Alike 3.0で公開されている。詳細はライセンスのページで確認していただきたい。 これから6回にわたって、こ
Spket IDE EclipseはJava IDEとして確固たる地位を築いているが、もともとはJavaに限らず、さまざまな開発ツールを統合するための基盤となることを目指して開発されたものだ。その思惑通り、近年、商用/無償を問わずEclipseをベースとしたいろいろなIDEが登場してきている。Spket IDEもEclipseをベースとしたIDEの1つで、AjaxやXUL、SilverlightなどRIA技術のサポートに力を入れている。 Spket IDEは以下のような言語・技術に対応している。 JavaScript XUL/XBL SVG Laszlo Silverlight Yahoo! Widget Spket IDEはSpket IDEのWebサイトのダウンロードページからダウンロードすることができる。スタンドアロンのIDEとして動作するインストーラのほか、すでにインストール済みの
突然ですが、私は軽く動作が早いソフトウェアが好きです。毎日のように使うWebブラウザはらばなおさら、きびきび動作する軽いシンプルなソフトウェアを選びたいものです。ただそういうシンプルなソフトウェアには自分に必要な機能がそろっていないのではないかと思うかもしれません。 そういう場合は、たいていのソフトウェアには機能を追加できるようになっています。それが「拡張機能」や「アドオン」、「マクロ」などと呼ばれる小さなプログラムたちです。そして有志の方が多くの追加機能を提供してくれています。そういったプログラムを探して使ってみるもの楽しみの1つです。 さらに拡張機能は自分で作ることができるようになっています。自分に必要な機能は自分で作って、ソフトウェアを自分好みに仕上げていくことはとても楽しいものです。そう、ソフトウェアは拡張しなければ意味がないのです! 今回紹介するFirefoxはオープンソース方式
Dojo Toolkit 先日、フルスタックのJavaScriptフレームワークであるDojo Toolkitのバージョン1.0がついにリリースされた。Academic Free License v2.1とBSD Licenseのデュアルライセンスが採用され、使用するプロジェクトに合わせてどちらかを選べるようになっている。 足かけ三年以上にわたり開発が行われた同フレームワークは、期待に違わず凄まじく多機能で、その全体像をつかむのも容易ではない。 今回は、Dojo Toolkitに関して広範かつ、なるべく詳細な解説を行うため、二回に分けた特集を試みる。 特集の前半である本記事は、Dojoの基本的な知識とトピックを解説したいと思う。後半では、Dojoが備えるUIウィジェットの話題を中心に、Dojoを使用してリッチなWebページを作成するための様々なテクニックを紹介したい。 ということで、前半記
Flashの開発環境 最近、AIRの登場によってRIAのプラットフォームとしてFlash/Flex(FlexはFlashで一般的なGUIアプリケーションを開発するためのフレームワーク)が大きな注目を集めている。Flash/Flexの開発にはAdobeの提供するFlash CS3やFlex Builderといった統合開発環境を利用するのが一般的だが、オープンソースのIDEもいくつか存在する。今回はFlash/Flexでの開発をサポートするオープンソースのIDEとしてFlashDevelop、ASDT、AIR GEARの3つを紹介する。 FlashDevelop FlashDevelopは.NETプラットフォーム向けに開発されたActionScriptの統合開発環境だ。本稿執筆時点での最新バージョンは3.0.0beta4となっている。 図1 FlashDevelop 最新のActionScri
以前のものとは似て非なるもの Apache Struts(以下、Struts)という名前を知らないJava EE/Web開発者は、もはやいないのではないでしょうか。紹介するまでもありませんが、Strutsは、Javaで記述されたオープンソースのWebアプリケーションフレームワークです。 今回紹介するStruts 2は皆さんがご存知のStruts(以下、Struts 1と表記します)とは似て非なるものです。Struts 2は、Struts 1のメジャー・バージョンアップ・プロダクトとして開発されましたが、そのベースは、WebWork2と呼ばれていたStruts 1とはまったく別のWebアプリケーションフレームワークです。すなわち、Struts 1とは異なるアーキテクチャとAPI、機能を提供する別のWebアプリケーションフレームワークと言えます。よって、Struts 1アプリケーションを、ライ
まずはプロトタイプチェーンを体感する プロトタイプベースオブジェクト指向における重要なキーワードのひとつに「プロトタイプチェーン」がある。「プロトタイプチェーン」とは、端的にいうと、「(プロトタイプベースオブジェクト指向における)継承メカニズム」だ。 JavaScriptでは、どのような形で継承メカニズムを利用できるのだろうか。 細かい説明は後回しにして、まずは以下のコマンドをFirebugで実行してみよう。このサンプルでは、哺乳類(Mammal) - 犬(Dog) - ダックスフント(Dachshund) の各オブジェクトに、"名前(name)"プロパティと"吠える(bark)"プロパティを定義している。少し長いが、何が起こるかを予想/確認しながら、1行ずつじっくり確認していってほしい。 // 哺乳類オブジェクト"Mammal"を定義 >>> var Mammal = function
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く