[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

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

  • WEBrickを使ってみよう!

    Webサーバー=Apache!? 今、Webサーバーを構築しようとした時、ほとんどの人はサーバーソフトとして「Apache(Apache HTTP Server)」を選ぶと思います。 確かにApacheは非常に高機能で、通常必要と思われるほとんどの機能が備わっています。 しかし、自分用にちょっとしたサーバーを立ち上げるには、その設定項目の多さなどが少し大げさに感じることはないでしょうか? また、大抵のことは設定変更や外部で公開されているApacheモジュールなどで事足りますが、その範囲を超えてWebサーバーを拡張したい場合、自分でApacheモジュールを書かなくてはいけません。 Apacheモジュールを書こうとすると、かなりしっかりドキュメントなどを読む必要があり、また主にC言語による開発になるので、どうしても敷居が高くなってしまい、実際に書くということはほとんどないでしょう。 Apach

  • KubernetesのWorkloadsリソース(その2)

    CronJob Jobに似たリソースとしてCronJobというリソースがあります。Kubernetes 1.4までScheduledJobという名前でしたが、CronJobに名称が変更になりました。CronJobはJobの亜種のように見えますが、CronJobとJobの関係はDeploymentとReplicaSetに似たものとなっています。CronJobは、Cronのようにスケジュールされた時間にJobを生成します。 CronJobの作成 簡単なCronJobのサンプルを動作させてみます。まず設定ファイルですが、下記のようなファイルから、sample-cronjobを作成します。今回は「60秒おきに30秒sleepするだけのJobを生成するCronJob」を作成します。spec.scheduleにはCronと同じフォーマットで時間の指定をすることが可能です。 リスト19:サンプルのCro

    KubernetesのWorkloadsリソース(その2)
  • Pythonで作られた便利なコマンドラインツール MySQL Utilities

    MySQL Utilitiesならではの注意点 MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。 これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。 [MySQL Utilitiesの記法] --server=ユーザ名:パスワード@ホスト名:ポート番号 [MySQL コマンドラインツール群の記法] --user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号 なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対

    Pythonで作られた便利なコマンドラインツール MySQL Utilities
  • [Think IT] 【即実践!HTML+CSS】ポストWebコーディング

    BRIANS PET TOKYO主催者 WebデザインからRuby on RailsでのWebアプリ構築までをトータルに行うWebコンテンツデザイナー。現在はBRIANS PET TOKYOにてWebアプリケーション「DORIBAR(ドリバー) 」を開発中 http://brianspet.com

  • 検証!安定しているのはどっち?

    Apacheとlighttpdの安定性はどのくらい? 「第2回:性能検証!早いのはどっち?(http://www.thinkit.co.jp/article/119/2/)」は、Apacheとlighttpdのパフォーマンス面について、2種類のベンチマークツールを利用して、どちらのWebサーバーが速いのか検証を実施しました。その結果、リクエストの処理量でlighttpdがApacheを下回ることは無く、パフォーマンス面ではApacheと比較してlighttpdの方が優れている結果となりました。 しかしシステムとして多少パフォーマンスが良くても、安定したサービスが提供できなければ実際に運用するのは厳しいでしょう。そこで、今回はApacheとlighttpdの安定性について取り上げ、どのくらい安定して稼働することができるかを検証していきます。 何をもってして安定していると評価するか Webサー

    stibbar
    stibbar 2009/09/05
    テスト方法が参考になる。
  • [ThinkIT] 第1回:データベースを取り巻く状況 (1/4)

    これから何回かに渡り、データベースエンジンを取り巻く状況や課題、今後の技術動向などについて解説していきます。 Webサービスが当たり前の世の中になり、情報管理、アクセスをつかさどるデータベースの役割は増すばかりです。SQL言語を使ったデータアクセスは、データベースを使う上で基的かつ重要な技術です。その上データベースは、複数のアプリケーションやユーザに「同じ」データを「同時に」「矛盾なく」読み書きできる機能を提供しています。また「書いた」データを障害や誤操作から守るという重要な機能も提供しているのです。 さらに、データベースはコンピュータのメモリよりはるかに巨大な量のデータを扱うこともできますし、これらのデータが障害や誤操作で壊れることがないように守ることもデータベースの重要な役割になっています。ある意味、SQL以上に重要といってもいいでしょう。 この連載では、SQL以外のこれらのデータベ

  • [ThinkIT] 第2回:最新Flashコンテンツ対応CMS構築事例 (1/3)

    前回は5年ほど前のXMLを適用したマニュアル制作の事例を紹介しました。それは「XMLを適用して電子化したドキュメントの管理」というCMSの王道でしたが、今回は「Flashを用いてコンテンツを管理」するという最新のCMS構築事例を紹介します。 一般的なCMSは画像や音声が混在したコンテンツ制作の生産性の向上を実現することができますが、まだまだ解決すべき課題が多くあります。さらなる生産性の向上をはかるためにも、表1の既存コンテンツに関する問題を解決する必要があると考えられます。 過度のコンテンツ量の重視 コンテンツの量の多さのみがコンテンツサービスの尺度となっていたが、量の多さによるメリットがあるわけではなかった。 無意味なアニメーション アニメーションを多用しているケースが多く見受けられるが、実はそれが効果を生み出しているわけではない。 非効率的な生産性 デザイナーはFlash制作を常にゼロ

  • [ThinkIT] 第1回:オープンソースCRM『SugarCRM』 (1/3)

    今回紹介するオープンソースCRM「SugarCRM」はコマーシャル・オープンソースである。オープンソースという言葉はすでに一般的に使われるようになったが、「コマーシャル・オープンソース」という用語はまだ新しく、馴染みがない方が多いと思うのではじめに解説をしておこう。 「コマーシャル・オープンソース」とは、有償のオープンソース・ソフトウェアのことである。SugarCRM以外にもMySQL(リレーショナルデータベース)、Alfresco(コンテンツ管理システム)、JBoss(ミドルウェア)など、いくつかのソフトウェアベンダがコマーシャル・オープンソースの製品をリリースしている。 これらのベンダーは、開発コミュニティに公開する無料のソースコードに企業用途向けの拡張機能やテクニカルサポートサービスを有償で付加して顧客に提供する。SugarCRMのような高度な業務アプリケーションではこのような付加価

  • アーキテクチャスタイル「REST」とは何か

    続いて、RESTという考え方について見ていきましょう。RESTという言葉は、例えば「Amazonの商品情報取得APIであるECS(注2)では、SOAPとRESTのインターフェイスが用意されている」といった形で耳にした方も多いのではないでしょうか。この言い方を聞くと、RESTもSOAPと同じようなWebAPIのための仕様であるような印象を受けますが、最初に「考え方」と述べたように、実際には仕様ではなく、Web APIの仕様を決める上でのアーキテクチャスタイル、つまり基的な考え方ということができます。 ただしここでまず最初に覚えておいてほしいことは、一般的にRESTという言葉は、RESTという言葉が誕生したときの来の意味で使われる場合と、その後その解釈を拡大して、もっと広い意味で使われるようになったものの2通りがあるということです。例えば前述のAmazonのECSがRESTで提供されている

  • [ThinkIT] 第9回:O/Rマッパーの利用 (2/4)

    S2Daoはその名から想像できるとおり、DAO(Data Access Object)パターンを利用する場合のツールです。DAOパターンとは、J2EEパターンの1つで、データベースとのやり取りをDAOという役割のクラスにまかせます。 データアクセスをDAOにまかせてしまうことで、ビジネスロジック側では、細かいデータアクセス処理を意識せずに、DAOを使うだけでよくなります。もちろんデータアクセス処理自体はDAOに書かなければなりませんが、同じようなロジックがあちこちに分散することなく、またデータアクセスの層が明確に分かれることで、行き当たりばったりに作るより効率的で保守も楽です。Webアプリケーション開発でDAOを利用する場合は、図2のようになります。 UI(ユーザインターフェイス)は、サーブレット/JSPやStruts、JSFといったUIフレームワークが担当する部分です。DAOを利用する場

  • Web APIの紹介

    まず、Web APIとは何か、ということに簡単に触れておきます。Web APIWebサービスAPIとか、Webサービスなどとも呼ばれます。Web上で行われていることがわかりきっている場合には、さらに略して「API」と呼ばれてしまうこともあります(ちなみにAPIはApplication Program Interfaceの略で、Web APIに限らずプログラムがその機能をほかのプログラムから利用できるように公開するインターフェイスのことを指します)。最近はインターネットで提供されているサービスがWeb APIを公開することが珍しくなくなってきているので、「どこどこのサービスがAPIを公開した」といったニュースを耳にしたこともあるのではないかと思います。 それでは結局Web APIとは何なのでしょうか。Web APIの定義はあいまいなところがあるのですが、ここでは「HTTPを利用してネットワ

  • [ThinkIT] 第1回:デスクトップ版だけじゃないUbuntuのメリット (1/3)

    「Ubuntu」とは、オープンなコミュニティによって開発されているLinuxベースのOSです。約3年前、「フリーソフトウェアコミュニティが実現できる最高のOSを提供する」という目標に向かって開発が開始されたこのOSは、今や高品質なLinux環境を提供するOSとして高く評価されています。 6ヶ月ごとに新しいバージョンがリリースされる 約2年ごとに「長期サポート版」がリリースされる 通常版は18ヶ月間に渡ってセキュリティパッチやバグフィックスが提供される。長期サポート版はデスクトップアプリケーションが3年間、サーバアプリケーションが5年間に渡ってサポートされる Ubuntuの開発はCanonical Ltd.により支援されており、同社および世界中のサポート企業により有償サポートが提供されている Debianをベースとして開発されており、優れたパッケージシステム管理システムや堅牢な構成などの特徴

  • [Think IT] FreeNASでストレージ専用機の構築 (1/3)

    汎用サーバOSと「アプライアンスOS」 「第3回:Debianで作るプロジェクト管理環境(http://www.thinkit.co.jp/article/80/3/)」では、汎用的なサーバOSとして、Debian GNU/Linuxを取り上げた。しかし世の中には特定の用途に的を絞りカスタマイズされたサーバOSも存在する。筆者が調査したところでは、特定用途向けサーバOSを総称する言葉が見当たらなかったため、連載ではこのようなサーバOSを「アプライアンスOS」と呼ぶことにする。 それでは、どのようなアプライアンスOSがあるだろうか。いくつか挙げてみたのが、図1だ。アプライアンスOSは、何かしらのOSをベースに作られていることが多い。これは、ゼロからOSを作るよりはるかに楽にOSを作ることができるからである。 アプライアンスOSは目的のアプリケーションを簡単に稼働・運用できることを目的に作ら

  • [ThinkIT] 第1回:Webアプリケーションの多言語対応 (1/2)

    Webアプリケーションを多言語に対応させることはとても大変な仕事です。大抵の場合、この作業は倦厭され、多くのオープンソース・プロジェクトでは多言語化は実現されてきませんでした。しかし、オープンソース・プロジェクトのTODO リストを確認してみましょう。その中に、国際化に関する項目がリストアップされています。 この連載では、ごく少数のPHPファイルと通常のHTMLファイルを使うことで、コードを簡単に国際化する方法を紹介します。この方法を利用することで、素早く簡単にメンテナンスを行い、できる限りプラットフォームに依存せずにコードを実行することができるようになります。 実際に、国際化する方法を紹介する前に、要点を確認する必要があります。これらの要点を読めば、なぜ国際化やグローバル化を行う必要があるのかをより詳しく理解することができるでしょう。 グローバル化(Globalization)とは、g1

  • [Think IT] 第2回:なぜTracの導入に失敗するのか? (3/3)

    【バグ管理の作法】Trac徹底活用! 第2回:なぜTracの導入に失敗するのか? 著者:masuidrive 公開日:2007/12/13(木) 単純だが難しいチケット運用 チケットのそのものの運用に際して主に問題になるのは、 チケットの属性 「優先度」と「マイルストーン」の設定をどうするのか? チケットの規模 チケットに書き込む内容はどのようなものが適切か? チケットを閉じる時 チケットを閉じる作業をどう処理していくのか? の3つだ。これが、Tracを導入したのに効果が出なかった理由である。実際にはこれらに加えて「チケットの運用」と「組織の運用」の齟齬が問題になるケースも多い。これについては次回取り上げる。 ではそれぞれについて解説していこう。 チケットの属性「優先度」と「マイルストーン」 Tracのチケットには複数の属性がある。その中でもわかりにくいのは「優先度」と「マイルストーン」だ

  • [ThinkIT] 第5回:インジェクション攻撃 (1/4)

    今回はWebアプリケーションの脆弱性における4番目のカテゴリー「インジェクション攻撃」について解説する。 ※注意: この記事にはWebアプリケーションの脆弱性を解説する必要上、攻撃手口に関する情報が含まれています。これらの手口を他者が運営するWebサイトに向けて仕掛けると、最悪の場合刑事罰および損害賠償請求の対象となります。脆弱性の調査・検証は、必ずご自身の管理下のコンピュータシステムおよびローカルエリアネットワークで行ってください。この記事を参考にした行為により問題が生じても、筆者およびThinkIT編集局は一切責任を負いません。 インジェクション(injection)とは、内部に何かを注入することを意味する言葉だ。インジェクション攻撃とは、プログラムがごく普通に受け取る入力データの中にセキュリティを侵害するようなコマンドを巧みに混入し、それをコンピュータ内部で機能させてしまう攻撃手口の

  • [ThinkIT] 第1回:仮想マシンとサーバ仮想化について (1/3)

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

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

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

  • [ThinkIT] 第1回:Webブラウザを使ったテストツールSeleniumとは (1/3)

    この連載は、WebアプリケーションのテストツールであるSelenium(セレニウム)についてサンプルを用いながら概要と基的な使い方を解説していきます。連載第1回の今回は、Seleniumの概要について紹介します。 Seleniumとは、Webブラウザを使ってWebアプリケーションをテストするツールです。この「Webブラウザを使って」というのが非常に大きなポイントで、人が手でWebブラウザを操作する代わりにSeleniumがWebブラウザを操作してくれるのです。 そして単純に操作するだけでなく、例えばエラーメッセージが正しく表示されているかといった検証も行うことができます。つまり、今まで人手を必要としていたWebブラウザを使った試験が自動化できるものなのです。そのため数百項目もあるテストも、クリック1回で実施できます。 より重要なことは「自動化することによって試験を繰返し実施できる」こと

  • [ThinkIT] 第1回:複数人による開発の要所を押さえる (1/3)

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

  • 1