�܂‚��Ƃ䂫�Ђ�\�\��3��F�l�̑��݉��l�͂����ɂ����FOpen Source People�i1/4 �y�[�W�j

�ߋ�2��ɂ킽���Ă��͂����Ă����܂‚��Ƃ䂫�Ђ뎁�ւ̃C���^�r���[�͍��񂪍ŏI��ƂȂ�B�u�N����Ruby���������������Ƃ�����A���܂�Ruby���������ƃG���K���g�ő������̂��ł���͂��v�ƌ��܂‚��Ǝ��͎��g�̑��݉��l���ǂ̂悤�Ɍ��Ă���̂��ɔ���B

» 2007�N01��15�� 08��00�� ���J
[���� �]�CITmedia]

��1��F�I�[�v���\�[�X�Ƃ����u���d���v

��2��FRuby���J������Ƃ�������


�@14�N�̍Ό����o�������A�܂‚��Ƃ�Ruby�̊J���Œ��S�I�Ȗ������ʂ��������Ă���B�p�����邱�Ƃ������ł�����Ƃ�����I�[�v���\�[�X�\�t�g�E�F�A�̊J���ɂ����āA1�l�̊J���҂������ɂ킽���Ē��S�I�Ȗ������ʂ��������Ă����͂���قǑ����Ȃ��B�����������Ƃ́A������������p�����Ă���̂��Ǝv��ꂪ�������A���ۂɂ͂����P���Ȃ��Ƃ΂���ł͂Ȃ��BRuby���A���E�I�ɒm���n�߂��͉̂p��̏��Ђ��������ꂽ2000�N�H�ȍ~�ŁARuby on Rails�ɂ���čL���g����悤�ɂȂ����̂͂���2�N���炢�̂��Ƃ��B���̗��j�̔����ȏ�̔N���́A����΁u���ς݁v���������ƂɂȂ�B

�@�I�[�v���\�[�X�\�t�g�E�F�A�́A�����̏ꍇ�A�J���Ҏ��g�̌l�I�ȕK�v���ɋ���Đ��ݏo����邱�ƂɂȂ�B�������g�ǂ����Ă��~�����������ǁA���̎��_�ł͂ق��ɂ��������\�t�g�E�F�A����������Ȃ������Ƃ����̂��T�^�I�ȃp�^�[�����B���[�i�X�E�g�[�o���Y�́APC�݊��@�Ŏ��R�Ɏg����{�i�I��UNIX�‹����ق����������A1991�N�����͕n�R�w������y�Ɏg������̂͊F���������̂�Linux�����n�߂��B�����[�E�E�H�[���́A�����[�g�ɂ��镡���̃V�X�e���̃��O�������ǂ��Ǘ��������������Aawk�ł͐��񂪑傫�����ēK���Ȃ������̂�Perl���J�������B

�@�������A�܂‚��Ƃ̏ꍇ�A�K�������������g�̕K�v���ɔ�����Ruby��������Ƃ����킯�ł͂Ȃ������悤���B�u�I���W�i���̃v���O���~���O�������肽���v�Ƃ���������ɂ���A����������ƐS�Ɏ��������Ȃ��玎�s������J��Ԃ��Ă�������ŁA�uPerl�Ɠ������炢�֗��Ɏg���āA�{�i�I�ȃI�u�W�F�N�g�w���v���O���~���O���ł��錾�ꂪ��������v�Ƃ�����������̎����ɏo��B���ꂪRuby�a���̓V�[�ƂȂ����B

�@��w�ɓ����āA�{�i�I�ɃR���s���[�^�ɐG���悤�ɂȂ�ȑO����u�I���W�i���̃v���O���~���O�������肽���Ɩ��z���Ă����v�Ƃ����̂��A��}�Ȃ��̂̕З؂��������邪�A�܂‚��Ƃ̖{���ɂ������Ƃ���́A���̖��Ɍ������Ă����ƒ����ɓw�͂������Ă������Ƃɂ���B�����̈ꌾ���V�[�ƂȂ����̂��A���邢�͂܂��A������Ђ�߂������ɏI��点����������ƌ��������邱�Ƃ��ł����̂��A�ނ����̎����̂��߂ɕK�v�ȁu�����̒m���ƌo���v���R�c�R�c�Ɛςݏd�˂Ă�������ɂق��Ȃ�Ȃ��B

�@�v���ɁARuby�̏ꍇ�́A�܂‚��Ǝ��g������𖲂Ƃ��Ď��������Ă����Ƃ������Ƃ��A�����̐����̑傫�Ȍ����͂ɂȂ��Ă���̂ł͂Ȃ����B�������邱�Ƃ��A�Ђ�߂��𓾂邱�Ƃ��A���̂��Ǝ��̂͒N�ɂł��ł���B�������A���̖������������A����Ɍ������ĕ���������Ƃ������Ƃ����H�u�������v����l�́A�����͂��Ȃ��B�����炱���A�܂‚��Ƃ̂悤�ɁA�p�����邱�Ƃɂ���Đ����������݂͋M�d�ł���B���E�I���������邱�ƂȂ���A���̂���܂ʌp���������A�����ƕ]������Ă����̂ł͂Ȃ����낤���B�i�h�̗��j

�u����Ruby�Ńv���O�����������Ă��鎞�Ԃ͂��������Ȃ��v�Ƃ܂‚��Ǝ�

�v���O���~���O����͂��ׂĈ�������

�\�\�@Ruby�ȊO�ł́A���[���[�iMUA�j���J������Ă܂��ˁB

�܂‚����@�umorq�v�i�����N�j�Ƃ����܂��B����͎�Ƃ��č���Ă�����̂ŁA�����ł͂��łɗ��p���Ă��܂��Bmorq�́A�t�H���_�Ƃ����T�O����߂āA���[���Ƀ^�O���‚��ĊǗ�����d�g�݂��̗p���܂����Bmorq���g���ȑO�́A���[�����O���X�g���ƂɃt�H���_�ɕ��ނ���Ƃ����A������ʓI�ȕ��@�ł���Ă����̂ł����A�l�̏ꍇ�A�Ⴆ��ruby-list��ruby-dev�Aruby-talk*�����f�I�Ɍ����������Ƃ������Ƃ����\�����āA�t�H���_�ɂ��Ǘ��ɂ͌��E�������Ă����̂ł��B���[�������\���ʂ𒴂���Ƃ�����ɂ���t�H���_�ł͊Ǘ�������܂��񂵂ˁB�^�O�́A���[������M�����Ƃ��ɂ‚��邱�Ƃ��ł��܂����A�ォ��S�����������ă}�b�`�������̂��ׂĂɃ^�O���‚��邱�Ƃ��ł��܂��B

�\�\�@����͑S��Ruby�ō���Ă���̂ł����H

�܂‚����@�����A�\������̃t�����g�G���h��Emacs Lisp�ō���Ă��āA�o�b�N�G���h��Ruby�ł��Bmorq�Ƃ��Ă̋@�\�͂��ׂăo�b�N�G���h��Ruby�Ŏ�������Ă���̂ŁA�t�����g�G���h��Emacs Lisp�ȊO�ō�邱�Ƃ��ł��܂��B

�\�\�@����ȊO�ɁA�����ɂ���Ă��邱�Ƃ͂���܂����H

�܂‚����@�ŋ߂͂���܂�Ȃ��ł��ˁB���Ƃ́A���e���������A�V�F���X�N���v�g���������炢�B

�\�\�@�V�F���X�N���v�g�I

�܂‚����@�V�F���X�N���v�g�͂��������D���Ȃ�ł����ǁB

�\�\�@Ruby������̂ɁA�V�F���X�N���v�g�������Ă��܂��H

�܂‚����@�O���R�}���h���Ăяo���Ȃ��Ƃł��Ȃ��悤�ȍ�Ƃ��āA�������񂠂�܂���ˁB���������̂́A��������Ruby�����V�F���̕����y�Ȃ̂ŁB�ŋߏ��������̂��ƁA�Ⴆ�΁A�o�[�W�����Ǘ��V�X�e���̃��b�p�[���V�F���X�N���v�g�ō��܂����BRuby��CVS���|�W�g���ɂ���C�����茳�̃R�s�[�Ɠ���������Ƃ��A�茳�̃p�b�`��CVS���|�W�g���ɓo�^����Ƃ��������̂ł��B���|�W�g���Ɠ�������Ƃ��ɁA�茳�����œ������Ă���p�b�`����������S���O���ĂƂ��A�ׂ������Ƃ��V�F���X�N���v�g�Ɏ����ł�点�Ă��܂��B���\�y�����ł��ˁi�΁j�B

�\�\�@���́ARuby�̃R�[�h�����AC����̃R�[�h�������Ă��邱�Ƃ̕��������H

�܂‚����@���[��A�����ł��ˁB���e�������Ă��鎞�ԂȂǂ������āA�l�̃v���O���~���O�̎��Ԃ���������ƁARuby�Ńv���O�����������Ă��鎞�Ԃ͂��������Ȃ���������܂���B�e�X�g�X�C�[�g�Ƃ���Ruby�̃v���O�����͏����܂����ǁB

�\�\�@����Ă��邯�ǁc�c

�܂‚����@�w�r�[���[�U�[�ł͂Ȃ��i�΁j�B

�\�\�@���̂��Ǝ��̂́A�����ł͂���ł����Ǝv���Ă���H

�܂‚����@���[��c�c�B�����񂶂�Ȃ��ł����H

�\�\�@����������ƁARuby�̃R���Z�v�g�́u�y�����v���O���~���O�v�Ƃ������Ƃł����ARuby�ȊO���g���Ă��鎞�Ԃ������Ƃ������Ƃ́A�܂‚��Ƃ��񎩐g�́A�u�y�����Ȃ��v���Ƃ̕��������H

�܂‚����@Ruby�ł��Ȃ����Ⴂ���Ȃ��d���Ƃ����̂��m���ɂ����āA���̎d����Ruby�ȊO�̌�����g������m���Ɋy�����Ȃ��B����͗e�Ղɑz���ł���i�΁j�B�����A��������ɒ��ʂ��Ă��邩�Ƃ����ƁA�����ł��Ȃ��̂ŁB

�\�\�@C����ŏ������Ǝ��͕̂ʂɁA����͂���ō\��Ȃ��H

�܂‚����@�ł��AC���ꂾ���ŏ����̂͋�ɂł��傤�ˁBRuby�̂��߂̃R�[�h�������Ƃ����̂́A���́A���̃t���[�����[�N���̂��̂�Ruby�����Ȃ�񋟂��Ă���Ă���̂ŕ��ʂ�C����v���O���~���O�Ƃ͏����Ⴂ�܂��B�Ⴆ�΃K�[�x�[�W�R���N�^�͂���܂����A���\�b�h���Ăׂ�̂ŃI�u�W�F�N�g�w�����o�őg�߂�Ƃ��B�Ȃ̂ŁARuby�̂��߂�C����v���O���~���O�Ƃ����̂́A��ʓI��C����v���O���~���O�Ɣ�ׂĂ��Ȃ����Ȃ�ł��BRuby�̂��߂�C����v���O���~���O������Ă���Ƃ��͉��K�����ǁA�ق���C����v���O�������������Ă���Ƃ��ɓ����悤�ɉ��K���Ƃ�����ƁA���Ȃ�Ⴄ�Ǝv���܂��B

�\�\�@�t�ɁARuby�ȊO�̂��Ƃ��ƁA�ʂ�C++�Ȃǂ��g���Ă��悢�Ǝv���Ă���H

�܂‚����@�Ǝv���Ă܂���A�͂��B����C++���g���Ă��Č��Ȃ̂́A���Ƃ��������p�ł��Ă��܂��̂ŁA���������l�ƈꏏ�Ɏd��������Ǝ���������ǂ��Ƃ����̂͂���܂��B�ȑO�A�ꏏ�Ɏd�������Ă���l���J���}�I�y���[�^�[���Ē�`���Ă��āA�Ђǂ��ڂɑ����܂����i�΁j�B����������C++���g�����ɂ́A���Ԃ񂻂��������Ƃ͂Ȃ��Ǝv���̂ŁA���̂��Ƃɂ‚��ĕʂɂǂ����������‚���͂Ȃ��ł��ˁB������A�ǂ����Ă��g��Ȃ����Ⴂ���Ȃ�������A�������C++���g���܂��B�ł��A�Ȃ��Ȃ����������@��͂���܂��񂯂ǁB

�\�\�@Java���g���@��͂Ȃ��ł����H

�܂‚����@�S�R�g��Ȃ��ł��ˁB

�\�\�@�g�������Ƃ����܂�v��Ȃ��H

�܂‚����@�v��Ȃ��ł��ˁB�g��Ȃ����Ⴂ���Ȃ��ǖʂ����܂�v���‚��Ȃ��̂ŁB�l�͂��q�l�̂��߂̃v���O���������Ȃ��̂Ńp�t�H�[�}���X�N���e�B�J���Ȃ��Ƃ͂߂����ɂȂ��ł����A�����Ȃ�ƁAJava����Ȃ����Ⴂ���Ȃ��K�R���Ƃ����̂͂Ȃ��ł��ˁB�܂��A���̂킽���͊�ƃv���O���}�[�ł��Ȃ��ł����B��������ƁAJava���g���ǖʂ��Ȃ��Ƃ����c�c�B

�\�\�@Java�łł����Ⴄ���Ƃ�Ruby�łł������ł����ˁB

�܂‚����@�����ł��ˁB�������A��‚��̏���������΁AJava���K�؂��Ƃ������Ƃ͂����ς�����Ǝv���̂ł����A���̏�������������邱�Ƃ́A�l�ɂƂ��Ă͂Ȃ��Ƃ������Ƃł��B�ʂ�Java�������Ƃ������Ƃł͂Ȃ�����ǁA�l�ɂƂ��Ă͕s�v�Ƃ��������ł��ˁBJava�������Ă�񂶂�Ȃ����ƌ������₷���̂ł����A����Ȃ��Ƃ͂���܂���i�΁j�B

�\�\�@�����Ă���킯�ł͂Ȃ��ƁB

�܂‚����@�����Ă���킯�ł͂Ȃ��ł���B�l�͂��ׂĂ̌�����D���Ȃ̂ŁB

�\�\�@����́A�����ʂ������ʂ��H

�܂‚����@�����ʂ������ʂ��܂߂āB�u���傤���˂��Ȃ��v���炢�̂��Ƃ͎v���Ă��A�ʂɊ��݌�������Ƃ��A�����������Ƃ͂Ȃ��ł��B

�\�\�@�v���O���~���O����͈��������A�ƁB

�܂‚����@�݂�Ȉ��������ł��ˁB����̌�����g�����Ƃ����v����Ȃ�������i�΁j�B

�������Ruby�֘A�̃��[�����O���X�g�Bruby-list��ruby-dev�͓��{��ł���肳��Ă��郁�[�����O���X�g�ŁA�O�҂͎g�p�Ɋւ���A��҂͊J���Ɋւ���������̂��߂̂��́Bruby-talk�͉p��̃��[�����O���X�g�B


�@�@�@�@�@�@ 1|2|3|4 ���̃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��PR