タグ

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

  • MySQLのリアルタイムモニタリングに「innotop」

    innotopとは 「innotop」はMySQLのクエリー実行状況やステータス変数の変化などをtopコマンド風に出力してくれる、Perlで書かれたスクリプトです。中身は非常にシンプル(SHOW GLOBAL STATUSやSHOW ENGINE INNODB STATUSなどをパースして表示するだけ)ですが、 topライクなインターフェイスはリアルタイムモニタリングと相性が良く、非常に直観的でわかりやすい情報を提供してくれます。 筆者はこれを「稼働中のサービスにALTER TABLE(またはpt-online-schema-change)をかける際の負荷モニター」や「MySQLが高負荷状態になっている時の状況確認」などによく利用しています。いかにもtopコマンドと同じような使い方です。 innotopの開発とメンテナンス innotopの立ち位置は少し微妙です。innotopはかつてPe

    MySQLのリアルタイムモニタリングに「innotop」
  • 【Drupal 8入門】Drupal 8の基礎知識とPantheonを用いたインストール

    Drupalについて 皆さんはCMSと聞いてどういったサービス名を思い浮かべるでしょうか。WordPress、Movable Typeなどを使われている方も多いと思います。ビジネスの場では業種に特化したCMSや行政向けなど、商用CMSもたくさん使われていますね。ECサイトもCMSの一種と言って良いでしょう。 連載で取り上げるDrupalはご存知ない方も多いかもしれません。Drupalは国内ではまだ他のCMSのほどの知名度はありませんが、海外ではホワイトハウスをはじめとする各国政府サイト、ハーバード、オックスフォードといった世界トップレベルの大学、テスラモーターズなどのエンタープライズ企業のサイトで採用されるなど、大規模なサイトを中心に広く使われています。今まさに、皆さんがご覧になっているThink ITもDrupalで作られています。 DrupalはカスタマイズされたオリジナルCMSを作

    【Drupal 8入門】Drupal 8の基礎知識とPantheonを用いたインストール
  • 初心者でも挫折しないゼロから始めるDrupal 8入門

    連載では、初めてDrupalを使う初心者がつまづく可能性のある部分を極力排除しながら、インストールからサイト完成まで、一切のコードを書かずにGUI操作のみでDrupalの標準機能を一通り使った簡単なサイト制作を行います。

  • Rails4をはじめよう

    はじめに このコラムは、 2014年12月5日から始まった「Rails4技術者認定シルバー試験」の推奨教材となった「Ruby on Railsガイド」に沿って、Ruby初心者の筆者がリアルタイムで勉強をしていくコラムです。全12回を予定しています。勉強する上でつまずいた点やその回避法、他のプログラミング言語や職業経験に基づいたアドバイスなども紹介する予定です。RubyRailsに興味のある方は、ぜひ一緒に勉強してみませんか。 今回参照するガイドはこちらです。 はじめにRailsをはじめよう それでは早速チュートリアルを開始しましょう。 クラウド上に開発環境を構築 何はともあれ、まずは開発環境を揃えないといけませんよね。今回のチュートリアルで一番時間がかかったのが、実はここです(笑)。ガイドには必要なものがさらっと書いてあるだけですが、具体的な手順を把握するために、何度も何度もGoogle

    Rails4をはじめよう
  • [ThinkIT] 統合監視ツールZABBIX事始め

    社内・社外を問わず、IAサーバがITシステムの中核に導入されることは珍しくなくなってきました。特に、Webアプリケーションサービスを行う場合、主にIAサーバとLinuxまたはWindowsという組合せでシステムを構築されていることでしょう。 IAサーバは比較的安価なため、リソースが不足しても追加購入してシステムを容易に増強することができます。これは大きなメリットですが、管理面では負担の増加が避けられません。数台規模ならば手作業で個々のサーバを管理できますが、数十台〜数百台規模となってくると、某CMではありませんが「増え続けるサーバの管理に困っていませんか?」という状況になるのは想像に難くありません。 システムを効率的に管理するためには、まずサーバのハードウェアリソース、そしてその上で稼働するOSやアプリケーションの状態を適切に把握できることが重要です。シェルスクリプトなどを利用して監視/通

  • 「Nagios」「Hobbit」「ZABBIX」「Hinemos」を徹底比較 | Think IT(シンクイット)

    コストメリットを確保するオープンソース/フリーソフトウェア 近年、IAサーバの価格が非常に安価になり、LinuxWindowsを用いたシステムが普及しています。IAサーバを採用したシステムでは、ス ケールアウトを行うように設計することでハードウェアのコストメリットが生まれます。しかし管理するサーバ台数が増加してしまうため、管理コストはそれに 反して増加する傾向があります。 システム全体を効率よく管理するためには、まずサーバのハードウェアリソースやネットワーク、OS、アプリケーションなどの状態を適切に把握できる ことが重要になります。そのため、常にシステムの稼働状況のデータを収集・監視する「監視システム」が必要とされています。 大規模システムではシステムを監視するために、大手ソフトウェアベンダーが販売する統合管理ツールを用いたり、データセンターが提供する監視サービ スを利用することが一般的

  • [ThinkIT] 第1回:Railsで構築されたオープンソースCMS「Rubricks」 (1/4)

    連載では今話題のフレームワークRuby on Rails(以下、Rails)上に構築されたCMS(Contents Management System)である「Rubricks」を取り上げます。第1回の今回はRubricksの概要について解説します。 Rubricksを紹介する前に、CMSについて導入の目的その意味について簡単に整理しておきます。 CMSと呼ばれるソフトウェアには、静的なサイトにおけるデザインの統一化や構成管理に特化しているもの、プログラムの必要なくBBSやニュースといったアイテムの配置ができるといった特徴があります。 さらに動的なサイト構築まで含めると、CMSという言葉の範囲は大変広いといえるでしょう。ただし、どのCMSでも「Webサイト構築/更新に関する共通的なルーチンワークの作業負荷を軽減する」ことを目的とする点は共通しています。

  • [ThinkIT] 第1回:共有バッファでどれだけ変わる? (1/4)

    PostgreSQLとは、リレーショナルデータベース管理システム(RDBMS)です。誰でもどのような目的にも無料で使えるオープンソースのソフトウェアです。最近ではすっかり知名度も上がり、非常に多くの方がPostgreSQLを利用されるようになりました。 これほど普及してくると利用される方の技術レベルも様々で、長らく商用RDBMSでシステム開発をされてきた方もいれば、RDBMSを扱うのはPostgreSQLがはじめてという方もいます。当然PostgreSQLの使われ方も様々で、PostgreSQLの性能を限界まで引き出すようにチューニングを施している方もいれば、インストールしたままのデフォルト設定のままで使っている方もいます。 ソフトウェアのデフォルト設定を「開発者の推奨設定」と捉える方がいらっしゃいます。しかし残念ながらPostgreSQLにおいては成り立ちません。それではPostgreS

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

    ウノウでは表1の通り、サービスに使われているプログラムはもちろん、その他の必要なプロジェクトファイルなども例外なく、すべてSubversionでバージョン管理しています。 Subversionでは、テキスト形式のファイルだけではなく、その他のバイナリ形式のファイルもまとめて管理することが可能です。ただしバイナリ形式のファイルの場合は、変更内容(差分)を参照することはできません。またワード(拡張子がdoc)やエクセル(拡張子がxls)のファイルは、バイナリ形式のファイルとなります。 筆者の会社では、エンジニアが開発サーバにログインしてサービスの開発を行っています。開発サーバには、SubversionとWebサーバがインストールされており、「共通の開発環境」と「個人の開発環境」の2つがまったく別の環境になるように構築しています。 両方の環境とも、Subversionのリポジトリからチェックアウ

    shayash
    shayash 2006/12/21
    『「hook」とは、リポジトリに変更がある直前や直後に特定のプログラムを実行させる仕組み』参考にします
  • ThinkIT : 見える化とは何か〜改めて問うその真価

    最近、「見える化」という言葉が広く使われるようになった。ソフトウェア開発やプロジェクトマネジメントの文脈において、「トヨタ生産方式」が再度見直されていることが理由の1つであるが、この「見える化」という漢字かな混じり語のベタっとしたインパクトも大きく貢献していると思う。 この言葉からは「現場」や「アナログ」のにおいがする。スマートさからは離れているが、逆に「粘り強さ」や「実践感」といった点で「可視化」という無機質な言葉とは一線を画している。 実は、ここが「見える化」の肝であり、物理的な「モノ感」であったり、体を使った実践的な「行動」に繋がってはじめて見える化なのである。つまり「見える」だけでは「見える化」とはいわない。そこから喚起される実際の物理的な感触が、問題の解決にむけた身体的な行動を生み出してはじめて「見える化」なのだ。 そういう意味で、「何のための見える化か?」ということは、常に問わ

    shayash
    shayash 2006/12/20
    『ソフトウェアの構造』『ソフトウェアへの要求』『ソフトウェアの開発状況(進捗)』についての見える化
  • [ThinkIT] 第1回:マスカットが変えるAjax開発環境 (1/3)

    最近のWebアプリケーションでは、表現力、操作性、配布の容易性といった観点からリッチクライアント(注1)が注目を集めています。その中でも、オープンな技術に基づいているAjax(注2)は高い人気を誇っており、様々なところで話題をよんでいます。 しかし、Ajaxを用いたWebアプリケーションの開発手法はいまだに発展途上であり、商用の開発レベルには到達していないという見方があります。その要因として表1に示すようなことが考えられます。 JavaScriptの生産性の悪さ Ajaxではプログラミング言語としてJavaScriptを利用しますが、JavaScriptを用いて格的な開発をしようとすると、他のプログラミング言語に比べてその生産性の悪さが課題となります。 ドキュメント不足 最近ではJavaScriptの生産性の悪さをカバーするためのAjaxライブラリが数多く出てきていますが、その多くはドキ

    shayash
    shayash 2006/12/20
    J2EE,PHP等で動作。国産プロジェクト。http://maskat.sourceforge.jp/
  • [ThinkIT] 第2回:Subversionによるバージョン管理(前編) (1/3)

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

    shayash
    shayash 2006/12/15
    前編はPHP開発とは関係なし。後編に期待
  • [ThinkIT] 第1回:複数人による開発の要所を押さえる (1/3)

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

    shayash
    shayash 2006/12/07
    WikiもSubversionも使ってます!
  • [ThinkIT] 本記事は公開終了しました

    オープンソース時代の企業システムポータルサイト。効率的なシステム構築を行うための情報提供をおこないます。

    shayash
    shayash 2006/11/17
    『課題となったのは「オープンソースだからといってサービスレベルを下げてよいというわけではない」という点』それは当然
  • [ThinkIT] 第1回:MySQLストレージエンジンの概要 (1/3)

    連載で取り上げるMySQLは、非常に人気の高いオープンソースのRDBMSです。このMySQLの大きな特長は、ストレージエンジンを選択できるところにあります。そこで連載では、MySQLのストレージエンジンに焦点をあて、様々なストレージエンジンの特長や構造を解説していきます。最後まで、お付き合いください。 MySQLの概要についてはご存知の方も多いと思いますが、復習の意味も込めて簡単に紹介します。 MySQLは、MySQL社を中心として開発が進められているRDBMSで、オープンソースの標準的なプラットフォームを意味する「LAMP」という言葉(Linux/Apache/MySQLPHP)に採用されるほど有名なオープンソースです。ライセンスとしては、GPLと商用ライセンスのデュアルライセンス形態で提供されています。バージョン5.0よりストアードプロシージャやトリガなどをサポートし、他のRDB

    shayash
    shayash 2006/10/03
    MySQLにはテーブル単位で設定できるストレージエンジンがある。MyISAM,InnoDBなど
  • [ThinkIT] 第4回:DIコンテナとの比較 (1/4)

    今回は、ここ数年非常に注目されている技術であるDI(Dependency Injection)コンテナをテーマに取り上げます。 DIコンテナはアプリケーションのオブジェクトを疎結合にし、柔軟性を与えるものです。その結果得られる代表的なメリットとして表1のようなものがあげられます。いずれも品質向上に寄与する重要な効果です。 モックオブジェクトによるテスタビリティ向上 単体テストにモックオブジェクトを導入でき、テスタビリティを向上させられる。 トランザクション指定の簡易化 トランザクションを簡易に指定できるようになり、障害時処理の高品質化が実現される。 しかし、そもそもRailsにはDIコンテナという考え方が取り入れられていません。そこで表1にあげたDIのメリットに関するRailsでの対応・非対応の状況を比較するという形で進めていきます。 なお、DIコンテナから得られるメリットはDIコンテナ上

    shayash
    shayash 2006/09/21
    railsにはDIコンテナという考えはない
  • [ThinkIT] 第5回:Ajaxアプリケーションの作成 (1/4)

    今回はRuby on Rails(以下、Rails)を用いてAjaxアプリケーションを作成します。まずはAjaxについて、簡単におさらいしましょう。 ご存知の通りここ1年余りAjaxは多くのメディアで取り上げられ、注目が集まっています。Ajaxは「Asynchronous JavaScript + XML」の略称で、その名の通りXMLとJavaScriptを用いた非同期通信技術のことです。 Ajaxを用いることでサーバアクセスをバックグラウンド化することができ、シングルページでアプリケーションを作成することができます。「サーバアクセス=画面全体更新」であった従来のWebシステムに比べて、効率的でユーザビリティの高いシステムを実現する手法として注目されています。 また現在ではXMLの利用や通信の発生がなくても、JavaScriptを用いてリッチなUIを実現していればAjaxと呼ばれるようにな

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

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

  • [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のユ

    shayash
    shayash 2006/04/23
    ソースからインストール
  • [ThinkIT] 第2回:大手ブログ検索サイトがPostgreSQLからOracleへ移行を決断した理由(前編) (1/3)