HSP、WideStudio、Ruby、Python、.NETのプログラミング情報 - プログラミング工房

Rubyで確実にキーボードからの入力を取得する

Kernelモジュールのgetsメソッドは、標準入力またはAGRVに指定されたファイルをつなげたデータから1行読み込む機能を持っており、レシーバ指定なしでお手軽に呼び出せるが、コマンドライン引数が指定されていたり標準入力がリダイレクトされていたりすると、データの取得元がキーボードから他のものに変更されてしまう。確実にキーボードからユーザの入力をするには、デフォルトの標準入力を表すSTDINのgetsメソッドを使う。


HSPモジュール関連機能解説2 - #module / #global 命令

「#module」と「#global」は必ず対で使わなければならない命令で、この2つの命令の間に任意のスクリプトを挿入したブロックをモジュールと呼ぶ。モジュール内にある変数およびラベルは、コンパイル時名前に「@(モジュール名)」もしくは「@_m(数値)」という文字列が付加される。「@_m(数値)」はモジュール名を省略したときに付加され、HSPによって他のモジュールと重複しない文字列が自動的に選ばれる。

つまりモジュール内にある変数/ラベルとモジュール外にある変数/ラベルは、スクリプト上では同じ名前であってもコンパイル時には別のものとして扱われる。

この機能を利用すると、「#deffunc」命令や「#defcfunc」命令を使ってサブルーチンを定義するときに、サブルーチンの内と外で変数やラベルの名前が重複していないかを気にする必要がなくなり、長いスクリプトを書くのがとても楽になる。


『コア JavaServer Faces 第2版』 - Core JavaServer Faces, Second Edition

 JavaServer Faces(JSF)は、Javaベースのサーバサイド・アプリケーションにおける迅速なユーザーインターフェイス開発のための抜きん出たソリューションとして急速に台頭してきている。No.1のJSFガイドである『コアJavaServer Faces』はこの第2版において全面的に改訂され、そのカバー範囲はJSFの最新機能はもちろん、Ajax開発における有用なテクニック、JSFの価値をより高めるオープンソース・ソフトウェアによる革新にまで至る。

 著者のDavid GearyとCay HorstmannはJSF 1.2における開発のあらゆる側面を探求し、頑強なアプリケーションの構築、ハードコーディングの最小化、および生産性の最大化のためのシステム化されたベストプラクティスを提示している。Javaプラットフォームに極めて精通した彼らはその知識をもとに、たとえあなたがJSFやJavaServer Pagesやサーブレットに不慣れであったとしても、JSF1.2で優れた製品のためのコードを書くことができるソリューション、ヒント、Tips、その他さまざまなHowToを披露する。

 第2版ではさらに、より大きくなったJava EE 5プラットフォームとの連携についてのJSF 1.2の改良点、JSF APIの機能強化、Shaleによるウェブフローの管理、フェースレットを使ったJSPとXHTMLマークアップの置き換え、などの内容も新たに追加された。またAjax開発においてJSFを活用し、リアルタイムの検証やダイレクト・ウェブ・リモーティングを行う方法や、JSFコンポーネントによるAjaxのラッピング、ポピュラーなAjax4jsfフレームワークの使用法なども紹介されている。


『Write Great Code, Volume 2』

 Write Great Codeシリーズの第2巻では、最近のコンピュータ・サイエンスを学ぶ大学生でもあまり教わらないにもかかわらず絶対に欠かすことができない重要な内容が語られている。それは効果的なコードを生成させるために、いかに丁寧に上級言語のステートメントを選ぶかだ。本書ではコンパイラがどのように上級言語のステートメントやデータ構造を機械語に変換しているかがとりあげられている。この知識を身につければ、ソフトウェア・エンジニアとして選択を迫られた際に、どうすればコンパイラにより質の良いコードを生成させる形で上級言語の機能を利用しつつ、生産性や移植性といった上級言語のメリットを最大限享受できるかについて迷うことはなくなるだろう。


『Linuxプログラミングの道具箱』 - The Linux Programmer's Toolbox

Linuxのツールをマスターして、生産性の高い、使えるプログラマーになろう。

『Linuxプログラミングの道具箱』はGNU/Linux向けオープンソース・ツールの膨大なコレクションを探索するための足がかりとなるでしょう。著者のジョン・ファスコは、ほとんどのディストリビューションに対応している選りすぐりのツールについて、必要に応じて簡単に修正可能な用例を示しながら系統的に解説しています。

本書はまず、オープンソース・プロジェクトのソフトウェアをダウンロードし、ビルドし、インストールする作業の基本を説明するところから始まり、次にオープンソース・ツールがどのように配布されているか、そして自分の需要に合わないソフトウェアのプロジェクトに時間を浪費せずに目的のものを見つけるにはどうすればよいかを解説しています。さらに自分のプロジェクトを構築する際の詳細についても触れます。著者はまたエディタの注目すべき機能を具体的に示し、読者が今まで気づかなかったエディタの使い方も明らかにします。

別の章では、Linuxカーネルが自身の機能を利用するソフトウェアに対してどのように動作するかを解説しており、読者はカーネルをより深く知ることができます。著者はカーネルの基本的な要素を概観しつつ、シンプルかつ示唆に富んだ例を用いてオペレーティングシステムが持つ原則を明らかにします。そしてそれらの知識を上級者向けツールに対して活用する方法も示します。sar、vmstat、valgrind、straceといったツールの出力を理解しアプリケーションに反映する方法、オリジナルのツールを作る際のAPI活用法、ツールをモニタするためのコードの書き方などを取り上げます。

加えて本書は、開発対象のソフトウェアのパフォーマンスを高めるためのツールについてもカバーしています。そこでは最近のマルチコアCPUに共通する原則やマルチコアCPUを載せたシステムで最高のパフォーマンスをひねり出す方法が語られます。そして最後に、どんな環境でもコードをデバッグするためのツールとテクニックについて述べます。


C# 3.0 クイックリファレンス - C# 3.0 in a Nutshell

 オライリーの定番シリーズの新刊『C# 3.0 クイックリファレンス』で、一足先にC# 3.0を体験しよう。Visual StudioのOrcusリリースに向けたC#言語の変更点を反映させるため全面的に書き直されたこの本は、新機能を動かしてみる際に手元に置いておくべきただ一つのリファレンスだ。

 これまでの版と同様、『C# 3.0 クイックリファレンス』は簡潔にして的を得た文章で、言語のシンタックスと用法そして.NETの基本的なクラスライブラリの要点についてカバーしており、これらをマスターすれば実用に耐えるアプリケーションの構築が可能になる。一方これまでの版と異なり、詳細な.NETクラスライブラリのリファレンスの代わりに、言語やCLRの機能を多く紹介するため、シナリオや用例によりページを割いている。

 またコレクション、I/Oとストリーム、スレッドなどを採り上げている多くの章が全面的に書き直され、ラムダ式、クエリ・コンプリヘンション、エクステンション・メソッド、オブジェクト・イニシャライザ、無名型、暗黙に型付けされたローカル変数、暗黙に型付けされた配列、エクスプレッション・ツリーなどのC# 3.0の新しいトピックも追加されている。

 もしあなたが、OrcusがリリースされてからC#の新機能を試すのが待ちきれないタイプのプログラマなら、生産性に与える影響を確かめるために一刻も早くこのタイトルを購入するべきだ。