タグ

ブックマーク / codezine.jp (117)

  • サロゲートペア入門:CodeZine

    はじめに Windows VistaのJIS2004対応により、WindowsのUnicode環境で使用できる日語漢字の数が増えました。従来、12238字(Windows XP)だったのが13145字(Windows Vista)になり、907字追加されることになりました。これによって、JIS第3水準、JIS第4水準の漢字がすべてサポートされることになったのです(Windows XPまでは一部サポート)。 またWindows XPでも、パッチさえ当てれば、Windows Vistaと同じように追加907字を加えた13145字の漢字が使用できるようになりました。 ところが、この追加された907字の中には「サロゲートペア」という特殊な文字が304字あり、これらは今までのUnicodeの文字とは扱いが少し違います。この点について解説していきたいと思います。 対象読者 Unicode

  • ASP.NET Futuresで次世代ASP.NETを体験しよう:CodeZine

    はじめに ASP.NET AJAXの登場によりASP.NETによるAJAX開発が容易になりました。現在ASP.NET開発チームはASP.NETを利用した開発を進める上で更に便利なコントロールを開発し、将来的にリリースしようとしています。これらのコントロールはASP.NET Futures CTPという名称で、実際に利用する事ができます。 稿では、ASP.NET Futuresで利用可能なXAMLコントロールや、Mediaコントロール、そしてHistoryコントロールの使い方について学習していきたいと思います。XAMLコントロール、MediaコントロールはSilverlightを簡単にWebページに組み込む機能を、Historyコントロールはブラウザの戻るボタンの挙動をサポートする機能を持っています。なお、稿ではASP.NET Futures CTPを利用します。対象読者ASP.NET

  • 10分でできる初めてのRubyプログラム:CodeZine

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • .NET Framework 2.0におけるXSLTの使い方を理解する:CodeZine

    XQuery言語はXML形式のSQLであり、XPath 2.0を単一のスカラー値だけでなく、値の集合も操作できるように拡張したものです。稿では、XQueryの特徴と、その制御構造の使い方について解説します。 最近のWeb開発は、次々と新しいテクノロジーやコンポーネントが登場し、ますます使い勝手がよく、見栄えのするWebページが作れるようになりました。Infragistics社のNetAdvantage for .NETも、.NET環境で動作する洗練されたUIを提供する上で便利なさまざまなコンポーネントを統合していますが、このたび「2008 Volume 1 日語版」にバージョンアップし、新しいコントロールが追加されています。今回は、その中からWebImageViewerとWebDialogWindowコントロールを使ったWebページを作成しました。

  • L2Lisp in Ruby:CodeZine

    はじめに P.Graham著『On Lisp』に示されているように、現代的なLispプログラミングでは静的スコープ(字句的スコープ)と末尾呼出し(末尾再帰を含む)の最適化のもとでのマクロが重要な意味をもちます。しかし、今まで処理系作成の初心者が内部に手を入れやすい手頃な大きさの実装が事実上ありませんでした。 ここでは、そういったモダンな特徴を備えた小さなLispインタープリタL2LispをRubyで作ってみます。L2Lisp(Little Lambda Lisp)は、Lispの理論的背景であるラムダ算法(lambda calculus)に対し、有力なLisp方言であるSchemeと同程度に忠実である一方、その他の点では広く普及しているEmacs Lispのサブセットとしたオリジナルの小型Lispです。 実行例としてtak関数を定義し、実行する様子を示します。Ruby以外に必要なのはL2Li

  • 最先端プラットフォーム「Silverlight」を使ってみよう:CodeZine

    はじめに リッチクライアント技術が数多く発表される中、その姿を現した「Silverlight」という新しいプラットフォームは、開発コード「WPF/E(Windows Presentation Foundation/Everywhere)」で呼ばれており、同様の新技術である「WPF(Windows Presentation Foundation)」のサブセットとして誕生しました。そのため、WPFと同様に「XAML(Extensible Application Markup Language):ザムル」というXMLベースのプレゼンテーション記述言語を使用する次世代のリッチクライアント言語と呼ばれています。 Silverlightはまだバージョン1.0がBeta版、1.1がAlpha版であるため、今後大きく変わっていくことが予想されますが、現時点でも十分な魅力を備えていますので、それらを少しでも

  • 帰ってきたHAVING句:CodeZine

    はじめに SQLのクラスを教えるとき、最大の課題の一つが、生徒たちがそれまでに手続き型言語から身に付けたことを、一度「頭から追い出す(unlearn)」ことだ。私がそのとき採る一つの方法は、処理を「レコード単位」ではなく、集合という観点から考えるよう強調することである。 ――――J.セルコ  SQLの考え方を習得するときに最大の障壁となるのが、私たちの多くが慣れ親しんだ手続き型言語の考え方(ソート、ループ、分岐、代入、等々)です。SQL質を理解するには、私たちの心に強固に貼り付いてしまった思考パターンを、一度ベリベリと引き剥がし、更地に戻してやる必要があります。それが、セルコが「unlearn」という言葉に込めたニュアンスです。セルコ自身、Fortranからプログラマとしてのキャリアを開始し、C、Algol、Pascalと手続き型言語を渡り歩いた後にSQLを身に付けた人物だけに、言葉に

  • http://codezine.jp/a/article/aid/1444.aspx

  • Java開発者のためのRubyガイド:CodeZine

    Builderパターンは、Template Methodパターンによく似ています。Template Methodパターンとの大きな違いは、その目的がオブジェクトを生成することであり、アルゴリズムを実行することではないという点です。Builderパターンは、役割分担を明確にするだけでなく、インターフェイスと実装の分離を実現する代表的な事例であり、パターンを使用しない場合に起こりうる重複をかなりの程度防ぐことができます。

  • CodeZine:C++ 開発者のためのRubyガイド(XML, 言語比較)

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • CodeZine:C++/CLIによるCライブラリの.NET化(C#, SQLite)

    はじめに 前回のアーティクル「SQLiteで組み込みDB体験(2007年版)」は、 SQLiteはお手軽軽量なDBとしてさまざまなアプリケーションに使えるものと思います。このお手軽さを享受できるのがC/C++だけではもったいない。C++/CLIで薄いラッパーを被せれば、C#やVB.NETから使えるようにできるはずですが、そのお話はまたいずれ。  ……という、なんとも思わせぶりな「まとめ」で締めくくってました、このまま放っておくわけにもいきませんよね。 そんなわけで続編、C++/CLIでSQLiteに薄いラッパーを被せ、C#から呼び出す試みです。基的にどんなC/C++コードでもC++/CLIでラッパーを被せることで.NET化できるはず。ネタに用いたSQLiteC++/CLIによるラッパーの1つのサンプルと考えてください。対象読者C/C++で書かれたコードをなんとかC#/VBでも使いたい方

  • RailsでWikiシステムを作成する:CodeZine

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • Application Blockと連携するProviderの実装と構成ツールへの登録:CodeZine

  • SQLで集合演算:CodeZine

    はじめに SQLが集合論に立脚する言語であるということは、この連載で一貫して強調してきたテーマの一つです。その特性のゆえに、SQLは「集合指向言語」と呼ばれていますし、実際、集合的な観点から見たときに初めて、その強力さが理解できると私は考えています。しかし現実には、SQLのこの側面は長らく無視されてきました。 その背景には、SQLにも責任の一端があります。というのも、SQLはちょっと前まで、高校で習う程度の基的な集合演算子すら持っていなかったからです。和(UNION)こそSQL-86からの古参ですが、交差(INTERSECT)と差(EXCEPT)が標準に入ったのはSQL-92ですし、除算(DIVIDE BY)が未だに標準化されていないことは、前にも述べました。だから、SQLが言語として不完全だという批判は、理由のないものではなかったのです。 しかし、現在では標準SQLに基的な集合演算子

  • 使ってみようASP.NET AJAX Control Toolkit(入力補助コントロール編):CodeZine

    はじめに ASP.NET AJAX V1.0がリリースされてから早くも3ヶ月が過ぎました。ASP.NET 2.0 AJAX ExtensionsやMicrosoft AJAX Libraryは利用され始めているようですが、ASP.NET AJAX Control Toolkit(以下、Control Toolkit)はどんな状況かよく分からないため利用できないという意見を聞くことがあります。稿ではASP.NET AJAX Control Toolkitの各コントロールの特徴を伝えつつ、コントロールの使い方について解説していきたいと思います。 ただし、各コントロールすべてのプロパティは網羅していないので、それぞれのコントロールについて詳しく知りたい方は公式ページを参照して学習してください。また、今回のサンプルプログラムは基礎の基礎といった用途の紹介ですので、さらに詳細な使い方を学習したい方

  • WCF(Windows Communication Foundation)チュートリアル 後編:CodeZine

    はじめに 『WCF(Windows Communication Foundation)チュートリアル 前編』では、WCFの概要について確認し、HTTPベースでの通信を行うサンプルを実装しました。後編となる今回は、通信方式の切替およびIISによるWCFサービスのホスティングについて扱います。対象読者 記事はC#でのプログラミングを行ったことがある方を対象としています。サンプルを動作させるための環境設定などは、『WPF(Windows Presentation Foundation)+XAML入門 前編』をご覧ください。通信方式の切り替え では、使用する通信方式をWebサービスBasic-ProfileからTCPに切り替えてみましょう。 完全にBasic-Profileの設定を消して最初からやり直しても良いのですが、ここではWCFの特徴である、複数の通信方式を混在してのサービス提供に挑戦しま

  • CodeZine:Rubyを使ってWebアプリケーションの脆弱性を早期に検出する(Web, テスト, Ruby)

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • SSE2による浮動小数演算の仕組みと検証:CodeZine

    x87 FPU x87 FPUは、x86アーキテクチャが標準で搭載する命令セットの一つです。st(0)~st(7)までの8つのレジスタ(80ビット)が利用可能ですが、これらはスタック構造になっており、各レジスタに自由にアクセスすることはできません。命令セットに即値モードがないため、単純に値を代入するだけでもメモリアクセスを要します。 しかしながら、x86 CPU同士であれば環境依存の問題が生じないという大きなメリットも持ち合わせます。一般的なx86用Cコンパイラなどは、デフォルトでFPU用のネイティブコードを生成するようになっていることが多いようです。MMX MMX Pentium以降のIntel CPUに組み込まれる拡張命令セットです。FPUレジスタの64ビット分を活用し、8ビット整数8組、16ビット整数4組、32ビット整数2組に対する演算を同時に行うことができます。 ちなみに、MMX命

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • AMD64の特徴と機械語コーディング:CodeZine

    はじめに 64ビットCPUが出始めて、数年が経ちます。現状では、ほとんどのデスクトップPCが64ビットCPUを搭載する形になり、ノートPCの64ビット化も時間の問題と思われます。今回は、64ビット技術がどのような特徴を持ち合わせているのか、ソフトウェア側のアプローチをどのように進めていったらよいのかという話題で進みます。そもそも、64ビットCPUって 実は、ひとことで64ビットCPUと言うと、2つの異なるCPUを意味してしまいます。AMD64/EM64-TIA-64  AMD64/EM64-T(以下、AMD64)とは、x86アーキテクチャのレジスタ幅を64ビットに拡張し、64ビット対応のネイティブコードを追加した規格になります。一般的に、パソコン市場で64ビットCPUと言うと、ほとんどがこちらのAMD64のことを意味しています。因みに、このアーキテクチャの設計を一番初めに行ったのはAMD

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。
  • プロセスデバッガを作ってみる(プロセスデバッガ, 作成, ネイティブコード)

    はじめに 「デバッガ」とはデバッグを支援するソフトウェアであり、実行中のプログラムの変数の内容を参照したり、トレース実行(ソースコードと照らし合わせながら1ステップずつ実行するモードのこと)を行うためのアプリケーションです。 前回まではEXEファイルやネイティブコードの構造について迫りましたが、それらの動作の流れを把握する上で、デバッグ技術は重要になってきます。 なお、ここで対象としているデバッガとは、実行中プロセスの動きを把握するためのプロセスデバッガです。インタプリタに搭載されるデバッガとは異なり、ネイティブコードのみのEXE、DLLなどをデバッグすることができます。使用するソフトウェア 今回は「Visual C++ 2005 Express Edition」(以下、VC++)を使用してプログラミングを行います。VC++は、マイクロソフトのサイトからダウンロードできます。デバッガの処理

    westlife
    westlife 2007/04/22
    Windows実行ファイルの内部構造について。