タグ

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

  • 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)

    第2回 C++アプリケーションの効率的なテスト手法(CppUnit編):連載 C++開発者のための単体テスト入門(2/4 ページ) ■CppUnitテスト環境の構築 では、CppUnitを使った単体テストの方法を、順を追って説明します。簡単なカウンタ・クラス(=カウントを数える機能を持つクラス)をテスト対象としましょう。 さっそくVS 2005でソリューション「CounterSolution」を作成し、その中にテスト対象となる(「Win32」の)スタティック・ライブラリのプロジェクト「Counter」を用意します(※プロジェクトの作成方法については、前回の記事などを参照してください)。 そしてもう1つ、Counterプロジェクトをテストする「Win32 コンソール アプリケーション」のプロジェクトとして、「CounterTest」をCounterSolutionソリューションに追加します(

    第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
    pneumaster
    pneumaster 2011/03/08
    cppunit / C++用テストライブラリ / テストフレームワーク / TestFixture
  • なぜ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

  • Rubyを最大63%高速化した中学生は超多忙!

    金井仁弘(HN:CanI)氏                    撮影:平沼久奈 ハンドルネームCanIの由来は、「“Can I”→キャナイ→カナイ」。C#、Visual Studio、Microsoft .NETとマイクロソフト製品が大好きな「.NETer」と自称する 筑波大学付属駒場中学校は、東京都内にある中高一貫の国立校だ。入学試験の偏差値と東京大学への進学率の高さから“東の筑駒、西の灘”と称される進学校である。強いのは受験だけではない。国際情報オリンピックや国際数学オリンピックでは、同校の生徒が毎年のように金・銀メダルを制するなど才能あふれる理数系人材が多数在籍している。 金井氏はこの夏の「セキュリティ&プログラミングキャンプ2009」(2009年8月12~16日)に参加し頭角を現した中学生プログラマである。 今年に入って、Ruby 1.9のフィボナッチ数列による演算(多倍長加算

    Rubyを最大63%高速化した中学生は超多忙!
    pneumaster
    pneumaster 2009/10/28
  • プレビュー公開が始まったGoogle Wave「超」入門(1/4)-@IT

    株式会社鳥人間 郷田まり子 2009/10/1 ついにプレビュー公開が始まった、リアルタイム&(ポーリングによる)擬似プッシュ型のコミュニケーションとコラボレーションのプラットフォーム「Google Wave」の特集です。その概要と「Gadget」「Embed」「Robot」という3つの拡張APIを使ったWaveの作り方を徹底解説します ついにプレビュー公開が始まった「Google Wave」とは 9月30日に、Google Apps アカウント所持者を対象にしたプレビュー公開が始まったGoogle Wave(以下、Wave)は、グーグルが世界に提案した、1つのコミュニケーション&コラボレーションプラットフォームです。 Waveを拡張することで、従来では実装が面倒であったプッシュ型の通信による複数ユーザー間での情報の同期を行うようなWebアプリケーションを開発できます。Waveについての詳

    pneumaster
    pneumaster 2009/10/02
  • 第2回 XP/Vista→Windows 7 完全移行マニュアル

    Windows 7のリリースに伴い、これまで使用していたWindows XPからWindows 7への移行を検討しているユーザーは少なくないだろう。ところが、すでにWindows XPを長く使用している場合、ハードウェアが陳腐化・老朽化しており、ハードウェアごと代替するケースが少なくないと思われる。残念ながら、後述するように、Windows XPからWindows 7への上書きアップグレードはサポートされていない。 こうした事情により、Windows XPからWindows 7への移行に際しては、別のコンピュータ、あるいは一度ハードディスクをフォーマットしてからOSの入れ替えを行う必要がある。そして、文書ファイルや設定情報などといったユーザー環境の移行作業も必須となる。 ところがWindows OSのバージョンが変わる場合には、Windows XP同士のように「単に同じフォルダにコピーすれ

    第2回 XP/Vista→Windows 7 完全移行マニュアル
    pneumaster
    pneumaster 2009/09/29
    XPからWindows7への移行の方法
  • プログラマでメシを食うなら得意分野を持て - @IT

    小俣光之のコーディング天国 プログラマでメシをうなら 得意分野を持て 小俣 光之 日シー・エー・ディー株式会社 代表取締役社長 兼 IT事業部長 2009/9/11 私は1989年に社会人になりましたので、プロのプログラマ歴20年ということになります。その前にアルバイトで3年間プログラミングをしていましたので、合わせて23年間、プログラミングでメシをってきたわけですが、それを支えてきたのは得意分野です。 得意になるから好きになるのか、好きだから得意になるのかは難しいところです。いずれにしても得意分野で活躍できるのは気分も良く、結果も良いものです。 学生時代から、基的には誰からも教わることなくプログラミングを得意分野にしてきた過程を紹介することで、こんなレベルの取り組みでも得意分野を育てられるのだということ、得意分野にこだわることにより、より良い仕事を経験できて成長できる例もあると参

    pneumaster
    pneumaster 2009/09/14
    技術に詳しいのに、コミュニケーションもきちんとできる人/得意分野で尖っている人ほど、それ以外の情報も集まるものです。
  • 無償XenServer 2台で本格運用環境を作る

    無償XenServer 2台で格運用環境を作る:超簡単! XenServerを試してみよう(2)(1/3 ページ) シトリックスの無償サーバ仮想化ソフトウェア「XenServer」を使って、2台のサーバ間で仮想マシンを止めずに動かせる「XenMotion」というライブマイグレーション機能を体験してみよう 前回は、XenServerの無償化に合わせ、XenServerの基的なインストール方法を紹介しました。当時はXenServer 5.0でしたが、現在はXenServer 5.5にマイナーバージョンアップしています。ですが、インストールの方法はまったくといっていいほど変わっていません。 今回は、この基的なインストール方法を踏まえて、サーバ2台に1台の共有ストレージを用い、XenServerのライブマイグレーション機能「XenMotion」を用いて、無停止で仮想マシンをサーバ間移動できる

    無償XenServer 2台で本格運用環境を作る
    pneumaster
    pneumaster 2009/08/31
    OpenfilerはiSCSI、CIFS、NFS v3、FTP、HTTPなど、さまざまなストレージ接続プロトコルに対応したオープンソースのストレージ構築ソフトウェア
  • 一般公開されたmixiアプリ、その作り方は?

    mixiアプリを使ってもらうための「カテゴリ申請」とは アプリの設定変更画面に「ステータス」という欄が増え、アプリ作成時は「開発中」というステータスが表示されるようになりました。そして、その横に「カテゴリ掲載申請を行う」ボタンがあります。 このボタンをクリックすると、そのアプリのカテゴリ掲載申請が行われ、mixi運営事務局に審査されます。無事受理されると、アプリはやっと一般ユーザーの検索対象になります。 カテゴリ掲載申請を行うためには、次の条件を満たす必要があります。 「mixi Platform 利用規約」に準拠している 「mixiアプリ ガイドライン」に準拠している アプリ利用中のmixiユーザー(以下「アプリ利用者」とする)が10人以上いる アプリのロゴ、アイコン、スクリーンショットと説明文がプロフィールページに掲載されている mixiが提供していると誤解を与えかねない文章をアプリ名

    一般公開されたmixiアプリ、その作り方は?
  • @IT:TOMOYO Linux カーネルマージまでの道のり(1/2)

    そもそもTOMOYO Linuxとは何か そもそもTOMOYO Linuxとはいかなるものなのか。「たまに勘違いする人がいるのですが、TOMOYO Linuxはディストリビューションではありません。Linuxセキュリティを強化するための拡張の一種です」(原田氏) Linuxも含めた汎用的なOSでは、root権限さえ持っていれば、たとえアクセス制御を設定していてもそれを無視してあらゆるファイルにアクセスし、上書きや削除といった操作を行えてしまう。また、プロセスが乗っ取られてしまうと、システム全体に大きな被害が及ぶ可能性がある。 これに対し、たとえroot権限を持っていたとしてもアクセスに制限を加える「強制アクセス制御(MAC:Mandatory Access Control)」と呼ばれる機構を備えることで、セキュリティを強化する仕組みが登場してきた。いわゆる「セキュアOS」だ。セキュアOS

  • 「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演 - @IT

    2009/04/10 ソフトウェアは工業製品ではない――。Rubyの生みの親としてしられるまつもとゆきひろ氏は2009年4月9日、InfoQ主催のイベント「QCon Tokyo 2009」の基調講演で、ソフトウェアと何であり、何でないのか、それはどういう性質のものであるのかを雄弁に語った。 コードとは設計である 「ビューティフルコード」と題した基調講演を行ったまつもと氏は、2007年に共著者の1人として出版した同名の書籍に書いたエッセイに込めた思いを、次のように語る。 「世界に冠たる日の製造業のノウハウを適用することで生産性を上げることができるに違いないという発想がありますが、ソフトウェアは工業製品ではない。そうした誤解を正していきたい」。 ソフトウェア産業界では、よくエンジニアが何十万人足りないということが言われる。しかし、まつもと氏は、これは工業生産と同じ方法論を当てはめることから来

    pneumaster
    pneumaster 2009/04/13
    ソフトウェアは工業製品ではない/コードとは設計である/PGは芸術家ではない/しかし製品は作品であり美をもつ
  • 起動時のコンソールのキー配列を変更するには

    Linuxが起動したときのコンソールのキー配列を変更する方法は、ディストリビューションによって異なる。Red Hat LinuxおよびVine Linuxの場合は、kbdconfigコマンドを使用する(root権限が必要)。オプションなしでkbdconfigコマンドを実行すると、以下の画面が表示される。 kbdconfigの画面。setupコマンドを実行して、メニューの一覧から[キーボード設定](または[Keyboard configuration])を選択してもこの画面が表示される 変更したいキー配列を選択して[Enter]キーを押すと、そのキー配列に変更される。 Turbolinuxの場合は、kbdconfigのようなツールが用意されていないので設定ファイルの/etc/sysconfig/keyboardを書き換える必要がある。rootでログインし、エディタで/etc/sysconfi

  • sambaマウント

    アイ・オー・データ機器やバッファローなどから、ネットワークストレージ(LANで接続するハードディスク)が発売されている。これらはWindowsMacintoshから利用することを想定しており、Webブラウザで設定する仕組みになっている。外見上はイーサネットポートを装備した外付けハードディスクだが、組み込み用のLinuxを搭載しており、Windowsとの接続にはSambaを使っている(編注)。このタイプのネットワークストレージであれば、LinuxからでもSMBプロトコルで接続すれば利用できる。 編注:市場に存在するすべての製品がそうであるとは限らない。ここでは、組み込みLinux+Sambaを利用しているネットワークストレージを前提とする。 SMBプロトコルで接続するには、いくつかの方法がある。SambaでほかのLinuxにアクセスするにはで説明したsmbclientコマンドを使用する方法

    pneumaster
    pneumaster 2007/11/04
    samba共有されているリモートLinuxディレクトリをローカルにマウントする
  • Fedora Core 6でカーネルをリプレイスするには ― @IT

    2006年10月24日にリリースされたFedora Core 6(FC6)のインストーラ(anaconda)には、i686のシステムにi586のカーネルをインストールしてしまうバグが存在する(原稿執筆時点では、修正版はリリースされていない)。そのため、カーネルの入れ替えが必要になる場合がある。ここでは、i586のカーネルを削除して、カーネルをi686にリプレイスする方法を紹介する。 まず、使用しているPCCPUアーキテクチャとインストールされているカーネルのアーキテクチャを調べる。 $ uname -m ←CPUアーキテクチャを確認 i686 $ yum list kernel ←インストールされているカーネルを確認 (省略) Installed Packages kernel.i586               2.6.18-1.2798.fc6      installed Ava

    pneumaster
    pneumaster 2007/09/13
    about kernel-PAE, replace kernel
  • 「初級シスアド」消える――情報処理技術者試験が大改革へ ― @IT

    2007/09/07 情報処理推進機構(IPA)は9月7日、情報処理技術者試験を改革する中間報告を発表した。同日からパブリックコメントを受け付けて、最終報告を11月にまとめる予定。人気の「初級システムアドミニストレータ試験」が別試験に吸収されるなど、大変革といえそうだ。 改革の柱は2つだ。現行試験は情報システムの開発側と利用側にカテゴリが分かれているが、この区別を取り払い、開発側と利用側で試験を共通化する。IPAの情報処理技術者試験センター長の澁谷隆氏は「ベンダ側と利用側が同じレベルになってきちんと会話できないと、有効なシステムは作れない」と改革の狙いを説明する。もう1つはこれまでになかったレベル分けの導入だ。ITスキル標準や組み込みスキル標準、情報システムユーザースキル標準との整合化を図り、これらのフレームワークで導入されているレベル分けを情報処理技術者試験にも適用した。 新試験では、新

  • @IT:MBR(マスターブートレコード)をバックアップするには

    MBR(マスターブートレコード)には、ブートセクタを呼び出すマスターブートコードやパーティションテーブルなど、重要なプログラム/データが記録されている。特に複数のOSを共存させる場合はMBRを書き換える機会が増えるが、設定が不適切だったりすると既存のOSが起動できなくなってしまうこともある。また、何らかのトラブルでMBRが破損すると、ハードディスクからOSを起動することができなくなってしまう。 MBRにDOS/Windows系のプログラムを使用している場合は、例えばDOSもしくはWindows 95/98/Meのfdiskコマンドを使って、 とすればMBRを復活させることができる。 しかし、LILOやGRUBを使っている場合、この方法ではLILOやGRUBはDOS/Windows系のMBRで上書きされてしまう。そこで、あらかじめバックアップしておこう。 MBRをバックアップするには、ddコ

  • 虫眼鏡のアイコンは『検索』か『拡大』か? ― @IT

    ユーザビリティのヒント(3) 虫眼鏡のアイコンは『検索』か『拡大』か? 「インタラクションデザイン」 ソシオメディア 上野 学 2006/9/13 「消去」と「削除」、「ショッピングカート」と「買い物かご」、「ホーム」と「トップ」、ユーザーにしっくりくるのはどちらか。白黒付け難いナビゲーションの概念を考えよう GUIの特徴は、当然のことながら、ユーザーインターフェイスをグラフィックで表現することです。その際、「ユーザーが選びやすいフォームのカタチを考えよう」でも書いたとおり、GUIではウィンドウやメニューなどと並んで、アイコンを使ってオブジェクトや機能を画面上に配置してユーザーに提示することがよくあります。 アイコンは、メタファーを使った端的なグラフィックを用いて、抽象的な概念を感覚的に伝えると同時に、画面上での操作可能領域を明示するのに役立ちます。しかし、グラフィックだけでその意味を完全

  • いま見ておくべきマッシュアップの最先端事例 ― @IT

    2007/03/22 マッシュアップといえば「Googleの地図が横に表示されるWebページのこと」を指すと思っている人はいないだろうか。マッシュアップという言葉は一時期ほど注目を集めなくなっているのかもしれないが、それはおそらく過小評価だ。3月21日に受賞式が行われたマッシュアップコンテストの受賞作を見ていると、マッシュアップという言葉が単なるバズワードなどではないことを改めて認識させられる。 リクルート、サン・マイクロシステムズをはじめ19の企業・団体が提供するサービスを使った開発コンテスト、「Mash up Award 2nd」は、その名称の通り、今回で2度目。応募作品数は前回の56作品に比べて108作品と倍増しており、裾野の広がりを感じさせる。応募作品は多様化しており、地図を使ったサービスの割合が下がり、独自のアイデアや斬新なインターフェイスを使ったものが増えている。 主催者の発表

  • 連載記事 「Linux Kernel Watch」 - @IT

    Facebookの悩みとPostgreSQLの憂 連載:Linux Kernel Watch 久しぶりのLinux Kernel Watchでは、3月に行われた「Linux Storage Filesystem/MM Summit 2014」の主なトピックを紹介します

  • 第6回 配列ってこんなに便利だったの!? ― @IT

    もうすでに2月になってしまったが、2007年の最初の記事なので、今回は基的なところに少し立ち戻ってみようと思う。あらためて基を確認してみると、それまでずっと誤解していたままになっていたことや、知らないうちに追加されていた便利な機能があることに、意外に気付くものだ。ちょっとした発見に感動を覚えることすらある。 そんなわけで、今回のテーマの「配列」となるわけだが、1964年にBASIC言語が誕生して以来、40年以上の長きにわたって使われてきた機能に、いまさら見るべきところがあるのか、と思われる方もおられるかもしれない。……などと、歴史を持ち出すのは大げさだが、それは抜きにしても「配列は配列でしょ、かっこの中にインデックス書けばいいだけじゃん」とか「繰り返しの中でインデックスを動かして、配列の要素を処理すればいいんでしょ」と軽くスルーされてしまうかもしれない。 ところが、Visual Bas

    pneumaster
    pneumaster 2007/02/05
    重複しない配列
  • @IT:Linuxで無線LANを使うには

    Fedora Core 4(FC4)に標準添付されているドライバで、無線LANを使用する手順を紹介する。使用するハードウェアは、Intel PRO/Wireless 2100という802.11bの無線LANアダプタを搭載したノートPCだ。 FC4を「ワークステーション」インストールすると、Intel PRO/Wireless 2100のドライバ(ipw2100)もインストールされる。 $ ls -l /lib/modules/2.6.12-1.1390_FC4/kernel/drivers/net/wireless/ipw2100 合計 112 -rwxr--r--  1 root root 104688  7月  6 09:57 ipw2100.ko インストールされていなくても、Intel PRO/Wireless 2100ドライバのWebサイト(http://ipw2100.sour

  • 1