[링크] 자바스크립트 3점 표기법
https://ddalpange.github.io/2018/01/11/js-es6-three-dots/
https://ddalpange.github.io/2018/01/11/js-es6-three-dots/
/** * 매개변수로 받은 문자열 list에 중복이 존재할 경우 true, 아니면 false 리턴 * * @param list * @return */ public static boolean hasDuplicated(List<String> list) { if(list == null){ return false; } Set<String> set = new HashSet<>(list); if(set.size() < list.size()){ return true; } return false; } 참고 https://stackoverflow.com/questions/562894/java-detect-duplicates-in-arraylist
https://lionhead93.github.io/spring/DI-lombok/
https://kakaocommerce.tistory.com/45?category=368198
왜인지 모르겠으나…(협업 환경에서 잘못된 오버라이드?) IDE의 JDK 언어 레벨이 5로 되어 있어서, 람다식 등의 시그니처를 인식하지 못한 것으로 추측된다. 다시 IDE의 JDK 버전을 8로 맞추어 줬더니 정상동작 했다. 아오.. 갈 길이 바쁜데 이런 거 발목 좀 안 잡았으면 좋겠네. -_-/
https://babycoder05.tistory.com/entry/%EC%A0%84%EA%B0%9C%EA%B5%AC%EB%AC%B8%EA%B3%BC-%EC%96%95%EC%9D%80-%EB%B3%B5%EC%82%AC-%EA%B9%8A%EC%9D%80-%EB%B3%B5%EC%82%AC 참고 전개구문(스프레드 연산자 = spread operator)을 사용한 깊은 복사는 반쪽짜리 깊은 복사이다. 하위 depth는 여전히 얕은 복사 상태임을 주의하자. => lodash.cloneDeep()을 사용하면 완전한 깊은 복사 실현 가능.
https://github.com/b1uec0in/JosaFormatter 나중에 봐야지. 일단 깃헙 스타 박습니다~ https://okky.kr/article/549842
https://solbel.tistory.com/1240
// 함수 정의 /** * 파라미터로 받은 querystring의 특정 파라미터 값을 변경한 querystring을 리턴한다. * * – querystring은 주소부분을 제외한 ? 이후의 부분이라 가정한다. */ function modifyQueryString(src, modObj){ // querystring을 object 화 var obj = JSON.parse('{"' + decodeURI(src).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}'); for(key1 in obj){ for(key2 in modObj){ if(key1 != key2){ continue; } obj[key1] =… Read More »
html 엘리먼트의 수직정렬은 정확히 알고 하던 것이 아니라서 항상 헷갈리는데, 이번에 알게 된 사례를 하나 기록한다. 부모/자식 둘 다 display:block 이라고 가정하고, 부모요소의 css에 아래 항목을 추가한다. { display:flex; align-items:center; } 참고 링크 https://stackoverflow.com/questions/5166574/vertical-align-text-in-block-element/9406982
newList.addAll(oriList); 는 언뜻 deep copy 인 것처럼 보이지만 아니다. 커스텀 클래스인 경우에는 Clonable 을 implement 하기도 한다고 한다. 나는 주로 List<Map> 구조를 사용하기 때문에 그냥 아래와 같이 했다. List<Map<String, Object>> newList = new ArrayList<>(); oriList.forEach(el -> { newList.add(new LinkedHashMap<>(el)); // 이걸로 완전한 deep copy가 이루어 지는지는 아직 모르겠다. });
https://jangjy.tistory.com/337
https://towardsdatascience.com/25-lesser-known-java-libraries-you-should-try-ff8abd354a94
https://zetawiki.com/wiki/CSS_float_%EC%9E%90%EC%8B%9D%EB%93%A4_%ED%8F%AC%ED%95%A8%ED%95%98%EA%B8%B0
@Transient private String blabla;
* commons StringUtils.containsAny([타겟 문자열], [비교대상1], [비교대상2]..); * containsAll() 같은 건 없지만, 그거 비슷하게 구현한 메서드 public static boolean hasAndKey(String value, String… keys) { for (String key : keys) { if (value.contains(key) == false) { return false; } } return true; }
package com.app.util; import java.util.Locale; import java.util.Properties; import javax.servlet.http.HttpServletRequest; import org.springframework.context.MessageSource; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PropertiesLoaderUtils; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.util.StringUtil; import lombok.extern.slf4j.Slf4j; /** * 웹 관련 유틸 클래스 * * @author STEVE */ @Slf4j public class WebUtil { /** * 현재 request url 에서 [http(s)프로토콜 부터 도메인까지]를 substring 한 문자열을… Read More »
* error_log() 라는 함수를 사용한다. e.g.) error_log(“블라블라”, 3, “/home/bruce/custom.log”); 두 번째 인수 3은 세 번째 인수의 경로에 해당하는 로그파일에 기록하겠다는 선언이다. 로그가 기록되지 않는다면 로그파일을 777 권한으로 생성해 보자.
https://this-programmer.com/entry/JavaScript%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%88%AB%EC%9E%90%EB%A5%BC-%EB%A7%8C-%EC%96%B5-%EC%A1%B0-%EA%B2%BD-%EB%93%B1-%EB%A7%8C-%EB%8B%A8%EC%9C%84-%ED%95%9C%EA%B8%80%EB%A1%9C-%EC%B0%8D%EA%B8%B0-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%97%B0%EC%82%B0%EC%9D%98-%ED%95%9C%EA%B3%84%EA%B0%92
org.springframework.test.util.ReflectionTestUtils.setField(obj, “fieldName01”, fieldValue01);