반응형

jquery에서 자기 자신의 태그를 제거하는 방법 입니다.

 

unwrap 을 이용하면 되는데 그냥 쓰면 상위 태그를 지우기 때문에 contents() 함수화 함께 쓰면 됩니다.

 

아래 예제로 확인하세요.

 

Html

 

 

Javascript

 

 

 

결과

 

반응형

'스크립트' 카테고리의 다른 글

html5 javascript 이미지 미리보기  (0) 2018.11.29
cmd process kill  (0) 2018.11.17
javascript padStart - left padding  (0) 2018.11.07
curl 기본 사용법  (0) 2018.11.07
jquery 확장 enter key function  (0) 2018.11.05
javascript cookie getCookie setCookie  (0) 2018.11.05
netstat unique ip  (0) 2018.09.10
javascript java rsa  (0) 2018.08.13
반응형

Jeus 7 재기동 스크립트입니다.


아래 순서대로 실행해주시면 됩니다. 


1. DAS(Domain Administration Server) 재기동.

2. NM(Node Manager) 재기동.


dsdown
dsboot
nmdown
nmboot


TMAX 엔지니어 말로는 MS(Managed Server) 도 혹시 모르니 확인하고 재기동 하라고 합니다.

7버전은 원래는 DAS, NM 다 죽어도 서비스는(MS) 영향이 없다고 합니다.

반응형
반응형

Jquery를 이용한 엔터키 입력 시 동작하는 함수 입니다.

 

 

 

반응형

'스크립트' 카테고리의 다른 글

cmd process kill  (0) 2018.11.17
javascript padStart - left padding  (0) 2018.11.07
curl 기본 사용법  (0) 2018.11.07
jquery self unwrap  (0) 2018.11.06
javascript cookie getCookie setCookie  (0) 2018.11.05
netstat unique ip  (0) 2018.09.10
javascript java rsa  (0) 2018.08.13
aes256 cbc javascript and java  (0) 2018.08.09
반응형

자바스크립트 쿠키 제어 함수 입니다.

 

 

참조 : https://www.quirksmode.org/js/cookies.html

반응형

'스크립트' 카테고리의 다른 글

javascript padStart - left padding  (0) 2018.11.07
curl 기본 사용법  (0) 2018.11.07
jquery self unwrap  (0) 2018.11.06
jquery 확장 enter key function  (0) 2018.11.05
netstat unique ip  (0) 2018.09.10
javascript java rsa  (0) 2018.08.13
aes256 cbc javascript and java  (0) 2018.08.09
ajax multiple parameter request list  (0) 2018.07.24
반응형

kisa 에서 제공하는 sha256 java 사용방법 예제 입니다.


https://seed.kisa.or.kr/iwt/ko/bbs/EgovReferenceDetail.do?bbsId=BBSMSTR_000000000002&nttId=79


위 사이트에서 파일(KISA_SHA256.zip)을 다운받아 압축을 풀면 "[02] JAVA" 폴더에 "KISA_SHA256.java" 파일이 있습니다.


그런데 뭔가 사용방법이 친절하지 않게 되어있습니다.


이왕 만들어 배포할거 좀 친절하게 해주면 좋을텐데 말입니다.


그래서 좀더 편하게 sha256 암호화 하려면 아래 코드를 덧 붙여서 사용하시면 됩니다.


1
2
3
4
5
6
7
8
9
10
  public static String encrypt(String plainText) {
    byte[] bytes = plainText.getBytes();
    byte[] pszDigest = new byte[32];
    KISA_SHA256.SHA256_Encrpyt(bytes, bytes.length, pszDigest);
    StringBuffer encrypted = new StringBuffer();
    for (int i = 0; i < 32; i++) {
      encrypted.append(String.format("%02x", pszDigest[i]));
    }
    return encrypted.toString();
  }


반응형
반응형

mybatis jndi 설정 예제입니다.


1
2
3
4
5
6
7
8
9
10
<configuration>
  <environments default="jndi">
    <environment id="jndi">
      <transactionManager type="JDBC" />
      <dataSource type="JNDI">
        <property name="data_source" value="java:comp/env/jdbc/test" />
      </dataSource>
    </environment>
  </environments>
</configuration>


반응형
반응형

