タグ

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

  • いったん、水を差されたHTML5の現状と、将来について

    藤川真一(えふしん) FA装置メーカー、Web制作のベンチャーを経て、2006年にpaperboy&co.へ。ショッピングモールサービスにプロデューサーとして携わるかたわら、2007年からモバイル端末向けのTwitterウェブサービス型クライアント『モバツイ』の開発・運営を個人で開始。2010年、想創社(現・マインドスコープ)を設立。2012年4月30日まで代表取締役社長を務める Facebookが、HTML5をベースにしたアプリから、ネイティブアプリに舵を切った時に、「HTML5に賭けたのは失敗」という話が業界を駆け巡った。 それまでHTML5は、新しいWeb技術の希望の星のように言われており、将来を渇望されていたところに水を差された形になった。 そこで、改めて冷静に「HTMLとは何なのか?」ということを考え直してみた方が良いと思う。 HTMLとWebブラウザの技術的メリットは、 画像な

    hirose504
    hirose504 2012/10/24
    CPUの進化が、毎年2倍のペースで進化していることもあり、どこかの段階で、ネイティブでもHTML5でも問題なく速い、というタイミングが来るハズだ。
  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • データベース・クラスタの概要

    はじめに これから4回にわたり、PostgreSQLを中心に、データベース・クラスタについて解説します。以下の内容を予定しています。 第1回: データベース・クラスタの概要 第2回: PostgreSQLクラスタの動向 第3回: 主要なPostgreSQLクラスタ(前編) 第4回: 主要なPostgreSQLクラスタ(後編) 1. データベース・クラスタとは データベース構築の基は、1つのサーバーに1つのデータベースを構築し、運用することです。しかし、いろいろな理由から、1つのデータベースを複数のサーバー(仮想サーバーを含む)にまたがって構築するケースが増えてきました。 連載では、いろいろな種類のデータベース・クラスタとその用途、主な技術や実装例を解説します。解説の対象となるデータベース・クラスタとは、1つのデータベースを、複数のサーバーや仮想サーバー上に構築するシステムを指します。

  • ベイズの定理でプロジェクトの失敗を予測

    データを確率の枠組みでとらえる「ベイズの定理」 今回は「ベイズの定理」を概説し、この定理をプロジェクト管理にどのように利用するのか説明します。「ベイズの定理」は確率論や統計学において知られている定理であり、さまざまな事象に関するデータを確率論の枠組みで取り扱うことができるという点で有用な定理です。 確率論の枠組みでデータをとらえることができるという点は、確率や統計の知識のある方にとっては特に大きな利点であるように思えないと思いますが、これがまさにベイズの定理の特徴であるということを説明します。 なおベイズの定理はさまざまな応用があります。この定理を使った内容を総じて「ベイズ的」もしくは「ベイジアン」(Bayesian)と呼びます。今回は、ページ数の都合もあり、ベイズ的意志決定に焦点を当て、特にプロジェクト管理における課題を例として説明していきます。 統計を用いた意思決定 ベイズ的意思決定の

  • ユーザビリティチェックシートを試そう!

    指標化の第1歩 前回(http://www.thinkit.co.jp/article/130/1/)では、「Webサイトの標準的な型」を指標化することが、ユーザビリティ指標化の第1歩であることを紹介しました。 今回は「Webサイトの標準的な型」を抑えるとともに、基的なユーザビリティの紹介しながら、実際に「指標によるチェック」を体験していただきたいと思います。 まずはじめに、「Webサイトの標準的な型」とはどんなものなのでしょうか。 それは、ページ上から下記のような構成要素で成り立ちます(図1)。 ・ヘッダー ・グローバルナビゲーション ・メインビジュアル ・コンテンツエリア ・ローカルナビゲーション ・フッター それぞれの構成要素の用途も決まっており、ヘッダーは全ページ共通で使われ、Webサイト自体が属している企業やプロダクトを理解させるために使用します。また、「サイトマップ」や「お問

  • [Think IT] 【バグ管理の作法】Trac徹底活用!

    最近は風呂の人と呼ばれるが、別にいつも風呂で仕事なわけじゃない。喫茶店が好きでMacBook proを持って、あちこちのお店で仕事してる。でも良い喫茶店が見つからず、マクドが多いのが残念。 http://masuidrive.jp/

  • [Think IT] 第2回:iPod touchの自作アプリケーションが作れる&動かせる! (1/3)

    完全先取り! iPod touch開発 第2回:iPod touchの自作アプリケーションが作れる&動かせる! 著者:masuidrive 公開日:2007/11/28(水) iPhone/iPod touchの開発環境 「第1回:iPod touchにアプリケーションがインストールできる不思議」では、iPod touchにアプリケーションをインストール可能にする「JailBreak」の仕組みについて説明しました。 第2回となる今回は、iPod touch向けアプリケーションの開発に先立って、その開発環境の構築について解説します。なおiPod touchとiPhoneの内部はほぼ同じ構成となっており、開発環境を共有することができます。 非公式なSDKとして、現在Intel版Mac OS Xを中心に開発が進められています。2008年2月に公開が予定されている公式のSDKもMac OS X専用

  • [ThinkIT] 第1回:こんなにあるオープンソースのプロジェクト管理ツール (1/3)

    プロジェクト管理用のソフトウェアといえば、定番のMicrosoft Office Projectをはじめ、これまで様々な商用の製品が存在しました。一方で、従来からオープンソースのプロジェクト管理ソフトウェアにも様々なものがあります。 例えばソフトウェア開発に従事されている方であれば、Edgewall Software社が無償で提供している軽量バグトラッキングシステムの「Trac」を使ったことがあるのではないでしょうか(図1)。 ただし、このような従来のオープンソースのプロジェクト管理ソフトウェアの多くは、目的が限定されているものや基的な機能のみを実装するものが多く、企業の汎用的なプロジェクト管理に使えるものが少ないのが現状でした。 その背景の1つとして、オープンソースソフトウェアがWebアプリケーション技術に依存しているケースが多く、ガントチャートなど視覚に訴える機能を実現することが技術

  • [ThinkIT] 第1回:今だからこその「PHPのすすめ」 (1/3)

    オープンソース、特に「LAMP(Linux、Apache、MySQLPHP)」が喧伝されてから久しいですが、それでも実際に現場に身を置いていると、まだまだPHP技術者不足を感じることがあります。 PHPだけがプログラミング言語ではありませんが、今後様々な意味においてPHPを使った開発をはじめとした技術が必要になるでしょう。そこで、連載では3回にわたり、PHP開発の「光」と「影」について解説します。 一般的に「PHPは習得しやすい」といわれています。これは、例えばJavaと比較して、新入社員が現場で実際にプログラミングできるようになるまでの育成時間に着目すれば、その差は明らかでしょう。 Javaが難しいといわれるのは、Javaが言語として難しいというよりもオブジェクト指向の考え方を理解することが容易でないからだと考えられます。同じプログラム言語というカテゴリ分けで、単純にJavaPHP

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

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

  • [ThinkIT] 第2回:jQueryライブラリの内部とonloadイベント記法 (1/2)

    ※注3: http://jquery.com/ 稿では執筆時点の最新版であるバージョン1.0.4を解説しますが、2007年3月現在では、バージョン1.1.2がリリースされています。下記の解説部分は、1.1.2でも同様の処理が実装されています。 Prototypeライブラリがscript.aculo.usライブラリとの組み合わせで実現していたエフェクト処理の一部も、jQueryではそれ単体のみで対応しており、プログラマにとってWebページを制作する際に必要となる、かゆい所に手が届いた実装が魅力のようです。 また、jQueryライブラリのソースコードにはJavaScriptプログラミングの最新ノウハウがギッシリと詰まっています。リスト1にjQueryのコードを一部抜粋しましたので、実装方法を解析してテクニックの一部を確認してみましょう。 Prototypeライブラリは、JavaScript

  • [ThinkIT] 第6回:BTS(Bug Tracking System)の利用 (1/3)

    システム開発を進めるにあたり、バグやタスクなどを管理して、現在発生しているバグの数や担当者といったステータスを把握する必要があります。また、ある程度以上の規模のWebアプリケーションを開発する場合、数人のチームで開発を進めるケースが多く、開発を円滑に進めていくためにスタッフ間での情報共有が重要になってきます。 「Bug Tracking System(以下、BTS)」は、これらの問題を解決するためにプロジェクトのバグを管理し、修正状況を追跡できるよう可視化を行うシステムです。現在、BTSとして様々なソフトウェアが公開されており、ソフトウェアを開発する上での必須アイテムになりつつあります。 BTSの多くはWebブラウザ経由でアクセス可能なソフトウェアで、その中から今回はウノウで採用している「Trac」について説明します。 Tracは、BTSとWiki、Subversionリポジトリビューワー

  • [ThinkIT] 第1回:Prototype.jsを使う準備 (1/2)

    筆者がPrototype.jsに初めて出会ったのは、2005年9月ごろだったと思います。この頃、オブジェクト指向JavaScriptはまだまだ黎明期で、オブジェクト指向の書き方もさまざまな我流が存在していたことを覚えています。 もちろん、筆者も我流のオブジェクト指向で書いていました。しかし、すべてのエンジニアが我流の書き方をしていては、JavaScriptのオブジェクト指向は普及しません。 そんな時にさまざまなブログで取り上げられ始めたのがPrototype.jsでした。Prototype.jsにはクラスを定義するという機能があり、すべてのエンジニアが同じ方法でクラスを定義できるのです。それは、大きなインパクトでした。しかし、その当時Prototype.jsにはまとまったドキュメントが無く、目利きのJavaScripterたちはこぞってソースを読んでいました。 そして、そのことが図らずとも

  • [ThinkIT] 第5回:複数人での開発におけるテストの勘所 (1/3)

    これまで解説してきたように、ウノウでは各々の開発者の開発環境で慎重に組み上げられたソースコードをSubversionで管理された統一の開発環境にそれぞれコミットし、リリースに向けて足並みを揃えながらシステムテストを実施します。 ウノウではテスト専門の担当者が在籍しており、開発者とは違った視点から成果物のチェックを行う体制を整えています。今回はその実践事例を紹介しながら、複数人での開発におけるテストの勘所について解説していきます。 テスト工程はプロダクトの品質を確保するために欠かせないフローの1つです。組み上げられたばかりのソースコードは、まだ完成度が客観的に保証されていない状態であり、開発者のスキルに対する信頼によってのみ「完成した」と推測されるものでしかありません。極端にいえば、いざ蓋を開けてみたら動かなかったということもあり得るのです。 自社プロダクトの開発がほとんどであれば、問題が発

  • [ThinkIT] 第2回:Subversionによるバージョン管理(前編) (1/3)

    今回は、Subversionによるバージョン管理方法とウノウでの導入事例について前編と後編にわけて紹介していきます。 Subversionとは、無償で利用できるバージョン管理システムです。現在もオープンソースで活発に開発が進んでおり、執筆時点の最新バージョンは1.4.2となります。バージョン管理システムとは、ソースコードや仕様書などを含むドキュメントなど、時間とともに内容が変化するファイルを管理するシステムの総称です。 Subversionと同じようなバージョン管理システムとしては、CVS(Concurrent Version System)が有名ですが、SubversionではこのCVSで使いにくかった点を改良した次世代バージョン管理システムというコンセプトで開発が続けらています。筆者が実際にどちらも利用してみた結論として、導入をおすすめするバージョン管理システムは、やはり「Subver

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

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

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

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

  • [ThinkIT] 第1回:Railsが注目されている理由 (1/3)

    RailsはDevid Heinemeier Hansson氏(以下、Hansson氏)が中心となって作成を続けているRuby製のオープンソースWebアプリケーションフレームワークです。まずはその概要について少し探ってみましょう。 Railsは、2003年の夏にHansson氏が作成を開始して、2004年にはじめて一般に公開されました。 それまでは「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってソフトウェア開発をしていた」とHansson氏は語っています。そこで両者のいいとこどりをした「早くてきれいな」フレームワークを目指して開発をはじめ、現実のものにした結果がRailsなのです。

  • 1