실행시간 측정하는 3가지 방법 StopWatch - spring StopWatch stopWatch = new StopWatch(); stopWatch.start(); //... //... //... stopWatch.stop(); System.out.println("소요시간:"+stopWatch.getTotalTimeMillis()+"ms"); System.out.println(stopWatch.prettyPrint()); * apache comm-lang3에서도 제공되지만 둘다 thread safe 하지 않음 Instant Instant stime = Instant.now(); //... //... //... Instant etime = Instant.now(); System.out.println("..
Java Lambda 표현식 Lambda 표현식은 Java 8에서부터 추가되었습니다. 람다 식은 매개 변수를 받아 값을 반환하는 짧은 코드 블록으로 메서드와 비슷하지만 이름이 필요하지 않으며(익명함수) 메서드 본문에서 바로 구현할 수 있습니다. 여기서는 람다 표현식에 대한 Syntax만 정리하였습니다. 1. 인자가 없는 경우 1-1. 하나의 문장 처리 () -> expression body 1-1. 여러 문장 처리 () -> { expression body } 2. 파라미터(전달 인자)가 있는 경우 2-1. 하나의 문장 처리 (parameters) -> expression body // parameter가 하나인 경우 parameter -> expression body 1-1. 여러 문장 처리 (para..
콘솔에 출력한 내용을 테스트하는 예제 입니다. import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.util.function.Consumer; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; public class SysoutTest { final ByteArrayOutputStream outputStreamCaptor = new ByteArrayOutpu..
구글에서 검색해서 필요한 소스를 복사해서 사용할 때 static 함수 때문에 귀찮았던 경험이 있을 겁니다. 특히나 테스트 케이스에서 사용하는 import static은 잘 기억도 안나고 찾기도 힘들 때가 있습니다. 이런 때 쉽게 사용할 수 있는 두가지 방법이 있습니다. 첫번째, sysout, main 처럼 java template에 import static 구문을 등록해 놓고 필요한 경우 자동 생성해서 쓰는 방법. 두번째, java favorite에 즐겨쓰는 클래스를 등록하고 Code Assist를 통해서 import 받는 방법입니다. 첫번째 방법 자동으로 생성될 구문을 준비합니다. import static org.springframework.test.web.servlet.request.MockMvcRe..
String format 사용법 형식 %[argument_index$][flags][width]conversion Conversion Description s 문자 d 숫자 x 16진수 o 8진수 f 실수 e.g. String strTags = "학교종이 %s 어서 모이자 선생님이 우리를 %s %d"; strTags = String.format(strTags, "땡땡땡", "기다리신다", 12); System.out.println(strTags); Result 학교종이 땡땡땡 어서 모이자 선생님이 우리를 기다리신다 12 옵션 테스트 flag가 '-'인 경우 왼쪽 정렬이 된다. 길이 설정이 글자 보다 긴 경우 공백으로 채워진다. e.g. System.out.println("123456789012345678..
6자리 인증번호를 생성하는 예제입니다. import java.util.concurrent.ThreadLocalRandom; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomUtils; public class TestGen6Digit { /** * 6자리 인증키 생성, int 반환 * @return */ public static int generateAuthNo1() { return ThreadLocalRandom.current().nextInt(100000, 1000000); } /** * 6자리 인증키 생성, int 반환 * @return */ public static int generateA..
객체(Object)란 무엇인가? - 논리적 물리적 대상 - 현실 세계 물체 : 컴퓨터, 핸드폰, 고객, 관리자, 상품 등 - 개념적/기능적 집합 : 주문, 결제, 매출 등 객체 구성 요소 - 속성/상태 - 기능/행위 객체지향개발(Object Oriented Programming)이란? 기존 개발 방법 - 절차적/순차적 개발 - 기능 중심의 개발 - 재사용, 테스트, 중복 제거 어렵다. 객체지향개발 방법 - 객체 식별 : 속성/상태, 기능/행위에 대한 정의 - 객체를 중심으로 개발한다. 객체지향개발(Object Oriented Programming)의 주요 특성 - 상속(Inheritance) : 부모의 속성 및 기능을 하위 객체가 사용할 수 있다. 재사용, 유지보수 - 다형성(Polymorphism) :..
요즘 프로젝트 리팩토링을 하고 있습니다. 엑셀 관련 된 부분이 엉망인데 그 엉망인 코드를 복사해서 여기 저기 쓰고 있었습니다. 깔끔한 소스, 중복제거, 재사용 가능할 것을 목표로 만들었습니다. 1. 요구사항 프로젝트의 "/src/main/resources/static/format" 디렉토리 아래 "testExcel.xlsm"를 읽는다. 해당 엑셀의 3번째 시트의 데이터를 가져온다. 해당 엑셀의 시트명("Sheet3")으로 데이터를 가져온다.데이터는 List에 자료구조(Map)으로 반환한다. 데이터는 List에 객체로 반환한다. 헤더를 정의해서 가져온다. 엑셀의 첫번째 Row를 헤더로 사용하는 경우도 있다. 원하는 데이터를 스킵할 수 있어야 한다. 2. Gradle Dependencies compile (..
- Total
- Today
- Yesterday
- listToMap
- RESTful
- 메시지
- REST
- SHEETJS
- restful서비스
- 스프링부트
- AG-GRID
- 그리드
- 설정
- 샘플
- springboot
- mybatis
- Spring Boot
- UI
- thymeleaf
- mapToList
- Javascript
- 엑셀
- example
- 예제
- cache
- sample
- 스프링
- oracle
- java
- lombok
- ag grid
- spring
- 타임리프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |