반응형

분류 전체보기 400

javascript 유효성 검사 함수 test(), exec(), match() 비교 정리

자바스크립트 유효성 검사 함수 test(), exec(), match() 비교 정리 사용자로부터 들어오는 데이터에 대한 유효성 검사는 백엔드뿐만 아니라 프론트엔드에서도 필요한 과정인데요.비록 개발자 도구를 통해 값을 변조할 수는 있지만 사용자에게 빠른 응답을 줄 수 있고, 서버에 요청 부담을 줄일 수 있으며, UI/UX 측면에서의 활용성도 있기 때문입니다. 해당 포스팅에서는 javascript 단에서 데이터의 유효성 검사를 할 때 사용하는 test(), exec(), match() 함수에 대해 비교 정리해 보았습니다./* 위 함수 외에도 필요에 따라 matchAll(), replace(), replaceAll(), split() 등의 함수가 사용될 수 있습니다. */ javascript 정규 표현식 생성..

서브쿼리 종류와 개념 정리(스칼라 서브쿼리, 인라인 뷰, 일반 서브쿼리)

서브쿼리 종류와 개념 정리(스칼라 서브쿼리, 인라인 뷰, 일반 서브쿼리) 서브쿼리와 조인에 대해 공부하던 중 서브쿼리가 사용되는 위치 및 유형에 따라 각각 다른 명칭을 가지고 있다는 것을 알게 되었는데요.해당 포스팅에서는 서브쿼리의 유형인 '스칼라 서브쿼리(Scalar subquery)', '인라인 뷰(Inline view)', '일반 서브쿼리' 등 각각의 개념 및 예시를 정리하여 보았습니다. ***내용을 정리하는 과정에서 중첩 서브쿼리에 대한 개념이 좀 애매하다고 느꼈는데요.우선 내부적으로 서브쿼리가 사용되는 SQL 구문 자체를 '중첩 질의(Nested query)'라고 하며, '중첩 서브쿼리(Nested subquery)'는 말 그대로 서브쿼리 안에 서브쿼리가 중첩된 구조를 말한다고 판단하였습니다.때..

Programming/Oracle 2024.10.20

동일한 테이블을 여러 번 조인하는 방법과 서브쿼리를 사용하는 방법의 차이

동일한 테이블을 여러 번 조인하는 방법과 서브쿼리를 사용하는 방법의 차이(서브 쿼리가 느린 이유) 해당 포스팅은 동일한 테이블을 여러 번 조인하는 쿼리를 보면서 다른 방법은 없는지? 성능적 이슈는 없는지? 하는 의문에서 시작하였으며, 조인을 사용하는 방식과 서브쿼리를 사용하는 방식 각각의 이론적* 장단점을 정리해 본 내용입니다. /*실무에서의 쿼리는 대부분 아래 예시의 쿼리보다 복잡할 뿐만 아니라 다양한 케이스가 존재할 수 있으며, 데이터 양이나 인덱스 등의 변수로 인해서도 쿼리의 성능이 다르게 나올 수 있기 때문에 어떤 것이 정답이다 라고는 할 수 없습니다.때문에 아래 내용은 이론에 기초한 장단점이며, 이론을 참고하되 성능적 부분은 실제 사용되는 쿼리의 실행 계획 등을 통해 확인할 필요가 있습니다.*/..

Zero Width Space란? ZWSP 때문에 발생한 문제 (동일한 문자열이 다르다고 판별될 때)

동일하게 보이는 문자열이 다르다고 판단되는 경우 Zero Width Space가 원인일 수도 'Zero Width Space(ZWSP)'란 단어 그대로 '폭이 없는 공백'을 뜻하는데요.해당 포스팅에서는 zero width space로 인해 발생한 문제를 해결하는 과정에서 해당 개념과 더불어 whitespace characters에 대한 개념 및 정규식을 통한 whitespace character 제거 방법에 대해서도 정리하였습니다. Zero Width Space 발견 시스템 로직을 통해 중복된 값이 들어가지 않도록 처리한 문자열 컬럼이 있었는데요.관련된 데이터 쪽 문제가 있어 확인하던 중 해당 컬럼에 다음과 같이 중복된(사실은 중복이 아니라 동일한 것처럼 보이는) 값이 들어가 있는 것을 볼 수 있었습니다..

IT Info 2024.09.28

eclipse 이클립스 자주 사용되는 단축키 정리

