タグ

ブックマーク / xtech.nikkei.com (23)

  • 「FF6」の新たなバグを発売25年後に見つけたテスト技術者の腕前

    1994年に発売された大人気ゲーム「ファイナルファンタジーVI(FF6)」(スーパーファミコン版)をやりこみ、2019年になっても未発見の「バグ」を見つけ出し続けている人がいる。ここ数年、熱心なゲームファンを何度も驚かせているのが、「エディ」のハンドルネームで知られるプレーヤーだ。必須のイベントをクリアせずに先に進める方法を見つけ出し、毎年のようにゲームクリアまでの「歩数」の最少記録を更新している。 記事でいうバグとは、ゲーム開発者が意図していなかったと推測される仕様を含む。特別な操作をすると通常とは異なる挙動となり、いわゆる「裏技」が可能になる。 FF6スーパーファミコン版はスクウェア(現スクウェア・エニックス)が開発したロールプレイングゲームRPG)で、美しいグラフィック、ドラマチックなシナリオ、完成度の高いゲームシステムが好評を博し、全世界で約340万の売り上げを記録した。人気

    「FF6」の新たなバグを発売25年後に見つけたテスト技術者の腕前
  • Rubyをめぐる冒険

    4月のある雨の日、僕はふらっと散歩をしたくなった。雨の日に散歩なんてバカげてるだって? そうかもしれない。でも、僕はそんなことは気にならなかった。雨の中、あるプログラミング言語への思いを確認したかったからだ。たとえとズボンの裾(すそ)がずぶ濡れになったとしても。 これから、僕の愛するプログラミング言語、Rubyについて語ろうと思う。この連載を通じて、世界が熱中したRubyの魅力を伝えられるなら僕はとてもうれしい。 Rubyをめぐる冒険【入門編】 友人Kに頼まれたラブレター編集ツールを作る 友人Kに頼まれたラブレター編集ツールを改良する 友人Kに頼まれたラブレターの一覧作成ツールを作る メソッドを正しく理解してオモローな問題に挑戦する デートで使った金額を求めるプログラムを作成する 正規表現を使って友人Kに頼まれたツールを改良する Rubyをめぐる冒険【失恋編】 クラスと変数を覚えて恋人か

    Rubyをめぐる冒険
  • IPAが「Ruby研修用コンテンツ」を無償公開、活用法やプログラミング技術を遠隔から実習

    情報処理推進機構(IPA)は2011年1月31日、プログラミング言語RubyおよびWebアプリケーションフレームワーク「Ruby on Rails」の利用方法やプログラミング技法、最新動向などを遠隔からグループ学習するための教材と実習環境「Ruby研修用コンテンツ」を無償公開した。 実習環境は、IPAが提供しているインターネットを通じたオープンソースソフトウエア(OSS)実証評価環境「OSSオープン・ラボ」のサービスメニューの一つとして提供される。利用するには、OSSオープン・ラボの利用予約が必要となる。研修実施担当者が、同ラボのWebページ下部に記載されたメールアドレスあてに、予定人数や研修会場の場所と回線種別、実施予定日などを記入して申し込むことで利用できる。研修当日は、受講者ごとにラボ側で仮想OSが用意され、受講者はWebブラウザでアクセスしてコンテンツを利用する(図)。 Ruby

    IPAが「Ruby研修用コンテンツ」を無償公開、活用法やプログラミング技術を遠隔から実習
  • Androidアプリ開発ノウハウ

    Androidアプリケーション開発コンテスト「Android Application Award (A3)2010-2011 Winter」のエントリー締切がいよいよ2月7日に迫った。開発者を応援するべく、ITproで掲載してきたAndroidアプリ開発ノウハウをまとめた。 あなたのAndroidアプリを“カメラアプリ化”する カメラアプリを作ろう 第1回 ボタン一つでアプリの背景をカメラ写真に変える 第2回 カメラ機能を加える Android ユーザビリティセミナー ユーザビリティ調査の極意を聞き、Flash/AIRによるAndroid開発の実際を見る AndroidアプリをJavaScriptAIRで作る AndroidアプリをJavaScriptAIRで作るツール 初めてのAndroidプログラミング Eclipseを導入して開発環境を整えよう 開発用PCAndroid端末の実

    Androidアプリ開発ノウハウ
  • グーグル発「Hadoop」、日本企業も利用へ

    Hadoopは、グーグルが検索エンジン用に開発したバッチ処理システムを基に開発された、オープンソースソフトだ。グーグルが開発した分散ファイルシステム「Google File System(GFS)」を模した「Hadoop Distributed File System(HD FS)」と、データ処理機構「MapReduce」を模した「Hadoop MapReduce」で構成する。 米国では米VISAや米JPモルガン・チェースのような大手金融機関が、バッチ処理にHadoopを使用する。 そのHadoopがいよいよ、日企業でも使われ始めた。例えば楽天は、ある商品に対するお薦め商品をリストアップする「レコメンド処理」にHadoopを使用する。NTTデータは、全国の渋滞情報をリアルタイムに可視化するシステムの構築にHadoopを採用した。三菱UFJインフォメーションテクノロジーもHadoopを使っ

    グーグル発「Hadoop」、日本企業も利用へ
  • PART1 追加メンバーは来ない、工程・タスクごとに進捗守ろう

    プロジェクトの進捗は遅れるもの」という考えはもう許されない。追加メンバーの投入やスコープダウンが難しくなったことで、工程やタスクごとに進捗を守ることが求められる。チームのマネジメントや個人の仕事を工夫し、進捗遅れを一掃しよう。 ITベンダーA社のプロジェクトマネジャーである山田氏(仮名)は2年前、システム開発の進捗遅れで、悔しい思いをした。それは、外資系のユーザー企業B社の勤怠管理システムの構築を担当したときのことだった。 このプロジェクトは当初、A社の別のプロジェクトマネジャーが担当していた。しかしB社の勤怠の業務ルールが極めて複雑なこともあり、途中からプロジェクトが進まなくなった。そこで、勤怠管理システムの構築経験が豊富な山田氏が、プロジェクトマネジャーとしてプロジェクトを引き継ぐことになった。 プロジェクトオーナーであるB社の人事部長と協議して納期を設定し直したが、要件定義を最初か

    PART1 追加メンバーは来ない、工程・タスクごとに進捗守ろう
  • コピペで使える言語・コマンドリファレンス - ITproリファレンス:ITpro

    HTMLCSS、DynamicHTMLJavaScriptPerlWindowsコマンド、ネットワークコマンド、Linuxコマンドといった、Webサイト構築やアプリ開発に欠かせないプログラミング言語とコマンドのリファレンスマニュアルです。各項目のサンプルコードは、コピーし貼り付けてすぐに使えます。入門講座も用意しました。ぜひブックマークしてお役立てください。 HTML HTMLは、Webコンテンツを作成する上で、最も基礎となる記述言語です。各タグについての概要や属性などをサンプルを交えて説明します。 HTMLリファレンス(107項目) HTMLリファレンスの使い方 HTML入門 CSS CSSは、Webページのレイアウトなどといったコンテンツの見栄えを指定する記述言語です。各スタイルの概要や使い方を説明します。 CSSリファレンス(73項目) CSSリファレンスの使い方 CSSの基

    コピペで使える言語・コマンドリファレンス - ITproリファレンス:ITpro
  • Ruby on Rails 3.0正式リリース、Merbを統合しActive Recordなど刷新

    David Heinemeier Hansson氏は2010年8月29日(現地時間)、オープンソースWebアプリケーションフレームワークの新版「Ruby on Rails 3.0」を正式リリースしたことをRails公式ブログで発表した。Rails 3.0はRuby製の有力フレームワークMerbを統合、DBアクセスモジュールのActive Recordを刷新するなど、大幅な改良が行われている。 Ruby on Rails開発チームとMerb開発チームは2008年12月に両者を統合し、開発チームも統合すると発表していた(関連記事)。Ruby on Railsは,必要なツールがすべてセットになった「フルスタック・フレームワーク」であることを特徴のひとつとしていた。これに対しMerbはデータベースにアクセスするためのORマッピング・ツールが自由に選択できるなど,モジュール化されシンプルであることが

    Ruby on Rails 3.0正式リリース、Merbを統合しActive Recordなど刷新
  • クロージャからProject Lambdaへ

    今回はJava SE 7で導入される機能について紹介していきます。 筆者が思うに、Java SE 7で最も議論を起こすであろう機能はクロージャです。クロージャの導入には紆余曲折がありましたが(詳しくは記事の後半で述べます)、とうとう2009年11月に正式に導入されることが決まりました。 そこで、連載ではいち早くクロージャについて取りあげることにします。 とは言うものの、現在提案されている仕様はまだたたき台レベルです。このため、今後仕様が大幅に変化する可能性があります。その点をご了承ください。 関数型とクロージャ クロージャの仕様を紹介する前に、クロージャがどういうものかということを説明しましょう。 ここでは例として、ボタンをクリックしたときのイベント処理を考えてみます。 Swingではイベントの処理をリスナを用いて行います。例えば、以下のようなコードになります。 JButton but

    クロージャからProject Lambdaへ
  • 松江市の食品会社が「Rubyラーメン」発売、売り上げの一部でRuby支援

    松江市の品会社である中隆(なかたか)は2010年5月12日、パッケージにプログラミング言語Rubyのロゴを配した「Ruby on 松江ラーメン・キュービックシリーズ」を発売した。売り上げの一部をRubyアソシエーションに寄付し、Rubyの普及を支援する。 中隆は麺類を中心に品製造を手がけている。「Ruby on 松江ラーメン」は、地元の材であるしじみをスープに使用している。 Rubyアソシエーションはオープンソースのプログラミング言語Rubyの普及と発展を目的に設立された合同会社。Rubyの作者であるまつもとゆきひろ氏が理事長を務める。Ruby公式サイトの運営やRuby開発者の支援などを実施している。 松江市ではRubyにより地元の産業振興を図る「Ruby City Matsue プロジェクト」を進めている(関連記事)。島根県も国際会議「RubyWorld Conference」を中

    松江市の食品会社が「Rubyラーメン」発売、売り上げの一部でRuby支援
  • Amazon EC2、良いところ悪いところ

    「想定以上に使用するサーバー台数が増加する」 「管理コンソールのユーザーインタフェースがミスを誘発しやすい」 「Amazonの都合で仮想サーバーが再起動したことがあった」 「情報がすべて英語で、米国との交渉が必要」 「クレジットカード払いなのが不便」 同社は2009年初めから、システム開発にEC2の仮想サーバーの利用を開始し、09年10月からは顧客企業向けのサービスもEC2上で稼働した。すでに80台弱のEC2仮想サーバーを利用し、コスト削減効果は3年間で5000万円を見込む。しかも単なるコスト削減にとどまらない効果がEC2にはあると語る。「当社は、マーケティング調査システムを自社開発しており、システム開発ユニットには委託先も含めておよそ20人のエンジニアが所属する。そのエンジニアの雰囲気が良くなったのは、EC2によって開発やテスト用サーバーを潤沢に使えるようになったためだ。当社は中国やフ

    Amazon EC2、良いところ悪いところ
  • 第4回 Google App EngineでPythonプログラムを公開してみる

    Google App Engineとは Google App Engineは,2008年4月7日に米国で開催されたCampfire Oneというイベントで発表されたWebアプリケーション開発環境です。 (編集注:この時点で発表されたプレビュー版は,限られた数の開発者に対して無料でサービスを提供していました。そして5月28日から格的にサービスを開始し,料金体系を発表しました。基的に従量課金制ですが,500Mバイトまでのストレージ利用または月間500万ページ・ビューまでのWebアプリケーションの利用に関しては,無料でサービスを提供するようです) 同種のサービスに,Amazon EC2があります。大きな違いとして,Amazonの場合は,あくまでLinuxサーバー・インフラの仮想環境を提供するものであり,開発者がアプリケーションの実行環境を用意しなければなりません。 これに対して,Google

    第4回 Google App EngineでPythonプログラムを公開してみる
  • 第10回 スクリプト言語の扱い方

    この連載では,Javaを使って普段の仕事をラクにするツールを作っていきます。第10回では,人気急上昇中のスクリプト言語をJavaから扱ってみます。スクリプト言語の扱い方を知って,Javaとスクリプト言語のいいとこ取りをできるようになりましょう。 皆さんこんにちは,kikainekoです。日々の定型的な業務をJavaで自動化してラクする方法を紹介するこの連載も,いよいよ10回目を迎えました。今回は,Javaからスクリプト言語を扱う方法を説明します。 ここ最近,PerlRubyJavaScriptなどのスクリプト言語がいっそう注目されるようになっています。その理由は,何と言っても開発生産性が高いことにあります。ソフトウエアは年々複雑化しているにもかかわらず,短期間で開発することが求められています。そのニーズに応えるために,スクリプト言語は有力な選択肢の一つとなっているのです。 スクリプト言

    第10回 スクリプト言語の扱い方
  • 「Java SE 6完全攻略」Garbage First GC

    Javaがヒープの管理にGCを使用しているのは、読者の皆さんもご存じの通りです。GCの手法にはいろいろありますが、HotSpot VMが採用しているのが世代別GCです。今回は、世代別GCの概要と問題点を解説したうえで、これを解決するために導入されたGarbage First GCについて説明します。 世代別GCの概要と問題点 世代別GCは若いインスタンスと時間を経たインスタンスを別々の領域に配置し、管理する手法です。これは寿命の短いインスタンスほど多いという性質をベースにしています。 若いインスタンスが配置される領域をヤング領域、時間を経たインスタンスを配置する領域をオールド領域とよび、それぞれの領域で異なるGCの手法を使用します。つまり、ヤングとオールドという世代の異なる領域を、それぞれ異なるGCで管理するのが世代別GCというわけです。 ヤング領域には高速ですが漏れのあるGCを用います。

    「Java SE 6完全攻略」Garbage First GC
  • SpringSource、Webアプリ開発基盤の最新版「Grails 1.2」を公開

    米VMwareの事業部門であるSpringSourceは米国時間2009年12月23日、Webアプリケーション開発フレームワークの最新版「Grails 1.2」をリリースした。GrailsプロジェクトのWebサイトでバイナリやソースコードなどをダウロード提供している。 Grailsは、Java仮想マシン(JVM)向けスクリプト言語「Groovy」とJavaアプリケーション・フレームワーク「Spring」をベースとする開発フレームワーク。最新版はSpring 3.0に対応しており、連携を強化した(関連記事:SpringSource,オープンソースJavaフレームワークの新版「Spring 3.0」を発表)。ドメイン特化言語(DSL)依存関係の解決が可能となり、Grailsおよびインストール済みプラグインに起因するJavaアーカイブ(JAR)依存関係を制御できる。 また、Grails Obje

    SpringSource、Webアプリ開発基盤の最新版「Grails 1.2」を公開
  • Androidの仕組みを知る(1)

    遂に日でもAndroid携帯が発売された。注目を集めているAndroidとは,一体何なのか,パソコンに移植するためにはどのような作業が必要なのか,アプリケーションを開発するにはどうするのか解説する。 Androidは,米Google社が開発し,携帯電話関連の業界団体であるOHA(Open Handset Alliance)が2007年11月に発表した,ソフトウエア・スタック(複数層で構成するソフトウエア群)である。 Androidを構成するソフトには,携帯端末向けに改良されたLinuxカーネルとミドルウエア,アプリケーションの実行環境,開発環境であるアプリケーション・フレームワーク,アプリケーション,がある。 Androidは携帯端末用として開発されているものの,適用範囲は携帯端末にとどまらない。Androidが現在対応しているCPUは英ARM社のARM系と米Intel社のx86系の2種

    Androidの仕組みを知る(1)
  • OSは変わった

    OS、Operating System、基ソフト--。我々がそう呼ぶものの正体は、大きく変貌を遂げた。米グーグルのルイズ・アンドレ・バロッソ氏とウルス・ヘルツル氏は著書「The Datacenter as a Computer」で、「クラスタレベル・インフラストラクチャ」こそがOSなのだという。もはや単一のコンピュータしか制御しないソフトウエアはOSの名に値しないのかもしれない。 「The Datacenter as a Computer」はグーグルが2009年5月に刊行した書籍で、紙のとして購入できるほか、108ページに及ぶ全文をPDFファイルとしてダウンロードできる(出版元のWebサイト)。著者のバロッソ氏はグーグルの「Distinguished Engineer(最上級エンジニア)」、もう一方の著者であるヘルツル氏の肩書きは「運営上級副社長兼Googleフェロー」といい、グーグル

    OSは変わった
  • 第8回 PDFファイルの操作方法

    今回は,仕事でよく使うPDFファイルの操作方法を学びます。Javaを利用して,家計簿をPDFファイルとして作成してみます。ついでにPDFファイルの読み込み方法も覚えることにしましょう。PDFファイルの扱い方を習得すれば,仕事の大きな手助けになるはずです。 皆さんこんにちは,kikainekoです。この連載では,日々の定型的な業務をJavaで自動化してラクする方法を紹介しています。今回は,皆さんが仕事やプライベートでよく使っているPDFファイルをJavaから操作してみましょう! 便利なことに,JavaPDFファイルを操作するためのオープンソースのツールが,いくつか提供されています。今回は,その中でも日語の情報が比較的充実している「iText」というライブラリを使うことにします。iTextを使うと,JavaからPDFファイルを生成することができます(インストール方法は,以下のカコミ記事を参

    第8回 PDFファイルの操作方法
  • 「Java SE 6完全攻略」管理ツールの集大成 - VisualVM その3

    先月に引き続き,今月もJava SE 6u7から提供されることになったVisualVMについて紹介していきます。 前回はVisualVMのプロファイラーの使い方を解説しました。しかし,使い方だけでは,どのようにパフォーマンスチューニングを行えばいいのか,わかりにくかったかもしれません。 そこで,今回は実際にサンプルを使用してパフォーマンスチューニングをしてみましょう。 今回使用するサンプルは,前回と同じマンデルブロ集合を表示するアプリケーションです。 マンデルブロ集合とは以下の漸化式において,n→∞の極限の時にが無限大に発散しない複素数cの集合です。 よく見る,マンデルブロ集合の図はcを複素平面の点とし,無限大に発散するnによって色づけしたものです。マンデルブロ集合に属する点は黒で描画される部分になります。 複素平面をx-y平面と置き換えた場合,上記の式は以下のようになります。 ただし,

    「Java SE 6完全攻略」管理ツールの集大成 - VisualVM その3
  • 笑ってダマされタメになる!きたみとまなめのIT用語集 - SQL(構造化問い合わせ言語)

    学生時代,英語の辞書を毎日のようにめくって勉強したかたが多いのではないでしょうか。中には電子辞書やインターネット上の辞書サイトを使っていた人もいると思います。 コンピュータがなかった時代,ほとんどの情報は紙で管理されていました。2009年の現在では「データベース」と呼ばれるソフトウエアで,コンピュータ上で管理される情報がとても多くなりました。 例えば,電子辞書を作るとしましょう。辞書のデータは「データベース」に収めます。2次元の表に,単語と,その意味を登録します。入力された単語に対してその意味を出力するプログラムを作れば“辞書を引く”ことができます。 このとき,データベースの定義を決めたり,データベースにデータを登録したり,検索したりするときに用いる言語がSQLなのです。 SQLはStructured Query Language(構造化問い合わせ言語)の略で,データベースからデータを読み

    笑ってダマされタメになる!きたみとまなめのIT用語集 - SQL(構造化問い合わせ言語)
    masa1001
    masa1001 2009/07/04