Apache Tomcat 버전별 다운로드 링크
'Web Develop Note > Tip' 카테고리의 다른 글
JDK 각 버전별 다운로드 링크 (0) | 2011.10.17 |
---|---|
Eclipse에서 Tab을 space로 바꾼후에 빈칸을 점으로 표시하는 방법(GANYMEDE 기준) (0) | 2011.02.11 |
hwp에서 작성한 내용을 jpg파일로 저장하는 방법(한글2007 기준) (0) | 2011.01.14 |
JDK 각 버전별 다운로드 링크 (0) | 2011.10.17 |
---|---|
Eclipse에서 Tab을 space로 바꾼후에 빈칸을 점으로 표시하는 방법(GANYMEDE 기준) (0) | 2011.02.11 |
hwp에서 작성한 내용을 jpg파일로 저장하는 방법(한글2007 기준) (0) | 2011.01.14 |
Apache Tomcat 버전별 다운로드 링크 (0) | 2011.12.21 |
---|---|
Eclipse에서 Tab을 space로 바꾼후에 빈칸을 점으로 표시하는 방법(GANYMEDE 기준) (0) | 2011.02.11 |
hwp에서 작성한 내용을 jpg파일로 저장하는 방법(한글2007 기준) (0) | 2011.01.14 |
출처 : 제가 작성했어요^^
1. Tab설정을 space로 바꾸는 방법
메뉴에서 Window - Preferences를 선택한 후에...
Java - Code Style - Formatter를 선택하면 밑의 화면이 나옵니다.
JDK 각 버전별 다운로드 링크 (0) | 2011.10.17 |
---|---|
hwp에서 작성한 내용을 jpg파일로 저장하는 방법(한글2007 기준) (0) | 2011.01.14 |
당신은 웹표준 개발자인가? (0) | 2010.09.01 |
출처 : 제가 작성했어요^^
1. 먼저 hwp파일을 열고나서 메뉴로 가서 인쇄를 선택하거나 Ctrl+p를 누릅니다.
Eclipse에서 Tab을 space로 바꾼후에 빈칸을 점으로 표시하는 방법(GANYMEDE 기준) (0) | 2011.02.11 |
---|---|
당신은 웹표준 개발자인가? (0) | 2010.09.01 |
BSC의 4가지 관점 (0) | 2010.05.14 |
출처 : http://trend21c.tistory.com/929
개발자들이 흔히 사용하는 비표준 코드라고 할까요.
그래서 그 목록을 정리해보았습니다.
아마 아래에 언급될 내용들만 준수하더라도
크로스브라우징을 위해 들이는 수고가 90% 이상 줄어들 것입니다.
1. 단위를 넣어라
상당히 자주 발견되는 잘못된 코딩의 예입니다.
자바스크립트로 width 또는 height 값을 변경할때
IE에서는 단위를 적지 않아도 자동으로 px로 인식하지만
다른 브라우저에서는 단위를 적지 않을 경우 원하는 화면을 얻을수 없습니다.
width나 height, padding, margin 값과 같이 수치를 입력하는 css 속성값에는
반드시 단위(px, pt, %, em 등)를 넣어주세요.
2. document.all은 버려라
IE식 DOM스크립팅의 대표주자 바로
document.all과
document.regForm.userId 와 같은 DOM 접근 방법입니다.
name속성값에 기반한 document.regForm.userId과 같은 DOM접근이나
document.all[objectID] 과 같은 DOM 접근방식은 IE에서만 동작을 보장합니다.
이제 document.getElementById(objectId)를 사용해주세요.
3. 올바른 주석 사용하기
HTML에서의 주석 넣기
<!------ 주석 ------> (X)
<!--주석--> (X)
<!-- 주석 --> (O)
HTML에서 주석을 넣을때 정확한 구분을 위해 과도하게 하이픈(-)을 넣는 것을 종종 발견합니다.
하이픈은 딱 2개만 넣으세요.
코멘트을 시작하는 "<!"와 내용을 시작하는 "--" 사이에는 빈 공간이 허용되지 않습니다.
그리고 주석의 양옆에는 안전하게 빈 공간을 넣어주세요.
CSS 주석 넣기
<!-- css 주석 --> (X)
/*css주석*/ (X)
/* css 주석 */ (O)
CSS는 HTML과 주석을 넣는 방법이 다릅니다.
CSS의 주석도 HTML처럼 <!-- --> 이렇게 넣으시면 안됩니다.
그리고 CSS도 안전한 주석처리를 위해
주석 내용 양 옆에 빈공간을 넣어주세요.
4. inline 엘리먼트와 block 엘리먼트를 구분하자.
<tr>은 block엘리먼트가 아닙니다.
HTML엘리먼트는 크게 inline엘리먼트와 block 엘리먼트로 나뉩니다.
<span>, <strong>, <em> 과 같이 줄바뀜이 일어나지 않는 엘리먼트를 inline 엘리먼트라 하고
<div>, <h1>, <p>와 같이 줄바뀜이 일어나는 엘리먼트를 block 엘리먼트라고 합니다.
block 엘리먼트와 inline 엘리먼트는 css 로 변경이 가능합니다.
보통 inline으로 취급되는 <span> 태그도 css에서 display:block 으로 설정하면
block 엘리먼트와 같이 표현됩니다.
그렇기 때문에 개발자는
엘리먼트를 숨겼다가 다시 보이기를 할때
inline 엘리먼트인지, block 엘리먼트인지 알아야 합니다.
display:none 되어 있는 엘리먼트를 무조건 block 으로 보이게 한다면
퍼블리셔에 의해 inline으로 설정된 엘리먼트가 block 엘리먼트로 취급되는 경우
레이아웃이 무너지는 현상을 발견할 수도 있습니다.
block엘리먼트인지 inline 엘리먼트인지 신경쓰지 않고
자바스크립트 스크립팅을 하는 가장 좋은 방법은
display 값에 아래와 같이 빈 값을 넣는 것입니다.
document.getElementById('elementId').style.display = '';
이 경우 display 속성값이 기본값으로 세팅이 되기 때문에
css에서 선언된 원래의 display 값으로 되돌아가게 됩니다.
그리고 하나 더.
DB에서 데이터를 불러와 뿌려주는 데이터테이블 형식에서
display:none 되어 숨겨있는 <tr>을 사용자 액션에 따라 보이게 할때
documet.getElementById('tr_id').style.display = 'block';
이렇게 사용하는 경우가 많습니다.
IE에서는 tr엘리먼트의 display 속성값을 block으로 하여도 원하는 화면을 얻을 수 있겠지만
그 외의 브라우저에서는 테이블이 깨져나오는것을 발견하게 될것입니다.
<tr>엘리먼트는 정확히 얘기하자면 고유의 display 속성이 table-row 입니다.
그렇기 때문에 display 값을 "table-row"로 해야하나 IE에서 이 또한 문제가 발생하므로
display 값에 다음과 같이 빈값을 넣어 스크립트를 작성해야 합니다.
documet.getElementById('tr_id').style.display = '';
이렇게 함으로써 display 값이 선언된 CSS의 default 값으로 세팅이 됩니다.
5. 파일 저장시 문서의 BOM을 제거하여 저장하기
에디트 플러스 3버전대에서는 도구 → 기본설정에 BOM 설정부분이 있고
이클립스나 비주얼스튜디오를 비롯한 다른 에디터들에서도
도구 → 속성, 파일 → 속성, 파일 → 옵션, 옵션 → 설정, 설정 → 옵션
메뉴에 BOM 제거 설정 부분이 있습니다.
BOM이 포함되어 파일이 저장될 경우
문서의 가장 앞에 다른 문자가 있는 것으로 인식이 되어
스크립트 에러가 발생하거나, HTML문서 최상단에 선언한 doctype이 제대로 인식되지 않아
quirks모드 (비표준모드)로 렌더링을 할 수도 있습니다.
파일 저장시에는 BOM을 제거 하여 저장하세요.
6. IE전용 이벤트, 속성, 메소드 사용을 피해라
구축된지 오래된 사이트의 유지보수를 진행할때마다 매번 놀라는 것이
코드속에 숨겨져 있는 IE만의 다양한 이벤트, 메소드, 프로퍼티들 입니다.
어쩜 이런 것들을 알고 사용하는지, 개발자들이 마냥 신기하기만 합니다.
사실 이문제는 마냥 개발자를 탓할수 없는 문제이기도 합니다.
웹표준이라는 바람이 불기 이전부터 웹개발을 하셨던 분들은
IE6 환경에서만 웹개발을 하셨기 때문에
그만큼 IE6만의 고유 이벤트나 속성, 함수들에 대한 지식들로 개발경험이 쌓여진 것이기 때문입니다.
흔히 사용하는 IE전용 이벤트, 속성, 메소드를 짚어보고
이에 대응되는 표준 이벤트, 속성, 메소드를 알아보겠습니다.
innerText → innerHTML
getElementsByClassName() → getElementById()
selectNode(), selectSingleNode() → getElementsByTagName()
DATE 객체에서 getYear() → getFullYear()
이벤트 onmouseleave → onmouseout
javascript에서 event 객체를 받을 경우 마우스포인터의 x, y값을 가져오기 위해서 e.x, e.y 대신 e.clientX, e.clientY 프로퍼티를 사용
javascript로 검색어와 같은 기능에서 한글을 비롯한 특수문자를 get형식으로 보낼때는
escape()함수가 아닌 encodeURIComponent() 함수를 사용
hwp에서 작성한 내용을 jpg파일로 저장하는 방법(한글2007 기준) (0) | 2011.01.14 |
---|---|
BSC의 4가지 관점 (0) | 2010.05.14 |
Eclipse에서 Tomcat Server 생성시 Cannot create a server using the selected type 메시지가 나왔을 경우 해결법(GALILEO 기준) (0) | 2010.05.13 |
출처 : http://cafe.naver.com/6sigmaacademy.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=5835
http://blog.naver.com/hyoungmo74?Redirect=Log&logNo=31453249
1) 재무적 관점(Financial Perspectives)
재무적 관점이란, 기업의 주요 이해 관계자들에게 재무적인 지표를 통해 조직의 성과를 보여주기 위한 것이다. 그러나 기업 활동의 결과를 ‘얼마만큼의 재무적인 성장이 있었는가?’로 평가하는 것은 여전히 가장 중요한 기준이지만, BSC의 재무적 관점은 단순히 재무지표를 관리하는 것 이상의 의미를 갖는다. 재무성과가 좋게 나타나기 위해서는 조직의 프로세스가 합리적이어야 하며 조직의 자원이 효율적으로 활용되어야 한다. BSC에서 강조하는 것은, 다른 관점들의 결과로 인해 재무적인 성과가 나타나게 된다는 인과적 해석이 전통적인 회계적 측면에서의 재무성과와 비교되는 점이다.
2) 고객 관점(Customer Perspectives)
기업은 고객을 통해서 가치 창출이 가능하며, 그들의 욕구변화를 끊임없이 간파할 수 있을 때만이 성장을 보장받을 수 있게 되었다. 현재의 급변하는 시장 환경은 고객과의 긴밀한 관계 형성을 요구하고 있다. 고객관계관리(CRM)라는 이슈가 부각되는 것도 이러한 이유에서 비롯되는 것이며, 인터넷과 같은 매체의 발전은 이에 대한 기업들의 노력을 더욱 증가시키도록 한다. BSC는 고객을 기업 가치 창출의 중요 핵심 영역으로 제시하고 있으며, 고객을 기업의 수익 창출과 연관시키기 위해 기업의 전략을 집중하고 프로세스를 변화시키며 조직원의 역량을 이에 모으도록 한다.
3) 내부 비즈니스 프로세스 관점(Internal Business Process Perspectives)
내부 비즈니스 프로세스 관점은 성과를 극대화하기 위하여 기업의 핵심 프로세스 및 핵심 역량을 규명하는 과정에 관련한 관점이다. 즉, 기업의 가치사슬 내에서, 제품 및 서비스가 고객들의 기대를 충족시키고, 경쟁사를 앞서기 위해 이와 관련된 프로세스가 효율적으로 운영되기 위해서 무엇을 해야 하는지를 구체화하는 과정이다. 기업의 수익을 향상시키기 위한 전략적 고객 군을 형성하였다면, 각 세분 고객들을 어떻게 하면 만족시킬 수 있을 것인지에 대해 고민해야 하며, 이에 대한 비즈니스 프로세스를 만들어야 한다. 또한 생산성 혁신을 위한 효율적인 비즈니스 프로세스 관리가 필요하다.
4) 학습과 성장 관점(Learning and Growth Perspectives)
학습과 성장 관점은 BSC의 4가지 관점 중에서 가장 미래 지향적인 관점이다. 현재에는 그 가치가 보이지 않지만, 회사의 장기적인 잠재력에 대한 투자가 기업 성장에 얼마나 영향을 미칠 수 있을지를 이 관점에서 파악할 수 있다. 학습과 성장 관점은 다른 3가지 관점의 성과를 이끌어내는 원동력으로서, 특히 구성원의 역량을 강조하고 있다. 이는 지적자산의 가치 측정에 대한 관심이 대두되면서, 기업의 무형자산 가치에 대한 새로운 인식과 맞물려져 있다. 이와 함께, 기업의 정보 시스템에 대한 투자나 역량도 학습과 성장의 관점에서 다루어져야 하는 이슈이다. 조직 내에 정보기술이 도입되기 시작하면서, 정보시스템을 업무의 효율성을 높이기 위한 단순한 기능으로서가 아니라, 기업의 장기적인 역량을 배가시키고 경쟁우위를 위한 전략적 수단으로 인식하기 시작하였다.
당신은 웹표준 개발자인가? (0) | 2010.09.01 |
---|---|
Eclipse에서 Tomcat Server 생성시 Cannot create a server using the selected type 메시지가 나왔을 경우 해결법(GALILEO 기준) (0) | 2010.05.13 |
[javascript] div 지정영역만 Print(프린트)하기 (0) | 2010.04.23 |
BSC의 4가지 관점 (0) | 2010.05.14 |
---|---|
[javascript] div 지정영역만 Print(프린트)하기 (0) | 2010.04.23 |
cvs 구성 및 세팅 (0) | 2010.03.05 |
출처 : http://blog.naver.com/syungisyungi?Redirect=Log&logNo=150078767995
div 지정영역만 Print(프린트)하기
화면에서 많은 내용이 담긴 페이지를 작업할 때
그냥 프린트하면 화면전체가 프린트돼 제대로 나오지 않는 경우가 많지요?
그럴때에는 내용이 들어간 부분만 프린트할 수 있는 이 스크립트를 써봅시다!
step.01
먼저 프린트 되길 원하는 영역을 div로 묶어줍니다.
<div id="box">
프린트 되야하는 영역
</div>
step.02
인쇄하기 버튼을 따로만들어 링크를 걸어줍니다.
<a href="#" onclick="printArea()">인쇄하기</a>
step.03
그리고 이 자바스크립트를 맨 밑에 넣어줍니다.
<script type="text/javascript">
<!--
var initBody;
function beforePrint() {
boxes = document.body.innerHTML;
document.body.innerHTML = box.innerHTML;
}
function afterPrint() {
document.body.innerHTML = boxes;
}
function printArea() {
window.print();
}
window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
-->
</script>
Eclipse에서 Tomcat Server 생성시 Cannot create a server using the selected type 메시지가 나왔을 경우 해결법(GALILEO 기준) (0) | 2010.05.13 |
---|---|
cvs 구성 및 세팅 (0) | 2010.03.05 |
왜 Apache HTTP Server와 Tomcat을 연동하는가? (0) | 2010.03.03 |
[javascript] div 지정영역만 Print(프린트)하기 (0) | 2010.04.23 |
---|---|
왜 Apache HTTP Server와 Tomcat을 연동하는가? (0) | 2010.03.03 |
eclipse 단축키 모음(GALILEO 기준) (0) | 2009.09.18 |
출처 : http://alloe.tistory.com/34
Apache Tomcat(이하 Tomcat)은 아마도 가장 널리 알려진 JSP / Servlet Engine일 것입니다. JSP / Servlet 명세에 대한 참조 구현물(Referencial Implementation, 흔히 줄여서 RI라고도 하죠) 역할도 하고 있으며, 실제 업무에서도 꽤 씁니다.(왕년에 Naver Blog를 쓸 때 한번은 Java Exception Trace log가 Web Browser에 표시된 것을 본 적이 있었습니다. 그 덕에 Naver Blog가 Tomcat을 쓴다는 것을 알았죠).
그러나 실전에서는 web server와 tomcat 같은 JSP/Servlet Engine 둘을 연동해서 쓰지, tomcat만 쓰지는 않습니다. 그 이유는 아래와 같습니다.
성능 상의 이유
JSP/Servlet Engine 상에서 동작하는 Servlet이나 JSP라는, (동일한 HTTP Request를 보내도 매 번 그 결과가 다를 수 있는) 동적인 HTTP Response를 생성해 보내는 것들입니다. 그에 비해 단순한 HTML 문서, image, CSS(Cascading Style Sheet), Javascript file은 거의 변할 일 없는 (동일한 HTTP Request를 보내면 그 결과가 늘 같은) 정적 contents입니다. 이런 정적 contents는 통상적으로 Web Server가 JSP/Servlet Engine보다 더 빠르게 service합니다.
감이 오시나요? 결국 정적 content는 정적 contents 처리에 강한 Web Server가 처리하고, 동적 contents는 JSP/Servlet Engine이 맡는 것입니다. 일단 HTTP Request를 Web Server가 먼저 받아보고 정적 contents를 요구하면 자신이 처리하고, 동적 contents request라면 이 request를 JSP/Servlet Engine에게 넘기죠. 아니면 특정 URL pattern이 들어오면 JSP/Servlet Engine으로 넘기는 방법도 있습니다. 결국 이렇게 하면 부수적으로 동적 contents 생성하느라 바쁜 JSP/Servlet Engine에 부하를 덜 줄 수 있고 정적 contents service하느라 귀중한 JVM Heap을 아낄 수 있는 이점도 누릴 수 있습니다.
보안 상의 이유
보통 JSP/Servlet Engine은 중요한 업무 절차에 대한 구현을 가지고 있게 마련입니다. 단순한 image, CSS 같은 정적 contents를 담은 Web Server보다 더 안전해야 보호해야 한다는 뜻이 됩니다. 보통 어떤 기업 같은 조직의 network를 구성할 경우 외부 network와 조직의 network를 방화벽(firewall)으로 단절시키고 방화벽에 규칙(rule)을 등록, IP packet이 제한적으로만 그 방화벽을 넘다들 수 있도록 합니다. 안전성이 더 높아야 하는 server들이 있는 network zone는 여기에 한 번 더 방화벽을 칩니다. 그리고 이 두 방화벽 사이의 network zone을 DMZ라고 합니다.
이렇게 Web Server와 JSP/Servlet Engine을 따로따로 쓰면 DMZ에 덜 중요한 data를 가진 web server를 놓고 이중 방화벽 뒤에 있는 network zone에 JSP/Servlet Engine을 놓음으로써 높은 보안성을 획득하면서도 외부에 동적 contents를 제공할 수 있게 됩니다.
가용성 상의 이유
web server도 하나, JSP/Servlet Engine도 하나라면 둘 중 하나만 죽으면 정상적인 service가 불가능합니다. 따라서 절대 멈추면 안되는 service(세계화가 되면서 이런 요구 사항은 더 늘었습니다. 지구 상 어딘가는 늘 업무 시간이니까요)를 담당하는 web server, JSP/Servlet Engine은 두 개 이상을 가동하는 이중화를 적용합니다.
web server가 어떤 HTTP Request를 받아 이를 JSP/Servlet Engine으로 넘기려 할 때 그 JSP/Servlet Engine이 이중화가 되어 있다면 web server는 이 request를 좀 한가한 JSP/Servlet Engine에 넘긴다던지 할 수 있습니다(물론 실제로는 간단하게는 round robin부터 시작해서 이에 대한 여러가지 방법이 있습니다). 내지는 JSP/Servlet Engine 중 하나가 비정상적으로 종료한 상태이면 현재 살아 있는 JSP/Servlet Engine에게 이 request 처리를 위임, 전반적인 service 중단을 막을 수 있습니다.
[javascript] div 지정영역만 Print(프린트)하기 (0) | 2010.04.23 |
---|---|
cvs 구성 및 세팅 (0) | 2010.03.05 |
eclipse 단축키 모음(GALILEO 기준) (0) | 2009.09.18 |
아래 설명한 것중, F4, Ctrl+T, Alt+Up, Alt+Down 등은 아주 유용하게 쓰일 수 있을 것이다.
ESC: 열린 윈도우 닫기
F1: 모든 단축키를 보여준다.
F2: FULL SCREEN
F4: Table, View, Proc, Funct, Package를 DESC(테이블명에 커서를 둔 상태에서 해야함)
F6: SQL Editor와 결과창간의 전환
F7: 화면을 모두 CLEAR
F8: 실행했던 SQL들의 HISTORY
F9: 모든 쿼리 실행(Ctrl+Enter는 현재 쿼리만 실행)
Ctrl+F9: 실제 쿼리를 실행하지 않고 validate함
Ctrl+. : table Completion (매칭되는 테이블목록 출력)
Ctrl+T : Columns Dropdown (해당테이블의 컬럼목록 표시)
Alt+Up : History Up (리눅스 bash의 UP키와 같다.)
Alt+Down: History Down (리눅스 bash의 DOWN키와 같다.)
Ctrl+Tab: MDI Child윈도간 전환
그냥 'desc 테이블명' 을 치면, 팝업윈도로 해당 테이블의 컬럼목록윈도가 표시된다.
이때, 해당 컬럼을 double-click하면 SQL Editor로 반영된다.
"테이블명."까지 입력하고 좀 있으면, 해당 테이블의 컬럼목록이 표시된다.
마치 프로그래밍툴에서 클래스내 멤버들의 목록을 표시하듯이.. Ctrl+T는 출력된 목록을 취소했을 경우, 다시 불러낼때 쓰인다.
test, member 2개의 테이블이 있다고 하자.
select * from t까지 입력하고 Ctrl+.를 치면 select * from test로 테이블명을 완성시켜준다.
system계정에서는 안되고 일반계정만 가능했다.
SQL문을 실행시
Ctrl+Enter : 현재 커서의 SQL문 실행
여러개의 SQL문이 있을때, SQL문들을 개행문자로 분리해주면 된다.
해당 커서에서 개행문자가 있는 곳까지만 하나의 SQL문으로 간주한다.
F9 : SQL Editor의 SQL문 실행하여 Grid에 출력.
여러 SQL문들을 개행문자로 구분하지 않는다는 것을 제외하면, 위의 Ctrl+Enter와 동일하다.
에디터내의 모든 SQL문은 하나로 취급하므로, 여러 개의 SQL문이 있으면 실행할 SQL문만 Selection하여 실행(F9)해준다.
F5 : SQL Editor내의 모든 SQL문 실행. 여러개의 SQL문들을 모두 실행하여 SQL*PLUS와 같이 출력해준다.
이것은 출력이 Grid로 표시되지 않고 Editor윈도에 표시되므로, SQL*PLUS의 출력과 같이, 다른 편집기로의 복사/붙여넣기 할때 사용하면 유용하다.
SCJP 5.0 파일 모음 (0) | 2009.07.25 |
---|---|
SCJP 5.0 합격통지서 (0) | 2009.07.25 |
Ctrl+Shift+L : 단축키 보기
[거의 달고 사는 단축키]
ctrl + s : 저장 및 컴파일
ctrl + i : 소스 깔끔 정리(인덴트 중심의 자동구문정리)
ctrl + space : 어휘의 자동완성(Content Assistance)
ctrl + 1 : Quick Fix(Rename에 주로 사용)
ctrl + shift + M : 캐럿이 위치한 대상에 필요한 특정클래스 import
ctrl + shift + O: 소스에 필요한 패키지의 자동 임포트
ctrl + / : 한줄 또는 선택영역 주석처리/제거
ctrl + Q : 마지막 편집위치로 가기
ctrl + L : 특정줄번호로 가기
ctrl + D : 한줄삭제
ctrl + H : Find 및 Replace
ctrl + K : 다음찾기(또는, 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.)
ctrl + shift + K : 이전찾기(또는, 찾고자 하는 문자열을 블럭으로 설정한 후 역으로 찾고자 하는 문자열을 찾아감.)
alt + shift + j : 설정해 둔 기본주석 달기
Ctrl + 객체클릭(혹은 F3) : 클래스나 메소드 혹은 멤버를 정의한 곳으로 이동(Open Declaration)
[사용하면 유용한 단축키]
ctrl + shift + f : 소스 깔끔 정리
ctrl + 2 + R : Rename(리팩토링)
ctrl + shift + / : 선택영역 block comment 설정
ctrl + shift + \ : 선택영역 block comment 제거
alt + shift + up : Enclosing Element 선택(괄호의 열고 닫기 쌍 확인에 유용함)
ctrl + O : Outline창열기
Alt + ->, Alt + <- : 이후, 이전
해당프로젝트에서 alt + enter : Project 속성
sysout > Ctrl + Space : System.out.println();
try > Ctrl + Space : 기본 try-catch문 완성
for > Ctrl + Space : 기본 for문 완성
템플릿을 수정,추가 : Preferences > java > editor > Templates
[알고 있으면 아는척좀 할 수 있는 단축키]
ctrl + N : 새로운 파일 및 프로젝트 생성
ctrl + shift + s : 열려진 모든파일 저장 및 컴파일
alt + / : Word Completion
alt + shift + R : Rename
ctrl + shift + G : 특정 메써드나 필드를 참조하고 있는 곳을 찾는다.
ctrl + shift + B : 현재커서위치에 Break point설정/해제
ctrl + alt + R
ctrl + f11 : 실행
f11 : 디버깅 시작
f5 : step into
f6 : step over
f8 : 디버깅 계속
ctrl + . : 다음오류부분으로 가기
ctrl + , : 이전오류부분으로 가기
f12 : 에디터로 커서이동
ALT + UP,DOWN : 현재 줄 위치 이동
Ctrl + j : 검색할 단어를 입력하면서 실시간으로 검색
Ctrl + Shift + j : 검색할 단어를 입력하면서 실시간으로 거꾸로 검색
F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.
ctrl + alt + up/down : 한줄 duplicate
alt + shift + 방향 : 선택
ctrl + shift + g : 케럿이 위치한 객체가 참조 되는 곳을 찾아 준다
[javascript] div 지정영역만 Print(프린트)하기 (0) | 2010.04.23 |
---|---|
cvs 구성 및 세팅 (0) | 2010.03.05 |
왜 Apache HTTP Server와 Tomcat을 연동하는가? (0) | 2010.03.03 |
휴... 좀만 더 틀렸으면... 시험비용 날릴뻔 했네...;;
암튼 합격했으니~~ 기분은 좋네^^
자격증만 오길 기다리면 되는구나~~
TOAD 단축키 (SQL EDITOR상에서의 편리한 단축키) (0) | 2009.09.18 |
---|---|
SCJP 5.0 파일 모음 (0) | 2009.07.25 |
Oracle(Test_1) - SELECT query문 종합문제 (0) | 2009.06.22 |
---|---|
Oracle(3일차) - WHERE(비교연산자, 논리연산자, null검색) (0) | 2009.06.22 |
Oracle(2일차) - SELECT(select 문법, 특정컬럼조회, 정렬, null의 의미) (0) | 2009.06.19 |
1. 부서 번호가 10번인 부서의 사람 중 사원번호, 이름, 급여를 출력해라.
select empno, ename, sal
from emp
where deptno=10;
2. 사원번호가 7369인 사람 중 이름, 입사일, 부서번호를 출력해라.
select ename, hiredate, deptno
from emp
where empno=7369;
3. 이름이 ALLEN인 사람의 모든 정보를 출력하여라.
select *
from emp
where ename='ALLEN';
4. 입사일이 87/04/19인 사원의 이름, 부서번호, 급여를 출력해라.
select ename, deptno, sal
from emp
where hiredate='87/04/19';
5. 직업이 MANAGER가 아닌 사람의 모든 정보를 출력해라.
select *
from emp
where job!='MANAGER';
6. 입사일이 81/04/02 이후에 입사한 사원의 정보를 출력해라.
select *
from emp
where hiredate>'81/04/02';
7. 급여가 800이상인 사람의 이름, 급여, 부서번호를 출력해라.
select empno, sal, deptno
from emp
where sal>=800;
8. 부서번호가 20번 이상인 사원의 모든 정보를 출력해라.
select *
from emp
where deptno>=20;
9. 입사일이 81/12/09보다 먼저 입사한 사람들의 모든 정보를 출력해라.
select *
from emp
where hiredate<'81/12/09';
10. 사원번호가 7698보다 작거나 같은 사람들의 입사번호와 이름을 출력해라.
select empno, ename
from emp
where empno<=7698;
11. 입사일이 81/04/02보다 늦고 82/12/09보다 빠른 사원의 이름, 급여, 부서번호를 출력해라.
select ename, sal, deptno
from emp
where hiredate between '81/04/20' and '82/12/09';
12. 급여가 1600보다 크고 3000보다 작은 사람의 이름, 직업, 급여를 출력해라.
select ename, job, sal
from emp
where sal>1600 and sal<3000;
13. 사원번호가 7654와 7782사이 이외의 사원의 모든 정보를 출력해라.
select *
from emp
where empno not between 7654 and 7782;
14. 입사일이 81년 이외에 입사한 사원의 모든 정보를 출력해라.
select *
from emp
where hiredate not between '81/1/1' and '81/12/31';
15. 직업이 MANAGER와 SALESMAN인 사원의 모든 정보를 출력해라.
select ename, empno
from emp
where job in('MANAGER', 'SALESMAN');
16. 부서번호가 20, 30번을 제외한 모든 사원의 이름, 사원번호를 출력해라.
select ename, empno
from emp
where deptno not in(20, 30);
17. 이름이 S로 시작하는 사원의 사원번호, 이름, 입사일, 부서번호를 출력해라.
select empno, ename, hiredate, deptno
from emp
where ename like 'S%';
18. 입사일이 81년도인 사원의 모든 정보를 출력해라.
select *
from emp
where hiredate between '81/1/1' and '81/12/31';
19. 이름 중 S자가 들어가 있는 사람만 모든 정보를 출력해라.
select *
from emp
where ename like '%S%';
20. 이름이 S자로 시작하고 마지막 글자가 T인 사람의 모든 정보를 출력해라.(이때, 이름의 전체 글자수는 5자리이다.)
select *
from emp
where ename like 'S___T';
21. 첫 번째 문자는 관계없고 두 번째 문자가 A인 사원의 모든 정보를 출력해라.
select *
from emp
where ename like '_A%';
22. 커미션이 NULL인 사람의 정보를 출력해라.
select *
from emp
where comm is null;
23. 부서가 30번 부서이고 급여가 500이상인 사람의 이름, 부서, 급여를 출력하라.
select ename, deptno, sal
from emp
where deptno=30 and sal>=500;
24. 이름의 첫 글자가 K로 시작하거나 부서번호가 30인 사람의 사원번호, 이름, 부서번호를 출력하라.
select empno, ename, deptno
from emp
where ename like 'K%' and deptno=30;
25. 급여가 1500이상이고 부서번호가 30번인 사원중 직업이 MANAGER인 사원의 모든 정보를 출력하여라.
select *
from emp
where sal>=1500 and deptno=30 and job='MANAGER';
Oracle(27일차) (0) | 2009.07.24 |
---|---|
Oracle(3일차) - WHERE(비교연산자, 논리연산자, null검색) (0) | 2009.06.22 |
Oracle(2일차) - SELECT(select 문법, 특정컬럼조회, 정렬, null의 의미) (0) | 2009.06.19 |
* 비교연산자
a=b : a는 b와 같다.
a<>b : a와 b는 같지 않다.
a>b : a는 b보다 크다(초과)
a>=b : a는 b보다 크거나 같다(이상)
a<b : a는 b보다 작다(미만)
a<=b : a는 b보다 작거나 같다(이하)
- 예제
1. 급여가 1500이상 2850이하 사원출력
select ename, sal
from emp
where sal>=1500 and sal<=2850
order by sal asc;
혹은
select ename, sal
from emp
where sal between 1500 and 2850
order by sal asc;
*논리연산자
or, and, not
*in(값, 값, ...)
not in(값, 값, ...)
예제
1. 사원명, 부서번호조회 부서번호가 10 또는 20 조회
select ename, deptno
from emp
where deptno=10 or deptno=20 -> 같은 의미로 where deptno in(10, 20)
-> 부정의의미 where deptno not in(10, 20)
order by deptno asc;
2. 10과 30사이
select ename,deptno
from emp
where deptno not between 10 and 20
order by deptno asc;
*연결연산자 : ||
*함수명(~, ~, ~) parameter, argument, 인수, 인자
concat(표현식, 표현식) 인수가 2개밖에 들어갈수 있다.
현재날짜와 시간조회
*2009/06/22 09:41:30 이런형태로 출력하려면...
to_char(날짜, '날짜시간Format') 중요함...
to_char(sysdate, 'yyyy/mm/dd hh:mi:ss')
select sysdate, to_char(sysdate, 'bc yyyy/mon/dd day hh24:mi:ss am')
from dual;
* alter session set nls_date_format='날짜시간format'
*조건
select ~
from 테이블명
[where 조건]
[order by 정렬기준 정렬방법];
- 데이터타입 : 문자. 날짜 '~'
예제
- allen의 사원번호, 급여, 입사일조회
select empno, sal, hiredate
from emp
where ename='ALLEN';
*소문자를 대문자로 변환하는 함수
upper(~)
예제
select empno, sal, hiredate
from emp
where ename=upper('allen');
*lower(~)
대문자를 소문자로 출력시키는 함수
*앞글자만 대문자로...
initcap(~)
select empno, sal, lower(ename), initcap(ename), hiredate
from emp
where ename=upper('allen');
81/09/28에 입사한 사원명, 입사일, 급여, 커미션 조회
select ename, hiredate, sal, comm
from emp
where hiredate='81/09/28';
- 예제
1. xx번 부서는 ~~~ => 출력 concat함수 + ~ 사용
select concat(deptno, concat('번 부서 : ', dname))
from dept;
OR
select deptno||concat('번 부서 : ', dname)
from dept;
2. 커미션이 확정된 사원의 사원번호, 사원명, 급여, 커미션 조회
select empno, ename, sal, comm
from emp
where comm is not null;
3. 2번 결과내 급여가 1500이상인 사원번호, 사원명, 급여, 커미션 조회
select empno, ename, sal, comm
from emp
where comm is not null and sal>=1500;
4. 3번의 결과를 급여 오름차순 조회
select empno, ename, sal, comm
from emp
where comm is not null and sal>=1500;
order by sal asc;
5. 10번 또는 20번 부서에 근무하는 사원들의
부서번호, 사원명, 급여, 커미션, bonus를 bonus 오름차순, 동일보너스 내 사원명 오름차순
bonus=기본커미션+300 커미션이 null이면 50을 기본 커미션으로 한다.
select deptno, ename, sal, nvl(comm, 50), nvl(comm, 50)+300 as bonus
from emp
where deptno in(10, 20)
order by bonus asc, ename asc;
Oracle(27일차) (0) | 2009.07.24 |
---|---|
Oracle(Test_1) - SELECT query문 종합문제 (0) | 2009.06.22 |
Oracle(2일차) - SELECT(select 문법, 특정컬럼조회, 정렬, null의 의미) (0) | 2009.06.19 |
* select 문법
select {* | 컬럼명}
from table명
order by 정렬기준 정렬방법, [정렬기준 정렬방법];
* 특정컬럼조회
- dept(부서테이블)
DEPTNO : 부서번호 (기본키 = primary key)
DNAME : 부서명
LOC : 지역
- emp(사원)
EMPNO : 사원번호 (기본키 = primary key)
ENAME : 사원명
JOB : 업무
MGR : 상사
HIREDATE: 입사일
SAL : 급여
COMM : 커미션
DEPTNO : 부서번호 (외래키 = foreign key)
- salgrade(급여등급)
GRADE : 호봉
LOSAL : 최저임금
HISAL : 최고임금
- 예제
1. dept 테이블에서 부서번호와 부서명 조회
select deptno, dname
from dept;
2. 사원테이블에서 사원번호, 사원명, 업무, 업무입사일 조회
select empno, ename, job, hiredate
from emp;
3. 사원테이블에서 사원번호, 사원명, 급여, 커미션, 부서번호 조회
select empno, ename, sal, comm, deptno
from emp;
* 정렬
오름차순(asc) : 숫자 작음 -> 큼 , 문자 a->z A->Z ㄱ->ㅎ날짜 예전->최근
내림차순(desc) : 숫자 큼 -> 작음, 문자 z->a Z->A ㅎ->ㄱ 날짜 최근->예전
*distinct : 중복되는 컬럼을 한번씩만 보여줌
- 예제
1. 부서테이블에서 부서명 내림차순 조회
select distinct *
from dept
order by dname desc;
2. 동일부서내 급여를 많이 받는 사원부터 조회
select *
from emp
order by sal desc;
3. 동일부서내에 급여를 많이 받는 사원부터 출력하되 급여가 동일하다면 이름 오름차순
select *
from emp
order by sal desc, ename asc;
* 별칭
- 칼럼명 [as] 칼럼alias
- 칼럼명 "칼럼alias" : "~~"에는 소문자, 대소문자, 공백, 한글
* null의 의미
0(zero)도 아니고, 빈공간도 아니다.
미확정(해당사항 없음), 알수 없는(unknown) 값을 의미한다.
어떤 값인지 알 수 없지만 어떤 값이 존재하고 있다.
? 혹은 ∞의 의미이므로 연산, 할당, 비교가 불가능하다.
*산술연산
+, -, *, /
* dual 테이블
산술연산이나 가상컬럼 등의 값을 한번만 출력하고 싶을 때 많이 사용하는 테이블
- 예제
오늘 날짜를 한번만 출력
select sysdate
from dual;
Oracle(27일차) (0) | 2009.07.24 |
---|---|
Oracle(Test_1) - SELECT query문 종합문제 (0) | 2009.06.22 |
Oracle(3일차) - WHERE(비교연산자, 논리연산자, null검색) (0) | 2009.06.22 |