タグ

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

  • SQLによる数独の解法:CodeZine

    はじめに SQLを使って数独(ナンプレ)を解く方法を紹介します。 データベースを操作するための言語であるSQLを別の用途に使おうとする理由は、SQLが宣言的な記述が可能な言語の中で最も普及していると思われるからです(宣言的言語と言えばPrologを思い浮かべる方も多いかもしれませんが、残念なことにPrologは、SQLほどには普及していません)。 まず、宣言的な記述について説明しましょう。タクシーに乗ることを想像してください。「渋谷に行ってください」というように、欲しい結果を書くのが宣言的な記述です。具体的な道筋は運転手が考えてくれます。それに対して「まずA通りを北に行って、B交差点を左折して・・・」というように、具体的な道筋を示すのは手続き的記述です。プログラミング言語の場合も同様です。SQLやPrologにおいては、欲しい結果をプログラマが書けば、具体的な実現方法はコンピュータが考えて

  • MySQLのシステムアーキテクチャ:CodeZine

    SQLを使う業務では分析関数を使いこなすと、生産性とSQLの可読性とパフォーマンスを、大きく向上させることができます。分析関数を使う際の考え方と、処理のイメージを解説します。今回は総集編として、前編、中編、後編、完結編に関連した内容を扱います。

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

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

  • JavaScriptでブラウザコマンドラインを実装する:CodeZine

    去る8月30日(土曜日)、ライトウェイトプログラミング言語(Lightweight programming Language)の総合カンファレンス「LL Future」が、なかのZERO(中野区もみじ山文化センター)大ホールで開催された。当日は前線の影響で時おり豪雨に見舞われる中、さまざまな言語のユーザーや開発者など千人近くが集まった。

  • Cで実現する「ぷちオブジェクト指向」:CodeZine

    はじめに CodeZineではお初にお目にかかります、επιστημη(エピステーメー)です。最初のアーティクルはクラシックなCのお話。 昨今のアプリケーションはオブジェクト指向言語による実装が主流と言ってもいいでしょう。C++Java、VB.NETさらにはRubyPythonといったスクリプト言語まで、オブジェクト指向でない言語を探すのに苦労するくらいです。 記事では、今なお現役バリバリで活躍している手続き型言語の代表格(?)Cによる、オブジェクト指向のマネゴト(オブジェクト指向風味のCコーディングスタイル)を試みます。対象読者 もっぱらCを主な開発言語として使ってはいるけども、オブジェクト指向に興味と憧れを抱いている方。抽象データ型 手始めにオブジェクト指向の特徴の1つ、「抽象データ型(ADT:Abstract Data Type)」をCで実現してみます。抽象データ型とは、データ

  • WPF(Windows Presentation Foundation)+XAML入門 前編:CodeZine

    .NET Framework 3.0とは Windows Vistaがいよいよ発売となりましたが、Vistaで追加されたさまざまな機能の土台となっているのが.NET Framework 3.0です。.NET Framework 3.0(旧称 WinFX)は、.NET時代のOSが提供する新たなAPIセットで、以前のWin32 APIのような関数指向のモデルではなく、オブジェクト指向の.NETライブラリとして提供されます。 .NET Framework 3.0の実体は、.NET Framework 2.0をベースとし、それにWPF(Windows Presentation Foundation)、WCF(Windows Communication Foundation)、WF(Windows Workflow Foundation)、WCS(Windows CardSpace)を追加したものと

  • CodeZine:CakePHP内の処理を理解する(CakePHP, 設定, フレームワーク, PHP)

    はじめに PHPの世界ではフレームワークがさかんに発表され、次から次へと新興勢力が現れてきます。そんな中で大きなコミュニティに発展しているのがCakePHPフレームワークです。一部では、開発環境をいったんCakePHPからRuby on Railsに移行したものの、再びCakePHPに戻ってくるという「CakePHP回帰現象」も起こり始めています。CakePHPは、手軽に利用できるPHP言語にぴったりの「手軽に利用できるフレームワーク」です。フレームワークとは、先人の知恵をまとめ上げたものと言うことができます。その中にはどんなノウハウが蓄積されているでしょうか。PHP4/PHP5で使用できるRails風フレームワークCakePHPを使って、フレームワークの処理の流れを調べてみましょう。対象読者 この記事は、CakePHPでの開発を始めた方が対象です。CakePHPに関する基的な知識に関し

  • CodeZine:CakePHPフレームワークによる快速WEB開発(PHP, フレームワーク, CakePHP)

    はじめに PHPは、データベース(以下、DB)と連携する高機能なWebアプリケーションを容易に作成できるスクリプト言語です。現在、さらに短期間で効率的な開発を実現するために、さまざまなPHPフレームワークが公開され、開発環境が整いつつあります。今回は特に、Ruby On Railsに触発されて開発が始まり、なおかつ独自の発展を遂げているCakePHP(ケイク・ピー・エイチ・ピー)フレームワークを紹介します。PHPという言語の面白さや、フレームワークによる開発に興味を持っていただければと思います。対象読者 PHPの基礎知識を持ち、フレームワークを利用した効率的なWeb開発に関心のある方。必要な環境 CakePHPを利用するために必要な環境は次のとおりです。LinuxWindowsMacなどの各種OS環境Apache、LighttdなどのWebサーバーMySQLなどのDBMySQL推奨)

  • symfony入門(1):symfonyで始めるPHPフレームワーク:CodeZine

    はじめに 連載では、PHP上で動作するアプリケーションフレームワークであるsymfonyでアプリケーション開発を行う方法について紹介します。連載で扱う内容は、次のとおりです。symfonyフレームワークの特徴symfony利用のための環境設定手順Hello, Worldアプリケーションの作成データベースと連携したアプリケーションの作成その他、役立つsymfony関連のテクニック  導入の今回は、まずsymfonyの特徴と環境設定手順、「Hello, World」アプリケーションの作成までを紹介します。対象読者 PHPの基構文は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。必要な環境 symfonyは、PHP5とWebサーバがインストールされている環境で利用可能です。稿ではWebサーバとしてApache2.2を、OSにWindows XPを採用し

  • 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ムー

  • Firefox拡張機能の基礎を実例で学ぶ:CodeZine

    はじめに Internet Explorer(以下、IE)が主流のブラウザ市場の中で、Firefoxはシェアを伸ばしています。Firefoxがシェアを拡大している理由の一つに、拡張機能の存在があるでしょう。非常に多くの拡張機能が世界中の人々によって開発されています。これらの拡張機能を組み合わせることによって、Firefoxを自分の好みのブラウザにカスタマイズできるのです。 とはいえ、他人が作った拡張機能がぴったり自分に合っているとは限りません。幸いなことにFirefoxの拡張機能は、XML言語の一種でUI部分を規定するXUL、動作を規定するJavaScript、そしていくつかの設定ファイルから構成されています。これらはいずれもごくありふれた開発言語であり、特別な知識は必要ありません。しかも、エディタとFirefoxがあれば高価な開発環境をそろえる必要もありません。他人の作った拡張機能を自分

  • S2Container.PHP5を用いたDIベースの開発:CodeZine

    はじめに 皆さんは、Seasarファウンデーションをご存知でしょうか。2005年12月にNPO(非営利団体)として運営が開始されたオープンソースソフトウェア開発コミュニティです。 S2Container.PHP5は、Seasarファウンデーションの1プロジェクトとして開発が進められています。S2Containerとは、DI(Dependency Injection)とAOP(Aspect Oriented Programming)をサポートする軽量コンテナで、Javaで開発されました。S2Container.PHP5はS2ContainerをPHP5に移植したものです。2005年の5月にSeasarファウンデーションで開発がスタートし、2006年4月29日にS2Container.PHP5-1.1.0が正式にリリースされています。 稿では、PHP5環境で動作するS2Container.P

  • Google Web Toolkit:現実的な開発に即したAJAX:CodeZine

    今回は、メニューからグラフの種類を変更できるようにします。これまでは、3D縦棒グラフでデータを表示していましたが、グラフの種類を折れ線グラフと円グラフに変えられるようにします。

  • Web 1.5的マッシュアップ:CodeZine

    はじめに 「Web 2.0」という言葉にソワソワしているアナタ。そう、そこのアナタです。どうっすか? coolなcode書いてますか? 短めの茶髪をツンツン立ててますか? 流行のメガネ男子をやってますか? あ、さっそく脱線してますね。すいません。 「Web 2.0」という言葉には、明確な定義がないため、非常にあいまいな使われ方をしています。なんとなく「Web 2.0」っぽいとか言われても、人によって基準が違うので、概念を共有できる保障がありません。言葉だけが一人歩きしてしまったために、バズワードだという識者もいます。 「Web 2.0」的と言われているサービスでは、新しい技術によって何かを成しているというよりも、既存の技術の捉え方を変えたり、組み合わせたりして、新しいサービスを実現していることがほとんどです。「Web 2.0」を新しい技術だと捉えると、質を見失ってしまう危険性があります。

  • PDOでサクサクDB開発:CodeZine

    はじめに PHP界隈では現在、PHP 4からPHP 5への移行が進んできており、ここ最近ではPHP 5の機能を活用したフレームワークも多く出てくるようになりました。 PHP 5は、PHP 4に比べオブジェクト指向のサポートや速度面での向上などが取り上げられる中、最も注目すべき点であるデータベースへのアクセスを抽象化したレイヤーとしてPDOが登場しました。 今回はそのPDOに注目し、サンプルを交えてPDOの使い方を紹介します。対象読者PHP 5を使ったことがある方以前PEAR::DBなどを用いてデータベースを使ったアプリケーションを作成したことのある方 必要な環境 PDOはPHP 5.1から標準で導入されるようになりました。Windows/UNIXを問わず利用することができます。よってPHP 5.1の環境と、PDOの動作に必要なデータベースの構築を行ってください。PDOとは PDO(PHP

  • 記事:CodeZine(コードジン)

    ブラウザ ブラウザのデフォルトスタイルをリセットする WINGSプロジェクト うえがき麻矢 [著]、 山田 祥寛 [監修] 連載では、「クロスブラウザに対応したデザインテクニック」をテーマに、保守性や互換性に優れたXHTML+CSSの書き方を紹介していきます。今回は、このブラウザのデフォルトスタイルについて解説し、これを初期化して、各ブラウザのデフォルトスタイルの差異を埋める方法を紹介します。  [2008年10月03日] レポート セッションレポート「エンバカデロ・テクノロジーDatabaseGearプロダクトオーバービュー」 CDN編集部 [著] 去る9月9日と11日。東京、大阪の2拠点で10回目となるエンバカデロ・デベロッパーキャンプが開催された。イベント冒頭に紹介された、エンバカデロ・テクノロジーズの現在の状況と、日においては新たに登場することとなるDatabaseGe

  • シェルスクリプトの基本テクニックを盗め!:CodeZine

    1. はじめに 稿では、実際に活用されているシェルスクリプトを取り上げ、シェルスクリプトを作成する際のいくつかのテクニックを紹介します。どれも基的で応用範囲の広いテクニックなので、多くの読者に参考にしていただければと思います。2. シェルスクリプト サーバ運用にしろ業務システム運用にしろ、LinuxやFreeBSDといったUNIX系OSを活用する場合、ツールとしてのシェルスクリプトは欠かせない存在です。いかにして建設的に手を抜きつつ、処理を自動化して効率化を達成できるかどうかは、シェルスクリプトの活用いかんにかかっていると言ってもいいでしょう。 もちろんそれはシェルスクリプトに限らず、ほかのプログラミング言語でも問題ありません。シェルスクリプトと他のプログラミング言語を比べた場合、シェルで使っているコマンドをそのまま使えることが、シェルスクリプトの最大の特徴であり利点です。 他人が作成

  • CodeZine:プロトタイプ(prototype)によるJavaScriptのオブジェクト指向(プロトタイプ, オブジェクト, Javascript, ECMASCript)

    はじめに JavaScriptはオブジェクト指向言語です。しかし、そのオブジェクトの性質は、他に良く知られているオブジェクト指向言語のJavaC++と大きく異なっています。 そこでこの記事では、なぜそのような違いがあるのか、JavaScriptにおけるオブジェクト指向の言語思想を見ていくと共に、その違いの根幹であるプロトタイプについて解説していきたいと思います。 なお、この記事はJavaScriptの解説ですが、その内容は、標準仕様のECMAScriptで扱われる範囲に基づいています。従って、同じくECMAScriptを元にしている言語(JScript、ActionScript)でも通じる内容になっています。 対象読者 プログラミングの基的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて