�J���v���Z�X�����̃A���`�p�^�[��/�p�[�g2�F�v���Z�X�Ɗ�i���ҁj�FThe Rational Edge�i1/2 �y�[�W�j

�O�ҁu�����J���́w�����͂��ЃJ�o�[�������|�C���g�x�v�ł́A�����J���ւ̈ڍs���ɐ�����ł��낤�v�����̃g���[�h�I�t�ɂ‚��ĉ�������B���҂ƂȂ鍡���ɁA�J���v���Z�X�ƃv���W�F�N�g�̐����ɂ‚��ĉ������B�u�J���v���Z�X�v�𓱓�����΃v���W�F�N�g����������킯�ł͂Ȃ��B

» 2007�N10��30�� 12��00�� ���J
[Scott W. Ambler, Per Kroll�CIBM]

���X�N�x�[�X�̃}�C���X�g�[��

ALT �{�L���́AIBM developerWorks����A�b�g�}�[�N�E�A�C�e�B�������𓾂Ė|��A�]�ڂ������̂ł��B

�@�����J���́A�����i�K�ɂ����郊�X�N�팸�Ɖ��l�n���Ƃ̃o�����X���v��I�Ɏ��ƍł������I�ɂȂ邱�Ƃ��������Ă���B�‚܂�A�������Ƃɏd��������̂ɗD�揇�ʂ�t����΁A�ő�̉��l��񋟂��钆�Ńr�W�l�X�A�g�D�A�v���O�����A����ыZ�p�ɂƂ��čő�̃��X�N�������@�\�̊J����I�Ԃ��ƂɂȂ�B�������A�����2�‚̖ړI�i�ő�̃��X�N�ƍő�̉��l�j�͕K��������ɂ�����Ă���킯�ł͂Ȃ��A�����̉��l�n���������̃��X�N�팸�̂����ꂩ�̌v��I�I�����]�V�Ȃ������B

�@���X�N���팸����΁A�����i�iCOTS�j�̑I����A�[�L�e�N�`���̈��萫�A�����ă`�[���̌����Ɋւ�������̗����ȂǁA�Z�p�I���̕s�m��������������B�����̗v���Ƙ_���I�ɐ��������ς�����s���͂͒��ڊ֌W���Ă��邽�߁A�s�m�����̍팸�͌��ς���Ƃ̐H���Ⴂ���ጸ����B

�@�����̃��X�N�팸�Ɖ��l�n���̓v���W�F�N�g�̐����ɂƂ��ďd�v�ł��邽�߁i�}2�Q�Ɓj�A�K�؂Ȋ�_��p�ӂ��邱�Ƃ��d�v�ɂȂ�BRUP��4�‚��ׂẴt�F�[�Y���A�K�؂ȃ��X�N�팸�̗��؂Ɖ��l�n���̕]���̂��߂̃v���W�F�N�g���ʕ��̕]�����K�v�ȊǗ��}�C���X�g�[���ŏI���̂͂��̂��߂��B�Ⴆ�΁A���ȁi���������j�t�F�[�Y�ł́A�ł�����葽���̋Z�p���X�N��􂢏o���Ĉ��肵���A�[�L�e�N�`����񋟂������B�`�[���́A�����‚��I�񂾎��s�”\�ȃV�i���I��A�����̏d�v�Z�p�⃊�X�N�̊ɘa�𔽉f�������X�N�ꗗ�ƈꏏ�Ɏ��s�C���[�W�A�[�L�e�N�`�������邱�Ƃ������K�v������B���̃��X�N�팸�́A�“��R�[�h�̉��l�⑁���̓�����f�����s���č��o����鉿�l�Ƃ̃o�����X�����K�v������B����v���W�F�N�g�ɂƂ��ēK�؂ȃo�����X���ق��̂��̂ɂƂ��Ă��K�؂ł���Ƃ͌���Ȃ��B

ALT �}2 �v���W�F�N�g���C�t�T�C�N�����̃��X�N�팸�i�����‚̋Ȑ��j�Ɖ��l�i���̋Ȑ��j �i�N���b�N����Ɗg��j

