본문 바로가기

프로그래밍/JAVA

(15)
StringBuffer, StringBuilder 그리고 String 1. 세가지 공통점 - 문자열을 처리하는 Class 2. String 과 (StringBuffer, StringBuilder)의 차이점 - 메모리 상에서 처리방식에서 차이점이 있다. - String은 immutable(변경불가) 이고, StringBuffer는 mutable이다. 3. StringBuffer, StringBuilder 두개의 차이점 1) StringBuffer - append 메소드@Override public synchronized StringBuffer append(Object obj) { toStringCache = null; super.append(String.valueOf(obj)); return this; } 2) StringBuilder - append 메소드@Override..
IntStream, LongStream 내 range, rangeClosed 사용해보기. 1. X Stream - IntStream 은 int를 지정한 범위 내에서 반복문을 동작함 - LongStream dms Long을 지정한 범위 내에서 반복문을 동작함 2. range, rangeclosed - range는 endExclusive 값 전까지만 반복 - rangeClosed는 endExclusive 를 포함하여 반복 3. IntStream - 소스public class IntRangeTest { public static void main(String[] args) { int startNum = 1; int endNum = 9; intRangeTest(startNum, endNum); System.out.println("\n"); intRangeClosedTest(startNum, endNu..
[Apahce poi] 엑셀파일에 암호걸기 업무 중에 엑셀 다운로드 기능에 "암호 걸기"가 필요해짐. 1. pom.xml에 필요한 dependencyt 추가 org.apache.poi poi 3.16 2. 샘플 - 아래와 같이 설정해주면 잘 나온다.EncryptionInfo encryptionInfo = new EncryptionInfo(EncryptionMode.agile); Encryptor encryptor = encryptionInfo.getEncryptor(); encryptor.confirmPassword(password); - 결과 3. 전체소스import lombok.extern.slf4j.Slf4j; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import..
[LOMBOK] constructor ... is already defined in class ... (1.16.22) 1. 현상 - Spring boot 1.5.14 로 프로젝트를 세팅하는 중 에러 발생. - Lombok Annotation 적용해놓은 class에서 컴파일 에러 - Github 이슈함 검색... 버그... @Data @NoArgsConstructor @AllArgsConstructor public class Sample { private String test1; private String test2; } 2. 해결법 - @NoArgsConstructor 를 @Data 보다 위에 선언해야한다. @NoArgsConstructor @AllArgsConstructor @Data public class Sample { private String test1; private String test2; } * 관련 문서..
AWS s3 upload source Tip 1. Content Type - 파일명에 따라 ContentType을 설정한다. ObjectMetadata objMeta = new ObjectMetadata(); objMeta.setContentType(Mimetypes.getInstance().getMimetype(saveFileNm)); 2. Content Length - byte length를 추가한다.ObjectMetadata objMeta = new ObjectMetadata(); byte[] bytes = IOUtils.toByteArray(targetIS); objMeta.setContentLength(bytes.length); ByteArrayInputStream byteArrayIs = new ByteArrayInputStream(by..
json schema validator 사용하기 - 02 해당 내용은 https://github.com/java-json-tools/json-schema-validator 를 사용하면서 적은 내용입니다. 1. NodeType{.... "type": "string or array...."} - NodeType 목록 ARRAY("array"), BOOLEAN("boolean"), INTEGER("integer"), NULL("null"), NUMBER("number"), OBJECT("object"), STRING("string") - 해당 Library에서는 "com.github.fge.jackson.NodeType"를 참고하시면 편하게 코딩할 수 있다. 2. minItems, maxItems{.... "minItems":0, "maxItems":2....} -..
AmazonS3Client, deprecated!!! 1. 기존 메소드 AmazonS3 s3Client = new AmazonS3Client(new BasicAWSCredentials(accessKey, secretKey)); - 해당 메소드 수석을 참고하면 아래와 같다./** * Constructs a new Amazon S3 client using the specified AWS credentials to * access Amazon S3. * * @param awsCredentials * The AWS credentials to use when making requests to Amazon S3 * with this client. * * @see AmazonS3Client#AmazonS3Client() * @see AmazonS3Client#Amazo..
json schema validator 사용하기 - 01 1. json-schema-validator란? - xml의 DTD 와 유사함. - Json 스키마(http://json-schema.org/) 포멧이 유효한지 확인해줌. - 웹사이트에서 해당 내용을 테스트해볼 수 있다.(링크) 2. library - 기존에 jackson을 많이 사용하므로, fasterxml에서 제공하는 jsonSchema 라이브러리를 사용하려고함. 1) pom.xml com.github.java-json-tools json-schema-validator 2.2.8 3. 간단한 Json 설명{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "/etc/fstab", /* JSON에 대한 제목 */ "description":..