タグ

ブックマーク / gihyo.jp (16)

  • 第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp

    10月に入り、9月までに起こったことをざっと振り返るというお題がどこかから聞こえてきたので、「⁠じゃあ……」という感じで振り返ってみることとします。 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ まだ現在進行形の事案ではありますが、9月下旬に発覚したBashの脆弱性に起因して、10月上旬までまだ収束していないShellshock。 Bash 4.3の例で説明すると、Patchlevel 25~30までは以下のような軌跡をたどっています。 9月24日にPatchlevel 25 9月26日にPatchlevel 26 9月27日にPatchlevel 27 10月1日にPatchlevel 28 10月2日にPatchlevel 29 10月5日にPatchlevel 30 この間に発見、修正された脆弱性は、CVE-2014-6271、CVE-2014-71

    第4回 わずか1週間程度でBashが大幅な進化を遂げた ~Shellshock大暴れ~ | gihyo.jp
  • 2014年9月26日号 14.10の開発・“shellshock”とその対応・UWN#384 | gihyo.jp

    Ubuntu Weekly Topics 2014年9月26日号14.10の開発・“shellshock”とその対応・UWN#384 14.10のFinal Betaとそれに伴うテスト 14.10の開発は無事にFinal Betaに達し[1]⁠、恒例のテスト要請が行われています。14.10のリリースイメージに何らかのバグがあっては困る場合はテストを、あるいはすでにバグを見つけている場合は速やかな報告が必要なフェーズです。近年はこの時期のリリースであっても一部の例外を除いて比較的安定しているため[2]⁠、「⁠次リリースを体験してみる」意味でも良いタイミングです。 ただし、あくまで開発版であり、リリース版に比べると実施されたQAの分量は少ないため、バックアップや予備機の準備は必須です。 なお、多言語入力回りについてはFcitxのMIRが現状でまだ完了しておらず、Unityへの組み込みが現在もま

    2014年9月26日号 14.10の開発・“shellshock”とその対応・UWN#384 | gihyo.jp
    pipehead
    pipehead 2014/09/26
    > この問題の攻撃要件は「任意の環境変数をセットしてbashを呼び出す」ではなく,「環境変数に任意の値をセットしてbashを呼び出す」です。
  • 第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp

    なぜアルゴリズムを学ぶのか GCによる停止時間が長くなり、アプリケーションの処理時間が短くなると、業務に使える時間が短くなってしまいます。その問題を解決するために、GCをチューニングすることで、アプリケーションの停止時間を短くすることが考えられます。 その際大事なのは、GCのアルゴルズムを把握しておくことです。 GCのチューニングを行うときは、GCで行われている処理の内、どの処理に時間がかかっているかをモニタリング⇒分析⇒チューニングする、という流れになります。しかし、GCのアルゴリズムを知らないと、モニタリング結果を見てもどこに問題があるかがわからず、分析やチューニングを行うことができません。 今回は、以下の4つのアルゴリズムをご紹介します。 マーク&スイープGC コンパクション コピーGC 世代別GC GCのアルゴリズムはJVMの実装によって異なりますが、多くの場合、上記4つのアルゴリ

    第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp
    pipehead
    pipehead 2013/03/27
    マーク & スイープ GC, コンパクション, コピー GC, 世代別 GC
  • 第7回 新人さんのための仕事で使えるPerl基礎知識(3) | gihyo.jp

    リファレンス/デリファレンス (3)では、仕事Perlを使ううえで必ずと言っていいほど使用するにもかかわらず、つまずきがちなリファレンスとデリファレンスについて解説します。筆者も最初に教えてもらった際にはちゃんと理解できていませんでしたが、使っていくうちに徐々に体系的に理解できるようになりました。 リファレンス 配列やハッシュといった変数をサブルーチンへの引数としてそのまま使うと、少々困ったことになってしまいます。たとえば次のコードを書いたとします。 sub foo { my(@arg_a, @arg_b) = @_; } my @a = (1, 2, 3); my @b = (4, 5, 6); foo(@a, @b); こういったコードを書いたときに、サブルーチンfooの引数に渡される値として、@arg_aには@aの内容が、@arg_bには@bの内容が入ることが期待されますが、実際に

    第7回 新人さんのための仕事で使えるPerl基礎知識(3) | gihyo.jp
    pipehead
    pipehead 2011/06/03
    リファレンス, デリファレンス
  • 第5回 x86プロセッサの仮想化支援機能Intel VT & AMD-V | gihyo.jp

    前回は、システム仮想マシンを実現するための条件、その古典的な実装方法を紹介しました。また、それらのアプローチをx86システムに適用する場合、どのような障壁があるかについて説明しました。 今回は、従来のx86プロセッサにおける仮想化の問題点を解決するために追加された“⁠仮想化支援機能⁠”がどのようなものであるかを紹介します。 仮想化支援機能の概要 x86プロセッサの仮想マシンソフトウェアの実装が困難だった中、プロセッサを供給するインテルおよびAMDは、プロセッサ自体に仮想化支援機能を追加しました。それが、インテル製のプロセッサに搭載されたIntel VT-x、およびAMD製のプロセッサに搭載されたSVMです。 リング0で動作するOSをも支配するVMM専用モード 前回解説したtrap-and-emulateによるシステム仮想マシンを実装するためには、仮想マシンモニタ(VMM)が、ゲストOSのカ

    第5回 x86プロセッサの仮想化支援機能Intel VT & AMD-V | gihyo.jp
    pipehead
    pipehead 2011/04/08
    VT-x, SVM (Secure Virtual Machine)
  • 第4回 x86プロセッサにおけるプロセッサ仮想化 | gihyo.jp

    これまで、x86システム仮想マシンの概要、およびその実例としてDebian GNU/Linux 6.0を利用した仮想マシンの実行方法について紹介してきました。今回からは、より具体的にCPU、メモリ、I/Oデバイスの仮想化がどうやって実現されているかを解説したいと思います。 今回は、仮想マシンを実装するための古典的手法およびそれを従来のx86プロセッサに適用する際の問題点、そして仮想マシンソフトウェアがどのようにそれらの障壁を乗り越えてきたかについて解説します。 システム仮想マシンに求められる条件 これまで、システム仮想マシンはどのようなものかについて説明してきましたが、仮想化仮想化の生みの親とも言えるGoldbergらは、1974年に書いた論文にて、仮想マシンソフトウェアとはどのようなものであるべきかについて、コンピュータアーキテクチャの観点から論じています。 彼らは、その仮想マシンソフト

    第4回 x86プロセッサにおけるプロセッサ仮想化 | gihyo.jp
    pipehead
    pipehead 2011/03/16
    trap-and-emulate, リアルモード, プロテクトモード, リングプロテクション, センシティブ命令 (sensitive instructions), バイナリトランスレーション (Binary Translation)
  • 第1回 x86仮想マシンことはじめ | gihyo.jp

    ここ数年、インテルx86系プロセッサを使ったコンピュータ(以下x86システム)で仮想マシンを利用する機会が増えています。 x86システムの上で仮想マシンを使うのはこれまで開発者をはじめITエンジニアが多かったように思いますが、企業のサーバ統合などに広く使われるようになり、今ではWindows 7にXP Modeが搭載されるなど、デスクトップ環境においても広く見かけるようになりました。このように仮想マシン技術はとても身近なものとなってきています。 また、仮想化は、コンピュータリソースの柔軟かつ効率的な運用管理を実現するために用いられ、クラウドコンピューティングの基盤にも用いられる重要な技術のひとつとなっています。 このように、x86システムの仮想化技術はたいへん注目されていますが、その仮想マシン技術がどのようなギミックで実現されているのかを知っているITエンジニアの方は、まだまだ少ないように

    第1回 x86仮想マシンことはじめ | gihyo.jp
    pipehead
    pipehead 2011/01/31
    システム仮想マシン (System Virtual Machine), プロセス仮想マシン (Process Virtual Machine), 完全仮想化 (Full Virtualization), 準仮想化 (Para Virtualization)
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • 第2回 JavaScriptのデバッグとチューニング | gihyo.jp

    使用頻度が高いのはデベロッパーツールを起動するCtrl+Shift+I(もしくはCtrl+Shift+J)と、コンソールを開閉するESC、コンソールでは補完候補を選択するtabなどが挙げられます。 例えば、長くて間違えやすいencodeURIComponentのスペルは、Ctrl+Shift+Jでデベロッパーツールを起動してコンソールを開き(コンソールが開かなかった場合はESC⁠)⁠、eだけ打ってtabキーを2回押せば encodeURIComponent が補完されるので、スペルを簡単にコピーできます。 JavaScriptデバッガの活用 前回はブレークポイントの設置方法を紹介しましたが、もう一歩進んだ条件付きブレークポイントの設置方法を紹介します。 まず、通常のブレークポイントを設置します。 この青くハイライトされた行番号の上で右クリックすると次のようなメニューが表示されます。 ここで

    第2回 JavaScriptのデバッグとチューニング | gihyo.jp
    pipehead
    pipehead 2010/08/25
    ショートカットキーの一覧と console オブジェクトのデバッグ用メソッドの使用例あり〼
  • 第1回 詳説:デベロッパーツールの使い方 | gihyo.jp

    こんにちは、Google Chrome ExtensionsのAPI ExpertとChromium-Extensions-Japan管理人を担当している、太田と申します。いつもはクロスブラウザで連載していますが、今回はGoogle Chromeのデベロッパーツールについて紹介します。 昨今のJavaScriptHTMLCSSブームの背景には、開発環境、特にFirebugに代表されるようなデバッグツールの目覚しい発展が大きく貢献していると思われます。その反面、高機能化するデバッグツールの各種機能を使いこなすことが難しくなってきているという現実もあります。そこで、今回から全4回でGoogle Chromeに搭載されているデベロッパーツールの使い方とそれを利用したデバッグ・チューニングのノウハウをお届けしたいと思います。第1回はデベロッパーツールの機能紹介と基的な使い方を解説します。 な

    第1回 詳説:デベロッパーツールの使い方 | gihyo.jp
  • 第5回 Perl編 | gihyo.jp

    インストール インストールは、管理者権限で「cpan YAML」を実行するだけです(リスト1⁠)⁠。 リスト1 YAML.pmのインストール $ sudo cpan YAML 使い方 YAML.pmの基的な使い方は、リスト2のとおりです。YAML.pmが提供するのは次の2つだけであり、YAMLストリームの読み込みはできません。 YAML::Load($string) YAMLドキュメントを読み込む YAML::Dump($data) データをYAMLドキュメントに変換する リスト2 YAML.pmの基的な使い方(ex-yamlpm.pl) use strict; use YAML (); use Data::Dumper (); ## YAMLドキュメントの読み込み my $filename = "example.yaml"; open(IN, $filename) or die("c

    第5回 Perl編 | gihyo.jp
    pipehead
    pipehead 2008/04/17
    YAML, YAML::Syck, YAML::XS
  • 第3回 Python編 | gihyo.jp

    インストール インストールは、LinuxMac OS Xではリスト1の手順で行ってください。Windowsの場合は、http://pyyaml.org/download/pyyaml/にあるWindows installerを使ってください。 リスト1 PyYAMLのインストール $ wget http://pyyaml.org/download/pyyaml/PyYAML-3.05.tar.gz $ tar xzf PyYAML-3.05.tar.gz $ cd PyYAML-3.05/ $ sudo python setup.py install 使い方 PyYAMLの使い方はリスト2のようになります。日語を含む場合は必ずUnicodeにデコードしなければならない点に注意してください。詳細はリファレンスマニュアルを参照してください。 リスト2 PyYAMLの使い方(ex-pyyam

    第3回 Python編 | gihyo.jp
  • 第1回 YAMLライブラリのしくみ | gihyo.jp

    はじめに YAMLYAML Ain't Markup Language)とは、データを構造化して表現するためのフォーマットです。目的はXMLと似ていますが、インデントを主体とした記法のため、XMLより読みやすく、書きやすく、わかりやすくなっています。 またデータシリアライゼーション[1]に使えるように設計されているため、任意のデータ構造が表現できるだけの記述力を持っています。これは、基的に木構造しか記述できないXMLと比べて、YAMLの大きな利点です。YAMLの文法については、WEB+DB PRESS Vol.43「最新[データ交換フォーマット]攻略ガイド JSON/YAML実践入門」の第3章「YAML実践リファレンス」に解説がありますので、併せて参照してください。 特集では、YAMLをさまざまなプログラミング言語で利用するためのYAML用ライブラリの使い方を、各言語ごとに紹介してい

    第1回 YAMLライブラリのしくみ | gihyo.jp
  • 第6回 辞書を引く技術/引かない技術 | gihyo.jp

    日中は残暑が厳しいものの、朝夕はずいぶん涼しくなって夜の時間も長くなってきました。「⁠灯火親しむころ」とばかり、久しぶりにじっくりとを読もうとしてみても、最近はウェブ閲覧時のクセで、一冊のに集中できる時間がずいぶん短くなってしまいました。連載では技術文書に対しては速読や乱読を進めていますが、その一方でじっくりと一冊のを熟読する機会も失いたくないものです。 さて、前回は大学院生時代に教わった、論文を手際よく読むためには結論から先に読んでおく、という方法を紹介しました。この読み方と共に当時の先生から教わったのが「知らない単語があっても辞書は引くな」という考え方です。 「論文は結論から先に読む」という方法を乱暴と感じたように、「⁠辞書は引くな」という考え方も、当初は「知らない単語の意味を調べずには英文を理解できない」と感じました。しかし、実際に辞書を引かずに単語の意味を推測しながら読むこ

    第6回 辞書を引く技術/引かない技術 | gihyo.jp
  • 第5回 英語に負けるな | gihyo.jp

    日中はまだまだ暑いものの、ようやく朝晩は涼しい風が吹くようになりました。多少すごしやすくなったかと思うと、身体が暑さに慣れてしまっているせいでしょうか、さっそく寝冷えをして風邪気味になってしまいました。身体も考え方も、一度身についたものを変えるのは容易ではないようです。 さて、前回まではソフトウェアに付属の文書の種類や役割、インターネット上の情報の探し方といった話題を紹介しました。最近では、これらの情報の多くが日語でも読めるようにはなっていますが、コンピュータ業界の標準語は英語なので、最新の情報やオリジナルの情報を調べようとする場合は英語のドキュメントを避けて通るわけにはいきません。そこで今回は、英語技術文書の読み方のコツを考えてみようと思います。 「英語が苦手」という人へ 筆者は専門職大学院でゼミの指導をしたことがありますが、コンピュータ業界を目指そうという学生の中にも英語が苦手な人

    第5回 英語に負けるな | gihyo.jp
  • 小飼弾のアルファギークに逢いたい:#0 Perlの父 Larry Wall|gihyo.jp

    というわけで、Larry Wallの来日とともに、いきなり連載スタートです。3月29~30日に開催されたYAPC::Asia::2006に合わせて5年ぶりに来日したLarryは、実は我が家の賓客でもありました。またとない機会なのでインタビューしてみた次第。なお、Larryが日語で話した部分は《~》でくくっています。 撮影:武田康宏 弾(筆者⁠)⁠:日語はどれだけ話せるのですか? ラ(Larry⁠)⁠:《簡単に会話を遅くします。でもペラペラじゃない。5年かけて少しずつ勉強しました。でも、練習することがあまりできません。だけで簡単に…》 弾:ひょっとしてまだ1977年版Honda Accordに乗っているんですか? ラ:はい。もう29歳です。廃車にすると、環境条例でカリフォルニア州が500ドルくれるのですが、まだ乗ってます。 弾:最近お気に入りのアニメは? ラ:《あずまんが大王! ちよち

    小飼弾のアルファギークに逢いたい:#0 Perlの父 Larry Wall|gihyo.jp
  • 1