タグ

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

  • 実践! 「MapReduceでテキストマイニング」徹底解説

    青空文庫」をテキストマイニング! 前回の「いまさら聞けないHadoopとテキストマイニング入門」では、Hadoopとテキストマイニングの概要や構成、MapReduceの仕組み、Hadoopの活用場面などを解説し、Hadoopの実行環境を構築しました。今回から、Hadoopを使い、テキストマイニングのMapReduceプログラムを作成していきます。 「青空文庫」というサイトをご存じでしょうか。青空文庫は、著作権が切れた日の文学作品を掲載しているWebサイトで、青空文庫の全データをDVDや、BitTorrentによる配信で入手できます。今回は、このデータを使ってテキストマイニングを行いましょう。 前回、テキスト分類で、著者の性別、年齢、地域、職業などの属性も推定できると書きましたが、青空文庫は、他のデータにはない、著者属性があります。青空文庫の作品は、著作権が切れて、作者がなくなっている場

    実践! 「MapReduceでテキストマイニング」徹底解説
  • スマホ用JavaScriptフレームワーク5つ+1を徹底研究(1/5) - @IT

    スマホ用JavaScriptフレームワーク5つ +1を徹底研究 jQuery Mobile、iUI、jQTouch、 Sencha Touch、Wink toolkit、PhoneGapとは アシアル株式会社 鴨田健次 2011/6/22 スマートフォン向けJavaScriptフレームワーク/ライブラリを使うと、スマートフォンアプリっぽい見た目のページデザイン、UI(ユーザーインターフェイス)パーツやページ遷移アニメーションを簡単に実装できます。多くは、おのおののフレームワークのルールにのっとったHTMLを書くことで、それらの機能を実現します。 稿では、jQuery Mobileを筆頭として、いくつか発表されているスマートフォンサイト向けJavaScriptフレームワークを紹介します。 ■ PCサイト向けJavaScriptフレームワークについて PCサイト向けJavaScriptフレー

  • いまさら聞けないHadoopとテキストマイニング入門

    ビッグデータ時代の救世主「Hadoop」とは 「Apache Hadoop」は今、最も注目を集めている技術の1つです。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 Hadoopを活用している企業は年々増え続けていて、不可欠な技術になりつつあるといえるでしょう。 連載では、Hadoopとは何か、Hadoopがどう活用できるのかということを、「テキストマイニング」に焦点を当てて解説していきたいと思います。 重い処理を複数のマシンに分散させる 複数のマシンに処理を分散させるには、プロセス同士の通信、監視、障害時の対応などを考えなければならず、プログラマにとってハードルが高いものです。しかし、Hadoopはそういった面倒くさい処理を一手に引き受けてくれ、プログラマは、やりたい処理だけに集中できます。 例えば、Hadoopを使うと、1

    いまさら聞けないHadoopとテキストマイニング入門
  • クロスブラウザはもう古い! HTML5+CSS3時代のプログレッシブ・エンハンスメント

    IE 9が登場! ユーザーの閲覧環境がますます多様化! 4月26日、ついに日でもInternet Explorer(以下、IE) 9が公開されました。また、マイクロソフトは早くもIE 10のプレビュー版を公開しており、CSS3やJavaScript周りが、さらに強化されるなどリッチなWeb表現が加速してきています。 IEのみならず、Firefox、Safari、Google Chrome(以下、Chrome)など他のWebブラウザもすさまじい勢いで進化してきており、スマートフォンやタブレットPCなどのデバイスも続々と開発され、ユーザーの閲覧環境がますます多様化してきています。 そうした流れの中で、必然的に欠かすことができなくなる知識が、この「プログレッシブ・エンハンスメント」という概念です。 プログレッシブ・エンハンスメントって何? Webブラウザや端末などの閲覧環境が多様化してきていま

    クロスブラウザはもう古い! HTML5+CSS3時代のプログレッシブ・エンハンスメント
  • GoogleのMapReduceアルゴリズムをJavaで理解する

    ■分散処理のMapタスクを実行する「MapTask」クラス 前述のとおり、MapReduceアルゴリズムでは、MapタスクとReduceタスクという2つのタスクに処理を分けて実行します。ここでは、Mapタスクに対応するMapTaskクラスを用意します。このプログラムは単純で、次のように、与えられた文字列を先頭から読み込んで、keyが文字、valueが1であるEntryオブジェクトを生成して、listへ追加するものです。 public class MapTask { // 指定された文字列から生成されるEntryのリスト public java.util.List<MapEntry> list = new java.util.LinkedList<MapEntry>(); public void execute(String target) { byte[] bs = target.getB

    GoogleのMapReduceアルゴリズムをJavaで理解する
  • 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
  • 「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門

    「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門:ユカイ、ツーカイ、カイハツ環境!(21)(1/4 ページ) CIツール「Hudson」改め「Jenkins」とは 「Jenkins」とは、CI(継続的インテグレーション)ツールとして有名な「Hudson」の開発者たちにより開発されているCIツールです。Hudsonは商標上などの問題によりJenkinsと名前を変えて継続することが発表されたので、記憶に残っている方も多いと思います。現在では落ち着いて開発されているようです。 稿では、今話題のJenkinsの使い方を紹介します。記事の想定読者は、Java開発を行っている方で、「今までCIを導入していなかったけどこれから導入しよう」「Jenkins(Hudson)は使えそうだけど、難しそうだなぁ」と思っている方を対象としています。稿を読めば、10分程度でJe

    「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門
  • Javaで覚えるIT技術者の40の常識 - @IT

    ~新人プログラマ/SEは覚えておきたい“まとめ”~ @IT編集部 2011/3/24 このページは、開発者/プログラマが、以下のような項目に関して、常識的な基礎知識を学ぶための記事リンクのまとめです。 デスクトップなどの見た目に関する3つの常識 プログラミング・コーディングに関する6つの常識 ネットワーク/通信に関する9つの常識 セキュリティに関する3つの常識 データとファイルに関する5つの常識 設計・アーキテクチャに関する6つの常識 ソフトウェアの品質管理に関する3つの常識 業務アプリに関する5つの常識 Java SE(旧、J2SE)のコアAPIやJSP/サーブレット+StrutsのWebアプリケーション開発、JBossやその他のJavaオープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • 「中の人たち」が大同団結、公的機関Webサーバの負荷分散進む - @IT

    2011/03/16 東北関東大震災の避難生活や復興作業に当たって、「情報」の重要性が見直されている。しかし、自治体や医療機関が独自に用意していたWebサーバではアクセス集中に耐えきれず、せっかくの情報が伝わらない事態が生じていた。 この問題に対し、国内の通信事業者やデータセンター、クラウドの「中の人たち」が自発的に解決に取り組んでいる。負荷が高いサーバの情報をTwitterなどを通じて交換し、クラウド基盤や仮想サーバを活用してミラーサーバやキャッシュサーバを構築(http://hope.viops.jp/など)。IIJも公共自治体サイトの情報ミラーサイトを構築(http://cache.iijgio.com/)し、多数の人がアクセスできる環境作りを進めている。 当初は自発的に始まった取り組みだが、政府機関もその有用性に着目した。例えば文部科学省の「都道府県別環境放射能水準調査結果」や東北

  • エンジニアが身に付けるべき、5つのビジネススキル

    エンジニアが身に付けるべき、5つのビジネススキル:仕事を楽しめ! エンジニアの不死身力(10)(1/2 ページ) 前回は、「一目置かれるエンジニアになるための『セミナー活用法』」についてお話ししました。周りから認められるようになれば、ますますエンジニア仕事が楽しくなってくると思います。エンジニアとしてさらに活躍するためには、さまざまなビジネススキルを身に付け、広い視点を持つ必要があります。 前回の記事を書いていたとき、筆者がエンジニアだったころにビジネススキルがないために困ったこと、恥ずかしい思いをしたことを思い出しました。いまエンジニア時代を振り返ると、「このスキルをエンジニア時代に身に付けていたら、もっと役立っただろうな……」という思いもあり、現役のエンジニアの皆さんにお伝えしたくなりました。 そこで、今回は、「エンジニアが身に付けるべき、5つのビジネススキル」についてお話ししたいと

    エンジニアが身に付けるべき、5つのビジネススキル
  • Web2.0の先にあるC10K問題 ― @IT

    個々のクライアントがサーバに要求する処理量は小さなものでハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする――。これが最近Web開発者の間で話題となっている「C10K問題」(クライアント1万台問題)だ。 プロセス番号が足りなくなる パンクするのは例えばプロセス番号だ。 Ajaxの実装として最近注目されている技術に“Comet”(コメット)と呼ばれるものがある。HTTPのセッションをあえて切断せずに、サーバとクライアント間でつなぎっぱなしにするテクニックだ。Cometを使えばクライアントからのリクエストに応えるだけでなく、サーバ側からも不定期に情報を送り出すことができる。例えば、Web上でチャットサービスを実装するには、通常はクライアント側からサーバに一定間隔でポーリングすることで、ほかのユーザーの発言分をサーバから取得して表示するが、Cometの

  • サーバサイドJavaScriptの本命「node.js」の基礎知識

    稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様

    サーバサイドJavaScriptの本命「node.js」の基礎知識
  • MVCとRailsの基本構成を学ぼう

    Web開発フレームワークとして人気の高いRuby on Railsの最新版、バージョン3を使ってWebアプリ開発の基を学びます。 人気のフレームワークでWeb開発を学ぶ Ruby on Railsは、いまやWebアプリケーションの開発フレームワークの有力な選択肢の1つとなっています。Ruby以外の言語のWebアプリケーションフレームワークも少なからずRailsの影響を受けているので、現在Rubyを使っていないエンジニアにとっても、Railsを知ることは大いに参考になるはずです。もうすぐRails3認定試験が格的に開始されるということもあり、この連載では、試験範囲の流れに沿って、Railsの基礎についてご紹介していきます(ただし、必ずしも試験対策というわけではありません)。 今回、連載第1回として記事では、Railsを理解する上で基となる考え方であるMVCについて説明した後、Rail

    MVCとRailsの基本構成を学ぼう
  • 「われわれは100倍、速く書ける」――PFI 西川徹

    「天才」と呼ばれるプログラマたちが自ら会社を立ち上げるとどうなるか。その答えが知りたければ、あるベンチャー企業に注目すればいい。IT業界で注目を集めるテクノロジーベンチャー「プリファードインフラストラクチャー」の社長に話を聞いた。 特集「学生起業家たちの肖像」、最終回は現在、最も注目を集めているテクノロジーベンチャーの1つ、プリファードインフラストラクチャー(PFI)の代表取締役社長 西川徹氏に登場してもらった。東京大学大学院に在学中、ACM国際大学対抗プログラミングコンテスト(ACM/ICPC)の世界大会に出場したメンバーと設立した会社は、自然言語処理の分野で日増しにその存在感を大きくしている。 今回は特別に、連載「天才プログラマに聞く10の質問」でおなじみ、Lispハッカーの竹内郁雄氏にインタビュアーをお願いした。2人の濃密な対談の様子を余すところなくお届けする(以下、敬称略)。 出会

    「われわれは100倍、速く書ける」――PFI 西川徹
  • ようこそJavaScriptの世界へ

    JavaScript格的なプログラミングの世界に触れてみよう。連載を通じて実用的なアプリケーションを作れるようになるはず!?(編集部) JavaScriptってよく聞くけど何だろう? JavaScriptは、Webブラウザ上で動かすことのできる簡単なプログラム言語です。HTMLだけでは動くWebページはできませんが、JavaScriptを使うとWebページにさまざまな動きを入れることができるようになります。 プログラム言語と聞くと、なんだか難しそうに感じてしまうかもしれませんが、心配はいりません。 講座は、HTMLは分かるけどプログラムを書いたことがないという人や、デザインは得意だけどプログラムは全然分からない! 文科系で数学は苦手! という人が理解できるような入門講座として、JavaScriptの基から進めていきます。 用意するものはメモ帳などのテキストエディタとWebブラウザだ

    ようこそJavaScriptの世界へ
  • 「1人ブレスト」や「タスク管理」ができるEvernoteとは(1/4)- @IT

    それではEvernoteの各機能をチェックしてみましょう。 さまざまなデバイスに対応している WindowsMaciPhoneWindows Mobileなどのデバイスに対応しています。Webブラウザからでも各種機能を利用することができます。 使いやすい専用クライアントがある iPhoneWindows Mobile、MacWindows向けの使いやすい専用クライアントが提供されています。 同期の仕組みがある 複数のデバイスでEvernoteを使っていても、専用クライアントが自動でデータの同期を行ってくれます。 画像内の文字を検索することができる Evernoteには検索機能があるのですが、写真に写っている文字も検索対象となります。ただし現在は残念ながら日語には対応していません。 Webクリップ機能 ブックマークレットを利用することによって、IE、Firefox、Safari、

    「1人ブレスト」や「タスク管理」ができるEvernoteとは(1/4)- @IT
  • 「ハチロク世代」がIT業界を変える日

    IT/Web業界を席巻(せっけん)した「ナナロク世代」から10年。1986年生まれの「ハチロク世代」がIT業界を変える日が迫っている。コミュニティ「ハチロク世代」中心メンバーの座談会から、新しい世代がIT業界にもたらす変化を探る。 特集「『ハチロク世代』がやってくる」の最終回は、実際の「ハチロク世代」にご登場願おう。 そもそも「ハチロク世代」という言葉は、今回登場するコミュニティのメンバーが「ナナロク世代」のパロディとして名付けたものである。 「ナナロク世代」とは、1976年前後に生まれたWeb系企業の起業家や技術者たちを指す。mixiの笠原健治氏、はてなの近藤淳也氏、GREEの田中良和氏、paperboy&co.の家入一真氏、DeNAの川崎修平氏、Six Apartの宮川達彦氏、ニワンゴのひろゆき(西村博之)氏などがそれに当たる。 Web上のさまざまなサービスやビジネスを生み出した世代か

    「ハチロク世代」がIT業界を変える日
  • 日本人がつまずかないためのiPhone開発のポイント − @IT

    よくつまずくポイントはこれだ! iPhoneアプリは大きく分けて下記のような流れでAppStoreに公開されます。 ここではコニットが実際につまずいた点や、ネットでよく見るつまずきポイントなどをご紹介します。これらの点に気を付け、スムーズにiPhone開発ができるといいですね。(コニットの紹介記事はこちら→ニッポンのiPhoneアプリヒットメーカーたちに続け!) 1. Developer登録 <登録> 登録情報は日語で書いてはいけない アプリ制作を始めるためには、まずAppleIDを取得し、Apple Developer Connection(ADC)登録後、iPhone Developer Programを購入しなければなりません。 この際に氏名を日語で書いてしまうと、iPhone Developer Programが購入できず、前に進めなくなってしまうので要注意です。 氏名に限らず

    日本人がつまずかないためのiPhone開発のポイント − @IT
  • Podcastでプログラマーに必要な英語をStudyしよう!

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) いまの仕事に「英語」は無用! 当に? 昨今では、コンピュータ関連の翻訳書や日人著者の書籍も増え、大抵の分野であれば、日語で最先端の技術的情報を取得できるようになりました。ただ、最新の技術情報や、ニッチな領域の奥深い情報の場合、どうしても最新の洋書や、論文、英文のWebページの情報などに頼っているプログラマ・エンジニアも多いことでしょう。 また、海外で開催されるカンファレンスのQ&Aや、BOF(birds of a feather)などのミーティングの場合、英語力が即、理解力や情報伝達力に反映してきます。 自分は日にいて、日人相手に仕事をしているから「英語」なんて関係ないと思

    Podcastでプログラマーに必要な英語をStudyしよう!
  • ニッポンのiPhoneアプリヒットメーカーたちに続け!

    発売から8カ月、盛り上がる一方のiPhoneアプリ制作市場。ニッポンのApp Storeのヒットメーカーにその秘けつと落とし穴を聞いた 連載目次 ランキング上位で売れ続けるポケットギター 音楽ビジネスにおける「インディ(インディペンデント)」に倣い、個人や小規模組織の独立したアプリ開発者を「インディ開発者」と定義し、iPhoneアプリによる世界進出を鼓舞したコラム「ニッポンのインディよ! iPhoneの『予想外』にカワイイ系で打って出よ」を書いてから8カ月が経過した。その後のiPhone用アプリを販売するApp Storeの盛況ぶりはいまさら語るまでもない。そして、「ポケットギター」「フィンガーピアノ」といったアプリで“成功”を勝ち取った日のインディも登場しているのはご存じのとおり。今回は、iPhoneというプラットフォームをベースに活躍するインディたちの近況をお伝えしつつ、iPhone

    ニッポンのiPhoneアプリヒットメーカーたちに続け!