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

  • Hadoopによるテキストマイニングで著者の寿命を推定する | gihyo.jp

    @ITの連載記事「テキストマイニングで始める実践Hadoop活用」の第2回です。この連載ではテキストマイニングを行うHadoopプログラムを作成する方法を解説することで、実際にどうHadoopを活用すればよいかをイメージしてもらうことを目的としています。第1回ではHadoopやMapReduceの概要、環境構築などを解説しています。第2回では著作権が切れた文学作品を集約したWebサイト「青空文庫」のデータを利用し学習させ、任意のテキストからそのテキストを書いた人の寿命を推定するプログラムをHadoopを使って作る方法について解説しています。 はじめはアルゴリズムについてです。テキストからbag-of-wordsと呼ばれる各単語の出現回数を表したデータ構造に変換し、著者の寿命を教師信号[1]に設定します。そして両者間の関係をうまく成立させるための関数を求めるべく、なるべく誤差(損失)が小さく

    Hadoopによるテキストマイニングで著者の寿命を推定する | gihyo.jp
  • 第2回 冗長性症候群~条件分岐をUNIONで表現するなかれ | gihyo.jp

    ここはとある街の総合病院。 ここには通常の診療科のほかに、一風変わった診療科が存在する。 何軒もの病院をたらいまわしにされた、手の施しようのないSQLや、今すぐに改善が必要なSQLが担ぎ込まれる救命室である。 それがSQL緊急救命室、略してSER(SQL Emergency Room⁠)⁠。 そう、ここは国内でも唯一のプログラミング専門外来である。 ロバート救命室部長。腕の立つエンジニアだが、口が悪く性格はもっと悪い四十オヤジ。 (AM10:00 休憩室。ワイリーが机に向かって一人で何かしている) どってぃろーんどってぃろーん、ぽぽぽんぽーん、どってぃろーん…

    第2回 冗長性症候群~条件分岐をUNIONで表現するなかれ | gihyo.jp
    TzlTTqTj
    TzlTTqTj 2011/10/10
  • 第1回 とにかく、今すぐ「お知らせ」だけMTで更新できるようにしたい(1) | gihyo.jp

    最低限のMTカスタマイズで企業サイトをCMS化するためのテクニック MTをCMSとして使いたいけど、なんだか敷居が高いまま挫折してしまったデザイナーの皆さんにお聞きします。 「MTのインストール方法やMTでできることはいろいろなところで語られているのでだいたい理解できた。でも、いざMTのカスタマイズをしようと思って、ドキュメントや書籍を見ても自分のやりたいことがすぐにわからない。MTの概念とか、MTタグの種類とか、テンプレートの種類とか、変数とか、覚えることが多すぎて、結局何もわからず諦めてしまった……⁠」⁠。そんな経験はありませんか? この連載ではサンプルサイトを通して必要最低限の操作と最低限のMTタグで、1つの企業サイトをMT化していく過程をシンプルに、誰にでもわかるように解説していきます。ここで紹介するカスタマイズのテクニックは必要最低限、MTの機能の一部分でしかありませんが、いつの

    第1回 とにかく、今すぐ「お知らせ」だけMTで更新できるようにしたい(1) | gihyo.jp
  • 第4回 データモデルの設計と実装 | gihyo.jp

    gihyo.jp/dev/serial/01/ios-sdk/0003"">前回はUINavigationViewControllerとUITableViewControllerを使って起動直後の一覧画面を作成しました。今回はデータモデルオブジェクトを設計・実装していきます。 データモデルの設計と実装 それではデータモデルの設計から入ります。今回は一つの目標をTargetオブジェクトで表し、Targetオブジェクトを管理するオブジェクトをTargetManagerとします。 クラス図は以下のとおりです。クラス図はastahの無料版であるastah communityで作成しました。 モデルのクラス図 まずはTargetオブジェクトを実装します。これは目標名と目標時間、達成度を保持するだけの簡単なオブジェクトです。 Targetオブジェクト Target.h @interface Targe

    第4回 データモデルの設計と実装 | gihyo.jp
  • 第6回 UNIXプログラミングの勘所(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはJapanizeやText::MicroTemplateなどで有名な奥一穂さんで、テーマはUNIXプログラミングです。 はじめに 「正しいプログラム」を書くために必要な知識とはなんでしょうか。テストが正しく実行されることは、正しいプログラムであるための必要条件に過ぎません。プログラミングにおいてはプログラミング言語だけでなく、OSの動作やデータベース、ネットワークプロトコルなど、さまざまな知識が必要になります。 PerlはもともとUNIX系のOS(LinuxやFreeBSD、Mac OS XなどのOSを稿では以下UNIXと総称します)の上で処理を行うためのスクリプト言語として開発され、今日でもPerlプログラムの多くはUNIX上で実行されています。しかし、「⁠Perlでプログラミング」と言った場合はともすれば

    第6回 UNIXプログラミングの勘所(1) | gihyo.jp
  • 第5回 仕様整理に「デシジョンテーブル」を使ってみよう | gihyo.jp

    はじめに 複雑な仕様を整理する。テスト担当者の仕事の1つはこれです。 ソフトウェアが仕様通りに動くかどうかを確かめるのがテストの役目です。ですが、複雑な条件が絡み合った仕様をテストする場合には、まず仕様を把握し、理解しなければなりません。これがなかなか骨の折れる作業です。 もちろん、この悩みはテスト担当者に限ったことではなく、開発設計者にとっても同じように悩ましい問題でしょう。次から次へとクライアントから降ってくる、追加の要求を、すっきりと仕様に整理して、不具合のないシステムを作ることは決して簡単な仕事ではありません。 とりわけ、やってくる要求は既存のシステムの仕様とは無関係にやってきます。追加の仕様を設計、実装する際には、既存の仕様と整合性をとらなくてはなりません。「⁠とりあえず⁠」⁠、で修正してみたものの、テストをしてみると、不具合が発覚。再度修正したら今度は別のところで不具合が発生…

    第5回 仕様整理に「デシジョンテーブル」を使ってみよう | gihyo.jp
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp

    ハンガリーの企業でCTOを務めるKristof Kovacs氏による記事です。各主要NoSQLプロダクトについて機能比較や利用ケースなどをまとめています。この記事ではCassandraやRedisなど6つのプロダクトを挙げています(表1⁠)⁠。 CouchDBは使い勝手に優れており、双方向レプリケーションやリアルタイム更新をサポートしています。Redisは非常に高速なことが売りで、トランザクションや変更監視の機能が備わっています。Cassandraは書き込みが読み込みよりも速いことから銀行や金融などのリアルタイムなデータ解析が必要になる分野で実力を発揮し、Cassandraと同じくJavaで作られているHBaseは億単位の行と数百万のカラムというBig Dataを扱え、月に1,000億を超えるメッセージを処理するFacebookのバックエンドに採用されています。 次々にプロダクトが生まれた

    Cassandra、MongoDB、Redisなど主要NoSQL比較 | gihyo.jp
  • 第1回 はじめに ─iPhone/iPadアプリケーション開発方法の各特徴─ | gihyo.jp

    この連載では、iOS SDKによるiPhone/iPad開発について解説します。現在iPhone/iPadアプリケーションを開発するには、Xcode/Interface Builderを用いた標準的な開発手法の他に、WEBアプリケーション+ネイティブアプリケーションのハイブリッド型開発手法、PhoneGapやTitanuim Mobile, Corona SDKといったサードパーティライブラリによるクロスプラットフォームアプリケーション開発手法などいくつか選択肢があります。 連載ではObjective-Cによるネイティブアプリケーション開発に焦点をあてますが、初回はこれらの開発手法の特徴を確認しておきましょう。 XcodeとInterface Builderを使った開発 XcodeとInterface Builderを使った開発は、iPhone/iPad向けのアプリケーション開発手法とし

    第1回 はじめに ─iPhone/iPadアプリケーション開発方法の各特徴─ | gihyo.jp
  • 第1回 x86仮想マシンことはじめ | gihyo.jp

    ここ数年、インテルx86系プロセッサを使ったコンピュータ(以下x86システム)で仮想マシンを利用する機会が増えています。 x86システムの上で仮想マシンを使うのはこれまで開発者をはじめITエンジニアが多かったように思いますが、企業のサーバ統合などに広く使われるようになり、今ではWindows 7にXP Modeが搭載されるなど、デスクトップ環境においても広く見かけるようになりました。このように仮想マシン技術はとても身近なものとなってきています。 また、仮想化は、コンピュータリソースの柔軟かつ効率的な運用管理を実現するために用いられ、クラウドコンピューティングの基盤にも用いられる重要な技術のひとつとなっています。 このように、x86システムの仮想化技術はたいへん注目されていますが、その仮想マシン技術がどのようなギミックで実現されているのかを知っているITエンジニアの方は、まだまだ少ないように

    第1回 x86仮想マシンことはじめ | gihyo.jp
  • NIPS2010における発表論文に見る、機械学習最前線 | gihyo.jp

    なお、劣モジュラー性についてさらに知りたい方は、チュートリアル[3]が参考になります。 昨年のNIPSでの動向 それでは、昨年のNIPSでの動向を見てみましょう。 Bach[4]は、L∞ノルムが劣モジュラー関数のロヴァース拡張から導出できることを示すことにより, 劣モジュラー性とスパース性との関係を示しました。さらに, この洞察から教師あり学習で用いることができる新しい3つのノルムを提案しました。また、勾配法や近接法が劣モジュラー関数最適化に使えることを示し, 実験によりL1,とL2ノルムを用いるより精度が良いことを示しました。 Stobbe and Krause[5]は、劣モジュラー関数を凹関数の和として分解できる新しいクラス(decomposable submodular function)を定義し, カット問題, マルコフ確率場の最適化, 集合被覆問題などがその新しいクラスの最小化問

    NIPS2010における発表論文に見る、機械学習最前線 | gihyo.jp
  • ストレージ進化論:第1回 DASからネットワーク・ストレージへの進化|gihyo.jp … 技術評論社

    コンピュータにおけるストレージは、演算に必要なデータの保存場所であり、演算結果を残しておくための記録の場でもありました。質的にはRAMメモリと同じ役割ですが、低速な分大容量を安価で揃えられる、というのがメモリとストレージが別々に用意された理由だと言えます。しかし、そうした初期のストレージからは想像もつかないほど、現在のストレージは進化を遂げ、高機能化しています。 DASの問題点 DAS(Direct Attached Storage)とは、コンピュータに直接接続されたストレージを指します。 一般的なPCは、内蔵HDDという形でDASを使っていますし、サーバでも筐体内にHDDを搭載することはまだ普通に行われています。PCユーザにとってはあまりに日常的な形態のため、この方式に何か問題があるとは思わないのが普通でしょう。むしろ、PC1台で作業環境が完全に完い結し、必要なデータが全て常に手元にあ

    ストレージ進化論:第1回 DASからネットワーク・ストレージへの進化|gihyo.jp … 技術評論社
  • 連載:ついにベールを脱いだJavaFX|gihyo.jp … 技術評論社

    第10回サウンドとムービー、そしてProduction Suite 櫻庭祐一(さくらばゆういち) 2009-01-24

    連載:ついにベールを脱いだJavaFX|gihyo.jp … 技術評論社
  • ソフトウェア開発の必須アイテム、BTSを使ってみよう 記事一覧 | gihyo.jp

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

    ソフトウェア開発の必須アイテム、BTSを使ってみよう 記事一覧 | gihyo.jp
  • 【PHPで作る】初めての携帯サイト構築 記事一覧 | gihyo.jp

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

    【PHPで作る】初めての携帯サイト構築 記事一覧 | gihyo.jp
  • 第1回 PCサイトと携帯サイトの違いを知る | gihyo.jp

    携帯サイト開発で考慮すること PCサイトの作成経験者が初めて携帯サイトを作るときには、どのような所に違いがあるのかをまず認識しなければなりません。PCサイトの場合ブラウザの数も限られており、またそれぞれの動作も大きくは異なりませんが、携帯サイトではキャリアはもちろん機種ごとにも動きが変わってきてしまいます。そして携帯サイトはPCと違い、ブラウザのバージョンアップができません。そのため広く使ってもらうサイトを作るには古い機種にも対応しなければならず、多種多様な仕様の端末を想定して開発をしていく必要があります。そのため開発の前にどのような点に気をつけなければならないかをきちんと認識しておく必要があります。 携帯サイトの開発において、最初のポイントは「携帯端末で画面を正しく表示すること」です。PCサイトと同じように携帯サイトを作成すると、画像が表示されなかったり、画面レイアウトが崩れたりといった

    第1回 PCサイトと携帯サイトの違いを知る | gihyo.jp
  • 連載:ソースコード・リテラシーのススメ|gihyo.jp … 技術評論社

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

    連載:ソースコード・リテラシーのススメ|gihyo.jp … 技術評論社
  • 連載:良いコ―ドへの道―普通のプログラマのためのステップアップガイド|gihyo.jp … 技術評論社

    最終回 配列/コレクションを利用した抽象化―その5 Step4:配列/コレクション化して抽象化する 縣俊貴 2009-05-18

    連載:良いコ―ドへの道―普通のプログラマのためのステップアップガイド|gihyo.jp … 技術評論社
  • Javaフレームワークの比較検討資料公開 | gihyo.jp

    点数のみを見るとWicket、Guice、Cayenneが良い評価を得ています。ただし評価したブログ記事筆者は「JSPはマイナス評価」「⁠Wicketに習熟している」「⁠Springはライセンス関係で敬遠した」など独自の観点も盛り込んでいるため、あくまで一つの検討材料として見るのがよいでしょう。 公開資料には、各層別の評価ポイントに対してそれぞれのフレームワークがどのように対応しているかを、コード例を交え解説しているドキュメントが含まれています。コンテナ層の評価ポイント「他のフレームワークとの親和性」にて、Wicketはどのコンテナとも統合機能を持っていますが、Seasar 2のS2WicketはWicketの最新バージョン1.4では動かないことを指摘しています。 ここでは親和性の「有無」についてのみ評価がされていますが、親和性の「度合い」についても見ていくとより違いがはっきりとわかりそう

    Javaフレームワークの比較検討資料公開 | gihyo.jp
  • DHH曰く、「高まった生産性を、仕事を余計にこなすためではなく自分の将来に向けて使おう」 | gihyo.jp

    濃縮還元オレンジニュース DHH曰く、「高まった生産性を、仕事を余計にこなすためではなく自分の将来に向けて使おう」 技術系ポッドキャストサイト「IT Conversations」で配信している、Ruby on Railsの開発者DHH(David Heinemeier Hansson)氏による講演内容をまとめた記事です。 DHH氏は全体に渡って「開発者としての自分への投資を行い続けよう」と主張しています。Railsを使った開発はほかの言語やフレームワークと比べて生産性に優位があるとし、その生産性によって得た余剰時間をさらなる開発には使わず自己投資に費やすことを勧めています。 DHH氏が心がけていることに次のようなものがあります。 仕事に関係しない活動をして、仕事で使わない脳を鍛える 長時間寝る ネットの時間を減らし、読書に費やす ビジネスやデザインなど、プログラム以外の分野の知識を持つ コ

    DHH曰く、「高まった生産性を、仕事を余計にこなすためではなく自分の将来に向けて使おう」 | gihyo.jp
  • 1