タグ

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

  • GPGPUのキラーアプリケーションは「グラフィックス」 - @IT

    2008/03/06 高度な並列計算を得意とするGPUを、グラフィックス描画という来の目的ではなく、より一般的な計算用途に使おうという「GPGPU」(General Purpose GPU)の利用が広がりを見せてきた。GPUは、CPUに比べて条件分岐などの処理が不得意であるほかキャッシュメモリを搭載しないなどプログラムの実行には不向き。その分、トランジスタをデータ処理に振り向けており、1つのGPUに計算処理ユニットが100以上も搭載されることもある。このため、物理シミュレーションなど科学計算に向く。

  • .NET開発における非同期処理の基礎と歴史(1/2) - @IT

    連載:C# 5.0&VB 11.0新機能「async/await非同期メソッド」入門 第1回 .NET開発における非同期処理の基礎と歴史 鈴木 孝明 2012/08/31 「大事なことは分かっているが、とにもかくにも面倒くさい。」 「非同期処理」というと、そんなイメージがある。開発中の業務アプリなどで非同期処理を実装しなければならなくなったら、大半の方は、何か重たいものを肩に乗せられた気分になり、「待ってました!」などと意気揚々と作業に入ることはないのではないかと思う。もちろん筆者もその1人だ。 それは、通常書いている同期処理と比べてコーディング量が非常に多くなる(多くなった経験がある)ことが最大の理由だろう。「もっと楽に書きたい」というのが開発者の総意であることは間違いない。 そして今回、Visual Studio 2012と同時にリリースされた.NET Framework 4.5と、そ

  • Flexならデータ・バインディングもカンタン(1/3) ― @IT

    Flashベースのリッチクライアントを体験(5) 1/3 Flexならデータ・バインディングもカンタン 電通国際情報サービス 公門 和也 2005/11/8 Macromedia Flex(以下、Flex)は、J2EEアプリケーションサーバ上で動作するプレゼンテーションサーバであり、XMLのタグベースでFlashによるユーザーインターフェイスを定義します。 第3回の記事で、練習用のサイトを作成しました。今回は、第3回で作ったサイトにサンプルを追加していきます。もし、まだ練習用のサイトを作成されていない方は、第1~3回を参考にして、練習用のサイトを作成してください。 第1回 Macromedia Flexのインストール 第2回 Flex開発環境「Flex Builder」のセットアップ 第3回 FlexBuilderで新規アプリの開発に着手しよう ■Flexでのバインディングの概要 今回は、

  • 連載記事 「ApacheによるWebサーバ構築」

    Apacheについて知ろう 連載:ApacheによるWebサーバ構築(1) 「Apache」でWebサーバを構築。今回は、「なぜApacheなのか?」を改めて確認するとともにApacheの概要を解説する

  • 試すのが難しい―機械学習の常識はMahoutで変わる

    ビッグデータ時代―なぜ、いま機械学習なのか Apache Hadoop(以下、Hadoop)の登場で、今まで捨てていたデータ、貯めるだけで処理しきれなかったデータを活用できるようになりました。 活用手段として最近とみに注目されている技術が「機械学習」であり、Hadoopの強みを生かし簡単に機械学習を行うためのライブラリが、「Apache Mahout」(以下、Mahout)です。 稿ではMahoutを動かしてみることで、機械学習の常識を身に付けます。 そもそも、機械学習とは? 機械学習とは、一定のデータをコンピュータ・プログラムに「学習」させ(すなわち、そのデータに潜むパターンや規則性を表す「モデル」を自動的に構築させ)、他のデータにそのモデルを適用すれば、あたかも人間のように複雑で柔軟な判断が行えるようにするという試みです。 機械学習をビジネスに活用した例は、レコメンド(ユーザーや商品

    試すのが難しい―機械学習の常識はMahoutで変わる
  • 綱引きに蛇口当てゲーム?! 楽しく学ぶベイズフィルターの仕組み

    メールの特徴抽出——単語の詰まった袋をモデルとして コンピュータ上でスパム判定を行うためには、まず、判断の材料になるメールの特徴を取り出さなくてはなりません。 あるメールがスパムであるか否かを判断するのに必要な特徴とはなんでしょう。特徴には、メールの長さや、言語、配送元の国、HTMLメールの有無などさまざまな要素を盛り込めますが、多くのスパムフィルターでは、単語などトークンの出現頻度をメールの特徴としています。このように、文書を語の並びを無視して単語の詰まった1つの袋としてモデル化したものを“bag-of-words”といいます。

    綱引きに蛇口当てゲーム?! 楽しく学ぶベイズフィルターの仕組み
  • OpenGL ESが大変な3Dアプリ開発を楽にするUnity

    しかし、初めてOpenGL ESを触る人には、結構とっつきにくいのではないでしょうか? iPhoneで面白いアイデアを思い付き、ゲームアプリを開発したいと思ったときに、プログラマであっても、OpenGL ESを独学で習得することは、多少ハードルが高いことも事実です。 そこで、連載最終回である今回は、まず新規プロジェクトのテンプレートをカスタマイズしていくことで、ピラミッドを描くプログラムを作ってみましょう。 また、デザイナやFlash開発者にとっても、OpenGL ESの習得には大幅な時間がかかることが予想されます。そんな人々にとって有用であるゲーム開発プラットフォーム「Unity」も紹介し、その説明(画面構成やメニューなど)をしながら、簡単なサンプルを作成し、実機のiPhoneにインストールして動かします。

    OpenGL ESが大変な3Dアプリ開発を楽にするUnity
  • Android NDKでJNIを使用してアプリを高速化するには

    Android NDKでJNIを使用してアプリを高速化するには:Androidで動く携帯Javaアプリ作成入門(15)(1/3 ページ) Android NDK最新版でOpenGL ES 2.0をサポート 今回のテーマは「AndroidでJNI(Java Native Interface)を使用したアプリの高速化」です。C/C++やOpenGL ES(※)といったネイティブコードを使うツールなどのセットは、Android NDK(Native Development Kit)として提供されていて、JNIを使用した高速化に欠かせません。 ※OpenGL ES(OpenGL for Embedded Systems)OpenGL ES(OpenGL for Embedded Systems)携帯情報端末や組み込み向けのOpenGLのサブセット。OpenGLは、一般的に普及しているグラフィックス

    Android NDKでJNIを使用してアプリを高速化するには
  • 各ディレクトリの役割を知ろう(ルートディレクトリ編)(2/2)

    各ディレクトリの役割を知ろう(ルートディレクトリ編):Windowsユーザーに教えるLinuxの常識(2)(2/2 ページ)

    各ディレクトリの役割を知ろう(ルートディレクトリ編)(2/2)
  • 各ディレクトリの役割を知ろう(ルートディレクトリ編)(1/2)

    ディレクトリを知ればLinuxが見えてくる Windowsを使っている人であれば、ディレクトリごとに役割や約束事があることはご存じでしょう。 アプリケーションをインストールする場合は、通常\Program Filesフォルダ下にサブフォルダを作ってファイルを保存します。Windows 2000であれば各ユーザー固有の設定は\Documents and Settingsフォルダ下にあり、\WINNTにはOS体のファイルが集められています。各ユーザーが作成したデータの保存先は、ユーザー用の[マイ ドキュメント]であり、ちょっと詳しい人ならこのアイコンの実体が\Documents and Settings\ユーザー名\My Documentsであること、好きなフォルダにマッピングし直せることも知っているでしょう。 しかし、WindowsからLinuxに移行した途端、いままでのセオリーはまったく

    各ディレクトリの役割を知ろう(ルートディレクトリ編)(1/2)
  • ユーザー認証によるアクセス制限(ベーシック認証編)(2-2)

    ベーシック認証の設定 パスワードファイルの作成 ベーシック認証を行うには、ユーザー認証に利用するファイル(パスワードファイル)を作成し、ユーザーを登録するところから始める。ユーザー登録には、Apacheに含まれる「htpasswd」プログラムを利用する。このプログラムは、apachectlなどと同じく、Apacheをインストールしたディレクトリ(/usr/local/apacheなど)のbinの中に保存されている。 htpasswdにオプションパラメータ「-c」を付けて実行すれば、パスワードファイルが新規に作成される。ここでのポイントは、パスワードファイルを作成するディレクトリやファイルの名前は自由に決定できること。パスワードファイルは、システムの中で複数個作成・管理できるということである。後述するが、認証に使用するパスワードファイルは自由に設定できる。従って、複数のパスワードファイル(例

    ユーザー認証によるアクセス制限(ベーシック認証編)(2-2)
  • シェルスクリプトはエレガントでなければならない

    /bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する

    シェルスクリプトはエレガントでなければならない
  • 各ディレクトリの役割を知ろう(サブディレクトリ編)

    巨大な/usrのディレクトリ構造 /usrには、読み出し可能かつ共有可能なファイルを配置します。一般的にいって、ここには多数のファイルが配置され、ディレクトリ構造も複雑になっています。 FHS 2.2におけるサブディレクトリは以下のように定義されています。ここでも、ディレクトリによって「必須」と「オプション」に分かれます。

    各ディレクトリの役割を知ろう(サブディレクトリ編)
  • NoSQLデータベースを使い始める前に

    分散キャッシュは目的に合わせて作る 分散環境で動作するデータベースの読み取りを高速化するには、あらかじめデータのコピーを用途に合わせて「作り置き」しておくことが基的な戦術となります。RDBのデータベース設計では、データ項目の重複の排除など、テーブルの静的構造に論理的な整合性があることを重視し、データの利用に関しては問い合わせ言語(SQLのSELECT文)に任せればよい、という方針で設計すれば済んでいました。 しかし、分散環境におけるデータベースの設計では、静的なデータ構造だけでなく、「どのような目的でデータベースにアクセスするのか」とか、「アプリケーションはどういった形のデータを求めるのか」といった利用時の要件も考慮してテーブルを設計する必要があります。 つまり、これまでのようにデータベース設計の段階では、まず正規化しておいてデータ取得時の加工処理はRDBMSに任せる、というアプローチが

    NoSQLデータベースを使い始める前に
  • @IT:次世代プロトコルWebDAVの可能性 技術仕様徹底解説

    将来、SambaやCVSを不要にしてしまう可能性を秘めたプロトコル「WebDAV」。まだ開発途上にあり、そのポテンシャルを完全に発揮しきっているとはいえないが、今後重要な存在となるだろう。これから、このWebDAVの技術仕様からLinuxでのWebDAVサーバ構築までを解説する。 これまで、Webといえば読む動作が大半であった。CGIをはじめとするさまざまな仕組みを準備することによって、特定の条件下においてファイルやデータをサーバに送り込むことはできたものの、決して「自由に」ということにはならなかった。 また、Webページの更新にしてもFTPなどの古いプロトコル経由で転送しなければならない。それらのプロトコルにもセキュリティ上の問題が発生することがしばしばあったし、クライアント/サーバ間の接続にも気を使うことが多かった。 しかし、WebDAVの規格ができてからは、この様子が変わってくる。「

    @IT:次世代プロトコルWebDAVの可能性 技術仕様徹底解説
  • @IT:logrotateの設定ファイルで指定できる主なコマンド

    syslogの保存期間を変更するにはおよびchkrootkitのログをローテートするにはで説明したlogrotateは、設定ファイルでさまざまなコマンドを指定できる。 logrotateの設定ファイルの書式は、以下のとおり。

  • Google Voiceはやっぱりすごかった - @IT

    Web業界は電話関連ビジネスを飲み込もうとしているのではないか。もう1年以上も前になるが、2010年5月に米国に出張した際に、そういう印象を受けた。といっても、VoIPのことではない。電話帳がSNS内のソーシャルグラフで置き換えられるということとも、ちょっと違う。電話の音声サービス全般のことだ。これは、VoIP普及以上にインパクトのある技術トレンドなのではないかと思うのだ。 そう感じた理由の1つ目は、米国で一般ユーザー向けにも提供が始まった電話・音声サービス「Google Voice」を使ってみて、その使い勝手の良さに舌を巻いたこと。今さら、Google Voiceがどうしたの? と思う人もいるかもしれないが、改めて検索してみて、どうも日にはGoogle Voiceのインパクトが全く伝わっていないように感じている。 もう1つは、Twilioというベンチャー企業の存在を知ったことだ。久しぶ

  • @IT:Snortでつくる不正侵入検知システム 第1回

    ※ご注意 稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。また、稿を利用した行為による問題に関しましては、筆者および株式会社アットマーク・アイティは一切責任を負いかねます。ご了承ください。 「IDS」という言葉をご存じだろうか。IDSとは「Intrusion Detection System」の略で、日語では「侵入検知システム」と訳される。この連載ではフリーのIDSであるSnortを題材に、IDSのインストールから運用までを解説していきたいと思う。 IDSとは何か 「IDSとは一体何なのか」。そう疑問に思った方は少なくないであろう。簡単にいえば、「ネットワークを流れるパケットに対してあるパターンに合致しているか否かを判定し、合致している場合はあらかじめ定められた処理を行う」ものである。 「あらかじめ定められた処理」とは具体的にどのような処理なのかというと、

    @IT:Snortでつくる不正侵入検知システム 第1回
  • SassでCSSの弱点を克服しよう (1/2)- @IT

    maedana SonicGarden SUG(SKIP User Group)/日Hamlの会 2009/5/22 Railsを使ったWebアプリケーション開発で、プログラマやデザイナを悩ませるものの1つがスタイルシートの記述だろう。Sassを使って、“クールで構造化された”スタイルシートを記述してみよう(編集部) Sassとは、Syntactically Awesome StyleSheetsの頭文字を取ったものです。あえて日語に訳すと、「かっこいい構文のスタイルシート」といった感じでしょうか。 もう少しシンプルに表現すると「クールなCSS(Cascading Style Sheets)」でもいいかもしれません。Sassはスタイルシートを簡潔に表現するためのメタ言語であり、同時にSassからCSSを生成するための便利なライブラリやコマンドラインツールを提供します。 Sassを使うと

  • Subversionによるバージョン管理

    Subversionのコンパイル&インストール 下準備ができたところで、Subversionのインストールに取り掛かりましょう。 Subversionのアーカイブ入手と展開 まず、Subversionのtarボールを入手、展開します。tarボールは、File Sharingメニューの1つ(http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=74)から入手可能です。今回は、原稿執筆時点での最新版であるsubversion-r2291.tar.gzを使用しました(注)。 注:Subversionで管理されているリポジトリからスナップショットを取得する手もありますが、ここではtarボールで配布されているものを紹介します。

    Subversionによるバージョン管理