맥 스크린 캡처 단축키
- CMD + Shift + 3 : 전체화면 캡처
- CMD + Shift + 4 : 지정영역 캡쳐
- CMD + Shift + CTL + 3 : 전체화면 캡처및 클립보드 저장
- CMD + Shift + CTL + 4 : 지정화면 캡쳐및 클립보드 저장
- CMD + Shift + 4 + space : 선택한 윈도우 캡쳐
캡처된 이미지는 바탕화면에 파일로 만들어 집니다.
Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$ ls -al total 40 drwxr-xr-x 7 taewankim staff 238 12 3 09:18 . drwxr-xr-x+ 30 taewankim staff 1020 12 3 03:38 .. -rw-r--r--@ 1 taewankim staff 12292 11 26 14:35 .DS_Store drwx------@ 9 taewankim staff 306 12 3 03:13 apache-maven-3.0.1 drwxr-xr-x 13 taewankim staff 442 11 27 11:06 glassfishv3 Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$
Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$ pwd /Users/taewankim/devtainer_home Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$ ln -s apache-maven-3.0.1/ maven Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$ ll total 8 drwx------@ 9 taewankim staff 306 12 3 03:13 apache-maven-3.0.1 drwxr-xr-x 13 taewankim staff 442 11 27 11:06 glassfishv3 lrwxr-xr-x 1 taewankim staff 19 12 3 10:10 maven -> apache-maven-3.0.1/ Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$
Taewan-Kim-ui-MacBook-Air:~ taewankim$ cat .profile export M3_HOME=/Users/taewankim/devtainer_home/maven export M3=$M3_HOME/bin export JAVA_HOME=/Library/Java/Home export PATH=$PATH:$M3 alias ls="ls -v" alias ll="ls -lv"
Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$ mvn -version Apache Maven 2.2.1 (r801777; 2009-08-07 04:16:01+0900) Java version: 1.6.0_22 Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: ko_KR, platform encoding: EUC_KR OS name: "mac os x" version: "10.6.5" arch: "x86_64" Family: "mac" Taewan-Kim-ui-MacBook-Air:devtainer_home taewankim$
package devtainer.demo.unitTest.junit4;
import junit.framework.Assert;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class JunitTest {
static final Logger logger =
LoggerFactory.getLogger(JunitTest.class);
@Before
public void setup(){
logger.info("@Before 메서드 실행");
}
@After
public void tearDown(){
logger.info("@After 메서드 실행");
}
@BeforeClass
public static void setupForClass(){
logger.info("@BeforeClass 메서드 실행");
}
@AfterClass
public static void tearDownForClass(){
logger.info("@AfterClass 메서드 실행");
}
@Test(expected=RuntimeException.class) //예외 발생을 예상
public void test1(){
logger.info("@Test 단위 테스트 메서드 메서드 실행");
throw new RuntimeException();
}
@Test(timeout=100) //100 millisecond 초과시 에러
public void test2(){
logger.info("@Test 단위 테스트 메서드 메서드 실행");
int a = 5;
int b = 5;
Assert.assertEquals("add 메서드 테스트", a+b, Calculator.add(a, b));
Assert.assertEquals("minus 메서드 테스트", a-b, Calculator.minus(a, b));
Assert.assertEquals("multiply 메서드 테스트", a*b, Calculator.multiply(a, b));
Assert.assertEquals("divide 메서드 테스트", (double)a/b, Calculator.divide(a, b));
// fail(String)
// assertTrue(true);
// assertsEquals([String message], expected, actual)
// assertsEquals([String message], expected, actual, tolerance)
// assertNull([message], object)
// assertNotNull([message], object)
// assertSame([String], expected, actual)
// assertNotSame([String], expected, actual)
// assertTrue([message], boolean condition)
}
} INFO - JunitTest : setupForClass @BeforeClass 메서드 실행 INFO - JunitTest : setup @Before 메서드 실행 INFO - JunitTest : test1 @Test 단위 테스트 메서드 메서드 실행 INFO - JunitTest : tearDown @After 메서드 실행 INFO - JunitTest : setup @Before 메서드 실행 INFO - JunitTest : test2 @Test 단위 테스트 메서드 메서드 실행 INFO - JunitTest : tearDown @After 메서드 실행 INFO - JunitTest : tearDownForClass @AfterClass 메서드 실행
package devtainer.demo.unitTest.junit4;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses( { JunitTest.class, Junit2Test.class })
public class SuiteTest {
}
INFO - JunitTest : setupForClass @BeforeClass 메서드 실행 INFO - JunitTest : setup @Before 메서드 실행 INFO - JunitTest : test1 @Test 단위 테스트 메서드 메서드 실행 INFO - JunitTest : tearDown @After 메서드 실행 INFO - JunitTest : setup @Before 메서드 실행 INFO - JunitTest : test2 @Test 단위 테스트 메서드 메서드 실행 INFO - JunitTest : tearDown @After 메서드 실행 INFO - JunitTest : tearDownForClass @AfterClass 메서드 실행 INFO - Junit2Test : setupForClass @BeforeClass 메서드 실행 INFO - Junit2Test : setup @Before 메서드 실행 INFO - Junit2Test : test1 @Test 단위 테스트 메서드 메서드 실행 INFO - Junit2Test : tearDown @After 메서드 실행 INFO - Junit2Test : setup @Before 메서드 실행 INFO - Junit2Test : test2 @Test 단위 테스트 메서드 메서드 실행 INFO - Junit2Test : tearDown @After 메서드 실행 INFO - Junit2Test : tearDownForClass @AfterClass 메서드 실행
C:\test-cloud\workspace\archetype\junit4>mvn clean test
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building junit4
[INFO] task-segment: [clean, test]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory C:\test-cloud\workspace\archetype\junit4\target
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to C:\test-cloud\workspace\archetype\junit4\targe
t\classes
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 3 source files to C:\test-cloud\workspace\archetype\junit4\targ
et\test-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: C:\test-cloud\workspace\archetype\junit4\targe
t\surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running devtainer.demo.unitTest.junit4.JunitTest
INFO - JunitTest : setupForClass @BeforeClass 메서드 실행
INFO - JunitTest : setup @Before 메서드 실행
INFO - JunitTest : test1 @Test 단위 테스트 메서드 메서드 실행
INFO - JunitTest : tearDown @After 메서드 실행
INFO - JunitTest : setup @Before 메서드 실행
INFO - JunitTest : test2 @Test 단위 테스트 메서드 메서드 실행
INFO - JunitTest : tearDown @After 메서드 실행
INFO - JunitTest : tearDownForClass @AfterClass 메서드 실행
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.172 sec
Running devtainer.demo.unitTest.junit4.SuiteTest
INFO - JunitTest : setupForClass @BeforeClass 메서드 실행
INFO - JunitTest : setup @Before 메서드 실행
INFO - JunitTest : test1 @Test 단위 테스트 메서드 메서드 실행
INFO - JunitTest : tearDown @After 메서드 실행
INFO - JunitTest : setup @Before 메서드 실행
INFO - JunitTest : test2 @Test 단위 테스트 메서드 메서드 실행
INFO - JunitTest : tearDown @After 메서드 실행
INFO - JunitTest : tearDownForClass @AfterClass 메서드 실행
INFO - Junit2Test : setupForClass @BeforeClass 메서드 실행
INFO - Junit2Test : setup @Before 메서드 실행
INFO - Junit2Test : test1 @Test 단위 테스트 메서드 메서드 실행
INFO - Junit2Test : tearDown @After 메서드 실행
INFO - Junit2Test : setup @Before 메서드 실행
INFO - Junit2Test : test2 @Test 단위 테스트 메서드 메서드 실행
INFO - Junit2Test : tearDown @After 메서드 실행
INFO - Junit2Test : tearDownForClass @AfterClass 메서드 실행
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.062 sec
Running devtainer.demo.unitTest.junit4.Junit2Test
INFO - Junit2Test : setupForClass @BeforeClass 메서드 실행
INFO - Junit2Test : setup @Before 메서드 실행
INFO - Junit2Test : test1 @Test 단위 테스트 메서드 메서드 실행
INFO - Junit2Test : tearDown @After 메서드 실행
INFO - Junit2Test : setup @Before 메서드 실행
INFO - Junit2Test : test2 @Test 단위 테스트 메서드 메서드 실행
INFO - Junit2Test : tearDown @After 메서드 실행
INFO - Junit2Test : tearDownForClass @AfterClass 메서드 실행
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec
Results :
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Tue Nov 09 11:25:15 VET 2010
[INFO] Final Memory: 13M/32M
[INFO] ------------------------------------------------------------------------
C:\test-cloud\workspace\archetype\junit4>
| 출발시각 | KTX 광명역 출발 시간 |
|---|---|
| 05시 | 18분 |
| 06시 | 04분 |
| 07시 | 01분, 44분 |
| 08시 | 25분 |
| 09시 | 06분, 55분 |
| 10시 | 16분 |
| 11시 | 05분, 31분, 58분 |
| 12시 | 없음 |
| 13시 | 00분, 55분 |
| 14시 | 13분, 35분 |
| 15시 | 34분 |
| 16시 | 05분, 44분 |
| 17시 | 34분 |
| 18시 | 15분, 36분, 53분 |
| 19시 | 34분, 57분 |
| 20시 | 24분, 46분 |
| 21시 | 20분, 44분 |
| 22시 | 31분 |
| 23시 | 1분 |
We also use the same two licenses - CDDL 1.1 and GPL 2 with CPE - so, you can pick which one suites your needs better.
저의 독점적인 제품에 CDDL 하에 배포되는 코드를 사용한다면 제 소스 코드를 반드시 공유해야 합니까?
그렇습니다. CDDL 하에 라이센스된 어떠한 소스 파일들이나 이러한 파일들을 수정한 부분들을 전부 공유해야 합니다. 그러나 여러분의 독점적인 소스 파일들은 공유할 필요가 없습니다.
http://alexgorbatchev.com/pub/sh/1.5.1/ http://alexgorbatchev.com/pub/sh/2.0.278/ http://alexgorbatchev.com/pub/sh/2.0.287/ http://alexgorbatchev.com/pub/sh/2.0.296/ http://alexgorbatchev.com/pub/sh/2.0.320/ http://alexgorbatchev.com/pub/sh/2.1.364/ http://alexgorbatchev.com/pub/sh/2.1.364/ http://alexgorbatchev.com/pub/sh/2.1.382/ http://alexgorbatchev.com/pub/sh/current/
/styles
/styles/shThemeRDark.css
/styles/shThemeMidnight.css
/styles/shThemeMDUltra.css
/styles/shThemeFadeToGrey.css
/styles/shThemeEmacs.css
/styles/shThemeEclipse.css
/styles/shThemeDjango.css
/styles/shThemeDefault.css
/styles/shCoreRDark.css
/styles/shCoreMidnight.css
/styles/shCoreMDUltra.css
/styles/shCoreFadeToGrey.css
/styles/shCoreEmacs.css
/styles/shCoreEclipse.css
/styles/shCoreDjango.css
/styles/shCoreDefault.css
/styles/shCore.css
/scripts
/scripts/shLegacy.js
/scripts/shCore.js
/scripts/shBrushXml.js
/scripts/shBrushVb.js
/scripts/shBrushSql.js
/scripts/shBrushScala.js
/scripts/shBrushSass.js
/scripts/shBrushRuby.js
/scripts/shBrushPython.js
/scripts/shBrushPowerShell.js
/scripts/shBrushPlain.js
/scripts/shBrushPhp.js
/scripts/shBrushPerl.js
/scripts/shBrushJScript.js
/scripts/shBrushJavaFX.js
/scripts/shBrushJava.js
/scripts/shBrushGroovy.js
/scripts/shBrushErlang.js
/scripts/shBrushDiff.js
/scripts/shBrushDelphi.js
/scripts/shBrushCss.js
/scripts/shBrushCSharp.js
/scripts/shBrushCpp.js
/scripts/shBrushColdFusion.js
/scripts/shBrushBash.js
/scripts/shBrushAS3.js
/scripts/shBrushAppleScript.js
/scripts/shAutoloader.js<link href="http://alexgorbatchev.com/pub/sh/2.1.382/styles/shCore.css" rel="stylesheet" type="text/css" /> <link href="http://alexgorbatchev.com/pub/sh/2.1.382/styles/shThemeEclipse.css" rel="stylesheet" type="text/css" />
...
<pre class="brush:javascript"> ---- </pre> <pre class="brush:jscript> ---- </pre> <pre class="brush:js"> ---- </pre> <pre class="brush:css"> ---- </pre> <pre class="brush:html"> ---- </pre>
while( i.hasNext() ){
Map.Entry e = (Map.Entry) i.next();
logger.debug("TABLE KEY : " + e.getKey() );
logger.debug( "SESSION ID : " + ((HttpSession) e.getValue()).getId() );
}
logger.debug("Entry number: "+i+" is "+String.valueOf(entry[i]));
if(logger.isDebugEnabled(){
logger.debug("Entry number: "+i+"
is "+String.valueOf(entry[i]));
}
if(logger.isDebugEnabled() {
logger.debug("Entry number: "+i+" is "+String.valueOf(entry[i]));
}
public void foo(Object[] a) {
for(int i = 0; i < a.length; i++) {
if(logger.isDebugEnabled()){
logger.debug("Original value of entry number: "+i+" is "+a[i]);
}
a[i] = someTransformation(a[i]);
if(logger.isDebugEnabled()){
logger.debug("After transformation the value is "+a[i]);
}
}
}
public void foo(Object[] a) {
boolean isLogging = logger.isDebugEnabled();
for(int i = 0; i < a.length; i++) {
if(isLogging ){
logger.debug("Original value of entry number: "+i+" is "+a[i]);
}
a[i] = someTransformation(a[i]);
if(isLogging ){
logger.debug("After transformation the value is "+a[i]);
}
}
}