| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Java
- springboot
- Linux
- maven
- VSCode
- LOG4J
- JavaScript
- gradle
- Git
- Spring
- gson
- MySQL
- tibero
- Windows
- IntelliJ
- dbeaver
- BPMN
- Kubernetes
- nodejs
- JPA
- SAP
- database
- react
- docker
- useEffect
- log4j2
- mybatis
- kubectl
- nginx
- NCP
- Today
- Total
목록전체 글 (269)
두 손끝의 창조자
백앤드 자원은 WAS에 디플로이 하면 되는데 넥사크로에서 생성한 js 파일은 nginx의 resource 디렉토리 쪽으로 매번 옮겨야 한다. 파일을 옮길 때 전체를 다 복사하면 보통 UI쪽은 파일 수가 많기 때문에 상당한 시간이 걸릴 수 있다. 리눅스에 rsync 라는 도구를 이용하면 편리하게 할 수 있다. rsync -av /home/cothe/source/ /home/cothe/target/
myBatis는 파라미터 바인딩을 위해 #{name} 이나 ${name} 형식으로 바인딩 변수를 선언한다. 대부분 SQL 툴에서는 :name 형태로 바인딩 변수를 지정하는데 myBatis로 작성된 sql은 바인딩 변수 형식을 변경을 해야 DB 툴에서 사용할 수 있다. Intellij에 포함되어 있는 Database Console 에서는 이 바인딩 변수의 패턴을 지정할 수 있다. 그래서 #{name} 이나 ${name} 패턴으로 된 변수도 sql 수정 없이 사용할 수 있다. 환경 설정에서 패턴을 추가하자. 추가된 패턴 : #\{([^\{\}]*)\}
private List splitSql(String sqlChunk) { StringBuilder sb = new StringBuilder(); List sqlList = new ArrayList(); boolean openQuote = false; for (int i = 0; i < sqlChunk.length(); i++) { char c = sqlChunk.charAt(i); if (c == '\'') { openQuote = !openQuote; } if (c == ';' && !openQuote) { sqlList.add(sb.toString().trim()); sb = new StringBuilder(); } else { sb.append(c); } } re..
ssh-keyscan -t rsa [접속하고자하는호스트주소] >> ~/.ssh/known_hosts gradle에서 org.hidetake.ssh 를 이용하여 파일을 업로드 하는 등 스크립트를 실행하려고 하니 com.jcraft.jsch.JSchException: reject HostKey 오류가 발생했다. OS에 해당 호스트에 대한 정보(?)가 없기 때문인것 같은데 위 명령을 수행해서 known_hosts에 추가한다.
Gson gson = new GsonBuilder() .registerTypeAdapter(new TypeToken() { }.getType(), (JsonDeserializer) (element, typeOfT, context) -> { if (element.isJsonPrimitive()) { return new Table(Collections.emptyList()); } else { JsonElement jsonElement = ((JsonObject) element).get("T_DATA"); if (jsonElement.isJsonObject()) { CompanyInfo deserialize = context.deserialize(jsonElement, CompanyInfo.class); re..