2014-01-01から1年間の記事一覧

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

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

デスマーチ八景

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