タグ

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

  • ActionScriptによるWebの3Dグラフィックス再入門:CodeZine

    Flashで3D? 数年前まで、Flashと言えばデザイナが絵やアニメーションを作り、そこにちょっとしたインタラクティビティを持たせるためのツールという見方が一般的でした。しかし、昨年あたりから急激に「えっ!?こんなことがFlashでできるの?」というようなコンテンツが増えてきています。このようなコンテンツが現れはじめた原因は、言語仕様が一新されたActionScript 3による高いパフォーマンスにあります。 連載では、ActionScript 3のパフォーマンスを活かした一例として、Web上での3D表現を取り上げます。Webで3Dというと、VRMLやJava3Dなどの方法が存在はしたものの、なかなか広まることがありませんでした。これは実行環境の普及率が原因していると言えるのではないでしょうか。その点について、Flashは恵まれた環境にあると言えます。Adobeの資料によれば、日国内

  • Pythonを始めよう:CodeZine

    はじめに こんにちわ、hirataraです。 稿では、オブジェクト指向のスクリプト言語であるPythonの紹介をしたいと思います。と言っても、実は私がPythonを勉強し始めたのは数ヶ月前のことで、まだPythonに関してさほど詳しいとは言えません。それでもこの記事を書こうと思い立ったのは、ある言語が他の言語に比べて面白い部分と言うのは、その言語にどっぷり漬かってその言語を使うことが当たり前になっている人間よりも、その言語を好きになり始めたくらいの人間の方が見つけやすいのではないかという思いからです。 そのような事情で、もしかすると当のPythonistaからお叱りを受けるような内容も含まれるかもしれませんが、その点はTBやコメントでご教授頂けると幸いです。この記事で、少しでもPythonに興味を持ってくれる方が増えることを願っています。対象読者他言語でのプログラミング経験者Pytho

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

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

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

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

  • 10分でできる初めてのRubyプログラム:CodeZine

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • あなたが学ぶべき10の現代実用プログラミング言語:CodeZine

    はじめに Webベースのアプリケーションや、Webベースで機能するサービス、加えてJavaや.NETのような物理的なシステムを抽象化するプラットフォームの台頭によって、現在のアプリケーション開発は環境によってアプローチが大きく異なり、それに伴って様々なプログラミング言語が使われるようになっています。 ネイティブの実行ファイルを対象としたアプリケーション開発であれば、古くから使われているC言語やC++言語が今でも主流です。しかしながら、Webアプリケーション開発ではPerlPHPRubyPythonなどの組み込み可能なスクリプト言語が人気です。Ajaxを代表としたブラウザ内で動作するクライアントベースのWebアプリケーションであればJavaScriptが駆使されることになります。 仮想システムを対象としたアプリケーション開発には、仮想システム専用の言語が使われます。Javaアプリケーシ

  • L2Lisp in Ruby:CodeZine

    はじめに P.Graham著『On Lisp』に示されているように、現代的なLispプログラミングでは静的スコープ(字句的スコープ)と末尾呼出し(末尾再帰を含む)の最適化のもとでのマクロが重要な意味をもちます。しかし、今まで処理系作成の初心者が内部に手を入れやすい手頃な大きさの実装が事実上ありませんでした。 ここでは、そういったモダンな特徴を備えた小さなLispインタープリタL2LispをRubyで作ってみます。L2Lisp(Little Lambda Lisp)は、Lispの理論的背景であるラムダ算法(lambda calculus)に対し、有力なLisp方言であるSchemeと同程度に忠実である一方、その他の点では広く普及しているEmacs Lispのサブセットとしたオリジナルの小型Lispです。 実行例としてtak関数を定義し、実行する様子を示します。Ruby以外に必要なのはL2Li

  • Java開発者のためのRubyガイド:CodeZine

    Builderパターンは、Template Methodパターンによく似ています。Template Methodパターンとの大きな違いは、その目的がオブジェクトを生成することであり、アルゴリズムを実行することではないという点です。Builderパターンは、役割分担を明確にするだけでなく、インターフェイスと実装の分離を実現する代表的な事例であり、パターンを使用しない場合に起こりうる重複をかなりの程度防ぐことができます。

  • RailsでWikiシステムを作成する:CodeZine

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • Google Developer Day 2007 東京のセッション公開ビデオまとめ:CodeZine

    5月31日に行われたGoogle Developer Day 2007 東京のセッションビデオがYouTubeで公開されている。基調講演を含めた全12の公開ビデオは以下の通りとなっている。 基調講演 ご挨拶-グーグル株式会社 エンジニアリング ディレクター マグラス みづ紀氏 基調講演-Google,Inc. Uber Tech Lead/Manager Greg Stein氏 ゲスト講演-株式会社はてな 取締役(最高技術責任者) 伊藤 直也氏 グーグル最新情報-グーグル株式会社 シニア プロダクト マネージャー 及川 卓也氏 Breakout Session 1 Google Maps API Introduction-Chris Atenasio氏 KML - Geographical Format For Earth & Maps-Bruno Bowden氏 In

  • CodeZine:Rubyを使ってWebアプリケーションの脆弱性を早期に検出する(Web, テスト, Ruby)

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • Google、MySQLを強化するパッチを無償リリース:CodeZine

    Googleは、同社の製品開発の中から生まれたMySQLを強化するパッチを公開した。GoogleのWebサイトから無償でダウンロードできる。 このパッチはMySQLの扱いやすさと信頼性を向上させる目的で作られており、主にスレーブサーバ(レプリケーションとなるサーバ)の機能を強化させることができる。例として、スレーブサーバが更新通知を受け取らない限りマスタサーバを更新させない機能や、再起動なしでスレーブサーバをマスタサーバに置き換える機能などが備わっている。 他にもアクティブになっているアカウント・テーブルをモニタリングするものや、クライアント/MySQL通信のための高速な圧縮機能なども用意されている。 ちなみに、このパッチはLinux上で動作するInnoDB用に最適化されたものとなっている。その理由としてGoogleは「我々がInnoDBを使っているため」と説明している。また、現在パ

  • Google AJAX Feed API公開、サンプル「AJAX Tune Bar」の作り方(グーグル)

    Googleは、Google AJAX Feed APIを公開した。乱立するフィード形式をGoogle側で吸収し、JavaScriptで扱うことができる。 Google AJAX Feed APIGoogleサーバがさまざまなソースからフィードを取得。ユーザーはGoogleサーバを介して外部フィードを取得するため、セキュリティ制約を気にすることなく利用できる。フィードフォーマットもAtom、RSSの各バージョンに対応しており、これらの違いはGoogle側で吸収するため、意識する必要がない。データはXMLまたはJSON形式で取得可能。そのため、他のJavaScript APIとのマッシュアップも行うことができる。 GoogleではサンプルとしてITunesのRSS情報を取得し、ジャケットを表示させる「AJAX Tune Bar」を公開している。以下、簡単な作り方を見てみよう。

  • PHPEclipseを拡張してEclipseプラグインを作成しよう:CodeZine

    始めに PHPEclipseというEclipseプラグインはPHP開発で欠かせない豊富な機能(コードフォーマッティングやテンプレート、コードアシスト、Apache・MySQLとの連携など)が用意されています。しかし、豊富な機能が用意されていても、あなたが関わっているプロジェクトで、必ずしも「かゆいところ」に手が届くとは限りません。 そこで、PHPEclipseが用意している機能を使用して「かゆいところ」に手が届くようにEclipseプラグインを作成します。今回作成するプラグインはPHPのクラスプロパティからsetter/getterの生成を行う簡単なプラグインを作成する手順を紹介します。 なお、PHPEclipseはSourceForge.net内のページよりダウンロードすることができます。対象読者PHPEclipseを利用している方Eclipseプラグインを作成したことのある方 必要な環

  • CodeZine:「超高速、完全自動、しかもフリー」 WebテストツールのGITAK公開(TIBCO, 開発ツール)

    TIBCOは、オープンソースのWebサイトテストツール「TIBCO General Interface Test Automation Kit 0.7」(GITAK)を公開した。TIBCO Developer Networkより無償でダウンロードできる。 「TIBCO General Interface Test Automation Kit」は、Webサイトの入力チェック、ボタンの動作内容、JavaScriptの動作などを自動で一気にテストできるツール。すべてのテストがブラウザで完結するのが特徴だ。ダウンロードファイルにはサンプルが含まれているので、試しに動作させてみることができる。 1.GITAKの入手 TIBCO Developer Networkよりファイルをダウンロードし、解凍する。 2.TestRunner.htmlの起動 解凍してできたフォルダから「/gitak/c

  • CodeZine:Microsoft謹製、フリーのXMLエディタ「XML Notepad 2007」リリース(開発ツール, マイクロソフト)

    Microsoftは22日、XMLエディタ「XML Notepad 2007」をリリースした。同社のWebサイトから無償でダウンロードすることができる。 このエディタはXMLをツリーで表示できるペインと、実際の値が表示・編集できるペインからなる。要素や属性の追加、コピー、削除といった基的な編集を視覚的に行うことができるほか、ツリービューのアイコンをドラッグ&ドロップすることで要素の移動をすることもできる。 また、XSLTを適用した際のプレビュータブも用意されており、XMLにまつわる開発における強力なツールになりそうだ。XML Notepad 2007は、Windows Server 2003、Windows XP、Windows Vistaに対応しており、.NET Framework 2.0が必要となる。 Microsoft:XML Notepad 2007

  • PerlによるCSVファイルの高速集計 2:CodeZine

    open(OUT, '>result.csv'); open(IN1, 'enquate.csv'); # アンケートデータを1行ずつ処理する while(my $line1 = <IN1>){ # 1行を4つに分ける chomp($line1); my ($id, $ans1, $ans2, $ans3) = split(/,/, $line1, 4); # この行にマッチする顧客データを検索する my $name = ''; my $address = ''; open(IN2, 'address.csv'); while(my $line2 = <IN2>){ chomp($line2); my ($tmp_id, $tmp_name, $tmp_address) = split(/,/, $line2, 3); if($tmp_id eq $id){

  • JavaScriptでMP3を再生するライブラリの作り方:CodeZine

    はじめに JavaScriptMP3を再生するライブラリ「playmp3.js」の作り方を解説します。MP3の再生にはFlashの機能を利用し、JavaScriptからFlashの関数を呼び出すなど、JavaScriptとFlashの連携方法も併せて紹介します。 Flashファイルの作成には、フリーのFlashコンパイラMTASCを利用しますので、Flashを持ってない人でも応用ライブラリを作成できるでしょう。Flashと連携することでJavaScriptの可能性が広がります。 以下のサイトで、MP3再生のサンプルを試せます。JavaScriptMP3再生するサンプル 対象読者JavaScriptで効果音やBGMを鳴らしてみたい人JavaScriptとFlashを組み合わせて面白いことをやってみたい人 必要な環境FirefoxまたはIE 6以降フリーのFlashコンパイラ MTASC

  • CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン
  • PHP と Ming で作る Flash サーバー

    はじめに 稿では、近年Webアプリケーション開発などで広く実用されているPHP言語を使って、Flashプレイヤーで再生できるSWFフォーマットのデータを動的に生成する方法を解説します。PHP 4.0.5以降には、SWFフォーマットのムービーを作成するMingと呼ばれるオープンソースライブラリ(LGPL)が導入されています。PHP言語からMingの機能を利用することで、SWFフォーマットのファイルを生成したり、Flashムービーを動的に生成するWebアプリケーションを開発できます。 一般的なFlashムービーの生成方法では、Adobe社のFlash Professionalを代表とする作成ツールを使ってSWFファイルを出力します。何らかのコンテンツを事前に作成し、それをWebなどにアップロードするならばこの方法で十分です。しかし、ユーザーの要求に従ってアプリケーションが動的にFlashムー

  • 1