예전에 자주 사용하던 걸을 자꾸 잊게 됩니다. 토비님 글 보고 쓰던건데 아주 유용합니다. Eclipse - window - Preference - Java - Editor - Templates [New] 추가 자신이 원하는 이름으로 만들면 됩니다. 내용import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import static org.junit.matchers.JUnitMatchers.*; import static org.mockito.Matchers.*; import static org.mockito.Mockito.*; 이클립스에서 test 해보시면 됩니다. 자동 생성 후 Organize Imports (Ctrl+Sh..
Colorscripter 코드 작성할 때 유용https://colorscripter.com/ Spring 레퍼런스https://spring.io/docs/reference Spring Boothttp://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference Spring Boot Sample GitHubhttps://github.com/spring-projects/spring-boot.git Spring JPA referencehttps://docs.spring.io/spring-data/jpa/docs/current/reference Spring securityhttp://docs.spring.io/spring-security/site/docs/4.2...
Remove this "BigDecimal" constructor수정 전 public void serialize(Double value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (null == value) { jgen.writeNull(); } else { jgen.writeNumber(new BigDecimal(value).setScale(2, BigDecimal.ROUND_DOWN)); } }수정 후 public void serialize(Double value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (null == v..
Use "java.nio.Files#delete" here for better messages on error conditions.SonarQube를 이용하니 새로운 기술도 알려 주네요. ^^수정 전public static boolean deleteFile(String path, String name){ File file = new File(path + name);if(file.exists()){return file.delete();}return false;}수정 후 public static boolean deleteFile(String path, String name) { Path filePath = FileSystems.getDefault().getPath(path, name); try { Files..
"Add a private constructor to hide the implicit public one."유틸 클래스에서는 public 생성자가 없어야 합니다. 유틸 클래스 만들 때는 private 생성자를 추가해 주세요. public class ValidatorUtil { private ValidatorUtil() { throw new IllegalStateException("Utility class"); }...} Utility classes should not have public constructors (squid:S1118) Code smell MajorUtility classes, which are collections of static members, are not meant to be i..
Combine this catch with the one at line 82, which has the same body. 동일 처리를 하는 catch문 합치기 수정 전public boolean checkUser(UserParam userParam) {try {if(getUserInfo(userParam) != null) return true;}catch(DataNotFoundException e) {return false;}catch(UserNotFoundException e) {return false;}return false;}수정 후public boolean checkUser(UserParam userParam) {try {if(getUserInfo(userParam) != null) return ..
Iterate over the "entrySet" instead of the "keySet". Map에 있는 키 값을 꺼내서 루프를 돌리는데 만약 key값 이외 value도 필요하다며 keySet을 사용하지 말고 entrySet을 사용하라. "entrySet()" should be iterated when both the key and value are needed (squid:S2864) Code smell Major When only the keys from a map are needed in a loop, iterating the keySet makes sense. But when both the key and the value are needed, it's more efficient to iter..
Object를 일반적인 방법으로 복제를 하는 경우 문제가 발생할 수 있습니다. 아래 예제를 통해 확인해 보겠습니다. 테스트 코드 public class TestClone { public static void main(String[] args) { User user1 = new User("test1"); User cUser1 = (User)user1.clone(); cUser1.setName("test2"); System.out.println(user1.toString()); System.out.println(cUser1.toString()); } public static class User implements Cloneable, Serializable{ private String name; private..
검출 메시지 The type of the "map" object should be an interface such as "Map" rather than the implementation "HashMap".List, Set, Map 사용 시 자주 실수하는 내용 중 하나입니다. 심지어 List가 인터페이스인 줄도 모르는 개발자가 많습니다. 왜 인터페이스를 사용해야 하는지를 모르면서 습관처럼 만들고 사용합니다. 왜 그러해야하는가에 대한 것을 공부하고 좋은 습관을 만드는게 중요한거 같습니다. 잘못 사용 되는 예ArrayList list = new ArrayList();HashMap map = new HashMap();HashSet set = new HashSet(); public void test(HashMap..
- Total
- Today
- Yesterday
- sample
- REST
- oracle
- springboot
- Javascript
- mapToList
- 그리드
- AG-GRID
- restful서비스
- example
- 샘플
- 엑셀
- 메시지
- ag grid
- mybatis
- 스프링
- spring
- 타임리프
- SHEETJS
- Spring Boot
- lombok
- listToMap
- 설정
- thymeleaf
- 스프링부트
- RESTful
- java
- cache
- UI
- 예제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |