분류 전체보기 43

[SQL] NULL 관련 SQL 함수(NVL, COALESCE, NULLIF)

SQL문에서 NULL과 관련한 함수가 다양한데,각 DB 환경과 상황에 맞춰서 사용하는 것이 중요하다.NULL 관련 함수는 활용도가 높기 때문에,각각의 함수에 대해 특징과 사용 예시를 알아보자. 1) NVL, NVL2, ISNULL, IFNULL1-1) NVL 함수: Oracle에서 사용하는 함수로, 첫 번째 인자가 NULL일 경우 두 번째 인자를 반환함SELECT NVL(COL1, 0) FROM TABLE1;1-2) NVL2 함수: Oracle에서 사용하는 함수로 NVL 함수와 유사하지만, 세 개의 인자를 받을 수 있음첫 번째 인자가 NULL이 아닌 경우 두 번째 인자를 반환하고, NULL인 경우 세 번째 인자를 반환함SELECT NVL2(COL1, COL2, 0) FROM TABLE1;1-3) ISNU..

DataBase/SQL 2025.04.21

[Java] XML Parsing 방식(DOM, SAX 방식)

최근에 대용량 데이터 처리에 대한 업무 개선을 위해,외부에서 받아서 처리하는 XML 데이터의 파싱 방식을 변경하는 작업을 진행했다.XML 데이터를 파싱하는 대표적인 방식으로 DOM 방식과 SAX 방식이 있는데,각각의 장단점과 방식을 변경한 이유에 대해 설명해보겠다. 1) XML 파싱(XML Parsing)1-1) XML Parsing? : XML(eXtensible Markup Language)은 데이터를 저장하고 전송하기 위한 표준화된 형식이고, XML 파싱은 이러한 XML 문서를 읽고 그 구조와 내용을 프로그램에서 사용할 수 있는 형태로 변환하는 과정이다.1-2) XML 문서의 구조 : XML 문서의 구조를 아래 예시를 통해 알아보자.XML 문서 예시 귤 과일 ..

Java/Java 2025.04.18

[Java] javax.servlet import 에러 해결 방법

HttpServlet을 사용하기 위해 관련 패키지를 import하려고 하는데, 오류가 발생하였다.오류가 발생하는 이유는 이클립스 내 해당 프로젝트에 Server 라이브러리가 설정되어있지 않기 때문인데,이 오류를 해결하는 방법에 대해 알아보자.개발환경JDK: Java 1.8서버: Tomcat 9.0IDE: IntelliJ 먼저, 아래 이미지를 참고하여 프로젝트 우클릭 > Properties 를 선택한다. Java Build Path를 클릭하고, Add Library를 클릭한다. 서버 라이브러리를 추가해야하기 때문에, Server Runtime을 클릭한다. 각자 프로젝트 환경에 맞는 서버를 선택하고, Finish를 클릭한다. 위 과정을 거치면, 서버 라이브러리가 정상적으로 Build Path에 추가된 ..

[Oracle] 정규식 함수 REGEXP_REPLACE(문자열 치환)

오라클 10g부터 정규식을 사용할 수 있도록 함수가 추가되었다.따라서 기존 REPLACE 함수를 정규식을 활용하여 문자열의 패턴을 찾아 더 간단하게 처리할 수 있게 되었다.정규식을 활용한 REPLACE 함수는 REGEXP_REPLACE() 이고 구문(Syntax)는 아래와 같다.  REGXPP_REPALCE( source_char, patten [, replace_string [, position [, occurrence [, match_param] ] ] ..

DataBase/Oracle 2025.04.02

[JavaScript/jQuery] 회원가입 input값 공백 제거하기(onChange event)

이전 게시글에서는 회원가입 폼에서 입력값을 검증하는 정규식에 대해 알아보았다.사용자에게 값을 입력받았을 때 필요 없는 공백이 들어가는 경우가 발생할 수가 있는데,자바스크립트에서 입력받은 값에서 공백을 제거하는 방법에 대해 알아보자.  1) 공백 제거 방법1-1) trim 함수: trim 함수는 문자열의 앞, 뒤의 공백을 제거해주는 함수이다.따라서 중간에 들어간 공백에 대해서는 처리가 되지 않는다.회원가입을 할 때 만약 id 값을 문자열의 길이로만 체크를 하게 된다면공백만 입력한 경우에도 검증이 통과가 될 것이다.이 경우, trim 함수를 활용한다면 공백이 제거가 되어 정상적으로 검증이 될 것이다.str.trim()1-2) replace 함수: replace 함수는 모든 문자에 대해 치환을 해준다.따라서 ..

