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진수로..
... 생략 ... 위처럼 할 경우 submit이 두번일어날 수 있다. 이럴경우 브라우저마다 2번 URL을 호출하는 경우가 생길 수 있는데, 문제가 가장 되는것은 IE6이다. (submit 말고 일반 페이지 이동과 form의 submit일 같이 발생되도 비슷하다) IE6의 경우 저렇게 호출할 경우 서버쪽에서는 SYN_RECV 상태가 생겨버린다.(안 생길 수도 있다.) (동시에 두번 호출 시 처음 호출된게 IE에서는 abort 가 되는데, 이때 따로 서버에 TCP 응답을 안줘서 서버에서는 SYN_RECV 상태로 계속 유지된다.) SYN_RECV 상태가 계속 유지되면 타임아웃으로 밖에 안 없어진다. 타임아웃도 시간도 길어서.... 즉, SYN_RECV가 계속 쌓이면 서버가 서비스 못할 경도가 되버릴 수도 있..
popUrl=path+"/accuse/accuseCreatedForm.rdo"; popName="accuseForm"; var w = 970; var h = 610; var x = (screen.availWidth - w) / 2; var y = (screen.availHeight - h) / 2; window.open(popUrl, popName, "toolbar=0, status=0, scrollbars=no, location=0, menubar=0, width="+w+", height="+h+", left="+x+", top="+y); document.forms.pform.target=popName; document.forms.pform.action=popUrl; document.forms.pfor..
- Total
- Today
- Yesterday
- camelcase
- elk8.x
- SSL인증서
- 마이바티스CamelCase
- #logback
- letsencrypt
- Letsencrypt wildcard
- Letsencrypt wildcard auto renew
- 마이바티스
- 인증서설치
- Intellj들여쓰기
- nginx
- Letsencrypt+nginx
- letencrypt
- 인증서자동갱신
- SSL
- logstash
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |