タグ

ブックマーク / atmarkit.itmedia.co.jp (126)

  • 【真夏の夜のミステリー】Tomcatを殺したのは誰だ? (1/3) - @IT

    【真夏の夜のミステリー】Tomcatを殺したのは誰だ?:現場から学ぶWebアプリ開発のトラブルハック(6)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) 【第1章】Tomcatが無応答!? トラフィックの多い大規模サイトでは、その負荷のためにさまざまな問題が発生する。それらの問題を回避するには、性能を考慮して作られたアプリケーションや、ノウハウに基づいたミドルウェアのチューニングが必要となる。 TomcatはServletコンテナとしての長い歴史を持ち、多くの採用実績を持つオープンソースのアプリケーションサーバ(以下、APサーバ)だ。大規模なサイトで採用される事例も出てきており、To

    【真夏の夜のミステリー】Tomcatを殺したのは誰だ? (1/3) - @IT
    uchida75cm
    uchida75cm 2013/12/16
    Tomcatのチューニング
  • Linuxメモリ管理の最先端を探る(1/2) - @IT

    小崎 資広 2008/5/22 この記事では、Linux Kernel Watchの番外編として、Linuxの最近のメモリ管理周りの動きと、その背景のモチベーションについてお伝えしたいと思います。 メモリ管理は変更時のインパクトが大きいため、通常、Stable Tree(安定ツリー)ではあまり変更はなされません。しかし、Linuxカーネルメーリングリスト(LKML)の議論では「もうカーネル2.7は出ない」ともいわれており、十分なテストがなされたものであれば、アグレッシブなパッチでも受け入れられるようになっています。 また、メモリの急速な大容量化により、いままで問題にならなかった部分にスケーラビリティ上の問題が発生したという報告もちらほら出てきました。それを解消するためのさまざまな改善が提案されています。 こうした背景により、2007年から2008年にかけては相当面白いパッチが出てきました。

    uchida75cm
    uchida75cm 2013/12/06
    スラブキャッシュの解放、デフラグ
  • 減り続けるメモリ残量! 果たしてその原因は!?

    物理メモリ使用状況の把握には何を使う? では、ストレージとの同期情報まで加味したメモリの使用状況監視を行うには、どうすればよいのでしょうか? 実は現在(注2)のところ、「これで完ぺき」という方法はありません。ただ、それでは困るので、ここでは次善の策としてActiveとInactiveを監視する方法を挙げます。 ActiveとInactiveはvmstat -aやcat /proc/meminfoなどと入力することで取得できます(図5)。 Activeはページキャッシュや無名ページ(注3)のうち、最近利用したり、まだストレージとの同期が取れていない「捨てられない」ページです。Inactiveは、同じくページキャッシュや無名ページのうち、最後にアクセスされてからある程度時間がたち、ストレージとの同期も完了していて、すぐに捨てられるページです。よって、/proc/meminfoの出力でいうところ

    減り続けるメモリ残量! 果たしてその原因は!?
    uchida75cm
    uchida75cm 2013/12/06
    メモリーのキャッシュ(cache)解放
  • @IT:Linux Tips[ユーザー管理]

    ■ホームディレクトリ下のフォルダ作成を停止するには(2007/7/25) Fedora 7をはじめとする多くのディストリビューションでは、デフォルトの文字コードとしてUTF-8が設定されているが、アプリケーションによってはこれをEUC-JPに変更する必要がある。 ■ログインしたままユーザーを切り替えるには(2007/6/13) Fedora 7では、ユーザーの切り替え機能が標準でサポートされている。ここでは、あるユーザーとしてログインした状態のまま、別のユーザー名でログインする方法を紹介する。 ■POSIX ACLを使用するには(2007/5/9) カーネル2.6で「POSIX ACL」がサポートされ、従来のパーミッションによる指定と比較して、より柔軟なアクセス制御が可能になった。 ■NautilusでACLを管理するには(2007/5/9) Nautilsのエクステンション「Eiciel

  • 減り続けるメモリ残量! 果たしてその原因は!? 第1回 (1/3) − @IT

    減り続けるメモリ残量! 果たしてその原因は!?:Linuxトラブルシューティング探偵団 番外編(1)(1/3 ページ) NTTグループの各社で鳴らした俺たちLinuxトラブルシューティング探偵団は、各社で培ったOSS関連技術を手に、NTT OSSセンタに集められた。普段は基的にNTTグループのみを相手に活動しているが、それだけで終わる俺たちじゃあない。 ソースコードさえあればどんなトラブルでも解決する命知らず、不可能を可能にし、多くのバグを粉砕する、俺たちLinuxトラブルシューティング探偵団! 助けを借りたいときは、いつでもいってくれ! OS:高田哲生 俺はリーダー、高田哲生。Linuxの達人。俺のようにソースコードレベルでOSを理解している人間でなければ、百戦錬磨のLinuxトラブルシューティング探偵団のリーダーは務まらん。 Web:福山義仁 俺は、福山義仁。Web技術の達人さ。Ap

    減り続けるメモリ残量! 果たしてその原因は!? 第1回 (1/3) − @IT
  • netstat - ホストのネットワーク統計や状態を確認する

    netstatコマンドは、ホストのネットワーク接続状態やソケット/インターフェイスごとのネットワーク統計などを確認するためのコマンドだ。ホストが現在実行している接続一覧とそのステータスを確認できるほか、IPやTCP/UDP以下の各パケット統計やエラー状態なども調べられる。ホストにおけるネットワーク調査全般の総合的なコマンドを意図しているので、ルーティング・テーブルの確認など、ほかのコマンドと同様の機能も実装されている。 なお、各機能の設定については、ifconfigやrouteなどの専用コマンドまたはGUIによるプロパティ設定が必要だ。

  • 6つの現場が語る、スマホアプリ開発の理想と現実~デブサミまとめレポート(スマホアプリ開発編)(1/3) - @IT

    6つの現場が語る、 スマホアプリ開発の理想と現実 デブサミまとめレポート(スマホアプリ開発編) 有限会社オングス 杉山貴章、後藤大地 2012/2/22 2月16~17日の2日間、東京の目黒雅叙園にて開発者の祭典「Developers Summit 2012」が開催された。「デブサミ」の愛称で知られる同イベントは、2002年より年1回のペースで開催され、今年で10回目を迎えた。 2日間で行われた並列5トラック、全68セッションのうち、ここではiOS(iPhoneiPad/iPod touch)、AndroidWindows Phoneなどスマートフォン/スマートデバイス向けのアプリ開発に関連した6セッションをピックアップして、その様子をレポートする。 Yahoo! JAPANのスマホ向けHTML5対応とは HTML5でスマホアプリ開発、ホントのところ UXを壊さずにスマホのプラットフォ

  • ソーシャルアプリのインフラはNode.jsが主役になるか~デブサミまとめレポート(ソーシャル&インフラ編) - @IT

    大人気ソーシャルアプリ「ドラコレ」のインフラ 最初に紹介するセッションは「大ヒットソーシャルアプリ「ドラゴンコレクション」の裏側 ~ 超高トラフィックを支えるアプリ・インフラの“明日から使えるテクニック”」。講演者は、コナミデジタルエンタテインメント ドラコレスタジオ マネージャー 廣田竜平氏だ。 「ドラゴンコレクション」(以下、ドラコレ)はコナミデジタルエンタテインメントが製作・運営しているソーシャルゲームである。同社の廣田氏による講演では、ドラコレを運用するインフラ技術について紹介された。 廣田氏によれば、ドラコレのHTTPリクエストはピーク時で1秒間に5けた台にのぼり、それを3けたの台数のサーバによって運用しているという。サーバ技術自体はCentOS+Apache+PHPMySQL(+memcached)という一般的なLAMP環境であり、複数のソフトウェアロードバランサとDNSラウ

  • OAuth 2.0でWebサービスの利用方法はどう変わるか(2/3)- @IT

    OAuth 2.0で Webサービスの利用方法はどう変わるか ソーシャルAPI活用に必須の“OAuth”の基礎知識 株式会社ビーコンIT 木村篤彦 2011/2/2 これらの課題を解決するためにOAuth 2.0の策定が進んでいます。OAuth 2.0の大きな特徴は3つです。 HTTPSを必須にし、署名をなくし、トークン取得も簡略化 アクセストークンのみでリソース取得が可能に Webアプリも含め、4つのクライアントプロファイルを仕様化 まず、OAuth 1.0で不評だった署名とトークン交換の複雑な仕組みを捨てました。HTTPS通信を必須にすることで署名がなくてもトークンを盗聴されることを防いでいます。 また、それによりリクエストトークンもなくすことができ、アクセストークン取得までのやりとりが非常に簡略化されました。さらに、アクセストークンのみでリソースにアクセスできるようにしました。 後ほ

  • APIアクセス権を委譲するプロトコル、OAuthを知る - @IT

    クロスドメインでのデジタルアイデンティティを守る APIアクセス権を委譲するプロトコル、 OAuthを知る 作島 立樹 NRIパシフィック 2008/1/21 OAuthプロトコルを知る OAuthを使ったWeb APIアクセス権の委譲が実際にどのように行われるかはエラン・ハマー氏のブログに詳しいが、簡単に説明すると、2つのアプリケーションをマッシュアップさせたい「ユーザー」が、リソース(例えば、アルバムサイトにある写真など)を管理するサイト「サービスプロバイダ」が提供するAPIの接続許可証「トークン」を、サービスプロバイダを通じて、リソースを利用したサービスを提供する別のサイト(例えば、写真を現像するサイト)「コンシューマ」へ発行し、IDとパスワードの代わりにトークンを渡してサービスプロバイダ上のリソースへアクセスさせる、ということになる。

  • デジタル署名 - @IT ネットワーク用語事典

    電子署名 / Digital Sign 公開鍵暗号やハッシュ関数を使い、データに電子的に署名すること。公開鍵暗号により相手確認ができ、ハッシュ関数によって改ざんを検知できるので、送信者が正しいことと伝送経路上でデータが改ざんされていないことを保証できる。実際には、署名のデータを追加するのではなく、メッセージデータの一部分のハッシュ値を暗号化した値を署名として扱う。 デジタル署名を利用する前提として、送信者と受信者の間で公開鍵の入手とハッシュ関数の共有が必要となる。仕組みとしては、送信者はデータの一部分のハッシュ値を計算し、それをあらかじめ入手してある送信先の公開鍵で暗号化する。そして、元データとともにその暗号化したハッシュ値(署名)を送信する。 受信者は、自分の秘密鍵で署名を復号し、その値と元データから算出したハッシュ値を照合する。一致すれば、改ざんされていないことが証明される。

  • 初心者のためのLT作成講座――5分で収まるスライドを作る3つのTips

    前回のまとめ こんにちは。「ライトニングトークをしてコミュニティライフを楽しもう!」という連載、第2回です。連載の目的については、第1回「初心者のためのLT作成講座――まずは構成を練る」をご確認ください。 さて、前回は、LTに必要な4ステップを紹介しました。 構想 準備← 練習 番の発表 今回も引き続き「闇アジャイラー」のLTを例に取ってLTの作り方を解説します。今回のテーマ「準備」。 完成したLTのスライド「闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)」を実際に見ながら、読んでいただければ幸いです。 ●さくっとおさえておきたい前提 2010年に、DevLOVEのイベントでLTを行った LTのテーマは「Energized Work(いきいきと働く、という意)」 LT希望者が多かったため、5分ではなく3分でのLT ●資料と当日の動画 2ndステ

    初心者のためのLT作成講座――5分で収まるスライドを作る3つのTips
  • 双方向通信を実現! WebSocketを使いこなそう

    (1)Ajax XmlHttpRequestオブジェクト(JavaScript)を利用した非同期通信処理のこと。Googleマップを筆頭とするWebアプリケーションで活用されている。ブラウザからサーバ側に非同期でリクエストを実施してデータを受け取り、JavaScriptにより部分的にページを更新することで、ページ全体を更新するよりも低負荷でサーバと通信できる。また、通信中も操作を継続できるので、エンド・ユーザーの操作を妨げられることもなく、ユーザビリティに優れる。デメリットとして、基的にブラウザからのリクエストで動作する仕組みなので、サーバ側から自動でデータを送信することはない。

    双方向通信を実現! WebSocketを使いこなそう
  • クロスブラウザはもう古い! HTML5+CSS3時代のプログレッシブ・エンハンスメント

    IE 9が登場! ユーザーの閲覧環境がますます多様化! 4月26日、ついに日でもInternet Explorer(以下、IE) 9が公開されました。また、マイクロソフトは早くもIE 10のプレビュー版を公開しており、CSS3やJavaScript周りが、さらに強化されるなどリッチなWeb表現が加速してきています。 IEのみならず、Firefox、Safari、Google Chrome(以下、Chrome)など他のWebブラウザもすさまじい勢いで進化してきており、スマートフォンやタブレットPCなどのデバイスも続々と開発され、ユーザーの閲覧環境がますます多様化してきています。 そうした流れの中で、必然的に欠かすことができなくなる知識が、この「プログレッシブ・エンハンスメント」という概念です。 プログレッシブ・エンハンスメントって何? Webブラウザや端末などの閲覧環境が多様化してきていま

    クロスブラウザはもう古い! HTML5+CSS3時代のプログレッシブ・エンハンスメント
  • DTraceでトラブルシューティング

    この連載では、サーバOSとして十数年発展してきた「Solaris」をオープンソース化した「OpenSolaris」を紹介し、ブログサーバ「Roller」と組み合わせて運用していくうえで有用なさまざまな知識を紹介していきます。(編集部) 前回「シングルノードで手軽にクラスタを試す」までの連載で、OpenSolarisの機能や特徴を紹介しながら、ブログサーバを構築する方法を解説してきました。Solarisコンテナ、ZFS、Open HAクラスタを使い、予期されるさまざまな障害に備える強固なサーバ構築のノウハウをご理解できたと思います。 最終回の今回は、ブログサーバ運用中にシステムの状態を監視したり、発生したシステム障害や不具合の原因究明に有効となるDTrace(動的トレース)を紹介します。 DTraceの概要 システムが障害を起こしてクラッシュしたときや、アプリケーションが異常終了しコア・ダン

    DTraceでトラブルシューティング
  • RPMパッケージをインストール/アンインストールするには

    RPMパッケージをインストールするには、「-i」オプション付きでrpmコマンドを使用する。さらに、「vh」オプションを付けると、「#」マークによりインストールの進ちょく状況を知ることができる。「#」が50個で100%を示す。 インストールする前に、すでにそのプログラムがインストールされていないか、インストールされている場合、バージョンは幾つかを調べておいた方がいい(RPMパッケージの情報を調べるには参照)。 # rpm -ivh FileRunner-2.5.1-1vl1.i386.rpm FileRunner ################################################## インストール済みのプログラムに新バージョンが出たときは、RPMパッケージであれば「-U」オプションによりアップグレードすることができる。インストールと同様に、「vh」オプションを付

  • MySQL+Apache+PHPをインストールしよう(1/3) ― @IT

    PHPMySQL はじめに、PHP(Personal Home Page tool)について簡単に紹介します(注)。ご存じのように、PHPはWebアプリケーションの定番として定着しています。また、Strutsのような大規模開発向けフレームワークがもてはやされる一方で、PHPをはじめPerlRubyPythonといったスクリプト系言語に代表される「Lightweight Language」が手軽さと機能の豊富さから近年再注目されています。特にDBやWebとの相性がいいPHPは、初歩的なWebアプリケーションから格的な用途まで幅広く利用されています。 PHP 4.1まではおおむね順調にリリースされていたのですが、PHP 4.2で「register_globals問題」が大きく取りざたされました(コラム1)。ちなみに、快速MySQLでデータベースアプリ!の第5、6回で紹介しているPHP

    MySQL+Apache+PHPをインストールしよう(1/3) ― @IT
  • [さらに気になる]JSONの守り方

    XSSにCSRFにSQLインジェクションにディレクトリトラバーサル……Webアプリケーションのプログラマが知っておくべき脆弱性はいっぱいあります。そこで連載では、そのようなメジャーなもの“以外”も掘り下げていきます (編集部) 次は、JSONにおけるセキュリティ対策 皆さんこんにちは、はせがわようすけです。第4回「[気になる]JSONPの守り方」はJSONPについて説明しましたので、今回は「JSON」についてもセキュリティ上注意すべき点について説明します。 JSONは、XMLHttpRequestで受け取り、JavaScript上でevalするという使い方が一般的です。 まずはサーバ側から送られる情報と、クライアント側での処理、それぞれの内容を見ておきましょう。 [サーバ側] HTTP/1.1 200 OK Content-Type: application/json; charset=

    [さらに気になる]JSONの守り方
  • @IT:クロスサイトスクリプティング対策の基本

    最近Webアプリケーションに存在するセキュリティホールが注目を浴びている。その中でも「クロスサイトスクリプティング」と呼ばれる脆弱性が有名であるが、クロスサイトスクリプティング脆弱性について正確に理解している人が依然として少ないと感じる。 稿では、クロスサイトスクリプティングとはどのような脆弱性であるのか、この脆弱性を持ったサイトが攻撃されるとどのような被害が起き得るのか、なぜそのようなセキュリティホールが作り込まれてしまうのか、どのように対策をすればよいのかを解説していく。 ※以下文中では、クロスサイトスクリプティング脆弱性のことを「XSS」と表記する。「Cross Site Scripting」の略であるから「CSS」と表記している記事もあるが、「Cascading Style Sheets」の略も「CSS」となり紛らわしいため、「XSS」と表記する場合が多くなってきている。稿で

    @IT:クロスサイトスクリプティング対策の基本
  • 「潜在バグはある」という意識でトラブル解決に臨む

    「潜在バグはある」という意識でトラブル解決に臨む:仕事を楽しめ! エンジニアの不死身力(17)(1/2 ページ) 不死身力が試されるトラブル対応 システム開発の仕事に携わっていれば、誰しも必ずシステムトラブルを経験します。 トラブルは、クライアントの業務には支障がない軽微なレベルから社会的影響を与えるレベルまでさまざまありますが、どんなものでもエンジニアはトラブル解決のために全力で取り組みます。まさに「エンジニアの不死身力」が試されるシーンといえるでしょう。 さて、皆さんはトラブル解決の際、どのような意識で臨みますか? 今回は、「トラブル解決の心得」について紹介します。 まだ気が付いていない不具合は必ずある 「潜在バグ」という言葉があります。潜在バグとは、「稼働しているシステムにおいて、まだ表面化していない不具合」のことを指します。これは何もプログラムのバグに限ったことではなく、仕様書の矛

    「潜在バグはある」という意識でトラブル解決に臨む