yjhyjh5369의 등록된 링크

키자드에 등록된 총 966개의 포스트를 확인하실 수 있습니다.

Naver Blog

IE 7과 8의 호환.. 강제로 IE7로 맞추는 방법

IE7과 IE8이 서식(?)이 달라서 같은 CSS로 다른 결과가 나온다. 웹 페이지에서 강제로 낮은 버전으로 랜더링하는 방법이 있다. <meta http-equiv="X-UA-Compatible" content="IE=7" /> 이 메타 태그를 모든 페이지에다가 붙여넣고 7 기준으로 개발하면 될것 같은데...

Naver Blog

[css] word-wrap

그냥 일반적으로 검색해서 나오는 word-wrap 방법들은 뭔가 하나씩 안됨. 테스트 결과 다 되는 것 찾았음.. <style type="text/css"> table { table-layout:fixed; } p { width: 300px; border:1px solid red; word-wrap:break-word; word-break:break-all; } .wordBreak { font-size:0; line-height:0; } </style> <script type="text/javascript"> //<![CDATA[ function wordBreak(element) { element.innerHTML = element.innerHTML.split('').join('<span class="wordBreak"> </span>'); } //wordBreak(document.getElementsByTagName('div')[0]); wordBreak(document.getEl

Naver Blog

중복 데이터 삭제 [postgres]

원래 코드 DELETE FROM 테이블명 as A WHERE rowid > (SELECT min(rowid) FROM 테이블명 as B WHERE B.필드명 = A.필드명; [출처] 중복 데이터 삭제|작성자 더클레오 postgres DELETE FROM 테이블명 as A WHERE ctid> (SELECT min(ctid) FROM 테이블명 as B WHERE B.필드명 = A.필드명);

Naver Blog

java 한글처리

public static String a2kTest(String str) { String rtn = null; try { rtn = (str == null) ? "" : new String(str.getBytes("ISO-8859-1"), "UTF-8"); if (check(rtn)) { return rtn; } } catch (java.io.UnsupportedEncodingException e) { } try { rtn = new String(str.getBytes("Cp1252"), "UTF-8"); if (check(rtn)) { return rtn; } } catch (java.io.UnsupportedEncodingException enc) { } return str; } public static boolean check(String target) { boolean iskorean = false; if (target == null) { return iskorean; } i

Naver Blog

crontab에 java(자바) class 등록하여 사용

1. crontab 명령어 crontab -l : 등록된 crontab 목록을 보여준다. crontab -e : 등록된 crontab을 수정한다. crontab -r : 등록된 crontab을 삭제한다. 2. 인터넷에 여러가지 방법이 떠돌아 다니지만 다 필요 없고 runnable jar 파일을 생성해서 커맨드라인에 vi 파일명.sh 을 입력하고 파일의 내용에 java -jar 파일명.jar 하면 된다. ex) sh파일 내용 cd /usr cd local // 해당경로로 이동 java -jar 123.jar 이후에 chmod 755 파일명.jar 해주면 완성! 3. crontab에 등록하려면 crontab -e를 입력하여 들어간 뒤 1 2 3 4 5 /경로/ 를 주면 완료된다. 1 : 분 2 : 시간 3 : 날짜 4 : 달 5 : 요일 - 0~6 [0은 일요일] 해당 필드에 *를 주면 모든이라는 뜻이므로 날짜에 *이라고 해주면 매일 동작하는 것이다. ex) 0 * * * * aaa.s

Naver Blog

join을 해야 하는데 column이 비어 있을수도 있을 경우

SELECT y.ticket_id, y.reg_user_id, y.status, y.resolution, y.ticket_title, y.ticket_content, y.from_date, y.to_date, y.open_date, y.complete_date, y.ticket_type, y.severity, y.priority, y.reg_date, y.site_name, x.alert_name /*FROM*/ FROM (SELECT a.ticket_id, b.alert_name FROM ticket_doc a, esm_alert_list b WHERE a.status='reject' AND ticket_title LIKE '%%' AND a.alert_id = b.alert_id) x RIGHT OUTER JOIN ( SELECT a.ticket_id, a.reg_user_id, a.status, a.resolution, a.ticket_title, a.ticket_content

Naver Blog

[jquery - jqgrid] row 어쩌구 에러 나올때

jqgrid는 table에 넣어야 하는데 <div>태그를 사용하면 row 에러가 난다.

Naver Blog

주별, 월별로 묶을때

group by to_char(날짜, 'W')로 하면 일월화수목금토 로 묶는다. group by date_trunc('week', 날짜)로 하면 월화수목금토일 로 묶는다. 따라서 심각한 수준의 오차 발생

Naver Blog

XHTML 공백문자 처리

XHTML에서는 스페이스와 Tab 키, 행 바꿈 등을 동일하게 공백문자로 처리한다. 유니코드상에서는 스페이스, Tab, 라인피드, 캐리지 리턴의 네 가지를 공백문자로 처리한다. HTML에서는 이에 더해 폼 피드, 캐리지 리턴+라인피드, 제로 폭 스페이스가 공백문자로 여겨지므로 주의해야 한다. 시작 태그 바로 뒤에 공백문자, 종료 태그 바로 앞의 공백문자는 무시된다.

Naver Blog

웹 표준의 장점

1. 수정과 관리 용이 새로운 버전의 브라우저가 출시되거나 사이트 디자인이 큰 폭으로 리뉴얼 될 때 드는 부담이 크게 줄어든다. 2. 웹 접근성 향상 3. SEO(검색엔진 최적화) 대책 검색엔진의 크롤러는 XHTML 소스를 거의 액면 그대로 해석하기 때문에 적절하게 구조화되고 깨끗하게 정리된 소스는 검색로봇이 잘 검색할 수 있다. 4. 파일 사이즈 축소와 서버 저장 공간 절약 5. 하위호환성과 상위 호환성 확보

Naver Blog

<br> Tag 폐지

현재 재정중인 XHTML 2.0의 초안에는 br은 폐지되고 새롭게 <l>가 도입될 예정이다. ex) <p>가나다라마바<br/>사아자</p> 가 아니라 <p> <l>가나다라마바</l> <i>사아자</l> </p> 이렇게 써야 함

Naver Blog

정의형 목록(dl, dt, dd)

용어와 그 설명으로 구성된 목록을 정의형 목록이라고 한다. 정의형 목록은 dl 요소로 정의하고 용어를 나타대는 dt 요소와 그 설명인 dd요소를 포함한다. 많은 브라우저에서 dd 요소가 들여쓰기되어 표시된다. dd요소는 블록 레벨 요소이지만 dt요소와 dd요소 이외의 요소를 포함할 수 없다. dt요소는 인라인 요소이며 인라인 요소와 텍스트를 포함 할 수 있다. dd요소는 블록 레벨 요소이며 인라인 요소와 텍스트를 포함 할 수 있고, 블록 레벨 요소도 포함 할 수 있다.

Naver Blog

<table>

1. WCAG 1.0에서는 table 요소에 summary 속성으로 요약문을, th 요소에는 abbr 속성으로 약어를 지정할 것을 규정하고 있다. 2. width, height, border, frame, rules, cellspacing, cellpadding, align, valign 속성 모두 폐지 예정. 3. 행 그룹화를 위한 thead , tfoot , tbody 요소 이 요소들은 caption, col, colgroup 요소의 다음에 thead, tfoot, tbody의 순서로 지정한다. 이와 같이 행을 그룹화하는 이유는 브라우저가 긴 표에 대해서 tbody 오소의 범위 안에 스크롤바를 제공한다든지, 인쇄할 때 표가 복수의 페이지에 걸친 경우에 모든 페이지에 헤더행을 반복해서 표시하는 기능을 부여하기 때문이다. (thead, tfoot는 생략 가능) 4. 열 그룹화를 위한 colgroup, col 요소 표의 열을 그룹화하기 위한 요소로 colgroup, col 요소가 있다

Naver Blog

tabindex속성과 accesskey 속성

a 요소에 tabindex 속성과 accesskey 속성을 지정하여 키조작에 의한 포커스 이동 방식을 사용자에게 제공할 수 있다. 1. tabindex 키보드 Tab키를 눌렀을 때의 포커스 이동 순서를 지정한다. 0에서 32767까지 지정 가능하다. 2. accesskey 액세스키를 눌렀을 때의 포커스를 지정한다. 대/소문자를 구별하지 않는다.

Naver Blog

CSS 속성 선택자

속성 선택자는 특성 속성명이나 속성값을 가진 요소에 스타일을 적용하기 위한 선택자다. 속성 선택자에는 네 가지 서식이 있다. 1. 요소명[속성명] id의 값은 관계 없이 id가 존재하기만 하면 된다. ex) h1[id] { color: red; } 2. 요소명[속성명="속성값"] ex) h1[id="abc"] { color: red; } 3. 요소명[속성명~="속성값"] 요소 중에서 그 속성명을 가지고 속성값을 공백문자로 구분하여 복수지정한 경우 그 속성 값이 포함된 요소에 스타일을 적용한다. ex) P[class~="note"] { color: red; } <p class "va1 va2 note">aaaaa</p> 4. 요소명[속성명|= "속성값"] 요소 중에 그 속성명을 가지고 속성값을 하이픈(-)으로 구분하여 복수지정한 경우 그 속성값의 앞 부분이 일치하도록 포함된 요소에 스타일을 지정한다.

