본문 바로가기

Programing/Java38

Java에서 문자열에 포함된 HTML 태그들 제거하기 개요 개발을 진행하다 보면 문자열에서 HTML 관련 태그를 모두 삭제하고자 하는 경우가 있다. HTML 내용에는 예외 상황이 많기 때문에 정규식으로 완벽히 지우기는 어렵긴 하다. 그래서 공통 코드로 하나 만들어 보았다. 개발 public class HtmlUtils { private enum HtmlTagPatterns { SCRIPTS("]*>.*?", Pattern.DOTALL), STYLE("", Pattern.DOTALL), TAGS("]+|[a-zA-Z!-:]+)>"), N_TAGS(" 2018. 2. 8.
Collectors.toMap() 시 IllegalStateException 오류 Collectors.toMap 사용시 중복 key가 존재하는 경우 IllegalStateException 이 발생한다. @Testpublic void duplicateKeyError() { List categories = Lists.newArrayList( Category.builder().categoryId("KO_01").languageCode("ko").build(), Category.builder().categoryId("KO_02").languageCode("ko").build() ); Map categoryMap = categories.stream().collect(toMap(Category::getLanguageCode, Function.identity())); assertThat(categ.. 2017. 12. 26.
Jackson @JsonView 사용기 Jackson 을 이용하여 Json 문자열을 쓸 때, 모든 속성을 다 노출하고 싶지 않은 경우가 있다. 이럴 때 @JsonView 를 사용할 수 있다. 예제 코드를 살펴보자. @Data @Builder public class Album { private String albumId; private String albumName; private Singer representSinger; private List tracks; } @Data @Builder public class Singer { private String name; private String nickname; private String managementCompany; } @Data @Builder public class Track { priv.. 2017. 9. 27.
How to use exceptions effectively? (어떻게 Exception을 효율적으로 사용할까?) 본 글은 http://programmergate.com/use-exceptions-effectively/ 를 번역 & 요약한 글입니다. Exception에 대한 글은 수도 없이 많다. 본 블로그 글을 읽어보면서도 책에 나온 교과서 적인 이야기를 하고 있다고 느꼈다. 그 이유는 Exception이라는 것은 처리에 왕도(Royal Way)가 없기 때문이다. 그럼에도 Exception에 대한 글이 의미가 있는 것은 Exception 처리는 프로그래밍에서 없어서는 안 될 중요한 요소 중 하나이기 때문이다. “How to use exceptions effectively?” 에서 언급하고 있는 내용은 기본적이고 간단한 내용들이다. 하지만 잘 지키고 적용하기는 쉽지 않을 수 있다. 자바에서 Exception은 che.. 2017. 8. 28.