[JavaScript] 회원가입 페이지 입력 검증하기(정규표현식, 유효성검사)

웹사이트를 만들 때, 회원가입 페이지는 거의 꼭 필요하다고 할 수 있다.회원가입 페이지를 만들 때는 정책에 따라 아이디/패스워드 조건이 조금씩 다를텐데,유효성 검증을 통해 회원가입 시 이를 검증해야한다.HTML 폼에서 유효성 검증은 일반적으로 자바스크립트(JavaScript)를 사용한다.예시를 통해 자바스크립트를 활용하여 회원가입 시 유효성 검증을 하는 방법에 대해서 알아보자.개발환경언어: JavaJDK: 1.8IDE: eclipseTomcat: 8.5HTML/css (Bootstrap) 1) 회원가입 조건1. 아이디(ID)자릿수: 7~12자리영문+숫자 조합영어로 시작2. 패스워드(Password)자릿수: 8~15자리영문+숫자+특수문자 조합3. 이름(Name)자릿수: 2~5자리한글만4. 이메일(Email..

[JavaScript] 배열인지 확인하기 isArray 함수, 배열을 시각화하여 출력

자바스크립트에서 전달된 객체가 배열인지 확인하기 위해 isArray() 함수를 사용한다.이 함수에 대해 알아보자. 1) isArray()Array.isArray(obj);: 전달된 인수(obj)가 배열이면 true, 아니면 false를 반환한다.(boolean 값으로 리턴) 2) 예시결과값위의 예시처럼 배열 형태의 변수에 Array.isArray() 함수를 사용하면 true를 반환하게 되고,문자열 형태의 변수에 Array.isArray() 함수를 사용하면 false를 반환하게 된다. 3) console.table: 배열 또는 객체 형태의 변수를 표 형식의 테이블로 표시한다.3-1) 예시 1위의 예시에 대해 console.table을 출력해보자.변수 arr는 배열 형태이기 때문에, 위처럼 테이블 형태로 출..

[JavaScript] 영어, 숫자만 허용하는 정규표현식

웹에서 사용자의 입력 값을 검사할 때(ex. 아이디) 영어 대소문자와 숫자만으로 이루어진 문자열인지 체크하는 과정이 필요하다.이 때, 자바스크립트에서 정규 표현식을 활용하여 문자열에 영문 대소문자, 숫자로만 이루어진 문자열인지 확인할 수 있는 방법이 있다.이 방법에 대해 알아보자. 1) 정규 표현식 정의: 정규 표현식(Regular Expression)이란 특정한 규칙(패턴)을 가진 문자열의 집합을 다루는 데 사용하는 형식 언어이다.정규식이라고도 부르며, 보통 RegEx 혹은 RegExp로 많이 쓰인다.자바스크립트 뿐 아니라 다양한 프로그래밍 언어에서 텍스트의 패턴을 검색하고, 치환하는 데 주로 사용한다. 2) 정규 표현식 활용: 문자열이 영어 대소문자와 숫자로만 이루어졌는지 확인하기 위한 패턴을 정규 ..

[JavaScript] if문 대신 삼항 연산자 사용하기

자바스크립트에서 if문을 보다 간단하게 표현할 수 있는 삼항연산자에 대해 알아보자.1) 삼항 연산자: 의미는 if문을 사용할 때와 동일한데,조건이 참(true)인 경우 선택문1을 실행, 거짓(false)이면 선택문2를 실행한다. 조건문 ? 선택문1 : 선택문2  1) if문을 사용한 경우let num = 20;if(num > 10) { console.log(true);} else { console.log(true);}결과값 2) 3항 연산자를 사용한 경우let num = 20;let flag = num > 10 ? true : false;console.log(flag); 결과값   [reference]https://yeonzzy.tistory.com/24https://fromnowwon.tis..

[JavaScript] 배열을 가공하여 배열을 변경하는 splice() 함수

자바스크립트에서 배열을 다룰 때 자주 사용하게되는 함수 중에서도 앞서서 slice() 함수에 대해서 소개했는데,이번에는 그와 이름이 비슷한 splice 함수에 대해 알아보자. 1) splice(): 원본 배열에 새로운 요소를 추가하거나 기존요소를 삭제 또는 교체하여 원본 배열을 변경 하고 제거된 배열을 반환하는 함수이다.문법array.splice(start[, deleteCount[, item1[, item2[, ...]]]])start: 시작 인덱스(index)deleteCount(Optional): 배열에서 제거할 요소의 수item1, item2, ...(Optional): 배열에 추가할 요소로, 생략할 경우 요소를 제거하기만 함 2) 예시1. 요소를 제거하지 않고 추가만 하는 경우let arr = ..