Naver Blog

jQuery - addClass, toggleClass, removeClass

jQuery에서는 class로 적용된 요소를 동적으로 처리할 수 있는 함수를 제공한다. #addClass(className) - 해당 className을 가진 클래스 속성을 추가. 즉 이벤트가 발생한 노드에 선언된 클래스 스타일을 적용시킨다. .hidden {display:none;} $("#box").addClass("hidden"); id="box"> #removeClass(className) - removeClass는 addClass의 반대이다. 해당클래스 속성을 지정된 노드에서 제거해준다. - 사용법은 addClass와 동일하다. #toggleClass(className) - toggleClass는 addClass와 removeClass의 기능을 모두 포함하는 메소드이다. toggle이란 용어의 의미대로 addClass와 removeClass 함수가 toggle 형식으로 교대로 적용된다. 즉, 스타일 클래스가 적용된 경우는 제거를, 속성이 선언되어 있지 않은 경우에는 선언해주

Naver Blog

postgres에서 에러가 나는 경우 로그를 보는 방법

1. su - postgres로 들어간다. 2. 경로 : /var/lib/pgsql/data/pg_log로 이동 3. tail -f 파일명 [ex : tail -f postgresql-Mon.log] * 에러가 발생하는 경우만 log가 추가된다.

Naver Blog

jquery를 사용하지 않는 마우스 오버

table의 tr 또는 td 그리고 dt, dd등도 css로 hover를 줄 수 있다. dt:hover{ } 등.

Naver Blog

Java & JavaScript 인코딩 타입에 관계없이 문자열을 인코디 디코딩 하기

http://kin.naver.com/knowhow/detail.nhn?d1id=8&dirId=8&docId=576518&qb=amF2YSBlbmNvZGUgIGphdmFzY3JpcHQgZGVjb2Rl&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=gSvLBB331yCssvrHRidssv--489690&sid=TVC43PKzUE0AADrSBLk javascript <-> java 호환 가능

Naver Blog

tomcat + openssl

SSL Setting 1) openssl 설정파일 openssl.cnf 을 연다 [find . -name 'openssl.cnf' 로 경로 확인] ----------------------------------------- [ CA_default ] dir = /root/demoCA ----------------------------------------- 로 설정함.. 2) 설정한 디렉토리로 이동 cd /root/demoCA 3) 필요한 디렉토리와 파일들을 생성한다. mkdir certs mkdir crl mkdir newcerts mkdir private touch index.txt echo "0001" > serial echo "0001" > crlnumber 4) CA 및 서버 인증서 생성 - 자체인증기관 생성 openssl genrsa -des3 -out ./private/cakey.pem 2048 openssl req -new -x509 -days 3650 -key ./p

Naver Blog

면접시 호감 또는 비호감 답변 순위

(www.career.co.kr)가 기업 채용담당자 247명을 대상으로 조사한 결과 호감 1위. ‘앞으로 ~분야에서 경험을 쌓고 싶다’는 ‘성장인재형’ 2위. ‘~을 통해 극복했습니다’의 ‘위기극복형’ 3위. ‘면접관님과 얘기를 나누다 보니 긴장이 덜하고 오히려 편안해졌다’는 ‘현장적응형’ 4위. ‘이 회사에 지원하기 위해 ~을 노력했습니다’인 ‘노력형’ 비호감 1위. ‘특별한 지원동기가 없다’는 ‘무관심형’ 2위. ‘방금 전에 대답을 했는데 또 말씀 드려야 합니까?’라는 ‘안하무인형’ 3위. ‘잘 생각나지 않습니다. 잘 모르겠습니다’라는 ‘무대포형’ 4위. ‘있는데요…그런데요…’와 같은 ‘유아형’ 5위. ‘그리 뛰어나게 잘 하는 것은 없습니다’의 ‘자기비하형’ 6위. ‘다른 사람은 몰라도 저는 그렇지 않습니다’의 ‘자기자랑형’ * 면접시 가장 세심하게 체크하는 사항 1위 ‘목소리와 말투’를 가장 많이 들었다. 2위 ‘전체적인 분위기 및 외모’ 3위 ‘면접시간 준수’ 4위 ‘옷차림