eclipse 자주 사용되는 단축키 정리 최근 이클립스 환경에서 주로 작업을 하게 되면서 업무 효율성을 위해 자주 사용되는 단축키를 정리하였습니다.Eclipse에 설정된 단축키는 'Preferences' -> 'General' -> 'Keys'를 통해 확인 및 변경이 가능합니다. 1. 프로젝트 내에서 파일명 검색첫 번째는 프로젝트 내에서 특정 파일을 검색할 때 사용되는 단축키입니다.파일명을 알고 있다면 굳이 Project Explorer 영역에서 마우스로 해당 파일을 찾을 필요 없이 검색을 통해 파일을 열 수 있습니다.windows 환경에서는 'Ctrl + Shift + R' 단축키가 사용되고 mac 환경에서는 'Command + Shift + R' 단축키가 사용됩니다.   2. 세로 편집 모드(열 편집..

IT Info 2024.09.18

LISTAGG 함수 사용 방법 및 예시(여러 행의 값을 하나의 문자열로 결합할 때)

Oracle 여러 행의 값을 하나의 문자열로 결합할 때 사용하는 LISTAGG 함수 사용 방법 및 예시 해당 포스팅은 'LISTAGG' 함수의 사용 방법 및 예시에 대해 정리한 내용입니다. LISTAGG 함수는 오라클 데이터베이스에서 그룹별 여러 행의 데이터를 구분자로 연결하여 하나의 문자열로 표현할 때 유용하게 사용되며, 때문에 대부분의 경우 'GROUP BY' 또는 'PARTITION BY' 절과 함께 사용됩니다.(Oracle 10g ~ Oracle 11g R1 버전에서는 여러 행의 값을 하나의 문자열로 결합할 때 'WM_CONCAT' 함수를 사용하였으나, 11g R2 버전부터는 WM_CONCAT 대신 'LISTAGG' 함수가 공식적으로 도입되었습니다.) * 아래 예시는 Oracle 19c 버전에서 ..

Programming/Oracle 2024.09.15

(network) 서브넷 마스크 개념 정리 및 문제 풀이

서브넷 마스크(+ 서브넷팅) 개념 정리 및 문제 풀이해당 포스팅은 네트워크 영역에서 헷갈릴 수 있는 부분인 '서브넷 마스크'에 대한 개념적 이해를 돕기 위해 정리한 내용입니다.서브넷 마스크 문제는 정보처리기사, 리눅스 마스터 등 자격증 시험에도 출제되는 개념이기 때문에 한번 잘 이해해 두면 도움이 될 것이라고 생각합니다.(아래 내용은 IPv4 주소 체계 및 IP 주소 클래스에 대한 기본적인 이해가 우선적으로 필요합니다.) 1. IP 주소의 '네트워크 영역'과 '호스트 영역' 네트워크 영역IP 주소는 '네트워크 영역'과 '호스트 영역'으로 나눠서 볼 수 있는데요.'네트워크 영역'의 경우 IP 주소 앞부분에 위치하며, 특정 네트워크를 식별하는 데 사용됩니다.네트워크 영역은 동일한 네트워크에 있는 모든 장치들..

맥북 유니코드(UTF-8) 텍스트 인코딩이 적용되지 않습니다. 해결 방법

문서를 열 수 없습니다. 유니코드(UTF-8) 텍스트 인코딩이 적용되지 않습니다. 문제 해결 방법 해당 포스팅은 macOS 환경에서 텍스트 파일을 열 때 다음과 같이 '문서를 열 수 없습니다. 유니코드(UTF-8) 텍스트 인코딩이 적용되지 않습니다.' 문제가 발생하였을 때의 해결 방안에 대해 정리한 내용입니다. 먼저 텍스트 파일을 열 때 이러한 문제가 발생하는 이유는 열고자 하는 텍스트 파일의 인코딩 설정이 macOS의 기본 인코딩 설정인 'UTF-8'과 다르기 때문에 발생하는 것인데요.(특히 한글 인코딩 방식인 'EUC-KR' 또는 'CP949'로 저장된 텍스트 파일을 맥 환경에서 열 때 발생할 수 있습니다.) 이러한 인코딩 문제를 해결할 수 있는 방법으로는 아래와 같은 방법이 있으며, 자세한 내용은 ..

Programming/MacOS 2024.08.29

(spring project) log4j2 로그 파일 분리하기

spring 프로젝트 log4j2 로그 파일 분리하기 해당 포스팅은 log4j2를 사용하는 스프링 프로젝트에서 특정 용도의 로그에 대한 로그 파일을 별도로 분리하는 방법을 정리한 내용입니다.혹시나 log4j2가 아니라 logback을 쓰시더라도 java 코드단의 적용 방식은 같기 때문에 로그 설정 xml 파일의 작성 방법만 logback에 맞춰서 적용하시면 됩니다. 1. 로그 파일을 분리하려는 이유먼저 로그 파일의 분리를 고려하게 된 가장 큰 이유는 결국 잘 관리된 로그를 통해 서비스 유지보수 및 운영을 더 효율적으로 하기 위함인데요. 기본적으로 서비스의 전체 로그는 RollingFile의 'TimeBasedTriggeringPolicy' 및 'SizeBasedTriggeringPolicy'를 통해 날짜..

Programming/Spring 2024.08.25

(linux) /etc/profile ~/.bash_profile /etc/bashrc ~/.bashrc 환경 파일 내용 정리

(Linux) /etc/profile ~/.bash_profile /etc/bashrc ~/.bashrc 환경 파일 내용 정리   해당 포스팅은 리눅스를 공부하는 과정에서 '/etc/profile', '~/.bash_profile', '/etc/bashrc', '~/.bashrc' 각 환경 설정 파일의 역할과 차이점, 어떤 순서로 동작하는지에 대해 정리한 내용입니다.(아래 내용은 bash shell이 사용된다는 가정하에 내용으로 다른 쉘을 사용하는 경우 적용되는 파일 명이 조금씩 다를 수 있습니다.) 각 파일의 역할과 세부적인 내용* 내용 중 등장하는 로그인 쉘(login shell)과 비로그인 쉘(non-login shell)에 대해서는 아래에 추가로 정리해 놓았으니 아래 내용을 먼저 보고 해당 내용을..

Programming/Linux 2024.08.21
반응형