タグ

ブックマーク / codezine.jp (107)

  • Web PIでOSSアプリも簡単インストール

    はじめに 稿では、Microsoft Webプラットフォームインストーラー(Web PI)について紹介します。Web PIの概要やインストール方法、Web PIを使用してオープンソースソフトウェア(OSS)のWebアプリケーションをインストールする方法などを、コンパクトに説明します。 対象読者 Web PIに関心がある方 Web PIを使用して、マイクロソフト製ソフトウェアやツールをインストールすることに関心がある方 Web PIを使用して、OSSアプリケーションをインストールすることに関心がある方 Web PIとは Microsoft Webプラットフォームインストーラー(以降、Web PI)とは、マイクロソフトが無償で提供しているインストーラーのことで、マイクロソフト製のソフトウェアやツール、さらにはASP.NETPHPで書かれたOSSアプリケーションを、Webからその最新版をダウ

    Web PIでOSSアプリも簡単インストール
  • サーバー側コーディング不要のGoogle App Engine開発環境「jsonengine」

    はじめに 稿では、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するツール「jsonengine」について紹介します。 対象読者 Google App Engineに興味はあるが経験のない方。JavaScriptやActionScriptによるクライアント開発、またはiPhoneAndroidによるスマートフォン開発の経験のある方。JavaPythonの開発経験は不要です。 必要な環境 最低動作環境は次のとおりです。 Java SE 5 jsonengineって何? 「jsonengine」は、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するオープンソースのツールです。このツールは、昨年開催された「Mashup Awards 6」において「

  • StateパターンでCSVを読む

    こんなのを読み込んで適当な処理を施して欲しい、と。Excelのシートから各セルの値を拾い出すのはさほどに難しくはないのですが、いかんせん時間がなかったのでいったんはお断りしたところ、「Excelシートを直接読むのが面倒ならCSVからでもかまわん」とのこと。CSVならフツーにテキストファイルを読めばいいから小一時間で作れそう、昼メシ奢ってもらうのを報酬に引き受けることにしました。 CSVのフォーマット CSV(Comma Separated Values)はMS-DOSあるいはその以前からスプレッドシートのデータ・フォーマットとして使われています。CSVの規格/標準としてはRFC4180がありますが、こいつは2005年に作られたものでそれ以前のアプリケーションがRFC4180に準拠していることは期待できるはずもありません。とはいえ、まずはRFC4180に従って作られたCSVなら正しく読めるこ

    StateパターンでCSVを読む
  • 数十億行のコード解析から得たもの 静的解析を利用して実環境でバグを発見

    次から次へとバグが発生するソフトウェアシステムにおいて、Coverityはいかにしてバグ発見ツールを構築し、ビジネスを確立したのだろうか。稿では、米国Communications of the ACMの"A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World"の記事を一部転載して、バグ発見の法則について紹介する(翻訳:コベリティ日支社)。 はじめに 次から次へとバグが発生するソフトウェアシステムにおいて、Coverityはいかにしてバグ発見ツールを構築し、ビジネスを確立したのだろうか。稿では、米国Communications of the ACMの"A Few Billion Lines of Code Later: Using Static Analysis to

    数十億行のコード解析から得たもの 静的解析を利用して実環境でバグを発見
    craf
    craf 2010/10/27
  • .NETでマンデルブロ集合を描く(番外編)

    先日ビデオカードを買いました。GPUAMD Radeon HD5670を積んだマルチディスプレイ対応で、マニュアル開いたままコードが書けて重宝しています。僕は3Dバキバキのゲームやらないし、グラフィクスには疎く絵心皆無なのでグラフィクスを多用したアプリケーションも書きません(DirectXなんか面白そうなんですけどね)。なので普段はせっかくのGPUがアクビしてます。HD5670にはプログラマブルシェーダー、ようは小さなCPUが400基も詰め込まれているらしいのですが、なんともMOTTAINAI。 ヒマを持て余しているようすのGPU仕事をさせようと、OpenCLで遊んでみました。稿ではOpenCL C++ Bindingによるマンデルブロ集合の計算を試みます。 OpenCL GPUの計算性能は当然のことながらグラフィクス計算(そのほとんどがベクトルと行列演算)に使われているのですが、こ

    .NETでマンデルブロ集合を描く(番外編)
  • あなたの仕様書は大丈夫? 日本語文のあいまい度診断ツール『ClearDoc』でドキュメントをチェック

    ウォーターフォール型の開発では、要件定義、設計、プログラミング、テスト、運用といった作業工程が時系列に進んでいく。開発当初に作成される要件定義や基設計のドキュメントは、そのプロジェクトに関わる人たち全員が目にするため、そのドキュメントにあいまいな点や複雑な点などがあれば、後々の行程で問題が発生し、品質と生産性に影響する。この課題を解消するのが、株式会社シーイーシー PROVEQサービス事業部の開発した日語文のあいまい度診断ツール『ClearDoc』だ。 ウォーターフォール型の開発では、要件定義、設計、プログラミング、テスト、運用といった作業工程が時系列に進んでいく。開発当初に作成される要件定義や基設計のドキュメントは、そのプロジェクトに関わる人たち全員が目にするため、そのドキュメントにあいまいな点や複雑な点などがあれば、後々の工程で問題が発生し、品質と生産性に影響する。この課題を解消

    あなたの仕様書は大丈夫? 日本語文のあいまい度診断ツール『ClearDoc』でドキュメントをチェック
    craf
    craf 2010/09/01
    アイデアが面白いなぁ
  • iOSに対応したFileMakerは「第3のiOS開発環境」

    これまで、Mac OS XとWindowsのみに対応していた「FileMaker」ですが、あらたにiPhoneiPad、iPod touch上で稼働するiOS 4向けのバージョン「FileMaker Go」がリリースされました。今回は、このFileMaker Goがもたらすインパクトをみていくことにしましょう。 はじめに これまで、Mac OS XとWindowsのみに対応していた「FileMaker」ですが、あらたにiPhoneiPad、iPod touch上で稼働するiOS 4向けのバージョン「FileMaker Go」がリリースされました。データベースの構築を気軽にできると同時に高度なシステム構築にも対応するFileMakerの実行環境が、ついにiOSまで広がったのです。PC向けのアプリケーションがiOSに対応したということだけでは語り尽くせない意味があります。 今回は、このFi

    iOSに対応したFileMakerは「第3のiOS開発環境」
  • 原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine

    はじめに MSDNライブラリには、マイクロソフトの技術情報が大量に掲載されていますが、英語版に比べ、日語版の内容は中途半端なのが実状です。 たとえば、スレッドの優先順位を設定する「SetThreadPriority」関数の説明を見ると、英語版には「Windows Server 2008およびWindows Vistaでは、スタートアップやレジストリのRUNから自動実行されたプログラムに対するスレッドの優先順位指定が、システム開始から60秒程度効かない」との注意書きがありますが、日語版にはありません。 また、仮想ディスクの情報を設定する「SetVirtualDiskInformation」関数を検索すると、英語版には説明がありますが、日語版には項目自体がありません。 そこで記事では、MSDNライブラリの英語版がスラスラ読めるように、とはいきませんが、英単語で引っかかることが少なくなる

    原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine
    craf
    craf 2010/07/30
  • 「Linux 標準教科書」iPadアプリで無償提供開始 オフラインでの閲覧が可能

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「Linux 標準教科書」iPadアプリで無償提供開始 オフラインでの閲覧が可能
  • 「NVIDIA Parallel Nsight」リリース、Visual Studio上でGPGPU開発が可能に

    米NVIDIAは16日(現地時間)、GPUコンピューティング用の開発支援ツール「NVIDIA Parallel Nsight」(以下、Parallel Nsight)をリリースした。 Parallel Nsightは、並列処理能力が高い画像処理用のGPUを使って、画像処理以外の汎用目的演算(GPGPU)を行うアプリケーションを開発するためのツール。ユーザーの多いMicrosoft Visual Studioの拡張機能として動作し、使い慣れた開発環境上でシームレスにCUDA C/C++やDirectComputeのデバッグが行える。各種の解析ツールも用意されており、GPGPUアプリケーションのパフォーマンスチューニングにも役立つ。 また、グラフィックス・デベロッパーが必要とするさまざまなツールも用意されているため、HPCだけでなくDirectX 11グラフィックスの開発環境としても使用できる

    「NVIDIA Parallel Nsight」リリース、Visual Studio上でGPGPU開発が可能に
  • Linuxのカーネルに潜む脆弱性をつぶすパッチ

    今回はLinuxカーネルのソースコードに注目してセキュリティコードレビューを行いたいと思います。Linuxのカーネルはネタの宝庫!といってもよいほど数多くの脆弱性が発見・修正されており、NIST(米国国立標準技術研究所)のNational Vulnerability Databaseで「Linux kernel」をキーワードに単純に検索するだけでも過去に624件の脆弱性が見つかっていることが分かります(執筆時点)。また、2010年は既に42件の脆弱性が登録されています。 サンプルコード 以下のコードはLinuxカーネル2.6.30のdrivers/net/tun.cから抜粋したものです。それでは、このコードのどこに問題があるか考えてみましょう。 /* Poll */ static unsigned int tun_chr_poll(struct file *file, poll_table

    Linuxのカーネルに潜む脆弱性をつぶすパッチ
    craf
    craf 2010/07/06
  • Visual C++ 2010に追加されたSTLアルゴリズム

    この記事が公開される頃にはVisual Studio 2010のパッケージ販売が始まっているでしょうか。MSDN Subscriptionでは先行提供されていますし、各言語のExpress版が公開されていますから、初物(?)の好きなミナサマは早速遊んでいらっしゃることと思います。 C++屋の僕にとって一番嬉しかったのはVisual C++ 2010(vc10)でC++0xに(完全ではないにせよ)準拠してくれたこと。特にlambda式にはドキドキさせられました。lambda式のサポートにより、より明快でコンパクトな表現が可能になりました。正規表現(regex)や配列(array)、賢いポインタ(shared_ptr/weak_ptr)などなど、サポートが待ち望まれていたクラス群が追加されています。稿ではvc10で新たに追加されたSTLアルゴリズムを一気に紹介します。 以降、プロトタイプと説

    Visual C++ 2010に追加されたSTLアルゴリズム
  • インテルTBB 3.0によるパイプライン処理

    オープンソースのマルチスレッドライブラリ、インテルTBB(Threading Building Blocks、以下TBB)がversion 3.0となりました。Visual C++ 2005(vc8)、2008(vc9)に加え、2010(vc10)にも対応しています。TBBのインストール・ディレクトリを環境変数TBB30_INSTALL_DIRにセットしておけば、インクルード/ライブラリディレクトリの設定はVS2010 IDEのプロジェクト・プロパティでそれぞれ次のようになります。 インクルード: $(TBB30_INSTALL_DIR)\include ライブラリ: $(TBB30_INSTALL_DIR)\lib\ia32\vc10 さらにTBBのDLLが$(TBB30_INSTALL_DIR)\bin\ia32\vc10にありますから、ここにPATHを通すか、DLLをPATHの通った

    インテルTBB 3.0によるパイプライン処理
  • Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する

    はじめに 「Google Apps Script」は、Googleドキュメントのスプレッドシートに搭載されているスクリプト機能です。これは発表当初、Google Appsの有料版(プレミア版)のみで利用可能であったため、「無償版のユーザーは使えない」と思っていた人も多いのではないでしょうが。が、現在では、無料で利用できるGoogleドキュメントでもスクリプトが使えるようになっています。これを利用し、Googleドキュメントのスプレッドシートを操作することができます。いわば、Excelなどの「マクロ」と同じ機能を提供してくれるのです。 最近では、クラウド・アプリケーションとしてオフィスソフトが提供されるようになってきました。Googleの「Googleドキュメント」だけでなく、マイクロソフトが「Microsoft Office Web Apps」を公開するなど、格的にWebへの移行が進めら

    Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する
  • インテルTBBによる選択ソートの高速化(1/3):CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    インテルTBBによる選択ソートの高速化(1/3):CodeZine
  • 処理並列は、必ず処理速度が向上するのか

    はじめに CPUは、コンピューターの頭脳です。単純に考えると、頭脳が2つあれば、1つの時と比べて、同じ時間でたくさんのことを考えることができそうです。10年ほど前、Intel製プロセッサーPentium IIの頃から、1枚のボードに複数のCPUを載せて高速化する試みがなされました。Intel製CPUでは2ユニットまででしたが、SUN Microsystems製のコンピューターでは、もっとたくさんのユニットを載せることができていました。今では、CPU自体に複数の「コア」を載せ、1ユニットで同時に別々のことを実行できるようになっています。 ハードウェアが、同時に複数のことを実行できるようになったため、ソフトウェアもそれに対応する必要が出てきました。記事では、昨今あちらこちらで声高に繰り返される、「並列処理化すれば速くなる」に疑問を持ったため、それを検証することにします。 対象読者 なんといっ

    処理並列は、必ず処理速度が向上するのか
    craf
    craf 2010/03/12
  • SEXYHOOKで始めるテスト とある関数の接合部(1)

    はじめに テストを書いていると、一時的に関数の挙動を書き換えたいときがあります。 time()がハードコードされている関数をデバッグしたい時や、稀にしか失敗しないAPIの失敗をエミュレーションしたい時などです。これらはテストの自動化の妨げになっていました。 拙作のSEXYHOOKを利用すると、一時的に関数の挙動を書き換え、失敗を返すことが可能になります。 稿では、SEXYHOOKの使い方について説明します。 対象読者 C++でソフトの開発を行い、テストを書きたいエンジニア SEXYHOOKはC++で使うことを想定しています。 必要な環境 Windows Microsoft Visual C++ 6/2003/2005/2008 Linux GCC 4.x(推奨) / 3.x 現状では32bitバージョンのみのサポートになります。SEXYHOOKはデバッグビルドのみで利用できます。 SEX

    SEXYHOOKで始めるテスト とある関数の接合部(1)
    craf
    craf 2010/02/23
  • 「Visual Studio 2008を活用したWindows 7対応アプリの作成」~VSUG Day 2009 Winterレポート

    2009年12月5日、セミナーイベント「VSUG Day 2009 Winter」が日工学院蒲田校において開催された。当日はVisual Studioをはじめ、.NET FrameworkやSilverlight、Windows Azureなどを対象としたさまざまなセッションやアカデミーが行われ盛況を博した。ここでは、Microsoft MVP for Visual Basic/Oracle ACEの初音玲氏によるセッション「Visual Studio 2008を活用したWindows 7対応アプリの作成」の内容を紹介する。 初音氏のセッションでは、「Visual Studio 2008」を使って「Windows 7ユーザーエクスペリエンスガイドライン」で規定されているユーザーインターフェースがどれくらい実現できるかを検証した。冒頭で「Windows 7の前に、Windows Vista

    「Visual Studio 2008を活用したWindows 7対応アプリの作成」~VSUG Day 2009 Winterレポート
  • ファイルディスクリプタについて(1) ~ファイルディスクリプタの概要

    ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第1回では、ファイルディスクリプタの概要を紹介します。 はじめに ファイルディスクリプタ(Windowsではファイルハンドル)は、プロセスや実行ファイルにとって外部の資源にアクセスしたりアクセスされたりする際に使用される抽象的なインターフェースです。 今日のプログラムは必ずと言っていいほど外部とのインターフェースを持っていますが、新しいディスクリプタや効率的な使い方がそれほど明確ではなかったりします。 当連載では、ファイルディスクリプタに関する調査・試行錯誤した結果、新しいディスクリプタを使用した感想や効率的な管理方法など

    ファイルディスクリプタについて(1) ~ファイルディスクリプタの概要
    craf
    craf 2010/01/29
  • PowerShell 2.0の新機能(3) ――バックグラウンドジョブ編

    はじめに PowerShell 1.0では、バックグラウンドでのジョブ実行ができなかったため、1つのコマンドが完了するまで次のコマンドの実行をすることができませんでした。PowerShell 2.0からは簡単にバックグラウンドでジョブを実行する機能が搭載されています。今回は、このバックグラウンドジョブに焦点を当てて解説します。 対象読者 PowerShellの基的な操作ができる方。 PowerShellについて学びたい方は、PowerShell入門の連載を参照ください。 必要条件 バックグラウンドジョブを実行するにはPowerShellがリモート処理用に構成されている必要があります。リモート処理用に構成する方法については前回の記事で解説していますので、そちらを参照してください。 ローカルコンピューターでバックグラウンドジョブを実行する方法 ローカルコンピューターでバックグラウンドジョブを

    PowerShell 2.0の新機能(3) ――バックグラウンドジョブ編