일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- model mapper
- webnotebook
- mapstruct
- vuejs
- Docker
- v-if
- docker image clean
- deepcopy
- StringBuffer
- polynote
- typescript
- CKAN for mac
- spring
- Apache Kafka
- 전달 보증 수준
- bigdata
- 난수
- CKAN docker
- CKAN
- mysql
- StringBuilder
- Rust
- java
- v-show
- Today
- Total
목록Java (3)
국쥐의 개발 일상
웹 + 데이터베이스 개발을 하다보면, Entity to Dto 및 Dto to Entity를 변환할 케이스가 많이 생긴다. Mapstruct는 위와같은 변환로직을 Interface로 정의만 하면 autogenerate 하는 아주 유용한 녀석이다! 일반적으로 Mapstruct 사용 시 아래의 코드와 같은 인터페이스 형식으로 선언하게 되어 있다. @Mapper public interface JobMapper { Job of(JobEntity entity); } 또한 lombok을 활용하여 아래와같이 Dto Class를 만들었다고 가정해보겠다. @Data public class Job { private String name; private int career; } 이것을 Mapstruct 녀석이 autogen..

Java에서 흔히 문자열을 연달아 붙일 때 StringBuilder, StringBuffer를 많이 사용한다. 하지만 이 두개의 Class는 같은 동작을 하지만 사소한 차이가 있다. 아주 오래전 부터 Java를 하신분들은 StringBuffer를 더 많이 사용하는 것으로 알고 있다. (StringBuffer는 JDK1.0 version에 출시 되었지만, StringBuilder는 JDK1.5 version에 출시 되었다.) Class 선언부만 보면 큰 차이가 없다. 과연 뭔차이가 있을까? 바로 synchronized(동기화)의 사용 유무이다. 보통 synchronized 구문은 multi-thread 기반의 환경에서 사용한다. (스레드 접근 변수에 대한 값 보장 등등) 아래의 이미지는 실제 JDK의 St..
File IO 및 Stream IO 처리를 한 후 resource에 대한 해제를 할 때 보통 close() 메서드를 수동으로 호출하여 해제하였지만, JDK1.7 부터 try-with-resource 기능을 통하여 자동으로 resource를 해제 할 수 있는 기능이 추가되었다. 자바에서는 close 메서드가 제공되는 API 요소들을 확인하다보면 Closeable 인터페이스를 상속받아 close 메서드를 구현하도록 규칙이 정해져 있다. 보통 파일 IO를 할 때는 아래와 같이 구현할 경우가 많을 것 이다. // jdk 1.6 이하 public static void main(String args[]) { BufferedReader reader = null; try { reader = new BufferedRea..