Naver Blog

tomcat error page

web.xml에서 <error-page> <error-code>403</error-code> <location>/WEB-INF/view/exception/403.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/WEB-INF/view/exception/404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/WEB-INF/view/exception/500.jsp</location> </error-page> 등과 같이 정의. 여기서 유의할 점은 403.jsp 등과 같은 에러 페이지는 반드시 512byte이상의 크기를 가져야 한다는 것이다. * html status(error) code "100" ; Section 10.1.1: Continue | "101" ; Section 10.1.2: Swi

Naver Blog

jsp download 후 새로고침이 필요할 경우

jsp에서 download를 하면 header의 referer가 소멸하여 referer를 체크하여 무엇인가 하려고 할때 에러가 발생한다. 따라서 아래의 편법을 사용 1. 다운로드 클릭시 새창팝업 2. 팝업창에서 다운로드 - 팝업 onload시 다운로드 시작 3. 다운로드 완료후 창닫기 클릭 - 사용자에게 다운로드 완료 후 창닫기 클릭하라는 메시지 보여줌 반드시 다운로드 완료 후 완료 버튼을 클릭하세요 [완료] 4. 팝업창에서 parent 페이지 refresh 출처 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040202&docId=76316536&qb=anNwIGRvd25sb2FkIOyDiOuhnOqzoOy5qA==&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=gjzHsz331xossvwUzchssv--054514&sid=Taz2fNfDrE0AACl0Sek

Naver Blog

jsp jquery 마우스 오른쪽 차단

$(document).bind("contextmenu", function(e){ return false; });

Naver Blog

iframe 또는 dialog안의 문서인지 아닌지 구분할때

parent.document == document 를 쓰면 된다. parent.document를 하였을때, parent문서가 존자하지 않으면 자기 자신을 가리키기 때문에...

Naver Blog

jQuery Layout

jQuery Layout이 존재하는 페이지에서 body의 기본 css display속성을 none으로 했다가. ready에서 $("body").css("display", ""); 으로 해줄 경우 size를 제대로 계산해주지 못하여 Layout이 깨진다.

Naver Blog

ckeditor 사용법 정리

1. ckeditor import <script type="text/javascript" src="/업로드폴더/ckeditor.js"></script> 2. ckeditor 추가 2.1 html <textarea id="editor1" name="editor1" style="width:100%;height:200px;"></textarea> 2.2 javascript CKEDITOR.replace( 'editor1' ); 3. config 3.1 skin CKEDITOR.replace( 'editor1',{ skin:'스킨폴더명' }); ※ CKeditor 에서는 3가지 스킨을 기본적으로 포함하고 있습니다. (kama,office2003,v2) 3.2 interface color CKEditor 기본스킨을 사용할 시 위지윅 에디터의 인터페이스 UI 컬러를 설정할 수 있습니다. CKEDITOR.replace( 'editor1',{ uiColor: '#14B8C4' }); 4. Ente

Naver Blog

jQuery 성능 향상 방법 25가지

Introduction jQuery is awesome. I've been using it for about a year now and although I was impressed to begin with I'm liking it more and more the longer I use it and the more I find out about it's inner workings. I'm no jQuery expert. I don't claim to be, so if there are mistakes in this article then feel free to correct me or make suggestions for improvements. I'd call myself an "intermediate" jQuery user and I thought some others out there could benefit from all the little tips, tricks and te

Naver Blog

jQuery 성능향상 방법

jQuery 성능 조정 이 기사의 두 번째 부분에서는 jQuery 코드의 성능을 향상시키는 방법을 살펴본다. 앞 섹션에서는 jQuery를 JavaScript 라이브러리로 선택하는 것이 성능을 고려했을 때 현명한 선택이라는 점을 살펴보았다. 운이 좋아서 이 기사를 읽고 있다면 아마도 jQuery를 사용해 보고 있을 것이다. 하지만 기본 라이브러리가 빠르다고 해서 작성한 모든 코드의 품질이 좋다고 말할 수는 없다. jQuery를 사용하여 코드를 작성할 때 주의를 기울이지 않을 경우 실제로 매우 느린 코드가 작성될 수도 있기 때문이다. 이 섹션에서는 jQuery 코드의 속도를 향상시키기 위한 몇 가지 성능 조정 및 베스트 프랙티스 팁을 단계별로 설명한다. 팁 1 - 되도록이면 CLASS 대신 ID를 사용하여 검색한다. jQuery 코드에서는 일반적으로 ID를 기준으로 요소를 검색하는 기술과 CLASS를 기준으로 요소를 검색하는 두 가지 검색 기술이 일반적으로 사용된다. JavaScript

Naver Blog

jQuery 성능 향상 방법

$("#site_id").css("display", "none"); $("#site_id").css("color", "red"); $("#site_id").css("border", "1px solid #cccccc"); 와 같이 사용할 경우에는 매번 객체를 search 하기 때문에 오래 걸린다. 이와 같은 경우 var $site_id = $("#site_id"); $site_id.css("display", "none"); $site_id.css("color", "red"); $site_id.css("border", "1px solid #cccccc"); 이와 같이 사용하면 최초 변수 선언시 1번만 search를 하기 때문에 성능 향상을 기대할 수 있다.

Naver Blog

IPv6, request.getRemoteAddr(), 0:0:0:0:0:0:0:1

톰캣이 request.getRemoteAddr();시 IPV6형식으로 주소값을 반환할 때 톰캣실행시의 JVM에 환경변수를 추가한다. 이클립스 > Run > Run Configuration > Arguiments > -Djava.net.preferIPv4Stack=true 또는 run Con... > Arguments > VM arguments의 끝에 -Djava.net.preferIPv4Stack=true JSP에서 <%=request.getRemoteAddr()%> 출력해본다. 0:0:0:0:0:0:0:1 -> 127.0.0.1 로 나오면 정상 출처 : http://blog.naver.com/foenix?Redirect=Log&logNo=40095444945

Naver Blog

openBSD에서 Tomcat 설치

1) sudo pkg_add -v jdk를 먼저 설치해준다.. 설치할 때 버전이 몇개가 나오면 그중에서 골라서 설치한다. 2) /root/.profile 환경설정 파일 맨 아래에 PATH 를 추가 해줍니다. [root@murondo~]# vi /root/.profile JAVA_HOME=/usr/local/jdk1.70 CATALINA_HOME=/usr/local/tomcat PATH=$PATH:/usr/local/bin:$JAVA_HOME/bin:$CATALINA_HOME/bin 3) tomcat tar 파일을 받아서 압축 풀어서 사용하면 된다. 추가 1. package download ftp://ftp.openbsd.org/pub/OpenBSD/4.9/packages/amd64/ 2. 사전설치 2.1. libiconv

