運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。
本連載では、これまでJavaFXのユーザインターフェースに関する部分に関して解説を行ってきました。ここまでくれば、ほとんどのGUIを作り上げることができるはずです。 しかし、ある重要な部分が抜け落ちています。それが今回紹介する通信や非同期処理です。 RIAで特に重要となるのが、HTTPを使用した通信です。多くのアプリケーションはHTTPでサーバとやり取りを行い、情報を送受信します。また、RESTを用いたWebサービスも多く使用されています。 このような通信はローカルのアプリケーションに比べると多大な時間が必要です。そのため、何も考えずに通信を行ってしまうと、アニメーションがストップするなどGUIの応答性の低下を招いてしまいます。そこで、GUIの処理が行われるスレッドとは別のスレッドで通信を行うのが慣例となっています。 JavaFXはAWTやSwingと同じようにイベント駆動でアプリケーショ
ソフトウェアなどを使いこなすために、ストレスを感じながらもしぶしぶ覚えなければならないようなノウハウ、「バッドノウハウ」がテーマの本連載、第4回の今回はブラウザのBKを、<form>タグに関連するものに絞って取り上げたいと思います。 URLの+と%20の関係 HTMLの<form>タグを使うと、ブラウザからサーバにデータを送ることができます。<form>にmethod="GET"という属性が指定されている場合、ブラウザは、以下のように、キーと値のペアをURLの末尾に付加してサーバにリクエストを送ります。 http://example.com/webdb.cgi?key1=value1&key2=value2 これらのペアを「クエリ」と呼びます。このときキー、あるいは値に=などの予約記号が含まれている場合、%3Dのように%+16進数でエンコードします[1]。 ところが、これには例外があり
第40回において、ターミナルを利用したファイルのやりとりとしてssh/scpコマンドを紹介しました。sshはリモートマシンにログインを行ったり、リモートマシン上でコマンドを実行したりするためのプログラムです。今回はsshに関するTipsを紹介します。 公開鍵の登録 ssh-keygenで生成した公開鍵をリモートマシンの~/.ssh/authorized_keysに追加することで、公開鍵を利用した認証が行えるようになることは第40回で紹介しました。公開鍵を登録するためには公開鍵ファイルをscpコマンドなどで転送し、authorized_keysファイルの末尾に書き込む必要がありますが、これを自動で行ってくれるスクリプトがssh-copy-idです。ssh-copy-idはopenssh-clientパッケージに含まれるため、特にインストールを行うことなく使用することができます。 使い方は以下
今まで使用してきたアニメーションは基本的には動きがほとんどありませんでした。しかし、最近の傾向としてユーザインターフェースにアニメーションを取り入れることが必須になってきています。 たとえば、MacOS Xでドックにアプリケーションがヒュッと吸いこまれていくのもアニメーションです。これに限らずOSレベルから個々のアプリケーションまで、さまざまなところでアニメーションが使われています。このようなアニメーションをユーザインターフェースに組み込んでいくことで、表現力を高めることができるのです。 もちろん、JavaFXでもアニメーションを扱うことが可能です。しかも、Swingなど既存のJavaのユーザインターフェース技術でアニメーションを扱うより、JavaFXは簡単にアニメーションを実現することができます。 そこで、これから2回に渡ってJavaFXのアニメーションについて解説していくことにしましょ
mod_perlの教訓 一昔前まで、Perlである程度大規模なウェブアプリケーションを書くときはmod_perlと呼ばれるApacheモジュールを利用するのが一般的でした。 ところが、Apache、mod_perlともに大規模な改修が行われ、後方互換性が失われた結果、古いmod_perlのアプリケーションを抱えている企業は、リスクや不便を覚悟で古いApacheを使い続けるか、Apache、mod_perlともに新しい環境に移行するか、あるいはまったく異なる第三の道を模索するかの選択を迫られることになりました。 同じようなことは、もっと小規模なアプリケーションでも起こりえます。たとえば、昔ながらのCGI環境で実行していたものをもっと高速な環境に移行したくなったとき。たしかにmod_perlにはApache::PerlRunと呼ばれる互換モードもありますが、これまではアプリケーションそのものを
点数のみを見るとWicket、Guice、Cayenneが良い評価を得ています。ただし評価したブログ記事筆者は「JSPはマイナス評価」「Wicketに習熟している」「Springはライセンス関係で敬遠した」など独自の観点も盛り込んでいるため、あくまで一つの検討材料として見るのがよいでしょう。 公開資料には、各層別の評価ポイントに対してそれぞれのフレームワークがどのように対応しているかを、コード例を交え解説しているドキュメントが含まれています。コンテナ層の評価ポイント「他のフレームワークとの親和性」にて、Wicketはどのコンテナとも統合機能を持っていますが、Seasar 2のS2WicketはWicketの最新バージョン1.4では動かないことを指摘しています。 ここでは親和性の「有無」についてのみ評価がされていますが、親和性の「度合い」についても見ていくとより違いがはっきりとわかりそう
コードを変更することなく、起動中のJavaアプリケーションに関するさまざまなトレース情報を取得できる「BTrace」が、Sun Micro-sys-temsのA. Sundararajan氏らによって開発されています。 Solaris 10やMac OS X 10.5にて利用でき、起動プログラムのシステムコールなどを取得できる「DTrace」という技術があります。BTraceは、DTraceのJavaアプリケーションに特化したバージョンといったところでしょう。 BTraceの「B」はBytecodeのことで、Bytecode Instrumentation(バイトコード操作)を使って動的にプローブ(計測ポイント)を仕込みます。ちなみに、バイトコード操作にはASMを使っています。 BTraceはJava 6以上の環境で動作します。jpsコマンドにて起動中のJavaアプリケーションのプロセスI
今回の対談相手は、シックス・アパート(株)勤務で、現在サンフランシスコ在住の宮川達彦さん。本誌でも連載や特集でこれまで何度もご執筆いただいていますが、渡米して数年、アメリカでの生活はどんな感じなのでしょうか? 左:宮川達彦氏、右:小飼弾氏(撮影:武田康宏) 経歴 弾:お久しぶりです。 宮川(以下、宮):お久しぶりです、どうも。 弾:最初に、あらためて簡単な経歴を。 宮:東京大学の理学部情報科学科でコンピュータサイエンスの勉強をしていて、2年のときにオライリー・ジャパンでバイトを始めました。そのときはコンピュータというより事務系の仕事で、4年になったときにオン・ザ・エッヂ[1]でアルバイト。それが1999年。上場前で、弾さんが入る…。 弾:前ですよね。そう、先輩なんですよ、オン・ザ・エッヂでは。 宮:僕が2ヵ月くらい前に入って。それから5年くらいライブドアにいて、2005年からシック
文字エンコーディングを正しく、厳格に取り扱わないと、システムのセキュリティに大きく影響します。しかし、広く利用されているアプリケーションでも、大手サイトでも文字エンコーディングを不適切に取り扱っているケースは少なくありません。 今回から4回に分けて、セキュリティと文字エンコーディングをテーマに、Webアプリケーションがどのようなセキュリティ対策を取るべきか解説します。攻撃方法の解説ではないので具体的な攻撃方法は解説しませんが、どのように攻撃されるのかは簡単に解説します。 文字エンコーディングは厳格に扱わなければならない 問題の解説を始める前ですが、いきなり結論から入ります。それは、非常に簡単な原則であるにも関わらず、あまり多くのサイトやアプリケーションで守られていないからです。 文字エンコーディング取り扱いの原則文字エンコーディングは厳格に取り扱い、不正な文字エンコーディングを検出した場合
第2回で作成したHello, World!だけでは、JavaFX Scriptの実力を知ることはできません。そこで、今回はUI、特にグラフィックの描画に関する機能を紹介していきます。 とはいうものの、第2回で使用したNetBeansは英語版なので、ちょっとしきいが高いですね。そこで、今回からは日本語版のNetBeansにJavaFX Pluginをインストールして、使用していきます。 JavaFX Pluginのインストール すでにインストールされているNetBeansに後からJavaFX Pluginをインストールする手順は、他のプラグインをインストールする時と同じです。残念ながら、JavaFX Pluginはまだ日本語化されていないので、JavaFXに関する部分は英語のまま表示されます。 インストールを行うには、まずNetBeansを起動します。そして、メニューバーの[ツール]の項目の
さて今回は、早速Progressionを使用して、実際に動くサンプルを作成しながら、Progressionが持っている特徴的な機能を説明してきます。 なお、今回の説明するサンプルを以下に用意しました。 第2回のサンプルコード Progressionを構成する3つの機能 サンプルを作成する前に、Progressionは大きく3つの機能により成り立っているという点をお話しします。 その3つの機能とは、以下のものです。 シーン コマンド キャスト この3つの機能を理解することが、Progressionを理解する上で非常に重要になってきます。 シーン Progressionのシーンとは、1つの場面を表現する機能です。 複数のHTMLファイルで構成される一般的なWebサイトのように、複数のシーンの階層構造でWebサイトを構築できるようになります。 Progressionには、シーン間のシームレスな移
BTSを使い続けていると、時に思わぬトラブルに出会うことがあります。それらはシステム起因のものもあれば人的なものもあり内容もさまざまですが、発生した際どのように対策を行えば良いでしょうか? 今回はBTSを運用する上で、よくあるトラブルと対策について考えてみたいと思います。 システム上のトラブルなど BTSそのものの不具合 BTSもひとつのアプリケーションであることに変わりはありませんので、当然不具合の発生する場合がありえます。アプリケーションの性質上とても慎重に作られている上に、品質保障に関わる人々に使われるものですので目立つ不具合に出会うことは少ないのですが、まれにチケットの破損やデータの不整合に出会うことがあります。 チケットが破損すると状態の更新が上手くできなくなったり、そのチケットのページが開けなくなったりします。BTSの中には、非常時用に破損したチケットの除去機能が付いているもの
それでは、JavaFXでアプリケーションを作ってみましょう。 JavaFXのインストール JavaFXはJavaFX Technology Downloadsのページよりダウンロードすることができます(図1)。 図1 JavaFXダウンロードページ ダウンロードページからダウンロードできるのは以下の3種類のパッケージです。 JavaFX 1.0 SDK NetBeans IDE 6.5 with JavaFX 1.0 JavaFX 1.0 Production Suite NetBeans IDE 6.5 with JavaFX 1.0はNetBeansにJavaFX関連のプラグインがはじめからインストールされているパッケージです。 今回使用するNetBeans IDE 6.5 with JavaFX 1.0がサポートしているOSは以下の通りです。 Windows XP SP3以降(3
ソフトウェアなどを使いこなすために、ストレスを感じながらもしぶしぶ覚えなければならないようなノウハウ、「バッドノウハウ」がテーマの本連載、第3回の今回は極めてBKフル(バッドノウハウが多い)言語であるC++を取り上げたいと思います。 C++再考 いまどきのWebアプリケーションはPerlやRubyなどのLightweight Languageで作られているものが多く、C++の出番は非常に少ないように見えます。ところが、知人などに話を聞いてみると、基本的にPerlで作られているサービスでも、性能に効いてくる要所要所にC++が使われているという話をよく耳にします。 C言語ではなくC++を使うのは、オブジェクト指向言語ということもありますが、標準ライブラリに含まれる便利なコンテナ(string、vector、mapなど)を使いたいという理由も大きいようです。たしかに、一度これらのコンテナを使っ
今回のゲストは、「Fine Software Writings ソフトウェア開発に関する文章の翻訳」で多数の海外ブログなどの英語文献の翻訳をしている青木靖さん。『Joel on Software』などの翻訳書とともに、その名訳が人気です。 左:青木靖氏、右:小飼弾氏(撮影:武田康宏) FizzBuzz問題 弾:それではぼちぼちとお聞きしていきましょう。まず、青木さんに会って、やっぱり外せない質問は「どうしてプログラマに…プログラムが書けないのか?」 青:あー、はい(笑)。 弾:FizzBuzz問題[1]。青木さん自身が出したものではなくて、翻訳ではあるんですけど、最初にどこで見つけたんですか? 青:「Coding Horror」っていうJeAtwoodのブログをいつも読んでいて。そんなにすごいことになるとは思ってなくて、軽い気持ちで訳しただけなんです。 弾:すごく流行りましたよね
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く