ITmedia NEWS > �Ȋw�E�e�N�m���W�[ >

UNIX�V�F���̕��񉻂ɂ��ő�34�{����������uPaSh�v�A��MIT�Ȃǂ��J���@�v���O�������ʂ����m�FInnovative Tech

» 2022�N06��14�� 07��00�� ���J
[�R���T�B�CITmedia]

Innovative Tech�F

���̃R�[�i�[�ł́A�e�N�m���W�[�̍ŐV�������Љ��Web���f�B�A�uSeamless�v����ɂ���R���T�B�������M�B�V�K���̍����Ȋw�_�����R�������s�b�N�A�b�v���A�������B

�@�ăy���V���x�j�A��w�A��MIT�A�|�[�����h��XIV Staszic High School�A�č��̌����@��Aarno Labs�A��Stevens Institute of Technology�ɂ�錤���`�[�����J�������uPractically Correct, Just-in-Time Shell Script Parallelization�v�́AUNIX�V�F���Ŏ��s�����v���O�����̑��x�𐸓x��ۏ؂��Ȃ��猀�I�ɉ���������V�X�e�����B

�@���̃V�X�e����UNIX�V�F���ɂ����āA�X�N���v�g���ǂ݂��ĕ��񉻂��s���B����ɂ��v���O�������ʂ𐳊m�ȏ�ōő�34�{���������AWeb�C���f�b�N�X�⎩�R���ꏈ���A�f�[�^��͂Ȃǂ̃^�X�N�����s���邱�Ƃ��”\�ɂȂ�B

�v���O��������񉻂��邱�Ƃɂ��AUNIX�V�F���Ŏ��s�����v���O�����̑��x���グ��Z�p���쐬����

�@�uPaSh�v�ƌĂԂ��̐V�����V�X�e���́A���݂ł��L���g���Ă���v���O���~���O�‹��ł���UNIX�V�F���Ŏ��s�����v���O������������������̂��B

�@�V�F���X�N���v�g�𐳂������񉻂��邱�Ƃ́A���\�N�ɂ��킽���Č����҂����g��ł�����̓��ł���BUNIX�V�F���͑�����X�N���v�g���”\�ɂ��邪�A���̏_��œ��I�ȍ\���̂��߁A�]���̎�@�ł͕��񉻂�����ł������B

�@�v���O�����̕��񉻂́A���镔�������̕����Ɉˑ����Ă��邽�߁A�R���|�[�l���g�̎��s���������߂��Ă���A�������ԈႦ��ƃv���O���������s���Ă��܂��B

�@�v���O�������P��̌���ŋL�q����Ă���ꍇ�A���[�U�[�͂��̋@�\�ƁA���񉻂ł���R���|�[�l���g�����肷��̂ɖ𗧂Œ���Ɋւ��閾�m�ȏ��������Ă��邪�AUNIX�V�F���̃X�N���v�g�ɂ͑��݂��Ȃ��B���[�U�[�́A�R���|�[�l���g���ʼn����N�����Ă��邩���ȒP�Ɋm�F������A���񉻂ɖ𗧂��𒊏o�����肷�邱�Ƃ��ł��Ȃ��킯���B

�@���̖����������邽�߂ɁAPaSh�͑O�����Ƃ��āA���񉻉”\���Ǝv����R���|�[�l���g�ɊȒP�Ȓ��߂�}�����A�v���O�����̎��s���Ɋe�\���v�f�ɓ��B�����u�ԂɁA���̕����̕��񉻂����݂�B

�@����ɂ��v���O�����̓�������O�ɗ\�����邱�Ƃ��ł��A��L���������ɓ����B���̂悤�Ƀv���O�����̍\���v�f���g�W���X�g�C���^�C���h�ŕ��񉻂��邱�ƂŁA���O�ɕ��񉻂��悤�Ƃ���]���̎�@�ɔ�ׂāA��葽���̃R���|�[�l���g�������I�ɍ������ł���B

�@���̈���ŁA�����ł��Ă����m�łȂ���΂Ȃ�Ȃ��B�����`�[���͌ÓT�I�ȃv���O��������ŐV�̃v���O�����܂ŁA���S�̃X�N���v�g��PaSh���e�X�g���A1�‚����Ȃ����Ƃ����؂����B�܂����񉻂���Ă��Ȃ��X�N���v�g�Ɣ�r�����ꍇ�A���ς�6�{�A�ő��34�{�߂��������ł��邱�Ƃ��m�F���ꂽ�B

Source and Image Credits: Konstantinos Kallas, Tammam Mustafa, Jan Bielak, Dimitris Karnikis, Thurston H.Y. Dang, Michael Greenberg, and Nikos Vasilakis.�gPractically Correct, Just-in-Time Shell Script Parallelization�h



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