タグ

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

  • AndroidアプリとApp Engineアプリの連携

    前回はDatastoreのCRUD処理を学びました。AndroidとApp Engine共に「カレー店データベース」を題材に説明してきました。せっかくなので、最近はやりの「スマートフォン+クラウド」の構成も試してみましょう。ここでは、 ・店情報(SHOP)は固定 ・店ごとのメモ(MEMO)をサーバー側と同期する の2点を実装条件とします。必要な機能は、(1)Androidからメモ情報をURL「/memo」にPOSTリクエストする、(2)Androidアプリからメモ情報をURL「/memo」にGETリクエストする、の2点です。 メモのPOSTを処理する(App Engine側) まずは、App Engine側にPOSTリクエストを受け取るMemoServletクラスを新規作成して、前回のリスト2と同様にHttpServletクラスのdoPostメソッドをオーバーライドします。そして、メソッド

    AndroidアプリとApp Engineアプリの連携
  • GoogleのDatastoreでキーバリュー型DBを体験

    これからは、Google App Engine(以下、App Engine)の環境でデータベースを操作してみましょう。App Engineで使用できるデータベース管理システムは「Datastore(データストア)」と呼ばれます。リレーショナルデータベース管理システム(RDBMS、Relational Database Management System)とは違う、キーバリュー型(Key Value Store、KVS)」のデータベース管理システムです。 Datastoreは、これまで一般的だったRDBMSとは異なる設計思想を持っています。RDBMSのような複雑なフィルタで条件を指定できませんし、トランザクション処理も限定した範囲でしか使用できません。さらにRDBMSでは、一つのレコードに複数のフィールドがありましたが、Datastoreでは基的に一つのレコードに「Key(キー)」と「Va

    GoogleのDatastoreでキーバリュー型DBを体験
  • 1行もコードを書かずにAndroidアプリを開発できる

    Android搭載のスマートフォンでは、多種多様なアプリケーションをAndroid Marketから手軽にダウンロードして利用できます。様々なアプリケーションを利用しているうちに、「自分でも作ってみたい!」と考える人は多いでしょう。 ただし、いざ作ろうとすると結構大変です。Androidアプリを開発するためには、Javaプログラミングや統合開発環境Eclipseの知識が必要です。覚えることが膨大なので、なかなか開発が進まず、途中であきらめてしまった人もいるのではないでしょうか。 こうしたAndroidアプリの開発に不慣れな人にお勧めの開発ツールがあります。それが、「App Inventor for Android(以下、App Inventor)」です。 App Inventorは、米Googleが無償で提供する開発ツールです。2010年7月から登録者向けにリリースしていましたが、2010

    1行もコードを書かずにAndroidアプリを開発できる
  • 実用期を迎えたRailsの新版を導入する

    Ruby on Rails(以下、Rails)は、Ruby言語で利用できるMVCモデルに基づいたWebアプリケーションフレームワーク(以降、フレームワーク)です。MVC(Model-View-Controller)とは、アプリケーションをその役割ごとにModel(ビジネスロジック)、View(レイアウト)、Controller(ビジネスロジックの呼び出しと、その結果のViewへの引き渡し)とに、明確に分離しようという設計スタイルのことです(図1)。このスタイル自体はRails登場以前からありましたが、Railsではそれに加えて、 DRY(Don’t Repeat Yourself) 同じ記述を繰り返さない CoC(Convention over Configuration) 設定よりも規約 という思想に基づいて、よりシンプルな開発の手法を提唱したことから、多くの人の支持を集めました。後には

    実用期を迎えたRailsの新版を導入する
  • Adobe AIR[3]結果を表示するリスト画面を作成

    前回はホーム画面のレイアウトを作成した。今回はアイテムの検索結果を表示するリスト画面を作成していく。いよいよ価格.com Webサービスとも連携させるので、価格.comのAPIアクセスキーを取得していない場合は、利用申込を済ませて取得完了しておいてほしい。 価格.com Webサービスの設定 まず、リスト画面を作成する前に、Webサービスの設定をしておく。Flash Builderには、Ver 4.0から「データとサービス」という新しいパネルが追加されている。デフォルトでは、Flash Builderのエディット領域の下に配置されている。

    Adobe AIR[3]結果を表示するリスト画面を作成
  • HTML5はJavaScriptプログラムをスマートにする

    現在、W3C(World Wide Web Consortium)では、HTML5標準仕様の策定作業が進んでいます。Firefox、Google Chrome、Safari、Operaといった各Webブラウザはアップデートを活発化し、HTML5の仕様を取り込んだ新機能の実装を進めています。シェアの高いInternet Explorer(IE)は、現バージョン(IE8)ではHTML5対応の遅れが目立ちますが、次期版のIE9ではWeb標準に準拠したHTML5対応が強化されます。 HTML4の仕様が1997年に公開されて以来、Webアプリケーションは、Ajaxによるリッチなコンテンツの実現、jQueryなどのJavaScriptライブラリによる開発生産性と互換性の向上、といった過程を経て進化してきました(表1)。そして、IE9がリリースされるであろう2011年には、ついにHTML5時代が幕を開け

    HTML5はJavaScriptプログラムをスマートにする
  • RubyでExcelを操作する

    Java以外の例として、RubyによるExcelファイルの操作を見てみましょう。POIでのExcelファイルの操作は、Excel体をインストールしていないパソコンでも可能でした。しかし、Rubyの場合は、Excelが必要になります。これは操作の方式が異なることが原因です。Rubyは、OLE(Object Linking and Embedding、オーレと読みます)というWindowsAPIにアクセスする方式を採用しているため、そのAPIを通じて呼び出されるExcelが必要になるのです(図A)。 まずは実際に、リスト1と同じ処理を実装してみます(リストA)。ちなみに、Javaと同様に例外処理を省いています。まず1行目で文字コードを指定しています。ここではシフトJISを指定しています。以降のプログラムはシフトJISでRubyを動かします、という宣言になります。 (1)で、OLEにアクセス

    RubyでExcelを操作する
  • JavaとApache POIを使ってExcelでうさぎ観察日記を作ろう

    今回は、ExcelファイルをJavaから操作する方法を見ていきましょう。「Apache POI(ポイと読みます)」というJavaライブラリを使って、最新版のExcel 2010のファイルを作成・操作する方法を学びます。後半では、テキストファイルと画像ファイルから絵日記となるExcelファイルを作成するアプリケーションを作ります。 Part3では、JavaとApache POI(以下、POI)を使ったプログラミングを見ていきます。POIは、オープンソース・コミュニティのApacheソフトウエア財団が支援するプロジェクトで開発されています。POIを利用すれば、Excelのファイル以外にもWordのファイルなども操作できます。さらに、POIはオープンソースで開発されているので、だれでも自由に無償利用できます。 稿では、前半でPOIの概要と基的な使い方を説明します。後半ではPOIを使ったアプリ

    JavaとApache POIを使ってExcelでうさぎ観察日記を作ろう
  • ライブラリとWeb APIを使いこなして一人前

    JavaScriptは1995年に誕生しました。JavaScriptの実行環境がWebブラウザであったこともあり、JavaScript歴史はWebブラウザの歴史そのものでした。Webブラウザ間の互換性やセキュリティの問題などで“不遇”の時代はあったものの、2010年現在、JavaScriptはWebサイト開発になくてはならない存在となっています。 JavaScriptを取り巻く環境は、15年の間にすっかり様変わりしました。Webサイト開発者であるプログラマが書き上げるJavaScriptプログラムが単体では完結しなくなっているのです。単体で使えないとはどういうことでしょうか? 現在のJavaScriptプログラミングには、大きく二つのトレンドがあります。一つは、外部のJavaScriptライブラリを取り込んで利用すること、そしてもう一つは、大手Webサイトなどが公開しているWeb API

    ライブラリとWeb APIを使いこなして一人前
  • VBAアプリとVisual Basicアプリを連携させよう

    今回は、VBAで開発したアプリケーション(VBAアプリ)を、Visual Basicアプリケーション(VBアプリ)に移行する方法について学びます。おそらく業務でも必要に迫られることがあり得るでしょう。 意外に簡単!VBAアプリをVBアプリに変更 VBAアプリは、ユーザー主導で開発されるケースが多いことから、後から変更するとなると、かなり手の付けにくいものが多いのではないでしょうか。こうしたVBAアプリを最新のVisual Studioを使ったものに移行できたら便利だと思いませんか。実は、既存のVBAアプリをC#のアプリケーションに置き換えるのは大変ですが、Visual Basicのアプリケーションになら比較的簡単に移行できるのです。 Visual Studioにおける開発では、プライマリ相互運用機能アセンブリ(PIA)*5を利用して、.NETコンポーネントからOfficeのオブジェクトモデ

    VBAアプリとVisual Basicアプリを連携させよう
  • Yet Another Swing - SwingX 第4回 コンポーネントに追加する機能

    SwingXプロジェクトの解説も、今月が最終回です。今月はコンポーネントを使いやすくするための機能を紹介します。 SwingXプロジェクトの第1回で紹介しましたが、SwingXプロジェクトのコンポーネントはコンポジッションを使用して機能を追加することができます。例として、第1回ではコンポーネントの修飾を行うPainterインタフェースを紹介しました。 同じようにコンポジッションで追加できる機能はまだあります。そこで、今月はコンボボックスやテーブルなどで使用できる、オートコンプリート、ハイライト、検索の3種類の機能について紹介していきます。 オートコンプリート テキストフィールドなどで文字入力しているとき、入力した文字に応じて候補が表示されることがあります。これをオートコンプリート、もしくは自動補完と呼ばれることは読者の皆さんはご承知でしょう。入力しようとしている文字列があやふやでも、候補か

    Yet Another Swing - SwingX 第4回 コンポーネントに追加する機能
  • 第5回 受注データの集計バッチを書いてみよう

    第5回では、AsakusaのDSLで記述したサンプルプログラムを紹介する。プログラムの内容は、受注データを商品マスターを使ってチェックし、問題がなければ注文ごとに集計するというシンプルなものだ。 このサンプルプログラムは、オープンソースソフトウエア(OSS)の一部として配布している。OSSの配布を昨日開始したので、実物を試しながら読んでもらえれば理解が深まるだろう(URLはこちら)。 Asakusaには3種類のDSLがある。3層からなるマルチティアのDSLで、三つを総称してAsakusa DSLと呼ぶ。まず、それらをおさらいしよう。 (1)Batch DSL Batch DSLは、業務部門のユーザーから見たときの、いわゆる「バッチ」という単位を構成する最上位のDSLである。下位のFlow DSLで作成するジョブフローをつなぎ合わせて、一連のバッチ処理にすることが目的である。 バッチは、ユー

    第5回 受注データの集計バッチを書いてみよう
  • [4]IP電話アプリとサーバーを連携

    今回は、4タイプの代表的なFMCの実現手段のうち、「モバイルVoIP型FMC」について詳しく見ていく。 モバイルVoIP型FMCでは、続々と登場するスマートフォン向けのSIPに準拠したIP電話アプリケーションを使う。SIPは、IPネットワーク上で電話の発信や着信を制御する仕様を指す。このアプリを搭載したスマートフォンをIP内線電話機として、企業の拠点に置いたSIPサーバーに収容する。つまりモバイルVoIP型FMCは、サービスとして通信事業者が提供するものではなく、ユーザーやインテグレータが自ら組み合わせ構築するソリューションである。 スマートフォンにアプリケーションをインストールして利用する点は、前回紹介した「アイデア型FMC」と同じ。ただし、アイデア型FMCでは携帯電話事業者が提供する電話回線を使うのに対し、モバイルVoIP型FMCでは、無線LANや第3世代携帯電話(3G)のパケット通信

    [4]IP電話アプリとサーバーを連携
  • JavaエンジニアがiPhoneアプリに挑戦

    私(著者)の務める会社でも「ゴルフるず*1」というゴルファー支援アプリケーションを開発し、iPhone版とAndroid版の販売を開始しました(図1)。このアプリは当初、米Googleの開催する「Android Developer Challenge」というコンテストに向けて開発したものでしたが、その後iPhoneに移植し、まずはiPhone版からリリースしました(表1)。レポートでは、このゴルフるずの開発体験に基づき、iPhoneアプリAndroidアプリそれぞれの開発環境や提供形態について比べてみたいと思います。 “持っていたから”iPhoneアプリ開発に挑戦! 私はこれまで、Javaを用いたBtoB(企業間取引)システムを開発してきました。それが2009年10月、たまたまiPhoneを所有しているという理由で、「iPhoneアプリを開発してみない?」と会社から提案されました。iP

    JavaエンジニアがiPhoneアプリに挑戦
  • 「ビデオ・音声」と「JavaScript」を使う

    ここまででThe Shodo(画面1、注1)に関する主要機能や装飾に関して触れてきましたが、情緒的な演出や機能をサポートする技術も実装されています。今回はそのうちvideo(ビデオ)とaudio(音声)というメディア系の要素と、JavaScriptの利用について紹介します。 video/audio:動画/音声を再生する メディア系のうち、videoはコンテンツと演出の両方に使用しています。videoはHTML5の目玉の一つです。video要素のタグを記述することで、動画を再生できます。ただし、現時点ではブラウザごとに再生できるメディア形式が異なることに注意が必要です。The ShodoはIE9に最適化して開発しているので、同ブラウザがサポートするH.264というコーデックを使っています。また、他のブラウザでも見られるよう、Theoraというコーデックを使用したファイルも置いています。 Th

    「ビデオ・音声」と「JavaScript」を使う
  • ARアプリケーションを作成する(2)

    Androidの会 金沢支部 出村成和 Android NDK セットアップ 今回は、Android NDKのバージョン「r4b」で解説します。Android NDKを利用したアプリケーションのEclipseプロジェクトの位置や開発手順が、Android NDK r4から変わりました。まずAndroid NDK r4bをダウンロードします(写真1)。 ここではLinux版を使用します。ダウンロードしたファイルを展開する必要があるので、ホームディレクトリの直下に展開します。展開先は任意です。 次に、Android NDKを展開した「android-ndk-r4b」ディレクトリ内にある「ndk-build」コマンド、「ndk-gdb」コマンドが使用できるようにパスを通します。「ndk-build」コマンドはNDKを利用したライブラリをビルドするのに、「ndk-gdb」はGNU debuge

    ARアプリケーションを作成する(2)
  • Googleの巨大分散データストアBigtableとDatastoreを理解する

    今回は、米Googleのクラウド環境に存在するデータベースBigtableとDatastoreサービスを紹介します。「巨大分散」という新たなデータベースの地平を切り開くためにどのような工夫をしているか、じっくり見ていきましょう。 「Bigtable」は、Googleの主要なサービスを支える独自の巨大分散データストアです*1。Bigtableは、2005年4月から格的な運用(プロダクション利用)が開始されたもので、Googleの検索サービスをはじめ、Gmail、YouTube、Google Maps、Google日本語入力、そしてApp Engineなど、70以上のプロジェクトで利用されています。その規模は、数P(ペタ)バイト~数十Pバイトに達しているでしょう。 Bigtableは、Google検索サービスにおける膨大なコンテンツやインデックスを保持し、高速に検索するための専用データストア

    Googleの巨大分散データストアBigtableとDatastoreを理解する
  • 第4回 Catalyst(前編)---Perl向けWebアプリ・フレームワーク

    この記事は,日経ソフトウエア2006年9月号,連載「簡単実装で学ぶWeb技術2006」の第3回「Catalyst――Perl向けWebアプリ・フレームワーク」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。今回はPerlのWebアプリケーション・フレームワーク「Catalyst」を解説し,簡単なメモ帳プログラムを作ります。 Catalyst(カタリスト)は,Perlで作られたWebアプリケーション・フレームワークです。Catalystを使うと,Webアプリを簡単に作成・テスト・配布することができます。catalystという単語のそもそもの意味は,「触媒」あるいは「促進させるもの」です。Perlのモジュール同士を触媒のようにうまく結びつけて,Webアプリ作成を促進させるという意味の名前なのでしょう。 Catalystのオフィシャルページは

    第4回 Catalyst(前編)---Perl向けWebアプリ・フレームワーク
  • Android端末の実機を使ってプログラミングに挑戦

    2009年7月、日でもAndroidを搭載した携帯電話(NTTドコモの「HT-03A」)が発売されました。もうだいぶ前のように感じられるかもしれませんが、今からたった1年2カ月ほど前のことです。2010年4月の「Xperia」の発売以降、Andoroidを搭載した端末の発売が相次ぎ、Androidに対する関心は一層高まっています。特集では、Androidプログラミングの基を紹介します。日でのAndroid端末発売当時の記事なので古い個所もありますが、Androidアプリ開発の概要を理解するのに役立ちます。 今回は、Androidアプリケーションの基要素として重要なActivityについて説明します。 前回は、開発用PCと実機(Android端末)をつないでアプリケーション開発に取り組む準備までを説明しました。今回はいよいよ簡単なアプリケーションを作成して実機で動かしてみましょう。

    Android端末の実機を使ってプログラミングに挑戦
  • 開発用PCとAndroid端末の実機をつないでアプリ開発を準備する

    2009年7月、日でもAndroidを搭載した携帯電話(NTTドコモの「HT-03A」)が発売されました。もうだいぶ前のように感じられるかもしれませんが、今からたった1年2カ月ほど前のことです。2010年4月の「Xperia」の発売以降、Andoroidを搭載した端末の発売が相次ぎ、Androidに対する関心は一層高まっています。特集では、Androidプログラミングの基を紹介します。日でのAndroid端末発売当時の記事なので古い個所もありますが、Androidアプリ開発の概要を理解するのに役立ちます。 今回は開発用PCと実機(Android端末)の接続について説明します。 (記事は原則として執筆時の情報に基づいており,現在では異なる場合があります) この連載では,Androidの基知識とその上で動くアプリケーションのプログラミングについて説明します。前回は開発環境となるEcl

    開発用PCとAndroid端末の実機をつないでアプリ開発を準備する