1. Subversion 설치
http://subversion.tigris.org/files/documents/15/41687/svn-1.4.6-setup.exe
- 환경변수 PATh에 /bin 추가
- Repository 생성
> svnadmin create --fs-type fsfs d:/svn/repos
2. Apache 설치
http://mirror.apache-kr.org/httpd/binaries/win32/apache_2.2.9-win32-x86-no_ssl-r2.msi
3. Python 설치 및 추가 패키지 설치
a. Python 2.5 설치
http://python.org/ftp/python/2.5.2/python-2.5.2.msi
- 환경변수에 /Scripts 추가
b. syn-python 바인딩 설치
http://subversion.tigris.org/files/documents/15/41076/svn-python-1.4.6.win32-py2.5.exe
c. docutils 0.5 설치
http://docutils.sourceforge.net/
> python ./setup.py install
d. clearsilver 설치
- 압축해제후 neo_cgi.pyd을 %PYTHON%/Lib/site-packages에 복사
- python 2.5버전을 위한 비공식 배포판이므로 복사해서 사용
e. sqllite 설치
http://www.sqlite.org/sqlite-3_5_9.zip
압축해제후 sqlite3.exe 파일을 %PYTHON%에 복사
4. TRAC 설치
http://ftp.edgewall.com/pub/trac/trac-0.10.5.win32.exe
> python trac-admin d:/trac initenv
- 프로젝트명과 위에서 생성한 SVN repository 위치 입력
- 설치 확인
> python tracd - p 8000 d:/trac
- http://localhost:8000/ 접속해서 trac 화면 확인
5. Trac + Apache + SVN 연동
a. 관리자 패스워드 파일 생성
apache/bin> htpasswd -bc d:/svn/passwd admin 1111
- -c옵션은 파일 생성, 이후에는 -b 옵션만...
b. Trac 관리자 권한 할당
> python trac-admin d:/trac permission add admin TRAC_ADMIN
c. mod_python 설치
- 아파치가 설치된 위치를 지정
- apache/modules에 mod_python.so 파일 생성
- httpd.conf 편집,
LoadModule python_module modules/mod_python.so
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracUriRoot /trac
PythonOption TracEnv D:/trac
SetEnv PYTHON_EGG_CACHE D:/DEV/PYTHON/egg_cache
PythonOption TracLocale English_KOREA
</Location>
<Location /trac/login>
AuthType Basic
AuthName "My Project"
AuthUserFile d:/svn/passwd
Require valid-user
</Location>
- http://localhost/trac 접속확인
d. Subversion Apache 모듈 설치
- subversion/bin 에서 mod_authz_svn.so 와 mod_dav_svn.so 파일 두개를 apache/modules에 복사
- httpd.conf 편집
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<VirtualHost *:80>
<Location /repos>
DAV svn
SVNPath D:/svn/repos
AuthType Basic
AuthName "My Project"
AuthUserFile d:/svn/passwd
Require valid-user
</Location>
</VirtualHost>
- http://localhost /svn 접속확인
'개발/활용정보' 카테고리의 다른 글
blotware, crapware (0) | 2011.05.27 |
---|---|
구글맵 api 를 이용한 map service (0) | 2011.05.20 |
디자인패턴 (0) | 2011.05.06 |
C, C++ 스마트 포인터 (0) | 2011.05.06 |
Deadlock... (0) | 2011.05.06 |
이 기사에서 다루는 내용:
|
이 기사에서 사용하는 기술: JavaScript |
var userObject = new Object(); userObject.lastLoginTime = new Date(); alert(userObject.lastLoginTime);
var userObject = {}; // equivalent to new Object() userObject[“lastLoginTime”] = new Date(); alert(userObject[“lastLoginTime”]);
var userObject = { “lastLoginTime”: new Date() }; alert(userObject.lastLoginTime);
function func(x) { alert(x); } func(“blah”);
var func = function(x) { alert(x); }; func(“blah2”);
var func = new Function(“x”, “alert(x);”); func(“blah3”);
function sayHi(x) { alert(“Hi, “ + x + “!”); } sayHi.text = “Hello World!”; sayHi[“text2”] = “Hello World... again.”; alert(sayHi[“text”]); // displays “Hello World!” alert(sayHi.text2); // displays “Hello World... again.”
var myDog = { “name” : “Spot”, “bark” : function() { alert(“Woof!”); }, “displayFullName” : function() { alert(this.name + “ The Alpha Dog”); }, “chaseMrPostman” : function() { // implementation beyond the scope of this article } }; myDog.displayFullName(); myDog.bark(); // Woof!
alert(“NaN is NaN: “ + isNaN(NaN)); function x() { this.isNaN = function() { return “not anymore!”; }; } // alert!!! trampling the Global object!!! x(); alert(“NaN is NaN: “ + isNaN(NaN));
Dog spot = new Dog();
function DogConstructor(name) { this.name = name; this.respondTo = function(name) { if(this.name == name) { alert(“Woof”); } }; } var spot = new DogConstructor(“Spot”); spot.respondTo(“Rover”); // nope spot.respondTo(“Spot”); // yeah!
var spot = new DogConstructor(“Spot”);
// create an empty object var spot = {}; // call the function as a method of the empty object DogConstructor.call(spot, “Spot”);
// Think of this as class Dog function Dog(name) { // instance variable this.name = name; // instance method? Hmmm... this.respondTo = function(name) { if(this.name == name) { alert(“Woof”); } }; } var spot = new Dog(“Spot”);
function respondTo() { // respondTo definition } function Dog(name) { this.name = name; // attached this function as a method of the object this.respondTo = respondTo; }
var buddy = new Dog(“Buddy“);
Dog.prototype = new Object();
- 프로토타입 개체에 대한 변경은 개체가 생성된 이후에도 개체에 영향을 줍니다.
- 개체에 속성/메서드 X를 정의하여 동일한 이름의 속성/메서드는 해당 개체의 프로토타입에서 숨겨집니다. 예를 들어 Dog.prototype에서 toString 메서드를 정의하여 Object.prototype의 toString 메서드를 다시 정의할 수 있습니다.
- 변경은 프로토타입에서 해당 파생 개체로 한 방향으로만 진행하며 반대로는 진행하지 않습니다.
function DateTime() { } // set static method now() DateTime.now = function() { return new Date(); }; alert(DateTime.now());
var greaterThan300 = filter( function(x) { return (x > 300) ? true : false; }, someRandomNumbers);
function makeGreaterThanPredicate(lowerBound) { return function(numberToCheck) { return (numberToCheck > lowerBound) ? true : false; }; }
var greaterThan10 = makeGreaterThanPredicate(10); var greaterThan100 = makeGreaterThanPredicate(100); alert(filter(greaterThan10, someRandomNumbers)); alert(filter(greaterThan100, someRandomNumbers));
function Person(name, age) { this.getName = function() { return name; }; this.setName = function(newName) { name = newName; }; this.getAge = function() { return age; }; this.setAge = function(newAge) { age = newAge; }; }
var ray = new Person(“Ray”, 31); alert(ray.getName()); alert(ray.getAge()); ray.setName(“Younger Ray”); // Instant rejuvenation! ray.setAge(22); alert(ray.getName() + “ is now “ + ray.getAge() + “ years old.”);
function Person(name, age) { var occupation; this.getOccupation = function() { return occupation; }; this.setOccupation = function(newOcc) { occupation = newOcc; }; // accessors for name and age }
Person.prototype.somePublicMethod = function() { // doesn’t work! // alert(this.name); // this one below works alert(this.getName()); };
// class Pet function Pet(name) { this.getName = function() { return name; }; this.setName = function(newName) { name = newName; }; } Pet.prototype.toString = function() { return “This pet’s name is: “ + this.getName(); }; // end of class Pet var parrotty = new Pet(“Parrotty the Parrot”); alert(parrotty);
var MSDNMagNS = {}; MSDNMagNS.Pet = function(name) { // code here }; MSDNMagNS.Pet.prototype.toString = function() { // code }; var pet = new MSDNMagNS.Pet(“Yammer”);
var MSDNMagNS = {}; // nested namespace “Examples” MSDNMagNS.Examples = {}; MSDNMagNS.Examples.Pet = function(name) { // code }; MSDNMagNS.Examples.Pet.prototype.toString = function() { // code }; var pet = new MSDNMagNS.Examples.Pet(“Yammer”);
// MSDNMagNS.Examples and Pet definition... // think “using Eg = MSDNMagNS.Examples;” var Eg = MSDNMagNS.Examples; var pet = new Eg.Pet(“Yammer”); alert(pet);
function object(o) { function F() {} F.prototype = o; return new F(); }
MyNamespace.MyClass = function() { MyNamespace.MyClass.initializeBase(this); this._myProperty = null; } Then, you need to define the class members itself in its prototype: MyNamespace.MyClass.prototype = { get_myProperty: function() { return this._myProperty;}, set_myProperty: function(value) { this._myProperty = value; }, doSomething: function() { MyNamespace.MyClass.callBaseMethod(this, “doSomething”); /* do something more */ } }
MyNamespace.MyClass.registerClass( “MyNamespace.MyClass “, MyNamespace.BaseClass);
'개발/활용정보 > Web (JavaScript, CSS, Xml)' 카테고리의 다른 글
URL Encoding Reference (0) | 2011.10.12 |
---|---|
JSP 페이지 이동 방법 (0) | 2011.04.19 |
html5 canvas (0) | 2011.04.19 |
AJAX - Finally 로 IE6 메모리 누수 해결 (0) | 2011.04.13 |
IE Memory Leak (0) | 2011.04.13 |
CTRL + D | 현재 행을 삭제 한다 |
ALT + UP/DOWN | 현재 행을 한줄 위나 아래로 이동시킨다. |
ALT + LEFT/RIGHT | 에디터에서 바로 이전에 편집햇던 위치로 이동한다. ALT + RIGHT 로 다시 돌아올 수 있다. |
CTRL + 1 | 현재 커서 위치에서 가능한 기능 들을 보여준다. (예, field 나 variable 생성하기) |
CTRL + F6 | 열려 있는 에디터간 이동하기 |
CTRL + F7 | 열려 있는 뷰간에 이동하기 |
CTRL + F8 | 퍼스펙티브간에 이동하기 |
CTRL + F11 | 현재 선택된 클래스나 페이지를 바로 실행한다. (CTRL 없이 F11 을 누르면 디버그 모드로 실행된다.) |
CTRL + N | 새로 생성하기 위자드를 띄운다. 새로운 프로젝트나 클래스 파일등을 새로 생성할 수 있다. (이것보단 CTRL + 3 단축키를 사용하는 것이 더 났다.) |
CTRL + M | 현재 열려있는 뷰나 에디터를 최대화 한다. |
CTRL + I | 들여쓰기 (indent) 를 수정한다. |
CTRL + SHIFT + F | 소스를 자동으로 포맷 한다. |
CTRL + J | 검색 창을 따로 띄우지 않고도 찾을 키워드를 입력하면 바로 검색이 실행된다. UP / DOWN 방향키로 다음 일치하는 곳으로 이동할 수 있다.( CTRL + SHIFT + J 는 반대 방향으로 찾기를 수행한다.) |
CTRL + SHIFT + O | 자바 에디터에서 import 들을 정리해준다. |
CTRL + SHIFT + L | 단축키 목록을 보여주고 바로 실행할 수 있다. |
ALT + SHIFT + V | 자바 에디터에서 현재 선택된 field, method 를 다른 클래스로 이동한다. |
ALT + SHIFT + M | 자바 에디터에서 현재 선택된 블럭을 메소드로 추출해낸다. |
SHIFT + ALT + UP | Java/HTML 에디터에서 현재 커서 위치의 상위 요소를 블럭으로 선택한다. |
SHIFT + ALT + LEFT/RIGHT | Java/HTML 에디터에서 현재 커서 위치의 다음(RIGHT) 이나 이전(LEFT) 위치의 요소를 블럭으로 선택한다. |
SHIFT + ALT + DOWN | Java/HTML 에디터에서 이전 선택 영역으로 되돌린다. |
CTRL + 3 | 이클립스의 모든 명령을 바로 실행할 수 있다. ( 예. 새로운 클래스를 생성하려면 'new class' 만 치고 Enter 만 치면 된다. Naviator 뷰를 띄우고 싶다면 'navigator' 만 치고 Enter 를 치면 된다.) |
****** 이클립스 사용팁 및 단축키 모음 *******
===== 실행 =====
1. Ctrl + F11 : 바로 전에 실행했던 클래스 실행
===== 소스 네비게이션 =====
1. Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때
2. Alt + ->, Alt + <- : 이후, 이전
3. Ctrl + o : 해당 소스의 메소드 리스트를 확인하려 할때
4. F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.
===== 문자열 찾기 =====
1. Ctrl + k : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.
2. Ctrl + Shift + k : 역으로 찾고자 하는 문자열을 찾아감.
3. Ctrl + j : 입력하면서 찾을 수 있음.
4. Ctrl + Shift + j : 입력하면서 거꾸로 찾아갈 수 있음.
5. Ctrl + f : 기본적으로 찾기
===== 소스 편집 =====
1. Ctrl + Space : 입력 보조장치(Content Assistance) 강제 호출 => 입력하는 도중엔 언제라도 강제 호출 가능하다.
2. F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공한다.
3. Ctrl + l : 원하는 소스 라인으로 이동
로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다.
4. Ctrl + Shift + Space : 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다.
5. 한줄 삭제 CTRL + D
6. 파일 닫기 : CTRL+W
7. 들여쓰기 자동 수정. (3.0 NEW) : CTRL+I
8. 블록 주석(/*..*/) 추가.(3.0 NEW): CTRL+SHIFT+/
8.1 Ctrl + / 해주면 여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 됨.
9. 위(아래)줄과 바꾸기 : ALT+UP(DOWN)
10. 블록 선택하기. : ALT+SHIFT+방향키
11. 메소드의 파라메터 목록 보기. : CTRL+SHIFT+SPACE
12. 자동으로 import 하기 : CTRL+SHIFT+O
13. 열린 파일 모두 닫기 : CTRL + SHIFT + F4
14. 블록 주석 제거 : CTRL+SHIFT+
15. 전체화면 토글 : CTRL+M
16. 한줄(블럭) 복사 : Ctrl + Alt + 위(아래)
17. 다음 annotation(에러, 워닝, 북마크 가능)으로 점프 : Ctrl + , or .
18. 퀵 픽스 : Ctrl + 1
19. 메소드 정의부로 이동 : F3
20. 하이어라키 팦업 창 띄우기(인터페이스 구현 클래스간 이동시 편리) : Ctrl + T
21. 메소드나 필드 이동하기 CTRL + O
22. ULTRAEDIT나 EDITPLUS 의 CTRL+TAB 과 같은 기능. : CTRL+F6
===== 템플릿 사용 =====
1. sysout 입력한 후 Ctrl + Space 하면 System.out.println(); 으로 바뀐다.
2. try 입력한 후 Ctrl + Space 하면 try-catch 문이 완성된다.
3. for 입력한 후 Ctrl + Space 하면 여러가지 for 문을 완성할 수 있다.
4. 템플릿을 수정하거나 추가하려면 환경설정/자바/편집기/템플리트 에서 할 수 있다.
===== 메소드 쉽게 생성하기 =====
1. 클래스의 멤버를 일단 먼저 생성한다.
2. override 메소드를 구현하려면 : 소스->메소드대체/구현 에서 해당 메소드를 체크한다.
3. 기타 클래스의 멤버가 클래스의 오브젝트라면 : 소스->위임메소드 생성에서 메소드를 선택한다.
===== organize import =====
1. 자바파일을 여러개 선택한 후 소스 -> 가져오기 체계화 해주면 모두 적용된다.
===== 주석 처리 =====
2. Ctrl + / 해주면 여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 됨.
===== 소스 코드 형식 및 공통 주석 설정 =====
1. 환경설정 -> 자바 -> 코드 스타일 -> 코드 포멧터 -> 가져오기 -> JYJ프로파일.xml 을 불러다가 쓰면 된다.
2. 또한 다수의 자바파일에 프로파일을 적용하려면 패키지 탐색기에서 패키지를 선택한 후 소스 -> 형식화를 선택하면 된다.
3. 환경설정 -> 자바 -> 코드 스타일 -> 코드 템플리트 -> 가져오기 -> JYJ템플리트.xml 을 불러다가 쓰면 된다.
===== 에디터 변환 =====
1. 에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로
2. Ctrl + Shift + F6 키를 누르면 위로 커서가 움직인다.
3. Ctrl + F7 : 뷰간 전환
4. Ctrl + F8 : 퍼스펙티브간 전환
5. F12 : 에디터로 포커스 위치
===== JAVA Doc 생성 =====
1. 프로젝트 -> Javadoc 생성
===== 내보내기 =====
2. 해당 프로젝트를 zip 행태로 압축해서 보관할 수 있다.
===== 자바 찾아보기 perspective =====
3. 해당 프로젝트를 보다 편리하게 한번 둘러보는데 좋다.
===== 스크랩북 =====
1. 스크랩북을 이용하면 자바파일을 만들어 테스트 해보지 않고도 간단하게 테스트 해 볼 수 있다.
2. 패키지 탐색기에서 신규 -> 기타 -> 자바 -> 자바 실행/디버그 -> 스크랩북 페이지 선택
===== 디버그 =====
1. F5(Step Into) : 현재의 명령문이 호출되는 메소드 속으로 진행하여, 그 첫 문장을 실행하기 전에 멈춘다.
하지만 자바 라이브러리 클래스 수준까지 들어가므로 단계필터 사용을 체크(Shift+F5)를 하면 필터를 설정한
클래스에 대하서는 Step Over 기능과 같은 기능을 수행한다.
2. F6(Step Over) : 현재의 명령문을 실행하고 다음 명령문 직전에 다시 멈춘다.
3. F7(Step Return) : 현재의 메소드에서 리턴한 직후에 다시 멈춘다.
4. F8(Resume) : 멈추어 있던 쓰레드를 다시 계속 실행한다.
5. Display view(표시) : 창 -> 보기표시 -> 표시 선택하여 소스상에서 필요한 부분을 선택해서 실행시켜 볼 수 있다.
한 순간의 값만 필요할 때 볼 수 있는 반면에 아래놈은 계속적으로 값이 변하는 것을 확인 할 수 있다.
6. Expression view(표현식) : 복잡한 식 혹은 객체를 디버깅 하면서 계속 볼 수있는 창이다.
마우스 오른버튼 -> 감시 표시식 추가 선택한 후 사용한다.
환경설정 -> 자바 -> 디버그 -> 세부사항 포멧터 선택 후 보기 편한 식으로 편집하면 Expression View 에서 결과를
실시간으로 확인 할 수 있다.
7. 디버깅 하면서 소스를 수정하고 프로그램을 다시 시작할 필요 없이 계속 디버깅을 진행 할 수 있다.
다만 메소드를 추가하거나 필드를 추가하면 프로그램을 다시 시작해야 한다.
8. Drop to Frame(프레임에 놓기) 는 정말 모르겠다.
9. 디버깅 작업을 할때 해당 라이브러리의 소스코드를 첨부하지 않으면 진행상황을 볼 수 없을 경우
해당 라이브러리에 소스코드를 첨부할 수 있다. 해당 프로젝트 -> 특성 -> Java 빌드경로 -> 라이브러리 -> 소스참조
편집 버튼을 눌러서 첨부 한다.
===== 도움말 =====
"JDT 팁과 요령"이라고 치면 여러가지 흥미로운 팁이 나온다.
===== JUnit =====
별로 추천하고 싶지 않은 툴임.
===== Refactoring =====
1. Pull Down : 수퍼클래스의 멤버나 메소드를 하위 클래스로 내리는 행위
2. Push Up : 하위 클래스의 멤버나 메소드를 상위 클래스로 올리는 행위
===== CVS =====
1. CVS 서버로는 윈도우에 CVSNT 최신버젼을 설치하고, [컴퓨터 관리]를 통해서 사용자를 추가한다.
- CVSNT 를 설치할때 윈도우의 경우 Repositories 를 추가할때 접두어를 사용하지 말고 디렉토리 풀이름(d:/cvs) 이런식
으로 등록해야 Eclipse 와 에러없이 동기화가 잘 된다.
2. Eclipse 에 CVS 저장소 perspective 에서 새로운 저장소를 등록한 후 HEAD 에서 해당 프로젝트를 체크아웃하면
자바 perspective 에 등록되는 것을 확인할 수 있다.
===== 웹 프로그램밍 =====
1. WTP를 다운받아서, 기존 이클립스 프로그램에 붙여넣는다.
2. 프로젝트를 생성할때 WEB-> Dynamic Web Project로 생성한다.
3. 기본 라이브러리에 TOMCAT, JDK 관련 라이브러리가 추가된 것을 확인한다.
이클립스 메모리 문제 : 등록정보에서 대상에
C:\eclipse\eclipse.exe -clean -vmargs -Xmx512M 넣어준다.
-clean : 실행이 될때 플러그인을 다시 한번 리로딩을 해달라는 의미
메뉴 source -> generate constructor using field : 생성자를 자동으로 만들어준다.
alt + shift + s -> 메뉴 source가 뜬다. get, set메서드들도 자동으로 만들어 준다.
F5 : refresh 기능
F4 : 하나의 클래스의 하위 클래스 구조를 보여준다...
ctrl + shift + o : 필요한 import 문을 모두 넣어준다.
ctrl + alt + h : 이 메소드를 어디에서 호출하고 있는가
alt + shift + r : 메소드 리네임
- 이클립스에서 톰캣 설정 tomcatPluginV32beta3.zip, apache-tomcat-5.5.17-admin.zip-
window -> Preferences -> Tomcat에서
Tomcat version을 설정하고 Tomcat Home을 설정 Apply
Tomcat 하위의 Advanced에도 Tomcat base을 설정 Apply
Tomcat Manager 에서 username과 password 에 admin으로 설정한다. 그러면 conf폴더 밑에
tomcat-users.xml 에 마지막 라인이 추가 된것을 확인 할 수 있다.
- 존재하는 프로젝트 열기 -
File -> Import를 사용 General 에서 Exisiting Projects into Workspace -> 폴더를 추가 -> Finish
- api 추가 -
프로젝트 오른쪽 마우스 -> Properties - > Java Build Path -> Tomcat_Home을 활성화 -> Javadoc location -> Edit에서 api 위치설정
- html 편집창 텍스트 조절 -
Window -> Preferences -> General -> Appearance -> Colors and Fonts -> Structured Text Font -> Change로 조절
- xml 편집창 텍스트 조절 -
Window -> Preferences -> Editors -> ADD 에서 *.xml를 추가한다. 그리고 아래의 Add Text Editer를 추가한다.
Eclipse의 모든 단축키는 Window >> Preferences >> Workbench >> Keys 메뉴에서 확인 및 변경이 가능하다. 그 동안 다른 툴에서 자신의 손에 익숙한 단축키들이 있다면 이 메뉴에서 단축키들을 변경하는 것이 가능하다.
Ctrl + Shift + M : 특정 클래스 Import 시키기
Ctrl + Shift + O : 자동으로 Import 시키기
Ctrl + Shift + F : 코드 자동 정리
Ctrl + Shift + G : 특정 메써드나 필드를 Reference하고 있는 곳을 찾는다.
Ctrl + 1 : Quick Fix. 에러가 발생했을 경우 Quick Fix를 통해 쉽게 해결이 가능하다.
Ctrl + Shift + / : 블럭 주석 설정
Alt + Shift + UP : 커서를 기준으로 토큰단위 블럭지정
Alt + Shift + DOWN : 커서를 기준으로 토큰단위 블럭해제
CTRL + L : 특정 줄번호로 가기
Alt + Shift + J : 자동으로 주석 달기 (메소드나 멤버변수에 포커스 두고 실행)
F10 : 메뉴창을 활성화
Ctrl + F8 : 다음 Perspective로 이동
Ctrl + N : 새로운 파일 및 프로젝트 생성.
Ctrl + Shift + Down : Java Editor에서 다음 member로 이동.
Ctrl + F7 : 다음 View로 이동.
Ctrl + Shift + F7 : 이전 View로 이동.
Alt + <- : 이전 작업 화면
Alt + -> : 다음 작업 화면
F12 : 컴파일 중 에러등으로 포커스가 다른데로 갔을 때 Editor 로 커서 이동
Ctrl + 1 : 컴파일 에러가 발생한 곳에서 Ctrl + 1을 누를 경우 컴파일 에러에 대한 해결책을 제시
CTRL + Shift + B : 현 커서의 위치에 브레이크 포인터 설정/해제
F11 : 디버깅 시작
F8 : 디버깅 계속
F6 : 한줄씩 실행(Step Over)
F5 : 한줄씩 실행하되 함수일 경우 그 함수 내부로 들어감(Step Into)
CTRL + R : 현재 라인까지 실행(Run to Line)
Shift + ALT + 알파벳 : Refactoring을 위한 단축키 임.
Ctrl + F11 : 이전에 실행되었던 Run파일 실행.
'개발/활용정보 > Java' 카테고리의 다른 글
Ant 태스크 (0) | 2011.04.19 |
---|---|
Creating a Custom Event (0) | 2011.04.19 |
자바가 사용하는 메모리의 종류와 특징 (0) | 2011.04.13 |
Java 메모리 설정 MaxPermSize (0) | 2011.04.13 |
Jboss Clustering (0) | 2011.04.13 |