�l���]���ƊJ���҂̃��`�x�[�V����/�p�[�g3�F�����ƃ|���V�[�i���ҁj�FThe Rational Edge
�O�ҁu���ȊǗ��^�`�[���̗��_�Ǝ�_�v�́A���ȊǗ��^�`�[���𐄐i���邤���ł̗��_���������Ɠ����ɁA�ׂ�₷�����_���w�E�����B���҂ł��鍡��́A�l�ނ̕�V��]���Ɋւ��ĉ������B
» 2007�N11��15�� 12��00�� ���J
[Scott W. Ambler, Per Kroll�CIBM]
�@���ʓI�ȃ\�t�g�E�F�A�J���́A�`�[�����ɂ�������ʓI�ȋ�����ƂɈӗ~��������˔\�̂���l�Ɉˑ�����B���ꂪ���܂������悤�ɂ���ɂ́A�Ј��̏��������A���i�A�����ĐӖ��Ƃ������l���֘A�̖���IT����̉��l�Ɗm���ɂ��܂��K��������K�v������B
�@�R���{���[�V�����ɏd�_��u���ƁA�l�ނ̕�V��]���ɂ��ω���������B�l�̐��Y��������]������̂ł͂Ȃ��A�e�l���`�[���ɒ��鉿�l���]������K�v������B�`�[���ɂƂ��čł��L�p�Ȃ̂́A�����̎��Ԃ̑唼���ق��̃`�[�������o�[�̎w���ɏ[�Ă郁���o�[���B����́A�S�̂̕]���ɔ��f������ׂ��t�����l�����s�����B
�@���ʓI�ȊJ���ɂ́A���݂���Γ��ƌ��Ȃ��ғ��m�̖��ڂȃR���{���[�V�������v�������B�ꕔ�ɂ́A�J���҂���A�[�L�e�N�g�Ȃǂւ̏��i�ɂ��A�����̍ł��D�G�ȋZ�p�҂������̊J�����痣��A����Ƃ��܂�W�̂Ȃ��A�[�L�e�N�`���`�[���ɓ]���������Ă��܂��g�D������B�����Ȃ�ƁA�����̃A�[�L�e�N�g���\�z����A�[�L�e�N�`���͌����ƌ������ꂽ���̂ɂȂ�\���������B�����I�ȊJ���g�D�ɂ����ẮA�����̐��I�Ōo���L���Ȑl�X�́A�w���҂���ыZ�p���[�_�[�̖������S���A��y�ƈꏏ�Ɏd����i�߂�K�v���o�Ă���B
�@�����2�̗�ł́A�l���V�X�e����IT�̉��l����������ɓ������ēK�ȍs���𑣐i���A�`�[�������o�[�Ԃ̌��ʓI�R���{���[�V������ۏ���K�v������B
�@�l���|���V�[��IT�̉��l��K��������Ƒ����̃����b�g�����܂��B
�@�\�t�g�E�F�A�̌o�ϓI���ʂ̌����B�ǂ��\�t�g�E�F�A�͈ӗ~�I�ō˔\�̂���l�ނɂ���č\�z�����B�ӗ~�I���˔\�̂���l�ނ��m���Ɋm�ۂ��A��������l���m���ɕ��ɔ��f������ɂ͐l���|���V�[���ɂ߂ďd��ɂȂ�B
�@�ӗ~�̌���ƃX�^�b�t�̑����B�F�߂��A���Ԃ肪����A�x������邱�Ƃɑ��ẮA�����K�ɂ�낤�Ƃ����ӗ~���킭�B����́A�X�^�b�t�̎��R���̒ቺ�ւƂȂ���B
�@�l���|���V�[��IT�̉��l��K��������ꍇ�ɂ͑����̏d�v�ȃg���[�h�I�t������B
�@�l���|���V�[�̕ύX�ӗ~�B�l�����́A�Г��̂��܂��܂Ȏ��ƕ��̐l���|���V�[�ɑ���ӔC������B�l���|���V�[������1�̕����̓���̃j�[�Y�ɍ��킹��͓̂��ł���A�R�X�g���|����B�܂��A���ɂ���ĈقȂ�A�����̕K�v�Ȗ@�֘A�̉e��������B�������A�l���|���V�[�̕ύX��IT���傪���������邱�Ƃő傫�ȗ��v�������炷�B
�@�Z�p�n�L�����A�p�X�ւ̓����B��̂̏ꍇ�A�g�b�v���x���̗D�G�ȋZ�p�҂ɑΉ����邽�߂ɂ́A�ނ�ɊS�̂Ȃ��A�������͓K���̂Ȃ��Ǘ��҂̃L�����A�p�X��I������A�D�G�Ȑl�ނ�������悤�Ȃ��Ƃ̂Ȃ��悤�A���͓I�ȋZ�p�L�����A�p�X���m���ɒ���K�v������BIT�G�L�X�p�[�g�ɒ����I�ɗL���ȃL�����A�p�X����邱�Ƃ͏d�v�ȓ����ł���B
�@�D�G�Ȑl�ޏW�߂Ɍ������ϋɓI�ȍs���C���B�\�t�g�E�F�A�G���W�j�A�̃��`�x�[�V�����́A�ق��̐E��̂���Ƃ͈قȂ�ꍇ�������B�Ј��ɑ��A�X�L���̍\�z��{���ɃG�L�T�C�e�B���O�Ŋv�V�I�Ȑ��i�̊J����F�߂�悤�ȕ�V�́A�]���̎蓖�ȏ�̈Ӗ��������Ă���B�D�G�Ȑl�ނ��W�߂�ɂ́A�W�߂����\�t�g�E�F�A�G���W�j�A�̃^�C�v���l�����A�^�[�Q�b�g�w�ɂƂ��Ė��͓I�ɂȂ�悤�s�����C������Ɨǂ���������Ȃ��B
�@�����ł͎��̂悤�ȃA���`�p�^�[�����֘A���Ă���B
�@�ق��̋Ɩ���IT�̓������B�l���|���V�[�́A�^�[�Q�b�g�Ƃ���Ј��O���[�v�̃��`�x�[�V�����ɍ��킹��K�v������B�\�t�g�E�F�A�G���W�j�A�̃��`�x�[�V�����́A�ق��̊J���҂̂���Ƃ͈قȂ�ꍇ�����邽�߁A�����ɂ���M���b�v�𗝉����A�����̃M���b�v�ɍ��킹�Đl���|���V�[�����邱�Ƃ��d�v�ɂȂ�B�ύX�\�ȍ��ڂɊւ��Ă͖@�I�������|����ꍇ������A���̐��������ɂ���ĈقȂ�ꍇ�����邱�Ƃɒ��ӂ������B
�@�l�̏_��̔r���BIT�����ł������A�l�̃��`�x�[�V�����͊e���قȂ�B������l������ƁA�`�[���Ƃ��Ă̖ڕW�ɍ��킹���e�������A�l�̖ڕW�⎖��ɓK�������̂��Ј��ɑI����ׂ����B
�@�l���|���V�[��IT�̉��l����肤�܂��K������悤�AIT�Ɛl���̃}�l�[�W���͕K���펞�A������荇���悤�ɂ���B
Scott W. Ambler,
Practice Leader, Agile Development,
Rational Methods Group, IBM
Per Kroll
Manager of Methods, IBM Rational, IBM
Copyright © ITmedia, Inc. All Rights Reserved.
';
e_dlv.innerHTML = html;
adRequest({position:dlv_pos,dom:true});
}else if(ad_type === 'gam'){
var html = '
';
e_dlv.innerHTML = html;
refreshGam('InArtSpecialLink');
}else if(ad_type === 'logly'){
var html = '
';
e_dlv.innerHTML = html;
loglySet(g_id);
}else if(ad_type === 'google'){
var html = '
';
e_dlv.innerHTML = html;
googletag.cmd.push(function(){
var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
googletag.display('div-gpt-ad-1551176482959-0');
googletag.pubads().refresh([slot8]);
});
}
};
var insert_ok = function(_target,_str){
var clearfix = d.createElement('div');
clearfix.className = 'colBoxClear';
if(ad_float_fix){
e_body.insertBefore(e_dlv,_target);
e_body.insertBefore(clearfix,_target.nextElementSibling);
}else{
e_body.insertBefore(e_dlv,_target);
}
set_dlv();
};
var insert_ng = function(_str){
e_dlv.style.display = 'none';
};
var main = function(){
var e_nodes = e_body.childNodes; // BODY �����q�v�f
var e_tags = []; // BODY �����^�O
var p_num = []; // BODY ���� P �^�O�ʒu
var p_target_num; // �g�}����ʒu
var o_float = {}; // ��荞�ݗv�f
var o_this = {}; // �A�N�e�B�u�^�O
var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O
var flag_insert = 0; // �}���t���O
// ��荞�ݗv�f�`�F�b�N
var check_float = function(_e){
var e = 0;
if(_e.id.match(/^col\d{3}(l|r)$/)){
e = _e;
}
return e;
};
// �v�f�� Y ���W�ƍ����̍��v�l
var get_element_y = function(_e){
var ey = 0;
var eh = _e.offsetHeight;
while(_e){
ey += _e.offsetTop;
_e = _e.offsetParent;
}
return ey + eh;
};
var check_ptag = function(_e){
var e = 0;
if(_e.tagName && _e.tagName === 'P'){
e = _e;
}
return e;
};
var try_insert = function(){
p_target_num = Math.floor(p_num.length / 2) - 1;
if(p_target_num >= _maxrange) p_target_num = _maxrange;
if(dis_con) p_target_num = 0;
for(var i = p_num[p_target_num]; i < e_tags.length; i++){
o_this.e = check_ptag(e_tags[i]);
if(o_this.e){
o_next.e = check_ptag(e_tags[i + 1]);
if(o_next.e){
if(!o_float.e || check_float(e_tags[i - 1])){
o_float.e = check_float(e_tags[i - 1]);
o_float.n = i - 1;
}
if(o_float.e && o_float.n < i + 1){
o_float.y = get_element_y(o_float.e);
o_this.y = get_element_y(o_this.e);
set_line(o_float.y,'red');
set_line(o_this.y,'blue');
if(o_float.y < o_this.y){
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���');
break;
}
}else{
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�');
break;
}
}
}else{
o_float = {};
}
}
if(!flag_insert){
insert_ng('�}���ʒu�Ȃ�');
}
};
// �S�q�v�f����^�O�̂ݔz��ɓ����
for(var i = 0; i < e_nodes.length; i++){
if(e_nodes[i].tagName){
e_tags.push(e_nodes[i]);
}
}
// �S�^�O���� P �^�O�ʒu��z��ɓ����
for(var i = 0; i < e_tags.length; i++){
if(e_tags[i].tagName === 'P') p_num.push(i);
// �ŏ��̉�荞�ݗv�f���i�[
if(!o_float.e){
o_float.e = check_float(e_tags[i]);
o_float.y = get_element_y(o_float.e);
o_float.n = i;
}
}
if(p_num.length >= _threshold){
try_insert();
}else{
insert_ng('P �^�O ' + _threshold + ' �ȉ�');
}
};
if(e_body){
main();
}else{
insert_ng('�L���{���Ȃ�');
}
})(document,4,5);