タグ

ブックマーク / gihyo.jp (23)

  • VR開発の基礎「移動と酔い対策」を点検しよう | gihyo.jp

    連載では、全4回の記事を通してVRの長所と短所を解説しながら、魅力的なVRコンテンツ開発の制作方法を解説します。 第2回では、どんなVRコンテンツでも真っ先に検討する必要のある「移動」と「VR酔い対策」についてUnityのセッティングとセットで解説します。VRコンテンツにまったく触れたことのない方はもちろん、すでにVRコンテンツに触れている方にとっても有用な備忘録となるはずです。 第1回ではVRの魅力と開発環境の導入について説明しました。しかし、いざ自分のアイディアを実現するべく手を動かそうにも先に考えたり決めなければいけないことが膨大にあると気づくはずです。現実の身体の動きと連動できるVRにおいて、真っ先に検討しなければならないのは、プレイヤーの「移動」をどう実装するかです(図1⁠)⁠。また「移動」は、カメラの制御(=プレイヤーの視界範囲の制御)や、VR酔いへの対策とも密接に関連します

    VR開発の基礎「移動と酔い対策」を点検しよう | gihyo.jp
  • 第16回 Google App Engine上でRailsを動かす | gihyo.jp

    はじめに 前回はGoogle AppEngine(GAE)の概略と、GAEとRailsの相性は悪くはないのではないか(良いとは言い切れないところが少し苦しいですが)という話をしましたが、その結果GAEの話ばかりでソースコードもほとんど出てこない、Rubyとあまり関係のない内容になってしまいました。今回はそれを埋め合わせるべく、実際にRailsで小さなサンプルを作成してGAE上で動作させるまでを説明したいと思います。それではさっそくRubyの話に進みましょう。 RailsをGAEの上で使うために GAEはDBとしてBigTableを使っているのでActiveRecordが使えないことについては前回書きました。それでは ActiveRecordを使っていないRailsアプリなら特別な作業をせずに簡単にGAE上で動かせるのでしょうか?結論から言うと、残念ながらそんなことはありません。GAE上で初

    第16回 Google App Engine上でRailsを動かす | gihyo.jp
  • 連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社
  • 第3回 クラウド上でスケールアウトするシステムの作り方と実例 | gihyo.jp

    今回から2回に分けてWakameの基的な使い方を説明します。前提の知識としては、Amazon Web Servicesのアカウント(AWSアカウント)をお持ちでAWS Management Console等を使い、仮想マシンの起動を行ったことがある方を対象としています。 Amazon EC2へのアクセスやAWSアカウントの準備については、過去の特集「はじめてのAmazon EC2&S3 ~これからの新サービスの公開の形~」を参考になさるか、以下のオンラインの記事を参考にしてください。 Amazon EC2、インスタンスを立ち上げてみた Amazon EC2/S3を使ってみた - まとめ (⁠目次) システムをスケールアウトさせるための考え方 まず、Amazon Auto Scalingがそうであるように、WakameもAMI(Amazon Machine Image)の単位でインスタンス

    第3回 クラウド上でスケールアウトするシステムの作り方と実例 | gihyo.jp
  • 第14回 DataMapperの使い方 | gihyo.jp

    DataMapperのコンポーネントは、基的にクラスではなくモジュールとして提供されているため、アプリケーションで利用するモデルクラスにインクルードして使います。 Resourceモジュールをインクルードすると、自動的にModelモジュールがextendされ、PersonクラスはModelクラスとして振る舞うようになります。これは図1のPersonに相当します。 図1のPerson Mapperに相当する仕組みはRepositoryです。Repositoryは、create, update, delete, read_one, read_manyなどの、データストアに対する基的な操作のインターフェイスを規定します。Modelクラスは、Repositoryへの参照を持っていて、 Modelクラスによるデータストアへのアクセスは、全てRepositoryを介して行われます。この際、データス

    第14回 DataMapperの使い方 | gihyo.jp
  • 第3回 Kaiの詳細(1) ─Kaiの要であるクラスタを極める | gihyo.jp

    前回、Kai のインストールと基的な使い方を説明しましたので、今回は、Kai最大の特徴であるクラスタついて詳しく説明します。 なお、前回同様、連載が対象とするKaiのバージョンは0.4、ErlangのバージョンはR13Bです。 データの保存・取得とリクエストの転送 memcachedでは、クライアントがデータの場所を決定します。このため、クライアントは、クラスタを構成するすべてのmemcachedノードを把握していなければなりませんでした。 一方Kaiでは、ノードがデータの場所を決定し、クライアントからのリクエストを適切なノードに転送します。クライアントは、すべてのノードを把握する必要がありませんし、L4ロードバランサで機械的に負荷分散することもできます。また、クラスタへノードが追加されても、クライアントのノード一覧を修正する必要がありません。 では、前回、構築した3ノード構成のクラス

    第3回 Kaiの詳細(1) ─Kaiの要であるクラスタを極める | gihyo.jp
    hyoromo
    hyoromo 2009/06/17
  • 第4回 Railsでの開発は本当に簡単か? | gihyo.jp

    Ruby連載の第4回目にあたる今回は、Webスケジューラ作成をちょっとお休みして、Ruby on Rails(以下Rails)ではアプリを当に簡単に作成できるのかを実験してみましょう。 連載では、@YMCのVPSサービスを用いて説明を進めていきます。利用するVPSサービスにより細かな違いはありますが、大きな流れは同じですから、ご利用の環境に合わせて読み替えてください。 “とりあえず動く”アプリを作ってみる プロジェクトの作成 いきなりですが、名前と電話番号、メールアドレスからなる人名録を作ってみましょう。以下のコマンドを実行します。 $ rails -d mysql addrbook 引数のうち、「⁠-d mysql」はDBエンジンにMySQLを使用するという指定、「⁠addrbook」は作成するプロジェクトの名前です。どんな名前でも構いませんが、わかりやすくて長すぎない名前がいいでし

    第4回 Railsでの開発は本当に簡単か? | gihyo.jp
  • "Wakame"で始めるクラウドコントロール 第2回 クラウド上でサーバ構成を管理するための考え方と仕掛け

    構成管理ミドルウェアはシステム管理者となる 複数サーバを管理するシステム管理の経験をお持ちの方は、構成管理のためのツールを日常的に利用しているかと思います。自作の物である場合もあるでしょうし、商用・無償を含む多くのパッケージもすでに存在しています。構成管理のツールとして単純な例は、makeとsshを組み合わせたものがあげられると思います。サーバのホスト名のリストを用意しておき、それらに対してssh接続し、必要なコマンドを順番に走らせることができれば十分に作業の効率化に貢献します。 前回、Wakameがターゲットとしているクラウド型ホスティングでは、APIによるサーバ・仮想マシンの管理ができることで作業の自動化可能な範囲が飛躍的に広がったということを説明しました。 これまで比較的変化が少なかったサーバ構成に、ダイナミズムが加わりました。そのため、新たな課題が表面化することになります。 例えば

    "Wakame"で始めるクラウドコントロール 第2回 クラウド上でサーバ構成を管理するための考え方と仕掛け
  • 第2回 Kai の基礎 ─Kaiのインストールと基本的な使い方 | gihyo.jp

    また、Erlangの公式サイトではWindows向けにインストーラ付きのバイナリも提供されています。 ここでは、公式サイトからソースコードをダウンロードし、CentOS 5.3上でコンパイルする方法を説明します。 なお、執筆時のErlangの最新バージョンはR13Bであるため、連載ではR13Bを用いて説明します。しかし、Kaiの推奨バージョンはR12B以上ですので、ご利用のプラットフォームが提供するErlangパッケージのバージョンがR12B以上であれば、そちらをご利用されても差し支えありません。 もし、パッケージからErlang をインストールするのであれば、インストールの説明をスキップし、Erlang VMの起動まで進んでください。 Erlangのソースコードは、Erlangの公式サイトから取得できます。 ダウンロードページからR13Bのソースコード(53.1 MByte)をダウンロ

    第2回 Kai の基礎 ─Kaiのインストールと基本的な使い方 | gihyo.jp
    hyoromo
    hyoromo 2009/06/10
  • 第1回 ガジェットAPI | gihyo.jp

    2009年5月28日、Googleのデベロッパーカンファレンス「Google I/O 2009」のキーノートにおいて大々的に発表されたGoogle Waveは、聴衆に熱狂を持って迎えられました。そのキーノートにおいてスピーカーは「Google WaveはProductであり、Platformであり、Protocolだ」と述べました(編注⁠)⁠。 連載ではその3つのPの内の2つ目、PlatformとしてのGoogle Waveについて説明します。 編注 著者執筆のGoogle I/O 2009のイベントレポート記事も参照ください。 なお、Google Waveは現在も急ピッチで開発が進められているプロダクトであり、連載に掲載する画面遷移・ソースコードなどは最新ではない可能性があります。記事に沿って作業していて違和感を覚えた場合にはGoogleの公開しているドキュメントを適宜参照してくださ

    第1回 ガジェットAPI | gihyo.jp
  • 第1回 クラウドをコントロールするということの意義 | gihyo.jp

    誰もが大規模インフラを試せる時代がやってきた 第1回では、クラウドコンピューティング環境のひとつとして、プログラマから見たAmazon EC2の魅力と、そのような環境を使いこなすためのオープンソースソフトウェアWakameについて概要を紹介いたします。 私たち開発者はWebシステムのスケールアウトについてのベストプラクティスを世界中から得ることができます。 利用するプロダクトを各々スケールアウトさせるノウハウがやっと一般的になってきましたが、運用まできちんとまとめられたものはまだこれからと言う状況です。 それもそのはず、スケールアウトさせられるほどインフラに投資された環境で、実際に運用をしてみた技術者は少ないのです。 昨今、運用業務が効率化できると言うこともあって、インフラの仮想化技術に注目が集まるようになりました。 仮想化技術は究極のポータビリティを実現し、物理的に結ばれたハードウェアと

    第1回 クラウドをコントロールするということの意義 | gihyo.jp
  • 第18回 知っておきたいApacheの基礎知識 その14 | gihyo.jp

    ネットワーク回線が遅くて、どうしてもパフォーマンスが出ないなんてことを経験したことはありませんか?回線の問題がサービスを提供している側だけでおきているなら、単純に回線を太くすればよいですね。しかし、ユーザ側のネットワーク回線が遅い場合はどのようにすればよいのでしょうか。 ユーザ側の回線を速くすることはできないので、その遅い回線を利用してどうにかしてパフォーマンスをあげる必要があります。 今回は、ユーザの回線が遅い場合に効果的なモジュールを紹介していきたいと思います。 遅い回線でパフォーマンスを出すためには? それではユーザ側の回線が遅い場合にできることは何があるのでしょうか?基的に、パフォーマンスを出すための方法は、1つしかありません。 「転送するコンテンツの総量を減らす」ことに尽きます。 まず、手っ取り早くできることは画像サイズを小さくすることです。とくにデジカメで撮った写真をリサイズ

    第18回 知っておきたいApacheの基礎知識 その14 | gihyo.jp
  • 第11回 標準になったjsonモジュール | gihyo.jp

    jsonモジュール WebアプリケーションなどではJavaScriptと連携させることが珍しくないと思います。Python3.0および、Python2.6ではJSON(JavaScript Object Notation)をサポートするためのjsonモジュールが標準として追加されました。これにより、手軽にPythonJavaScript間でデータのやりとりを行うことができるようになりました。 基的な使い方 jsonモジュールの基的な使い方はPickleと同じです。文字列にして返すにはdumps、ファイルオブジェクトの場合はdumpを使用します。同様に、文字列からPythonのオブジェクトにするためにはloadsを使用し、ファイルオブジェクトから読み込む場合にはloadを使います。 リスト1 dumpsを使った例 import json s = json.dumps( list(ran

    第11回 標準になったjsonモジュール | gihyo.jp
    hyoromo
    hyoromo 2009/06/04
  • memcachedを知り尽くす 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    memcachedを知り尽くす 記事一覧 | gihyo.jp
  • 第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp

    はじめに 第7回はRails以外のWebフレームワークの簡単な紹介と、SinatraでHello Worldアプリケーションを動かすところまでを解説しました。今回はSinatraで実際のアプリケーションを作り、SequelとHamlという2つのライブラリを紹介します。 Sinatraの特徴は、CGIスクリプトのようにファイル一つからアプリケーションが書ける気軽さです。CGIスクリプトといえば、代表的なものは何と言っても掲示板(BBS)です。そこで、今回はSinatraで掲示板アプリを作ってみました。ソースコードが少し長めなので、githubにて全文を公開しています。適宜参照しながら読み進めて下さい。ファイル構成は以下のようになっています。 start.rb アプリケーションの体。 model/comment.rb 掲示板の書き込みを表すモデルの定義。 view/index.haml トッ

    第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp
  • 第2回 チューニング② Java VMによるメモリ管理 | gihyo.jp

    はじめに 現在のWebシステム開発・運用で踏まえるべき新しい技術的な取り組みについて、日立のアプリケーションサーバ(APサーバ)であるCosminexus(コズミネクサス)の製品群を題材として取り上げながら解説する連載、前回は流量制御およびDB(I/O)の最適化について触れました。 第2回は、Java仮想マシン(Java VM)によるメモリ管理が主題です。Webシステムにおいては、JavaVMのメモリ管理機能であるガベージコレクション(GC)が性能劣化を引き起こすことが知られています。ここでは日立が開発したJava VMにおけるメモリ管理技術や、日語処理の高速化を中心に解説します。 GCの基的なしくみと問題点 GCとは、作業領域のうち使用済みの領域を破棄して空き領域を整列させるしくみのことです。Java VMでは、自身が管理するメモリ領域(ヒープ領域)において使用されなくなった領域の

    第2回 チューニング② Java VMによるメモリ管理 | gihyo.jp
  • はじめてのAmazon EC2&S3 〜これからの新サービスの公開の形〜:第1回 仮想マシンレンタルサービスAmazon EC2、大容量ストレージサービスAmazon S3を使ってみよう|gihyo.jp … 技術評論社

    はじめてのAmazon EC2&S3 ~これからの新サービスの公開の形~ 第1回仮想マシンレンタルサービスAmazon EC2、大容量ストレージサービスAmazon S3を使ってみよう はじめに Amazonはネット最大のオンラインショップサイトとして非常に有名ですが、同時に、書籍情報などを取得できるAmazon Associates Web Service(A2S。旧名Amazon ECS)というWebサービスを積極的に展開していることでも有名です。 一般的にAmazonWebサービスと言えばA2Sですが、実はA2SはAmazon Web Services(AWS)の一部に過ぎません。AmazonはA2S以外にも、開発者向けにさまざまなサービスを提供しています。AWSで現在提供されているサービスを表1にまとめました。 表1 Amazon Web Servicesのサービス

    はじめてのAmazon EC2&S3 〜これからの新サービスの公開の形〜:第1回 仮想マシンレンタルサービスAmazon EC2、大容量ストレージサービスAmazon S3を使ってみよう|gihyo.jp … 技術評論社
  • JavaによるGoogle App Engineクラウドプログラム開発 | gihyo.jp

    Google App EngineでJavaが使用可能に 米Googleは2009年4月7日(米国時間⁠)⁠、PaaS(プラットフォーム・アズ・ア・サービス)型クラウドコンピューティング環境のGoogle App Engine(以下GAE)で、これまでのPythonに加えてJavaに対応(以下GAE for Java)したことを明らかにしました。開発者や利用実績が多いJavaに対応することで、GAEのユーザ数が一気に増えることも考えられます。 図1 Google App EngineサイトでのJava対応アナウンス Java対応GAEの機能の概要 GAEのクラウド環境はJava 6で稼働しますが、プログラム作成はJava 5およびJava 6のどちらでも可能とされています。プログラムはJava Servletでの作成が基ですが、他にJSPやServletから呼び出されるJavaBeans

    JavaによるGoogle App Engineクラウドプログラム開発 | gihyo.jp
    hyoromo
    hyoromo 2009/04/16
  • 第7回 小規模Webアプリのためのフレームワーク、Sinatra | gihyo.jp

    はじめに あなたは「Ruby」と聞いて最初に何を思い浮かべますか? オブジェクト指向スクリプト言語であること、プログラミングの「楽しさ」を重視して設計された言語であること、最近新しいバージョンである1.9.1がリリースされたこと……。 Rubyにはいろいろな特徴がありますが、Rubyという単語からすぐに「Ruby on Rails」を思い出す方も多いのではないでしょうか。Ruby on Rails(以下Rails)は2004年に公開されたRuby用のWebアプリケーションフレームワークで、その生産性の高さから注目を浴び、Rubyの名前を広めることにも大きく貢献しました。 ですが、JavaPHPPerlPythonなど、他の言語の世界ではいくつものフレームワークがしのぎを削っているのに対し、Rubyの世界においてはRailsの完成度の高さから、長らくライバル不在の状況が続いてきました。

    第7回 小規模Webアプリのためのフレームワーク、Sinatra | gihyo.jp
  • 第5回 Ruby 1.9 の新機能ひとめぐり(後編): 知っておくとお得な機能 | gihyo.jp

    前編では1.9の目玉機能を、中編では文法や意味論の改善について紹介しました。 後編である今回は、知っておくとお得な機能を取り上げたいと思います。きっとあなたのRubyライフを快適にするでしょう。 鬼車による正規表現の強化 1.9では正規表現エンジンに鬼車を採用したため、鬼車による拡張機能が利用可能になりました。 名前を使った参照 マッチした部分文字列を、$1や$2のようなインデックス番号ではなく、名前で参照する機能がつきました。 コード1 正規表現のマッチ部分を名前で参照する # (?<foo>...) にマッチした部分を $~[:foo] で参照できる if "Taro Yamada" =~ /^(?<first_name>\w+) (?<last_name>\w+)$/ p $~[:first_name] #=> "Taro" p $~[:last_name] #=> "Yamada"

    第5回 Ruby 1.9 の新機能ひとめぐり(後編): 知っておくとお得な機能 | gihyo.jp