タグ

ブックマーク / xtech.nikkei.com (144)

  • 「IPAexフォント」が無償公開、IPAフォントの等幅とプロポーショナルを統合

    独立行政法人 情報処理推進機構(IPA)は2010年2月26日、「IPAexフォント」を無償公開した。公開中の「IPAフォント」の「等幅(固定幅)」と「プロポーショナル(変動幅)」を一つに統合した。IPAフォントも新版Ver.003.02を公開した。 「従来のIPAフォントは、過去のシステムとの互換性の観点から、固定幅と変動幅のフォントを分離していた。しかし、一般的な日語の慣例に従った文書を作成する場合、欧文文字の部分には変動幅の『IPA P明朝』、和文文字の部分には固定幅の『IPA明朝』、といった使い分けを、一つの文書の中で行う必要があった。IPAexフォントは、固定幅と変動幅を一つのフォントに統合することで、このようなわずらわしさの解消を狙った」(IPA)。 IPAフォントの新版Ver.003.02では、利用者から指摘があった不具合の修正をするとともに、欧文と数字の判別が容易となるよ

    「IPAexフォント」が無償公開、IPAフォントの等幅とプロポーショナルを統合
  • 「Java SE 6完全攻略」Garbage First GC

    Javaがヒープの管理にGCを使用しているのは、読者の皆さんもご存じの通りです。GCの手法にはいろいろありますが、HotSpot VMが採用しているのが世代別GCです。今回は、世代別GCの概要と問題点を解説したうえで、これを解決するために導入されたGarbage First GCについて説明します。 世代別GCの概要と問題点 世代別GCは若いインスタンスと時間を経たインスタンスを別々の領域に配置し、管理する手法です。これは寿命の短いインスタンスほど多いという性質をベースにしています。 若いインスタンスが配置される領域をヤング領域、時間を経たインスタンスを配置する領域をオールド領域とよび、それぞれの領域で異なるGCの手法を使用します。つまり、ヤングとオールドという世代の異なる領域を、それぞれ異なるGCで管理するのが世代別GCというわけです。 ヤング領域には高速ですが漏れのあるGCを用います。

    「Java SE 6完全攻略」Garbage First GC
  • 第4回 脱!手続き型プログラミング

    研究所では、アジャイル開発を素材に、より良いシステム開発のあり方を求めていく。開発手法そのものを見直すことは、より良いシステムを作るだけではなく、開発を担当するチームが成長し、個人の満足度も高まると考えられるからだ。今回は、プログラミングから私が学んだことについてお話ししましょう。 これまでの経験から今、感じていることは、プログラミングの能力を高めるには、知識の量だけでなく「どのように作るか」を考えることが大事だということです。開発には、未知の知識や技術を用いることがあるだけに、知識を増やすだけでは対応できないことが多いと思うからです。 なぜ作り方が大事なのか――。それは、着実に課題を整理しながら安心して(楽しく)作るための工夫が組み込めるからです。作り方を変えると、いままでの考え方が変わります。ずっと同じ手法では、できあがるプログラムも常に、同じような良さ・悪さを内在してしまうでしょう

    第4回 脱!手続き型プログラミング
  • 「Java SE 6完全攻略」第97回 アノテーションを処理する その4

    先月はアノテーションを処理するためのクラスや,処理に使用する補助的なクラスなどを紹介しました。 アノテーションを処理するにはjavax.annotation.processing.Processorインタフェースを使用し,プログラムの要素はjavax.lang.elementパッケージおよびjavax.lang.typeパッケージで定義されたインタフェース群を使用することはわかりました。しかし,実際にアノテーションを処理しろといわれても,どうやってやればいいのか途方に暮れてしまうのではないでしょうか。 そこで,今月はサンプルを使用しながら,実際にアノテーションを処理していくことにします。 今週は,特定のクラスからインタフェースを作成するアノテーションプロセッサを作っていきます。 サンプルのソース (こちらからダウンロードできます) Abstraction.java AbstractionM

    「Java SE 6完全攻略」第97回 アノテーションを処理する その4
  • 「Java SE 6完全攻略」第96回 アノテーションを処理する その3

    前回は,アノテーションプロセッサの基的な使い方について解説しました。今回は格的にアノテーション処理を行う時に必要な準備に関して紹介します。 メッセージの出力 アノテーションプロセッサはjavacコマンドによって実行することは前回説明しました。せっかくjavacコマンドで実行するのですから,出力もjavacコマンドと同様にしたいところです。 たとえば,アノテーションの処理中に何らかのエラーが見つかった場合,javacコマンドのコンパイルエラーと同様に出力したくなりますよね。このような用途に使えるのが,javax.annotation.processing.Messagerインタフェースです。 ここでは,先週使用したInfoアノテーションとInfoProcessorクラスにMessagerインタフェースを組み込んでいきましょう。 Messagerオブジェクトを取得するには,javax.an

    「Java SE 6完全攻略」第96回 アノテーションを処理する その3
  • Android技術者認定資格制度実施へ、OESFがJASAと提携

    一般社団法人Open Embedded Software Foundation(OESF)は2010年2月5日、社団法人 組込みシステム技術協会(Japan Embedded Systems Technology Association、JASA)と提携し、Android技術者認定資格制度を実施すると発表した。 OESFは、Googleがオープンソース・ソフトウエアとして公開しているスマートフォン・プラットフォームAndroidの、組込みシステムへの普及を促進する団体。JASAは組込みシステムの業界団体で、組み込み総合技術展「ET(Embedded Technology)」などを主催している。 JASAでは「JASA組込みソフトウェア技術者試験(Embedded Technology Engineer Certification:ETEC)」と呼ぶ認定制度を実施している。OESFでは組み込

    Android技術者認定資格制度実施へ、OESFがJASAと提携
  • 「Java SE 6完全攻略」第95回 アノテーションを処理する その2

    前回はアノテーションの定義について解説しました。今回はアノテーションを処理する方法について解説していきます。 単純なアノテーション処理を行う アノテーションを処理するには,javax.annotation.processing.Processorインタフェースを実装したクラスを作成する必要があります。通常はProcessorインタフェースを実装したjavax.annotation.processing.AbstractProcessorクラスを使用します。ここではProcessorインタフェースを実装したクラスをアノテーションプロセッサと呼びます。 AbstractProcessorクラスのJavadocを見てみると,abstractで定義してあるメソッドはprocessメソッドだけです。つまり,アノテーションを処理するにはprocessメソッドをオーバーロードすればいいことが分ります。

    「Java SE 6完全攻略」第95回 アノテーションを処理する その2
  • 「Java SE 6完全攻略」第49回 Concurrency Utilitiesの変更点 その1

    最近のCPUはデュアルコアは当たり前、デスクトップPCでさえクアッドコアを使用できる時代になりました。 このような時代の流れを先行するかのごとく、Javaでは当初よりスレッドを使った並行プログラミングが可能でした。とはいうものの、Threadクラスを使いこなすのはなかなか難しいというのも事実です。 そこで、J2SE 5.0では並行プログラミング用のAPIとして、Concurrency Utilitiesが導入されました。Concurrency Utilitiesには大別して次のような機能を持っています。 タスクの非同期実行機構 並行コレクション ロック、シンクロナイザ アトミック処理 Java SE 6ではConcurrency Utilitiesも強化されています。4つの機能のそれぞれが強化されているのですが、変更点はそれほど大きくありません。そこで、連載ではタスクの非同期実行機能の変

    「Java SE 6完全攻略」第49回 Concurrency Utilitiesの変更点 その1
  • 「Java SE 6完全攻略」第42回 Cookieを扱う その3

    先週、先々週とJava SEでCookieを扱う方法を解説してきました。そこでは、Java SE 6でCookieを扱うためのCookieManagerクラスが導入され、デフォルトではメモリにCookieを保持することを説明しました。 メモリに保持しているため、アプリケーションが終了すれば、保持していたCookieはすべて消失してしまいます。 できれば、ファイルなどにCookieを保存したいのですが、そのためのクラスはJava SEでは提供されていません。 そこで、今週はCookieの保存、読み込み機能を独自に作成してみましょう。 図1は先週示したものと同じCookie関連のクラス図です。 中心となるのがjava.net.CookieManagerクラス、そして、Cookieを保持するのがjava.net.CookieStoreインタフェースになります。 CookieStoreインタフェー

    「Java SE 6完全攻略」第42回 Cookieを扱う その3
  • 「Java SE 6完全攻略」第41回 Cookieを扱う その2

    それでは、サンプルでCookiManagerクラスの動作を確かめてみましょう。 ここではサーブレットでサーバを、Java SEでクライアントを作成しました。 サンプルのソース TestServlet.java, CookieManagerSample.java サーブレットはCookieをセットするだけの単純なものです。 public class TestServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); Cookie cook

    「Java SE 6完全攻略」第41回 Cookieを扱う その2
  • 「Java SE 6完全攻略」第40回 Cookieを扱う その1

    CookieはHTTPを使用したサーバ、クライアント間で、情報のやりとりをするために使われます。Cookieがセッション管理などに使用されていることは読者のみなさんもよくご存じですね。 JSPやServletではCookieを当たり前のように使うことができます。では、Java SEでクライアントを作成する場合はどうでしょう。 CookieはHTTPヘッダとして扱われます。java.net.URLConnectionクラスのgetHeaderFieldメソッドを使えば、サーバから送られてきたヘッダを取得することができるので、取得したヘッダからCookieを取り出すことが可能です。また、setRequestPropertyメソッドを使うことでサーバにCookieを付加して送信することもできます。 とはいうものの、URLConnectionクラスが作成されるたびに、getHeaderFieldメ

    「Java SE 6完全攻略」第40回 Cookieを扱う その1
  • Java技術最前線 櫻庭祐一 連載目次 :ITpro

    今日のソフトウエア開発において,Javaは最も重要なプログラミング言語あるいは開発環境といってもいいでしょう。そこで,ITproではJavaの最新技術についての連載を掲載しています。著者はJavaプログラマ向け情報ページ「Java in the Box」で有名な櫻庭祐一氏です。

    Java技術最前線 櫻庭祐一 連載目次 :ITpro
    bojovs
    bojovs 2010/02/03
  • オープンソース開発フレームワークpirkaがGoogle App Engineに対応

    オリエンタルアーツは2009年1月27日、同社がオープンソース・ソフトウエア(OSS)として公開しているpirka frameworkの新版1.05のベータ版を公開した。1.05では、Googleのクラウド・サービスGoogle App Engineに対応した。 pirka frameworkは、標準的なHTMLjavaでアプリケーションを記述できることが特徴のフレームワーク。JSPやXMLを使わないため、習得が容易であるという。HTMLに<FORM name="名称">のようにname属性を記述、サーバー側に同じ名称を持つjavaクラスを作成する、などの形でアプリケーションを記述する。 従来のpirka framework上のアプリケーションは「多少の修正でGoogle App Engine環境に移行できる」(オリエンタルアーツ)としている。 pirka frameworkの新版1.0

    オープンソース開発フレームワークpirkaがGoogle App Engineに対応
  • 「コミュニティで本格アプリを開発」、日本Androidの会「デ部」が始動

    2010年1月16日、開発者コミュニティ「日Androidの会」内のグループ「Androidデベロッパー倶楽部(通称「デ部」)」の第一回ミーティングが都内で開催された。Androidアプリケーション開発経験者を中心に約30名が参加した。 単なる勉強会ではない。実績を持つ開発者が中心となり、格的なアプリケーションを実際に開発する活動だ。この日の第一回ミーティングではアイデアの披露と議論を軸とした「アイデアソン」を実施。参加者は複数のチームに分かれ、Androidアプリケーションの開発に乗り出した。 著名Androidアプリの開発者が顔をそろえる この「デ部」は、日Androidの会のメーリングリストに投稿された「気でAndroidアプリを作ることを目的とした集まりを作ろう」、との呼びかけをきっかけに発足したグループである。参加資格は、Android Marketでアプリを公開している

    「コミュニティで本格アプリを開発」、日本Androidの会「デ部」が始動
  • 「エンジニアを結集して開発」、米グーグルが自社製Android携帯「Nexus One」発表会

    グーグルは2010年1月5日(米国時間)、米カリフォルニア州マウンテンビュー市の社で報道機関向けイベントを開催、自社ブランドのモバイル端末「Nexus One」を発表した(写真1)。「顧客の要求にこたえるべく、グーグルエンジニアを結集して開発した」(同社)という、最新のハードウエアとソフトウエアを搭載したフラッグシップ・モデルだ。 Nexus Oneは、台湾HTCと共同で開発した(写真2)。3.7インチ型で480×800画素(WVGA)の有機ELパネル、1GHz動作のマイクロプロセサ「Snapdragon」(米クアルコム製)、500万画素のカメラを搭載する。体の厚さは11.5mmで、重さは130g。オーディオ・プロファイルに対応するBluetoothや、周囲の雑音を打ち消す「アクティブ・ノイズキャンセル」機能を実装する。 ソフトウエアに関しては、Android 2.1を搭載する。A

    「エンジニアを結集して開発」、米グーグルが自社製Android携帯「Nexus One」発表会
  • リーナス・トーバルズ氏×まつもとゆきひろ氏 動画メッセージ「プログラミングは楽しい創造」

    Linuxの創設者であるリーナス・トーバルズ氏と、Rubyの創設者まつもとゆきひろ氏---2つの代表的なオープンソース・ソフトウエアの作者である両氏に、日技術者へのメッセージを語ってもらった。「大切なことは自分のやっていることが好きであること、やり続けること」、「プログラミングの楽しさは『創造』」と2人は技術者にエールを送る。(聞き手は高橋 信頼=ITpro編集) まつもとゆきひろ氏:僕は15年間、Linuxを使ってきて、その上でRubyで開発をしてきました。 実際のところ、僕が書いているのはC言語で、あなた(リーナス・トーバルズ氏)もそうだと思うけど、僕は上のレイヤーを向いていて、あなたは下のレイヤーを向いている。 我々には多くの共通点があると思います。趣味としてプロジェクトを始めたこと。今はとても大きなコミュニティに育っていること。 リーナス・トーバルズ氏:僕は個人的に信じているん

    リーナス・トーバルズ氏×まつもとゆきひろ氏 動画メッセージ「プログラミングは楽しい創造」
  • 簡単で難しい“正確なC言語”

    記者は日経ソフトウエアでここ4年半ほどC言語を使ったプログラミングの連載記事を担当している。「C言語好き」を自認してもいる。プログラムを書くことを直接の生業としていないので,プロのエンジニアに比べればずいぶんお気楽な「好き」には違いないが。 最初に連載を手がけたころはJavaの台頭がめざましい時期で,日経ソフトウエアでCプログラミングを連載するのもそろそろ最後かという空気すらあった。ならばということで,思い切り基礎に立ち返った内容で有終の美を飾ろうとしたところ,その連載がかなりの好評をいただいた。「やっぱりC言語の連載は必要だね」ということになり,現在に至るまで何らかの形でCプログラミングの連載が載り続けている。 C言語好きとしてはC言語の記事が載り続けるのは喜ばしいのだが,担当するようになって1年たち2年たつうちに,これでいいのかという問題意識が頭をもたげてきた。月刊誌の連載記事は長くて

    簡単で難しい“正確なC言語”
    bojovs
    bojovs 2009/12/22
  • 第6回 Scala言語を探検する(4)Scalaの型システム

    筑波大学第三学群情報学類を卒業したのち,現在は,筑波大学大学院システム情報工学研究科コンピュータサイエンス専攻博士後期課程1年。プログラミング言語や処理系に強い興味を持っている。現在の研究テーマは,プログラミング言語の構文解析アルゴリズム。Scala勉強会を不定期で行うなど,研究の合間にScalaの普及活動を行っている。 前回まで羽生田さんによるScalaの文法的な特徴の紹介がありましたが,今回はゲストということで,Scalaの型システムの概要やそれに関連した機能を紹介します。特にScalaのクラス階層とJavaのクラス階層の違い,Genericsの共変と反変,Existential Type,Structural Type,Compound Typeについて紹介します。 Javaとの類似点 Scalaの型システムの基的な部分はJavaと非常に類似しています。ScalaJavaと同様に

    第6回 Scala言語を探検する(4)Scalaの型システム
    bojovs
    bojovs 2009/12/19
  • [自分の道を拓く!]やりたいことをやればいいんだ

    上司に気のりしない仕事を頼まれたとき、それを断るのは勇気がいることだ。嫌な顔をされるだろうし、評価が下がるのではないかと不安になる。仕事だから、と自分に言い聞かせて結局引き受けてしまう。だが、まつもとゆきひろ氏は、やりたいことをやればいいという。(日経コンピュータ、文中敬称略) 「最近の若いプログラマは、特に断れない人が多い。社会人になってから景気が良かった経験がないから、ここで断ったら仕事がなくなるのではないかという不安が強いようだ」。Ruby開発者のまつもとゆきひろはそう危惧している。「僕は、新人のころから会社や上司にはっきり意見していた。嫌な仕事は断る。それでも、今も好きな仕事を続けられている」。 まつもとの趣味はプログラミング。「好きな趣味仕事にできた僕はラッキーだった」と楽しそうに語る。中学生のころから、プログラミングが一番好きだった。大学でもコンピュータ工学を専攻し、プログラ

    [自分の道を拓く!]やりたいことをやればいいんだ
    bojovs
    bojovs 2009/12/15
  • SunがJava EE最新版などをリリース,Webアプリ向け軽量プロファイル採用

    米Sun Microsystemsは米国時間2009年12月10日,Javaアプリケーション・プラットフォームの最新版「Java Platform Enterprise Edition(Java EE)6」をはじめ,アプリケーション・サーバーの最新版「GlassFish Enterprise Server v3」と統合開発環境の最新版「NetBeans Integrated Development Environment(IDE)6.8」をリリースした。Webアプリケーション向けの軽量なプロファイル「Web Profile」を新たに用意している。 Java EE 6のWeb Profileを使うと,Java EEの一部機能だけで実現可能なWebアプリケーションの開発作業が迅速化するという。より高度なアプリケーションが必要になった場合は,プロファイル変更などで機能を追加できる。Java EE

    SunがJava EE最新版などをリリース,Webアプリ向け軽量プロファイル採用