출처 : http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecSpring&wr_id=330
'코드자료실'에 해당되는 글 42건
- 2018.06.16 [AOP] pointcut expression
- 2017.08.28 [secmon] 상태값
- 2014.12.09 [JavaScript] 사업자등록번호, 법인번호, 주민등록번호 검사
- 2014.12.09 [grails] 동적 태그 라이브러리 1
- 2014.10.21 [스크랩] Tomcat 서버에 특정 ip 만 접근 할 수 있게 설정하기 1
- 2014.09.29 [jquery]onload 시점
- 2013.07.02 getSession 사용법
- 2013.03.14 [meta 태그] meta태그 종류와 사용
- 2013.03.13 [jquery] ie7, ie6 json is undefined
- 2013.03.13 [oracle] spfile 복구방법
Category ID
프로세스 생성 (Process Create) 1
파일 생성 시간 변경 (File creation time changed) 2
네트워크 연결 탐지 (Network Connection Detected) 3
시스몬 상태 변경 (Sysmon service state changed) 4
프로세스 종료 (Process terminated) 5
드라이버 로드 (Driver loaded) 6
이미지 로드 (Image loaded) 7
스레드이벤트 생성 (CreatRemoteThread) 8
Disk/Volume Read 이벤트 (RawAccessRead*) 9
'코드자료실' 카테고리의 다른 글
[grails] 동적 태그 라이브러리 (1) | 2014.12.09 |
---|---|
[스크랩] Tomcat 서버에 특정 ip 만 접근 할 수 있게 설정하기 (1) | 2014.10.21 |
// 사업자등록번호 검사
function checkBizID(bizID)
{
var re = /-/g;
var bizID = bizID.replace(re,'');
var checkID = new Array(1, 3, 7, 1, 3, 7, 1, 3, 5, 1);
var tmpBizID, i, chkSum=0, c2, remander;
for (i=0; i<=7; i++){
chkSum += checkID[i] * bizID.charAt(i);
}
c2 = "0" + (checkID[8] * bizID.charAt(8));
c2 = c2.substring(c2.length - 2, c2.length);
chkSum += Math.floor(c2.charAt(0)) + Math.floor(c2.charAt(1));
remander = (10 - (chkSum % 10)) % 10 ;
if (Math.floor(bizID.charAt(9)) == remander){
return true; // OK!
}
return false;
}
// 법인번호 검사
function isRegNo(sRegNo)
{
var re = /-/g;
sRegNo = sRegNo.replace('-','');
if (sRegNo.length != 13){
return false;
}
var arr_regno = sRegNo.split("");
var arr_wt = new Array(1,2,1,2,1,2,1,2,1,2,1,2);
var iSum_regno = 0;
var iCheck_digit = 0;
for (i = 0; i < 12; i++){
iSum_regno += eval(arr_regno[i]) * eval(arr_wt[i]);
}
iCheck_digit = 10 - (iSum_regno % 10);
iCheck_digit = iCheck_digit % 10;
if (iCheck_digit != arr_regno[12]){
return false;
}
return true;
}
//주민등록번호 체크
//111111-1111118
function chkJumin(jumin) {
if(jumin.match(/^\d{2}[0-1]\d[0-3]\d-[1-4]\d{6}$/) == null) {
return false;
}
var chk = 0;
var i;
var last_num = jumin.substring(13, 14);
var chk_num = '234567-892345';
for(i = 0; i < 13; i++) {
if(jumin.charAt(i) != '-')
chk += ( parseInt(chk_num.charAt(i)) * parseInt(jumin.charAt(i)) );
}
chk = (11 - (chk % 11)) % 10;
if (chk != last_num) return false;
return true;
}
출처 : http://thdwns2.springnote.com/pages/894862
'코드자료실 > javascript' 카테고리의 다른 글
[jquery]onload 시점 (0) | 2014.09.29 |
---|---|
[jquery] ie7, ie6 json is undefined (0) | 2013.03.13 |
[jquery] long polling 기법 구현 (0) | 2013.02.13 |
[jquery] jsonp 사용 (0) | 2013.01.24 |
[jquery] jquery ui tabs (0) | 2013.01.16 |
동적 태그 라이브러리
Grails는 JSP와 GSP에서 사용할 수 있는 다양한 종류의 커스텀 태그를 내장하고 있지만(태그 라이브러리 래퍼런스 를 참고하세요), Grails의 간결한 동적 태그 라이브러리 메커니즘을 이용하면 개발자가 직접 단순 커스텀 태그(simple custom tags), 논리 커스텀 태그(logical custom tags), 반복 커스텀 태그(iterative custom tags)를 만들 수도 있습니다.
Grails 태그는 추가적인 설정이 필요 없고, TLD를 갱신할 필요도 없으며, 서버 재시작 없이 런타임에 자동으로 리로드 된다는 장점을 갖습니다. 이러한 특성 덕에 개발자들은 마치 뷰의 다른 부분들을 개발하는 것 처럼 점진적으로 유용성을 높여가며 태그를 개발할 수 있습니다.
단순 태그(Simple tags)
새 태그를 만들려면 "grails-app/taglib/ApplicationTagLib.groovy" 파일을 열어서 수정하거나, 이름이 "TagLib"로 끝나는 새 클래스를 만들어야 합니다. 단순 태그를 만들려면 클래스에 하나의 인자를 갖는 새로운 클로저 속성을 추가하면 됩니다. 이 인자는 태그의 속성 집합입니다:
이 태그를 GSP 페이지에서 호출하려면 "g" 접두사를 붙여서 태그 속성 이름을 적어주면 됩니다:
논리 태그(Logical tags)
논리 태그를 만들려면 두 개의 인자를 갖는 클로저 속성을 추가해야 합니다. 첫 번째 인자는 태그의 속성 집합이고, 두 번째 인자는 태그의 본문(body)이며 인자 자체가 또 다른 클로저 입니다.
위 태그는 사용자가 관리자(administrator)인지 판별한 후, 관리자인 경우에만 태그의 본문을 호출합니다:
반복 태그(Iterative tags)
반복 태그를 만드는 것 또한 가능합니다:
반복 태그를 호출하려면 아래와 같이 하면 됩니다:
태그를 이용하여 마크업 만들기
Grails는 태그를 이용하여 마크업을 만들 수 있도록 도와주는 특별한 메서드를 제공합니다. 마크업을 만드는 것은 태그의 일반적인 활용 사례 중 하나입니다. 마크업을 만들려면 'mkp' 메서드를 호출하면서 화면에 출력하고자 하는 마크업들과 함께 클러저를 전달해주면 됩니다:
GSP 태그를 메서드로써 호출하기
GSP 태그들은 GSP 페이지 안의 Groovy 표현식으로 사용될 수도 있습니다. 예를 들어 hasErrors 태그는 다음과 같이 평범한 태그로 쓰일수도 있고:
아래처럼 메서드로써 호출될 수도 있습니다:
메서드의 마지막 인자는 태그의 본문(body)으로 취급됩니다. 또는 아래와 같이 문자열을 반환하는 클로저를 넘겨도 됩니다:
JSP에서 Grails 태그 라이브러리 사용하기
JSP에서 Grails 태그 라이브러리를 쓰려면 JSP의 "invokeTag" 태그를 이용하며 Grails의 태그 라이브러리를 호출해주면 됩니다.
만약, Grails 태그를 다른 평범한 JSP 태그처럼 사용하려면 아래 단계를 수행해야 합니다:
1) Grails의 org.codehaus.groovy.grails.web.taglib.jsp.JspInvokeGrailsTagLibTag 클래스를 상속받는 자바 클래스를 생성하고 생성자에서 "setName()" 메서드를 호출하여 여러분의 태그 이름을 전달해줍니다:
2) JSP에서는 각각의 태그에 대해 선언적 태그 라이브러리 정의(TLD)가 존재해야 합니다. 따라서 "web-app/WEB-INF/tld/grails.tld" 파일을 수정하여 여러분의 클래스를 지칭하는 적절한 엔트리를 추가해주어야 합니다:
3) 이제 Grails 태그를 다른 평범한 JSP 태그처럼 호출할 수 있습니다:
출처 : http://docs.codehaus.org/display/grails/korean+dynamic+tag+libraries
'코드자료실' 카테고리의 다른 글
[secmon] 상태값 (0) | 2017.08.28 |
---|---|
[스크랩] Tomcat 서버에 특정 ip 만 접근 할 수 있게 설정하기 (1) | 2014.10.21 |
Tomcat 서버에 특정 ip 만 접근 할 수 있게 설정하기
- Windows 경우 Default 설치 경로 : C:\Program Files\Apache Software Foundation\Tomcat 6.0
- Linux 의 경우 : /usr/local/tomcat
2. context.xml 파일의 맨 끝부분에 다음의 내용이 반드시 있는지 확인 한다
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
3. </WatchedResource> 태그 다음 라인에 아래의 내용을 추가 한다. allow 항목에 허용하고 싶은 ip 를 넣는다. ip 가 여러개 일경우 192.168.1.22|192.168.1.33 과 같이 넣고 저장 한다
- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="IP1|IP2|IP3"/>
4. Tomcat 을 다시 시작 한다
- Windows 경우 : Trayicon 영역에서 tomcat 아이콘을 찾아 마우스 오른쪽 마우스 클릭하여 Stop Service 후 Start Service 하면 된다
- Linux 의 경우 : /etc/init.d/tomcat restart 하면 된다
[ 주의 ]
- Tomcat 의 각종 설정 파일들 안에 한글 주석을 달 경우 주의 해야 한다. 각종 *.xml 파일들이 Tomcat 이 Start 할 때 Parse 되는데 이때 한글 주석을 만나면 Error 가 발생하며, Tomcat Service 는 올라 왔지만, 메인 Servlet 이 Load 실패 하기 때문에 해당 웹 페이지가 열리지 않는다.
어쩔 수 없이 한글 주석을 달아야 한다면, 해당 *.xml 파일의 맨 상단의 encoding='utf-8' 부분을 encoding='eucKR' 로 변경하고, Tomcat 을 재시작하면 된다
'코드자료실' 카테고리의 다른 글
[secmon] 상태값 (0) | 2017.08.28 |
---|---|
[grails] 동적 태그 라이브러리 (1) | 2014.12.09 |
jQuery 활용하기
$(document).ready()
DOM 데이터만 로드되면 바로 실행된다. 그러므로 window.onload 보다 빨리 실행된다.
jQuery를 이용한 실행 시점 순서이다.
$(window).load(function() { 모두 로드된 후에 처리 });
$(document).ready(function() { DOM객체 로드시 처리 });
$(function() { 로딩 될 때 });
'코드자료실 > javascript' 카테고리의 다른 글
[JavaScript] 사업자등록번호, 법인번호, 주민등록번호 검사 (0) | 2014.12.09 |
---|---|
[jquery] ie7, ie6 json is undefined (0) | 2013.03.13 |
[jquery] long polling 기법 구현 (0) | 2013.02.13 |
[jquery] jsonp 사용 (0) | 2013.01.24 |
[jquery] jquery ui tabs (0) | 2013.01.16 |
getSession(), getSession(true), getSession(false) 차이점
- HttpSession이 존재하면 현재 HttpSession을 반환하고 존재하지 않으면 새로이 세션을 생성합니다
2. getSession(false)
- HttpSession이 존재하면 현재 HttpSession을 반환하고 존재하지 않으면 새로이 생성하지 않고 그냥 null을 반환합니다
3. 사용 예
HttpSession session = request.getSession();
HttpSession session = request.getSession(true);
위는 동일한 결과를 반환합니다
새로 생성된 놈인지 확인은 session.isNew() 로 가능합니다
그리고 getSession(), getSession(true)는 null 체크없이 바로 getAttribute()를 사용해도 무방하지만, getSession(false)는 null을 리턴할수 있기 때문에 null체크를 해야 합니다.
HttpSession session = request.getSession(false);
if (session != null)
User user = (User) session.getAttribute("User");
'코드자료실 > java / jsp' 카테고리의 다른 글
[jstl] request 객체 접근하기 (0) | 2013.01.24 |
---|---|
[jsp] 브라우저 캐쉬 설정 (0) | 2012.12.23 |
[java] 개행문자 제거하기 (0) | 2012.11.29 |
<meta name=“Author” content=“NOLS”> Author:제작자의 이름이 NOLS라는 뜻
<meta name=“Generator” content=“Microsoft FrontPage 4.0”> 페이지를 프론트 페이지로 제작
<meta name=“Copyright” content=“2003 RANGS”> 저작권에 관한 정보
<meta name=“Keywords” content=“html,tag,mata,메타,태그”> 검색엔진에서 검색되는 키워드
<meta name=“Description” content=“META 태그에 관한 정보”> 페이지에 대한 정보
<meta http-equiv=“Content-Type” content=“text/html; charset=euc-kr”> 문자 인코딩
<meta http-equiv=“Refresh” content=“60”> 60초 마다 새로고침
<meta http-equiv=“Refresh” ccontent=“5;url=주소”>주소로 5초후 이동
<meta http-equiv=“Pragma” content=“no-cache”> 캐쉬가 되지 않게
<meta http-equiv=“Expires” content=“Mon, 08 Sep 2003 10:10:10 GMT”> 캐쉬 만료(파기)일
<meta http-equiv=“Page-Enter” content=“revealtrans(duration=1,transition=12)”>페이지 들어갈때 트랜지션 효과(장면 전환 효과)
<meta http-equiv=“Page-Exit” content=“revealtrans(duration=1,transition=12)”>페이지 나갈때 트랜지션 효과(장면 전환 효과)
<meta http-equiv=“Imagetoolbar” content=“no”>이미지 마우스 오버시 이미지툴바 생기지 않게해줌
<meta http-equiv="refresh" content="5; url=main.html"> 페이지 이동
'코드자료실 > html' 카테고리의 다른 글
[html] 특수문자 코드표 (0) | 2013.01.21 |
---|---|
[링크] 홈페이지 템플릿 (0) | 2012.12.14 |
Systax Highlighter 사용법 (0) | 2012.12.10 |
jquery ie7, ie6 json is undefined
<!--[if lt IE 7]><script type="text/javascript" src="js/json/json2.js"></script><![endif]-->
<!--[if IE 7]><script type="text/javascript" src="js/json/json2.js"></script><![endif]-->
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
스크립트를 포함시켜주면 된다.
http://www.devcurry.com/2010/12/resolve-json-is-undefined-error-in.html
'코드자료실 > javascript' 카테고리의 다른 글
[JavaScript] 사업자등록번호, 법인번호, 주민등록번호 검사 (0) | 2014.12.09 |
---|---|
[jquery]onload 시점 (0) | 2014.09.29 |
[jquery] long polling 기법 구현 (0) | 2013.02.13 |
[jquery] jsonp 사용 (0) | 2013.01.24 |
[jquery] jquery ui tabs (0) | 2013.01.16 |
ORA-01034: ORACLE not available
|
http://blog.naver.com/gogojinny80?Redirect=Log&logNo=110076620135
를 참고 하여 아래 명령어를 실행
sqlplus /nolog
sql>connect sys/비밀번호 as sysdba // conn sys/as sysdba sql>startup
|
하지만 실패..
왜이런 에러가 뜨는지 본에러 내용이 표출되었다.
ORA-01565
spfile을 불러 올 수 없어 에러가 나는것 같았다.
확실히 어제 nls_sort, nls_comp 파라메터를 추가 시켜주려고 수정했던것이 생각났다.
http://blog.naver.com/langve/80099521224
위 글로 부터
spfile : 환경변수를 저장한 2진 파일
pfile : 환경변수를 저장한 텍스트 파일
파라미터 저장 파일 : [orahome]/dbs/spfile[sid].ora
8i 까지는 메모장같은것으로 위의 파일을 열어 수정 할 수 있었지만
9i 부터는 명령어를 통해서만 수정 가능하다.
파라미터 파일이 있어야 오라클이 구동 1단계를 커쳐 노마운트를 넘어 갈 수 있으므로
오라클이 구동되지 않고 v$ 내용마자 찾을 수 없다면 파라미터 파일을 고쳐야 한다.
이라는 정보를 얻었다.
어제 명령어로 수정한 spfile을 수정사항 복구를 위해 에디트플러스로 수정을 하여 발생했다는 원인을 파악 할 수 있었다.
그래서 에디트플러스로 파일을 열때 인코딩형식을 물어봤군..
이제는 손상된 spfile을 복구시키는 방법을 찾았다.
http://cafe.naver.com/oracle1004/108
http://blog.naver.com/meldin/60090587998
두글을 참고 하여 아래와 같은 절차를 통했다.
SQL> startup mount pfile=C:\oraclexe\app\oracle\product\10.2.0\server\config\scr Total System Global Area 805306368 bytes 파일이 생성되었습니다. SQL> shutdown immediate;
Total System Global Area 805306368 bytes 데이터베이스가 열렸습니다. Total System Global Area 805306368 bytes |
에러 해결.
'코드자료실 > database' 카테고리의 다른 글
[oracle] 리눅스에서 덤프파일 사용 (0) | 2013.03.12 |
---|---|
[oracle] 문자 조작 함수 (0) | 2013.02.20 |
[oracle] delete data 복구 (0) | 2013.02.12 |
[database] varchar2 vs nvarchar2 (0) | 2013.01.25 |
[Oracle] 페이징 쿼리 (0) | 2012.12.23 |