Mybatis 에서 null 값 입력 시 아래와 같은 오류가 발생한다.

1
2
3
Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #6 with JdbcType OTHER . 
Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. 
Cause: java.sql.SQLException: JDBC-590704:Unsupported SQL type. - 1111


config에서 jdbcTypeForNull 을 아래처럼 설정해주면 해결된다.

1
2
3
4
5
6
7
8
9
<configuration>
  <settings>
    <setting name="cacheEnabled" value="true" />
    <setting name="useGeneratedKeys" value="true" />
    <setting name="defaultExecutorType" value="REUSE" />
    <setting name="defaultStatementTimeout" value="3000" />
    <setting name="jdbcTypeForNull" value="NULL" />
  </settings>
</configuration>


반응형

'java' 카테고리의 다른 글

mybatis sql include property  (0) 2018.11.08
java simple get random alphanumeric string 간단 랜덤 함수  (0) 2018.11.07
kisa sha256 java 예제  (0) 2018.11.05
mybatis jndi example  (0) 2018.11.05
java, springboot, hikari example  (0) 2018.10.30
ThreadLocal Test  (0) 2018.10.30
java - google otp  (0) 2018.10.19
spring boot logging.config  (0) 2018.09.10
반응형

STS 에서 유용하게 쓰는 기능 중하나가 Quick Search(Ctrl +Shift + L) 기능입니다.


모든 파일에서 원하는 문자열을 다 찾아줍니다. 


저에게는 Open Resource(Ctrl+Shift+R) 기능과 함께 쓰이는 매우 유용한 기능입니다.

*Open Resource 는 파일명으로 찾습니다.


그런데 일반 Eclipse에는 기본적으로 설치가 되어있지 않아 따로 설치를 해줘야 합니다.



플러그인 사이트에 접속합니다.


URL : https://marketplace.eclipse.org/content/quick-search-eclipse#group-external-install-button


Markect Client가 설치되어있다면 좀더 편하게 설치할 수 있을지 모르겠지만,


저는 설치하기 귀찮아서 고전적인 이클립에서 설치하는 방법을 선택했습니다.


사이트의 중간에 아래 이미지 처럼 Update site url 을 확인할 수 있는 아이콘을 선택합니다.




저는 이클립스가 Neon 이여서 주소가 "http://download.springsource.com/release/TOOLS/update/e4.6/" 입니다.


이클립스에서 아래와 같이 진행해 주시면 됩니다.


Help > Install New Software... > Add...

Locatin: http://download.springsource.com/release/TOOLS/update/e4.6/ > OK


이렇게하면 STS 전체 모듈이 나오는데 저는 Quick Search 만 필요하므로,

type filter text 라고 적힌 곳에 Quick 이라고 치면 Quick Search 플러그인만 조회가 됩니다.


체크하고 그 다음 부터는 Next 신공으로 설치하시면 됩니다.


설치 후 재시작되고 나서 Ctrl + Shift + L 을 누르면. 짜잔~



반응형
반응형

Springboot hikari sample 입니다.


#Database Configuration
spring.datasource.driverClassName=
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.continueOnError=true
spring.datasource.hikari.maximum-pool-size=3
spring.datasource.hikari.minimum-idle=1
spring.datasource.hikari.connection-test-query=SELECT 'TEST' # 5minutes spring.datasource.hikari.max-lifetime=600000


반응형

'java' 카테고리의 다른 글

java simple get random alphanumeric string 간단 랜덤 함수  (0) 2018.11.07
kisa sha256 java 예제  (0) 2018.11.05
mybatis jndi example  (0) 2018.11.05
mybatis jdbcTypeForNull NULL  (0) 2018.11.05
ThreadLocal Test  (0) 2018.10.30
java - google otp  (0) 2018.10.19
spring boot logging.config  (0) 2018.09.10
restTemplate large file download stream  (0) 2018.09.03
반응형

java의 ThreadLocal을 이용하면 해당 Thread에서만 공유되는 전역변수를 이용할 수 있습니다.


아래 코드 처럼 static으로 선언하고 get, set을 이용해 값을 넣고 빼고 하면 됩니다.


static 이지만 Thread 별로 값이 관리 됩니다.


SpringSeucirty에서 Principal 공유나 TransactionManager 에서 사용된다고 합니다.



