タグ

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

  • データセンターは利用から所有する時代へ―520万円コンテナ個人データセンター誕生秘話

    2018-01-28 10:00: 反響にお答えしてタイムラプス動画を追加しました! 2018年1月21日、東京近県の某所でデータセンターの開設式が行われた。日国内では毎年新しいデータセンターが複数開設されており、そのこと自体はそれほどのニュースバリューはない。しかし、この日オープンしたデータセンターは企業ではなく個人が所有しており、しかもほぼ手作りで建設したデータセンターだった。しかも、ビジネス目的ではなく、趣味で作られた日国内では初だろうし、欧米でもこんな話は聞いたことがないため、これは世界初の事件なのかも知れない。 趣味としてのデータセンター作り このデータセンターのオーナーは宇田周平氏、27歳。外資系IT企業に勤務するいたって普通の若手エンジニアだ。勤務先は確かにデータセンターとの関わりは深いが、彼が今回のデータセンター建設に至ったのは、業務上の要請ではないし、かといってサイド

    データセンターは利用から所有する時代へ―520万円コンテナ個人データセンター誕生秘話
    send
    send 2018/01/27
  • Webアプリケーション・セキュリティ

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

    send
    send 2010/11/16
  • [ThinkIT] 第2回:Symfonyを例にしたフレームワークを使ったPHP開発 (1/3)

    PHP 5に特化している(オブジェクト指向) MVCモデルを採用 O/Rマッピング機能による、テーブルとクラスの高度なマッピング RAD(Rapid Application Development)を可能にする各種ヘルパー YAML not XML(データベースや検証ルールの設定にはYAMLを採用、XMLも使用できる) ScaffoldingやAdmin Generatorなどの自動生成機能が秀逸 Ajaxとも容易に連動

    send
    send 2007/06/01
  • [ThinkIT] 第1回:Inside Hatena Bookmark (1/2)

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

    send
    send 2006/10/19
    数値には興味あるが、運用としてはダメだと思うな。これは。
  • [ThinkIT] 第1回:Hinemosの全体構想について (1/3)

    連載は、オープンソースの「Hinemos」を実装する際に使用した様々なOSSの活用方法について解説します。第1回となる今回はHinemosの全体構想について解説し、以降は表1の予定で進めていきます。最後まで、お付き合いいただければ幸いです。 Hinemosの全体構想について(今回) OpenLDAPを活用したリポジトリ機能について Eclipseで実現した統合運用画面について EJBにて実装した各運用機能について JBossのクラスタリング機能を活用した可用性向上について データベースのクラスタリングについて

    send
    send 2006/08/10
  • [ThinkIT] 第3回:データベースのスケールアウト(後半) (1/3)

    さてデータを分割すると、特定のサーバで膨大なデータを一手に読み書きする必要はなくなります。 一方、図1に示すように、このままではSQLの処理を行う際には、すべてのデータをいったんSQLの処理をするサーバに送らなければならなくなります。 これは通常、LAN(ローカルエリアネットワーク)を介して行われますが、この時の速度はサーバ内の磁気ディスクのデータ転送速度よりもかなり遅いのが現状で、単純にデータを蓄積しただけでは、かえって効率が低下する場合もあります。 そこで、SQLの処理の内部構造に着目してみます。この内部構造を非常に単純にモデル化したものを図2に示します。 SQLの処理は、SQLの構文を解釈する部分(パーサ)と、この構造を理解して処理手順を決める部分(プランナ)、そして実際に処理を行う部分(エグゼキュータ)に分けられます。 SQLの結果を受け取るデータはわずかでも、何百万何千万のレコー

  • [ThinkIT] Part6:PHP4からPHP5への移行のポイント (1/2)

    PHP4からPHP5ではいくつかの変更点があり、互換性のないものもあります。ここでは、そのような変更にどのように対処すべきかを説明します。 PHP5も無事にリリースされ、PHP5への移行を考えている方も増えていることでしょう。そこで問題なのが、現在PHP4上で動作しているアプリケーションの存在ではないでしょうか。ここではPHP5への移行にあたってつまずきやすいポイントを紹介します。 そもそもPHP4からPHP5に移行する必要性とは何でしょうか。たとえば業務システムの場合、一度作ってしまったらよほどのことがない限り環境を変えるということはまずありえません。特にPHP5へのバージョンアップの場合は、現状PHP4とPHP5の同居が通常の方法では無理なことを考えると、PHP5リリース後も当分の間PHP4のメンテナンスは続くと予想できるので、セキュリティホールが見つかったためPHP5にバージョンアッ

    send
    send 2006/07/26
  • [ThinkIT] 第4回:Railsでテストをしてみよう (1/4)

    近年のシステム開発では図1に示すように自動化されたテストを取り込み、継続的インテグレーションを実現した開発スタイルが提唱されています。 テストの自動化を導入することで、ソフトウェア開発で最も恐れるべき事象の1つであるデグレードを回避することができるため、積極的にコードを整理(リファクタリング)することができるようにもなります。 またテストの自動化は、先進的なアジャイル開発ではもちろんのこと、従来のウォーターフォール型開発プロセスにも有効的な適用が可能であるため、近年急速に一般化しつつあります。そしてRuby on Rails(以下、Rails)にはテストの自動化を実践するためのサポートが含まれています。

  • [ThinkIT] Ruby on Rails入門 第2回:すぐできるアプリケーション作成 (1/4)

    第2回では、Ruby on Rails(以下、Rails)アプリケーションを開発する環境を準備して簡単なアプリケーションを作ってみます。 Railsで最も特徴的なことは「煩わしい設定がほとんど不要」な点です。難しいことは考えずに、まずはその世界を体験してみてください。なお連載ではWindows XP上にインストールすることを前提に説明していきます。 まずRailsアプリケーションを開発するために、「InstantRails」と「RadRails」という2つのオープンソースソフトウェアをインストールします。 インストールといっても身構えることはありません。ZIPファイルをダウンロードして展開するだけの簡単なものです。 Railsアプリケーションの実行に必要なミドルウェアがオールインワンでパッケージングされています(例:Apache・MySQLRubyRubyGems・Rails)。これ

    send
    send 2006/06/08
  • [ThinkIT] 第1回:PDOの概要 (1/3)

    PHPの経験がある人ならばデータベースを扱うのにPHPを使用したことがあると思います。多くの場合、データベースはデータの収集と解析を目的とした柔軟性のある情報ストレージとして使用され、開発者のコミュニティで一般的によく使用されています。多くの一般的なツールでは、1つの問題に対して多くのアプローチがとられますが、データベースシステムでは標準機能の違いはほとんどありません。 情報を扱う理想的な方法として、いくつものデータベースシステムが競合しています。数百万人の開発者が使用しているPHP言語では、1人の開発者も取り残されないようにこれらのデータベースエンジンの大部分をサポートしています。 PHPでのデータベースのインタフェース開発は、理想的なデータベースとの通信方法を考え抜いた初期設計の通りには完成しないことがほとんどです。というのも、開発者が馴染みのないデータベースにPHPを接続させなければ

    send
    send 2005/12/26
  • [ThinkIT] 第1回:良いコードとは、心得5ヶ条 (1/4)

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

  • 1