そもそもコンパイラの中ってどうなっているの? Javaでコンパイラの基礎を理解する(1) 普段、なにげなく使っているコンパイラ。中身を理解すると、プログラミングへの意識が変わり、技術力もつきます! 開発者必見です
本連載は、Java言語やその文法は一通り理解しているが、「プログラマー」としては初心者、という方を対象とします。Javaコアパッケージを掘り下げることにより「プログラマーの常識」を身に付けられるように話を進めていきます。今回は、文字コードや文字化けについて。OSや携帯電話の機種の違い、メール、Webブラウザ、DB入出力、国の違いなどさまざま原因で起きる文字化けを徹底解説! 文字コードや文字化けの知識はプログラマーの常識 今回は、文字コードや文字化けなどの文字に関する常識をJavaを通して身に付けていきます。 私たちプログラマーにとって、文字や文字列を扱うことはとてもありふれたことです。ほとんどのプログラムにおいて、何らかの形で文字や文字列を扱っていることでしょう。 インターネット時代には必須の知識 コンピュータ1台で動作するプログラムを扱っている範囲では、皆さんは特に何の困難に出合うことも
最近、Ruby関西に行ってRubyの勢いを感じている。 そんな時に、Javaの最近の動きを聞く機会があった。 Java6やSeasarの話を聞くと、JavaがC#やRailsの影響を受けているように聞こえた。 でも、話しているうちに、「やっぱりRubyよりもJavaが好きなんだ」と気づいた。 その理由は、「JUnitのようなテスト駆動ツールが揃っている」点に尽きる。 そこで「テスト駆動の観点から眺めたJavaの利点とプログラミング思想」について考察してみる。 【1】テストを意識するとメソッドの行数が自然に短くなる プログラミング初心者のプログラムを見ると、行数がやたらと長く、長いプログラムを書き上げた後からデバッグし始める。 だから、いつまで経っても動かない。 プログラミング中級者になると、行数は長いままだが、少しずつ書いてはプリント出力してデバッグで動作を確認し始める。 この
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Sun Microsystemsがソーシャルブックマークアプリケーションを開発、オープンソースで公開している。Slynkrと呼ばれるこのパッケージはソーシャルニュースおよびブックマーク、タグ付けといった機能を備えており、元々はSunの内部のプロジェクトだったものだ。現在、GlassFishプロジェクトの一部として公開されている。 SlunkrはJamey Wood氏が中心になって開発、SunのSDN Shareでカスタマイズされたものが使われているほか、slynkr.sunwarp.netでは一般に開放もされている。Diggやdel.icio.usに似たソーシャルブックマークシステムをJavaで実装したものだ。 対応データベースは当初O
Javaプログラミングにおいて、クラスの独立性を高め、再利用性の高さ、実装の入れ替えの容易さ、アスペクトの自動的な適用、ホットデプロイなどサーバデベロップメントに欠かせない機能を実現するための基盤技術のひとつにDI(Dependency Injection)がある。DIはインタフェースと実装の完全な分離を目指し、主にDIコンテナと呼ばれる専用の実行環境/フレームワークを通して実現される。 DIコンテナの実装はいくつかあるが、ここでは11日に最新版の2.4.0(2.4.1)がリリースされたSeasar 2.4(S2Container 2.4)を取り上げて紹介したい。Seasar 2.4はThe Seasar Foundationによって開発がおこなわれているプロダクトで、周辺プロダクトの充実や日本語ドキュメントの充実など、国内におけるエンタープライズ向けWebアプリケーションシステム開発用の
Ruby on Railsとともに標準配布されているHTTPサーバといえばWEBrick。WEBrickはRubyを使って開発された簡易HTTPサーバ。WEBrickを使うとApache HTTPサーバなどを別途用意しなくても簡単にWebアプリケーションを動作させ試験することができる。ただし、WEBrickは実行速度があまりはやくない。 ここではWEBrickのようなRuby on Rails向けのHTTPサーバとして「rails-asyncweb」を紹介したい。WEBrickよりも高速に動作するのが特徴のHTTPサーバで今後の展開が期待されるプロダクトだ。JRubyを採用しているあたりも技術的に興味深い。 rails-asyncwebはRuby on Rails向けの高速HTTPサーバ。TAKAI Naoto氏によって開発されているHTTPサーバで、Apache License Vers
Cumulate Drawは、新登場のドローイングサービス&ツールだ。 ブラウザだけで図を作ることができる。Microsoft Visioとかの作図ツールを、Ajax化したものだ。 それだけだと、すでにいくつもこの手のサービスは出ているのだけど、これまでの他の作図サービスと違うところは、オープンソースとしてソースが公開されているところ。Java製で、Warファイルでソースが配られている。 日本語が表示できるフォントが選べないからか、日本語を入れても表示されないところは残念。今後に期待したい。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれま
The NetBeans projectは10月31日(米国時間)、NetBeans IDE 5.5を公開した。NetBeans IDE 5.5はバージョン5.0をベースに、いくつかの機能を追加した最新版Java統合開発環境。5.5における注目点は次のとおり。Java SE 6やJava EE 5への対応が目をひく。 Java EE 5のサポート EJB 3.0のサポート Java Persistence APIのサポート Sun Java System Application Server PE 9のサポート Java SE 6/Java EE 5対応JAX-WS 2.0成果物作成機能 新しいSubversionサポートモジュールの追加 (5.5 Update Center) GUIビルダに対するアップデートモジュールの追加 (5.5 Update Center) 英語版OS非依存パッケ
【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Sun MicrosystemsはJavaのオープンソース化を2006年末までに開始し、2007年中にそのプロセスを完了する予定だ。同社のソフトウェア担当エグゼクティブバイスプレジデントであるRich Green氏が発表した。 2006年8月、Javaを開発したSun Microsystemsは、Javaプログラミング言語のコンポーネント群と関連ソフトウェアをオープンソース化する予定であると発表した。 米国時間10月20日、Green氏は同社が計画を予定通りに進めており、Javaプラットフォームのかなりの部分を2006年第4四半期にリリースする予定であると述べた。 「われわれはすでに『GlassFish』プロジェクトで『Java Ent
Java SE 6の公開が迫ってきた。この新しいバージョンで注目されている新機能のひとつにスクリプト言語のサポートがある。ここではこれに関連して、APIレベルでJavaからスクリプト言語をあつかうためのフレームワーク「Jakarta BSF」を紹介したい。Jakarta BSF(以降、BSF)を使うとJavaとスクリプト言語をシームレスに統合して使うことができるようになる。 BSF(Bean Scripting Framework)はJavaアプリケーションからスクリプト言語をあつかうためのフレームワーク。Javaからスクリプト言語を実行するだけではなく、スクリプト言語からJavaオブジェクトやメソッドにアクセスする機能を提供する。たとえば、Java以外の言語によってJSPを記述することができ、さらにそのJSPからJavaのクラスライブラリを使うといったことができるようになる。 もちろん、
KDDIは10月10日、来春以降に発表するau携帯電話に、Javaで作成されたアプリケーションの再生機能である「オープンアプリプレイヤー」を搭載すると発表した。 オープンアプリプレイヤーは、MIDP2.0に準拠したJavaアプリケーションの実行環境で、au端末のアプリケーションプラットフォームであるBREWのミドルウェアとして提供する。同社はオープンアプリプレイヤー向けのアプリケーション作成ガイドを、auホームページ内のEZfactoryにて公開した。 au端末はかつて、Javaの実行環境としてezplus/EZアプリ(java)というプラットフォームを端末に搭載していたが、Javaより高速でより自由度の高いQualcommの携帯電話向けプラットフォーム「BREW」を採用。2003年2月発売の「A5304T」から本格的に搭載して以降、徐々に対応機器を縮小し、現在のラインアップではJavaの
The PMD Projectは5日(米国時間)、PMDの最新版となるPMD 3.8を公開した。PMDはJavaソースコードアナライザ。Javaソースコードを精査し、不要なソースコード、実行されないソースコード、複雑すぎるコード、最適化可能コード、デュプリケートコードなどを発見し報告する。 PMDはThe BSD Licenseのもとで提供されているオープンソースソフトウェア。動作するにはJava 1.3かまたはそれ以降のバージョンが必要。 PMD 3.8における主な変更点は次のとおり。 新しいルールの追加 基本ルールセット: BrokenNullCheck 例外ルールセット: AvoidRethrowingException 最適化ルールセット: UnnecessaryWrapperObjectCreation 文字列ルールセット: UselessStringValueOf パフォーマン
皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトはJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ
AJAXは主にJavaScriptの機能を使って実現されている技術だ。AJAXは使うぶんにはうれしい技術だが、作る方は大変だ。このため最近ではAJAX用のJavaScriptライブラリを使ってAJAXを実現することが多い。The Yahoo! User Interface LibraryやDojoなどこうしたライブラリは数多く存在する。 これらAJAX JavaScriptライブラリをさらにJSPやJSFで隠蔽して、Javaデベロッパから簡単に扱えるようにしようというプロジェクトに「jMaki」がある。JavaScriptをつかってAJAXを実現したいものの、正直なところJavaScriptを使うのは嫌だというデベロッパには朗報だ。jMakiはまさにそれを実現するためのプロジェクトである。本稿ではこのjMakiの使い方を紹介する。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く