달력

6

« 2013/6 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'2013/06'에 해당되는 글 2

  1. 2013.06.21 오라클 리스너 에러
  2. 2013.06.12 JavaScript 정규 표현식을 이용한 템플릿
2013. 6. 21. 17:07

오라클 리스너 에러 그거/DB2013. 6. 21. 17:07

퇴근 5분전에 회사에서 보안 뭐시기 때문에 프로그램을 설치하라 그래서 설치하고 퇴근..

다음날 와서 보니.. PC 에 설치한 Oracle DB 에 접속이 안되는 문제가...


원인을 확인해보니. listener 가 죽어있다..

서비스에서 아무리 재시작을 해도 계속 죽는다...


프로그램 설치 후에 발생한 문제라서, 보안 담당자한테 물어봤더니

"PC 의 호스트네임이 바뀝니다" 라는... 이런 써글..


product\11.2.0\dbhome_1\NETWORK\ADMIN 경로에 보면


listener.ora 파일이 있는데,


LUCKYDB_LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = LUCKY_SVR)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )


원래 이랬던 내용이다..


리스너에서 PC 의 호스트네임을 사용한다는...


그래서 아래와 같이 바뀐 호스트네임으로 바꿔주고.


LUCKYDB_LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = XXXXDDBB)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )



lsnrctl LUCKYDB_LISTENER start

했더니.. 잘 뜨네...

근데 문제는!!!

EM(Enterprise Manager)가 뜰 생각을 않는다..

이건 뭘 고쳐야 되는겨.. 아쒸.. ㅜㅜ


:
Posted by 뽀기

내부적으로 사용할 코드 만들면서 정리합니다.


사용법부터 보면 아래와 같습니다.

아래와 같이 템플릿 코드가 보여줄 태그를 설정하고

<tbody id="showList">

</tbody>


기본 템플릿 코드를 아래와 같이 설정한다.

<script id="listTemplate" type="text/x-lucky-template">

<tr>

<td><a href="merong.jsp">{{name}}</a></td>

<td>{{tel}}</td>

<td>{{address}}</td>

<td>{{email}}</td>

<td>{{age}}</td>

</tr>

</script> 

데이터와 매핑시키는 부분은 {{name}} 형식과 같이 필드명의 왼쪽에 {{, 오른쪽엔 }} 를 붙여준다.

실제 사용은 아래와 같이 한다.

var listData = [

{

"name" : "lucky",

"tel" : "010-1111-1234",

"address" : "서울",

"email" : "mail@mail.com",

"age" : "10"

},

{

"name" : "lucky2",

"tel" : "010-1111-1234",

"address" : "서울",

"email" : "mail@mail.com",

"age" : "100"

}

];

var codes = $("#listTemplate").html();

Template.render(codes, listData, "showList");


구현 소스는 아래와 같습니다.

Template = new function() {

this.tplTagRegExp = /\{\{[a-zA-Z0-9]*\}\}/gi;

};


/**

 * 화면에 list template 을 그림

 * 

 * @param {String} templateCode HTML 코드 작성용 템플릿 코드

 * @param {Object} mappingData 템플릿 코드에 매핑시킬 데이터 객체

 * @param {String} showId 데이터가 매핑된 템플릿 코드를 뿌려줄 화면 객체의 ID

 */

Template.render = function(templateCode, mappingData, showID) {

var codes = "";

for(var i = 0 ; i < mappingData.length ; i++ ) {

var rowData = mappingData[i];


var tmpStr = templateCode.replace(this.tplTagRegExp, function($1) {

var tag = $1.substring(2, $1.length-2);

var data = rowData[tag];

if( data ) {

return data;

} else {

return "";

}

});

codes += tmpStr;

}


$("#" + showID).append(codes);

};


정규표현식과 javascript 는 참 재밌습니다.

근데, 어렵습니다. ㅡㅡ;


:
Posted by 뽀기