Naver Blog

Tomcat 버그(bug) - quoted with &quot; which must be escaped when used within the value

1, 원인 JSP2.0 파싱강화 (https://issues.apache.org/bugzilla/show_bug.cgi?id=45015) 2. 해결방법 2.1 유닉스/리눅스의 경우 startup.sh중에 "export CATALINA_OPTS" 부분에 문구 추가 또는 tomcat / conf / catalina.properties의 맨 마지막줄에 문구 추가 2.2 이클립스의 경우 설정 - tomcat - JVM파라미터추가에 문구 추가 또는 이클립스의 server 프로젝트에서 tomcat / conf / catalina.properties의 맨 마지막줄에 문구 추가 3. 넣어줘야 할 문구 3.1 Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false 또는 3.2 org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false

Naver Blog

openBSD ip change

1. VMWare Network 설정 [VMware 환경일때만] VMware Network 설정을 Bridged로 변경한다.(기본은 NAT) 2. 사용가능한 Network Interface Card 명칭을 확인 # ifconfig 입력 사용가능한 장치 확인후 vi /etc/hostnames.[NIC명칭 ex) em0] 를 써서 파일 내용 수정 inet [IP ADDR] [SUBNET MASK] NONE ex) inet 192.168.2.100 255.255.255.0 NONE 3. Default Gateway 등록 route add -inet default [IP ADDR] *) VMware일 경우 VMware를 사용하는 PC의 IP를 넣어준다. 4. 재시작 sh/etc/netstart

Naver Blog

openBSD oracle thin test

1. ojdbc버전.jar를 다운받는다. 2. classpath 등록 2.1 classpath 확인 # env 2.2 classpath 등록 # export set CLASSPATH=경로:경로 * 경로와 경로는 콜론(:)으로 구분하고, jar파일일 경우는 파일명까지 다 써준다. 3 테스트 파일 컴파일 후 실행 프로그램 소스 (table은 oracle 기본 table이기 때문에 그냥 쓰면 동작함) import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class test { public test() { super(); } public static void main(String[] args) { try { Class.forName("oracle.jdbc.driver.Oracle

Naver Blog

svn 구동하기

1. svn 시작하기 # svnserve -d -r [svn 경로] ex) /home/svn 2. svn 시작여부 확인 # svn checkout svn://IP 주소/저장소 이름

Naver Blog

Log4J 사용 가이드

1. Log4J 설치하기 (URL : http://logging.apache.org/log4j/docs/download.html ) 2.1 해당 파일 다운받기 2.1.1 기본파일 - log4j-버전.jar : log4j를 사용하기 위해서 필요한 jar 파일 ( http://logging.apache.org/log4j/docs/download.html ) 2.1.2 확장파일(DB에 로그를 남기기 위한 파일) - jdbcappender.jar, ojdbc14.jar(oracle 드라이버 jar 파일) 2.2 log4j Conf 파일 설정하기 log4j.properties를 만들어 /WEB-INF/classes 밑에 놓으세요 ex) log4j.rootLogger=INFO, stdout, rolling log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.Patte

Naver Blog

window(윈도우) taskkill 사용법 (예를들어 port 제거)

tomcat 사용시 해당 포트가 사용중이라고 tomcat 실행이 되지 않을때 1. cmd창에서 사용중인 프로세스 ID 확인 (해당 포트가 사용중인 PID) netstat -ao 2. taskkill로 삭제 taskkill /PID 1111 3. netstat -ao로 다시 확인했을 때 아직 죽어있지 않으면 강제 종료 taskkill /F /PID 1111

Naver Blog

'org.eclipse.jst.jee.server:프로젝트이름' did not find a matching property 경고

Eclipse 환경에서 Tomcat 기동시 이와 같은 에러가 발생한다면 1. 먼저 웹 서버를 중지 2. 이클립스 서버 뷰를 열고 해당 서버를 더블클릭하면 설정창이 나온다. 3. overview의 server option의 publish module contexts to separate XML files을 체크한다. 4. 저장하고 다시 실행한다.

Naver Blog

NotFoundException이 뜰 경우

1. 먼저 프로젝트 경로로 가서 class 파일이 있는지 확인 2. 만약 class파일이 없다면 이클립스의 해당 프로젝트에서 마우스 오른쪽 클릭하여 build path로 진입 3. Libraries에서 x표시된 것이 있나 확인 후 경로 수정 또는 삭제 4. 다시 build

Naver Blog

fckeditor

1. http://java.fckeditor.net/ 에서 java 버전을 다운 받는다. 2. 나온 jar 파일을 /WEB-INF/lib에 복사한다. fckeditor-java-core-2.4.1.jar,commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,slf4j-api-1.5.2.jar 3. web.xml에 하단 추가 #--------여기 <servlet> <servlet-name>Connector</servlet-name> <servlet-class> net.fckeditor.connector.ConnectorServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Connector</servlet-name> <!-- Do not wrap this line otherwise Glassfish will fail t

Naver Blog

jquery css 값 설정 방법

1. $("#id").css(속성, 값); ex) $("#abc").css("background", "red"); 2. $("#id").css({속성: 값, 속성: 값, 속성: 값}); ex) $("#abc").css({ background: red, font-color: blue});

Naver Blog

javascript[자바스크립트] replaceall

javascript에는 replaceall이 존재하지 않는다. 대신 쉽게 구현할 수 있다. var d = "2011-07-07"; d = d.split("-").join(""); 결과 : 20110707

Naver Blog

getRemoteHost(), getRemoteAddr()

이 함수들은 기본적으로 마지막 proxy server ip를 반환한다. 하지만 request.getHeader("Proxy-Client-IP") 를 사용하면 접속한 호스트의 아이피를 반환한다.

Naver Blog

웹 브라우저 창의 크기 조절 ( web browser resize )

window 객체의 resizeTo 메소드와 resizeBy 메서드를 이용하면 웹 브라우저 창의 크기를 조절할 수 있다. resizeBy : 지정된 간격만큼 창 크기를 조절 resizeTo : 지정된 크기로 창 크기를 조절

Naver Blog

parseint

parseInt(num, 10); 이와 같이 써 주어야 큰 수가 제대로 표현이 된다.

Naver Blog

tomcat 배포 방법. 시도해 볼 것.

