Java StringJoiner StringBuilder 또는 StringBuffer 를 사용하다보면 중간 중간에 공백(문자)을 넣어야하는 경우에는 귀찮고 가독성도 떨어지는 면이 있습니다. StringJoiner 는 여러 문자들을 연결할 때 붙일 구분자(delimiter) 를 지정해줄 수 있는게 특징입니다. 스트링 조인 방법들 소개 String first = "관우"; String second = "장비"; String third = "조운"; String fourth = "황충"; String fifth = "마초"; /** * String으로 선언된 다섯명의 이름을 "-"를 붙여서 출력해보자. * ex] 관우-장비-조운-황충-마초 **/ //String "+" 연산자 사용법 String names =..
JAVA 문자열 연결 방법 concat메소드 StringBulider 객체 StringBuffer 객체 "+" 연산자 String.concat() String 클래스에는 문자열을 이어주는 concat 메소드가 있습니다. String abc = "A".concat("B").concat("C"); // ABC Java 에서 String 은 불변(immutalble) 한 특성을 가집니다. 따라서 새로운 문자열을 더할 때마다 새로운 인스턴스를 생성하기 때문에 성능 상이나 속도 면에서 비효율적입니다. 예제처럼 간단한 경우라면 모를까 보고서를 생성하는 등 문자열 처리가 많은 작업을 할수록 이슈가 될 수 있습니다. StringBuilder String sb = new StringBuilder() .append("A"..
Stream 배울 순서 더보기 생성하기 배열 / 컬렉션 / 빈 스트림 Stream.builder() / Stream.generate() / Stream.iterate() 기본 타입형 / String / 파일 스트림 병렬 스트림 / 스트림 연결하기 가공하기 Filtering Mapping Sorting Iterating 결과 만들기 Calculating Reduction Collecting Matching Iterating Streams란 자바 8에서 추가한 스트림(Streams)은 람다를 활용할 수 있는 기술 중 하나입니다. 자바 8 이전에는 배열 또는 컬렉션 인스턴스를 다루는 방법은 for 또는 foreach 문을 돌면서 요소 하나씩을 꺼내서 다루는 방법이었습니다. 간단한 경우라면 상관없지만 로직이 복..
Map에서 Key가 있는지 없는지 확인 [ containsKey ] public class mapContainsKey { public static void main(String[] args) { HashMap hashMap = new HashMap(); hashMap.put("A","아프리카"); hashMap.put("B","브라질"); hashMap.put("C","체코"); hashMap.put("D","덴마크"); System.out.println(hashMap.containsKey("A")); // true System.out.println(hashMap.containsKey("E")); // false } } Map에서 Value가 있는지 확인 [containsValue] public clas..
JAVA의 Interger를 사용한 10진수에서 2진수, 8진수,16진수 변환 // 10진수 선언 int i = 127; // 10진수를 String형으로 각 진수에 맞게 변환 String binaryString = Integer.toBinaryString(i); //2진수 String octalString = Integer.toOctalString(i); //8진수 String hexString = Integer.toHexString(i); //16진수 System.out.println(binaryString); //1111111 System.out.println(octalString); //177 System.out.println(hexString); //7f 2진수, 8진수, 16진수에서 10진수로..
Spring Boot에서 undertow사용시 websocket관련 WARN 1. 경고 문구 WARN [io.undertow.websockets.jsr:68] handleDeployment - UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used 2. 해결 방안 pom.xml에서 dependency에서 undertow에서 websockets를 exclusion을 해준다. org.springframework.boot spring-boot-starter-undertow io.undertow undertow-websockets-jsr
Spring Boot CGLIB 버그 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (jar:file:/home/jan/src/fm-cli/target/fm-cli-0.1.0-SNAPSHOT.jar!/BOOT-INF/lib/spring-core-5.0.0.RELEASE.jar!/) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) WARNING: Plea..
resultType을 DTO Object일 경우 MyBatis는 기본적으로 대소문자 구분없이 동일한 필드명에 맵핑된다. DB칼럼명에 _가 있을 경우 _이후 첫글자를 대문자로 변환하여 맵핑된다. 아래와 같은 DTO객체가 있다고 가정한다. @Data public class MemberDto{ private String memberNo; private String memberName; private String memberNickName; } 아래와 같은 테이블이 있다고 가정한다. CREATE TABLE `device_log` ( `member_no` BIGINT(20) NOT NULL AUTO_INCREMENT, `member_name` VARCHAR(100) NULL DEFAULT NOT NULL COLL..
- Total
- Today
- Yesterday
- camelcase
- Letsencrypt wildcard
- letsencrypt
- 마이바티스
- Intellj들여쓰기
- SSL
- Letsencrypt+nginx
- 마이바티스CamelCase
- Letsencrypt wildcard auto renew
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |