タグ

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

  • naveでNode.jsのバージョン管理&イベントループ詳説

    naveでNode.jsのバージョン管理&イベントループ詳説:node.jsでサーバサイドJavaScript開発入門(2)(1/3 ページ) 前回のおわび 前回の「サーバサイドJavaScript命「node.js」の基礎知識」をご覧いただいた皆さま、はてなブックマークやTwitterなどでコメントをいただきました方々、ありがとうございます。話題の「Node.js」ということもあり、はてなブックマークも1000ユーザーを超えました。 私の力不足もあり、いろいろな方から指摘をいただいたので、今回は前回の補足と訂正をします。ご指摘いただきました皆さま、ありがとうございます。非常に勉強になります。 「nave」で簡単! Node.jsのバージョン管理 前回の記事で、Node.jsと「npm(node package manager)」のインストールを説明していますが、以下のような問題があり

    naveでNode.jsのバージョン管理&イベントループ詳説
  • サーバサイドJavaScriptの本命「node.js」の基礎知識

    稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様

    サーバサイドJavaScriptの本命「node.js」の基礎知識
  • KVMの導入と基本的な使い方

    アナウンス後わずか2カ月でLinux Kernelにマージされたことで一躍注目を浴びることになった仮想化技術「KVM」。しかし、その具体的な仕組みや使用方法となると、意外と知られていないのではないでしょうか。この連載ではそんなKVMについて紹介します(編集部) 前回「Linux標準の仮想化技術『KVM』の仕組み」では、、KVM(Kernel-based Virtual Machine)の概要について説明しました。今回はそれを踏まえて、基的な使い方を説明します。KVMはGUIツールで操作することもできますが、今回は基を押さえるため、すべてコマンドラインで行ってみましょう。 実際にKVMを使う場合にはGUIツールを使うことが想定されますが、コマンドラインでの操作を押さえておけば、GUIツールの裏側で実際に何をやっているのかを理解できるかと思います。 今回の話の流れは以下のとおりです。

    KVMの導入と基本的な使い方
  • Linux標準の仮想化技術「KVM」の仕組み

    アナウンス後わずか2カ月でLinux Kernelにマージされたことで一躍注目を浴びることになった仮想化技術「KVM」。しかし、その具体的な仕組みや使用方法となると、意外と知られていないのではないでしょうか。この連載ではそんなKVMについて紹介します(編集部) KVMは、Linux Kernel自体をハイパーバイザとする仕組みで、正式名称を「Kernel-based Virtual Machine」といいます。KVMは現時点では、Intel VT-xやAMD-VといったCPUの仮想化支援機能を必要とし、完全仮想化によりOSの仮想化環境を提供します。 この記事では、「KVMの名前は聞いたことはあるが詳しくは知らない」という方、「興味はあるけど使い方がよく分からない」という方を想定し、全3回でKVMの概要と基的な使い方、今後の課題について紹介したいと思います。 OS仮想化技術のおさらい サー

    Linux標準の仮想化技術「KVM」の仕組み
  • 連載記事 「習うより慣れろ! iptablesテンプレート集 改訂版」

    スタティックなパケットフィルタリング 連載:iptablesテンプレート集 改訂版(1) Linuxカーネルが備える「iptables」を使いこなすのは初心者にとってハードルが高いもの。テンプレートを参照して使い倒しましょう

  • Windowsのnslookupの基本的な使い方(MXレコード編)

    対象OS:Windows 2000 Professional/Windows XP Home Edition/Windows XP Professional/Windows 2000 Server/Windows 2000 Advanced Server/Windows Server 2003 解説 nslookupは、DNSサーバの動作をチェックするために使われる非常に基的なコマンドである。別稿の「TIPS―nslookupの基的な使い方(イントラネット編)」では、イントラネット用途におけるnslookupの基的な使い方について解説した。ここでは、別の使い方としてドメインのMXレコードの取得方法と、その意味について解説する。 ●メール・サーバ情報を定義するMXレコード DNSサーバには、Aレコード(名前→IPアドレスの定義)やPTRレコード(IPアドレス→名前の定義)、NSレコード

    Windowsのnslookupの基本的な使い方(MXレコード編)
  • @IT:ターミナルを切り替えて使えるscreenコマンドとは

    screenコマンドを使うと、1つのターミナルで複数のスクリーン(ウィンドウ)を開き、ウィンドウを切り替えることができる。例えば、あるウィンドウで何かの作業をしつつ、別のウィンドウで、

  • 第4回 JavaScriptでオブジェクト指向プログラミング

    第4回 JavaScriptでオブジェクト指向プログラミング:連載:Ajax時代のJavaScriptプログラミング再入門(4/4 ページ) 以上、最終回の今回はJavaScriptによるオブジェクト指向について解説した。JavaScriptのオブジェクト指向は「プロトタイプ・ベースのオブジェクト指向」と呼ばれ、従来の「クラス・ベースのオブジェクト指向」に精通した開発者であればあるほど、なじみにくく感じる概念かもしれない。しかし、あまり難しく考える必要はない。 繰り返しではあるが、JavaScriptではクラスという抽象的な概念の代わりに、すべての概念が実体を持ったオブジェクト(インスタンス)で表されるというだけだ。クラス・ベースのオブジェクト指向言語では、クラスを基にオブジェクトを作成していたところが、JavaScriptではオブジェクトを基に異なるオブジェクトを作成することになっただけ

    第4回 JavaScriptでオブジェクト指向プログラミング
  • Apacheパフォーマンス・チューニングのポイント

    現状の測定(ベンチマーク)と結果の着眼点 ここからはApacheに着目して、パフォーマンス・チューニングのための準備を行う。チューニングするに当たって、まず現状を十分に分析し、具体的な目標を定めることから始めたい。目標をどれだけ具体化するかはともかくとしても、現状を数値的に知りもせずに、漠然と「遅い遅い」と騒いでいても仕方がない。 現状を数値的にとらえるにはツールが必要となる。いわゆるベンチマーク・ツールだ。Apacheには、標準で「ab」(Apache Bench)というツールが付属している。abの構文は、

    Apacheパフォーマンス・チューニングのポイント
  • 第3回 変数の宣言とスコープ ― @IT

    JavaScriptが、いま注目を浴びている。 長い冷遇の時代を経ながらも、Ajaxという技術の登場とも相まって、JavaScriptの価値はいままた確実に見直されつつある。その過去の凋落と近年の華々しい脚光は、「復権」と呼んでもよいかもしれない。 連載は、JavaScript復権のいまこの時代に求められる、JavaScriptという言語への理解を再確認しようというものだ。その連載、第3回となる今回扱うテーマは、「変数」である。どのような言語においても同様であるが、コード上で値を入力し、処理した結果を格納し、また、ほかへと引き渡すすべての基となるのが変数だ。プログラミング言語を理解するうえにおいて、変数の理解は欠かせない。そして、それはJavaScriptの世界においても同様だ。 稿では、JavaScriptにおける変数のデータ型に始まり、そのスコープ(有効範囲)の概念、そして、初学

    第3回 変数の宣言とスコープ ― @IT
  • 第1回 JavaScriptの復権 ― @IT

    連載目次 JavaScriptが、いま注目を浴びている。JavaScriptの復権、といってもよい。 最初にJavaScript(当初は「LiveScript」と呼ばれていた)がブラウザに実装されたのが1995年の「Netscape Navigator 2.0」というWebブラウザでのことであるから、すでに登場から10年以上も経過しているわけであるが、そんな枯れた言語がなぜいまごろになって注目されているのか。 いうまでもない。昨今、GoogleYahooをはじめとした多くの企業が積極的にJavaScriptを採用したリッチなユーザー・インターフェイスを公開し、これが「Ajax(Asynchronous JavaScript And Xml)」という名前とともに急速に注目を浴びたことが、その理由である(Ajaxについては拙稿「枯れた新しいUI革命「Ajax」をASP.NETで活用する」を参

    第1回 JavaScriptの復権 ― @IT
  • 第4回 JavaScriptでオブジェクト指向プログラミング ― @IT

    JavaScriptが、いま注目を浴びている。 JavaScriptがこれだけの注目を浴びた理由の1つとして、Ajax技術の登場とも相まって、JavaScriptに対する確かな理解の必要性が高まったという事情は否定できない。しかし、それだけでは説明できない急速な注目の理由として、もう1つ、JavaScriptという言語そのものが持つユニークさが開発者の目を引いたという点は看過できないだろう。 もっとも、このユニークさは同時に、多くの開発者が感じているJavaScriptに対する苦手意識と同義でもある。これまでVisual BasicやC#、Javaといった言語でオブジェクト指向構文になじんできた開発者にとって、JavaScriptのオブジェクト指向構文はいかにも奇異なものに映るのだ。ようやくクラスという概念を理解した開発者が、JavaScriptという言語の背後にたびたび見え隠れする「プロ

    第4回 JavaScriptでオブジェクト指向プログラミング ― @IT
  • プログラム言語の文法はどうやって定義されるのか?

    プログラム言語の文法はどうやって定義されるのか?:Javaでコンパイラの基礎を理解する(4)(1/2 ページ) 前回までの解説でコンパイラが生成するオブジェクトコードとそれを実行する仮想マシンについては理解できたはずです。コンパイラが出力するものについては明確にできましたから、次はコンパイラへ入力するソースコードについて考えることにします。 ソースコードには、プログラムを記述することになりますから、それをどのように記述するかを自分で決める必要があります。つまり、プログラム言語の文法を自分で定義するのです。今回はこの方法について解説をします。 コンパイラの仕様(どのように動くか? を決める) 連載でターゲットとしている仮想マシンは非常に単純なものですから、バイナリファイルを毎回手作業で作成することも可能です。 とはいえ、簡単な計算をするために毎回この作業をするのは大変ですから、普段使い慣れ

    プログラム言語の文法はどうやって定義されるのか?
    amari3
    amari3 2010/05/20
  • コンパイラの入り口、「字句解析」のための文字列操作

    前回はBNFでプログラム言語S1sを定義しました。今回は、この定義に従って記述されたプログラムをコンパイルするに当たり、最初に実行する処理である字句解析について解説をします。 「字句解析」とは何ぞや? 前回、プログラミング言語S1sを次のように定義しました。 <program> ::= main '{' <expression> '}' <expression> ::= <term>{ <opeas> <term> } <term> ::= <factor>{ <opemd> <factor> } <factor> ::= <number>|( <expression> ) <number> ::= <digit>{<digit>} <opeas> ::= + | - <opemd> ::= * | / <digit> ::= 0|1|2|3|4|5|6|7|8|9 この定義から、S1sの

    コンパイラの入り口、「字句解析」のための文字列操作
  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

  • 分散バージョン管理Git/Mercurial/Bazaar徹底比較

    分散バージョン管理Git/Mercurial/Bazaar徹底比較:ユカイ、ツーカイ、カイハツ環境!(3)(1/5 ページ) Subversionとは一味違う「分散バージョン管理」とは? 最近、Linuxをはじめ、Ruby on RailsMySQL、OpenSolarisなどのオープンソースプロダクトが次々と分散バージョン管理システムを導入し始め、「Git」「Mercurial」「Bazaar」といった、分散バージョン管理システムが注目を浴びています。 稿では、バージョン管理ツールのデファクトスタンダードであるSubversion(以下、SVN)と分散バージョン管理システムを比較しながら、メジャーな分散バージョン管理システムであるGit、Mercurial、Bazaarについて紹介していきます。 集中型と分散型 最初に、集中管理方式(または、集中型)のバージョン管理システムと分散管理

    分散バージョン管理Git/Mercurial/Bazaar徹底比較
  • Oracleの機能を使って表の結合を高速化する(1/4) - @IT

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回「表の結合を極めるチューニング・テクニック」では、絞り込み条件がない結合を含むSQL、絞り込み条件のある結合を含むSQLについて実例を基に最適な結合方法を説明しました。 今回は、Oracleの機能である「マテリアライズド・ビュー」「BITMAP JOIN INDEX」「クラスタ」を利用した結合処理に関するチューニング・テクニックについて説明します。 マテリアライズド・ビューを理解する 結合処理な

    Oracleの機能を使って表の結合を高速化する(1/4) - @IT
  • すべてはここから始まった〜SHA-1の脆弱化 ― @IT

    米国は、現在利用されているすべての米国政府標準の暗号技術を2010年までにより安全な暗号技術へ交代させていく方針を明確に打ち出している。現在、世界中で使われているデファクトスタンダードの暗号技術は、そのほとんどすべてが米国政府標準の暗号技術に準じているため影響は極めて大きい。2010年に向けて現在使われている暗号技術はどのように変わっていくのだろうか(編集部) 2005年2月15日、世界的な暗号の権威であるBruce Schneier氏のBlog「Schneier on Security」で公表された「SHA-1 Broken」という情報は、驚きをもって世界中を駆け回った。現在、ハッシュ関数のデファクトスタンダードとして最も広く利用されているSHA-1に対して、中国・山東大学のXiaoyun Wang氏とHongbo Yu氏、セキュリティコンサルタントのYiqun Lisa Yin氏のチー

    すべてはここから始まった〜SHA-1の脆弱化 ― @IT
    amari3
    amari3 2010/03/21
  • データファイル管理の勘所

    データファイルを作成する際は、実際の運用に配慮する必要がある。これから解説する注意点に留意することで、運用時のトラブルを回避することも可能になる。 前回は、Oracleシステムを支える基かつ非常に大事なファイルであるパラメータ/コントロール/REDOログファイルについて説明しました。それぞれOracleを管理するうえで欠かすことのできないシステムファイルです。 今回は、データベースユーザーにとっては一番身近で重要な領域、実際にユーザーのデータが格納されるデータファイルについて説明しましょう。 データファイルとテーブルスペース データファイルは、実際にユーザーのデータが格納される場所です。Oracleの内部では論理的に「テーブルスペース(表領域)」を作成し、その中にテーブルなどを格納することになります。 右の図にあるように、テーブルスペースはOracle内部に「論理的に」作られるため、複数

    データファイル管理の勘所
  • データベースサーバリプレイスの考え方

    全12回の連載も今回で最終回です。手間暇かけて構築したデータベースサーバに必ず訪れる「リプレース」という作業について、移行計画を作成するに当たっての考え方と具体的な検討項目を説明します。【更新版】 避けては通れないデータベースサーバのリプレース データベースサーバの運用は、定期的な製品のバージョンアップと、稼働するハードウェアの見直し(リプレース)が欠かせません。 バージョンアップはソフトウェアとしての機能強化をシステムに取り入れたり、不具合を修正し安定稼働させたりするために行います。リプレースはハードウェアの保守提供期間終了に対応するだけでなく、システム規模の変化にマシンスペックを適合させるためのリサイジング作業としても行われます。いずれも、構築したシステムの安定稼働と成長を支える作業として重要なものです。 特に、稼働するハードウェアを入れ替える「リプレース」という作業は、その後数年間の

    データベースサーバリプレイスの考え方