1. 톰캣 환경 설정 tomcat-users.xml 에 아래의 role 및 사용자를 추가한다. <role rolename="manager-script"/> <role rolename="manager-gui"/> <user username="tomcat" password="tomcat" roles="tomcat,manager-gui,manager-script"/> server.xml <Context docBase="project-web" path="/project-web/" /> 주의 path 의 마지막에 / 이 꼭 들어가야 한다. 주의 2. Curl 을 이용해서 webapps 디렉토리에 war를 복사해 준다. curl --upload-file project-web/target/project-web.war http://tomcat:tomcat@localhost:8080/manager/deploy?path=/project-web&update=true ////////////////////

Naver Blog

GZIP compression in Tomcat

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" <!-- 아래 3 옵션을 추가하면 Tomcat에서 압축 데이터 전송함 --> compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml"/>

Naver Blog

cpu, memory 상태 보기 - vmstat

1. cpu, memory 상태 보기 : vmstat 2. cpu core 별 상태 보기 : vmstat -P

Naver Blog

리눅스(linux) 탭(tab) 자동완성 기능 구현

Process process2 = null; int len, sLen = 0, count=0; String []s = null; String after = null; String before = null; String[] cmd = { "/bin/sh", "-c", "ls -dF " + path + "*" }; try { process2 = Runtime.getRuntime().exec(cmd); process2.waitFor(); byte[] msg = new byte[3000]; while((len=process2.getInputStream().read(msg)) >= 0){ s = new String(msg, 0, len).split("\n"); } process2.exitValue(); process2.destroy(); if( s!= null ) { for( int zz=0; zz<s.length; zz++){ System.out.println("*** : " + s[zz]

Naver Blog

웹 페이지 로딩속도 빠르게 하는 10가지 노하우

출처 : http://kr.blog.yahoo.com/goodwoo78/3487 1. 이미지는 반드시 싸이즈를 지정 이미지의 WIDTH와 HEIGHT를 입력하여 주면 로딩속도가 빨라집니다. 이미지를 삽입시 가령 sample.gif (width=200, height=60 크기) 라는 이미지를 올린다면 <img scr="sample.gif" width=200 height=60 alt="샘플"> 이와같이 이미지의 폭과 높이를 모두 넣어 주는 것이 로딩에 도움을 줍니다. 또한 alt 태그를 이용하여 이미지에 대한 설명을 주면 방문객들에게 친절한 서비스를 제공하는 것이며 네스캐이프나 익스플로러 이외에 다른 텍스트 브라우저를 쓰는 사람들에게 많은 도움이 되겠죠. 2. 다음 페이지의 이미지를 미리 받습니다 다음페이지로 연결되는 페이지라면 다음 페이지의 이미지를 미리 받아 캐시 메모리에 저장시켜두는 것이 다음페이지의 로딩속도를 빠르게 합니다. 예를 들어 다음 페이지에 sample2.gif라는 큰

Naver Blog

jqgrid memory leak (메모리 누수)

출처 : http://kossovsky.net/index.php/2009/07/ie-memory-leak-jquery-garbage-collector/ I suppose all of you have suffered all those terrible memory leaks in Internet Explorer. Sometimes it’s bearable, but most of the time it’s not. I say enough is enough ! A couple of days ago, I had to create some web application with a very rich client side UI. It worked like a charm in Google Chrome, Firefox… but IE7, after few dozens of nyroModal popups it just went dead. Most of the styles are gone, JavaScrip

Naver Blog

자식창(child window)에서 부모창으로 submit

부모창에서 window.name = "pwin"; <- 부모창 이름 자식창에서 target="pwin";

Naver Blog

새로고침 방지

<script language='javascript'> function noEvent() { if (event.keyCode == 116) { event.keyCode= 2; return false; } else if(event.ctrlKey && (event.keyCode==78 || event.keyCode == 82)) { return false; } } document.onkeydown = noEvent; </script> 오른쪽 클릭으로 새로고침 방지 <body oncontextmenu="return false">

Naver Blog

jsp iframe redirct

if( YOUR_ERROR_CONDITION ){ response.sendRedirect("error.jsp"); } error.jsp will contain the Javascript <script language="JavaScript"> window.top.document.location.href = "error_page.jsp; </script>

Naver Blog

css에서 name 속성과 id 속성의 충돌 문제

XHTML 1.0부터는 이전 버전의 브라우저와 호환성을 위해 태그(tag) 요소 등에 name 속성과 id 속성을 같은 값으로 지정하면 스타일이 충돌할 가능성이 있다. 예를들어 a[name="c1"]{ color: red; } a#c1 { color: yellow; } 위 같이 <a href= ...></a> 태그에 css를 적용하면 충돌한다. 스타일의 개별성 규칙에 따르면 a[name="c1"]은 11이고 a#c1은 101이므로 id 속성이 우선된다. 만약 이 경우에 name 속성을 우선시 하고 싶다면 a[name="c1"]{ color: red!important; } 와 같이 사용해야 한다.

Naver Blog

FIN_WAIT_1, FIN_WAIT_2, TIME_WAIT 상태

"netstat -n" 명령 결과 FIN_WAIT_1, FIN_WAIT_2, TIME_WAIT 상태가 수천개를 넘어서는 상황에 대한 대처법입니다. 1. FIN_WAIT_1 의 갯수를 줄일 수 있는 파라메터 # no -a | grep rto ..... rto_length=13 (default) rto_limit=7 (default) .... # no -o rto_length=4 (13-->4) # no -o rto_limit=3 (7-->3) 이렇게 조정할 경우, FIN_WAIT_1 상태는 최대 25초 이내에 사라집니다. 2. FIN_WAIT_2 의 갯수를 줄일 수 있는 파라메터 FIN_WAIT_1 상태는 FIN_WAIT_2 상태로 넘어갑니다. # no -a | grep tcp ..... tcp_keepintvl=150 { 150/2 * (1+8) = 11분 15초 } .... # no -o tcp_keepintvl=10 { 10/2 * (1+8) = 45초 } 3. TIME_WAIT

Naver Blog

CentOS에서 hostname, ip address 변경

hostname 변경 ]# vi /etc/sysconfig/network <-편집 hostname 바로 적용하기 ]# echo > /proc/sys/kernel/hostname ip adress 변경 5.0 이후는 system-config-network-tui 5.0 이전은 netconfig

Naver Blog

웹 사이트 최적화

1. HTTP 요청을 줄여라. 우리가 웹에서 URL 입력 후 엔터를 치면 페이지가 보이게 된다. 페이지에 이미지가 3개라고 하면 총 4번의 요청이 생기게 된다. 1번(HTML) + 3번(이미지) 요청이 많으면 많을수록 속도가 느려지는 것은 당연할 것이다. 그럼 어떠한 방법으로 HTTP 요청을 최소화 할 수 있을지 생각해 봐야한다. 제일 간단한 방법중 하나는 여러개의 이미지를 하나의 이미지로 생성한 후 그것을 css 로 사용하는 것이다. 이것을 css sprite 라고 한다. 2. 콘텐츠 전송 네트워크를 이용하라. 한곳에 집중되어 있는 서버 하나를 여러개로 나누는 것으로 생각할 수 있겠다. 한국에서 접속하는 서버가 미국에 있다면 당연히 느릴 것이다. 3. 헤더에 만료기한을 추가하라. 브라우저는 캐시를 이용하여 HTTP의 요청 수를 줄일 수 있다. 이 부분은 조금더 연구해 봐야겠다. 4. Gzip 컴포넌트. 이 부분은 조금더 연구해 봐야겠다. 5. 스타일시트는 위에 넣어라. css는 무

Naver Blog

GeoIP 를 이용해서 전세계 IP 할당 지역(국가 및 도시) 확인

출처 : http://www.wssplex.net/TipnTech.aspx?Seq=448 www.wssplex.net 이미 수많은 개발자 및 서버들에서 이용되고 있는걸 저도 한번 해봤습니다...^^ 샘플코드가 있으니 뭐 딱히 할꺼라론.... 전세계의 IP 할당에 관련된 최신 데이터 베이스는 http://www.maxmind.com/ 에서 구할수가 있습니다. 물론 상용버젼도 있으나 Free 버젼도 일반적인 상황에서는 훌륭 합니다. 샘플코드 : http://www.maxmind.com/app/api DB파일 : http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz 특히 Linux 계열에서는 GeoIP 를 방화벽에서 컴파일을 통한 모듈 추가를 해서, 특히 중국측 IP 대역을 차단하는데 많이들 이용하는 것 같습니다. iptables -A INPUT -m geoip ! --src-cc KR -j DROP 다음은, 예제 코드에 있는 내용중

Naver Blog

jqgrid text가 area를 초과할 경우 (...)을 해주는 방법

colModel에 classes:"ui-ellipsis" 추가

Naver Blog

jqgrid add / del / edit

기본적으로 db 작업하고 싶은 필드에 editable: true 속성을 넣어준다. default로 text box가 나타나는데, selectbox로 바꾸고 싶다면 edittype: 'select'와 editoptions:{value:{'0':'new window', '1': 'right window'}}를 해준다. 마지막으로, $("#grid").jqGrid("navGrid","#GridPager",{edit:true,add:true,del:true,search:false,refresh:true}, { // afterShowForm:afterShowEdit, // afterSubmit:processAddEdit, // beforeSubmit:validateData, dataheight:150, closeAfterAdd: true, closeAfterEdit: true }, { 'drag':true, 'resize':false, closeOnEscape:true, closeAfterE

Naver Blog

jqgrid nav button

$("#GridList").jqGrid("navGrid","#GridPager",{add:false,edit:false,del:false,search:false,refresh:true}, {},{}, {}, {closeAfterSearch:false, drag:false, closeOnEscape:false, multipleSearch:false}, {}) .navButtonAdd("#GridPager", { caption: "ADD", buttonimg: "fullpath/row-edit.gif", onClickButton: function(){ oCar = { "TitleText" : "", "LinkURL" : "data_form.jsp", "IsModal" : true, "aclass" : "ui-dialog-noclose ui-dialog-smalltitle", "awidth" : 520, "aheight" : 370, "ascrolling" : "yes", "aframeb

Naver Blog

jQuery radio button Control

1. checked 된 radio 값 : $(':input:radio[name="radio_name"]:checked').val(); 2. 특정 radio 버튼 checked : $('input:radio[name="radio_name"]:input[value="Y"]').attr("checked", true); - checked 해제는 false를 넣으면된다 * value 자리에 원하는 값을 세팅하면 radio_name 으로 된 버튼중에서 해당 값과 매칭되는 것을 찾아 checked 처리를 해준다 3. checked 된 radio 갯수 : $("input[name=radio_name]:radio:checked").length * jQuery 에서 radio 버튼의 존재여부 확인, 존재하는 것중에서 checked 된게 있는지를 확인 가능 * 화면에 해당하는 radio_name으로 radio버튼이 없어도 실행된다는 점이 장점!, 아래처럼 함수화 시켜 사용하면된다. ===========

Naver Blog

jQuery select control

1. 특정 option값 선택 $("select[name=testSel] option[value="+str+"]").attr("selected",true); 2. select change event $("#selectBox").change(function(){ ////// });

Naver Blog

jstree 1.0 ver. checkbox 사용법

1. homepage - http://www.jstree.com 2. create $("#" + val).jstree({ animation: 1000, load_open: true, real_checkboxes: true, "html_data":{ // html 형태의 데이터를 tree로 변환 "ajax":{ "url": "main_site_tree.jsp?searchValue=", // 지정된 url로 부터 데이터를 가져온다. "data": function(n){ // 새로운 노드를 불러올 경우에 넘길 param 설정 return { id: n.attr ? n.attr("id") : 0 }; } } }, // "data": function (n) { // return { id : n.attr ? n.attr("id") : 0 }; // }, "core" : { "initially_open" : [ "allNode" ] }, // 최초 로딩 시에 어디까지 펼칠 것인가 지정 "plug

Naver Blog

jQuery mouse event

1. mouseover - 마우스가 element 위에 위치 할때 2. mouseout - 마우스가 element를 떠날때 --------------------------------------------- 3. mouseenter - 마우스가 element위에 들어설때 4. mouseleave - 마우스가 element를 떠날때 * 1과 3의 차이점 1은 마우스가 올라가 있는 한 계속 호출되고 2는 마우스가 올라갈 때 한번만 호출된다.

Naver Blog

jquery autocomplete (combobox) select event

$("#customer_id").combobox(); $( "#autocomplete_customer_id").bind('autocompleteselect', function(e, ui) { var i = ui.item.option.value; // id var j = ui.item.value; // value var k = ui.item.option.index; // option index });

Naver Blog

CentOS cpu 사용률

mpstat -P ALL 1 1 | grep Average 1. yum install sysstat로 설치 2. -P ALL은 모든 cpu 출력 명령어 3. 1 1에서 앞의 1은 갱신 주기(초) 뒤의 1은 출력 횟수 4. grep Average를 하는 이유는, 출력 횟수를 명시하면 마지막에 Average를 출력하는데, Average만 보기 위하여 써준다. 5. %idle이 쉬고 있는 자원이기 때문에 사용률을 구할 때 100 - %idle을 하면 된다. 6. 또는 split(문자열, " "); 로 쪼갠 후에 empty 는 제거하면 된다.

Naver Blog

java Runtime.getRuntime().exec() 를 사용 할 때, > xxx.out 와 같이 파일을 생성하는 경우

Runtime클래스의 exec 메소드는 process를 기동하고 param을 넘겨주는 역할을 한다. mpstat -P ALL 1 1 | grep Average > /tmp/cpuUsage.txt의 경우 "|"와 ">>"같은 명령은 쉘 프로세스에 의해 각각의 명령이 쉘 프로세스에 의해 수행된다. 따라서 String [] cmd = {"/bin/sh", "-c", "mpstat -P ALL 1 1 | grep Average > /tmp/cpuUsage.txt"}; process = Runtime.getRuntime().exec(cmd); 와 같이 실행하여야 한다.

Naver Blog

jqGrid grouping and [setcell, delrowdata, addrowdata]

cell의 내용을 변경하거나 delrowdata, addrowdata를 하더라도 grouping이 다시 되지 않는다. 다시 grouping이 되게 하려면 reload를 해야 하는데 reload를 하게 될 경우 db에서 다시 데이터를 가져 오기 때문에 아무런 의미가 없게 된다. 이 때, jqGrid 옵션에 loadonce: true를 주게 되면 db에 다시 안가고 현재 데이터만으로 reload를 하기 때문에 원하는 결과를 얻을 수 있다.

Naver Blog

jqGrid - Last row not showing after reloadGrid [reloadGrid하면 마지막 row가 사라지는 현상]

You main error is the usage of rowNum: -1 instead of some large enough value like rowNum: 10000. Moreover you should use gridview: true parameter of jqGrid and data: mydata instead of much more slow filling of grid with respect of addRowData (moreover you use <= in the loop instead of <). Additionally I would recommend you to use column templates which will reduce the code and can it more readable. The result of the changes you can see here. rowNum을 -1로 주지 말고 충분한 숫자로 주라는 소리이다. 출처 : http://stacko

Naver Blog

jqgrid subgrid subGridRowExpanded

subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { // subgrid를 그려야 할 때 그리지 않고 다른 작업을 한다. },

Naver Blog

mysql drop table, create table (with auto_increment)

DROP TABLE IF EXISTS server_user; CREATE TABLE server_user ( server_user_id INTEGER NOT NULL AUTO_INCREMENT, server_id INTEGER NOT NULL, customer_user_id INTEGER NOT NULL, reg_date INTEGER NOT NULL, PRIMARY KEY (`server_user_id`,`server_id`,`customer_user_id`) );

Naver Blog

mysql unix time

1. insert UNIX_TIMESTAMP() 2. 사용할 때 FROM_TIMESTAMP(유닉스 타입 시간, format)

Naver Blog

[Eclipse] Subclipse 설치 시 &quot;Unable to load default SVN Client&quot;오류

출처 : http://entireboy.egloos.com/4201369 RHEL(Red Hat Enterprise Linux)에 설치된 Eclipse에 Subclipse를 설치하려고 시도를 했다. 일반적인 방법인 이클립스 애드온 업데이트를 통해 설치했다. 다음 업데이트 주소를 등록하고 (Required) 표시가 된 애드온(Add-on)을 설치했다. 분명히 윈도에서는 이렇게 (Required)만 설치하면 잘 동작했다. <br /><a href="<a href="http://subclipse.tigris.org/update_1.6.x">http://subclipse.tigris.org/update_1.6.x</a>"><a href="http://subclipse.tigris.org/update_1.6.x></a>">http://subclipse.tigris.org/update_1.6.x</a></a><br /> 그런데.. SVN repository를 등록하려고 하면 다음과 같은 경고

Naver Blog

jqgrid memory leak (메모리 누수)

출처 : http://www.trirand.com/blog/?page_id=393/bugs/subgrid-options-and-memory-leaks/ Tony, Thanks for that input. We experimented with various document types and observed the memory usage patterns of jqGrid with the subGrid set to true within IE8. Here is what we found (please note that we used a customized setData method within jqGrid 4.3.1 – will post that function later once we have something concrete) jQuery version used was still 1.6.2 DT1 – <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"

Naver Blog

[Eclipse] Subversion Native Library Not Available

http://ssun.pe.kr/485 이 방법때로 따르면 되지만, 반드시 버전을 확인하고 맞춰서 깔아야 한다.

Naver Blog

postgres에서 백업받아서 mysql에 insert

1. backup pg_dump -h localhost -U [user name] -W -b -f [파일명] -t [테이블명] --inserts [스키마명] * 전체 백업 pg_dump -U [user name] [스키마명] > [파일명] mysql -u [user name] -ptest < [파일명]

Naver Blog

centos 부팅 시 최초 인터넷 연결 안될 때 설정

# vi /etc/sysconfig/netwok-scripts/ifcfg-eth0 ONBOOT="no" 를 "yes"로 바꾸고 reboot

Naver Blog

Tomcat 시작 시 Class 호출

1. /WEB-INF/web.xml <web-app> <!-- web-app 태그 사이에 만든다. --> <servlet> <servlet-name>ktis.esm.common.abcde</servlet-name> <!-- 사용할 class path --> <servlet-class>ktis.esm.common.abcde</servlet-class> <!-- load-on-startup tag 음수 : 서블릿 호출 시 실행 양수 (또는 0) : tomcat 시작 시 실행 --> <load-on-startup>1</load-on-startup> </servlet> </web-app> 2. abcde.java // import 생략 public class abcde extends HttpServlet{ public void init(ServletConfig config){ System.out.println("*******"); } public void service(HttpServlet

Naver Blog

flot (plot) chart yaxis width, formatter

yaxis:{ labelWidth: 50, tickFormatter: function(num, axis){ if(!num) return num; if (parseInt(num) <= 0) return num; num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); retu

Naver Blog

log4j properties

log4j.rootLogger=ALL, stdout, rolling log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # 화면에 로그 출력 log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}][%c{1} %l] - %m%n # 파일에 로그 출력 log4j.appender.rolling=org.apache.log4j.DailyRollingFileAppender log4j.appender.rolling.File=./log/ESM.log log4j.appender.rolling.DatePattern='.'yyyy-MM-dd log4j.appender.rolling.MaxFileSize=10000KB log4j.appender.rolling.Append=true log4j.appe

Naver Blog

ssh로 접속하여 background 실행(&) 하였을 때 ssh 종료하면 백그라운드로 실행한 프로그램도 종료되는 현상

ssh로 접속하여 background 실행(&) 하였을 때 ssh 종료하면 백그라운드로 실행한 프로그램도 종료되는 현상이 발생. 1. exit 명령어를 친 후에 ssh 종료 2. nohup ./[실행파일] 로 실행한 후에 ssh 종료 하면 이런 현상이 발생하지 않는다.

Naver Blog

postgres db 접속

# pgsql -h 127.0.0.1 -U abcd h는 ip주소를 입력하고, 여기서 U옵션은 DB의 user인데, -d옵션을 지정하지 않으면 abcd라는 이름을 가진 database를 검색해서 접속 시도를 한다. 따라서 abcd라는 이름의 database가 없다면 에러가 발생한다. 만약 username과 database의 이름이 다르다면, # psql -h 127.0.0.1 -U abcd -d database 와 같이 입력해야 한다.

Naver Blog

bin sh sed (문자열 replace)

sed란? : Stream EDitor, 파이프를 통해 지나가는 스트림을 편집할 수 있다. 표준입력이나 파일로부터 데이터 스트림을 받아서 변환한 다음 표준출력으로 보낸다. 그리고 sed 명령은 기본적으로 모든 행에 적용된다. shell 에서 sed 실행 (파일을 읽어서 파일의 라인별로 읽어 replace) while read line; do line=$(echo $line | sed "s@\[@@g") line=$(echo $line | sed "s@\]@@g") echo $line done < $datapath/korea.$checkdate.txt 설명 $datapath/korea.$checkdate.txt라는 파일을 읽어서 라인 별로 line이라는 변수에 저장 line 변수를 읽어서 sed로 [와 ]를 빈 문자로 치환하여 다시 line에 저장 [, ]는 중요한 문자이기 때문에 \를 넣어서 처리 해야 하며, "(쌍 따옴표)가 반드시 앞뒤로 붙어있어야 한다.

Naver Blog

쉘(shell)에서 문자열 쪼개기 (split)

while read line; do # replace line=$(echo $line | sed "s@\[@@g") line=$(echo $line | sed "s@\]@@g") line=$(echo $line | sed "s@ @@g") # substring IFS="," for i in $line do echo $i | sed "s@'@@g" >> $webdir/korea/$checkdat/$checkdate/korea.html echo "<br/>" >> $webdir/korea/$checkdat/$checkdate/korea.html done IFS=" " done < $datapath/korea.$checkdate.txt IFS="," 부터 IFS=" "까지가 split 코드이다. line 변수의 문자열이 i 배열로 만들어져 저장되는데 split이 끝났으면 반드시 IFS를 초기화 시켜주어야 한다. 그렇지 않으면 제대로 동작하지 않는다.

Naver Blog

bin sh 덧셈

#!/bin/sh let x=1 let sum=0 until [ $x -gt 100 ] do let sum=$sum+$x echo $sum let x=$x+1 done

Naver Blog

bin sh if

if [ $cnt = 5 ]; then echo "aaa" else if [ $cnt = 6 ]; then echo "bbb" fi fi 1. else if문은 존재하지 않는다. 2. 대괄호( "[" ) 는 반드시 공백이 있어야 한다. 3. 닫는 괄호오른쪽에는 세미콜론(;)이 존재해야 한다.

Naver Blog

frame 무시하고 최상위에서 새로고침 (reload)

if (top.location != window.location) top.location.reload(); if (window.opener) {window.opener.top.location.reload(); self.close();} 현재 윈도가 최상위가 아닐 경우 최상위에 새로고침한다. iframe이나 frame을 사용하는 웹 사이트의 로그아웃 처리 등에 유용하다.

Naver Blog

PHP, global, static 변수 & param 전달 방식

1. global - php에서는 함수 내에서 함수 영역 밖에 있는 변수를 참조하고 싶을 경우 참고하려는 변수를 global로 선언한다 2. static - 일반적으로 함수를 호출했을 때 함수 안에 있는 변수의 내용을 초기화한다. 그런데 함수를 호출할 때마다 이전의 함수 호출시 가지고 있었던 변수의 내용을 유지하고 시을 경우에는 static을 사용한다. static.ex function inc(){ static $i=1; print $i."<br>"; $i=$i+1; } for($j=1; $j<=10; $j++) inc(); 3. 파라미터 전달 방식. call by value : 값의 형태로 넘겨 받음(기본적으로 이 방식을 지원) 실제 파라미터 값만이 형식파라미터에 전달 function swap($a,$b){ $tem=$a; $a=$b; $b=$tem; } $i=3; $j=4; swap($i,$j); print"$i, $j"; 원하는 결과를 얻으려면 function swap($a,$

Naver Blog

postgres table row count

SELECT schemaname,relname,n_live_tup FROM pg_stat_user_tables ORDER BY n_live_tup DESC; row가 존재하는 table list가 필요하면 where n_live_tup > 0 을 추가한다.

Naver Blog

javascript jquery each break, continue

jquery에서 each 사용 시 break 또는 continue를 사용해야 할 때가 있다. 1. continue - return true; 2. break - return false;

Naver Blog

jstree v 0.9.9 select, open

1. select $.tree.reference('site_agent_tree_alert_list').select_branch($("#id")); 2. open $.tree.reference('site_agent_tree_alert_list').open_branch($("id"));

Naver Blog

jqGrid 모든 브라우저 동일하게 사용 하는 방법

jqGrid 모든 브라우저 동일하게 사용 하는 방법 1. jqGrid option에 shrinkToFik: false 추가 2. 스크롤이 없을 경우 A. width = colModel width + (colModel count * 5) 3. 스크롤이 있을 경우 A. width = colModel width + (colModel count * 5) + 7 위와 같이 적용 했는데 제대로 안될 경우 navGrid 추가(모두 false로 넣어도 되지만 없으면 안된다.)

Naver Blog

javascript(자바스크립트) 자료형 검사(typeof)

javascript에서 자료형을 확인하려면 typeof 연산자를 사용한다. <script> alert(typeof('String')); alert(typeof(200)); </script> 위 코드를 실행하면 아래와 같은 결과를 얻을 수 있다. string number

Naver Blog

javascript for in 반복문

javascript는 배열이나 객체를 더욱 쉽게 다룰 수 있게 for in 반복문을 제공한다. <script> // 배열 선언 var array = ['포도', '사과', '딸기', '바나나']; // 반복문 for(var i in array){ alert(array[i]); } </script> 위의 코드는 아래의 코드와 같은 역할을 한다. <script> // 배열 선언 var array = ['포도', '사과', '딸기', '바나나']; // 반복문 for(var i = 0; i < array.length; i++){ alert(array[i]); } </script>

Naver Blog

html input text 입력 제한

1. 한글을 기본 입력 언어로 설정 <input type="text" style="ime-mode:active"/> 2. 영어를 기본 입력 언어로 설정 <input type="text" style="ime-mode:inactive"/> 3. 영어만 입력되도록 제한 <input type="text" style="ime-mode:disabled"/> ime-mode는 웹 표준이 아니기 때문에 동작하지 않는 브라우저가 존재할 수 있다.

1 2 3 4 5 6 7 8 9 10