技術文書一覧

  • spacer 製品、トピックスやコンテンツ・タイプでフィルターをかける

    (0 製品)

    (81 トピック)

    (4 インダストリー)

    (4 種類)

1 - 1054 件のうちの 100 件 | 次へ 概要の表示 | 概要の非表示 検索結果に登録(RSS)

結果の表示
タイトル none 種類 none 日付 down
Software Defined Networking を使用して IaaS を最適化する
この記事では IaaS (Infrastructure as a Service) を、相互運用性、ユーザーとプロバイダーの期待値マネジメント、開発者と管理者の要件、効果的なリスク軽減といった点で強化および最適化する手法としての SDN (Software Defined Networking) ソフトウェア抽象化層を介したネットワーク管理手法 について探ります。
記事 2014/9/18
PowerVC の OpenStack REST API を探る
IBM Power Virtualization Center Express Edition (PowerVC) は、Power Systems の SDE (Software Defined Environment: ソフトウェアで定義された環境) やクラウド・インフラストラクチャーで容易に仮想リソースを作成して管理できるように設計された、IaaS クラウド・ソリューションです。主に OpenStack をベースとする PowerVC には、OpenStack の業界標準アプリケーション・プログラミング・インターフェースが組み込まれています。OpenStack の各コンポーネントの API と、管理作業に役立つタスクについて学んでください。
記事 2014/9/04
Node.js および MongoDB を使用して単純な通知サービスを作成する
開発グループ間で異種のツールを数多く使用する必要があるならば、イベントの作成、イベントに対するシグナリング、イベントへの登録をするための通知サービスを試しに使ってみてください。このサービスについては、この記事で順を追って説明します。
記事 2014/8/21
Node.js、Express、AngularJS、および MongoDB を使用してリアルタイム・アンケート・アプリケーションを作成する
アンケートの回答が送られてくるとリアルタイムで結果が更新されるアンケート・アプリケーションを作成してください。私が作成したアプリは、すべてに JavaScript を使用した単純なアーキテクチャーをしています。バックエンドには Node.js と Express が使用され、アプリのデータは MongoDB に格納されます。フロントエンドのユーザー・インターフェースには AngularJS と Bootstrap が使用され、アンケートに回答するとリアルタイムでクライアントが更新されるように WebSocket も使用されています。
記事 2014/7/24
MapReduce バージョン 1 から YARN への単一ノード・クラスターのアジャイルなマイグレーション
YARN は、Hadoop クラスターの処理プラットフォームのアーキテクチャーを完全に作成し直したものであり、Hadoop の最初のバージョンに用意された従来の MapReduce エンジンに比べ、コンピューテーションを遥かにスケーラブルで、効率的かつ、柔軟に行えるようにしています。2013年 10月以降、YARN は実用に耐えるものと見なされており、現在は、Yahoo!、Spotify、eBay、Xing、Allegro をはじめとする多くの企業が本番環境で使用しています。この記事では、Hadoop クラスターを MapReduce Version 1 (MRv1) から YARN にアジャイルな手段でマイグレーションする方法を説明します。
記事 2014/7/17
Python、SciKit、およびテキスト分類を利用して行動プロファイルを作成する
顧客がこれまで購入した商品に関する説明のテキスト属性に基づいて、顧客の行動プロファイル・モデルを作成する方法を学んでください。SciKit は、モデルの作成と評価をするための強力な Python ベースの機械学習パッケージです。この SciKit を利用して、モデルを作成し、シミュレートした顧客の商品購入履歴にそのモデルを適用する方法を学んでください。この記事のサンプル・シナリオでは、各顧客が購入する特定の商品とそれに対応するテキストの商品説明を基に、個々の顧客に音楽リスナーのプロファイルを割り当てるモデルを作成します。
記事 2014/7/17
SQL インジェクション攻撃に対抗する
セキュリティー上の弱点を突いた攻撃に対する脆弱性のなかで、簡単に対処できるとは言え、OWASP Top 10 の第 1 位に挙げられたのは、SQL (Structured Query Language) などのインジェクション攻撃に対する脆弱性です。この類の攻撃は 1995年から存在していましたが、今でも Web アセットに対して最もよく使われる攻撃手段の 1 つとして存在しています。この記事を読んで、SQL インジェクション攻撃について、さらには本番 Web サイトでこの攻撃がどのように実行されるかについて、理解してください。その上で、IBM Security AppScan Standard を使用して、Web サイトにこの類の脆弱性があるかどうかをテストする方法を学んでください。
記事 2014/7/10
Hadoop と Hiveを使用してマシン・データを抽出する
マシン・データにはさまざまなフォーマットがあり、その量も大量です。気象センサー、フィットネス・トラッカー、さらには空調装置でさえも大量のデータを生成します。これらのデータには是が非でもビッグ・データ・ソリューションが必要ですが、どのデータが重要なのかを判断するにはどうすればよいのでしょう?また、その情報のうち、どれだけの割合が有効なのか、レポートに含める価値があるのか、あるいはアラート状況を検出するのに役立つのか、といったことを判断するにはどうすればよいのでしょう?この記事では、大量のマシン・データ・セットを利用するためのサポートをビッグ・データ・ソリューションと Hadoop で行う場合の課題とソリューションのいくつかを説明します。
記事 2014/7/03
YARN の紹介
Apache Hadoop は、ビッグ・データを処理するのに最もよく使われているツールの 1 つです。ここ数年の間、多くの企業が本番環境に Hadoop をデプロイして功を奏してきました。Hadoop は信頼性、スケーラビリティー、コスト効果に優れたソリューションであると見なされていますが、大規模な開発者コミュニティーによって常に改善が続けられています。その結果、Apache Hadoop 2.0 には YARN (Yet Another Resource Negotiator)、HDFS 統合、可用性に優れた NameNode などの革新的な機能が用意されています。これらの機能により、Hadoop クラスターの効率性、処理能力、信頼性には、これまで以上に大幅な改善がもたらされます。この記事では、以前のバージョンの Hadoop 分散処理層に勝る、YARN の利点を説明します。
記事 2014/6/26
曖昧で不確かなデータの実用的なデータ・マイニング
ビジネスで生成される非公開データにしても、Web で生成される公開データにしても、生成されるデータの量は次第に増加しています。この状況のなか、データ・マイニングの注目度と有用性が高まりつつありますが、従来のデータ・マイニングは、ある種の不確かさと曖昧さを処理するには適していません。そこで役立つのが、ファジィ集合論です。
記事 2014/6/26
Java.next: Clojure での並行処理
すべての Java.next 言語のなかで、Clojure は並行処理に関して最も急進的な手法を採用しています。この記事では、Epochal Time Model、ソフトウェア・トランザクション・メモリーをはじめとする、Clojure の並行処理に関するさまざまな側面のうちのいくつかを取り上げて、詳細を探ります。
記事 2014/6/19
Hadoop のためのワークフロー管理エンジン Oozie の実用的なアプリケーション
Apache Oozie は、Apache Hadoop エコシステムの中で中心的な役割を果たすコンポーネントの 1 つです。開発者は Oozie を使用して、e-メール通知の反復ジョブをスケジューリングしたり、Java、UNIX シェル、Apache Hive、Apache Pig、Apache Sqoop などの各種プログラミング言語で作成された、繰り返し発生するジョブをスケジューリングしたりすることができます。この記事では、特定のビジネス・シナリオに対処する、Oozie フレームワークの実用的なアプリケーションをいくつか紹介します。この記事で取り上げるトピックの対象読者は、ビッグ・データ・テクノロジーに現在取り組んでいるか、このテクノロジーに興味を持っているソリューション・アーキテクト、技術アーキテクト、コンサルタント、データ・サイエンティスト、技術リーダー、開発者です。
記事 2014/6/19
Hadoop で CombineFileInputFormat を使用して小さい圧縮ファイルを処理する
この記事では、gzip (デフォルトのコーデック) ファイルの中身を実行時に読み取るために、CombineFileInputFormat を拡張して実装する方法を、詳細な例を用いて説明します。Mapper が使用するデータの量を HDFS 内のファイルのブロック・サイズとは無関係にするために、MapReduce フレームワーク内で CombineFileInputFormat を使用する方法を学んでください。
記事 2014/6/12
Hadoop データのセキュリティーと Sentry
ビッグ・データを利用して可能なことについての洞察では、プライバシーの懸念がビッグ・データを悪く言う人々にとって最大の焦点となってきました。しかしこの議論には、Apache Hadoop ではデータの保護を行えるということが抜け落ちています。Sentry は、粒度の細かい権限付与フレームワークを使用することで Hadoop 内のデータを保護することを目的としたソリューションです。この記事では Sentry について詳しく探るとともに、法規制が適用される業界で Sentry を使用してビッグ・データ・アプリケーションに対する制御を行う方法を紹介します。
記事 2014/6/12
OpenStack プライベート・クラウド用の Linux イメージと Windows イメージを作成する
この記事では、OpenStack クラウド・オペレーティング・システムを使用して構築されたプライベート・クラウド用に、Linux イメージと Windows イメージを作成する新しい方法を提案します。OpenStack 環境用のイメージを作成するために現在採られている方法は、面倒で時間がかかります。そこで著者たちは、プライベート・クラウドのオペレーターとエンド・ユーザーが今までよりも迅速かつ容易にイメージを作成するためのオンラインのセルフサービス方式を提案します。
記事 2014/5/22
マシン・データ・アナリティクス
サイバー世界における物理セキュリティーを強化し、セキュリティー・システムを増やすという取り組みから、その難題を克服することにフォーカスした成長産業が生まれました。画像を利用したセキュリティー・システム用のカメラは、これまで使われていた有線のアナログ TV カメラから、機能豊富な高精細デジタル・カメラへと急速に置き換わっています。アナログ・カメラに比べると、デジタル・カメラはより柔軟で賢く、クラウド・サービスやデータ・アナリティクス機能とより緊密に統合されます。この記事では、ドロップイン型のセキュリティー・モニターについて説明します。このセキュリティー・モニターをクラウド・ベースのデータ・アナリティクス機能と組み合わせれば、電力インフラやネットワーク・インフラが整備されていないエリアでも、簡単にモニター機能をデプロイすることができます。
記事 2014/5/15
Zend Framework 2 を使って Web アプリケーションのセキュリティーを強化する
Web アプリケーションは、SQL インジェクション、XSS、CSRF、スパム、総当たりパスワードによるハッキングを含め、各方面からの攻撃を受けやすいものですが、Zend Framework 2 に用意されているセキュリティー関連のコンポーネントを使用すれば、PHP Web アプリケーションを一般的な攻撃の大多数から簡単に守ることができます。この記事では、これらのコンポーネントを使用して、フォーム入力の検証、ボットによるフォーム送信の除外、コメント・スパムの拒否、そして通常とは異なるイベントのロギングなどを行うことで、アプリケーションをよりセキュアにする方法を説明します。
記事 2014/5/08
WebGL による 3D 開発: 第 2 回 WebGL ライブラリーを利用して、簡潔なコードに機能を凝縮する
JavaScript 開発者は WebGL API を使用することで、最近の PC やモバイル端末のハードウェアに組み込まれている強力な 3D グラフィックス・アクセラレーション機能を直接利用することができます。WebGL は最近のブラウザーではほとんどサポートされており、これを使用することで、一般 Web ユーザー向けにハイパフォーマンスの 3D ゲーム、アプリケーション、そして 3D で拡張した UI を作成することができます。この記事は、WebGL に初めて取り組む JavaScript 開発者を対象とした全 3 回からなる連載の第 2 回です。今回は、著者の Sing Li が、WebGL API に直接コーディングするよりも遥かに効率的な 3D 開発を可能にする 2 つのライブラリーを紹介します。
記事 2014/4/24
特定タイプのデータを処理するための MapReduce クエリーを作成する
MapReduce 処理は、さまざまなタイプのクエリーを処理、構築するための新しいパラダイムと構造の完全なセットを生み出しました。しかし Hadoop の能力を最大限引き出すということは、情報を処理するための適切な MapReduce クエリーを作成するということです。この記事では、さまざまなタイプのクエリーを作成する方法を、料理本スタイルの例を用いて、さまざまなシナリオで見ていきます。
記事 2014/4/17
SQL と Hadoop の間での双方向のデータ転送: 第 3 回 直接転送とライブ・データ転送
「ビッグ・データ」という用語が一般に使用されるようになってから、すでに 10 年近く経ちました。SQL を使用する RDBMS ソリューションは長年成功を収めてきましたが、最近では NoSQL などのテクノロジーともにビッグ・データが RDBMS に代わるソリューションと見なされるようになっています。現在、SQL の分野を支配しているのは DB2、Oracle、Microsoft SQL Server、MySQL、および PostgreSQL であり、これらのテクノロジーは今でも市場全体でかなりの割合を占めています。連載最終回となるこの記事では、SQL とHadoop との間でのデータの転送をより自動化した形にするソリューションを検討します。これまでの記事でフォーカスして検討した手法では、SQL ソースからエクスポートしたデータ、またはフォーマット設定した上で抽出したデータを取り、そのデータを何らかの方法で Hadoop にロードして、処理または構文解析しました。しかし、ビッグ・データを分析する場合は、データをエクスポートする間の待ち時間を省きたいはずです。そこで今回は、SQL 環境と Hadoop 環境の間でのデータのライブ転送を可能にする手法とツールを取り上げて検討します。
記事 2014/4/17
SQL と Hadoop の間での双方向のデータ転送: 第 2 回 HBase と Hive を利用する
「ビッグ・データ」という用語が一般に使用されるようになってから、すでに 10 年近く経ちました。SQL を使用する RDBMS ソリューションは長年成功を収めてきましたが、最近では NoSQL などのテクノロジーともにビッグ・データが RDBMS に代わるソリューションと見なされるようになっています。現在、SQL の分野を支配しているのは DB2、Oracle、Microsoft SQL Server、MySQL、および PostgreSQL であり、これらのテクノロジーは今でも市場全体でかなりの割合を占めています。この第 2 回では、HBase と Hive を使用して SQL データ・ストアとの間でデータを転送する方法に焦点を絞ります。表面的に見ると、この 2 つのシステムはかなり似ているように見えますが、それぞれのシステムの目標と目的は大きく異なります。それでは、HBase と Hive という 2 つのシステムの違いを調べ、その違いをビッグ・データの要件に応じてどのように活用できるかを検討することから始めましょう。
記事 2014/4/17
SQL と Hadoop の間での双方向のデータ転送: 第 1 回 基本的なデータ転送手法
この連載記事では、Apache Hadoop と従来型の SQL データベースを統合するさまざまな手法を検討します。その手法としては、単純なデータ転送の手法から、2 つのシステム間でデータの共有および転送をライブで行う手法、Apache Hadoop 上の SQL ベースの層 (HBase や Hive など) を統合手段として機能するように使用する手法などがあります。この第 1 回では、基本的な情報転送アーキテクチャーの側面をいくつか取り上げ、データを転送するための基本的な手法を検討します。
記事 2014/4/17
Zend Framework とともに Doctrine を使用する
Doctrine は PHP アプリケーションを開発するための ORM (オブジェクト・リレーショナル・マッピング) ツールです。若干の構成作業を行うことで、Zend Framework に Doctrine を組み合わせることができ、Doctrine のエンティティーを使用して簡単にアプリケーションのデータを操作できるようになります。この記事では、Doctrine 2.3 を Zend Framework 1.x または 2.x によるアプリケーションと統合するプロセスについて説明します。
記事 2014/3/20
Twitter Storm でビッグ・データをリアルタイムに処理する
Storm は、オープンソースのビッグ・データ処理システムです。Storm はリアルタイム分散処理を対象としている点、そして言語に依存しないという点で、他のビッグ・データ処理システムとは異なります。Twitter の Storm とそのアーキテクチャー、そしてさまざまなバッチ処理ソリューションおよびストリーム・プロセッシング・ソリューションについて学んでください。
記事 2014/3/13
独自のブラウザー拡張機能を作成する: 第 1 回、Chrome を拡張する
どのブラウザーにも、それぞれに固有の長所と短所があり、支持する人もいれば、批判する人もいます。そのなかで、すべてのブラウザーに共通して言えることは、人々がブラウザーで費やす時間がますます増えているということです。 この連載では、Chrome、Firefox、および Safari を対象に、共通のベーシックな拡張機能を作成する方法を検討します。それによって、それぞれのブラウザーを拡張する作業とはどのようなものなのか、また共通する作業の難易度はどの程度なのか、さらには拡張機能を配布する方法とはどのようなものなのかを説明します。今回の記事では、Chrome の拡張機能を作成します。
記事 2014/3/13
サーバー・クラスター対応の Java アプリケーションを構築する
極めてスケーラブルな Java エンタープライズ・アプリケーションを開発する場合、サーバーをクラスタリングするのが当たり前のことになってきています。けれども今のところ、Java EE ではアプリケーション・レベルでサーバー・クラスターに対応できるようにはなっていません。この記事では、分散型エンタープライズ Java アプリケーションにおいて、サーバー・グループのコーディネーションをするために、Apache ZooKeeper と LinkedIn の Norbert という 2 つのオープンソース・プロジェクトを利用する方法を Mukul Gupta と Paresh Paladiya が紹介します。
記事 2014/2/20
Hadoop のための Oozie ワークフロー・スケジューラー
ビッグ・データがそのままの形式で、Hadoop を使用してデータ処理タスクを実行する開発者のデータ要件を満たすことは、ほぼありません。実際にデータ処理を行うジョブを開始する前に、さまざまな ETL (Extract/Transform/Load: 抽出/加工/書き込み) や前処理が必要になるのが一般的です。このプロセスを自動化したり、これらの作業を時間が経過した後でも新しいコードやステップを作成せずに再利用できる、繰り返し実行可能な単位およびワークフローへと体系化したりするのに役立つのが、Oozie フレームワークです。この記事では、Oozie を使用してさまざまなタイプのワークフローを作成する方法について説明します。
記事 2014/2/13
OpenStack について学ぶ: アーキテクチャー、機能、相互作用
OpenStack は、IBM をはじめ、業界をリードする企業が推進している人気の高いオープンソース・クラウド・コンピューティング・プロジェクトです。OpenStack について概説するこの記事では、OpenStack の全体的なアーキテクチャー、個々のモジュールの機能、そしてモジュール間の相互作用を紹介します。OpenStack の各種コンポーネントについては、連載の他の記事で詳しく説明します。
記事 2014/2/06
OpenStack について学ぶ: ストレージ関連コンポーネントの Swift と Cinder
この記事では、OpenStack のブロック・ストレージ (Swift) プロジェクトとオブジェクト・ストレージ (Glance) プロジェクトを紹介し、OpenStack のアーキテクチャー全体の中でこの 2つのプロジェクトがどのような位置を占めており、どのような機能を実現するのかを説明します。また、これらのコンポーネントをインストール、構成、使用する上での要件についても説明します。
記事 2014/2/06
Ruby を使用して Web から情報を抽出する
この記事では、構造化された情報を Web から抽出するための最新の方法について探っていきます。著者である M. Tim Jones が Ruby スクリプトの例を使用して、スクレイピング技術について説明するとともに、目的のデータを取得するために Web API を使用する方法について説明します。
記事 2014/1/23
Selenium と Cucumber を使用した自動テスト
シンプルなフィーチャー (feature) ファイルにテストを記述し、ブラウザーでスイッチを切り替えてこのテストを実行する方法を習得することにより、Selenium と Cucumber を使用したテストを自動化する作業を楽なものにしてください。この記事は、Selenium と Cucumber を使用したテスト自動化フレームワークのセットアップ、シングル・ページ Web アプリケーション用のテスト・スイートの作成、そして Selenium Grid による複数の Web/モバイル・ブラウザーでのテストを行うための実践的な入門ガイドです。
記事 2014/1/23
レコメンダー・システム: 第 2 回 オープンソース・エンジンの紹介
この連載の第 1 回では、レコメンデーション・エンジンを構築するための基本的な手法とアルゴリズムについて紹介しました。連載を締めくくる今回は、レコメンダー・システムを構築するためのオープンソースのソリューションをいくつか紹介するとともに、2 つのオープンソース・ソリューションを実際に使用する方法を説明します。また、単純なクラスタリング・アプリケーションを Ruby で作成し、そのアプリケーションをサンプル・データに適用する方法についても説明します。
記事 2014/1/16
レコメンダー・システム: 第 1 回 手法とアルゴリズムの紹介
大規模な商用 Web サイトやソーシャル Web サイトでは、そのほとんどがユーザーに対して、おすすめの商品を紹介してくれたり、おすすめのユーザーを紹介してつながれるようにしてくれたりします。レコメンデーション・エンジンは膨大なデータを分類し、ユーザーの気に入りそうなものを特定します。この記事では全 2 回からなる連載の第 1 回として、レコメンダー・システムの基礎となる概念を説明し、レコメンダー・システムを駆動するアルゴリズムについて紹介します。第 2 回では、利用可能なオープンソースのレコメンデーション・エンジンについて説明します。
記事 2014/1/16
PHP、jQuery Mobile、Google ToDo リストを活用してモバイル・フレンドリーな ToDo リスト・アプリを作成する
ToDo リストを作成および管理するためのシンプルなモバイル・アプリを作成したければ、Slim PHP マイクロフレームワーク、jQuery Mobile、Google ToDo リスト API を使用すると簡単です。この記事では、私がそれを行った方法を紹介します。
記事 2014/1/16
PHP アプリケーションと Instagram の統合: 第 2 回
Instagram は、ユーザーがスマートフォンで写真を撮って、その写真を Web を介して他のユーザーと共有できる、人気の高い写真共有サービスです。アプリケーション開発者は Instagram REST API を使用して、これらの写真を検索し、写真とそれに関連付けられているコメントや「いいね!」の情報を取得することができます。この全 2 回からなる記事では Instagram API を紹介するとともに、Instagram のユーザーが生成した豊富なコンテンツのリポジトリーを利用して革新的な Web アプリケーションを作成するために、この API を PHP で使用する方法を説明します。
記事 2013/12/19
Eclipse Orion の紹介: クラウドの中でクラウドに対応
Eclipse Orion プロジェクトの目標は、Web の中で Web を対象に開発することのみに焦点を合わせた、ブラウザー・ベースでオープンソースのツール統合プラットフォームを作成することです。Orion のツールは JavaScript で作成されており、ブラウザー内で実行されます。また、Orion のコンポーネントは個別に利用することもできます。この記事では Orion の概要を紹介するとともに、Orion のツールを理解する上で役立つリソースと解説を提供します。
記事 2013/12/12
PHP の学習: 第 3 回 認証、オブジェクト、例外、ストリーム処理
このチュートリアルは、単純なワークフロー・アプリケーションの構築プロセスを通して PHP の使用方法を説明する 3 部構成のシリーズ「PHP の学習」の第 3 回です。今回のチュートリアルでは、HTTP 認証の使用方法、ファイルをストリーム処理する方法、そしてオブジェクトと例外の作成方法を学びます。
記事 2013/12/12
スケーラブルなクラウド・ソフトウェアの開発を Apache Thrift で単純化する
Apache Thrift は、スケーラブルなサービスをさまざまなプログラミング言語で開発できるフレームワークであり、クラウド環境内のさまざまなコンポーネント間のやりとりを明確に規定することができます。この記事では、Thrift に関連する概念 (複数のプログラミング言語の場合のリモート・プロシージャー・コールに対するインターフェース定義) について紹介した後、複数のプログラミング言語が使用されているクライアント・サーバー・アプリケーションで Thrift を使用する例について説明します。
記事 2013/12/12
Apache Lucene および Solr 4 による次世代の検索とアナリティクス
Apache Lucene と Solr は、組織が簡単かつ劇的にデータ・アクセス能力を高めることを可能にする、極めて能力の高いオープンソースの検索テクノロジーです。Lucene および Solr のバージョン 4.x では、データ駆動型アプリケーションに、今まで以上に簡単にスケーラブルな検索機能を追加できるようになっています。この記事では、Lucene と Solr のコミッターである Grant Ingersoll が、関連度、分散検索、ファセット処理に関係する、最新の Lucene と Solr の機能を紹介します。高速かつ効率的でスケーラブルな次世代のデータ駆動型アプリケーションを構築するために、これらの機能を利用する方法を学んでください。
記事 2013/12/05
PHP の学習: 第 2 回 ファイルをアップロードし、ファイルの情報を XML または JSON 形式で保管し、表示する
このチュートリアルは、単純なワークフロー・アプリケーションの構築プロセスを通して PHP の使用方法を説明する 3 部構成のシリーズ「PHP の学習」の第 2 回です。PHP の基礎知識を基に、ブラウザーからファイルをアップロードする方法や、セッションについて、あるいは PHP で XML または JSON を処理する方法について学ぶには、このチュートリアルに従ってください。
記事 2013/11/21
Linux ブートの失敗からのリカバリー
カーネルのアップグレードやディスク・スワップ、あるいはその他のシステム変更が行われた後に Linux コンピューターがブートしなくなったとしても、手の施しようがないわけではありません。GRUB (Grand Unified Bootloader) には、ブート・プロセスを制御してリカバリーするための手段がいくつかあります。あるいは、外部ツールを使って緊急ブート・ディスクを作成しておけば、必要に応じてそのディスクに救いの手を求めることができます。この記事では、問題がある状況下でもブートできるようにするための手順および GRUB コマンドについて説明するとともに、BIOS ベースのシステムの「命を救う」外部ツールを紹介します。
記事 2013/11/21
VoltDB 入門
NoSQL データベースが持つスケーラビリティーを実現するとともに、従来のリレーショナル・データベース・システムが持つ ACID 特性を備えたインメモリー・データベース、VoltDB について学んでください。この記事では、データベース・テーブルを設計してパーティショニングし、Java コードで作成されたストアード・プロシージャーを使用してデータの格納と取得を行う方法を説明します。さらに、VoltDB をベースに作成されたキー・バリュー型ストアである VoltCache についても探ります。
記事 2013/11/14
Java アプリから動的に PDF ファイルを生成する
アプリケーションで PDF 文書を動的に作成する必要がある場合、iText ライブラリーが必要です。オープンソースの iText ライブラリーを使用すると、PDF を簡単に作成することができます。この記事では iText を紹介するとともに、iText を使用して Java アプリケーションから PDF 文書を生成する方法について順を追って説明します。また、iText についての理解を深めるために、サンプル・アプリケーションを作成します。
記事 2013/11/14
Slim マイクロフレームワークで REST アプリケーションを作成する
Slim は、PHP アプリケーションを開発するための機能を完備したオープンソースのマイクロフレームワークです。Slim はその高度な URL ルーターおよびミドルウェア・アーキテクチャーから、静的 Web サイトや API プロトタイピングにとって最適なフレームワークとなっています。この記事では、Slim について詳しく探り、Slim を使用して認証および各種のリクエスト/レスポンス・フォーマットに対応する REST API を迅速に作成してデプロイする方法を説明します。
記事 2013/11/07
DB2のNoSQLによるJSONサポート機能(第2部): コマンドライン・プロセッサーを使用する
アプリケーション環境が急速に変化するなか、さまざまなアプリケーション・レイヤー間でデータを保存・交換するための柔軟なメカニズムが必要となっています。JSON (JavaScript Object Notation)はスキーマ設計のオーバーヘッドを削減し、データ加工を行う必要がないため、モバイル環境をサポートするインタラクティブなアプリケーションの構築のためには不可欠なテクノロジーとなっています。DB2のNoSQLによるJSONサポート機能を活用すると、開発者はMongoDBに基づいて作成したポピュラーなJSONベースのクエリー言語を使用することによって、IBM DB2 for Linux, UNIX, and Windowsに保存されたデータを処理するアプリケーションを作成することができます。ドライバー・ベースの本ソリューションは実績のあるエンタープライズ機能と高い質のサービスを提供するRDBMSと連携し、JSONによるデータの柔軟な表示を実現します。DB2のNoSQLによるJSONサポート機能は、JSON文書を処理するにあたってコマンドライン・プロセッサー、Java API、および通信リスナーをサポートします。本記事では、NoSQLアプリケーションをサポートするためにDB2データベースの設定を行い、独自のアプリケーションを開発することを目的としたNoSQLによるコマンドライン・プロセッサーの基本的な活用方法を確認します。
記事 2013/10/21
DB2のNoSQLによるJSONサポート機能(第4部): IBMによるDB2に対応するNoSQLの通信リスナーを使用する
DB2のNoSQLによるJSONサポート機能を活用すると、開発者はMongoDBに基づいて作成したポピュラーなJSONベースのクエリー言語を使用することによって、IBM DB2 for Linux, UNIX, and Windowsに保存されたデータを処理するアプリケーションを作成することができます。ドライバー・ベースの本ソリューションは実績のあるエンタープライズ機能と高い質のサービスを提供するRDBMSと連携し、JSONによるデータの柔軟な表示を実現します。DB2のNoSQLによるJSONサポート機能は、JSON文書を処理するにあたってコマンドライン・プロセッサー、Java API、および通信リスナーをサポートします。この記事では、IBMによるDB2に対応するNoSQLの通信リスナーについて紹介します。本通信リスナーはMongoDBの通信プロトコルに基づいてメッセージを解析します。そのため、MongoDBのコミュニティーに提供されるさまざまなドライバーを使用し、これらのドライバーを使用する際に身に着けたスキルを活用することによって、DB2をJSONストアとして使用したうえでJSON文書の保存・更新・検索を行うことができます。
記事 2013/10/21
DB2のNoSQLによるJSONサポート機能(第3部): Java APIを使用してアプリケーションを作成する
DB2のNoSQLによるJSONサポート機能を活用すると、開発者はMongoDBに基づいて作成したポピュラーなJSONベースのクエリー言語を使用することによって、IBM DB2 for Linux, UNIX, and Windowsに保存されたデータを処理するアプリケーションを作成することができます。ドライバー・ベースの本ソリューションは実績のあるエンタープライズ機能と高い質のサービスを提供するRDBMSと連携し、JSONによるデータの柔軟な表示を実現します。DB2のNoSQLによるJSONサポート機能は、JSON文書を処理するにあたってコマンドライン・プロセッサー、Java API、および通信リスナーをサポートします。DB2によるJSONサポート機能に基づくJava APIはコマンドライン・プロセッサーと通信リスナーの基盤となる機能を提供し、カスタム・アプリケーションの作成をサポートします。本記事ではサンプルのJavaプログラムに基づいて基本的な使用方法について紹介し、JSON文書の保存と検索を最適化するためのオプションを説明します。
記事 2013/10/21
Java.next: 継承を伴わない拡張、第 3 回
Java.next 言語 ― Groovy、Scala、および Clojure ― では、Java 言語の拡張に関する制約をさまざまな方法で是正しています。連載「Java.next」の今回の記事で取り上げるのは、Groovy のメタプログラミング機構で使用できる驚異的な拡張機能です。
記事 2013/10/03
万人のためのモバイル: 自作の Android アプリに署名を付け、封印し、配布する
Web ロジックではコンテンツが何よりも重要ですが、モバイル・ユーザーにとってはアプリとの対話がすべてを支配します。モバイル・アプリでは、静的な情報によるデザインが行われなくなり、代わりにゲーミフィケーションが採用されるようになっています。今回の記事では、Andrew Glover が Android モバイル開発の紹介を完結するために、前回の記事で紹介したサンプル・アプリケーションの Overheard Word に多岐選択式クイズの機能を追加します。その後、デジタル署名を生成する方法、そして署名付きのアプリを Android 向けの Google Play または Amazon Appstore で公開して宣伝する方法を説明します。
記事 2013/10/03
Spring Redis アプリケーションを開発する
Redis は、キー・バリュー型の NoSQL データストア・ソリューションです。Spring Data Redis は、Java 開発者が下位レベルの Redis API を直接操作することなく、Redis を使用して Spring アプリケーションを構築できるようにするための、Spring ポートフォリオ・プロジェクトです。この記事では Redis について紹介した後、Spring Data Redis API を使用して単純な辞書アプリケーションを構築する方法を説明します。
記事 2013/9/19
Bootstrap を使用した迅速な Web 開発
モバイル対応のものを含め、Web サイトや Web アプリケーションの開発を順調にスタートさせるために Bootstrap を利用する方法を学んでください。LESS プロジェクトをベースにした Bootstrap は、Web アプリケーション UI の一貫したフレームワークを提供することを目的に、Twitter の内部エンジニアたちによって開発されました。
記事 2013/9/12
データの視覚化: 第 2 回 D3 のコンポーネント・レイアウトを使用する
この全 2 回からなる連載記事では、SVG (Scalable Vector Graphics) とオープンソースの D3 JavaScript ライブラリーを使用してデータを視覚化する方法を学びます。ビジネスでデータの大きさを把握する上では、形状、色、レイアウトが大いに役立つ場合があります。今回の記事では、D3 による計算と独自の計算の両方を使用して、キャンバス上にグラフィック・コンポーネントを配置してデータを表現するさまざまな方法を実演します。
記事 2013/9/12
LyX を使用してグラフィカルな方法で LaTeX 文書を作成する
LyX は、お馴染みのドロップダウンによるコンテンツ駆動のメニュー・システムを使用して、LaTeX 文書を作成、編集するためのグラフィカルなツールです。TeX とその上位のマクロ言語である LaTeX は、強力な文書マークアップ言語であり、Linux ユーザーの間ではデファクト・スタンダードとなっています。しかし、これらの言語を初めて使用するとなると、使用可能なマークアップ・タグや、それらのマークアップ・タグを使用できるコンテキスト、さらにはテキスト・エディターとプレビュー用のツールの使い方などを知らなければならないため、扱いにくい言語かもしれません。LyX は、この LaTeX 文書を処理するプロセス全体を単純化します。それは、Linux 上での作業に限ったことではありません。Linux、UNIX、Windows、および Mac OS X システムに LyX をインストールして使用する方法、さらにはカスタマイズする方法を学んでください。
記事 2013/9/12
データ・サイエンスとオープンソース
データ・サイエンスでは、データから価値ある情報を抽出することを目的として、数学とコンピューター・サイエンスを組み合わせます。この記事ではデータ・サイエンスについて紹介し、この急速に成長している分野での優れたオープンソース・ツールを調査します。
記事 2013/9/12
Java.next: 継承を伴わない拡張、第 2 回
Java 言語の拡張メカニズムには意図的な制約があり、Java 言語を拡張する際には主に継承とインターフェースを利用して行わざるを得ません。その一方で、Groovy、Scala、Clojure には、これに代わるもっと多くの拡張手段があります。今回の記事では、Clojure が拡張メカニズムとしてプロトコルを使用する方法を詳しく探ります。
記事 2013/9/05
データの視覚化: 第 1 回 SVG と D3 でブラウジング・メトリクスを視覚化する
この全 2 回からなる連載記事では、SVG (Scalable Vector Graphics) とオープンソースの D3 JavaScript ライブラリーを使用してデータを視覚化する方法を学びます。ビジネスでデータの大きさを把握する上では、形状、色、レイアウトが大いに役立つ場合があります。サンプル・シナリオでは、SVG と D3 を使用して、ソーシャル・メディアのブラウジング・メトリクスから、豊富な情報を伝えるグラフィックを作成する方法を実演します。
記事 2013/8/29
DB2のNoSQLによるJSONサポート機能(第1部): DB2のNoSQLによるJSONサポート機能の概要
DB2のNoSQLによるJSONサポート機能を活用すると、開発者はMongoDBに基づいて作成したポピュラーなJSONベースのクエリー言語を使用することによって、IBM DB2 for Linux, UNIX, and Windowsに保存されたデータを処理するアプリケーションを作成することができます。ドライバー・ベースの本ソリューションは実績のあるエンタープライズ機能と高い質のサービスを提供するRDBMSと連携し、JSONによるデータの柔軟な表示を実現します。DB2のNoSQLによるJSONサポート機能は、JSON文書を処理するにあたってコマンドライン・プロセッサー、Java API、および通信リスナーをサポートします。本記事ではDB2のNoSQLによるJSONサポート機能を提供するテクノロジー・レビューの概要について説明します。
記事 2013/8/27
Sass を使用して CSS 開発を改善する
Sass (Syntactically awesome stylesheets) はメタ言語であり、CSS (cascading stylesheets) プリプロセッサーでもあります。CSS 開発の効率を高め、開発期間を短縮するには、Sass の基礎を理解することがカギとなります。CSS を開発するための Sass の構文は、シンプルで洗練されている上に堅牢であるため、Sass を使用することで扱いやすいスタイルシートを作成することができます。Sass について紹介するこの記事では、Sass を使用して Web サイトのスタイルシートを改善する方法の基礎を学びます。
記事 2013/8/22
LESS を使用して CSS でもっと多くのことを行う
LESS を使用して、理解しやすく保守が可能な CSS (Cascading Style Sheets) を最新の Web サイト向けに作成する方法を学びましょう。テーブルと目に見えない画像を用いてレイアウトのトリックを行っていた、かつてのおぞましい日々は、CSS によっておぼろげな過去の記憶となります。しかし CSS もまだ使いにくいものであるため、いくつかのイニシアチブでは CSS が開発者にとって使い勝手のよいものになるように取り組みました。そうした中で最も優れているのが、変数、ミックスイン、演算、関数などの動的振る舞いによって CSS を拡張できる LESS です。LESS は CSS に似た言語であり、クライアント・サイドで、またはサーバー・サイドのプリプロセスによって、シームレスに CSS にコンパイルすることができます。
記事 2013/8/22
MicroXML の紹介: 第 1 回 MicroXML の基本原則を探る
XML コミュニティーのなかでは、「XML は理解するのも、処理するのも難しい」という XML に対する不満の声が常々聞かれます。XML はさまざまな歴史的理由から、基本的に複雑であるため、この 10 年以上の間に XML を単純化したバージョンがいくつか提案されました。一方で、JSON と HTML5 は XML の最も基本的な考え方の一部を脅かしています。これまでの XML のバージョンと互換性を持ちつつ、XML を単純化した MicroXML は、こうした問題点に関する議論の中から生まれました。現在 MicroXML は、W3C コミュニティー・グループ主導の下で、ドラフト仕様の基本実装が既にいくつか公開されています。全 2 回からなる連載の第 1 回となるこの記事では、MicroXML コミュニティー・グループの共同議長の 1 人である Uche Ogbuji が、MicroXML について、さらには MicroXML と中核的な標準である XML 1.x との技術的な違いについて説明します。
記事 2013/8/09
MicroXML の紹介: 第 2 回 microxml-js を使用して MicroXML の処理を行う
MicroXML は、これまでの XML のバージョンと互換性を持ちつつ、XML を単純化したものです。この全 2 回からなる連載の第 1 回では MicroXML の基本原則について説明しました。MicroXML は単純な文法で設計されており、数多くある最近の汎用構文解析ツールを使用して処理することができます。MicroXML の当初の活動を率いた James Clark 氏は、MicroXML コミュニティーの仕様に対応するパーサーを検討して開発を行った 1 人です。この記事では、Clark 氏が開発した、JavaScript による MicroXML パーサーを使用して、MicroXML フォーマットを試す方法を説明します。
記事 2013/8/08
Hyde を使用して軽量の静的 Web サイトを迅速に作成する
Web パブリッシング・フレームワークは素晴らしいものの、必要なのは一貫して優れたパフォーマンスを実現するために利用できるシンプルな静的サイトであることから、Web パブリッシング・フレームワークを使うまでのことはない場合もあります。そのような場合に、Web パブリッシング・フレームワークが持つ便利な部分は利用したい一方で、それによるオーバーヘッドがないようにしたいとしたら、静的サイト・ジェネレーターがその両方を適えてくれます。よく使用されているサイト・ジェネレーターには、Django をベースとした強力なテンプレート機能とメタデータ管理機能を提供する Hyde があります。Hyde は Python で実装されていますが、Python の知識が必須というわけではありません。この記事を読んで、Hyde を使用して静的 Web サイトの開発期間を短縮する方法を学んでください。
記事 2013/8/08
独自のブラウザー拡張機能を作成する: 第 4 回、ブラウザーに共通の拡張機能を作成する
どのブラウザーにも、それぞれに固有の長所と短所があり、支持する人もいれば、批判する人もいます。そのなかで、すべてのブラウザーに共通して言えることは、人々がブラウザーで費やす時間がますます増えているということです。この連載では、Chrome、Firefox、および Safari のベーシックな拡張機能を作成する方法を調べていきます。それによって、それぞれのブラウザーを拡張する作業とはどのようなものなのか、また共通して必要となる作業の難易度はどの程度なのか、さらには拡張機能をどのように配布するのか、といったことを学びます。連載最終回となる今回の記事では、3 つすべてのブラウザーで共有できる共通の拡張機能を作成します。
記事 2013/8/01
独自のブラウザー拡張機能を作成する: 第 3 回、Safari を拡張する
どのブラウザーにも、それぞれに固有の長所と短所があり、支持する人もいれば、批判する人もいます。そのなかで、すべてのブラウザーに共通して言えることは、人々がブラウザーで費やす時間がますます増えているということです。この連載では、Chrome、Firefox、および Safari のベーシックな拡張機能を作成する方法を調べていきます。それによって、それぞれのブラウザーを拡張する作業とはどのようなものなのか、また共通して必要となる作業の難易度はどの程度なのか、さらには拡張機能をどのように配布するのか、といったことを学びます。今回の記事で作成するのは、Safari の機能拡張です。
記事 2013/7/25
Weave プラットフォームでデータの視覚化を行う
Weave は、トレンド・データと地理データを視覚化するための新しいプラットフォームとして、マサチューセッツ大学ローウェル校で開発されました。広範な使用法をサポートする Weave は、初心者と上級ユーザーの両方を対象に作成されています。一般公開されているリポジトリーのデータを視覚化するために Weave を使用する方法を、この記事の実践的な例で詳しく探ってください。
記事 2013/7/25
独自のブラウザー拡張機能を作成する: 第 2 回、Firefox を拡張する
どのブラウザーにも、それぞれに固有の長所と短所があり、支持する人もいれば、批判する人もいます。そのなかで、すべてのブラウザーに共通して言えることは、人々がブラウザーで費やす時間がますます増えているということです。この連載では、Chrome、Firefox、および Safari のベーシックな拡張機能を作成する方法を調べていきます。それによって、それぞれのブラウザーを拡張する作業とはどのようなものなのか、また共通して必要となる作業の難易度はどの程度なのか、さらには拡張機能をどのように配布するのか、といったことを学びます。今回の記事で作成するのは、Firefox の拡張機能です。
記事 2013/7/18
OpenCL で Web アプリケーションを高速化する
WebCL (Web Computing Language) は、Web アプリケーションがホストのグラフィック・プロセッサー上で関数を実行できるようにすることで、データのソート、テキストの検索、行列システムの解決といった各種のデータ処理ルーチンを飛躍的に高速化します。この記事では、WebCL の JavaScript クラスが計算処理をグラフィック・プロセッサーに実行させることによって、高速な数値演算処理を実現する方法について説明します。
記事 2013/7/18
大規模なグラフ・データの処理: 最新テクノロジーへのガイド
この記事では、Apache Giraph と GraphLab フレームワークを重点に、大規模なグラフ・データを処理するためのオープンソースのソリューションを紹介し、比較します。ソーシャル・ネットワークやナレッジ・ベースなどを扱う最近のアプリケーションでは、グラフ構造のデータが増加しているため、データをまとめて大量に処理することができるスケーラブルなプラットフォームと並列アーキテクチャーが不可欠です。MapReduce はビッグ・データ・アナリティクスで大きな役割を果たすものの、グラフを処理するには最適なプログラミング・モデルではありません。この記事ではその理由を説明した後、グラフの処理という難題に対処するために開発中のシステムを探ります。
記事 2013/7/11
Meteor を使用したインスタント Web アプリケーション
新しい Web アプリケーション開発プラットフォームである Meteor を使用すれば、JavaScript 開発者は極めてインタラクティブかつ応答性の良いリッチ・クライアント Web アプリケーションを迅速かつ簡単に構築することができます。Meteor は、開発サイクルを単純化して劇的に短縮することを目的に、Web アプリケーションの設計および開発についての新たな考え方を提案します。この記事では、Sing Li が Meteor の真実に迫り、2 つの実用的で、ありきたりではないサンプル・アプリケーション (Web ベースのアプリケーションと、モバイル・アプリケーション) を通して Meteor の有望さを探るとともに、Meteor のアーキテクチャーについて詳しく説明します。また、よく使用されている業界標準の JavaScript ライブラリーを利用して、Meteor によるアプリケーションを実際に構築します。
記事 2013/7/11
Java.next: 継承を伴わない拡張、第 1 回
Groovy、Scala、および Clojure には多くの拡張メカニズムが用意されている一方、継承となると、事実上 Java 言語の継承が唯一の手段となります。今回の記事では、Java.next 言語での Java クラス拡張手段としてのカテゴリー・クラス、ExpandoMetaClass、暗黙の型変換、プロトコルについて見ていきます。
記事 2013/7/11
Cobbler によるシステム・インストールの自動化と管理
Cobbler はインストール・サーバーのセットアップと管理に必要なタスクを一元化することで、システムのプロビジョニングを容易に行えるようにします。この記事では、Cobbler に備わっている機能の一部を取り上げて紹介するとともに、Cobbler をインストールする方法、複数のクライアント・マシンを自動的にインストールするのに適した構成を作成する方法を説明します。
記事 2013/7/04
Scribus によるオープンソースのデスクトップ・パブリッシング
Scribus は、レイアウト、フレーム、スタイル、色管理、ドキュメント内の列間のフローに重点が置かれたオープンソースのグラフィカル DTP (Desktop Publishing) ツールです。Scribus は Linux、Windows、Mac OS X プラットフォーム上で実行されるフリー・ソフトウェアであり、従来の DTP ツールの機能の大部分を無料で提供しています。
記事 2013/7/04
CouchDB と Bootstrap を使用して Web アプリケーションのプロトタイプを作成する
Apache CouchDB と Twitter Bootstrap とを組み合わせ、プレゼンテーション層とデータベース層とを明確に分離する形で、Web アプリケーションの開発を始めましょう。CouchDB は、手軽にデータベース (特に Web サイト用のデータベース) を作成する手段として、よく知られています。フロントエンドに関しては、サイトのプロトタイプを作成するための、さらには完全なデプロイメントまでを行える、オープンソースのツールキットが数多く登場しています。なかでも Bootstrap フレームワークは、特に Web の UI を作成する場合に役立ちます。Bootstrap と永続化用の CouchDB を使用して Web アプリケーションのプロトタイプを作成する方法を学びましょう。
記事 2013/7/04
モックアップという意味を持つ Maqetta: 第 3 回 Maqetta でデザインした UI プロトタイプを PhoneGap でデプロイする
Maqetta について紹介するこの連載では、これまで、Dojo と Dojo Mobile ツールキットの機能を使用してインタラクティブなモバイル UI プロトタイプを作成し、その機能を強化する方法を説明してきました。ブラウザー内で Maqetta を使用して作業をすることで、一切コーディングせずにリアルなプロトタイプを作成した後、そのプロトタイプの機能とフローをカスタム JavaScript コードで拡張しました。今回は Maqetta に PhoneGap を組み合わせて、新しいモバイル UI プロトタイプを作成し、実際の端末にデプロイします。
記事 2013/7/04
万人のためのモバイル: スワイプしてみよう!Android でのジェスチャーのプログラミング
たいていのモバイル・ユーザーは、他のことに気を取られていて、いろいろと忙しい上に、人間工学的に制約されています。そんなモバイル・ユーザーに合わせてモバイル・アプリの UI を作成してください。著者の Andrew Glover はこの記事で、モバイル・アプリが Web アプリケーションとは異なる主な点を取り上げた後、ボタンをクリックする代わりに、スワイプ・ジェスチャーでナビゲートするモバイル・アプリの UI を作成する方法を説明します。
記事 2013/6/27
GeoServer とその REST API を導入する
GeoServer は、地理情報システム (GIS) のデータ・ソースを管理し、そのデータを WFS (Web Feature Service) および WMS (Web Map Service) 準拠の Web サービスを介して簡単に提供できるオープンソースのサーバーです。GeoServer には、複雑な Web アプリケーションの実行時に手動による介入なしでデータを管理するための包括的な REST (Representational State Transfer) API が組み込まれています。さらに、GeoServer は OpenLayers マッピング・ツールと連携して威力を発揮します。この記事では GeoServer の概要を紹介するとともに、GeoServer API の PHP ラッパー・クラスを作成する利点を含め、GeoServer の詳細を探ります。
記事 2013/6/27
万人のためのモバイル: Android アプリのライフサイクルにおけるアクティビティーとアイコン
Activity クラスは、Android モバイル・アプリの中心的なクラスであるとともに、アプリとユーザーとの対話部分や、アプリとモバイル端末とのインターフェースを微調整できる場所でもあります。作成したアプリがそのライフサイクルにおいて望み通りの動作をするように微調整してから、アイコンとアクション・バーを使用して、ユーザーを UI ナビゲーションやアプリのさまざまな機能に誘導してください。
記事 2013/6/27
Drupal のマルチサイト・インストールによるサイトを作成する
Drupal コンテンツ・マネジメント・システムに備わっている重要な機能の 1 つは、このフレームワークの単一のベース・インストールから複数の Web サイトを実行できる、マルチサイト・インストールと呼ばれる機能です。長期的に複数のサイトを管理および保守する必要のある Web 管理者にとって、このようなインストールはとりわけ役に立ちます。マルチサイト・インストールにより、同じサーバー上にある複数の Drupal インストールのすべてを単一のスクリプトで実行できるようになることから、管理が簡素化されるためです。この記事を読んで、複数の Drupal サイトをインストールして構成し、実行、管理する方法を学んでください。
記事 2013/6/27
Java.next: Groovy、Scala、Clojure の共通点、第 2 回
Java 言語に関する共通の不満は、単純なタスクやデフォルトにも定型的な処理がありすぎて、混乱を招きがちであることに関連しています。3 つの Java.next 言語ではいずれも、これらの領域でより賢明な手法を取っています。連載「Java.next」の今回の記事では、Groovy、Scala、Clojure が Java 言語で扱いにくかった部分をどのように解決しているかを紹介します。
記事 2013/6/20
Java.next: Groovy、Scala、Clojure の共通点、第 3 回
Clojure、Scala、Groovy の間にある共通点を話題にしたこの 3 回からなる記事の最終回では、これら 3 つの言語が、例外、式、そして null (いずれも Java 言語で問題となっている領域) をどのように扱っているのかを探ります。これらの Java.next 言語では、それぞれの言語の特性を際立たせる独自の実装によって、Java 言語が持つ欠点に対処しています。
記事 2013/6/20
PHP でファイルを読み取るための正しい方法
PHP のさまざまなファイル関数の使い方を学びましょう。まず fopen や fclose、feof などの基本的なファイル関数について調べ、さらに fgets や fgetss、fscanf などの読み取り関数について学びます。そして、1 行か 2 行のコードで全ファイルを処理できる関数についても見て行きます。
記事 2013/6/13
テキスト視覚化アナリティクス・アプリケーションを構築する
テキスト視覚化は、特定のテキストが伝えている内容を視覚的に分析する効果的な方法です。Eclipse とオープンソースのテキスト視覚化アナリティクス・ツールを組み合わせて、2 つのテキストを視覚化して比較するワード・ウェイブ・アプリケーションを構築する方法を学んでください。
記事 2013/6/13
モックアップという意味を持つ Maqetta: 第 2 回 Maqetta でデザインしたモバイル UI 用に JavaScript でカスタム・コードを作成する
Maqetta でデザインしたモバイル・アプリのプロトタイプを、Dojo と Dojo Mobile ライブラリーを使用して JavaScript でカスタム・コードを作成することによって強化してください。
記事 2013/6/13
Java.next: Groovy、Scala、Clojure の共通点、第 1 回
Java.next 言語 (Groovy、Scala、Clojure) の間には、相違点よりも共通点の方が多く、機能や便利さの多くの点で共通する方向に向かっています。今回の記事では、演算子を多重定義できないという Java 言語の昔からの問題に、3 つの言語がそれぞれどのように対処しているかを探ります。また、関連する概念である、演算子の結合規則と優先順位についても説明します。
記事 2013/6/13
万人のためのモバイル: Android の手ほどき
モバイルの世界は明るい見通しに溢れているなか、この世界への道を模索している開発者にとって、Android は有望でエキサイティングなプラットフォームとなります。今回から始まるこの新しい連載では、まず、モバイルに手をつけ始めたばかりの Java 開発者を対象にわかりやすく Android を紹介します。Android の 3 種類のバージョニング・システムについて学び (それが重要なことを理解した上で)、独自の開発環境を構築して初めての Android アプリを構築してください。
記事 2013/6/06
STAF/STAX によるテストの自動化と継続的インテグレーション
リグレッション・テストとインクリメンタル・テストは、数百、あるいは数千もの要件で構成されるアプリケーションをテストする際に重要な役割を果たします。インクリメンタル・テストは手動で実行できる場合もありますが、リグレッション・テストには自動化ツールまたは自動化フレームワークが欠かせません。さまざまなオペレーティング・システム、アーキテクチャー、ミドルウェア・ソフトウェア (アプリケーション・サーバーやデータベースなど) に対応するのであれば、なおのこと自動化フレームワークが差し迫って必要になってきます。この記事では、STAF/STAX テスト自動化フレームワークについて概説し、STAF/STAX を使用して複雑なテスト・ベッドでのテストの自動化と継続的インテグレーションに対応するためのフレームワークを構築する方法を説明します。
記事 2013/6/06
PHP アプリケーションと Instagram の統合: 第 1 回
Instagram は、ユーザーがスマートフォンで写真を撮って、その写真を Web を介して他のユーザーと共有できる、人気の高い写真共有サービスです。アプリケーション開発者は Instagram REST API を使用して、これらの写真を検索し、写真とそれに関連付けられているコメントや「いいね!」の情報を取得することができます。この全 2 回からなる記事では Instagram API を紹介するとともに、Instagram のユーザーが生成した豊富なコンテンツのリポジトリーを利用して革新的な Web アプリケーションを作成するために、この API を PHP で使用する方法を説明します。
記事 2013/5/30
モックアップという意味を持つ Maqetta: 第 1 回 HTML5 を使用したモバイル UI をデザインする
HTML5 対応アプリのプロトタイプを作成するのに、コーディングはもう必要ありません。Maqetta を使えば、手と目の動きを合わせた操作だけでプロトタイプを作成することができます。Maqetta は、デスクトップ・アプリケーションとモバイル・アプリ向けのブラウザー・ベースの WYSIWYG ツールです。全 3 回からなる連載の第 1 回目となるこの記事では、無料のオープンソース・プロジェクト Maqetta を紹介します。Maqetta はブラウザー内で動作し、デザイナーがさまざまなウィジェットをドラッグ・アンド・ドロップすることで、ライブ UI モックアップを組み立てられるようになっています。この第 1 回の記事で、実際のモバイル・アプリのプロトタイプを作成しながら、Maqetta の主な機能について学んでください。
記事 2013/5/30
アジャイル DevOps: サイロを解体する
DevOps を採用するチームでは、ツールを効果的に使用することが不可欠ですが、最大の効率とイノベーションを実現するには、古いスタイルのソフトウェア開発における従来型組織のサイロを解体することが重要です。連載「アジャイル DevOps」の今回の記事では、コミュニケーションを阻害するサイロのスタイルを採用するのではなく、コラボレーションを行う機能横断型チームのスタイルを採用する方向へ、組織を移行させる方法を著者の Paul Duvall が説明します。
記事 2013/5/30
Java.next: Java.next 言語
この記事は、Groovy、Scala、Clojure という 3 つの次世代 JVM 言語の詳細な比較を行うために、Neal Ford によって新たに開始される developerWorks の連載です。この第 1 回では、皆さんが現時点でメインのプログラミング言語として Java を使い続けることにしているかどうかに関わらず、この 3 つの言語の類似点と相違点を理解することによって何が得られるのかを説明します。
記事 2013/5/30
Meteor で簡単なリアルタイム Web サイトを作成する
Web は至るところで広く使用されていることから、データ配信にほんのわずかな遅延があるだけでも、ユーザーをイライラさせることになりかねません。ユーザーはデータが即時に更新されることを期待しますが、あいにく Web テクノロジーは、そのようなリアルタイム・アクセスの要求に完全には追いついていないのが現状です。データ・アクセスについては、オブジェクト・リレーショナル・マッピング (Object-Relational Mapping: ORM) のいくつかのクラスへの標準化が急速に進んでいる一方で、リアルタイム通信にはそのようなソリューションがありません。この記事では、こうした問題を解決することを目指す画期的な新しい JavaScript フレームワークである Meteor について説明します。
記事 2013/5/23
アジャイル DevOps: クラウド内でのソフトウェアの継続的デリバリー
開発部門と運用部門がコラボレーティブな方法で一緒に作業する場合、ソフトウェア・デリバリー・プロセスと変更のパイプラインを 1 ヶ所で管理しなければならないことがよくあります。こうしたニーズに対処するのが継続的デリバリー (Continuous Delivery: CD) プラットフォームです。「アジャイル DevOps」の今回の記事では、DevOps のエキスパートである Paul Duvall が、オープンな CD プラットフォームである OpenDelivery の使い方を説明します。
記事 2013/5/16
アジャイル DevOps: 動的な構成
アプリケーション、環境、そして個々のインスタンスの間で、皆さんは構成値の管理にどれくらいの時間をかけているでしょうか?おそらく皆さんは、予想以上の時間、または認めたくないほどの時間を費やしているはずです。しかし、構成管理にそれほど手間をかける必要はありません。この記事では DevOps のエキスパートである Paul Duvall が、デプロイ時のエラーにつながる可能性がある重複や構成の誤りを削減するには構成データをどのように管理すればよいかを説明します。
記事 2013/5/09
アジャイル DevOps: あらゆるものをバージョン管理する
バージョン管理しなければならないのはどのタイプのソフトウェア・システム成果物なのでしょうか?連載「アジャイル DevOps」の今回の記事で DevOps のエキスパートである Paul Duvall が DevOps チームにお勧めするのは、アプリケーション・コード、インフラストラクチャー、構成、データ、さらには内部システム成果物までもバージョン管理することです。これらのものをすべてバージョン管理することによって、ソフトウェアを迅速かつ頻繁にユーザーに提供できるようになります。
記事 2013/1/24
関数型の考え方: 遅延処理、第 1 回
多くの関数型プログラミング言語に共通する機能に「遅延評価」があります。遅延評価では、式を宣言時に評価するのではなく、必要になった時点でのみ評価します。Java ではこのようなスタイルの遅延処理をサポートしていませんが、いくつかのフレームワークと関連言語がサポートしています。この記事では、Pure Java と関数型フレームワークを使用して Java アプリケーションに遅延処理を統合する方法を説明します。
記事 2012/12/20
ルール・エンジンに対する要件
ビジネス・ソフトウェア・システムでは、保険請求の処理、荷物配送のための経路選定など、複雑で反復的なタスクを扱うのが一般的であるため、これらのタスクを遂行するための特定のビジネス・ロジックのコードがシステムには実装されています。しかし、こうしたシステムは変更に対して柔軟でなければならないため、開発を単純化して変更を迅速にデプロイできるように、手続き型のコードとは独立してビジネス・ルールを実行するルール・エンジンが作成されています。これらのルール・エンジンを使用すれば、基礎となるコードを変更せずにルールを変更することができます。この記事ではビジネス・ルールに関して、要件を表現し、モデル化して、テストを行うことを目的としたツールと手法について説明します。
記事 2012/12/13
SmarterCloud のクラウド・サービス・フレームワーク: 第 1 回 マッシュアップ・サービスを作成する
この全 4 回からなるクラウド・コンピューティングに関する連載の第 1 回を読んで、IBM SmarterCloud Enterprise のクラウド・サービス・フレームワークでマッシュアップ・サービスを作成して登録する方法を学んでください。この記事では著者たちが、サービス・オファリングの詳細を表示する方法、表示された情報を動的に更新する方法、サード・パーティーのソースにあるデータを表示する方法、そしてサービス・インスタンスを管理する方法を説明します。連載の 2 回目以降では、複数のコンポーネントを使ってサービスをプロビジョニングする方法を説明し、ロード・バランサー・サービスやモニター・サービスを使用したプロキシー VM の例を取り上げるのでお見逃しなく。
記事 2012/12/13
OpenSSL API によるセキュア・プログラミング: 第 1 回 API の概要
OpenSSL はセキュアな通信のための最もよく知られたオープン・ライブラリーですが、その API の使い方を学ぶのは一筋縄では行きません。それは、マニュアルの記述が不十分なためです。その欠落している部分をこの記事の情報で補って、API を使いこなせるようになってください。この記事では、基本的な接続をセットアップした後、OpenSSL の BIO ライブラリーを使用して、セキュアな接続をセットアップする方法、非セキュアな接続をセットアップする方法の両方を解説します。さらに、エラーの検出方法についても簡単に説明します。
記事 2012/12/06
OpenSSL API によるセキュア・プログラミング: 第 2 回 セキュアなハンドシェーク
SSL (Secure Sockets Layer) セッション期間中のハンドシェークをセキュアにすることは、極めて重要です。それは、接続に関するセキュリティーのほぼすべてがハンドシェーク内でセットアップされるためです。侵入者が信頼できる発信元になりすます中間者 (Man In The Middle: MITM) 攻撃からSSL ハンドシェークを守る方法を学んでください。この記事では、デジタル証明書の概念、そして OpenSSL API によるデジタル証明書の処理方法についても説明します。
記事 2012/12/06
アジャイル DevOps: テスト駆動型インフラストラクチャー
ソフトウェア業界に、アプリケーション・コードに対する自動テストを作成することが適切なプラクティスであることに疑問を持つ人はほとんどいません。今やチームは、自動テストを作成するプラクティスをインフラストラクチャーと環境にも適用するようになっています。連載「アジャイル DevOps」の今回の記事では、DevOps のエキスパートである Paul Duvall が、Gherkin を採用している Cucumber などのツールを使用して、インフラストラクチャーを対象とした自動テストを作成する方法を取り上げます。スクリプト化された変更をインフラストラクチャーに対して適用するたびに、このようなテストを実行すれば、その変更によって環境にエラーが取り込まれたとしても確実に素早いフィードバックを得ることができます。
記事 2012/12/06

1 - 1054 件のうちの 100 件 | 次へ 概要の表示 | 概要の非表示 検索結果に登録(RSS)