タグ

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

  • 中の人がそっと教えるWebリニューアル失敗の顛末

    「失敗談」へようこそ! この記事はWeb制作における「失敗談」、それも、「作っていたものがほとんどおじゃん」という、かなり手痛いレベルの失敗談を、恥を忍んで皆さまの目の前に晒(さら)すというものです(現在は、制作全体をゼロからやり直しているところです)。 案件自体は「自社サイトのリニューアル」というものでしたので、迷惑をかけたお客さまがいるわけではないのが一つの救いです。が、制作に投下したコストは二度と取り返せませんし、ぼく個人の信用への影響も心配です。何より、失敗は恥ずかしいし、つらいものです。 ただ一方で、失敗はきちんと反省し、乗り越えることで、貴重な糧になると信じてもいます。この案件ではたくさんのことに挑戦したので、この経験を次に活かさない手はありません。今回はこうして失敗談を記事にすることを通じてしっかりと失敗を振り返り、自分たちの成長につなげたいと思っています。そしてもちろん、読

  • さくらインターネット 石狩データセンター

    さくらインターネットは学生ベンチャーのレンタルサーバー事業者として1996年に京都府舞鶴市で創業し、ホスティング、ハウジング、クラウドと、事業を拡大してきた。都市型データセンターの事業者というイメージが強いが、2011年11月15日に北海道石狩市に郊外型のデータセンターを開設。IaaS型パブリッククラウド「さくらのクラウド」のインフラとして使用される他、DR(災害対策)として利用したいとの引き合いもあるとか。とかく高いと言われる「日ITコストを世界標準へ」というキーワードを掲げて、先進的な取り組みをしている。 さくらインターネット「石狩データセンター」の概要 石狩データセンターの敷地面積は全体で51,448m²。そこに全部で8棟の建物を建てる予定だが、第一期工事として2棟のみ完成している。1棟の延べ床面積は7,091m²で、収容ラック数は最大500ラックである(8棟で最大4000ラック

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

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

  • DBサーバーの負荷分散

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

  • WebUIのデバッグ方法と新規追加

    第6回ではEclipseのデバッグ機能を使って、AdempiereのJavaクライアントが行っている処理を確認する方法を説明しました。 今回は、AdempiereのWebUI(ユーザーインターフェース)をデバッグする方法を紹介します。 AdempiereのZK WebUIは、 JBossアプリケーションサーバーを起動した後、そのサーバーにブラウザでアクセスすることで表示できます。 WebUIをデバッグするための準備 WebUIをデバッグするには、アプリケーションサーバーの起動時にデバッグ用の値を指定します。 Adempiereをインストールしたフォルダ(C:\Adempiereなど)にある、utils\myEnvironment.batファイルの中に書かれているADEMPIERE_JAVA_OPTIONS という変数に、 -Xdebug -Xnoagent -Xrunjdwp:transp

  • IE8以前でCSS3の表現を使うには

    IEの独自拡張filterプロパティでCSS3を再現 前回紹介したCSS3の機能は、Internet Explorer(以下IE)8以下ではサポートされていません。今回は、クロスブラウザなテクニックとして、IEの独自拡張であるfilterプロパティを使ってCSS3の表現を再現する方法を紹介します。 filterプロパティは、テキストや画像を透過させたり、影を付けたり、色を変えたりと、さまざまなフィルタ効果を指定できるIE独自のCSSプロパティです。これらのフィルタ効果を利用すれば、画像やJavaScriptを利用せずに、CSS3のようなドロップシャドウやグラデーションなどの表現ができます。 filterプロパティには、IE 5.5以上で使用できる効果と、IE 4以上で使用できる効果があり、書式がそれぞれ異なりますので注意しましょう。稿では混同しないように、より広い機能に対応している、IE

  • CSS3って何?注目機能をピックアップ

    CSS3とは? CSSには、1996年12月勧告のCSS1、1998年5月勧告のCSS2、CSS2のマイナーチェンジとなるCSS2.1など、複数のバージョンがありますが、今回連載で扱うのは、CSSの最新バージョンであるCSS3です。 CSS3は、現在策定中ですが、細分化して管理しようという考え方から、「セレクタ」や「フォント」、「テキスト」など、さまざまな機能がモジュール化され、モジュールごとの開発が進められています。つまりCSS3は、CSS2.1のような1つの仕様を指す呼称ではなく、モジュールの総称というわけです。 表1:主なCSS3モジュール モジュール 内容 Status

  • 人気軽量プログラミング言語5選

    はじめに 今回は人気軽量プログラミング言語5選と題して、PythonRubyPerlPHPJavaScrpitを紹介します。今回扱う言語も、前回と同じくTIOBE Softwareのランキングで人気があるものを選んでいます。 軽量プログラミング言語は、Lightweight Language(略してLL)とも呼ばれます。短い記述で処理を実現でき、手軽に取り扱うことができるプログラミング言語です。PythonRubyはLLの代表格ですね。 LLはCやJavaなどを使うまでもないような、ちょっとした処理を書く際に利用するととても便利です。また、最近ではCPUの性能向上やメモリの大容量化に加えて、軽量プログラミング言語自身の速度改善なども積極的に行われているので、大規模な開発において活躍する機会も増えています。 LLは学習難易度が比較的低いものが多いです。前回取り上げたコンパイラ言語を

  • 次世代Web構築ワークフロー概要

    CMSに関連する部分が変わる 今回は、次世代ワークフローを具体的に説明していきます。 まず、キノトロープがこれまでに使用してきたワークフローを以下に示します。 Phase0 与件策定 オファー内容を確認し、成果の実現がお約束できるか、何をどうするべきかをご提示します。 Phase1 戦略策定/成功予測 調査に基づいてユーザーニーズを洗い出し、何をすれば、どのような成果を出せるか、ビジネス戦略を立案します。 Phase2 戦術策定 ユーザーの満足を獲得し、成果を実現するための具体的な戦術プランおよび詳細要件を確定します。 Phase3 設計(運用設計) Webサイト構造の詳細設計、ページ設計、ビジュアルデザインなど、全ての仕様を確定します。 Phase4 制作/開発 Webサイトの開発(デザイン、システム)およびテストを行い、最終確認後、公開または納品を行います。 Phase5 更新/運用

  • HTML5+WebSocketsで作るリアルタイムWeb

    はじめに HTML5+WebSocketsは、Ajax+CometやWCF+Silverlightと異なる特徴としてコネクションが1つという特徴を持ちます。これは、コネクションを張りっ放しにするコストより、コネクション開始のリクエスト発行時にコストを多く必要とすることから考えられた方法です。また、標準のHTML5を使うこと、Webサーバーを特定しないことは重要な要件と考えられます。 WebSocketsは、HTML5での仕様策定から独立した経緯があり、標準に近い仕様と考えることができるため、いずれ多くのWebサーバーでサポートされることが予想されます。サポートとは、WebSocketsの独自プロトコルによって、コネクションを長時間維持することができ、1つのコネクションで、サーバー、クライアント双方からメッセージを送信できることです。 また、コネクションの維持やサーバー、クライアント双方から

  • Web制作にテンプレートが必要な理由

    週刊誌はなぜ刊行できるのか そもそもWebサイトというメディアを制作するということは、何をすることなのでしょうか? htmlを制作したり、グラフィックを作ったり等々、確かにそれも制作の一部ではあります。しかし、Webサイトがメディアであるならば、コンテンツそのものを制作することが、Webサイトの制作であるはずです。 書籍であれば、著者と呼ばれる人は、コンテンツそのものの原稿を書いた人となるはずです。ポスターであれば、何をどのように伝えるかを考えて、それを具現化した人がデザイナーと呼ばれるはずです。テレビ番組であれば、その番組を企画した人が制作者と呼ばれるはずです。 書籍のレイアウトをした人や印刷をした人は、書籍の制作協力者であって、書籍の著者にはなれないはずなのです。ところが、Webサイトを振り返ると、カタログや素材をもらって、編集やレイアウトをする人のことを著者と呼んでいることが多いよう

  • 疲弊するWebサイト構築・運用の現状を考える

    運用に疲弊する制作会社そしてクライアント 「運用に困っている」「アクセス解析が分からない」そんな相談を、毎日のように受けるようになるたびに、やっとここまできたのかと感慨深いモノがあります。 紙媒体の世界からこの世界に入ってきた筆者には、テンプレートの概念や分業の概念すらないWeb構築のやり方にひどく驚いたのを、昨日のことのように思い出します。 言わんや、運用や成果について、議論するなど夢のまた夢でした。 15年以上の歳月が流れ、Webサイトが、ツールとして機能し始めたいまこそ、Webサイトを有効に機能させるために、どのように構築すればいいのかを考える必要があるのです。運用やアクセス解析の問題こそが、現状のWebサイト構築の問題を明確にするきっかけになるはずです。 連載では、次世代Web構築フローと題し、全5回にわたって、これから先の10年に向けた、正しいWeb構築のあり方を解説していきた

  • 第4回 Aptana Studio始めました | Think IT

    Eclipseから始めるあなた 最終回の今回は、オープンソースの統合開発環境「Eclipse」と、Drewmweaverに取って代われる存在ともいえる「Aptana Studio」を紹介しましょう。 筆者がAptana Studioを始めたきっかけは、諸先輩方からのアドバイスです。Webデザインだけでなくプログラミングもこなすような仕事が増えてきたころ、PHPを書く場合に何かいいアプリケーションがないかと探しており、EclipseとプラグインのAptana Studioを勧められたのです。 Eclipseは、プラグインの追加でいろいろな言語を記述することもできるし、何よりオープンソースであるところもいいところだと思います。今回は、まだEclipseを使ったことがない方のために、導入方法から紹介していきましょう。 EclipseではWindowsLinuxMac OS Xほか多数のプラッ

    jetta_swingin
    jetta_swingin 2011/02/25
    Aptanaの入門、導入、初心者向けの記事として良い。
  • 仮想化環境の具体的な設計方法を知る

    仮想化技術を活用して古くなったサーバーを統合したり、新しいサーバー環境を構築したりすることはごく当たり前になってきたが、まだまだ仮想化環境の設計、構築についてのノウハウが広く広まっているとは言えないのが実情だろう。連載では、仮想化専門コンサルタントが実務で培った設計、構築のノウハウを、これから仮想化に取り組むエンジニアにも分かりやすく解説していく。 第2回の今回は、仮想化環境の具体的な設計について解説する。 仮想化のための要件定義 仮想化環境の導入にあたって、仮想化環境に対する要件の定義をしっかりと行うことが重要である。通常のシステム導入の際の要件定義と大きく変わるところはないが、注意すべき点を挙げておく。 目標・目的の明確化 仮想化を導入することのメリットがさまざまな形で伝えられていることもあり、ともすると仮想化を導入すること自体が目的となりがちである。前回紹介したようなメリット・デメ

  • 仮想化技術のメリットとデメリット

    仮想化技術を活用して、古くなったサーバーを統合したり、新しいサーバー環境を構築したりすることは、ごく当たり前になってきた。しかし、仮想化環境の設計、構築についてのノウハウは、広く広まっているとは言えないのが実情だろう。連載では、仮想化専門コンサルタントが実務で培った設計、構築のノウハウを、これから仮想化に取り組むエンジニアにも分かりやすく解説していく。 第1回の今回は、仮想化技術のメリットとデメリットについて解説する。 なぜメリットとデメリットを検討するのか 仮想化技術が広がり始めたばかりのころは「仮想化技術には、一体どのようなメリットとデメリットがあるのか」ということを、よく質問された。そのころに比べると現在では、仮想化技術のメリットとデメリットが知られるようになってきたと言える。しかし、注意しなければならないのは、メリットやデメリットというのは相対的なものであり、対象となるシステムに

  • 同一テーブルでプロパティ項目を変更して永続化

    1. プロパティ項目が異なるエンティティを登録 App Engineのデータ・テーブル*1には、RDB(Relational Database)にはないデータ構造上の主な特徴が、2つあります。その1つが、今回紹介する「プロパティ項目の可変性」で、もう1つは次回紹介予定の「プロパティ項目のコレクション・フィールド定義」です。 [*1] App Engineでは、ユーザー・データを格納するテーブルを「kind」と呼ぶことがありますが、ここではテーブルの名称を統一して使用します。 1.1. プロパティ項目の可変性 それでは、プロパティ項目の可変性とは、どのようなものでしょうか。 RDBの場合、テーブルの列項目は、スキーマ(概念スキーマ)で定義されています。テーブルに登録されるレコードごとに列項目の種類や属性、列項目数を変えるようなことはできません。 この一方で、データ構造がキー・バリュー型になっ

  • Webアプリケーション・セキュリティ

    はじめに 企業情報システムの多くは、(1)Webアプリケーション・サーバー(画面や業務ロジックを担当する)と(2)データベース・サーバー(データを格納する)で構築されています。これらのサーバー・ソフトに対する不正アクセスや操作ミスを防ぐことが、企業のデータを守るうえで重要です。 連載では、2回にわたり、Webアプリケーション・サーバーのセキュリティ(第1回)と、データベース・サーバーのセキュリティ(第2回)を解説します。 Webサイトにおける脆弱性の現状 Webアプリケーション・サーバーのセキュリティ対策を考える前提として、 脆弱性の現状 脅威(攻撃)の現状 を知っておく必要があります。脆弱性と脅威の両方が揃うと、企業のデータは安全ではなくなります。 まずは、脆弱性の現状から説明します。 IPA(独立行政法人情報処理推進機構)のセキュリティセンターでは、経済産業省の告示に基づき、ソフトウ

  • データベースに関わる暗号化を考える

    1.データベースと暗号化 データベースにかかわる暗号化については、その対象とする脅威とその対策によって以下のようなポイントがあります。 ネットワーク上の盗聴に対して通信経路の暗号化を行う OSレベルでのファイル盗難、バックアップメディアの盗難などに対して格納データの暗号化を行う。 バックアップメディア内のデータのみ暗号化を行う。 「2.」と「3.」は似ていますが、データベースを取り巻く実際の脅威と、既に実施されている各種のセキュリティ対策を合わせて考えたとき「稼働しているサーバー自体は十分保全されていてリスクは小さいので性能優先にしたいが、バックアップメディアの輸送中や倉庫管理などについては対策が必要」といったような場合に「3.」を選択するケースもあると考えられます。 今回はこの中で特に「2.」の「格納データの暗号化」について取り上げてみたいと思います。 2.データベースの暗号化が対応する

  • 診断の現場からの提言!Webサイトの脆弱性が潜む場所を知る

    これまでの記事でWebサイトのセキュリティについてお伝えしてきましたが、実際にWebサイトの診断を行っていると、脆弱(ぜいじゃく)性が発見されるパターンが非常に似通っていて、同じ脆弱性が同じような画面で発見されることがあります。 最終回となる今回は、実際に診断していて発見されるケースについて、紹介したいと思います。 1. こんな場所に発見されるケースが多い (1)検索画面(トップページや全画面共通) ・発見される脆弱性:XSS(クロス・サイト・スクリプティング) 検索結果を表示する画面で、入力されたキーワードを表示しようとして、XSS(クロス・サイト・スクリプティング)が発生するケースがあります。 汎用的なモジュールを使用する場合は問題がないケースもありますが、自社内や開発業者のハンドメイドの場合には、脆弱性が作り込まれているケースが見受けられます。 (2)入力フォーム(問合せフォームや会

  • NOSQLは「知る時代」から「使う時代」へ

    連載では、オープンソースの分散KVS(Key-Value Store)である「okuyama」と、その関連技術について、4回にわたって解説します。 okuyamaは、クラウド時代のデータ・ストレージと言われる、「NOSQL」と呼ぶ部類に属するデータ・ストレージです。連載では、NOSQLが登場した背景や関連ソフトウエアの特色を整理したのち、okuyamaの概要と機能の紹介、そして実際にどのように配置・運用するか、などを解説します。 第1回: NOSQLは「知る時代」から「使う時代へ」 - NOSQLの登場した背景や特性、NOSQLの種別を紹介します。 第2回: NOSQLの新顔、分散KVS「okuyama」の機能 - 分散KVS「okuyama」の概要から機能の詳細までを解説します。 第3回: 分散KVS「okuyama」の使い方 - 実際にokuyamaを起動してから利用までの手順と運用