タグ

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

  • TitaniumとAptanaが買収により統合へ - @IT

    2011/01/19 モバイルやPC向けの統合アプリ開発フレームワーク「Titanium」を提供する米Appceleratorは1月18日、Eclipseベースの統合開発環境(IDE)の「RadRails」(Ruby on Rails向け)や「Pydev」(Python向け)を提供する米Aptanaを買収したと発表した。買収は1月7日に完了している。 Titaniumは、RIA(リッチ・インターネット・アプリケーション)と呼ばれるジャンルに属するオープンソースの開発フレームワーク。HTMLCSSJavaScriptRubyPythonといったWeb開発で使われる技術を使いながら、iPhoneiPadAndroidといったデバイス向けのネイティブアプリケーション開発が行えるのが特徴。単一のコードベースで、PC、Webブラウザ、モバイルに各種プラットフォームに対応できる。Appce

  • 最新Intelプロセッサ「第2世代Core iシリーズ」は何が変わった?

    目次 Intelは、同社の主力プロセッサ・シリーズ「Coreプロセッサ・ファミリ」をフル・モデルチェンジし、「第2世代Coreプロセッサ・ファミリ(開発コード名:Sandy Bridge)」として販売を開始した(インテルのニュースリリース「インテル、ノートブック PC およびデスクトップ PC 向けに画期的なビジュアル性能を提供する第2世代インテル Coreプロセッサー・ファミリーを発表)。 プロセッサ名は、これまでのCoreプロセッサ・ファミリと同様、Core i3/i5/i7だが、マイクロアーキテクチャ(設計)はまったく新しくなっており、デスクトップ向けのプロセッサ・ソケットも第1世代のLGA1366/LGA1156から第2世代ではLGA1155に変更になっており互換性がない(第1世代のCoreプロセッサ・ファミリについては、「用語解説:Core i5/i7」参照)。対応するチップセッ

    最新Intelプロセッサ「第2世代Core iシリーズ」は何が変わった?
  • @IT:/procによるLinuxチューニング [前編](2/2)

    cmdline、cwd、exe、rootなどを見ることで、そのプロセスのコマンドライン引数、その実行形式やカレントワーキングディレクトリ、ルートディレクトリなどが分かります。environからは、そのプロセスの環境変数を読み出すことができます。環境変数に影響されてプロセスの動作がおかしくなっているのではないか、といった場合にチェックします。 fd配下には、そのプロセスのオープンしているファイル記述子が見えるようになっています。fd配下のファイル記述子(番号)に対応するファイルを開くと、そのプロセスがオープンしている記述子と同じものがオープンされます。 cpuは、各cpuでのCPUタイム(ユーザー/システム)とその総計を表示します。シングルCPUではあまり意味がありませんが、マルチプロセッサシステムではプロセスがどのCPUでどれだけ実行したかを調べることが可能です。 mapsは、プロセスのア

  • Hotspot VMの基本構造を理解する

    J2EEがミッションクリティカルな分野に適用されるようになり、Javaのパフォーマンスチューニングの重要性はさらに高まっています。パフォーマンスチューニングにはさまざまなパラメータがありますが、中でもJava VMに関連するチューニングの効果は大きいといわれています。稿は、Java VMに関連するチューニング手法を学ぶための前提知識を提供することを目的にしています(編集部)。 Java VMに関連するチューニングを行い、J2EEアプリケーションのパフォーマンスを上げるためには、Java VMについて詳しく知る必要があります。稿は2回に渡ってJava VMの基構造と動作原理を詳細に解説しますが、内容を理解するためにはプログラムがコンピュータ上で動作する基原理とJava VMの基用語を知っている必要があります。Java VMの基用語に関しては、「実行スピードに挑戦するJavaアーキ

    Hotspot VMの基本構造を理解する
  • Intelの仮想化支援機能「Intel VT」とは? - @IT

    サーバ向けプロセッサのマルチコア化が進む現在、そのプロセッサ・パワーを活用する用途として、仮想化に注目が集まっている。仮想化技術を用いることで、ハードウェアとOS/アプリケーションとの独立性が高まり、その結果、サーバ・システムの柔軟性や保守管理性が向上する。例えば、これまで複数のサーバで稼働させていたOSとアプリケーションを、1台のサーバに集約することで、サーバ・システムの単純化や利用率の向上、コストの削減などのメリットがもたらされる。 しかし仮想化技術は、コンピュータ・ハードウェア上に仮想的なコンピュータ(仮想マシン)をソフトウェアで構築するという技術であるため、さまざまなオーバーヘッドが生じる。仮想マシンで実行されるゲストOSは、仮想化していない場合と同様、1台のコンピュータを占有しているものとして稼働するため、仮想マシンを提供する仮想マシン・モニタ(VMM)がハードウェア・リソースを

  • VFSとファイルシステムの基礎技術

    現在のLinuxは、複数のファイルシステムが選択できる。だが、どれを選べばよいのだろうか? ファイルシステムにはそれぞれ特性がある。連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する。(編集局) カーネル2.4から、Linux格的にエンタープライズを意識したOSとしての機能を備えるようになった。その特徴の1つがファイルシステムの信頼性である。Linuxの場合、当初に実装されたext2からジャーナリングファイルシステムであるext3やReiserFS、そして商用ファイルシステムとして発展してきたJFSやXFSが取り込まれ、複数のファイルシステムが選択できるようになっている。 連載は、これらのファイルシステムの違いを把握し、ファイルシステムを選択するための指針となるような情報を提供する。 ファイルシステムとは 私たちは通常、データの「読み込み」「書き込み」などの操

    VFSとファイルシステムの基礎技術
  • “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT

    “Stop the World”を防ぐコンカレントGCとは?:現場から学ぶWebアプリ開発のトラブルハック(2)(1/2 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Full GC問題の時代が再び到来! それまで順調に動いていたはずのWebアプリケーションが、ある時突然、応答を返さなくなる。そして、運用者があたふたしている間に、何事もなかったかのように再び動き出す。 Javaで構築したシステムにかかわる者ならば誰しもが体験するであろう事象、そうFull GC(ガベージ・コレクション)だ。Full GCが行われている間、すべてのアプリケーションスレッドは停止する。この事象は“Stop the

    “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT
  • 位置情報を取得する仕組み

    可能性の広がる位置推定技術。ケータイやカーナビ、モバイル端末での位置推定の仕組みを、具体的な製品や実装方法を交えて説明 位置情報の利用の広がり GPSを搭載した携帯電話の普及などによって、位置情報は単に道案内として利用されるだけではなく、位置情報に関連付けられた天気・お店などさまざまな情報が得られるようになってきました。 また、近年の無線通信技術の進歩によって、大量の情報がどこでも得られるような環境も整ってきています。これに合わせて、いままで携帯電話などを中心に利用されてきた位置情報が、PCにも広がりを見せています。 例えば、2009年1月の時点では、位置情報を取得する機能を搭載したノートPCが登場しているほか、Windows 7のベータ版には、位置情報に関する項目が標準で追加されています。 連載では、可能性が広がりつつある位置情報に関する技術について、具体的な実装方法を交えて紹介してい

    位置情報を取得する仕組み
  • ネットワークアクセス権も放棄せよ(1/2) - @IT

    12月版 ネットワークアクセス権も放棄せよ 小崎資広 2010/1/12 新年明けましておめでとうございます。皆さまいかがお過ごしでしょうか? 筆者はうっかり昨年末にパッチをLKMLに送ってしまったのがたたって、まったく心の休まらない正月でした、しくしく。そういえば、去年もTOMOYOのパッチをレビューして正月をつぶしたんだよなぁ……なんて思い出がよみがえります。 さてさて、去年はTOMOYO、perf/trace、KSM、discardとさまざまなパッチがマージされましたが、今年はいったいどんなパッチが登場するのでしょうか? disablenetworkから始まった議論、LSMに飛び火 Michael Stoneは、disablenetworkという新しいセキュリティ機構を投稿しました。disablenetworkとは、DJB(qmail、djbdnsの作者として有名。またセキュリティ

  • @IT:事例に学ぶWebシステム開発のワンポイント(6)APサーバからの応答がなくなった、なぜ?

    今回のワンポイント アプリケーション・サーバから応答がない、いわゆる無応答状態は、ベンダのサポートセンターに寄せられる質問でも数が多いといわれている。無応答状態の原因の多くはGC(ガベージ・コレクション)にあり、これはGCチューニングにより解消可能だ。今回の記事では、GCチューニングにより無応答状態を解決する道のりを紹介していく。 サーバから応答がない、なぜ? あるとき、長時間レスポンスが返ってこないという事象が発生した。定期的な応答時間の監視から、無応答状態はアプリケーション・サーバを起動してから数時間経過すると発生し、数分間無応答状態が続いた後に再び正常に処理を開始することが分かった。 無応答の原因を探る 筆者はこの現象を見て、無応答が数分間で終わっていることからガベージ・コレクション(GC)が原因であるとの仮説を立てた。GC実行中、アプリケーション・サーバのCPUはGCのためだけに使

    @IT:事例に学ぶWebシステム開発のワンポイント(6)APサーバからの応答がなくなった、なぜ?
  • Linuxメモリ管理の最先端を探る(1/2) - @IT

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

  • Linux Kernel Watch 6月版 君は知っているか? 2.6.30の変更内容を(1/2) − @IT

    6月版 君は知っているか? 2.6.30の変更内容を 小崎資広 2009/7/1 今年の「セキュリティ&プログラミングキャンプ」(注1)の講師をすることになってしまい、講義準備とこの原稿の締め切りがバッティングして大忙しの筆者です。皆さま、いかがお過ごしでしょうか。 今月は、6月10日にリリースされた2.6.30を中心に見ていきたいと思います。それではどうぞっ。 注1:http://www.jipdec.or.jp/camp/。この記事が公開されるころには締め切り間近だと思うのですが、これはすごいよ。有料のカンファレンスでも、この面子が一堂に集まるなんてあり得ない講師陣です。Linux以外のコースも注目です。……お盆の時期に時間が取れる学生限定ですが。 ファイルシステム周りの追加 ■日発のログ構造化ファイルシステム「NILFS」 NILFS(New Implementation of a

  • グーグル、C/C++に代わる新言語「Go」をOSSで公開 - @IT

    2009/11/11 グーグルは2009年11月10日、Cのようにシステム記述に適したプログラミング言語「Go」をBSDライセンスの下に公開した。C++のようなC言語の拡張ではないが、Cに似た構文が特徴で、ガベージコレクタ(GC)や並列プリミティブ、イテレータ、実行時リフレクションなどを備えた新しい設計が目を引く。Goグーグルの社員7人が「20%の自由時間」を利用して開発した。設計・実装を行っているのが分散OS「Plan 9」の創案者であるロブ・パイク氏や、Unix、Cの生みの親、ケン・トンプソン氏、Google ChromeのV8エンジンを開発したロバート・グリースナー氏など錚々(そうそう)たるメンバーで、こうした点でも注目を集めそうだ。 グーグル社内では、まだGoを使っていないが、今後はWebサーバなどのシステム関連のソフトウェアで実用を検討しているという(Goのオフィシャルサイトは

  • [無視できない]IEのContent-Type無視

    [無視できない]IEのContent-Type無視:教科書に載らないWebアプリケーションセキュリティ(2)(1/2 ページ) XSSにCSRFにSQLインジェクションにディレクトリトラバーサル……Webアプリケーションのプログラマが知っておくべき脆弱性はいっぱいあります。そこで連載では、そのようなメジャーなもの“以外”も掘り下げていきます(編集部) 無視できないIEの「Content-Type無視」問題 皆さんこんにちは、はせがわようすけです。 第2回では、Internet Explorer(以下、IE)の仕様でも特に悪名高い「Content-Type無視」について説明します。 IEのContent-Type無視問題は非常に複雑で、私自身も完全に説明できる自信はないのですが、それでもセキュアなWebアプリケーションを開発するうえで避けては通れない問題ですので、取り上げることにしました。

    [無視できない]IEのContent-Type無視
  • ガベージコレクタの仕組みを理解する

    GCを適切に行わせるためのヒープサイズの設定 JVMにGCを適切に行わせるにはヒープサイズを適切に設定(New領域サイズ、Old領域サイズ、領域サイズのバランスなど)する必要があります。当然、適切なヒープサイズはアプリケーションに依存します。一般にヒープサイズが小さいとGCが頻発してアプリケーションのパフォーマンスが低下します。さらに、ヒープサイズが必要量を下回る場合はOutOfMemoryErrorが発生してアプリケーションが停止してしまいます。一方、ヒープサイズが大きいと、GCの起動回数は減りますが、GC1回当たりの処理時間、すなわちアプリケーション停止状態が長くなり、アプリケーションの応答時間に問題が出る場合もあります。システムの物理メモリのフリー領域が不足するまでヒープサイズを大きくすると、物理メモリからスワップ領域へのページングが起こってしまい、かなりのパフォーマンスが劣化する可

    ガベージコレクタの仕組みを理解する
  • 一瞬でのバックアップを実現するSolaris ZFS

    一瞬でのバックアップを実現するSolaris ZFS:OpenSolarisで始めるブログサーバ構築(4)(1/4 ページ) この連載では、サーバOSとして十数年発展してきた「Solaris」をオープンソース化した「OpenSolaris」を紹介し、ブログサーバ「Roller」と組み合わせて運用していくうえで有用なさまざまな知識を紹介していきます。(編集部) 前回の「Solarisコンテナでセキュリティを強化」では、仮想化技術であるSolarisコンテナを用いて、ブログサイトをセキュアな環境に移行する方法について解説しました。Solarisコンテナを用いると、思ったよりも簡単な手順で仮想環境が構築できることがお分かりいただけたと思います。 今回は、最新のSolaris ZFS(以下ZFS)ファイルシステムを用いたデータ管理方法やSolarisコンテナとZFSの組み合わせによるプロビジョニン

    一瞬でのバックアップを実現するSolaris ZFS
  • Gaucheでテンプレートエンジンを作る

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 前回「GaucheでRDBプログラミング」に続き、Webプログラミングです。WebアプリケーションやGUIアプリケーションのように、人との対話があるアプリケーションは一般にMVCを採用しています。 MVCとは、計算やデータ処理部分のモデル、表示部分のビュー、全体の流れを制御する部分のコントローラにモジュールを分割して作る技法です。 MVCを採用すると、変更に強いメンテナンス性の高いソフトウェアになるといわれています。実際に、多数のWebアプリケーションフレームワークがMVCを採用しています。 前回のRDBプログラミングはモデル部分の中心になるものでしたが、今回はビューの部分を作っていきましょう。 HTMLの生成 Webアプリケーションでは、Webブラウ

    Gaucheでテンプレートエンジンを作る
  • 削除したファイルを復活するには

    Linuxで一度削除してしまったファイルを復活するには、いろいろと困難な問題がある。最も大きな要因は、Linuxがマルチユーザー、マルチタスクシステムである点だ。削除したファイルを復活させようと思っても、別のプロセスが削除したファイルの領域を使ってしまう可能性があるのだ。従って、ここで紹介する方法で復活を試みても、元に戻すことができない場合もある。 ここでは、「Hello!!!」という内容のhello.txt(11bytes)を削除して、復活してみる。 誤ってファイルを削除した場合は、速やかにランレベル1に移行する。以下のように、suコマンドでrootユーザーになり、telinitコマンドを実行する。 $ su - ←rootになる Password: ←rootのパスワードを入力 # telinit 1 ←ランレベル1に移行 (省略) sh-2.04 # ←ランレベル1でのプロンプト

  • RJSなら数行のRubyコードでAjaxアプリを作成できる

    RJSなら数行のRubyコードでAjaxアプリを作成できる:Ruby on RailsのRJSでかんたんAjax開発(後編)(1/4 ページ) ほんの数行のRubyコードで、Ajaxアプリケーションを 今回は、前回の「かんたんAjax開発をするためのRuby on Railsの基礎知識」に引き続き、Ruby on Rails(以降、Rails)が提供するRJSを使用したAjaxの開発の仕方について解説しています。 まだRailsを使ったことがない方でも大枠の理解ができるように、前回はRuby言語やRailsの基部分を解説しました。後編である今回はいよいよ題のRJSの解説をメインに進めていきます。RJSを利用すれば、ほんの数行のRubyコードを書くだけで、非常に簡単にアプリケーションをAjax対応できることを解説していきます。 もう一度、サンプルをおさらい 今回のサンプルプログラム(拡大

    RJSなら数行のRubyコードでAjaxアプリを作成できる
  • rsyncを用いたコンテンツの分散 (1/3)- @IT

    第2回 rsyncを用いたコンテンツの分散 内間 圭介 株式会社Cuon 2008/10/16 Rubyを使った大規模エンタープライズ開発が始まっている。Ruby on Railsでの開発において、インフラやアプリケーションアーキテクチャをどのように構成すべきかを考える(編集部) 第1回「CGMサイト構築で悩む負荷対策と拡張性の確保」では、CGMサイト構築における負荷対策と拡張性の実例をいくつか紹介した。今回は予定を変更して、rsyncを用いたコンテンツの分散について述べる。 ここではユーザー投稿画像などのデータを保存するのに、高価なストレージを導入するのではなく、安価なコンテンツ専用サーバをスケールアウトさせていく方法について説明する。 ここに挙げる方法では、コンテンツサーバをWebアプリケーションサーバにマウントしない方針を採用している。これはRuby on Rails(RoR)が