300�l����1000�l�ց\�\�����J���͊J���g�D���g�傷�邽�߂Ɂu�}�C�N���T�[�r�X�A�[�L�e�N�`���v���̗p�����i��ҁj �F Mercari Tech Conf 2018 �i1/4 �y�[�W�j
����300�l���x�Ƃ����J���҂̐���3�{�ȏ��1000�l�ɑ��₻���Ƃ��Ă��郁���J���B���̂��߂ɓ��Ђ̓}�C�N���T�[�r�X�A�[�L�e�N�`�����̗p���n�߂܂����B�C���t���̃v���r�W���j���O���Q�Ή��ȂǁA�J���҂��ł��邱�Ƃ𑝂₷���߁A���܂��܂Ȏ��g�݂��s���Ă���悤�ł��B
» 2018�N10��12�� 08��00�� ���J
�@�����J���͂���1�N�A�}�C�N���T�[�r�X�A�[�L�e�N�`���ɂǂ����g�݁A�����̂��߂ɉ������Ă����̂��B�Z�p�ʂƑg�D�ʂ̑o���Ɋւ��鋻���[�����g�݂��A2018�N10��4���ɓs���ōs��ꂽ���Ў�Â̋Z�p�J���t�@�����X�uMercari Tech Conf 2018�v�̃Z�b�V�����uMicroservices Platform at Mercari�v�ŏЉ��܂����B
�@��҂ł́A�J���҂��C���t���̃v���r�W���j���O��^�p�܂ōs�����𐮂���ȂǁADevOps�����̏��������C���̃e�[�}�ƂȂ�܂��B
�@����DevOps�����̏����ɂ��Ă��b�����܂��B����1�N�ŁA�}�C�N���T�[�r�X�̊J���҂����������łł���悤�ɂȂ������Ƃ��傫��2����܂��B��̓C���t���̃Z�b�g�A�b�v�ƃv���r�W���j���O�B������̓T�[�r�X�̃f�v���C�ł��B
�@�܂��̓v���r�W���j���O����B��قǁA�e�J���`�[����Kubernetes�̃l�[���X�y�[�X��GCP�iGoogle Cloud Platform�j�̃T�[�r�X�ɃA�N�Z�X�ł���悤�ɂ����A�Ƃ����b�����܂����B�Ⴆ�A������GCP�̃f�[�^�x�[�X���g�������Ƃ��ɂ́A�f�[�^�x�[�X���Z�b�g�A�b�v�����Ƃ��s���܂��B���ꂪ�v���r�W���j���O�ł��B�����͂�����uInfrastructure as a Code�v�̕�����Z�������邱�ƂŎ������Ă��܂��B
�@�c�[����HashiCorp�́uTerraform �v���g���Ă��܂��BTerraform�́AGCP��AWS�Ȃǂ̃N���E�h�T�[�r�X�𒊏ۉ����A�錾�I�ɃR�[�h�Ƃ��ăC���t���̂���ׂ���Ԃ��L�q���邱�ƂŁA���̏�ԂɂȂ�悤�Ƀv���r�W���j���O�����s���Ă���܂��B
�@�����āA�e�}�C�N���T�[�r�X�ɂ�����Terraform�̃R�[�h�̊Ǘ��₻�̃R�[�h�̎����A�v���C���������邽�߂ɁAmicroservices-terraform�Ƃ������|�W�g�����������Ă��܂��B���̃��|�W�g���ɂ�Starter-kit�Ƃ���Terraform�̃��W���[��������Ă���A�}�C�N���T�[�r�X�������[�X���邽�߂ɍŒ���K�v�ȃC���t�����ȒP�ɍ\�z�ł���悤�ɂȂ��Ă��܂��B
�@�J���҂͂܂�����������Terraform�̃R�[�h�������A���̃��|�W�g���Ƀv�����N�G�X�g�������܂��B
�@�C���t���̌o�������Ȃ��J���҂��A�����Ȃ�Teraform�̃R�[�h���K���K�������͓̂���̂ŁA�����}�C�N���T�[�r�X�v���b�g�t�H�[���`�[�������r���[���s���܂��B���r���[���ʂ��ă}�[�W���s����ƁACI�i�p���I�C���e�O���[�V�����j�������ăv���r�W���j���O���s����Ƃ����t���[�ɂȂ��Ă��܂��B
�}�C�N���T�[�r�X�v���b�g�t�H�[���`�[�����ATeraform�̃R�[�h���r���[���s���Ă���
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);