Jenkins 설치 및 구동하기

# Debian/Ubuntu 환경에서 설치

# jenkins 접속 키 추가
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

# jenkins 저장소 위치 추가
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

# apt-get 갱신
sudo apt-get update

# jenkins 설치
sudo apt-get install jenkins

# jenkins.war 위치 파악
dpkg -L jenkins

# 수동으로 jenkins 구동
java -jar /usr/share/jenkins/jenkins.war

# 8080 포트를 이미 다른 프로세스가 사용하고 있다면 다음과 같은 에러 발생
Caused by: java.io.IOException: Failed to listen on port 8080

# 다른 포트를 사용하여 구동
java -jar /usr/share/jenkins/jenkins.war --httpPort=8888

# 리눅스 서비스로 등록하여 구동
sudo service jenkins start

# 또는 기본 포트 변경하고 구동
sudo vi /etc/default/jenkins
HTTP_PORT=8080

# 접속해 보기
http://127.0.0.1:8080

'Server > Ubuntu' 카테고리의 다른 글

jenkins E200030: READONLY  (0) 2015.10.09
ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars  (0) 2014.08.07
Jenkins 설치 및 구동하기 [임시]  (0) 2014.08.07
find  (0) 2014.05.21
SVN 인증 캐시 지우기.  (0) 2014.04.30
useradd , adduser  (0) 2013.10.06

find / -name apxs2

'Server > Ubuntu' 카테고리의 다른 글

ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars  (0) 2014.08.07
Jenkins 설치 및 구동하기 [임시]  (0) 2014.08.07
find  (0) 2014.05.21
SVN 인증 캐시 지우기.  (0) 2014.04.30
useradd , adduser  (0) 2013.10.06
Character Set 확인 및 변경  (0) 2013.08.08

이런 에러가 발생 했을 경우.. 

to enable the nesting exclude '......./' from ~~~

 
pom.xml 에 아래 태그를 삭제한다.

<sourceDirectory>src</sourceDirectory> 

해결..
~/.subversion/auth/svn.simple/ 하위 파일을 모두 지운다.

'Server > Ubuntu' 카테고리의 다른 글

Jenkins 설치 및 구동하기 [임시]  (0) 2014.08.07
find  (0) 2014.05.21
SVN 인증 캐시 지우기.  (0) 2014.04.30
useradd , adduser  (0) 2013.10.06
Character Set 확인 및 변경  (0) 2013.08.08
make install  (0) 2013.07.16

(왜.. 자동 배포가 꺼져있는지 아리송... 매일 새벽에 자동배포 되게끔 되어 있는데.. 음... )



위/경도를 미리 설정하여 마커를 표시하는건 간단하다.

국가(또는 지역)의 정중앙에 마커를 표시하게 되면 따로 마커를 설정할 필요가 없어서 시도해보았다.

결과를 보면 절반의 성공이다....

위도 계산이 안맞다;; 경도는 어찌해서 맞추었는데 위도는 못맞추겠다..

그리고.. 이게 부질없다고 느끼게 한 나라는.. 프랑스(FR)이다

프랑스는 남아메리카에도 영토가 있다;; 
프랑스 정중앙에 마커를 표시하면 대서양에 마커가 찍힌다.. 

고로.. 그냥 마커로 표시하는게 좋을듯하다는게 결론...

국가코드에 KR, US, FR, CA, CN, RU, JP, AU 등등... 

Result


Style
 
body{
	font-size: medium;
}
.jvm-legend {
	line-height: 2em;
	margin-top: 5px;
}
.jvm-legend span {
	vertical-align: middle;
}
.jvm-legend-item {
	width: 2em;
	height: 2em;
	display: inline-block;
	border-style : solid;
	border-color : black;
	border-width : 1px; 
}

.jvm-legend-item-15 {
	background: red;
}
.jvm-legend-item-10 {
	background: orange;
}
.jvm-legend-item-5 {
	background: yellow;
}
.jvm-legend-item-0 {
	background: white;
}

table .td-legend{
	padding-left: 10px
} 

Source
 
var jMap = null;
function numberFormatComma(n) {
	var reg = /(^[+-]?\d+)(\d{3})/;   // 정규식
	n += '';                          // 숫자를 문자열로 변환
	while (reg.test(n)){
		n = n.replace(reg, '$1' + ',' + '$2');
	}
	return n;
}

