タグ

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

  • iPhoneアプリとデータベースサーバの連携

    データベース・スキーマとアクセスの準備 今回は早速iPhoneを使った業務アプリケーションのサンプルを紹介します。 サーバー側の準備として、MySQLPHPを使ったプログラムを作成しました。クライアントはもちろんiPhoneです。 サーバー側のアプリケーションとiPhone向けのプロジェクトはこちらからダウンロードしてください。 まずはサーバー側について説明しましょう。 この種のクライアント/サーバー系のシステムは、どこまでをサーバーにさせるのかという設計が考えどころです。 結果的にはその現場で使えるOSやミドルウエアに応じておおむね動作方法は決まってしまうものです。 iPhoneが端末であるということが決定した段階で言えることは、MySQLOracleSQL Serverといったネットワーク・データベースヘの ドライバ関連のものが組み込まれていないということです。 SQLiteが組

  • [ThinkIT] 第8回:Cookieとセッション情報 (1/3)

    サーバ/クライアント間の通信を担当するHTTPは、ステートレス(状態を管理しない)なプロトコルです。このように表現してしまうと難しく聞こえるかもしれませんが、要するに「複数のページ間で情報を保持することができない」ということです。 例えば、ページXとページZという2つのページがあったとします。ページXを処理したあとにページZを呼び出したとしても、ページZはページXで入力された内容や処理結果、さらにページXのあとに呼び出されたということも知ることはできません。 HTTPにおいては、リクエスト/レスポンスの一往復が完結された処理と見なされるので、次に発生したリクエストはまったく別物と認識されるからです。 しかし、JSP&サーブレットアプリケーションを構築する場合、複数のページ間で情報の保持が必要になるケースは少なくありません。例えば、認証を必要とするアプリケーションを想定してみてください。トッ

  • [ThinkIT] 第2回:セッション管理 (1/4)

    Webアプリケーションを実装するにあたり、複数の画面を遷移してひとつの取引(トランザクション)を行うケースは非常に多く見られます。ECサイト上での取引を例に取ると、図1のような流れが一般的ではないでしょうか。 ここで言われる取引(トランザクション)は、ECサイトというサイトの特性におけるビジネスロジック上のトランザクションであって、HTTPというプロトコル上ではひとつの画面を遷移する毎に最低一回のトランザクションが発生します。 画面遷移毎に利用者から送りつけられる要求が複数回におよぶということは、HTTPトランザクションが複数回発生するということです。この場合、Webアプリケーション側では、一番最初に「商品をカートに入れる」ところから始まり「取引完了」までの間、リクエストを送ってくる"主"を何としてでも特定しなければ、他人がカートに放り込んだ商品が自分の手元に送付されてしまうような状況を招

  • CSS3のWebフォントを使ってみよう

    CSS3のWebフォント機能は、サーバー上にあるフォントを利用するもので、ユーザーの閲覧環境に依存しません。使用したいフォントファイルをサーバーにアップロードし、CSSで読み込ませるだけで利用できるので、フォントの選択肢が広がります。 これまでテキストを画像化して表現していたWebのタイポグラフィも、Webフォントを使って自由に表現できるわけです。テキストなので、選択やコピー&ペーストも可能、SEOにも有効です。もちろん、font-sizeやcolor、text-shadowなどのCSSプロパティも適用できます。 主要なブラウザは、既にWebフォントに対応しているので、少しの工夫ですぐに利用できます。ただし、フォント形式やライセンスなど、利用に際してはちょっとした注意が必要です。稿では、これら注意点を踏まえてWebフォントの利用方法を紹介します。 Webフォントの利用方法 では早速Web

  • Railsに変えてよかった!:iKnow!の場合

    iKnow!はRuby on Railsでできている みなさん「iKnow!」という語学学習サイトはご存じでしょうか? iKnow!は、効率的に暗記ができる、スケジュール管理および記憶定着度管理機能を備えたパーソナル学習アプリケーションを搭載した、無料のSNS型語学学習サイトです。サービス開始からわずか1年でユーザー数が34万人を超え、現在も国内最大の語学学習 SNSとして日々成長を続けています。 Think ITでも「【Webデザインワークフロー】iKnow!の作り方(http://www.thinkit.co.jp/article/111/1/)」(英語版「【Web design work flow】How to make iKnow!(http://www.thinkit.co.jp/article/121/1/)」)で、Webアプリケーションの開発手法について取り上げました。 この

  • [ThinkIT] 第2回:MyISAMとInnoDB (1/3)

    今回は、MySQLのストレージエンジンの中でも特に有名な「MyISAM」と「InnoDB」の2つを取り上げます。MyISAMはMySQLのデフォルトストレージエンジンで、ストレージエンジンを指定せずにテーブルを作成するとMyISAMが選択されます。もう一方のInnoDBエンジンは、MySQLに豊富なトランザクション機能を提供するストレージエンジンとして有名です。 まずはそれぞれのテーブルファイルの構造について解説し、最後にInnoDBのトランザクションについて解説します。 各ストレージエンジンのファイル構造を説明する前に、前知識としてMySQLのディレクトリ構造について説明します。 MySQLのデータベースディレクトリには、バイナリログと呼ぶデータベースの更新情報を格納するファイルと、2つのサブディレクトリが存在します(図1)。 「mysql」ディレクトリには権限テーブルと呼ばれるMySQ

  • 1