タグ

ブックマーク / thinkit.co.jp (10)

  • [ThinkIT] 第1回:同じようで違うデータ型 (1/3)

    連載では、「徹底比較!! PostgreSQL vs MySQL」で取り上げることのできなかった項目をいくつか取り上げ、再びPostgreSQLMySQLについて解説していきます。最後までお付き合いいただけると幸いです。 なお、連載での解説対象のPostgreSQLMySQLのバージョンは以下の通りです。

  • [ThinkIT] 第1回:複数人による開発の要所を押さえる (1/3)

    PHPは生産性の高い開発言語として広く普及しました。現在も多くのWebアプリケーション開発でPHPが採用されており、その手軽さも手伝って実績を伸ばし続けています。手軽に開発できることから、個人での開発もでき、独自の開発手法が多く存在し、複数人では統一が難しいといわれています。 そのため複数人による開発では、確固とした開発手法がとられてない事例が多いのも事実です。開発手法が確立されてない場合、規模が大きくなるとすぐに破綻してしまいます。それを避けるには、開発手法を確立しておく必要があります。 連載では複数人によるPHPを用いたWebアプリケーション開発において、実際に筆者の所属するウノウ株式会社が行っている手法を例に効率的な開発手法を解説していきます。連載の内容はPHPだけでなくRubyPerlのような他の言語にも適用できます。また1人で開発を行う時に非常に有効な方法です。実際に筆者が

  • [ThinkIT] 第1回:Inside Hatena Bookmark (1/2)

    筆者が勤務する株式会社はてなが提供するある一つのインターネットサービスを題材に、LAMP(Linux+Apache+MySQLPerl)でのアプリケーション開発や、負荷分散について述べるという発表でした。はてなで提供しているサービスには、はてなブックマーク以外にもはてなダイアリー(注2)のような月間何億PV(Page View)もある大きなサービスもあります。はてなブックマークはそれらに比較すると小さい、中規模なシステムです。 システム運用について発表するにあたって、億単位のPVをさばく巨大なサービスについて述べるよりも、ある程度現実的な規模のものについて解説する方が、みなさんの参考になるかなと思い、このテーマを選択しました。 稿ではYAPC::Asiaでの発表の中からいくつかのトピックを選んで、Perlを使ったシステムの運用や負荷分散のコツなどを中心に解説したいと思います。 なお、発

  • Javaコーディング規約 @ThinkIT

    皆さんはコーディングがお好きですか? プログラミングが好きでソフトウェア業界に入りプログラマになったのは良いものの、ソフトウェアやシステムを新規に設計して開発するのは稀で、現実には他人の書いたソースコードを触ることが多くはないでしょうか? そして、いざ引き継いだソースコードを見て愕然としたことはないですか?例えば、以下のようなことに遭遇しませんでしたか? クラス名/メソッド名(do1、do2)/インスタンス変数名(a、w、t)の意味が分からない 同じような事が何度も書かれている メソッドの長さが1000ステップを越えている mainメソッドしか存在しない プログラマは、受け取ったソースコードを見て処理内容を推測します。手がかりは、プログラムの構成やメソッド名、変数名などです。 もし仕様書があれば、ソースコードを読み解くために利用できますが、仕様書とソースコードの内容があまりにも異なる時は、

  • [ThinkIT] 第3回:成果物の管理とプロジェクトのコミュニケーション向上 (1/4)

    2005年の夏の話ですが、こんなことがありました。ある花火大会で有料席をとり、友人と見に行くことになりました。有料席で花火を見るのは、はじめてであったため、そのことを会社で一部の人に話しました。 花火が終わり月曜日に出社すると、その話に尾ひれどころか背びれ、胸びれまでついていて、高層ビルのレストランで事をとりながら優雅に花火を見たことになっていました。花火を見に行ったことを伝えていないはずの部長にも「花火どうだった?スーツ着ていったんだって?」と聞かれる始末。コミュニケーションの限界を感じました。 部長まで話が届いたという情報の伝達の早さには感心しますが、正確でないのは困りものです。情報の伝達は重要ですが、正確でなければいけません。 このようなことは、チームに開発にも当てはまります。正確に情報を伝達することはとても重要なことです。伝達ミスはプロジェクトの成否にもかかわります。現在、私はプ

  • [ThinkIT] 第4回:見積もりについて (1/3)

    システム開発費の見積もりですが、請負で開発する場合も派遣で開発する場合も、開発会社の見積算出方法にあまり違いはありません。発注担当者としては、どうやって見積もりがされるのかを知らないと、提出された見積書を判断できません。 見積もりの算出方法ですが、まず「分析・調査」、「設計」、「製造」、「テスト」、「番移行作業」などの工程に分けます。システムの規模によっては分析・調査を設計に含めてしまうことがありますが、おおむねこういう分類です。そして各工程に工数と単価を算出し、見積額が決まります。 工数とは、その作業がどれくらいかかるかという数値で「○○人月」などと表すことが多いようです。たとえば「設計20人月」と見積書に書かれていれば、SE1人で行えば20ヶ月かかり、4人で行えば5ヶ月かかるという意味です。 単価はSEやプログラマ、その他必要な技術者の1ヶ月あたりの単価です。一般的にSEはどれくらい

    naney
    naney 2005/11/24
  • [ThinkIT] Part2:トライ!SQLite(1) (1/2)

    SQLiteは、簡易ながらSQL仕様をほぼサポートするデータベースソフトウェアです。PHPとこのSQLiteを組み合わせて、データベースWebアプリケーションを構築できます。 SQLiteは組み込み専用のDBMSで、PHP5からバンドルされています。SQLite単体はhttp://www.sqlite.org/から入手できます。SQLiteはパブリックドメインとして提供されており、無償であるだけでなく、ソースコードの改変や第三者への再配布も自由に行うことができます。 SQLiteの動作を一言で表せば、ファイル操作をSQL言語で行うようなものです。MySQLやPostgreSQLなどのデータベースサーバーと違って、サーバープロセスを起動する必要がありません。このため、気軽に利用できます。構成は1つのデータベースにつき1つのファイルから成り、ユーザーという概念はなく、アクセス制御などはOSのユ

  • [ThinkIT] 第7回:データベースの利用 (1/3)

    ここでは、データベースにHSQLDBを利用します。HSQLDBはピュアJavaのデータベースで、サイズも小さく、簡単に利用できるデータベースとして人気があります。なお、既によく利用しているデータベースがある場合は、この準備の節は読み飛ばして、ご利用のデータベースをお使いください。その際は、以降のJDBCドライバやURLなどを利用しているデータベースに置き換えて読み進めてください。 HSQLDBでは、以下の4つのモードが利用できます。この記事では、一般的なDBと同様の利用法である、サーバモードを利用します。

    naney
    naney 2005/05/19
    HSQLDB
  • [ThinkIT] 第11回:Antの利用 (1/4)

    AntはApache Antプロジェクトが提供しているビルドツールです。 EclipseなどのIDEを使っていると忘れてしまいがちですが、Java Webアプリケーションを実行するまでには、ソース編集 → コンパイル → パッケージング → デプロイという流れの作業が必要になります。これら一連の作業を記述しておき、コマンド一発で呼び出すのがビルドツールです。 Antもビルドツールの一種ですが、Antは以下のような特徴を持っています。

    naney
    naney 2005/04/15
  • [ThinkIT] 第13回:CVSの利用(2) (1/3)

    まず、CVSサーバからファイルを更新します(1)。そして、ローカルで開発を進め(2)、作業が終わったらCVSサーバにファイルをコミットします(3)。この1〜3を定期的に行います。どのくらいの周期で行うかはプロジェクトによりますが、定期作業としては毎日行い、誰かが作成したファイルをすぐに利用したければ、随時行う場合もあります。 頻繁にCVSと同期をとっておくことで、複数の人が同じファイルの同じ部分を修正してしまう「競合」をなるべく避けることができます。なお、図では更新(1)とコミット(3)を順番で行うように書いていますが、実際は、自分の作業中に他の誰かが新しいファイルを追加している場合が多いので、1と3は同時に行うと考えてもよいでしょう。 CVSサーバとローカルファイルを比較する作業を同期化といいます。前の説明では1および3の作業です。パッケージ・エクスプローラーで、プロジェクトを右クリック

    naney
    naney 2005/04/13
  • 1