var countryData = []; 
//for each country, set the code and value
$.each(data.countries, function() {
    countryData[this.code] = this.pGdp;
});

var markers = [ ];

$(document).ready(function(){
	// map
	jMap = $('#jvm_worldMap').vectorMap({
		map : 'world_mill_en',
		series : {
			regions : [ {
				values : countryData,
				scale : [ '#C8EEFF', '#0071A4' ],	// two colors: for minimum and maximum values 
				normalizeFunction : 'polynomial'
			} ]
			,
			markers: [{
	            attribute: 'fill',
	            scale: ['#1B77E0', '#E01B1B'],
	            min: 0,
	            max: 1
	        }]
		},
		//-----------------------------------------------
        // changed to onRegionLabelShow from onLabelShow
        //-----------------------------------------------
        onRegionLabelShow: function(e, el, code) {
            //search through data to find the selected country by it's code
            var country = $.grep(data.countries, function(obj, index) {
                return obj.code == code;
            })[0]; //snag the first one
            //only if selected country was found in dataC
            if (country != undefined) { 
                el.html(el.html() + 
                        "
Code: " +country.code + "
Name: " + country.name + "
GDP/Person: $ " + numberFormatComma(country.pGdp)+ "
Population: "+ numberFormatComma(Math.round(Number(country.pop)/10000))+" 만명"); } } ,markerStyle : { initial : { fill : '#F8E23B', stroke : '#383f47' } }, markers : markers }); $('#countryCode').bind({ keyup : function(e){ switch(e.which){ case 13: var code = e.target.value; var mapObj = jMap.vectorMap('get', 'mapObject'); if(mapObj.regions[code] != undefined){ var bbox = mapObj.regions[code].element.getBBox(); var scale = mapObj.scale; // var centroid = [ (bbox.x * scale) + (bbox.width * scale)/2 + mapObj.transX, (bbox.y * scale) + (bbox.height * scale)/2 + mapObj.transY ]; // var centroid = [ ((bbox.x + bbox.width) * scale)/2 + mapObj.transX, ((bbox.y + bbox.height) * scale)/2 + mapObj.transY ]; // var latLng = mapObj.pointToLatLng( (bbox.x * scale) + (bbox.width * scale)/2 + mapObj.transX, (bbox.y * scale) + (bbox.height * scale)/2 + mapObj.transY ); var zoomMax = (mapObj.params.zoomMax * mapObj.baseScale); var widthPerZoom = bbox.width / zoomMax; var heightPerZoom = bbox.height / zoomMax; var scaleWidth = (scale * widthPerZoom); var scaleHeight = (scale * heightPerZoom); var test = [bbox.x + bbox.width/2, bbox.y + bbox.height/2]; // console.log(test); var latLng = mapObj.pointToLatLng(test[0] * scale, test[1] * scale) // console.log(latLng); var mk = { latLng : [latLng.lat, latLng.lng], name : code, style: {r: 5} } mapObj.addMarkers([mk], []); mapObj.onResize(); }else{ alert('invalid code!!'); } break; } } }) });


HTML
	
국가코드 :


가능하면 쓰지 말자..

'WAS' 카테고리의 다른 글

Jeus에서 function tag libary 사용시...  (0) 2013.11.12
WebLogic 9.2  (0) 2012.12.13


var nodeName = '';
function makeXml(element, str) {
	$.each(element, function(key, sub){
		if( sub instanceof Object){
			if ( sub instanceof Array ){
				$.each(sub, function(idx, data){
					str += makeXml(data, '');
					str += '';
				});
			}
			else{
				nodeName = '<'+key+'>';
				str += makeXml(sub, nodeName);
				str += '';
			}
		}
		else{
			var value = sub;
			if(key == 'text'){
				str += (value==null)?'':value;
			}
		}
	});
	return str;
}


	var headerSet = {};
	headerSet.staticsticKind = {text:'복합기후요소'};
	headerSet.staticsticDate = {text:'년도별: 2010 ~ 2012년'};
	headerSet.stn = {text:'강릉(105), 대관령(100), 동해(106), 북강릉(104), 속초(90), 영월(121), 원주(114), 인제(211), 정선군(217), 철원(95), 춘천(101), 태백(216), 홍천(212)'};
	headerSet.staticsticEtcCondition = {text:''};
	headerSet.staticsticPrintColumn = {text:'평균기온,최고기온,최저기온'};
	$.each(chartUploadFilePath, function(idx, path){
		headerSet[staticsticChartPath+(idx+1)] = {text:path};
	});
	headerSet.lastTitleVal = {text:'복합요소 통계보고서'};
	headerSet.firstColumn = {text:'지점번호'};
	headerSet.secondColumn = {text:'요소'};

	var resultData = {};
	resultData.headerSet = headerSet;

	var source = {};
	source.resultData = resultData;
	var xml = '';
	var result = makeXml(source, xml);
	console.log(result);


v

'프론트엔드 > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (1) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28

  • useradd : 순수 계정만 생성, 사용자 옵션에 따라 홈디렉토리 및 쉘을 설정해야만 한다.
  • adduser : 기본적인 정보를 입력받으며 계정을 생성하고, 홈디렉토리 생성 및 bash로 설정한다


자꾸 차이점이 기억이 안나기 시작한다.. ;;


useradd 주요 옵션..


  • -d : 홈디렉토리를 지정한 디렉토리로 생성
  • -m : /home/에 디렉토리 생성
  •  -s : shell 지정.
  • -c : 사용자에 대한 코멘트 입력 
대충 요정도.. 

 

'Server > Ubuntu' 카테고리의 다른 글

find  (0) 2014.05.21
SVN 인증 캐시 지우기.  (0) 2014.04.30
useradd , adduser  (0) 2013.10.06
Character Set 확인 및 변경  (0) 2013.08.08
make install  (0) 2013.07.16
SVN 다중 저장소  (0) 2013.06.13

Shape 파일을 열어서 해안선이 실측지도 처럼 나타나는 상황에서 jVectorMap으로 변환할 경우
IE8 이하에서 스크립트 엔진이 멈출 수 있다.


아래는 실측 해안선 일 경우 QGIS에서 확인한 폴리곤 포인트이다.  


위 처럼 포인트가 많을 경우 SVG로 변환할 Path도 많아지므로 VML로 그리다가 멈춘다.

이를 위해 포인트를 정리해주어야 하는데.. 

주위 GIS 개발자에게 물어본 결과 ArcGIS를 이용하여 단순화 할 수 있다고 한다.
그러나 너무 어렵다! 어디 들어가야하는지도 모르겠거니와... 방법도 모르겠고...


구글에서 찾다보니 아래 사이트가 있다.

mapshaper

 저 사이트가 날 살렸다.

웹상에서 슬라이더 조작만으로 포인트를 줄일 수 있다. 

아래처럼....



위 포인트는 눈으로 셀 수 있을만큼 줄어들었다.

실측 지도를 jVectorMap으로 변환하였을때는 17M
간략하게 만든 후 변환하였을때는 396 K

몇배 차이냐....   


● 값으로 지우기
Array.prototype.removeByValue = function() {
	if(!Array.prototype.indexOf) {
	    Array.prototype.indexOf = function(what, i) {
	        i = i || 0;
	        var L = this.length;
	        while (i < L) {
	            if(this[i] === what) return i;
	            ++i;
	        }
	        return -1;
	    };
	}
    var what, a = arguments, L = a.length, ax;
    while (L && this.length) {
        what = a[--L];
        while ((ax = this.indexOf(what)) !== -1) {
            this.splice(ax, 1);
        }
    }
    return this;
};


● 인덱스로 지우기
Array.prototype.removeByIdx = function(idx) {
    return (idx<0 || idx>this.length) ? this : this.slice(0, idx).concat(this.slice(idx+1, this.length));
};

'프론트엔드 > 스크립트 일반' 카테고리의 다른 글

숫자 뒤 % 붙이기.  (1) 2017.11.30
숫자 외 몇몇 키 만 입력받기  (0) 2017.11.30
String to Date  (0) 2017.11.29
Object to XML  (0) 2013.11.07
자바스크립트 Array remove  (0) 2013.08.28

+ Recent posts