タグ

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

  • ApacheModuleでWebアプリケーションをつくろう

    1.はじめに Webアプリケーション開発の現場で使用されている開発言語には、JavaPerlPHP、最近であればRubyPythonなどがあります。この分野ではC言語も、CGIによるWebアプリケーション開発で旧来から用いられていますが、最近の開発者にはあまり馴染みがないかもしれません。当時の新技術であったJavaと比較して、あまりにも遅い結果が出ていたからとも言われています。 しかし、Webサーバの「Apache」、データベースの「PostgreSQL」「MySQL」、OSの「Linux」など、各所でオープンソースソフトウェア(OSS)の開発言語には、依然としてC言語が多く用いられています。このようにC言語は、Webアプリケーション開発の現場で使われるケースは減ったものの、現在でも重要な開発言語の一つです。 そこで今回は、Apache 2.2のmod_dbdで実装された「データベー

    ApacheModuleでWebアプリケーションをつくろう
  • C++でWebアプリケーションを開発できる ~ 高性能フレームワーク「TreeFrog Framework」

    稿では「C++でも簡単にWebアプリケーションを開発したい!」という声にお応えして、C++によるフルスタックのWebフレームワーク「TreeFrog Framework」を紹介します。C++で開発する最大のメリットは、アプリケーションが高速かつ少ないメモリ使用量で動作することです。Webアプリケーション自体がさらに高速に動作すれば、より少ない数のサーバで多くのリクエストを処理することが可能になるでしょう。 はじめに Webアプリケーションの開発案件をみると、使われている言語はJavaPHPが特に多いように思います。C++のものはまず聞きません。C++プログラマがWebアプリケーションの開発プロジェクトに参画するとなると、新たに別の言語を習得しなければならないのが現実です。TIOBE Programming Community Indexというプログラミング言語の人気度調査において、C+

  • 「超高速、完全自動、しかもフリー」 WebテストツールのGITAK公開

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

    「超高速、完全自動、しかもフリー」 WebテストツールのGITAK公開
  • Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)

    はじめに Google App Engine(GAE)/Javaでは、Java仮想マシン上で動作する言語を利用することができます。例えば、JRubyやGroovyなどです。 Scalaも、コンパイルすることによりJava仮想マシン上で動作するクラスファイルを生成する言語ですので、当然、GAE/Java上で動作させることができます。 Scalaが動作するということは、ScalaでできているWebアプリケーションフレームワークであるLiftを元に作成されたアプリケーションを、GAE/Javaに載せることができるということです。 前後編で構成される連載では、ScalaおよびLiftをGAE/Java上で動作させる方法を解説した後、サンプルアプリケーションでGoogleが提供するさまざまなAPIを利用した、GAEならではのアプリケーションを作成して、GAEでのアプリケーション作成のイメージをつか

    Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)
  • HTML4から変化したHTML5のマークアップ ここが違う!サンプルで見るHTML5(2)

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

    HTML4から変化したHTML5のマークアップ ここが違う!サンプルで見るHTML5(2)
    hacked
    hacked 2010/12/03
  • 今からでも遅くない これから始めるScala(後編)

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

    今からでも遅くない これから始めるScala(後編)
    hacked
    hacked 2010/08/23
  • 今からでも遅くない これから始めるScala(前編)

    なぜ、いまScalaなのか? TwitterScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。連載では、Scalaの基的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。

    今からでも遅くない これから始めるScala(前編)
    hacked
    hacked 2010/08/23
  • 私がScalaを選んだ理由

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

    私がScalaを選んだ理由
  • ScalaによるWebアプリケーションフレームワーク「Lift」とは

    Java仮想マシン上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 連載ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 はじめに Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 稿ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な

    ScalaによるWebアプリケーションフレームワーク「Lift」とは
  • DAO generator for PHP and MySQLを使用する

    はじめに データアクセスオブジェクト(DAO)はデータベースへの抽象インターフェースを提供し、開発者がデータベーススキーマの詳細を知らなくても一般的なデータベース操作を行えるようにします。データアクセスオブジェクトは基的に、アプリケーションのビジネスロジック層とデータ層を分離するものです。この分離は重要です。この2つの重要なアプリケーション層がお互いのことをほとんど何も知らず独立して動作するようにしておけば、双方をいつでも別々に改訂できるからです。DAOを適切に使用すれば、ビジネスロジックが頻繁に変わる環境でも同じDAOインターフェースを使用でき、インターフェースが正しく実装されてさえいれば、永続ロジックに変更を加えてもDAOクライアントに影響を与えずに済みます。 DAO generator for PHP and MySQLMySQLデータベース用のDAOクラスの作成プロセスを自動化

    DAO generator for PHP and MySQLを使用する
  • JavaとC++のパフォーマンスを比較する

    はじめに Javaプログラミング言語の初期のころから、Javaはインタープリタ言語なのでパフォーマンスの点でCやC++に劣る、と主張している人たちがいました。もちろん、C++の信奉者たちは、そもそもJavaを「真の」言語だと思っていないでしょうし、Javaの連中はC++プログラマに向かっていつも「一度書けば、どこでも実行できる」と唱えています。 まず重要なことから取り上げましょう。Javaは基的な整数演算をどれほどうまくやってのけるでしょうか。私が誰かに「2×3は?」と尋ねたら、おそらくすぐに答が返ってくることでしょう。では、相手がプログラムならどうなるでしょうか。これを調べるために、基的なテストを行ってみましょう。テストの内容は次のとおりです。 最初にX個のランダムな整数を生成する それらの数に、2からYまでのすべての数を掛ける 全体集合の計算に要する時間を計算する 乱数の生成に要す

    JavaとC++のパフォーマンスを比較する
  • Javaで軽快に使える「軽量フレームワーク」特集~リッチなGUIを構築する「Vaadin」(1)

    はじめに フレームワークと言うと、多くの人は「アプリケーション全体を設計するもの」というイメージでとらえているかもしれません。しかし、もちろんそれだけがフレームワークではありません。例えばHibernateのように特定の機能に特化したものも存在します。 最近になって見られるようになってきたのが、「Ajax利用のためのフレームワーク」です。例えば、「Google Web Toolkit(GWT)」などのことです。Javaを使って、Ajax利用のWebアプリケーションを構築するフレームワークです。素のHTMLだけでは実現できないリッチなGUIを、JavaScriptの複雑なコードを書くことなく実現できるフレームワークとして、GWTは広く使われつつあります。 これまで、サーバーサイドのことばかり考えていた感のあるフレームワークの世界に、こうした「クライアントサイドの構築」を重視したものが登場する

    Javaで軽快に使える「軽量フレームワーク」特集~リッチなGUIを構築する「Vaadin」(1)
  • Fessで作るApache Solrベースの全文検索サーバー ~ 導入編

    はじめに ドキュメントは日々増えて続けています。ドキュメントの数が多くなるほど、目的の情報は見つけにくくなるため、それらのドキュメントを効率よく管理する方法が必要です。その解決策の一つとして、複数のドキュメント(ファイル)をまたいで検索することができる「全文検索サーバー」の導入が挙げられます。 Fessは簡単に導入できる、Javaベースのオープンソース全文検索サーバーです。Fessの検索エンジン部分にはApache Solrを利用しています。Solrは、2億ドキュメントもインデックス可能と言われる非常に高機能な検索エンジンです。一方で、Apache Solrで検索システムを構築しようとする場合、クローラ部分などを自分で実装する必要性があります。Fessではクローラ部分にSeasar Projectから提供されるS2Robotを利用して、ウェブやファイルシステム上の様々な種類のドキュメントを

    Fessで作るApache Solrベースの全文検索サーバー ~ 導入編
  • Javaで軽快に使える「軽量フレームワーク」特集 ~Apache Wicketで簡単Webアプリ作成(1)(1/5):CodeZine

    時代がライトウェイト言語へとシフトしつつある中、軽快に使えるフレームワークが次々登場してきました。連載では、Javaで注目されている軽量フレームワークの中から注目株をピックアップし、概略を紹介します。第1回目の今回は「Apache Wicket」の基的な構成と使い方を覚え、実際にWebアプリケーションを作ってみましょう。 はじめに 以前は、Javaの世界でフレームワークと言えば「Struts」と定番が決まっていました。しかし、フレームワークによる開発は、どうしても大掛かりなものになりがちです。時代がライトウェイト言語(Lightweight Language、PHPRubyなどのスクリプト言語)へとシフトしつつある中、重量級のフレームワークは、やや時代遅れな印象をもたれてしまうのは仕方のないことでしょう。 もっと軽快に使えるフレームワークがあれば、と思う人は多かったに違いありません。

    Javaで軽快に使える「軽量フレームワーク」特集 ~Apache Wicketで簡単Webアプリ作成(1)(1/5):CodeZine
  • 外部結合の使い方

    はじめに SQLに対するよくある誤解の1つに、「SQLは帳票作成のための言語だ」というものがあります。確かに、SQLは定型・非定型を問わず、さまざまな帳票や統計表を作成するシステムで利用されています。そのこと自体に問題はありませんが、エンジニアにとってもSQLにとっても不幸なことは、SQL来の用途ではない結果のフォーマット整形までがSQLに求められることです。あくまでSQLはデータ検索を目的に作られた言語だからです。 しかし同時に、SQLは多くの人が考えているよりずっと強力な言語です。特に近年は、そうした用途にも対応すべく、OLAP関数をはじめとするレポート作成のための機能が多く取り入られるようになりました。システム全体としてソースを簡略化でき、十分なパフォーマンスを得られるなら、SQLの力を利用する価値は十分にあります。 稿では、外部結合(OUTER JOIN)を利用したフォーマッ

    外部結合の使い方
    hacked
    hacked 2009/09/01
  • 「Twitter」公開APIを利用して 関連の日本語サービスが続々と登場

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

    「Twitter」公開APIを利用して 関連の日本語サービスが続々と登場
  • Djangoチュートリアル(前編)

    はじめに 近年、Webアプリケーション開発で用いるプログラミング言語として、Lightweight Language(以降LL)と呼ばれるスクリプト言語が人気を博しています。稿では、そのスクリプト言語の中からPythonとWebアプリケーションフレームワークのDjango(ジャンゴと読む)を紹介します。 Pythonの大きな特徴として、「言語仕様が小さくシンプルであり、簡潔で読みやすいアプリケーションを作れる」という点が挙げられます。DjangoPythonの簡潔さをうまく活かし、シンプルかつ格的な開発ができるWebアプリケーションフレームワークです。稿ではこのDjangoによるアプリケーション開発の基をチュートリアル形式で説明します。 対象読者 PythonによるWebアプリケーション開発に興味がある方 日頃、PerlRubyPHPJava、C#などPython以外のプロ

    Djangoチュートリアル(前編)
  • MySQLで分析関数を模倣1(前編)

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

    MySQLで分析関数を模倣1(前編)
    hacked
    hacked 2009/03/01
  • 相関サブクエリで行と行を比較する

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

    相関サブクエリで行と行を比較する
  • 「膨大なデータを分析して見えてくること」ニコニコ動画データ分析研究発表会

    最大の動画投稿サービス「ニコニコ動画」は、動画上を流れるコメントや、自由に編集できるタグ機能といった特徴を持ち、単なる動画共有サービスにとどまらず、コミュニティサイトとしての側面も持つ。多くの人がアクセスする中で「アイドルマスター」「初音ミク(VOCALOID)」「東方プロジェクト」など、いろいろなムーブメントが生まれてきた。 今も毎日多くの動画が投稿されており、各動画は「再生数」「コメント数」「マイリスト数」などの情報がわかるようになっている。すでに投稿動画数は200万を超えるが、これら膨大なデータを分析することで、どんな現象やコミュニケーションが起きているのかを明らかにしようとするのが今回の発表会の目的である。 分析する際の2つの障壁 独自にデータ収集が必要であること しかし、そもそもニコニコ動画自体はデータを分析しやすいように広く提供しているわけではない。1つ1つの動画の再生数

    「膨大なデータを分析して見えてくること」ニコニコ動画データ分析研究発表会