GPT(GUID Partition Table) に関するメモ

2TB以上のディスクを扱うこととなり、ようやく GPT を使い始めた。調べた事をメモしておく。 GPTとMBRの概観 GPT の特徴は主に次の4点だと認識した。 扱えるディスクの容量は、MBR が 2TB であるのに対して GPT は 8ZB と大きく拡張される。 GPT では標準で …

udevを使用したディスクの固定化

「VMware におけるSCSIコントローラの認識順序」において、SCSI接続のディスクについてはudevを使用してもsdaやsdbに特定のディスクを強制的に結びつけることができない、としていたが実はできてしまった。ただし、運用上混乱を招く可能性があるためお勧めで…

PowerShellでホットキー経由でWinShotを再起動する

WinShotの設定(ファイル名や保存先)をこまめに切り替える作業が面倒になったので自動化できないものか考えた。 環境設定ダイアログで設定を変えるのを自動化するのは難しいと思ったので、WinShot停止→設定ファイル編集→WinShot起動としてみたい。WinShotの停…

VMware におけるSCSIコントローラの認識順序(最終まとめ)

「VMware におけるSCSIコントローラの認識順序」ではSCSIコントローラやネットワークアダプタのOSによる認識順とvmxファイル上のpciSlotNumberの関係を確認した。「VMware におけるSCSIコントローラの認識順序(追加検証)」ではpciSlotNumberの割り当てルール…

VMware におけるSCSIコントローラの認識順序(追加検証)

前の記事「VMware におけるSCSIコントローラの認識順序」を書いているなかででてきた以下の疑問について追加検証する。 SCSIコントローラ0は必ず pciSlotNumber = "160" となるのか? pciSlotNumber の割り当て順序にルールがあるのではないか? 検証に使用…

VMware におけるSCSIコントローラの認識順序

VMwareのSCSIコントローラはその名前の順番通りにはOSに認識される保証が無い、というちょっとしたショックから調べてみたこと。 なお、検証に使用した環境は VMware ESXi 5.0.0 と CentOS 6.4 x86_64 である。 関連記事 VMware におけるSCSIコントローラの…

専任の「技術主任」の大切さ

リーダー、マネージャー、アーキテクトはそれぞれ異なる役割・特性を持っている。 それを考慮せず、職制上の上司を「マネージャー兼アーキテクト」にしたことが直近のプロジェクトのデスマーチ化の原因の一つのように思われる。デスマーチ化後に読んだ「Ship…

ウォータフォール開発における前工程修正作業

