본문 바로가기

java27

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.
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.
Java에서 String과 new String()의 차이는? 아래와 같은 질문을 받았다. String msg = “Hello”; String msg = new String(“Hello”); 위 두 가지 코드 중 어떤 방식이 더 나은 방식일까? 같을까? 다를까? 몇 가지 케이스를 아래와 같이 테스트 해 보았다. public class StringTest { @Test public void String_Object_Test() { String msg1 = "Hello"; String msg2 = "Hello"; String msg3 = new String("Hello"); String msg4 = new String("Hello"); String msg5 = new String("Hello").intern(); System.out.println(msg1 == msg2.. 2017. 8. 24.
Jackson을 이용하여 JSON -> POJO 변환시 POJO에 존재하지 않는 property가 있는 경우 예를 들어보자 { “no”: 1234, “id”: “test”, “name”: “John”, “age”: 20 } @Data public class Member { private int no; private String id; private String name; //private int age; } 위 처럼 되어 있는 경우 Member 객체로 변환할 때 오류가 발생할 것이다. age 라는 속성을 알 수 없기 때문이다. 이를 해결하는 방법은 2가지가 있다.(아마 그 외에도 있으리라 생각되지만 잘 모르겠다.) 1. POJO 클래스에 @JsonIgnoreProperty(ignoreUnknown = true) 를 붙여주는 방법 @JsonIgnoreProperty(ignoreUnknown = true) @Dat.. 2017. 7. 21.