第4章標準パッケージ―JSON、ファイル、HTTP、HTMLを扱う Jxck 2015-04-23
第4章標準パッケージ―JSON、ファイル、HTTP、HTMLを扱う Jxck 2015-04-23
UNIXの基本的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 本稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。本稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要
Active Directory10周年に寄せて Windows 2000によりActive Directoryが公開されてから、今年で10年目ということだそうです。 Active DirectoryがWindowsドメインを管理運用するためのソリューションであることは、みなさんすでにご存じでしょうが、その機能や使い方、トラブルの対応方法について、みなさんは自信を持って社内の同僚やお客様に説明できるでしょうか? 今回は、総復習の意味も兼ねて、Active Directoryの技術的なトピックやトラブルシュートの方法、について、いくつかお話ししたいと思います。 過去のWindowsの問題点 Active Directoryが最初に実装されたWindows 2000の開発時の名称は「Windows NT5」といい、Windows NT4.0の後継にあたります。 Windows NT4.0のドメ
日本時間で2月10日午前3時。Googleがプレス向けのイベントを開催し、新たなプロダクト「Google Buzz」を発表しました。 事前の噂では、「TwitterやFacebookに対抗することを目的とした、Gmailに追加される新たなソーシャル機能」と言われていましたが、Google Buzzは、Gmailが持つコンタクトリストをベースにし、Twitterを含めた各種ウェブサービスのフィードをアグリゲートするFriendFeedやCliqsetに近い、見た目としてはミニブログのようなサービスです。 図1 Google Buzz ウェブ上では既に「流行る・流行らない」「Twitterに置き換わる・置き換わらない」といった評価が行われていますが、ソーシャルウェブのテクノロジーを追いかけてきた筆者には、サービスそのものを見ただけでは語り尽くせない、想像以上のコンセプトを持った意義深いもの
2010年のJavaScriptと題しまして、JavaScript周辺の「これまで」と「これから」についてまとめてみたいと思います。 2009年までのJavaScript JavaScriptは各ブラウザベンダなどが個別に実装するという特殊性から、ブラウザ(実装)ごとの非互換性の問題に悩まされ続けてきた言語です。まず、そのJavaScriptの歴史を簡単に振り返ってみます。 ECMA-262 3rd editionとスピードコンテスト JavaScriptはNetscape社によってLiveScriptという名前で誕生し、その後ECMAScriptとして標準化が進みました。1999年12月にECMA-262 3rd editionが策定されてから、Internet ExplorerのJScript、MozillaのSpiderMonkey(TraceMonkey)、SafariのJav
さて今回は、早速Progressionを使用して、実際に動くサンプルを作成しながら、Progressionが持っている特徴的な機能を説明してきます。 なお、今回の説明するサンプルを以下に用意しました。 第2回のサンプルコード Progressionを構成する3つの機能 サンプルを作成する前に、Progressionは大きく3つの機能により成り立っているという点をお話しします。 その3つの機能とは、以下のものです。 シーン コマンド キャスト この3つの機能を理解することが、Progressionを理解する上で非常に重要になってきます。 シーン Progressionのシーンとは、1つの場面を表現する機能です。 複数のHTMLファイルで構成される一般的なWebサイトのように、複数のシーンの階層構造でWebサイトを構築できるようになります。 Progressionには、シーン間のシームレスな移
Flash Player 10のプレリリースが発表され、ますますActionScript3界隈が盛り上がる今日この頃、皆様いかがお過ごしでしょうか? この連載では、Box2Dという物理エンジンを使ったActionScript3プログラミングについて解説します。物理エンジンといっても、難解な数学や物理法則を理解する必要はありません。そういった処理はBox2Dが包み隠してくれます。Flashのデモを見ながら、少しずつBox2Dの使い方を理解していきましょう。 第1回ではまったくプログラムは書かず、Box2Dに付属しているサンプルをコンパイルして実行します。まずは動くものに触ることで、物理エンジンって楽しそうだなと思っていただければ幸いです。 なお、筆者の開発環境がWindowsなので、諸々の説明がWindows前提となってしまいますが、Mac OS Xなどでも開発することはできます。その際は、
はじめに 前回までで、C#3.0の主な新機能については、一通りご説明してきました。 今回は、C#3.0の新機能を使って記述したサンプルコードをC#2.0でもご紹介してみます。 これによって、C#3.0の生産力を実際にご確認ください。 コード比較で理解するC#3.0の生産力 最初に、タイトルを除いてまったく同じ動作をしていることを示す、以下の二つの画面イメージを確認してみてください。 Form3、Form2という二つのフォームのそれぞれにlistBoxというリストボックスが配置されています。 C#3.0のコードで作成した結果の画面 C#2.0のコードで作成した結果の画面 どちらもリストボックスのアイテムをクリックすることで、その名前の番号をメッセージボックスに表示します。 行っていることは、次の通りです。 番号・名前・年齢プロパティを持つオブジェクトの作成 各オブジェクトをアイテムとしたコレ
最終回となる今回は、Flex3 SDKを利用して、AIRアプリケーションを作成します。AIR(Adobe Integrated Runtime)とは、ActionScript3.0やFlexを利用してデスクトップアプリケーションを作るための仕組みです。OSの違いを意識することなくデスクトップアプリケーションが作成できるのは大変魅力的です。現在、WindowsとMac OSがサポートされていますが、Linux版のランタイムもリリース予定となっています。 コマンドラインツールでAIRを作ろう AIRでは既存のFlashをAIRアプリケーションとして利用することができます。そこで、第2回で作成したDrawTest1.swfを利用してみます。 AIRとして実行するには、アプリケーション記述ファイルと呼ばれるファイルを作成します。 <?xml version="1.0" encoding="UTF-
はじめに 前回はC#でのSilverlight 2の開発をご紹介しました。今回は.NET上で動的言語を実行するDynamic Language Runtime(DLR)をSilverlightで動かすためのDynamic Silverlightについてご紹介します。さらに今回はMacでの開発を試みます。 Dynamic Silverlightとは 最初に少し書きましたが、Dynamic Silverlight(DSL)とはDLRをSilverlightと統合し動作させるための技術です。DLRとは動的言語を処理するためのランタイムライブラリで、CLR上で動作します。DSLを使用することで様々な動的言語によってSilverlightのプログラミングを行うことが可能になります。 DSLでは現在、以下の3種類の言語が標準で提供されています。 IronPython IronRuby Managed
前回まではActionScript 3.0を利用したプログラミングを解説してきました。ActionScript 3.0はグラフィカルな表示には強いのですが、機能的なWebアプリケーションを作るのにはあまり向いていません。 Flashでアプリケーションを作る場合は、Flexというフレームワークが便利です。Flexと聞くとお金が必要なイメージがあるかもしれませんが、FlexはFlex 3 SDKに付属する無料のフレームワークです。 Flexフレームワークには便利なコンポーネントが用意されています。また、MXMLと呼ばれるXMLにもとづいたフォーマットでアプリケーションの見た目を記述することができます。今回は、Flexフレームワークの使い方を簡単にご紹介していきます。 MXMLでコンポーネントを配置 早速サンプルを見てみましょう。MXMLでアプリケーションの見た目を記述してみます。 <?xml
さて、今回はいままでの集大成として、少し凝った Flash を作成します。いきなりですが、完成品をご覧いただきましょう。Web 2.0風ロゴジェネレータです。 テキスト欄の文字を編集してみてください。リアルタイムにロゴが更新されます。 ジェネレータといえば、ボタンを押して少し待ってから結果が表示されるものがほとんどですが、Flashの表現力を持ってすれば、リアルタイムに反映されるものが作れるのです。 コンパイルしよう 今回のソースコードは全体で200行近くあります。2つのファイルを同じフォルダにダウンロードしてください。 LogoGenerator.as Web2Badge.as mxmlcを実行してコンパイルします。 mxmlc -default-background-color=0xffffff LogoGenerator.as コンパイルオプションに-default-backgrou
前編は動きのあるFlashを最初から作りましたが、後編ではライブラリを使って簡単に作る方法を紹介します。 ActionScript 3.0にはアニメーション用のライブラリがいくつも公開されています。その中でも有名なのがMITライセンスで公開されてるtweenerです。 tweenerを使ったサンプル それでは、tweenerを使ったサンプルを見ていただきましょう。前回からの変更点を太字にしています。 package{ import flash.display.Sprite; import flash.events.MouseEvent; import caurina.transitions.Tweener; public class Anime2 extends Sprite{ public function Anime2():void{ // クリックイベントを監視する stage.ad
今回からは2回に渡って、アニメーションするFlashを作っていきます。今回は、自力でアニメーション処理を書く方法を紹介します。 Timerクラスでアニメーション Flashにはアニメーションに便利なTimerクラスが用意されています。Timerクラスを利用すると、一定時間ごとに特定の処理を行うことができるようになります。 前回のサンプルをベースに、円がじわじわとフェードアウトするものを作ってみました。前回からの変更点を太字にしています。 package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.Event; import flash.utils.Timer; public class Anime1 extends Sprite { public function An
前回までは画面に描画する方法をご紹介しました。単に表示するだけではつまらないので、今回はマウスに反応するFlashを作りながら、Flashのイベント処理を理解していきましょう。 Flashでイベントを扱う方法は、HTMLのDOMイベントとほとんど同じです。DOMイベントをご存知の方にとっては理解しやすい内容かもしれません。 クリックイベントを拾う さっそくシンプルな例から進めていきましょう。クリックした場所にランダムな色で円を表示するFlashです。 package { import flash.display.Sprite; import flash.events.MouseEvent; public class ClickTest extends Sprite { public function ClickTest():void { // クリックイベントを監視する stage.add
前編では基本的な図形描画の方法を習得しました。後編では応用例としてWeb 2.0風バッジを描画します。 超クールなWeb 2.0風バッジを描く 次のようなバッジをActionScript 3.0のソースコードだけで描画します。 ちょっと長いですが、ソースコードはこうなります。 package { import flash.display.Sprite; ┐ import flash.geom.Matrix; │ import flash.geom.Point; │(1) import flash.filters.DropShadowFilter; │ import flash.text.TextField; ┘ public class Web2Badge extends Sprite { // インスタンス変数を宣言 private const LINE_COLOR:uint = 0xf
今回からは、実践的なFlash作りを始めていきます。ActionScriptで簡単な図形描画をしながらActionScript 3.0の感覚をつかんでいきましょう。 最初は地味なサンプルと退屈な文法の解説が続きますが、後編では次のようなWeb 2.0 風バッジをActionScriptだけで描画します。がんばってついてきてください。 サンプルコードをコンパイルしよう 円や四角を描画するだけの簡単なサンプルを用意しました。味気ないサンプルですが、ActionScript 3.0の基本がたっぷり詰まっています。 package{ ------(1) import flash.display.Sprite; ------(2) public class DrawTest1 extends Sprite { ------(3) public function DrawTest1() { -----
Flashを作るには何万円もする専用ソフトが必要…、デザイナーが使うものだから敷居が高い…。そう考えてる方も多いのではないでしょうか。実はそんなことはありません。 Adobe社が無料で提供している開発環境「Flex 3 SDK」を利用すれば、ActionScript 3.0というプログラミング言語でFlashを作成できます。ActionScript 3.0はECMAScriptに準拠しているため、プログラマの方にとってもなじみやすい言語といえます。 この連載ではプログラマの方に向けて、サンプルを交えながら、ActionScriptでFlashを作る手法を解説していきます。 ActionScript 3.0でHello World! いきなりですが、ActionScript 3.0のサンプルコードを見てみましょう。定番のHello World!です。 package{ import flas
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く