ThreadLocal Test Code


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
 
public class ThreadLocalTest {
  private static final ThreadLocal<Integer> threadLocal = new ThreadLocal<>();
  private static final AtomicInteger threadCount = new AtomicInteger();
  private static Integer threadGlobal = new Integer(0);
 
  public static void main(String[] args) throws InterruptedException {
    test();
  }
 
  public static void test() throws InterruptedException {
    ExecutorService executor = Executors.newCachedThreadPool();
    for (int i = 0; i < 100; i++) {
      executor.execute(new Runnable() {
        @Override
        public void run() {
          int i = threadGlobal = threadCount.incrementAndGet();
          threadLocal.set(i);
          try {
            Thread.sleep(1);
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
          System.out.println(String.format("Thread No : %d, Thread Loacl : %d, Thread Global : %d", i,
              threadLocal.get(), threadGlobal));
        }
      });
    }
    System.out.println("End");
  }
}


Result

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
End
Thread No : 38, Thread Loacl : 38, Thread Global : 72
Thread No : 91, Thread Loacl : 91, Thread Global : 91
Thread No : 52, Thread Loacl : 52, Thread Global : 85
Thread No : 83, Thread Loacl : 83, Thread Global : 85
Thread No : 10, Thread Loacl : 10, Thread Global : 20
Thread No : 90, Thread Loacl : 90, Thread Global : 91
Thread No : 45, Thread Loacl : 45, Thread Global : 71
Thread No : 13, Thread Loacl : 13, Thread Global : 32
Thread No : 85, Thread Loacl : 85, Thread Global : 90
Thread No : 87, Thread Loacl : 87, Thread Global : 90
Thread No : 1, Thread Loacl : 1, Thread Global : 18
Thread No : 81, Thread Loacl : 81, Thread Global : 85
Thread No : 35, Thread Loacl : 35, Thread Global : 90
Thread No : 93, Thread Loacl : 93, Thread Global : 100
Thread No : 21, Thread Loacl : 21, Thread Global : 31
Thread No : 40, Thread Loacl : 40, Thread Global : 72
Thread No : 66, Thread Loacl : 66, Thread Global : 85
Thread No : 33, Thread Loacl : 33, Thread Global : 62
Thread No : 78, Thread Loacl : 78, Thread Global : 85
Thread No : 6, Thread Loacl : 6, Thread Global : 18
Thread No : 56, Thread Loacl : 56, Thread Global : 85
Thread No : 79, Thread Loacl : 79, Thread Global : 85
Thread No : 39, Thread Loacl : 39, Thread Global : 72
Thread No : 100, Thread Loacl : 100, Thread Global : 100
Thread No : 97, Thread Loacl : 97, Thread Global : 100
Thread No : 65, Thread Loacl : 65, Thread Global : 85
Thread No : 42, Thread Loacl : 42, Thread Global : 72
Thread No : 53, Thread Loacl : 53, Thread Global : 85
Thread No : 23, Thread Loacl : 23, Thread Global : 33
Thread No : 59, Thread Loacl : 59, Thread Global : 85
Thread No : 54, Thread Loacl : 54, Thread Global : 85
Thread No : 95, Thread Loacl : 95, Thread Global : 100
Thread No : 27, Thread Loacl : 27, Thread Global : 71
Thread No : 96, Thread Loacl : 96, Thread Global : 100
Thread No : 2, Thread Loacl : 2, Thread Global : 18
Thread No : 26, Thread Loacl : 26, Thread Global : 33
Thread No : 73, Thread Loacl : 73, Thread Global : 85
Thread No : 36, Thread Loacl : 36, Thread Global : 90
Thread No : 62, Thread Loacl : 62, Thread Global : 85
Thread No : 74, Thread Loacl : 74, Thread Global : 85
Thread No : 60, Thread Loacl : 60, Thread Global : 85
Thread No : 5, Thread Loacl : 5, Thread Global : 18
Thread No : 92, Thread Loacl : 92, Thread Global : 95
Thread No : 32, Thread Loacl : 32, Thread Global : 62
Thread No : 49, Thread Loacl : 49, Thread Global : 70
Thread No : 43, Thread Loacl : 43, Thread Global : 72
Thread No : 64, Thread Loacl : 64, Thread Global : 85
Thread No : 46, Thread Loacl : 46, Thread Global : 71
Thread No : 63, Thread Loacl : 63, Thread Global : 85
Thread No : 61, Thread Loacl : 61, Thread Global : 85
Thread No : 22, Thread Loacl : 22, Thread Global : 31
Thread No : 44, Thread Loacl : 44, Thread Global : 72
Thread No : 11, Thread Loacl : 11, Thread Global : 32
Thread No : 28, Thread Loacl : 28, Thread Global : 71
Thread No : 75, Thread Loacl : 75, Thread Global : 85
Thread No : 17, Thread Loacl : 17, Thread Global : 32
Thread No : 31, Thread Loacl : 31, Thread Global : 70
Thread No : 51, Thread Loacl : 51, Thread Global : 85
Thread No : 18, Thread Loacl : 18, Thread Global : 34
Thread No : 48, Thread Loacl : 48, Thread Global : 70
Thread No : 69, Thread Loacl : 69, Thread Global : 85
Thread No : 89, Thread Loacl : 89, Thread Global : 91
Thread No : 82, Thread Loacl : 82, Thread Global : 85
Thread No : 30, Thread Loacl : 30, Thread Global : 71
Thread No : 55, Thread Loacl : 55, Thread Global : 85
Thread No : 70, Thread Loacl : 70, Thread Global : 85
Thread No : 24, Thread Loacl : 24, Thread Global : 33
Thread No : 84, Thread Loacl : 84, Thread Global : 90
Thread No : 41, Thread Loacl : 41, Thread Global : 72
Thread No : 20, Thread Loacl : 20, Thread Global : 34
Thread No : 8, Thread Loacl : 8, Thread Global : 17
Thread No : 4, Thread Loacl : 4, Thread Global : 17
Thread No : 88, Thread Loacl : 88, Thread Global : 90
Thread No : 7, Thread Loacl : 7, Thread Global : 18
Thread No : 94, Thread Loacl : 94, Thread Global : 100
Thread No : 3, Thread Loacl : 3, Thread Global : 18
Thread No : 47, Thread Loacl : 47, Thread Global : 72
Thread No : 57, Thread Loacl : 57, Thread Global : 85
Thread No : 76, Thread Loacl : 76, Thread Global : 85
Thread No : 14, Thread Loacl : 14, Thread Global : 32
Thread No : 15, Thread Loacl : 15, Thread Global : 32
Thread No : 12, Thread Loacl : 12, Thread Global : 32
Thread No : 86, Thread Loacl : 86, Thread Global : 90
Thread No : 68, Thread Loacl : 68, Thread Global : 85
Thread No : 9, Thread Loacl : 9, Thread Global : 18
Thread No : 77, Thread Loacl : 77, Thread Global : 85
Thread No : 25, Thread Loacl : 25, Thread Global : 33
Thread No : 58, Thread Loacl : 58, Thread Global : 85
Thread No : 98, Thread Loacl : 98, Thread Global : 100
Thread No : 50, Thread Loacl : 50, Thread Global : 85
Thread No : 34, Thread Loacl : 34, Thread Global : 52
Thread No : 16, Thread Loacl : 16, Thread Global : 32
Thread No : 19, Thread Loacl : 19, Thread Global : 34
Thread No : 99, Thread Loacl : 99, Thread Global : 100
Thread No : 67, Thread Loacl : 67, Thread Global : 85
Thread No : 29, Thread Loacl : 29, Thread Global : 71
Thread No : 37, Thread Loacl : 37, Thread Global : 72
Thread No : 72, Thread Loacl : 72, Thread Global : 85
Thread No : 80, Thread Loacl : 80, Thread Global : 85
Thread No : 71, Thread Loacl : 71, Thread Global : 85
 


반응형

'java' 카테고리의 다른 글

kisa sha256 java 예제  (0) 2018.11.05
mybatis jndi example  (0) 2018.11.05
mybatis jdbcTypeForNull NULL  (0) 2018.11.05
java, springboot, hikari example  (0) 2018.10.30
java - google otp  (0) 2018.10.19
spring boot logging.config  (0) 2018.09.10
restTemplate large file download stream  (0) 2018.09.03
java - pretty log - 예쁜 로그를 남기자!  (0) 2018.08.30

+ Recent posts