ウォーターフォールでの開発は基本一方通行だ。「前工程から直さなければダメだ」となった場合には特殊な対応が必要になる。 少なくともそんな心のバリアがある。どのぐらい特殊かというと、映画「The CORE」(地底深く地球のコアまで掘り進み、核爆弾の爆発…

レビュー前後のスタンス変化

レビューであったりテストであったり、ある決まった時点を過ぎたら「変更」に対するスタンスは大きく変わる。 グリーンに乗った後なのにドライバーを振り回したり、グリーンまでまだまだあるのにパターでちょこちょこ打ち始めたりする。 そうやって想像して…

ドキュメントに対しても継続的なインテグレーションの考えを

どうしてこんな非効率的な働き方を我々はしているのだろうか。 WordやExcelのドキュメントを大量に作成し、納品用に体裁を整える。ルールに沿って作成していたものさえ、「文書番号をつけて」という突然の指示で何百ものファイルが一気に変更対象になる。何…

少数精鋭による中央突破とアーキテクチャへのストレステスト

仕事上の成果物を作成するとき、いくつか似たものを作る場合がある。 複数のミドルウェアの設計・構築であったり、いくつかのサブシステム・サーバの構築であったり。数が多いからといっていきなり作業者を多く投入すれば良いほど、ITのプロジェクトは単純で…

これが面白いコンピュータの世界

【メモ】アルゴリズム マージソート (一番好きかも) バイナリサーチ (一番好きかも) 深さ優先探索 幅優先探索 最短経路 ハッシュデータ構造 配列 リスト ツリー(バイナリ、B) ハッシュマップ スタック キューCPU 命令、データ 微細化 (光速すら遅い) レジス…

mod_owa を使ってみる

mod_plsqlと(ほぼ)互換性があるPL/SQLゲートウェイにmod_owa(Apache PL/SQL Gateway Module)がある。mod_plsqlはOracleのアプリケーションサーバに同梱されているが、どうやらOracle版のApacheでしか動作してくれない。つまり、mod_plsqlのモジュールを他のA…

ビッグバンテストを避ける

ビッグバンテストは大規模ウォーターフォール開発の最後の段階でやってくる。 分かれて開発していた複数企業・チームそれぞれの開発結果が、お互いの思っていた通りであればよいのだが、実際にはそんなことはない。チーム間の谷間に落ち込んだ検討項目も少な…

DBMS_SCHEDULERを使用したOSコマンドの実行と終了ステータスの関係

Oracle DatabaseからOSコマンドを実行するには、DBMS_SCHEDULERパッケージを使用する。しかしこのDBMS_SCHEDULERパッケージを通してOSコマンドを実行した場合にシェルから実行した時と同じ終了ステータスを得る方法が(調べた限りでは)存在しない。 USER_SCHE…

Linuxにおけるコマンドの終了ステータス範囲

とってもいまさらだが、8ビットを超える範囲の終了ステータスは使えない。 符号なしの8ビット範囲 (0-255) に限られる。 8ビットを超える範囲を返しても9ビット目以降は無視される。 符号なし表現なので -1 = 255 になる。 検証 環境 Oracle Enterprise Linu…

mod_plsqlで任意の数のパラメータを受け取るページを作る方法

プロシージャ定義 通常のページと同じように、プロシージャを定義する。ただし、引数は ( name_array IN OWA.vc_arr, value_array IN OWA.vc_arr ) とする必要がある。 プロシージャ名や型には自由度があるが、引数名は name_array と value_array でなけれ…

OWA_COOKIEパッケージによるクッキー出力の怪

mod_plsqlを使用したWebアプリケーションでクッキーを出力する場合、OWA_COOKIEパッケージのSENDプロシージャを使用する。このSENDプロシージャ、以下の引数をとる。 OWA_COOKIE.SEND( name in varchar2, value in varchar2, expires in date DEFAULT NULL, …

こんなシステムがいいな!という願い

システムに対して「こうあって"欲しい!"」という願いをかなえることがシステム開発の面白さだったり喜びだったりするのではないのかな。少なくともSIerが「受注」するスタイルにおいてはそうだろう。 その願いをプロジェクト参画者は知るべきだし、「ああ!…

セッションIDを生成する準備

mod_plsqlを利用したWebアプリケーションではセッション管理について支援が無い。Cookieとデータベースを使用してセッション管理機能を自作しなければならない。(セッション管理機能はいろいろセキュリティ上の問題を作り込むポイントらしいので、PL/SQLでWe…

mod_plsqlを使用したWebアプリケーションにおけるファイルアップロード

mod_plsqlにおけるアップロードの処理概要 mod_plsqlを使った環境におけるファイルアップロードでは、dads.confの「PlsqlDocumentTablename」ディレクティブに指定した表(形式が決められている)にアップロードされたファイルの内容がBLOBとして格納される。F…

SQLの実行結果をXML化した後にHTML化して出力する

SQLの実行結果をXMLで出力する方法を身につけたので、それをXSLTを使用してHTML化する。 検証環境 Oracle Enterprise Linux 6.2 (x86_64) Oracle Database 11gR2 データベースキャラクタセット AL32UTF8 XSLTのデータベース内への取込み Oracle Database上で…

SQLの実行結果をXML化して出力する

検証環境 Oracle Enterprise Linux 6.2 (x86_64) Oracle Database 11gR2 データベースキャラクタセット AL32UTF8 出力対象表サンプル CREATE TABLE PRODUCT ( id NUMBER, name VARCHAR2(100), price NUMBER ); INSERT INTO PRODUCT VALUES(1, 'Catalyst 2940…

ファイルをBLOBとしてテーブルに読み込む

画像ファイルをBLOBとしてデータベース内に格納する。 それをmod_plsqlを使用したWebアプリケーションでブラウザに表示する。 検証環境 Oracle Enterprise Linux 6.2 (x86_64) Oracle Database 11gR2 データベースキャラクタセット AL32UTF8 画像ファイルの…

デスマーチ八景

とりあえず八景ぐらいは達成できると思ってスタートする。書くことによるストレス発散のために。だから毒気は強めだ。 稼働率の向上 現状をよりよく改善しようという気持ちはゆとりから生まれてくる。今日の仕事をするだけで手一杯になる状況では改善のため…

Windows における TCP の再送機能を確認する

サーバー側と通信中に途中経路上で問題が発生するなどしてパケットをロストした場合、UDPであれば単純にそのパケットは失われる。TCPであれば再送機能が動作して、ある程度の期間の通信経路断(ケーブルが抜けるとか)は乗り越えてくれるはず。それ故にTCPなの…

画像をExcelにひたすら貼り付けるマクロ

SI

背景 画面のハードコピーを大量に取得した後、Excelに貼り付けて『・・・を実行した』とか『・・・が確認できた』のような説明を記載する苦行がある。説明を書くのは自動化できないが、ハードコピーを貼り付ける手間は自動化により省けるよね、ということで…

スキーマのオブジェクト定義比較

スキーマ間の diff の必要性 同じアプリケーションを複数1つのOracleデータベース上で動作させる場合、『スキーマ(Oracleの場合ユーザと同じ)』を複数用意すればよい。ところが、『それら複数のスキーマの持っているテーブルやその他のオブジェクトは全て同…

インクリメンタル開発とイテレーション開発

インクリメンタル開発とイテレーション開発の差がよくわかっていなかったのだが、ようやく『そういう事か!』という瞬間を迎えることができた。 インクリメンタル開発は文字通り追加していく。繰り返しのなかで、第1フェーズはここまで作る、第2フェーズはこ…

文字セットとエンコーディング

文字セットとエンコーディングの関係を改めて整理してみた。