タグ

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

  • 自分たちの「運用」を知る - 運用設計の本質

    「運用設計」とは何か 「運用設計」という言葉は、運用現場で日常的に使われている割には「その実体がはっきりしない」という不思議な言葉です。では、「運用設計」とは何なのでしょうか。 「運用設計」の中身 「運用設計」とは、「各現場に適した、運用業務の枠組み(フレームワーク)を作り込むこと」と考えると、実際の仕事の内容を捉えやすいのではないでしょうか。 「フレームワーク」という言葉は、世間一般に「物事を整理する手法」という意味で使われているようです。この意味と共通する「客観的な立場に立ち、科学的/論理的手法を用いて分析し、継続的に見直しサイクルを構築する」という意図を、ここでは込めています(「KAIZEN」の概念に極めて近い、という指摘を受けたことがあるので、それなりの妥当性はあるようです)。 つまり、「運用設計」とは、個々の運用現場に特有の「事情」を念頭に置きつつ、その運用現場の業務のために、下

  • 実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング

    Copyright © 2004-2024 Impress Corporation. An Impress Group Company. All rights reserved.

  • 1ランク上のPHP技術者を目指す人のための教材と、勉強のポイント

    世界中で構築されたWEBサイトが2億5000万を超えるといわれているPHP。その秘密は言語習得の手軽さやCMSパッケージの発達により、初心者にも気軽に高機能なシステムが扱えることにあります。 WordPressやMovableTypeとの連携、OpenPNEなどはもはや語る必要もないくらいに有名になりました。 ちょっとしたCGIやネットショップはもちろん。ネットベンチャーやソーシャルゲームでも手軽に使われ、開発者の数もプログラミング言語の中で非常に高い位置を占めています。 そんなPHPですが、「PHPエンジニアのスキルが低い」「PHPはだめだ」といわれることが多々あります。なぜでしょうか。 気軽に利用できるが故にスキルレベルが低いエンジニアが多いのも事実ですし、さらに言うと前述のパッケージ等があるためにエンジニアでない人でも触ることができるからです。また、言語としての特性もかなり自由で、型

    1ランク上のPHP技術者を目指す人のための教材と、勉強のポイント
  • PHPはどうやって動いているの?仕組みから環境づくりまで

  • Phalconを使う前に知っておきたい、各機能とインストール方法

    はじめに PHPは最も使われているサーバーサイドスクリプト言語の一つですが、スマートフォンアプリ開発の現場などにおいても、サーバーサイド言語にPHP5.5とPHPフレームワークのPhalconを使った製品開発に使用されています。 今回は実際に開発で今まで得られた経験なども交えつつ、Phalconを使った具体的な開発についてご紹介します。 対象となる読者 PHPの一般的な知識をお持ちの方 CakePHPなど、他のPHPフレームワークを用いた開発の経験をお持ちの方 フレームワークを使うメリット 今回ご紹介するPhalconをはじめとして、PHP開発ではフレームワークを用いた開発をよく見かけます。 もちろん、PHPのみでコーディングを進めることもできますが、開発フレームワークを導入する利点としては チーム開発が楽になる MVC分離やコントローラー単位などチーム開発を行う上で分業しやすくなる 予め

    Phalconを使う前に知っておきたい、各機能とインストール方法
  • [ThinkIT] 第1回:オープンソースMondo Rescueによるバックアップ手法 (1/3)

    PCの世界でバックアップというと、CD-ROMやDVD-RAM、DVD-Rへのデータ退避を想像しますが、エンタープライズシステムにおけるバックアップは非常に多種多様です。 一口に「バックアップをしたい」といっても、バックアップ装置の構成やデータの取得方法、データの種類、圧縮方法、ツール、ネットワーク経由やSAN経由でのバックアップなど様々な手段やツール、製品が存在しています。 連載では表1に示すLinuxシステムのバックアップ手法から、「オープンソースソフトウェアMondo RescueによるリカバリDVDの作成」と「NetVault for Linuxを使ったバックアップ」を取り上げ、解説していきます。 オープンソースソフトウェアMondo RescueによるリカバリDVDの作成 レスキューモードによるシステムリカバリ rsyncによるデータレプリケーション NetVault for

  • 課題管理対決!Redmine vs. Trac

    Redmineの機能と特徴 Redmineは、Ruby on Rails上で動作する、Webインタフェースの課題追跡(Issue Tracking)ツールです。原稿執筆時点(2008年9月現在)での最新のバージョンは0.7.3です。 Redmineが搭載している機能は、「マイルストン設定(ロードマップ)」「カレンダー/ガントチャートの表示(概要)」「作業時間の登録/集計(チケット、概要)」「作業履歴の閲覧(活動)」「課題の登録/追跡管理(チケット、新しいチケット)」「伝言板(ニュース)」「文書の登録/閲覧(文書、Wiki)」「ディスカッション(フォーラム)」「ファイルの共有(ファイル)」「ソース管理との連携(リポジトリ)」「ワークフロー定義」「メール通知」「RSS配信」「ユーザの管理/ロール・権限の設定」です。なお、かっこの中はRedmine画面上で対応する主なメニュー項目名です。 筆者の

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

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

  • UMLの手軽で有効な利用方法

    1. はじめに オブジェクト指向モデリング言語として誕生したUML(Unified Modeling Language)は、今日、ソフトウエア業界で広く利用されています。しかし、読者の中には「UMLを使ったことが無い」または「使ってみたが効果が無かった」という方もいらっしゃるのではないでしょうか。 そこで、連載では、UMLの導入に敷居の高さを感じている方を対象に、UMLを用いたモデル(以降、UMLモデル)の、手軽で有効的な利用方法を、筆者の経験を交えて紹介します。 なお、UML仕様に基づいた厳密で正確なモデルの作成方法や、モデル駆動開発の方法といった、敷居が高いトピックについては解説しません。もっと根的なUMLモデルの活用方法を紹介します。 2. モデリングとモデルのメリット 2.1. コミュニケーション・ツールとしてのUML UMLモデルについて解説する前に、そもそも「モデリング」や

  • [Think IT] 第1回:エンピリカルソフトウェア工学を学ぶ前に (1/3)

    【バグ管理の作法】 エンピリカルソフトウェア工学に触れる 第1回:エンピリカルソフトウェア工学を学ぶ前に 著者:シンクイット編集部 公開日:2007/12/5(水) エンピリカルソフトウェア工学とは Think ITの12月の特集「バグ管理の作法」では、ソフトウェア開発では避けて通れないバグに焦点をあてている。その中で、水曜日は少し学術的な内容について取り上げる。11月の「新・言語進化論」では、「仕様記述言語」について解説した。今回は「エンピリカルソフトウェア工学(Empirical Software Engineering)」について取り上げてみたい。 近年のソフトウェア開発は急激な成長をみせ、いろいろな手法や考え方が導入されつつも、さまざまな問題を抱えている。特に現在では、ソフトウェアに生産性と高品質の両方が求められており、読者の皆さんもその実現に常に追われているのではないだろうか。

  • iPhoneネイティブのクライアントを作る

    フレームワークを効率良く利用するために iPhone OSで稼働するアプリケーションは、いずれもある種の共通のユーザー・インタフェースを 持っていることはすぐに分かりますが、当然ながら、そうしたユーザー・インタフェースの仕組みをフレームワークとして提供しており、 それを利用するのが一番効率的な開発手段であるために使われています。 それらのクラスをきちんと使うことが、ユーザーインタフェース・ガイドラインに合致することにもつながります。 今回も、前回と同じサンプル・プログラムを使用します。 こちらからダウンロードしてください。 フレームワークの全貌まではこの記事では説明できませんが、ポイントをかいつまんで説明しましょう。 まず、実際に画面表示されるオブジェクトの基底クラスになる「ビュー」(クラス名はUIView)があり、 基は長方形の表示領域です。色を付けたり、さらにはビューの中にビューを入

  • [Think IT] サーバが重いってどういうこと? (1/3)

    サーバが重いってどういうこと? 著者:ウノウ  尾藤 正人   2007/10/4 2007年10月の連載ランキング1位(一覧を見る) サーバ管理者だけではなく誰でも一度は経験したことがある「サーバが重い」という現象。一言で「重い」というのは簡単ですが、重いというのは具体的にどういうことなのでしょうか。 ここでいう重い・軽いは単一のベクトルで判断できるような簡単な代物ではなく、様々な要素によって発生する現象です。処理が重いからといって闇雲にハードウェアを増強するのは賢いやり方とはいえません。例えば、メモリ不足が高負荷の原因なのに、CPUを高速なものに変えても効果はほとんどないでしょう。 このような無駄な投資を避けるためにも、負荷の原因を特定して素早く対応策を講じるのはサーバ管理者にとって重要なスキルになります。記事ではサーバ負荷の特定の仕方と対策の仕方について、簡単な概要を説明します。

    yuki_2021
    yuki_2021 2009/03/23
    サーバが重い際の診断法・対処法
  • [ThinkIT] 第2回:負荷によるベンチマークを試す (1/3)

    max_connectionsとは、「MySQLサーバが許可する、MySQLクライアントの同時接続最大数」です。この値は、MySQLクライアントから無制限にコネクションが張られることによってMySQLサーバの負荷が増大し、最終的にはサービスが停止してしまう…といった事態を防ぐために、同時接続してよいMySQLクライアントの数を制限することが目的です。 さらにもう少しパフォーマンスに注目していい換えれば、MySQLサーバがもっとも良い効率で稼動できる範囲にMySQLクライアントの接続数を制限する、ということになります。 あなたの環境ではいくつに設定されているでしょうか。パラメータ設定一覧を取得するコマンドは「第1回:定量的な情報収集のススメ」で説明した通りですので、以下のように実行してみましょう。 特に意識して設定を変更していなければ、上記のようにデフォルト値である100が表示されるはずです

    yuki_2021
    yuki_2021 2008/08/12
    MySQLの負荷テストツールの紹介
  • スクリプトはどうやって見つける?

    車輪の再発明を防ごう! Webアプリケーションに限らず開発に重要な事柄はたくさんありますが、その中の1つに「早くて品質の高いものを作る」というのがあげられるでしょう。では、「早くて品質の高いものを作る」ためにはどうすればいいでしょうか? その解の1つがライブラリの活用です。世の中に普及している言語(PHPはもちろんその1つ)には、自分が欲している機能を持つライブラリが数多く存在します。有用なライブラリは技術力の高いエンジニアによってメンテナンスされていることが多く、そのようなものをうまく活用することで、早くて品質の高い開発を行うことができます。 すでに世の中に存在するものを開発することは「車輪の再発明」と呼ばれます。自分の技術力を向上するために、そのようなライブラリを開発することは積極的に行うべき事柄です。しかし、開発という観点から考えた場合、あまり効率的ではありません。 同じような機能を

    yuki_2021
    yuki_2021 2008/05/01
    見つけたライブラリが使えるかどうかは実際に使って判断する。使った感想はフィードバックする。
  • [ThinkIT] 第2回:クエリを使用したSQLインジェクション (1/3)

    しかし、エスケープ関数を使えばいつでもデータの安全性が保障されるわけではありません。あるクエリに対しては、エスケープを適用した後でもSQLインジェクションを許してしまいます。Int型の値をとることを想定した次の場合について考えてみましょう。 $id = "0; DELETE FROM users"; $id = mysql_real_escape_string($id); // 0; DELETE FROM users mysql_query("SELECT * FROM users WHERE id={$id}"); Int型の時は、値をシングルクォートで囲う必要がありません。そのため、セミコロンでクエリが分割され、SQL文を不正に入れることができます。セミコロンには'特別'な意味はないため、データベースのエスケープ関数にもaddslashes()にもスルーされてしまいます。 この問題に

    yuki_2021
    yuki_2021 2007/09/11
    SQLインジェクションに対するPHPスクリプトでの防御
  • [ThinkIT] 第1回:電子帳票システムの種類と適用範囲 (iReport)

    皆さんはじめまして。連載を担当します、ビーブレイクシステムズの横井です。私の会社はオープンソースソフトウェア(以下OSSとする)を使用しての業務システムの構築を得意としている会社で、今回のテーマである「帳票」についてもOSSを使用し、トータルコストの面でユーザから高い評価を得ています。連載では実際の適用事例を交えながら、OSS電子帳票という選択肢を皆さんにご提供できればと思っています。 第1回の今回は電子帳票の全体像に触れ、第2回以降では実際に使用している技術要素について説明します。なお、連載ではOSS電子帳票の実現手段として、表1のツールを取り上げていく予定です。 iReport JasperReports用帳票デザイン・実行環境。PDFExcelHTML等での帳票が作成可能。 JFreeChart Javaからグラフを生成するためのライブラリ。 POI JavaからExcel

    yuki_2021
    yuki_2021 2006/12/11
    i-reportとjavaを使った、オンライン帳票システム構築入門
  • [ThinkIT] 第1回:仮想マシンとサーバ仮想化について (1/3)

    サーバ仮想化は数年前までエンタープライズサーバでしか実現できなかった機能です。近年、IAサーバを使ったサーバ仮想化が注目を浴びています。テクノロジーの進化により安価なサーバでも仮想化が行えるようになったためです。 テクノロジーの進化によりインフラは整いました。しかしながら、サーバ仮想化に対応できる技術者の数は不足しています。仮想サーバを使うだけならば簡単ですが、いざ構築となると仮想化の考え方を理解している必要があります。 そこでまず今回は、仮想マシンとサーバ仮想化について解説します。 まず仮想マシンとは何でしょうか。仮想マシンとは仮想化技術によって物理的なコンピュータを分割し、その中で独立したOSを持って動作する論理的なコンピュータのことをいいます。簡単にいえば1台のコンピュータで2台以上のOSを動かすことです(図1)。

    yuki_2021
    yuki_2021 2006/12/09
    xenによる仮想化の仕組みが良く分かった。VMwearは仮想化とは少し離れるらしい。
  • 1