�E���X�N�x�[�X�}�C���X�g�[���̃����b�g

�@���X�N�x�[�X�̃}�C���X�g�[���ɂ͈ȉ��̂悤�ȃ����b�g������B

�@���Q�֌W�҂̌����B�}�C���X�g�[���̓v���W�F�N�g�𗘊Q�֌W�҂̌������ڂɂ��炵�A�v���W�F�N�g�ɐV�N�ȋ�C�𑗂荞�ށB�֌W�҂̌����́A�v���W�F�N�g�`�[���Ɍ����Ȃ��C�x���g��󋵂ɑ΂���w���┽����񋟂���B

�@�����̉��l�n���B������f����������A����炪�K�؂Ȕ��f�ł��邱�Ƃ����؂���Ƃ��ɍő�̉��l�����܂��B����́A�l�Ԃ̑n�����̕\��Ƃ��ăV�X�e���̓����𔽉f����B����͂܂��A�ȉ��̐}�Ɏ������悤�ɁA�v���W�F�N�g�̑����i�K�ōő�̊v�V�����邱�Ƃ��Ӗ�����B

�@�������s�̖h�~�B���ɂ́A�Ԉ���������O��ɂ��Ă���A���Ȃ葁���i�K���������^���ɂ���v���W�F�N�g������B�����̃v���W�F�N�g���s�^�ł��邱�Ƃ͖��炩�����A�v���W�F�N�g�̊ԈႢ�ɋC�t���O�ɖc��ȋ��K�I�������邱�Ƃ͉���������B���X�N�x�[�X�̔����͕s�ǃv���W�F�N�g�����C�t�T�C�N���̏����i�K�Ŗ��m�ɂ���B

�@���Y���̉��P�B�Z�p���X�N�𑁂��i�K�Ő􂢏o���ƁA�A�[�L�e�N�`�����}���Ɉ��肷��B����ɂ��A�v���W�F�N�g�̌㔼�ŕs�ӑł�������킳��関�m�̋Z�p�I�v�����������A��i�ƌo�ϓI�Ȏ��H���”\�ɂȂ�B

�@���ς���Ƃ̐H���Ⴂ�̍팸�B���ς���ɐH���Ⴂ�͂‚����̂ł���A�H���Ⴂ�͖��m�̗v���⃊�X�N�ɔ�Ⴗ��B�]���āA���X�N�𑁂��i�K�Ŋɘa����΁A���ς���Ƃ̐H���Ⴂ���}���Ɍ�������B

ALT �}3 �����̉��l�n���́A�ő�̋Z�p�v�V���v���W�F�N�g�̑����i�K�Ŕ������A���X�N�͎��Ԃ̌o�߂ɔ����ď��X�Ɍ������邱�Ƃ��Ӗ����� �i�N���b�N����Ɗg��j

�E�g���[�h�I�t

�@���X�N�x�[�X�̃}�C���X�g�[���Ɉڍs����ۂɂ͗v�����̃g���[�h�I�t����������B

�@�V�����v�����j���O���@�_�B���X�N�̊ɘa�͎��������ʂ��Ă��郊�X�N�Ɋ�Â��Đ헪��ύX����Ƃ��ɋ@�\����B�]���āA���X�N�哱�̃}�C���X�g�[���ɂ́A�v�����������ɓK��������K���v�����j���O�v���Z�X���K�v�ɂȂ�B�u�v��ɂ͑S�����l���Ȃ����A�v�悷�邱�Ƃ͍ł���؂Ȃ��Ƃ��v�Ƃ������A�C�[���n���[�đ哝�̂̌��t���v���o���Ă������������B�i������v��̎󂯓���ɏ��ɓI�ȏꍇ�A���X�N�x�[�X�̃}�C���X�g�[���͓K���Ȃ��B

�@�K���v���Z�X�B�K���v�����j���O���l�A�v���Z�X�ɂ��K�����K�v���B���������̃v���Z�X���ߓx�ɋK�肪�����ꍇ�́A�}3�́u�v�V�v�̃X�e�[�W�ɂ����ă`�[���̐����ɕK�v�ȏ_��������Ȃ��B�v���Z�X�������ƁA�v�V�����܂�邱�Ƃ͏��Ȃ��Ȃ�B��́u��p�����v�X�e�[�W�ł́A��茘�S�i����낤�j�ȃv���Z�X���~�����Ȃ��Ă����B

�E�A���`�p�^�[��

�@���X�N�x�[�X�̃}�C���X�g�[���ɂ͈ȉ��̂悤�ȃA���`�p�^�[�����֘A���Ă���B

�@�^�ɂ͂܂����v���Z�X�B�`�[���́A�ڍׂɋK�肳��A�u�����”\�v�Ȃ���A�����������X�N�ɑΉ�����]�n�̂Ȃ��v���Z�X�ɏ]�����Ƃ�]�V�Ȃ������B

�@�h�L�������g�哱�̒ǐ��B���X�N�����肳��A���X�N�ꗗ�ɓo�^����A���炩�̌`�̃v���W�F�N�g�^�c�ψ���ŋc�_����āA�`�[�����Ή�����ꍇ�ł��A����͂��Ȃ�̎��Ԃ��o�߂��Ă���ƂȂ�B�K�؂ɑΉ����邽�߂̎��Ԃ��\�Z���Ȃ��ƒQ��������������A�P�ɃX�P�W���[�����O�̓s�������Ŏ��������[�X�܂ʼn�������Ƃ����Ȃ�A���X�N����肵�Ă����̖��ɂ������Ȃ��B

�@�ڍׂȐ����v���B�v���W�F�N�g�S�̂̏ڍׂȌv��͑��������Ŋm������A�v���W�F�N�g�̎c��̕����ł͒ǐՂɂ��v��ɊǗ����W������B

�E�����f�t�H���g

�@���O�ɒ�`����A���X�N�ɘa�ɏd�_��u����RUP�́u�����t���v�u���ȁi���������j�v�u�\�z�v�A�����āu���ȁv�̊e�}�C���X�g�[���̗��p�𐄏�����B

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

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);

���ڂ̃e�[�}

�l�C�L�������L���O

���Ȃ��ɂ������߂̋L��PR