技術文書一覧

  • spacer 製品、トピックスやコンテンツ・タイプでフィルターをかける

    (0 製品)

    (85 トピック)

    (0 インダストリー)

    (3 種類)

クラウド・プラットフォーム IBM Bluemixで次のアプリを開発しましょう。

 

1 - 152 件のうちの 100 件 | 次へ 概要の表示 | 概要の非表示 検索結果に登録(RSS)

結果の表示
タイトル none 種類 none 日付 down
EnterpriseDB Postgres Advanced Server のための IBM Power Systems ソリューション
この記事では、Linux を稼働する IBM Power Systems サーバー上に EnterpriseDB Postgres Advanced Server データベースをインストールしてチューニングする際の一般的な手順について説明します。IBM Power サーバーには、同様の構成の Intel Xeon プロセッサー・ベース・システム (Broadwell) に比べ、遥かに大きな利点があります。
記事 2017/1/05
ハイブリッド (IBM Power および x86) アーキテクチャーのシナリオでの Mesos と Kubernetes
実際の本番環境では、私たちの顧客がハイブリッド・アーキテクチャーやハイブリッド分散システムなどで構成される複雑なアプリケーション実行環境を使用していることは珍しくありません。また、顧客は統合コンテナー・クラウド・プラットフォームを使用する傾向があり、Mesos のフレームワークとしては常に Kubernetes を使用しています。ハイブリッド・アーキテクチャーで Mesos クラスターに Kubernetes をセットアップするには、この記事を参考にしてください。
記事 2016/12/01
機械学習と、深層学習の基礎知識
この記事では、さまざまなタイプのアナリティクスとの適合性が増してきている機械学習について解説するとともに、深層学習の概要を説明します。機械学習と深層学習を使用する場合の全体的なプロセスと、IBM Power Systems 上で機械学習を導入する際の選択肢を示します。
記事 2016/9/15
Ubuntu 14.04 が動作する IBM SoftLayer OpenPOWER 上に Apache Bigtop v1.1 を導入するためのクイック・スタート・ガイド
この記事では、Ubuntu 14.04 を実行する IBM SoftLayer POWER8 ベアメタル・サーバー上に Apache Hadoop と Spark Bigtop v1.1.0 のバンドルをインストールするプロセスについて概説します。バンドルされたインストール・スクリプトには、初期ベンチマーク・スイートを実行するための Apache Zeppelin ノートブックが含まれています。
記事 2016/8/12
Linux の 101 試験対策: LPIC-1 のロードマップ
このロードマップを利用して、基本的な Linux タスクの習得および復習に役立つ IBM developerWorks のチュートリアルを見つけてください。プロフェッショナルの Linux システム管理者として認定されることを目指しているとしたら、このロードマップで紹介するチュートリアルは、Linux Professional Institute の LPIC-1: Linux Server Professional Certification 101 試験および 102 試験に備えるためにも役立ちます。このロードマップは、101 試験と 102 試験の 43 の項目に従って編成されています。LPIC-1 の認定を取得するには、この 2 つの試験に合格する必要があります。
記事 2016/6/30
Linux の 101 試験対策: ハードウェア設定の構成
コンピューター・ハードウェアを Linux 用にセットアップする方法と、ハードウェアに関する情報を Linux のコマンドとツールで調べる方法を学んでください。このチュートリアルの内容は、Linux システム管理者認定用の LPIC-1 101 試験に備えて勉強するために利用することも、楽しんで学習するために利用することもできます。
記事 2016/2/18
Linux の 101 試験対策: Debian によるパッケージ管理
Linux システムでパッケージをインストール、アップグレード、および管理する方法を学んでください。このチュートリアルで焦点とするパッケージ管理システムは、APT (Advanced Packaging Tool) です。APT は、Debian、そして Debian から派生した Ubuntu などのディストリビューションで使用されています。このチュートリアルの内容は、Linux システム管理者認定用の LPI 101 試験に備えて勉強するために利用することも、新しいソフトウェアを追加してシステムを最新の状態に維持する最善の方法を知るために利用することもできます。
記事 2016/1/07
Linux の 101 試験対策: ブート・マネージャーのインストール
Linux システムのブート・マネージャーを選択する方法、そして選択したブート・マネージャーを構成する方法を学んでください。このチュートリアルの内容は、Linux システム管理者認定用の LPI 101 試験に備えて勉強するために利用することも、楽しんで学習するために利用することもできます。
記事 2015/12/17
Linux の 101 試験対策: 共有ライブラリーの管理
どの共有ライブラリーに Linux の実行可能プログラムが依存しているのかを判断する方法、またそれらのライブラリーをロードする方法を学びましょう。このチュートリアルの内容は、Linux システム管理者認定用の LPI 101 試験に備えて勉強するために利用することも、楽しんで学習するために利用することもできます。
記事 2015/12/17
IBM AIX と Linux on Power の間でのプロセッサー使用率の違い ― 同一条件での比較
この記事では、IBM AIX と Linux on Power との間でプロセッサー使用率を比較するために、ネットワーク・ワークロードを利用して行った事例研究について説明します。また、同じワークロードを実行する場合でも、AIX プラットフォーム上で実行する場合と Linux on Power プラットフォーム上で実行する場合とでは、IBM Power ハードウェア上でレポートされるシステム全体でのプロセッサー使用率が著しく異なる理由についても探ります。
記事 2015/12/17
IBM z Systems の IBM XL C/C++ コンパイラーとインライン・アセンブリーを使用してパフォーマンスを向上させる
IBM XL C/C++ for Linux on z Systems コンパイラーのバージョン 1 が 2015年にリリースされました。Linux on z Systems 向けの IBM コンパイラーでインライン・アセンブリー機能がサポートされたのは、今回が初めてです。インライン・アセンブリーを利用すると、ソフトウェア技術者はアプリケーションの中で最もパフォーマンスに影響する部分をアセンブラーでハンドコーディングすることで、アプリケーションの実行にかかる時間をさらに縮めることができます。この機能は、IBM z Systems のハードウェアの優位性とプログラマーの才能を最大限活かすことで、ハイパフォーマンス・アプリケーションの開発を実現します。この記事は、z Systems のインライン・アセンブリーで使用するアセンブラー命令について紹介することを目的としています。対象とする読者は、IBM XL C/C++ for Linux on z Systems コンパイラーが提供している最適化の範囲を超えて、z Systems 上の高速なアプリケーションの中で最もパフォーマンスに影響するコード部分を微調整したいと思っている上級ソフトウェア技術者です。
記事 2015/10/22
Linux on z Systems 向けインライン・アセンブリーの高度な機能
この記事では、Linux on z Systems 向けの IBM XL コンパイラーでサポートされているインライン・アセンブリーの高度な機能について説明します。対象とする読者は、IBM XL コンパイラーが提供する最適化の範囲を超えて、アプリケーションの中で最もパフォーマンスに影響するコード部分を微調整したいと思っているソフトウェア技術者です。
記事 2015/10/22
Linux on z Systems 向けインライン・アセンブリーの基礎
インライン・アセンブリーを利用すると、ソフトウェア技術者は C/C++ プログラムの中で最もパフォーマンスに影響する部分をアセンブラー・コードでハンドコーディングすることができます。この機能は、IBM z Systems のハードウェアの優位性とプログラマーの才能を最大限活かすことで、ハイパフォーマンス・アプリケーションの開発を実現します。この記事では、Linux on z Systems 向けの IBM XL コンパイラーでサポートされているインライン・アセンブリーの基礎を説明します。
記事 2015/10/22
Linux の 101 試験対策: ハード・ディスクのレイアウト
Linux システムにおけるディスク・パーティションの構成を設計する方法を学んでください。Linux Professional Institute LPIC-1: Linux Server Professional Certification 101 試験に備えるためや、自ら活用するために学ぶ上で、このチュートリアルの内容を活用してください。
記事 2015/10/15
OpenPOWER ABI で関数コールのパフォーマンスを向上させる
この記事では、関数コールのパフォーマンスを向上させるために OpenPOWER ABI (Application Binary Interface: アプリケーション・バイナリー・インターフェース) が導入している機能について説明します。64-bit IBM PowerPC ELF ABI Supplement 1.9 (ELF ABI v1) とは異なり、OpenPOWER ABI では、関数記述子を排除して、呼び出す側が環境を初期化しなくても済むようにしています。また、業界の現在のプラクティスに従って、呼び出される側が TOC ポインターを適切に設定するようにし、デュアル・エントリーを導入することで、要求に応じた設定が確実に行われるようにしています。さらに、レキシカルにネストしている関数コールも trampoline を使用してサポートしています。
記事 2015/9/24
IBM PowerPC プロセッサーを使用した、ライブラリー関数の最適化手法
この記事では、Power アセンブリーにおいてアプリケーションの動作を高速化するためのさまざまな最適化手法について説明します。IBM PowerPC プロセッサー専用のアプリケーションに特定の手法を適用することで、プログラム実行時のパフォーマンスが向上します。この記事で取り上げる手法の一部は、現在、Linux glibc のストリング関数とメモリー関数に適用されていて、その結果、大幅なパフォーマンス向上が実現されています。この記事は、IBM Power Architecture のパフォーマンス向上を目的にアセンブリー・コードを作成している IBM AIX および Linux プログラマーを対象としています。
記事 2015/9/17
Linux on Power 向け Docker
Docker は、コンテナーをデプロイ、実行、管理するためのツールです。この記事では、Linux on Power システム向け Docker バイナリーへのリンクを記載し、そのインストール手順を説明します。
記事 2015/9/17
IBM PowerLinux 対応 IBM Electronic Service Agent による IBM PowerKVM ホストに関する問題報告
この記事では、IBM Electronic Service Agent (ESA) の使用方法と、IBM PowerKVM ホストに関するハードウェアの問題が自動的に報告されるようにするために管理者が行わなければならない構成について説明します。
記事 2015/8/20
PowerVC の OpenStack REST API を探る
IBM Power Virtualization Center Express Edition (PowerVC) は、Power Systems の SDE (Software Defined Environment: ソフトウェアで定義された環境) やクラウド・インフラストラクチャーで容易に仮想リソースを作成して管理できるように設計された、IaaS クラウド・ソリューションです。主に OpenStack をベースとする PowerVC には、OpenStack の業界標準アプリケーション・プログラミング・インターフェースが組み込まれています。OpenStack の各コンポーネントの API と、その API が役立つタスクについて学んでください。
記事 2015/6/25
Linux on Power システム用に C/C++ でクロスコンパイルされたアプリケーションを開発する
この記事では、IBM SDK for Linux on Power によって提供される統合環境で、IBM Advance Toolchain と QEMU ユーザー・モードを使用して、IBM Power サーバー用にクロスコンパイルされたアプリケーションを開発する方法を説明します。IBM SDK for Linux on Power は、無料で利用できる Eclipse ベースの統合開発環境 (IDE) です。この SDK によって、Advance Toolchain、ポストリンク最適化ツール、従来の Linux パフォーマンス分析ツール (OProfile、Perf、Valgrind など) が、C/C++ ソース開発環境に統合されます。
記事 2015/3/26
FUSE を使用して独自のファイルシステムを開発する
FUSE (Filesystem in Userspace) を使用すると、ファイルシステムの内部について理解したり、カーネル・モジュールのプログラミングを学習したりしなくても、ユーザー空間のファイルシステム・フレームワークを開発することができます。この簡単なステップ・バイ・ステップのガイドに従い、FUSE と AFS のインストール、カスタマイズ、および有効化を行うことによって、完全に機能するユーザー独自のファイルシステムを Linux のユーザー空間に作成することができます。
記事 2015/2/19
ブート可能な IBM Power サーバーの ISO イメージの検出
大半の ISO イメージは ISO 9660 の何らかの拡張規格を採用しており、BIOS (Basic Input/Output System) によってイメージをブートできるようになっています。その一方、IBM Power Systems ファームウェアではそのような拡張規格を採用していません。これが何を意味するかと言うと、イメージがブート可能であるかどうかを検出する方法は、コンピューター・アーキテクチャーによって異なるということです。ハイパーバイザー、さらには仮想マシン (VM) マネージャーなどのソフトウェアでは、そのソフトウェアで操作しなければならないイメージの数が多いことから、ブート可能であるかどうかの検出に大量のリソースや時間を費やすことはできません。したがって、試行錯誤でイメージをブートしようとする方法や、ファイル・システムにイメージをマウントしてみるという方法でさえも、選択肢から除外されます。この記事では、ISO データ・ストリームを直接読み込んで IBM Power サーバー・イメージがブート可能かどうかを検出するという方法を、この概念を説明する実際の Python コードと併せて紹介します。
記事 2015/2/05
Intel x86 サーバー上で IBM PowerLinux アプリケーションをビルドする方法
IBM Advanced Toolchain for PowerLinux クロスコンパイラーの真の価値は、開発者が使い慣れた開発プラットフォーム (ほとんどの場合、x86) で IBM Power Architecture 用のアプリケーションをコンパイルしてビルドできることにあります。この記事では、開発者がこの Toolchain クロスコンパイラーを使用して、Power Architecture で実行するためのソース・コードを簡単にビルドする方法を説明します。また、クロスコンパイルされたアプリケーションのパフォーマンスと機能に関する質問と、クロスコンパイルされたアプリケーションを IBM PowerLinux サーバーでネイティブにデバッグできるかどうかという質問にも答えます。
記事 2014/12/25
Linux on x86 から Linux on Power へのアプリケーション移植ガイド
この記事では、わかりやすいステップ・バイ・ステップのプロセスに沿って、Linux C/C++ アプリケーションを x86 プラットフォーム (Intel または AMD) から IBM PowerLinux に移植する方法を説明します。まず、この移植を行うための準備として何が必要かを説明してから、32 ビットまたは 64 ビットの x86 コードを PowerLinux 上で実行する場合の実装のヒントを紹介します。
記事 2014/10/09
なぜ Linux on Power なのか?
Linux ベースのアプリケーションを IBM Power ハードウェア上で実行すると、パフォーマンス、信頼性、セキュリティーが同時に強力な形で実現されます。この記事では、IBM Power Systems によってもたらされる戦略的優位の数々を明らかにします。読者の皆さんは、IBM Power Systems には数々の優位性がありながらも、さまざまなデプロイメントを低コストで実現できることに驚くかもしれません。この記事を読むことで、IBM が Linux でのエクスペリエンスを向上させるために使用しているツールについて学び、Linux on Power に対する IBM の将来的なコミットメントを十分に理解してください。
記事 2014/9/04
Zypper を使用して SUSE Linux Enterprise Server をアップグレードする
この記事では、Zypper を使用して SLES (SUSE Linux Enterprise Server) をアップグレードする方法に加え、リポジトリー構成ファイルを作成して変更するプロセスを説明します。
記事 2014/8/28
IBM InfoSphere Streams 3.2ハンズオン・ラボ: 入門編【ラボ3】
このラボでは、オペレーターを追加することで、これまで構築してきたアプリケーションを強化します。これにより、追跡している各車両別に、5 つの観測ごとの平均速度を計算します。その後、Streams Console を使用し、結果を視覚化します。
記事 2014/5/07
IBM InfoSphere Streams 3.2ハンズオン・ラボ: 入門編【概要】
IBM InfoSphere Streams (「Streams」) により、大容量の変動する情報を継続的かつ非常に迅速に分析できるようになり、ビジネス上の洞察と意思決定を改善できるようになります。また、InfoSphere Streams は、データ・ストリーム内に存在する情報の取り込み、フィルタリング、分析、相関を行う、ユーザーが開発したアプリケーションの実行プラットフォームやサービスともなります。
記事 2014/5/07
IBM InfoSphere Streams 3.2ハンズオン・ラボ: 入門編【ラボ1】
このラボでは、シンプルなシナリオに合わせ、アプリケーションを開発します。ここでのシナリオは、車両のロケーション、速度、およびその他のセンサーに関するデータをファイルから読み取り、特定の車両の観測値を探し、選んだ観測値を別のファイルに書き込むというものです。これは厳密に言うとデータのストリームではありませんが、ファイル I/O が Streams アプリケーションの開発において、なぜ、どのように重要となるのかを考察し、後ほどデータ・ストリームのシミュレーションに、どのように活用できるのかをお見せします。
記事 2014/5/07
IBM InfoSphere Streams 3.2ハンズオン・ラボ: 入門編【ラボ2】
このラボでは、車両データのフィルタリング・アプリケーションの開発をさらに進めていきます。また、データ・フローに対する理解を深め、実行中のアプリケーションをモニタリング・確認する Studio 機能について詳しく学びます。分かりやすくするため、データがなくなる前に何が起こっているのかを見られるようにする 2 つの拡張機能を作成していきます。1 つ目は流れを遅くする機能 (そのままでは、Streams は速過ぎます)、2 つ目は複数のファイルを読めるようにする機能です。これは、開発とデバッグの一般的な設計パターンです。
記事 2014/5/07
IBM InfoSphere Streams 3.2ハンズオン・ラボ: 入門編【ラボ4】
このラボでは、オペレーターを追加することで、これまで構築してきたアプリケーションを強化します。これにより、追跡している各車両別に、5 つの観測ごとの平均速度を計算します。その後、Streams Console を使用し、結果を視覚化します。
記事 2014/5/07
OpenSSL API によるセキュア・プログラミング: 第 1 回 API の概要
OpenSSL はセキュアな通信のための最もよく知られたオープン・ライブラリーですが、その API の使い方を学ぶのは一筋縄では行きません。それは、マニュアルの記述が不十分なためです。その欠落している部分をこの記事の情報で補って、API を使いこなせるようになってください。この記事では、基本的な接続をセットアップした後、OpenSSL の BIO ライブラリーを使用して、セキュアな接続をセットアップする方法、非セキュアな接続をセットアップする方法の両方を解説します。さらに、エラーの検出方法についても簡単に説明します。
記事 2012/12/06
OpenSSL API によるセキュア・プログラミング: 第 2 回 セキュアなハンドシェーク
SSL (Secure Sockets Layer) セッション期間中のハンドシェークをセキュアにすることは、極めて重要です。それは、接続に関するセキュリティーのほぼすべてがハンドシェーク内でセットアップされるためです。侵入者が信頼できる発信元になりすます中間者 (Man In The Middle: MITM) 攻撃からSSL ハンドシェークを守る方法を学んでください。この記事では、デジタル証明書の概念、そして OpenSSL API によるデジタル証明書の処理方法についても説明します。
記事 2012/12/06
System V のセマフォー API を使用して POSIX のセマフォー API を実装する
「POSIX API を使用する必要があるものの、開発プラットフォーム (z/OS など) が POSIX API をサポートしていない」ということはないでしょうか?あきらめることはありません。System V のセマフォー API を使用して POSIX のセマフォー API を実装することで、皆さんが作成したコードをより多くのプラットフォームで使用できるようにし、そのコードを保守できる状態に保つ方法を学びましょう。
記事 2012/11/15
Python、機械学習、そして NLTK ライブラリーについて探る
機械学習は IT、数学、自然言語が組み合わされたものであり、通常はビッグデータ・アプリケーションに使用されます。この記事では Python プログラミング言語と Python の NLTK ライブラリーについて説明し、続いてそれらを機械学習プロジェクトに適用する方法について説明します。
記事 2012/11/08
レジリエントな仮想サーバーを確実に準備する
IBM PureFlex System は便利なことに、ハードウェアが事前に統合されて、管理スタックがプリロードされた状態で提供されます。けれども、PureFlex System でレジリエントな仮想サーバーをホストできるようにするには、あらかじめ、いくつかのステップを手作業で行わなければなりません。この記事では、著者たちがレジリエントな仮想サーバー (この記事では Red Hat の KVM ハイパーバイザーを使用します) をセットアップしてデプロイする方法を説明し、実演します。説明する手順は、IBM PureFlex System のファースト・リリースにフィックスパックを適用したバージョンで有効です。
記事 2012/10/18
Spring Roo 入門: 第 7 回 Spring Roo を使って Spring MongoDB アプリケーションを開発する
MongoDB は、非常によく使われている、水平スケーリング可能なドキュメント指向の NoSQL データストアです。Spring Roo バージョン 1.2 では、MongoDB をデータ・ストレージ・ソリューションとして使用した Spring アプリケーションを構築することができます。この記事では MongoDB について紹介した後、Spring Roo を使ってエンタープライズ Spring MongoDB アプリケーションを構築します。
記事 2012/10/04
Yocto Project を使用して組み込み用のカスタム Linux ディストリビューションを作成する
組み込み Linux 開発を容易に行い、さまざまなアーキテクチャー間で移植できるようにすることを目標に発足したオープンソース・プロジェクトが Yocto Project です。この記事では Yocto Project について紹介し、このプロジェクトを利用する方法について順を追って説明します。
記事 2012/9/27
Ruby での REST (REpresentational State Transfer) を理解する
REST (REpresentational State Transfer) は、クラウドで急速に共通語となりつつある、分散通信用のアーキテクチャーです。REST は単純ながらも、多数のクラウド・リソースと全体的な構成および管理を表すのに十分な表現力を備えています。Ruby を使用して単純な REST エージェントを一から開発する方法を学んで、その実装と使い方を理解してください。
記事 2012/9/13
Windows システム管理者のための Linux: GNOME デスクトップ・ツールを使って Linux を管理する
Linux で作業するということは、コマンドライン・ツールしか使えないということではありません。確かに、経験豊富な Linux 管理者のほとんどは、管理上の利便性と効率性からコマンドライン・ツールを使用していますが、GNOME プロジェクトが提供している優れたツールを使用すれば、グラフィカル・ユーザー・インターフェース (GUI) で Linux サーバーを管理することもできます。これらのツールを使用すると、Microsoft Windows の経験を生かして比較的すんなりと Linux に転向できることがわかるはずです。
記事 2012/7/26
Linux カーネル 3.3 と 3.4 の紹介
2012年 3月、Linux カーネルのバージョン 3.3 がリリースされました (続いて 5 月にバージョン 3.4 がリリースされました)。これらのリリースでは、ちょっとした機能の追加やバグ修正が大量に行われたことに加え、いくつかの重要な変更が行われています。例えば、Google Android プロジェクトがマージされたこと、Open vSwitch がマージされたこと、ネットワーク機能に関する何点かの改善がなされたこと (チーミング・ネットワーク・デバイスなど)、ファイルシステム、メモリー管理、仮想化に関してさまざまな更新が行われたことなどが挙げられます。この記事では、バージョン 3.3 と 3.4 で行われた数多くの重要な変更について探り、バージョン 3.5 で予定されている変更についてもチラッと覗いてみましょう。
記事 2012/7/19
LLVM フレームワークで実用的コンパイラーを作成する: 第 2 回
LLVM コンパイラー・インフラストラクチャーは、どのプログラミング言語を使用するかに関わらず、アプリケーションを最適化する強力な手段です。この全 2 回からなる連載の第 2 回では、LLVM でコードをインストルメント化するために、clang API を使って C/C++ コードのプリプロセスを行う方法を学んでください。
記事 2012/7/19
LLVM フレームワークで実用的なコンパイラーを作成する: 第 1 回
LLVM コンパイラー・インフラストラクチャーは、どのプログラミング言語を使用するかに関わらず、アプリケーションを最適化する強力な手段です。この全 2 回からなる連載の第 1 回では、LLVM の基礎を学びます。LLVM によってカスタム・コンパイラーを簡単に作成する方法を学んでください!
記事 2012/7/05
libvirt と Linux 監査サブシステムを使用して KVM のゲストを追跡する
libvirt は Linux ホスト上の仮想環境を管理するための重要なツールです。監視、コンプライアンス、科学的犯罪捜査、その他の目的のために、libvirt の実行中にホストで発生するイベントの監査証跡が必要になる場合がしばしばあります。この記事では、libvirt によって行われた処理をホスト上の Linux 監査サブシステムを使用して追跡する方法、それらのイベントと他のホストのイベントとを関連付け、libvirt を通じて行われた変更を一貫性のある包括的な方法で表示する方法について説明します。
記事 2012/7/05
セキュアな Linux: 第 1 回 SELinux ― その開発の歴史、アーキテクチャー、そして動作原理
Linux に強制アクセス制御 (MAC: Mandatory Access Control) 機能を提供する強力なモジュールである Security-Enhanced Linux に関して、その開発の歴史における基本的なマイルストーン、アーキテクチャー、動作原理を学んでください。この記事は世界の developerWorks 読者に提供するための記事として、developerWorks ロシアに投稿された記事から特別に選ばれて翻訳されたものです。
記事 2012/6/28
演習: Apache Hadoop でログを処理する
監査からエラー管理までの機能をサポートするログは、あらゆるコンピューター・システムに不可欠です。(クラウド環境における場合のように) ログが膨大な大きさになり、ログのソースが増加している今、ログを効率的に処理するスケーラブルなシステムが必要となっています。この演習では、標準的な Linux システムから Apache Hadoop を使用してログを処理する方法を探ります。
記事 2012/6/28
SLURM を使用してスーパーコンピューターのリソース管理を最適化する
アーキテクチャーを進化させて他よりもさらに高い性能を絞り出していくスーパーコンピューター同士の激しい競争は、見ていて興味をそそられます。スーパーコンピューターに関して興味深い点は、いずれのスーパーコンピューターにしても、ある Linux のバージョンを実行していることです。Linux のオープンソース・ジョブ・スケジューラーである SLURM (Simple Linux Utility for Resource Managemen) を使用すれば、アーキテクチャーから最大限の能力を引き出すために、リソースの割り当ておよび監視を最適化することができます (SLURM は、中国のスーパーコンピューター「Tianhe-IA (天河一号A)」や近日完成予定の IBM Sequoia スーパーコンピューターでも使用されています)。この記事を読んで、SLURM の概要、そして SLURM がクラスター内のワークロードをどのように並列化するかを学んでください。
記事 2012/6/21
ネットワーク・ツー・ネットワーク接続や、ポイント・ツー・ポイント接続で Linux の IPsec を使用して VPN を構成する
この記事では、VPN を設計する場合の原則、VPN を導入するための基本事項、IPsec プロトコルの概念について詳細に説明し、また IPsec の機能の概要、IPsec の実装に必要なメカニズムについて説明します。この記事は世界の developerWorks 読者に提供するための記事として、developerWorks ロシアに投稿された記事から特別に選ばれて翻訳されたものです。
記事 2012/6/14
DD-WRT に関する高度なヒントと手法を活用し、Linux の強力さを無線 LAN ルーターに追加する
DD-WRT は安価な無線 LAN ルーターに Linux ネットワーク・スタックのあらゆる機能を提供することで、コンシューマー向けのルーターを強力なネットワーク装置に変えます。DD-WRT をインストールしてセキュリティーを設定する方法について、また DD-WRT の GUI の背後にある強力で柔軟なコマンドラインについて学びましょう。
記事 2012/6/07
DD-WRT に関する高度なヒントと手法を活用し、Linux の強力さを無線 LAN ルーターに追加する
記事 2012/6/07
gKrypt を使用して瞬時にデータを保護する: 第 2 回
データの暗号化に GPGPU (General-Purpose computation on Graphics Processing Units) を使用する世界初のパッケージである gKrypt エンジンについて理解しましょう。gKrypt エンジンは AES (Advanced Encryption Standard) ベースの 256 ビット・ブロック暗号を使用します。この記事は AES 暗号化と gKrypt エンジンについて説明する全 2 回からなる連載の第 2 回目です。第 1 回では、まず gKrypt を紹介し、続いて AES アルゴリズムの詳細と、AES の並列処理、そして CUDA (Compute Unified Device Architecture) を使用した大規模な GPU アーキテクチャーに AES の処理を割り当てる方法を説明しました。この第 2 回では CUDA 上に AES を実装する方法について説明します。
記事 2012/6/07
Windows システム管理者のための Linux: Linux 上で動作するアプリケーションの実行方法を理解する
アプリケーションを使用することは、Linux サーバーの第一の目的です。新しくインストールしたアプリケーションをデスクトップまたはコマンドラインのどちらから実行するにしても、Microsoft Windows の経験を生かして Linux でアプリケーションを実行する方法を素早く理解するには、この記事が参考になります。
記事 2012/5/31
VNC でマルチユーザー・ログインを可能にする
VNC (Virtual Network Computing: 仮想ネットワーク・コンピューティング) は、コンピューターへのリモート・アクセスを可能にするためによく使われているツールです。通常の VNC 構成はシングルユーザーのワークステーション用に最適化されており、VNC ポートにログインすると、シングルユーザーのデスクトップに直接アクセスするようになっています。けれども、この構成はマルチユーザーのコンピューターには不都合です。幸い、代替手段として、VNC を Linux コンピューターの標準的な XDMCP (X Display Manager Control Protocol) サーバーにリンクさせるという方法を使用することができます。こうすれば、VNC ポートにアクセスすると、ユーザーがユーザー名とパスワードを入力できるようになり、単一の VNC サーバー・インスタンスで複数ユーザーのログインを処理することができます。
記事 2012/5/31
誤解されている 6 つの Ruby の機能の真相を知る
C++ 開発者が Ruby を使って何らかのプロトタイプを短時間で作成しなければならないとします。「つるはし本」として知られる Ruby のリファレンス・ガイドや、Ruby のサイトを調べると、クラス宣言やスレッドのサポート、そして例外処理など、C++ 開発でお馴染みの構成体が目に入ってきます。開発者はこれで Ruby の仕組みは把握できたと思ったところで、Ruby コードでの並行処理は Boost スレッドのように動作しないこと、catch と throw はその見掛けとは違うこと、そして Ruby スクリプトの至るところで self というものが使われていることなどが、次々に発覚してきます。Ruby の世界へようこそ!
記事 2012/5/31
gKrypt を使用して瞬時にデータを保護する: 第 1 回
データの暗号化に GPGPU (General-Purpose computation on Graphics Processing Units) を使用する世界初のパッケージである gKrypt エンジンについて理解しましょう。gKrypt エンジンは情報セキュリティーの重要なツールであり、AES (Advanced Encryption Standard) ベースの 256 ビット・ブロック暗号を使用することで堅牢なセキュリティーを実現しています。この記事は全 2 回からなる連載の第 1 回目として、AES についての詳細、Rijndael アルゴリズムを Linux 用に GPU へポーティングする方法、AES アルゴリズムの並列化、そして NVIDIA ベースの GPU 用 CUDA をサポートする gKrypt エンジンの使用について説明します。
記事 2012/5/24
hostapd を使用した簡単な方法で WiFi に強力な暗号化を実装する
無線 LAN のセキュリティーは単純なものにしましょう。hostapd (Host Access Point デーモン) は企業レベルの規準を満たす確実な WiFi 暗号化を実現しますが、FreeRADIUS を実行することによるオーバーヘッドは一切ありません。この記事では、hostapd についての概要と、hostapd を環境に組み込む方法について説明します。
記事 2012/5/17
PubSubHubbub をハッキングする
PubSubHubbub はパブリッシュ/サブスクライブ・フレームワークに従ってニュース・フィードの更新通知に接続するためのオープンな Web プロトコルです。PubSubHubbub はサーバー間でやり取りされる一連の HTTP として定義され、Atom 拡張機能や RSS 拡張機能に統合されます。名前は奇妙ですが、PubSubHubbub は情報が大量に更新されるアプリケーションを設計する際に非常に簡単に使用することができます。PubSubHubbub 標準について、また PubSubHubbub のオープンソース実装とサポート・ソフトウェアについて学びましょう。
記事 2012/5/10
IBM SmartCloud Enterprise でのソリューションの作成: ベスト・プラクティスとツール
エンタープライズ IT 管理での実際的な問題を解決するために、IBM SmartCloud Enterprise 上でソフトウェア・バンドルおよびイメージを使用および管理する方法と他のツールを使用する方法を説明するこのシリーズでは、モデル、ツール、そして概念の説明から始めます。この記事では、IBM SmartCloud Enterprise におけるソフトウェア・バンドルおよびイメージの管理と、それらのリソース・モデルについて説明し、このリソース・モデルを管理するプラットフォームと他のソフトウェア・パッケージ管理プラットフォームとの比較を行います。さらに、このリソースの使用例と、使用可能なツールについても説明します。以上の内容については、エネルギー節約のためのエネルギー計算アプリケーションを例に説明します。
記事 2012/4/19
オペレーティング・システムでもあり、汎用プラットフォームでもある Linux についての考察
Linux はあらゆるところで使われています。小型のものであればスマートフォンから、インターネットの仮想バックボーン、そして大型のものであれば最強のスーパーコンピューターに至るまで、Linux が使われています。これらのプラットフォームに期待される機能の多様さを考えると、これほどまで広範に使われるようになるのは大変なことです。この記事では、Linux がいかに幅広く使用されており、小型機器や大型機器、そしてその中間のあらゆる機器をどれほどサポートしているかを説明します。
記事 2012/4/12
Linux OS を SmartCloud for Enterprise にインポートする方法
IBM SmartCloud Enterprise 2.0 でイメージ取り込み機能が使えるようになり、Linux システムのイメージをクラウドに取り込めるようになりましたが、作業を効果的に進めるには、正式に提供されている情報に加えて、この記事で紹介されている秘訣が役に立ちます。IBM SmartCloud for Enterprise に CentOS や Ubuntu のいろいろなバージョンを取り込んだ経験に基づき、イメージやメタデータの準備の仕方、必要なツール、作業環境の構築方法、作業上のトラブル対応のための秘訣をご説明します。
記事 2012/4/05
Apache Pig でデータを処理する
Apache Pig は、Hadoop および MapReduce プラットフォームを使用して大規模な半構造化データ・セットに対してクエリーを実行するための手続き型高級言語です。Pig では分散されたデータ・セットに対して SQL のようなクエリーを使用できるようにすることで、Hadoop を簡単に使用できるようになっています。この記事を読んで Pig の背後にある言語を探り、単純な Hadoop クラスターで Pig を使用する方法を学んでください。
記事 2012/3/29
Spark によるデータ分析とパフォーマンス
Spark は Hadoop に代わる興味深いツールであり、インメモリー・データ処理に重点が置かれています。この記事の演習では、Scala、Spark、そして Spark のチューニング可能なパラメーターを使用した場合のマルチスレッドおよびマルチノードでのパフォーマンスを探ります。
記事 2012/3/15
Python で KVM 用のスクリプトを作成する: 第 2 回 KVM を管理するための GUI を libvirt と Python を使用して追加する
KVM (Kernel-based Virtual Machine) を使用した仮想マシンを管理するためのスクリプトを Python で作成する方法をさらに詳しく探り、単純なステータス・ツールと表示ツールを拡張して GUI を追加する方法を学びましょう。
記事 2012/2/16
iptables を使用してファイアウォール機能を稼働させ、セキュリティーを制御する
iptables は Linux の標準的なファイアウォール・アプリケーションです。iptables は構成や管理が容易な一方、ハイエンドのファイアウォール・アプライアンスに期待されるような制御を行える強力さも備えています。この記事では、iptables を使用するにあたっての基本事項と、ファイアウォール・アプライアンスの障害時にファイアウォールの機能を回復する方法、さらにスモール・オフィスで iptables を使用する方法を説明します。
記事 2012/1/27
Python で KVM 用のスクリプトを作成する: 第 1 回 libvirt
この全 2 回からなる連載記事では、KVM (Kernel-based Virtual Machine) を使用した仮想マシンを管理するためのスクリプトを Python で作成する方法について説明します。今回の記事では、libvirt と Python バインディングを使用して単純なステータス・ツールと表示ツールを作成する基本的な方法について説明します。
記事 2012/1/20
Sphinx を活用し、適切に構成されたドキュメントを容易に作成する
保守が容易で、さまざまなフォーマット (HTML など) で自動配布可能な、スタイル駆動のドキュメントを Sphinx ツールを使用して作成しましょう。そして、Sphinx がどのようにして、単調で面倒な作業の部分を抽象化し、一般的な問題を解決するための自動機能を提供するのかを学びましょう。
記事 2012/1/13
音声と xdotool でキーボードとマウスのアクションをトリガーする
xdotool は、プログラマーがキー入力やマウス・アクションをエミュレートする場合に便利な命令ライブラリーです。キーボードやマウスがない場合や、通常の入力方法を使用することが物理的に不可能なユーザーのためのアクセシビリティーに対応する場合、xdotool は特に力を発揮します。この記事の目的は 2 つあります。1 つは Linux デスクトップ環境での xdotool の使い方を紹介すること、そしてもう 1 つは、通常はハードウェア入力によって行われるアクションを音声入力でトリガーすることです。最終的な例では、自動生成されるダイアログ・マネージャー・コードに xdotool 用のコード・フラグメントを挿入し、そのコード・フラグメントを格納するために XML を使用します。
記事 2011/10/14
共有メモリー・ダンプを解析するための Python アプリケーションを作成する
Linux プラットフォーム上にある、コンピューターで読み取り可能な共有メモリー・ダンプを、Python と struct ユーティリティーを使用して解析し、想定されるフォーマットでデータを抽出する方法を学びましょう。この記事ではまず、ダンプ・ファイルのバイナリー・ファイル・フォーマットを読み取って、データのフォーマットを判断する方法について説明します。この操作はデータの解析、抽出、そして分析のために必要です。次に、そのフォーマットに基づいてファイルを解析する方法と、その解析結果と想定フォーマットとを突き合わせて、検証結果を出力する方法について説明します。改訂情報: この記事の「ダウンロード」セクションに、実際に動作する Python アプリケーションとダンプ・ファイルが用意されました。そのまま使用することもできますし、皆さんのニーズに合わせて変更することもできます。また、この記事の中のダンプ・ファイルの名前を、ダウンロードで提供するファイルで使用されている名前に合わせて変更しました (編集者より)。
記事 2011/6/17
pseudo のすべて: 第 2 回 ベールの下で
この連載の第 2 回では、データベースへの呼び出しと戻りをインターセプトしてそのパスを追跡することで、 pseudo の root エミュレーション動作を詳しく説明します。また、皆さん自身のコードで open(2) を置き換えたいと思っている場合には、その方法をこの記事で学ぶこともできます。
記事 2011/6/17
Linux スケジューラーのシミュレーション
スケジューリングは、Linux カーネルの最も複雑で、最も興味深い側面の 1 つです。シングル・コアのマシンにも、クアッド・コアのサーバーにも適切な振る舞いを提供するスケジューラーを開発するのは簡単なことではありません。けれども幸いなことに、Linux スケジューラー・シミュレーターである LinSched は (スケジューラーのプロトタイプを作成するために) ユーザー空間で Linux スケジューラーをホストしながら、任意のハードウェア・ターゲットをモデル化して各種のトポロジーでスケジューラーを検証します。この記事を読んで、LinSched の概要、そして Linux のスケジューラーを試す方法を学んでください。
記事 2011/2/23
System V のセマフォー API を使用して POSIX のセマフォー API を実装する
記事 2010/10/28
Perl を Python にポーティングする
レガシーの Perl を Python へポーティングする作業は、尻込みしたくなるような作業です。この記事では、レガシー・コードを扱う際のセオリーを、やってはならないことを含め、いくつか紹介します。
記事 2010/9/01
Buildbot による継続的インテグレーション
ほとんどの組織では、カウボーイ・コーディングをしていた日々は遠く過ぎ去り、今では高品質のソフトウェアを生成することに新たな関心が持たれています。高品質のソフトウェアを生み出すアジャイル・プログラミング手法を実践する上で、CI (Continuous Integration: 継続的インテグレーション) テストは不可欠な要素です。Python で作成されたオープンソースの CI システムである Buildbot を試しながら、CI テストの理論と実践を学びましょう。
記事 2010/6/02
Linux カーネル共有メモリーの徹底調査
ハイパーバイザーとしての Linux には数々の革新技術が盛り込まれていますが、なかでも 2.6.32 カーネルで特に興味深い変更内容の 1 つとなっているのが、カーネル共有メモリー (KSM: Kernel Shared Memory) です。KSM により、ハイパーバイザーは重複するメモリー・ページを 1 つに統合し、同時に稼働する仮想マシンの数を増やすことができます。この記事を読んで、KSM の背後にある概念 (ストレージの重複排除など)、その実装、そして KSM の管理方法を学んでください。
記事 2010/4/07
カーネル API: 第 1 回、ユーザー空間のアプリケーションをカーネルから呼び出す
Linux システム・コール・インターフェースでは、ユーザー空間のアプリケーションがカーネルの機能を呼び出すことはできますが、カーネルからユーザー空間のアプリケーションを呼び出すことはできるのでしょうか。この記事ではユーザー・モード・ヘルパー API の詳細を探り、カーネルからユーザー空間のアプリケーションを呼び出して、その出力を操作する方法を説明します。
記事 2010/2/16
Linux システム・コールを使用したカーネル・コマンド
Linux システム・コールは私たちが毎日使っているものですが、システム・コールはどのようにしてユーザー空間からカーネスに対して行われるかをご存知ですか。そこで、この記事では Linux システム・コール・インターフェース (SCI) の詳細を説明します。新しいシステム・コールを追加する方法 (そしてその代わりとなる手段)、そして SCI 関連のユーティリティーについて学んでください。[この記事は、カーネル 2.6.18 およびそれ以降に対応するようにコードの内容が変更されています (編集者より)]
記事 2010/2/10
QEMU を使ってクロスプラットフォームの開発を行う
Linux の強みの 1 つはクロスプラットフォームという性質にあります。Linux は、x86、x86-64、SPARC、PowerPC、その他多くの CPU (Central Processing Unit) 上で実行することができます。しかし、このようにハードウェアの選択肢が多いため、ソフトウェア開発者は大きな困難に直面します。すべてのプラットフォームでソフトウェアを適切にコンパイルできるように、そして実行できるように保証することは困難です。QEMU パッケージを利用すると、この負担を軽減することができます。QEMU は広範な種類の CPU をサポートするマシン・エミュレーターです。そのため、PowerPC のソフトウェアを x86 コンピューター上で実行したり、x86-64 ソフトウェアを SPARC コンピューター上で実行したりすることができます。この機能は、ソフトウェアのエンディアンネスに関する整合性のテストや、その他 CPU 特有の機能のチェックをする必要があるプログラマーには特に重宝します。また QEMU を使用すると、さまざまなオペレーティング・システムを完全に実行することができます。そのため、FreeBSD やSolaris、さらには Microsoft Windows の下でプログラムをコンパイルして実行できるかどうかを、Linux を終了せずにテストすることができます。
記事 2010/2/09
RPM を使ってソフトウェアをパッケージ化する: 第 3 回 ソフトウェアの依存関係への対処
この記事では、RPM Package Manager に関する 3 回連載の記事の第 3 回として、ソフトウェアの依存関係の詳細について調べます。また、ソフトウェアのパッケージ化を制御およびカスタマイズする方法について学びます。(この連載記事は Dan Poirier が以前 RPM に関して書いた連載記事を置き換えるものです。)
記事 2010/1/12
libvirt 仮想化ライブラリーの徹底調査
libvirt ライブラリーは Linux の仮想化機能の Linux API です。このライブラリーは Xen や KVM などの多種多様なハイパーバイザーだけでなく、QEMU、そして Linux 以外のオペレーティング・システムを対象とした仮想化製品もサポートします。この記事では libvirt について説明するとともに、その使用方法とアーキテクチャーについても詳しく探ります。
記事 2010/1/05
Subversion ユーザーのための Git: 第 2 回 細かく制御する
ソフトウェアのバージョン管理を行う Linux 開発者にとって、Git は Subversion よりもいくつかの点で優れています。そのため、共同で作業を行う開発者にとって、Git の背景にある基本的な概念は理解する価値があります。今回の記事では、Ted が Git と Subversion の両方におけるブランチとマージについて分析した後、これまでの変更内容を 2 つに分けるための「git bisect」を紹介し、最後にマージの競合を解決する方法を説明します。
記事 2009/11/25
洗練された Perl: ビジネスにとっての最良の友、Flickr
Flickr は単に写真共有とソーシャル・ネットワーキングのためのものではなく、れっきとしたビジネス・ツールです。CPAN の Chart モジュールを使ってチャートやグラフを作成し、また Flickr::Upload モジュールを使ってチャートを Flickr にアップロードする方法を学びましょう。
記事 2009/11/24
Buildbot による継続的インテグレーション
記事 2009/11/04
Linux の 101 試験対策: Linux コマンドライン
GUI も確かに優れてはいるものの、Linux の真の実力を発揮させるのにコマンドラインに代わるものはありません。この記事では、Ian Shields が LPI 認定のための重要な機能を中心に、bash シェルの主要な機能の一部を紹介します。記事を読み終わる頃には、echo や exit などの基本的な Linux コマンドを使いこなせるだけでなく、環境変数の設定やシステム情報の収集も難なく行えるようになっているはずです。[リスト 8 に続く「注:」の最初の 2 つに記載されている ID (PID) を正しい ID に更新しました (編集者より)]
記事 2009/8/31
Subversion ユーザーのための Git: 第 1 回 Git 入門
DVCS (分散バージョン管理システム) には、集中型の VCS に勝るメリットがいくつもあります。そして DVCS モデルを検討しようとしている Subversion ユーザーにとっては、Git が出発点として最適です。2 回からなる連載の第 1 回である今回は、Subversion を基準に、Git のインストール方法、リモート・リポジトリーのセットアップ方法、そして Git の基本的なコマンドの使い方について説明します。
記事 2009/8/04
Linux KVM をベースとした ooRexx ビルド環境を構築する
パフォーマンス改善のために Linux KVM (Kernel Virtual Machine) を利用するようになった ooRexx を使用して、オンデマンド・ソフトウェア・ビルド・サービスを作成してください。KVM は、ユーザーのターゲット・ソフトウェアをビルドするゲスト・オペレーティング・システムに対し、ホストとして機能します。このビルドを管理し、その結果をユーザーが後で取得できるように保存するのは、Apache Web サーバーです。この記事を読んで、ビルド・サーバーをセットアップしてゲストを作成する方法、ビルド・リクエストをカスタマイズする方法、そしてビルド結果を編成し、それにアクセスする方法を学んでください。
記事 2009/7/14
アジャイル・プランニングの実際
皆さんはアジャイル・プランニングの時流に乗ろうとしているチームの一員ですか?反復型開発を行っているというのに、まだ変更を重ねざるを得ない状況ですか?この記事では、IBM 製品チームを支援および教育してきた著者がその経験を生かし、「アジャイル・プランニングによるリリース開発を始めるにはどうすればよいか」という質問の答となるロードマップを紹介します。アジャイル・プランニングの基本を概説し、何が有効で何が有効でないかについての著者の見解を説明します。編集者からの注記: 著者の要望により、図 1 と図 4 を更新した他、いくつかの修正を追加しています。
記事 2009/4/15
GCC 4 について学ぶ
この 2、3 年の間に、GCC (GNU Compiler Collection) は GCC バージョン 3 からバージョン 4 へと大きな変化を遂げました。GCC 4 には新しい最適化フレームワーク (そして新たな中間コード表現)、新しいターゲットおよび言語サポート、そして新しいさまざまな属性とオプションが備わっています。この記事を読んで、GCC 4 の新たな機能とそれぞれの利点について学んでください。
記事 2008/10/28
TASK_KILLABLE: Linux での新しいプロセスの状態
Linux のカーネル 2.6.25 では、プロセスをスリープさせるための TASK_KILLABLE という新しいプロセスの状態が導入されています。TASK_KILLABLE は、効率的ではあっても kill できなくなる恐れのある TASK_UNINTERRUPTIBLE や、頻繁に起こされる代わりに安全な TASK_INTERRUPTIBLE に代わるものです。TASK_KILLABLE は、2002年に提起された問題、つまり OpenAFS ファイルシステム・ドライバーがすべてのシグナルをブロックした後、割り込み可能な状態でイベントを待ち続けるという問題に対応するために作られたものです。この新しいスリープ状態は TASK_UNINTERRUPTIBLE に重大なシグナルに応答できる機能を追加したものです。この記事ではこの領域に焦点を当て、2.6.26 や以前の2.6.18 の例を使いながら、TASK_KILLABLE に関連した Linux カーネルの変更と、こうした変更の結果による新しい API について説明します。
記事 2008/9/30
Java ランタイムの監視: 第 3 回 アプリケーションのエコシステムのパフォーマンスと可用性を監視する
Java アプリケーションのランタイムの監視に関する 3 回連載の最終回では、アプリケーションがサポートしているサービスやアプリケーションの従属サービスのパフォーマンスと可用性を監視するためのストラテジーと手法に目を向けます。この場合の監視対象に含まれるのは、アプリケーション実行のベースとなるホスト・オペレーティング・システム、運用データベース、メッセージング・インフラストラクチャーです。最後に、パフォーマンス・データを管理する上での問題、そしてデータのレポートおよび視覚化について説明して記事を締めくくります。
記事 2008/8/12
Firefox 拡張機能を利用して Google カレンダーに暗号化機能を組み込む
最近の Web アプリケーションは、オンライン・ストレージ、オンライン・アクセス、オンライン・コラボレーションにさまざまなメリットをもたらしています。しかし、一部のアプリケーションは別としても、ユーザー・データを暗号化するアプリケーションはほとんどありません。この記事では、よく使われるオンライン・カレンダー・アプリケーションのユーザー・データに基本的な暗号化サポートを追加するために必要なツールとコードを紹介します。Firefox 拡張機能の非常に優れた柔軟性と Gnu Privacy Guard を利用して、Google のカレンダー・アプリケーションに暗号化された予定に関する記述のみを保存し、適切な復号化キーを持つユーザーには、この記述をプレーン・テキストで表示する方法を説明します。
記事 2008/7/15
リアルタイム Linux アーキテクチャーの徹底調査
Linux は遅いわけでも効率性に欠けるわけでもありませんが、速いだけでは十分でない場合もあります。速さの代わりに必要となるのは、特定の許容範囲内で所定のスケジュールを確実にこなす能力です。この記事を読んで、仮想化ソリューションによく似た初期のアーキテクチャーから標準 2.6 カーネルに現在用意されているオプションに至るまで、多様なリアルタイム Linux の手法とそれぞれがリアルタイムを実現する仕組みを理解してください。
記事 2008/4/15
PlayStation 3 での Linux 開発: 第 3 回 簡単な方法で X11 をスリムにする
ソニーの PlayStation 3 (PS3) は Linux を実行することができます。しかし Linux を適切に実行させるためには少し調整が必要です。シリーズ最終回であるこの第 3 回では、Peter Seebach が、より小さなメモリー範囲に収まるように X11 をスリムにする方法について説明します。
記事 2008/4/08
tput を理解する
UNIX が持つ最も強力な資産の 1 つは、ユーザーにとって便利なようにシェル・スクリプトを作成できることです。シェル・スクリプトは、単純な 1 行のものから数千行に及ぶものまであり、多くの場合にメニュー・ベースのスクリプトへと進化し、スクリプトの作成者は単純にスクロールして表示するテキスト以上のものをユーザーに表示しようとします。また場合によると、単純な 1 行か 2 行の出力しかユーザーに表示されないシェル・スクリプトを作成することで、警告メッセージを強調したいと考えることもあります。
記事 2008/4/01
PlayStation 3 での Linux 開発: 第 2 回 メモリーを有効に利用する
ソニーの PlayStation 3 (PS3) は Linux を実行することができます。しかし Linux を適切に実行させるためには少し調整が必要です。このシリーズの 2 回目である今回は Peter Seebach が、メモリーは一体どこに使われているのかを調べ、そうしたメモリーを有効に利用する方法について説明します。
記事 2008/3/31
PlayStation 3 での Linux 開発: 第 1 回 単なるゲーム機を超える
ソニーの PlayStation 3 (PS3) は Linux を実行することができます。しかし Linux を適切に実行させるためには少し調整が必要です。この記事はシリーズの第 1 回として、Peter Seebach が PS3 Linux の特徴や利点を紹介し、また少し調整するだけでメリットが得られる問題をいくつか説明します。
記事 2008/3/18
Linux のアセンブラー: GAS と NASM を比較する
この記事では、Linux で最も一般的な 2 つのアセンブラーである GAS (GNU Assembler) と NASM (Netwide Assembler) の間での、構文や意味体系の重要な違いについて説明します。比較する項目は、基本的な構文や、変数やメモリー・アクセスの方法、マクロの処理、関数や外部ルーチン、スタックの処理、コード・ブロックを容易に繰り返すための手法などです。
記事 2007/10/17
Python でのメタクラス・プログラミング、第 3 回
プログラミングが技巧的になりすぎると、設計が複雑になり、コードが脆弱になり、学習曲線がなだらかになり、そして何よりも困ったことに、デバッグが困難になります。著者の Michele と David は、彼らが以前に執筆した記事「Python でのメタクラス・プログラミング」が熱狂的に受け入れられたため、その後必要以上に技巧的になってしまったことに責任を感じています。この記事では、プログラマーが技巧的なプログラミングを避けるための支援をすることで、その修正を図ります。
記事 2007/9/25
Linux ネットワーク・スタックの徹底調査
Linux オペレーティング・システムでとりわけ優れた特徴の 1 つとなっているのは、そのネットワーク・スタックです。当初、BSD スタックの派生的なものだったネットワーク・スタックは、今では明確な一連のインターフェースで整然と編成されています。インターフェースには、共通ソケット層インターフェースやデバイス層といったプロトコルに依存しないインターフェースから、それぞれのネットワーク・プロトコルに固有のインターフェースまであります。この記事では、層という観点から Linux ネットワーク・スタックの構造を説明するとともに、そこに含まれる主要な構造をいくつか取り上げます。
記事 2007/6/27
ActiveScaffold を使って Ruby on Rails を機能アップする
Ruby on Rails の ActiveScaffold プラグインを使うことで、時間を節約して、頭痛の種を解消し、もっと管理のしやすいページを作成しましょう。ActiveScaffold はユーザー・インターフェースの CRUD (create, read, update, delete) に必要なことをすべて処理してくれるため、開発者はより多くの時間を、難しい (そして興味深い) 問題に集中して費やせるようになります。
記事 2007/6/08
わかりやすいコードを作成するための 6 つの方法
開発者にとって最も貴重なリソースは時間です。時間の節約、それにフラストレーションの解消を望むなら、管理しやすいコードを作成する方法について、ここで説明する 6 つのヒントを参考にしてください。コメントの作成に費やす 1 分につき、1 時間分の苦しみを取り除けるはずです。
記事 2007/5/29

1 - 152 件のうちの 100 件 | 次へ 概要の表示 | 概要の非表示 検索結果に登録(RSS)