전체 글
-
project lombokJava 애플리케이션을 만들다 보면 계층 간 데이터 교환에 사용되는 DTO(Data Transfer Object)를 만들게 된다. DTO를 만들 때는 일반적으로 다음의 규칙을 따른다.멤버 변수(field)는 private 접근 제한자를 사용한다.해당 멤버 변수에 접근하기 위해 public setter/getter를 포함한다.기본 생성자를 정의한다.선택 사항으로, 여러 파라미터 생성자를 오버로딩 하거나, toString(), equals(), hashCode() 등을 재정의 할 수 있다.이렇듯 DTO를 만드는 작업은 대체로 간단해서 대부분 IDE들이 제공하는 기능을 통해 코드를 쉽게 생성할 수 있다. 하지만 프로젝트 진행 과정에서 리펙토링이 필요하거나 속성이 변경될 경우, DTO ..
[Lombok] 설정 및 기본 사용법project lombokJava 애플리케이션을 만들다 보면 계층 간 데이터 교환에 사용되는 DTO(Data Transfer Object)를 만들게 된다. DTO를 만들 때는 일반적으로 다음의 규칙을 따른다.멤버 변수(field)는 private 접근 제한자를 사용한다.해당 멤버 변수에 접근하기 위해 public setter/getter를 포함한다.기본 생성자를 정의한다.선택 사항으로, 여러 파라미터 생성자를 오버로딩 하거나, toString(), equals(), hashCode() 등을 재정의 할 수 있다.이렇듯 DTO를 만드는 작업은 대체로 간단해서 대부분 IDE들이 제공하는 기능을 통해 코드를 쉽게 생성할 수 있다. 하지만 프로젝트 진행 과정에서 리펙토링이 필요하거나 속성이 변경될 경우, DTO ..
2020.06.14 -
이번 포스트에서는 SQL 함수에 사용되는 정규 표현식을 살펴보자. Sql 함수에서의 정규 표현식 SQL에서의 패턴 검색은 LIKE 연산자에서 %와 ?를 이용하는 아주 간단한 형태이다. 값에 숫자가 있는지, 영문이 있는지 판단하려면 매우 힘들다. 하지만 정규 표현식을 사용한다면 전혀 어려울게 없어진다. 아래 내용은 mysql을 예로 설명하므로 다른 DBMS는 별도의 문서를 확인하자. MySQL :: MySQL 8.0 Reference Manual :: 12.7.2 Regular Expressions 12.7.2 Regular Expressions Table 12.13 Regular Expression Functions and Operators Name Description NOT REGEXP Negatio..
정규 표현식 - SQL이번 포스트에서는 SQL 함수에 사용되는 정규 표현식을 살펴보자. Sql 함수에서의 정규 표현식 SQL에서의 패턴 검색은 LIKE 연산자에서 %와 ?를 이용하는 아주 간단한 형태이다. 값에 숫자가 있는지, 영문이 있는지 판단하려면 매우 힘들다. 하지만 정규 표현식을 사용한다면 전혀 어려울게 없어진다. 아래 내용은 mysql을 예로 설명하므로 다른 DBMS는 별도의 문서를 확인하자. MySQL :: MySQL 8.0 Reference Manual :: 12.7.2 Regular Expressions 12.7.2 Regular Expressions Table 12.13 Regular Expression Functions and Operators Name Description NOT REGEXP Negatio..
2020.06.13 -
BJ G4 17142 연구소3 문제링크 http://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net * 일단 문제를 정독 하고 1시간 이상 반드시 고민이 필요합니다. 핵심 컨셉 고려사항 * 전체 2로 표현되어있는 지점들의 개수를 K개라고 할 때 이중 M개를 순서 없이 활성화 시키므로 kCm의 조합을 찾는 것이 첫번째 임무 - 따라서 맵을 읽는 과정에서 바이러스 지점들의 목록을 만들어준다. - 또한 아직 오염되지 않은 지점 즉 0인 지점도 따로 관리한다. * 이제 선택..
BJ G4 17142 연구소3BJ G4 17142 연구소3 문제링크 http://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net * 일단 문제를 정독 하고 1시간 이상 반드시 고민이 필요합니다. 핵심 컨셉 고려사항 * 전체 2로 표현되어있는 지점들의 개수를 K개라고 할 때 이중 M개를 순서 없이 활성화 시키므로 kCm의 조합을 찾는 것이 첫번째 임무 - 따라서 맵을 읽는 과정에서 바이러스 지점들의 목록을 만들어준다. - 또한 아직 오염되지 않은 지점 즉 0인 지점도 따로 관리한다. * 이제 선택..
2020.06.12 -
이번 포스트에서는 JavaScript에서 정규 표현식을 처리에 대해 알아보자. RegExp RegExp 생성 자바스크립트에서 정규표현식을 처리하기 위해서는 RegExp를 사용한다. RegExp객체를 얻기 위해서는 생성자 함수를 이용해도 되지만 간단히 표현식 자체를 쓰기도 한다. // 기본 문법 new RegExp(pattern[, flags]) /pattern/flags // 사용 예 let regexp = new RegExp("/[a-z]{2}", "/g" );// 생성자 함수의 이용 let regexp = /[a-z]{2}/g; test() 문자열에 정규표현식 내용이 포함되어있는지 확인하기 위해서는 test 함수를 사용한다. test 함수를 사용할 때는 RegExp의 lastIndex 속성에 대해 잘..
정규 표현식 - JavaScript이번 포스트에서는 JavaScript에서 정규 표현식을 처리에 대해 알아보자. RegExp RegExp 생성 자바스크립트에서 정규표현식을 처리하기 위해서는 RegExp를 사용한다. RegExp객체를 얻기 위해서는 생성자 함수를 이용해도 되지만 간단히 표현식 자체를 쓰기도 한다. // 기본 문법 new RegExp(pattern[, flags]) /pattern/flags // 사용 예 let regexp = new RegExp("/[a-z]{2}", "/g" );// 생성자 함수의 이용 let regexp = /[a-z]{2}/g; test() 문자열에 정규표현식 내용이 포함되어있는지 확인하기 위해서는 test 함수를 사용한다. test 함수를 사용할 때는 RegExp의 lastIndex 속성에 대해 잘..
2020.06.11 -
이번 포스트에서는 자바 언어에서 정규 표현식 처리를 위한 API에 대해 알아보자. 자바에서 정규 표현식을 처리하기 위해서는 java.util.regex 패키지에 있는 Matcher와 Pattern을 사용한다. java.util.regex.Pattern matches() Pattern 클래스는 크게 compile, matcher, matches 메서드를 제공한다. 먼저 간단히 주어진 문자열이 특정 패턴에 부합하는지 알아보기 위해서는 matches 메서드를 사용한다. public static boolean matches(String regex, CharSequence input) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(input); retu..
정규 표현식 - Java이번 포스트에서는 자바 언어에서 정규 표현식 처리를 위한 API에 대해 알아보자. 자바에서 정규 표현식을 처리하기 위해서는 java.util.regex 패키지에 있는 Matcher와 Pattern을 사용한다. java.util.regex.Pattern matches() Pattern 클래스는 크게 compile, matcher, matches 메서드를 제공한다. 먼저 간단히 주어진 문자열이 특정 패턴에 부합하는지 알아보기 위해서는 matches 메서드를 사용한다. public static boolean matches(String regex, CharSequence input) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(input); retu..
2020.06.11 -
이번 포스트에서는 정규 표현식을 이용해 유의미한 패턴을 어떻게 만들고 사용할지 알아보자. 정규 표현식 따라 하기 앞서 정규 표현식에 대해서 살펴봤는데 막상 표현식을 작성하려고 보면 쉽지만은 않다. 다행인 점은 우리가 사용하려는 패턴이 대부분 이미 만들어져있다는 점이다. 예를 들어 이메일이나 전화번호가 적합한지 알기 위한 패턴은 대부분 개발 환경에서 유사하다. regex101.com 같은 사이트에도 다른 개발자들이 올려놓은 많은 정규 표현식을 참조할 수 있게 되어있다. 따라서 당장 우리에게 필요한 능력은 필요한 패턴을 찾아서 읽고 내 입맛에 맞게 편집할 수 있는 정도면 충분하다. https://regex101.com/library에서 Strict Password Validator를 검색해 보자. regex..
정규 표현식 - 유용한 표현들이번 포스트에서는 정규 표현식을 이용해 유의미한 패턴을 어떻게 만들고 사용할지 알아보자. 정규 표현식 따라 하기 앞서 정규 표현식에 대해서 살펴봤는데 막상 표현식을 작성하려고 보면 쉽지만은 않다. 다행인 점은 우리가 사용하려는 패턴이 대부분 이미 만들어져있다는 점이다. 예를 들어 이메일이나 전화번호가 적합한지 알기 위한 패턴은 대부분 개발 환경에서 유사하다. regex101.com 같은 사이트에도 다른 개발자들이 올려놓은 많은 정규 표현식을 참조할 수 있게 되어있다. 따라서 당장 우리에게 필요한 능력은 필요한 패턴을 찾아서 읽고 내 입맛에 맞게 편집할 수 있는 정도면 충분하다. https://regex101.com/library에서 Strict Password Validator를 검색해 보자. regex..
2020.06.10 -
이번 포스트에서는 본격적으로 정규 표현식 작성 방법에 대해 살펴보자. 정규 표현식은 사용하는 언어에 따라 기호들의 범위가 다른데 여기서는 JavaScript를 기준으로 살펴본다. 정규표현식 기본적인 정규 표현식 구성 정규 표현식은 /pattern/flag 형태로 구성되는데 검사하고 싶은 문자열에서 pattern에 부합되는 내용이 있는지 찾아보는 게 목적이다. pattern에는 찾으려는 문자열을 넣어주면 된다. 문자 중 특수한 의미를 갖는 문자를 메타문자라고 한다. 예를 들어 '.'은 any character 1개를 의미한다. flag는 정규표현식을 이용해서 탐색을 진행할 때 사용되는 일종의 검색 옵션이다. 대표적으로 다음의 것들이 사용된다. g: global(전체)에 걸쳐서 계속해서 검색한다. 이 옵션이..
정규 표현식 - 메타문자이번 포스트에서는 본격적으로 정규 표현식 작성 방법에 대해 살펴보자. 정규 표현식은 사용하는 언어에 따라 기호들의 범위가 다른데 여기서는 JavaScript를 기준으로 살펴본다. 정규표현식 기본적인 정규 표현식 구성 정규 표현식은 /pattern/flag 형태로 구성되는데 검사하고 싶은 문자열에서 pattern에 부합되는 내용이 있는지 찾아보는 게 목적이다. pattern에는 찾으려는 문자열을 넣어주면 된다. 문자 중 특수한 의미를 갖는 문자를 메타문자라고 한다. 예를 들어 '.'은 any character 1개를 의미한다. flag는 정규표현식을 이용해서 탐색을 진행할 때 사용되는 일종의 검색 옵션이다. 대표적으로 다음의 것들이 사용된다. g: global(전체)에 걸쳐서 계속해서 검색한다. 이 옵션이..
2020.06.10 -
정규 표현식이란? 정규 표현식(Regular Expression)이란 여러 메타문자를 이용해 패턴을 작성하고 패턴에 부합하는 문자열을 검색하거나 치환하는 데 사용되는 기술이다. 웹 페이지를 사용하면서 사용자의 입력 값이 원하는 형태인지 파악하기 위해 사용되는 경우를 많이 볼 수 있다. 예를 들어 tistory는 회원 가입 화면에서 아래와 같은 입력값 검증을 실시하고 잘못된 경우 에러를 보여준다. 정규 표현식은 IDE 등 여러 툴들에서 검색을 위한 설정, java나 javascript 같은 프로그래밍 언어는 물론 sql 문장 등 활용 범위가 매우 넓기 때문에 프로그래머라면 반드시 정복해야 하는 분야 중 하나이다. 유용한 사이트들 정규 표현식을 처음부터 잘 만들어 쓰기는 매우 어렵다. 다행히 아래 사이트들을..
정규 표현식 - 개요정규 표현식이란? 정규 표현식(Regular Expression)이란 여러 메타문자를 이용해 패턴을 작성하고 패턴에 부합하는 문자열을 검색하거나 치환하는 데 사용되는 기술이다. 웹 페이지를 사용하면서 사용자의 입력 값이 원하는 형태인지 파악하기 위해 사용되는 경우를 많이 볼 수 있다. 예를 들어 tistory는 회원 가입 화면에서 아래와 같은 입력값 검증을 실시하고 잘못된 경우 에러를 보여준다. 정규 표현식은 IDE 등 여러 툴들에서 검색을 위한 설정, java나 javascript 같은 프로그래밍 언어는 물론 sql 문장 등 활용 범위가 매우 넓기 때문에 프로그래머라면 반드시 정복해야 하는 분야 중 하나이다. 유용한 사이트들 정규 표현식을 처음부터 잘 만들어 쓰기는 매우 어렵다. 다행히 아래 사이트들을..
2020.06.09