タグ

ブックマーク / atmarkit.itmedia.co.jp (25)

  • WebGLの能力を引き出すプログラマブルシェーダー

    WebGLの能力を引き出すプログラマブルシェーダー Webページ上で利用できるグラフィック技術を紹介する連載も、ついに最終回となりました。フィナーレを飾る題材は、WebGLの最も強力な機能である「プログラマブルシェーダー」です。前回(多彩な表現力のWebGLを扱いやすくする「Three.js」)と同様にThree.jsの使用を前提として、プログラマブルシェーダーの基的な書き方と、Three.jsを各機能に組み込む方法を解説します。 前回はThree.jsの代表的な機能を解説し、いずれもWebGLでなければ実現の難しいものばかりでした。しかし、実はそれでもWebGLの能力のごく一部を使っているにすぎません。独自のプログラマブルシェーダー(カスタムシェーダー)を書くことができれば、描画処理の大部分を柔軟にカスタマイズでき、望み通りの表現を得られます。Three.jsの使い方に慣れたら、ぜひ

    WebGLの能力を引き出すプログラマブルシェーダー
    nbqx69
    nbqx69 2012/11/29
    Three.js GLSL
  • 気になる“モノ”をRT!? 「byflow」を使ってみた - @IT

    2011/04/25 Googleジャパンの“卒業生”たち4人が新サービス「byflow」を立ち上げた。アメリカではGoogle退職して起業する例は非常に多いが、日では珍しい。byflowは「Twitterのモノ版」ともいえそうな、コンシューマ向けサービスだ。昨年9月に3人で開発をスタートし、4月20日に招待不要の一般公開ベータ版となった。FacebookかTwitterGoogleのアカウント、またはOpenID(Yahoo! Japanやmixi、はてな、livedoorなど)があれば、誰でも利用できる。 書籍、CD、モノがどんどんTLに流れてくる byflowは、ユーザーが持っているモノや音楽CD、映画などを“アイテム”として登録するサービス。登録したアイテムの傾向から趣味の似た人やお勧めのアイテムを紹介する。アイテムごとに「持ってる」「好き」「嫌い」「気になる」(未所有も

    nbqx69
    nbqx69 2011/04/27
    clojureでできてる
  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

  • ここまでできる! CouchDBパワーアップ作戦

    これまでの連載を通して、CouchDBの基的な概念と使い方、アプリケーションの作成方法までを解説してきました。ここからはさらに一歩踏み込んで、CouchDBDBサーバやAPサーバとして実際に運用するときに役に立つ機能を紹介していきます。具体的には、次の3つのテーマを取り扱います。 全文検索を導入すれば、CouchDB内にあるすべてのドキュメントを対象に、特定のキーワードを指定して検索できます。ユーザー認証では、例えばDBの管理者権限を特定のユーザーのみに付与できます。ユーザー認証はまだ充実しているとはいえないレベルですが、現時点ではどのような選択肢があるかを紹介していきたいと思います。最後にCouchDBへの負荷を分散させる方法として、CouchDBのインスタンスをノードとして複数用意し、各ドキュメントを分散して配置するやり方を紹介します。これらの手段を目的に応じて生かすことができれば

    ここまでできる! CouchDBパワーアップ作戦
    nbqx69
    nbqx69 2010/03/20
    全文検索・認証・負荷分散
  • Android Market配布を目指しEclipseでHelloWorld! (1/3) - @IT

    Android Market配布を目指しEclipseでHelloWorld!:Androidで動く携帯Javaアプリ作成入門(1)(1/3 ページ) 連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Marketでの配布を目指しましょう。ドコモやauでも端末が発売されるAndroid。その前に自分が作ったアプリを配布できるようにしておくと大きなチャンスです! Android Marketでアプリを配布しよう 2008年7月、日のケータイ市場(連載では、携帯電話/PHS/スマートフォンなどの端末をまとめて「ケータイ」と表記します)に黒船として来航し、巻き起こされたiPhone旋風は記憶に新しいと思います。これまでになかったスタイリッシュなデザインと操作性で、新しい物好きが飛び付いたわけですが、それとは別の旋風がIT業界でも起こ

    Android Market配布を目指しEclipseでHelloWorld! (1/3) - @IT
  • Gaucheでテンプレートエンジンを作る

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 前回「GaucheでRDBプログラミング」に続き、Webプログラミングです。WebアプリケーションやGUIアプリケーションのように、人との対話があるアプリケーションは一般にMVCを採用しています。 MVCとは、計算やデータ処理部分のモデル、表示部分のビュー、全体の流れを制御する部分のコントローラにモジュールを分割して作る技法です。 MVCを採用すると、変更に強いメンテナンス性の高いソフトウェアになるといわれています。実際に、多数のWebアプリケーションフレームワークがMVCを採用しています。 前回のRDBプログラミングはモデル部分の中心になるものでしたが、今回はビューの部分を作っていきましょう。 HTMLの生成 Webアプリケーションでは、Webブラウ

    Gaucheでテンプレートエンジンを作る
  • App Store登録もOK!JavaScriptで作るiPhoneアプリ

    Webアプリケーションは、傾きセンサやGPSからの情報取得やバイブレータ動作などのOSの機能の利用に制限があります。また、オフラインでの動作ができません。 開発の容易さは、若干主観めいてしまいますが、コンパイルが必要でメモリ管理も必要なネイティブアプリに比べて、Webブラウザでリロードするだけで最新のコードをテストできて、基的にメモリ管理も不要なWebアプリケーションに軍配が上がります。 ネイティブアプリケーションの最大のメリットは、「App Storeでの配布ができる」ことで、多くのユーザーが集まるApp Storeでアプリケーションを配布でき、さらには課金もできてしまう点です。 ローカルWebアプリという第3の選択肢 前段の機能比較表に「ローカルWebアプリケーション」という項目があります。これは、Safariでオンライン中に所得したHTMLCSS、画像データなどを保存して、オフラ

    App Store登録もOK!JavaScriptで作るiPhoneアプリ
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • 芸術の秋にProcessingでスケッチプログラミングを始めてみよう(1/3) - @IT

    芸術の秋にProcessingでスケッチプログラミングを始めてみよう:絵心がなくても簡単に絵が描けるProcessing(1)(1/3 ページ) アートやデザインのための“プログラミング” 読者の皆さんは「プログラミング」という用語や、それをすることに、どんなイメージを持っているでしょうか。仕事に使われるアプリケーションやWebサービスの開発の世界の「プログラミング」を考えてみると、多くの場合「実用性や効率が重んじられ、専門的な知識を持ったエンジニアプログラマーが慎重に正確に行うもの」といったイメージではないかと思います。 しかし一方で、実用性ではなくスクリーンに表されるイメージや動きの美しさ、見るものを引き込むインタラクションのアイデアをプレゼンテーションする「プログラミング」の世界も存在します。エンジニアではなくアーティストやデザイナーが、驚きやインスピレーションを求めて大胆に「プロ

    芸術の秋にProcessingでスケッチプログラミングを始めてみよう(1/3) - @IT
  • MapReduceのJava実装Apache Hadoopを使ってみた (1/3) - @IT

    MapReduceのJava実装Apache Hadoopを使ってみた:いま再注目の分散処理技術(後編)(1/3 ページ) 最近注目を浴びている分散処理技術MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) Apache Hadoopプロジェクトとは何か? 特集では、いま再注目の分散処理技術についていろいろと紹介してきました。前編の「GoogleMapReduceアルゴリズムをJavaで理解する」では、分散処理技術で最近注目を浴びているものとして、グーグルMapReduceアルゴリズムを紹介し、中編の「イロイロな分散処理技術とイマドキのWebサービス」では、MapReduceに至るまでのさまざまな分散処理技術Webサービスについて紹介しました。 そのMapReduceアルゴリズムをJavaで実装したも

    MapReduceのJava実装Apache Hadoopを使ってみた (1/3) - @IT
  • 綱引きに蛇口当てゲーム?! 楽しく学ぶベイズフィルターの仕組み

    付き合いたくないスパムと付き合うために 受信者の意向を無視して、一方的に送りつけられる迷惑メール(スパム)は、いまやメールボックスを雑音でいっぱいにしてしまい、大事なメールを見過ごしかねないほどの量に膨れ上がり、大きな問題となっています。 残念ながら、このようなスパムを発生源から断つような根的な対策はいまだになく、私たちは、せめてメールサーバで受け取った大量のメール群からスパムと大事なメールを仕分けしてくれる仕組みに頼らざるを得ません。 スパムを判定する方法は、次の2つに大別することができます。 稿では前者の方法に着目します。メールを受け取った人にとっては、メールの中身を読めば、そのメールがスパムかそうでないかを判定するのは容易なことです。スパムの定義は、メールを読む人によって変わる可能性があります。例えば、まったくゴルフをしない人にゴルフの勧誘メールが来た場合はスパムといえるでしょう

    綱引きに蛇口当てゲーム?! 楽しく学ぶベイズフィルターの仕組み
    nbqx69
    nbqx69 2008/03/07
  • Excelからプログラムを作る多言語対応オープンソース(1/4)―@IT

    ソースコード自動生成の黒歴史を塗り替えるブランコ Excelからプログラムを作る多言語対応オープンソース NTTデータ ビジネスブレインズ 伊賀敏樹 2007/12/25 開発現場の夢をかなえるブランコ ソフトウェア開発をしていて、「設計書を書き終わったら、そのままソースコードができちゃったらいいな」なんて思ったことはありませんか? この記事では、まさに「設計書Excelブック形式)からソースコードを自動生成」してしまう「blanco Framework」(Sourceforgeのページ)というツールの紹介をします。 blanco Frameworkが提供しているExcel様式に、Microsoft Office(Excel)やOpenOffice.orgを使って所定の必要項目を記入すると、Java、.NETJavaScriptPHPRubyPythonのソースコードが自動生成で

  • まつもと×笹田、Ruby 1.9を語る ― @IT

    2007/12/25 「そういえばあのretryの話、どう思う?」、「誰も使ってないから害悪が多いっていう話は説得力ありますよね」、「じゃあなくすか……、うん、なくしといて」、「あ、決まっちゃった(笑)」――。 まつもとゆきひろと、笹田耕一。いま、世界が注目するプログラミング言語「Ruby」の生みの親と、開発コアメンバーの2人は、こともなげにRubyの仕様を記者の目の前で変更してしまった。Rubyの開発はどのように行われ、どこへ向かおうとしているのか。現行のバージョン1.8系から大きく様変わりする次期開発版「Ruby 1.9」のリリースを12月25日に控えた2人に、師走の秋葉原で話を聞いた(文中、敬称略)。 Rubyの仕様は密室で決まる!? 冒頭に紹介した2人の会話は、「retry」というRubyの文法の2種類ある使い方のうち、これまでほとんど使われた形跡がない方を文法仕様から取り除くかど

  • ソニー、アップル効果? PostgreSQLが反撃開始 − @IT

    オープンソースのデータベースサーバ「PostgreSQL」は、現在普及している「MySQL」の陰に隠れているものの、徐々に移行ユーザーを獲得しつつあると、支持者らが主張している。 開発が始まった1980年代以来、PostgreSQLは、長い時間をかけて技術的な進歩を遂げてきた。当初は「Postgres」と呼ばれていた。支持者らは、今日のPostgreSQLは十分な先進性を備えた、開発者の利用に耐えうるものであり、プロプライエタリ製品に取って代わる安価なオープンソース製品の代表格となったと述べている。 10月に発表された、「Independent Oracle Users Group」(IOUG)の会員226名を対象にした最新調査結果によれば、オープンソースおよび「Express」版データベースを使用している回答者の74%が MySQLユーザーである一方、PostgreSQLを利用しているの

  • 日本初のハッカー、和田先生が語る「ハッカー気質」 ― @IT

    ハッカーというのは自分で“ハッカー”と名乗るのではなくて、いろいろやっているうちに人からそう呼ばれるもの」――。集まった500人を超えようかという聴衆に向かって、そう語り出したのは東京大学名誉教授の和田英一先生だ。日の計算機科学分野のパイオニアで、最近ではハッピーハッキングキーボードの監修などで知られる和田先生こそ、“日最初のハッカー”として知られる人物だ。和田先生の講演で幕を開けた軽量プログラミング言語イベント、「Lightweight Language Spirit」をレポートする。 週末が似合うLL言語 8月4日土曜日、東京・一ツ橋のホールでRubyPHPPythonに代表される軽量プログラミング言語(以下、LL言語)のファンが集う年に1度のイベント「Lightweight Language Spirit」(以下、通称のLL魂を使用)が開催された。同イベントは2003年に「

    nbqx69
    nbqx69 2007/08/08
    和田先生。かっこいい。
  • グーグル、Webアプリをオフライン対応にする「Google Gears」開発 - @ITGoogle GearsはWebブラウザの拡張として機能する

    2007/05/31 米グーグルはWebアプリケーションをオフラインでも利用可能にする技術Google Gears」を開発した。5月31日の「Google Developer Day」で公開する。グーグルが提供するAPIを組み込むことで、ネット接続が前提のWebアプリケーションを、ネットに接続していない状態でも利用できる。米グーグルGoogle Gears担当プロダクトマネジャーのオスマン・ララキ(Othman Laraki)氏は「Google Gearsはオフラインでアプリケーションが使えないWebブラウザの問題に対する回答だ」と話した。 Google Gearsは3つのAPIで構成する。APIはWebアプリケーションでやり取りするデータをローカルディスクにストアする「ローカルサーバ」、アプリケーションでデータを使えるようにする「データベース」、ローカルデータとネット上のアプリケーシ

  • 「Javaに並列処理と関数型言語の要素を」、ティム・ブレイ氏 ― @IT

    これまでCPUはムーアの法則に従って高速化してきたが、今後、CPUは高速化よりも並列化が進む。「これまでは動作の遅いプログラムでも、来年には高速に動くというのが常識でした。しかし、これはもはや現在の状況には当てはまりません」。サン・マイクロシステムズでWebテクノロジー関連のディレクターを務めるティム・ブレイ(Tim Bray)氏は、近い将来にプログラマが直面する問題は、CPUのコア数が増えてハードウェアの並列化が進むのに対して、現在使われている言語の多くで並列プログラミングのサポートが十分でないことだという。 「UltraSparc T1では8コア32スレッドの並列処理が可能です。IBMやAMD、インテルもCPUのコアの数を増やしつつあります。JavaEEを使えばスレッドサポートによる並列化の恩恵にあずかれますが、そうでない言語も多くあります」。 ブレイ氏は、こうした問題に対して2つの方

  • 巨大SNSを支える多言語混在RPC開発フレームワーク“Thrift” ― @IT

    2007/04/03 全米で第6位のトラフィックを稼ぐ人気SNSサイト「Facebook」のコアモジュール「Thrift」がオープンソースとして公開された(公式ブログ)。ライセンスは独自の「Thrift Software License」(改変や再配布を許容している点はGPL同様のようだ)。Facebookは学生向けSNSとして2004年にスタートし、その後、学生以外にも会員を拡大。2007年2月現在の会員数は1700万人。アップロードされている写真点数は10億枚以上で、1日600万枚の画像がアップロードされるなど、画像共有サイトとして見てもFlickrよりも大きい。そんな急成長した巨大サイトを支えたのは、独自に作り上げた開発フレームワークだったようだ。 多数の言語で開発したモジュールをシームレスに統合 Facebookが、開発フレームワークとして自ら作成したのがThriftだ。“thri

  • ディレクトリサービスの仕組みと活用 第5回 LDAPアプリケーション入門

    今回から2回にわたって、ディレクトリを社内でさらに活用していく観点から、LDAPプログラミングの概要と展開を説明していきます。また、プログラミングを理解する過程で、LDAPディレクトリの構造そのものへの理解も深められることでしょう。 LDAPプログラミングのススメ LDAPを使ったユーザー検索で最もニーズが高いのは、メールアドレスの検索や社員情報の検索でしょう。これはエンドユーザーに向けた社内サービスと言えます。しかし最も不満の残りやすいサービスとも言えます。例えばWindowsに標準で付いてくる「人の検索」やメーラーのアドレス帳といったアプリケーションでは、表示される項目が固定されているため必要とされる詳細な情報が表示されなかったり、日語でうまく表示されない場合も多々あるからです。 これらの原因は既成のアプリケーションをそのまま社内で流用しようとしているところにあります。もともとこれら

    ディレクトリサービスの仕組みと活用 第5回 LDAPアプリケーション入門
  • アルファ公開したアドビ「Apollo」を早速使ってみた ― @IT

    2007/03/19 FlashやHTML(Ajax)、PDFなどWebベースの技術を使ってクライアントアプリケーションを開発できる、米アドビ システムズのウィジェット技術Apollo」の開発者向けアルファが、3月19日にアドビのWebサイトで公開された。「脱Webブラウザ」を標榜するApolloはどのような技術なのか。アルファ版をダウンロードし、サンプルアプリケーションを試してみた。 アドビが公開したのは、Apollo対応アプリケーションを稼働させるためのランタイムと、Apolloアプリケーションを開発するためのSDK。ApolloWindowsLinuxMacで稼働するクロスプラットフォームが特徴だが、今回のアルファ版ではWindows版とMac版のみを用意している。Linux版は今後の対応になる。 SDKはFlashやHTMLPDFなどで作成したデータをアプリケーションにま