ブックマーク / codezine.jp (92)

  • プログラミングと開発者のためのCodeZine:本格的なシューティングゲームを実現するタスクシステム(タスクシステム,シューティング,ゲーム)

    はじめに タスクとは「Windowsはマルチタスクだ」という時のタスクに同義ですが、プログラム的にはオブジェクトに近いです。シューティングゲームを作る場合は「自機」「敵」「敵出現制御」「得点管理」「タイトル画面」など、ゲームを構成する全ての要素をタスクとします。 タスクシステムとは、これら複数のタスクを管理する仕組みであり、現在でもプロの現場で用いられています。長所は次の通りです。ジャンルを問わず様々なゲームに適用できる並列処理をうまい具合に実現できるゲームの流れを自然な形で表現できる大規模なゲームも開発できるタスクごとに独立しているため、複数人で開発できる  一方の短所は、タスクシステムの歴史が古いことに起因する、高すぎる自由度です。さまざまな実装方法があり、またオブジェクト指向が一般的ではなかった時代の手法なためか、スパゲティプログラムや、データの隠蔽化が不十分なプログラムとなっている

    harupiyo
    harupiyo 2008/07/15
  • マッシュアップでWebアプリ作って優勝できたら賞金100万円「Mashup Award 4th」開催!:CodeZine

    リクルートとサンマイクロシステムズは、マッシュアップWebアプリケーションを募集するコンテスト「Mashup Award 4th」を開催している。3日より募集がはじまっており、9月16日まで応募を受け付ける。 Mashup Awardは今回が4回目の開催。各企業が提供するWeb APIWebサービス)を1つ以上使ったWebアプリケーションを作成し、そのアイデアや完成度を競う。さまざまな賞が用意されており、優勝賞金は100万円となっている。 今回はGoogleYahoo!などをはじめとした37の企業・団体がWeb APIを提供、特別審査員にはサイボウズラボの秋元氏、チームラボの猪子氏、アドビシステムズの轟氏などが予定されている。 前回のMashup Award 3rdでは、Web APIをたくさん詰め込んだ「ONGMAP.COM」や、著者をキーワードに書籍を横断検索できる「authr

    harupiyo
    harupiyo 2008/06/11
    どれどれ
  • CodeZine:Perlで作るモバイルサイトのコツ:目次()

    現在、携帯キャリアの主流となっているiモード、EZweb、Vodafone Live!の3キャリアに対応する携帯サイトを、いくつかのCPANモジュールを用いて構築する方法を紹介します。

    harupiyo
    harupiyo 2007/12/05
  • 富士通、太平洋横断光海底ケーブルネットワーク増設受注 毎秒490ギガビットに:CodeZine

    harupiyo
    harupiyo 2007/09/05
  • Google Web Toolkit 1.4正式版リリース:CodeZine

    Googleは28日、Google Web Toolkit 1.4(GWT 1.4)正式版をリリースした。同社Webサイトから無償でダウンロードでき、Apache 2.0オープンソースライセンスで提供される。 GWT 1.4は、Ajaxを実現するためのJavaソフトウェアフレームワーク。クロスブラウザに対応しており、ブラウザ環境の差異を意識する必要なくWebアプリケーションを開発できる。Webブラウザに表示されるフロントエンドの部分をJavaクラスで開発し、それをGWTコンパイラを通じてHTMLJavaScript化するため、JavaScriptの知識がなくともAjaxアプリケーションを構築できる。 GWT 1.4は、先日RC2が公開されていた。GWTチームは次のバージョンであるGWT 1.5の開発に入っており、次バージョンではJava 5.0へのサポートなどが行われるという。 G

    harupiyo
    harupiyo 2007/09/04
  • サロゲートペア入門:CodeZine

    はじめに Windows VistaのJIS2004対応により、WindowsのUnicode環境で使用できる日語漢字の数が増えました。従来、12238字(Windows XP)だったのが13145字(Windows Vista)になり、907字追加されることになりました。これによって、JIS第3水準、JIS第4水準の漢字がすべてサポートされることになったのです(Windows XPまでは一部サポート)。 またWindows XPでも、パッチさえ当てれば、Windows Vistaと同じように追加907字を加えた13145字の漢字が使用できるようになりました。 ところが、この追加された907字の中には「サロゲートペア」という特殊な文字が304字あり、これらは今までのUnicodeの文字とは扱いが少し違います。この点について解説していきたいと思います。 対象読者 Unicode

    harupiyo
    harupiyo 2007/08/28
  • 「時を超える落書き」 doodleはマッシュアップでできています:CodeZine

    その他、図書館蔵書検索で東京都のOPAC、WILLCOMの駐車場検索、APIではないですが位置の表現でLocaPointなどを使用しています。どんなプログラミング言語で構成されているんですか いわゆるLAPP環境(Linux、Apache、PostgreSQLPHP)で動いています。オープンソースの処理系には以前からこだわりがありまして、業務サイトでさえも、ずっとその組み合わせで作ることが多かったので、今回もそうしました。 まだそれほどトラフィックは無いので、レンタルサーバ1契約だけで動いていますが、今後ユーザが増え、スケールアウトも視野に入れられるくらい成長したらいいな、なんて思ってます。PHPはやりたいことが手軽にすぐできるので、何でも作れる大切な道具ともいえますね。開発期間について教えてください doodleと決まってからリリースまでは約1ヵ月ぐらいです。その後、Mash up A

    harupiyo
    harupiyo 2007/08/15
    マッシュアップ 組み合わせ事例
  • JavaScriptでDOMレンジを扱う:CodeZine

    japan.internet.com は、1999年9月にオープンした、日初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.com からの最新記事を日語に翻訳して掲載するとともに、日独自のネットビジネス関連記事やレポートを配信。

    harupiyo
    harupiyo 2007/08/15
  • Google、簡単にマッシュアップできるエディタ「Google Mashup Editor」発表:CodeZine

    Googleは31日、簡単にマッシュアップを作成できるエディタ「Google Mashup Editor」を発表した。現在のところ限られた開発者のみに公開されている。 Google Mashup EditorはGWT(Google Web Toolkit)を使って構築されており、それ自身がAjaxで動作するWebベースのエディタになっているという。HTMLJavaScriptCSS、XMLを記述することができ、デバッグ機能も備えている。 マッシュアップの適用はタグを埋め込む形で行う。ブラウザごとの挙動の差異は全てGWTが吸収するため、開発者は特に意識する必要はない。サーバ構成要素はGoogle側が提供するので、開発者はWebブラウザでアクセスするだけでマッシュアップを作成できるようになる。 また、作成したマッシュアップアプリケーションはiGoogleのガジェット等に配置できるという

    harupiyo
    harupiyo 2007/08/03
  • CodeZine:DeNAの人気サイトに学ぶ LAMPによるWeb-DBシステム構築/運用の極意(前編)(モバオク, モバゲー)

    シングルマスタの非同期レプリケーション機能では、マスタサーバーが1台に限定され、マスタからスレーブへの複製は非同期で行なわれるため遅延が生じ、短時間のスケールで見ると全スレーブとの同期が保証されない。しかし、その反面スレーブの台数を増加させていってもマスタサーバーの更新負荷は大きくならず、スケーラビリティを維持できるという利点がある。DeNAによる運用実績でも、マスタとスレーブ間の遅延は通常数秒程度以内に収まる。 このレプリケーションを利用する場合、アプリケーション側ではデータ更新時にはマスタサーバーへ接続し、データ参照のみを行なう場合はスレーブサーバーへ接続するように作成する必要がある。 Webや携帯電話向けサービスの場合、小さな規模で始めてユーザー規模、データ規模、ページビュー数を徐々に増加させていくことが多い。小さな規模のためDBの負荷分散が不要な場合でも、マスタサーバー1台、スレー

    harupiyo
    harupiyo 2007/08/03
  • CodeZine:携帯シミュレータ入門(開発ツール, まとめ)

    はじめに 携帯サイトは、PCのWebブラウザではテストできません。携帯のWebブラウザにはさまざまな機種依存仕様があるからです。マークアップ言語の違い(HTML/HDML)絵文字表示可能な画像形式(gif/png/jpg、カラー/モノクロ、色数、サイズ)受信サイズアクセスキー  これらは携帯の実機でテストする必要がありますが、開発中に携帯の実機でテストをするのは大変です。実機ではソースを見ることもできませんし、経費もかかります。 そこで携帯シミュレータの出番です。すべての機種依存仕様を正確にシミュレートできるわけではありませんが、上記のうち、1. 、2. 、5. をテストすることができます。稿では、携帯サイトの開発に必須となる携帯シミュレータの紹介と、使用上のポイントを説明します。対象読者 携帯向けWebサイトの開発者必要な環境 Windows 2000/XP携帯シミュレータ一覧 携帯シ

    harupiyo
    harupiyo 2007/07/30
  • [PHPプロ!] MySQLのクエリを最適化する10のTips:CodeZine

    Jaslabs: High performance phpMySQL のクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。 1. explainコマンドの使用 explainコマンドはクエリでどのインデックスが指定されているのか、などの情報が取得できます。 explainコマンドの実行結果を見ながらインデックスが使用されるようにクエリを修正したり、インデックスの追加を行います。詳細についてはMySQL 4.1リファレンスマニュアルを参照してください。 2. 権限の簡易化 テーブルの権限が複雑になればなるほど、オーバーヘッドが大きくなります。GRANT文で設定された権限が単純であ

    harupiyo
    harupiyo 2007/04/14
  • [PHPプロ!] =ThemBid.com= Ubuntu、Symfony、Lighttpdを使ってスケールするWeb 2.0サイトを構築する:CodeZine

    ThemBid.comにて、Web 2.0的サイトをスケーリングするためのテクニックが紹介されています。Ubuntu、Lighttpd、PHP、Symfonyフレームワークの組み合わせを使うもので、高アクセスに耐えるPHPシステムの設計手法を学べるのではないでしょうか。1.ハードウェア 初期状態で、充分なスペックを持ったサーバーを用意しておき、数千のユーザーアクセスに耐える余裕を持たせておきます。我々は、2GBのメモリと2台の1万回転の36GB SCSIディスク(RAID1)を用意しました。低い遅延時間を持つDNS サービスを短期間で拡大させる予定でしたので、低い遅延時間を持つDNSサーバーを使用しました。今回は、コストがあまりかからないDNS Made Easyを使用しています。DNS Stuffを使うと、この確認を行えます。OS 多くのホスティング環境でLinuxが採用されています。開

    harupiyo
    harupiyo 2007/04/14
    PHP スケーラビリティ
  • 「ちょっと待て」 真・MySQLのクエリを最適化する10のTips:CodeZine

    Jaslabs: High performance phpで紹介された「MySQLのクエリを最適化する10のTips」に対して、反論している人がいる。ブログ「20bits」のJesse氏だ。彼は「10 Tips for Optimizing MySQL Queries (That don’t suck)」というエントリーで、Jaslabs氏の記事は適切でないとしている。 Jesse氏の経験によれば、SQL最適化で最も重要なことはSQLDBの基をしっかりと理解することであり、60%がこれで解決するという。残り35%はDBやクエリの特殊な性質に対する対処であり、最後の5%で発想の転換などを求められる。Jaslabs氏はここにばかり力を入れており、それはまったくもって時間の無駄だと述べている(Jesse氏は「SQL_SMALL_RESULTなんて、生まれてこの方使ったことすらない」とまで言

    harupiyo
    harupiyo 2007/04/14
  • :CodeZine(コードジン)

    開発者のための実装系Webソースコードマガジン。会員登録無料。開発者,ソースコード,プログラミング,Java,Windows,.NET,C#,VB,C++,CodeZineCodeZineについて プログラミングに役立つソースコードと解説記事が満載な開発者のための実装系Webマガジンです。 All contents copyright © 2005-2010 Shoeisha Co., Ltd. All rights reserved. ver.1.5 掲載記事、写真、イラストの無断転載を禁じます。 記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

    harupiyo
    harupiyo 2007/03/28
  • 「CもPerlも」自動で必要なプラグインを集めるEclipseプラグイン「Tikal」:CodeZine

    「Tikal」は、EclipseでCやPerlの開発を行う際に必要となるプラグインを、自動的に集めてくれるプラグインだ。無償で入手することができる。 EclipseはJava以外の言語でもプラグインを導入することで開発環境を構築することができるが、必要となるプラグインを集めるのは一苦労だ。Tikalは必要となるプラグインをまとめて提示してくれるうえ、プラグインがアップデートした際には更新通知もしてくれる。対応言語はJava、J2EE、C/C++PerlPHPPython。 導入するためには、Eclipseアップデート機能に以下のURLを追加する。 http://network.tikalk.com/snapshot/updatesites/com.tikal.eclipse.distro.updatesite/ 1.プラグインのインストール 自動アップデートを実行すると、各

    harupiyo
    harupiyo 2007/03/16
  • 高精度全文検索エンジン「Senna 1.0.0」リリース:CodeZine

    高精度全文検索エンジン「Senna 1.0.0」が、23日リリースされた。当初2006年7月にリリースされる予定だったが、遅れての登場となる。 「Senna」は(有)未来検索ブラジルにより開発が進められていた組み込み式の検索エンジンで、MySQLに組み込む形で使用する(Senna単体をCなどから使用することもできる)。MySQLは日語の全文検索を苦手としているが、Sennaを使うと簡単、高精度、即時検索の全文検索が可能になる。 一般に日語の全文検索は分かち書き(例えば、「今日は晴れです」という文章を「今日」「は」晴れ」「です」と分けること)してインデックス化しておく必要がある。Sennaでは自動的に分かち書き方式で文章をインデックス化、完全一致検索を行うことで高精度化を実現した。また、完全一致する件数が少ない場合は、自動的に部分検索も行い、精度の向上に役立てている。 Sennaは

    harupiyo
    harupiyo 2007/03/02
  • デスクトップCGIでWebとデスクトップを融合する 第5回:CodeZine

    はじめに 第5回は、第4回で作成したMySQLデータベース「atomfeeds」から、CGIでAtomフィードの要素を取り出し表示するCGIを作成します。 また、第1回で作成した「feeds.cgi」をRSSフィードにも対応できるように改変し、さらにフィードの参照頻度に応じて表示順序を変更する仕組みに対応させます。過去の記事第1回 Firefox/Apache用AtomリーダーCGIの作成第2回 Web日記のAtom配信第3回 独自の日記記述言語からHTML形式のWeb日記を出力・配信する第4回 MySQLでAtomフィードをデータベース化 - 前編 atom2msrdb_read.cgiでAtomデータベースから読み出す 第4回では、MySQL上に作成した「atomfeeds」データベースにAtomフィードを格納しましたが、今度はそこからAtomフィードの要素を読み出し、HTMLに整形し

    harupiyo
    harupiyo 2007/03/02
  • 楽天、国内初となる空室検索も可能な「楽天トラベルAPI」公開:CodeZine

    楽天は28日、同社が公開するWebサービスAPI楽天ウェブサービス」に、「楽天トラベル施設情報API」「楽天トラベル空室検索API」「楽天トラベル地区コードAPI」の3つを追加したと発表した。 「楽天トラベル施設情報API」を使うと、楽天トラベルが持つ全国21,500軒の施設情報を利用することができる。「楽天トラベル空室検索API」では同じく全国21,500軒の施設の空室状況をリアルタイムで検索することが可能になる。「楽天トラベル地区コードAPI」では、楽天トラベルで提供している地区コードを取得することができる。 楽天は、以前から同社の商品検索が行えるAPIを公開していたが、今回は「楽天トラベル」として初のWebサービス公開となる。今回は第1弾であり、第2弾として「キーワード検索API」や「施設検索API」などの公開を予定している。 また、楽天トラベル関連APIを活用したサービスを

    harupiyo
    harupiyo 2007/03/02
  • CGI不可のサーバでもできるAjaxによるHTMLの動的な整形:CodeZine

    はじめに ここ最近、Web 2.0という言葉と共にクライアント側のプレゼンテーション技術としてAjaxが非常に注目されています。しかし、Ajaxという技術用語や概念の解説、または書籍が多く出版されているにもかかわらず、Ajaxを応用したコンテンツやアプリケーションは、キーワードとしてのAjaxの人気から考えれば、少ないと言えるでしょう。多くの人がGoogleなどの大手サイトでAjaxを体験しているにもかかわらず、Ajaxが使われているのは企業や大手ポータルサイトなど、限定されています。 では、Ajaxはそれほど敷居の高いものなのでしょうか。質の高い開発集団や、高額な開発環境、またはサーバーなどのインフラストラクチャが必要となるのでしょうか。確かに、Googleと同じレベルのものを作ろうと考えれば、相応の費用と技術が要求されます。しかし、Ajaxという技術要素だけを見れば、けっして大企業に独

    harupiyo
    harupiyo 2007/03/02