분류 전체보기 (976) 썸네일형 리스트형 GROUP BY를 사용 시 성능과 효율성 향상 방안 GROUP BY를 사용할 때 성능과 효율성을 높이기 위해 고려할 수 있는 주요 팁과 힌트는 다음과 같습니다1. 인덱스 사용 • GROUP BY에서 사용하는 컬럼이 인덱스로 설정되어 있으면 성능이 크게 향상됩니다. • 예를 들어, GROUP BY column1을 자주 사용하는 경우 해당 컬럼에 인덱스를 추가합니다:CREATE INDEX idx_column1 ON table_name (column1);2. WHERE 조건 추가 • GROUP BY 전에 데이터를 줄이기 위해 WHERE 조건을 사용하세요. 이렇게 하면 처리할 데이터량을 줄여 성능이 좋아집니다.SELECT column1, COUNT(*)FROM table_nameWHERE column2 = 'value'GROUP BY column1;3. H.. 크로스 사이트 스크립트(XSS, Cross-Site Scripting) 크로스 사이트 스크립트(XSS)는 웹 애플리케이션에서 사용자가 입력한 데이터를 적절히 검증하지 않고 출력할 때 발생하는 보안 취약점입니다. 공격자가 악의적인 스크립트를 삽입하여 다른 사용자의 브라우저에서 실행되도록 만들 수 있습니다.XSS 유형XSS는 다음과 같이 세 가지 주요 유형으로 분류됩니다.1. 반사형 XSS • 공격자가 조작된 URL을 피해자가 클릭하도록 유도하여 악성 스크립트를 실행하는 방식 • 예제 : 검색 페이지에서 입력값을 필터링하지 않고 그대로 출력하는 경우 • 방어 방법 : 입력 값 검증(Validation), 출력 시 이스케이프(Escape) 처리http://example.com/search?q=2. 저장형 XSS • 악의적인 스크립트가 데이터베이스 등에 저장되어 피해자가 페.. CAPTCHA 정의 및 개요 CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)는 사용자가 사람인지 컴퓨터인지 구별하기 위해 설계된 보안 기술입니다. 이는 웹사이트에서 자동화된 봇의 접근을 차단하고, 비정상적인 사용을 방지하는 데 사용됩니다.특징1. 작동 원리 • 사람이 쉽게 해결할 수 있지만, 컴퓨터는 어려운 문제를 제시 • 텍스트, 이미지, 음성 등 다양한 형태로 제공됨2. 유형구분내용텍스트 CAPTCHA왜곡된 문자나 숫자를 입력이미지 CAPTCHA특정 이미지를 선택하거나 분류음성 CAPTCHA잡음 속 단어를 듣고 입력행동 기반 CAPTCHA사용자의 행동 패턴 분석(reCAPTCHA) 3. 보안성 • 스팸 계정 생성, DDoS.. 제로 트러스트 보안(Zero Trust Security) 제로 트러스트(Zero Trust Security)는 “아무도 신뢰하지 않는다(Trust No One)”는 원칙을 기반으로 한 최신 보안 모델입니다.즉, 네트워크 내부든 외부든 모든 사용자와 디바이스를 신뢰하지 않고, 지속적으로 검증하여 보안을 강화하는 방식입니다.- 기존 보안 모델 (경계 기반 보안)과 차이점 기존 보안 : 내부 네트워크는 안전하다는 가정하에 방화벽(Firewall)으로 보호 제로 트러스트 : 내부 네트워크도 신뢰하지 않으며, 모든 접근을 지속적으로 인증 및 검증- 핵심 개념: “항상 검증(Always Verify)” “기본적으로 불신(Default Deny)” → 최소 권한 원칙 적용제로 트러스트 보안의 핵심 원칙1) 지속적인 검증(Continuous Verification) • .. 오라클 인덱스 생성시 NOWAIT 옵션 Oracle에서 인덱스를 생성할 때 NOWAIT 옵션을 사용하면, 잠금 대기 없이 즉시 인덱스를 생성하거나, 잠금이 발생할 경우 에러를 반환합니다.사용법CREATE INDEX index_name ON table_name (column1, column2, ...)NOWAIT; 기본 동작 • NOWAIT 없이 실행하면, 대상 테이블이 다른 트랜잭션에 의해 잠겨 있는 경우 인덱스 생성이 잠금 해제될 때까지 대기합니다. • NOWAIT를 사용하면, 테이블이 잠겨 있는 경우 즉시 에러를 반환합니다.에러 메시지 • NOWAIT를 사용할 때 테이블이 잠겨 있는 경우 다음과 같은 에러가 발생할 수 있습니다: • ORA-00054: resource busy and acquire with NOWAIT specifi.. 오라클 인덱스 없는 테이블에 빠른 데이터 저장 방법 인덱스가 없는 테이블에 데이터를 빠르게 삽입하는 방법은 테이블 구조와 데이터 삽입 방식에 따라 달라질 수 있습니다. 다음은 일반적으로 적용할 수 있는 성능 최적화 방법들입니다1. Direct-Path Insert 사용 • Direct-Path Insert는 데이터를 테이블의 기존 데이터 영역이 아닌 새로운 데이터 블록에 직접 기록합니다. • 이를 통해 REDO/UNDO 로그를 최소화하고 삽입 속도를 크게 향상시킬 수 있습니다.INSERT /*+ APPEND */ INTO 테이블명SELECT ...FROM ... • 특징 - 데이터를 데이터 블록에 직접 삽입하여 성능이 크게 향상됩니다. - 데이터가 테이블에 추가되기 때문에 테이블이 NOLOGGING 상태일 경우 REDO 로그를 최소화할.. CONCAT 함수의 인덱스 수행 여부 CONCAT 함수가 인덱스를 사용할 수 있는지는 데이터베이스 엔진과 쿼리의 구조에 따라 다릅니다.일반적으로, SQL에서 함수(예: CONCAT)를 사용하는 경우, 인덱스를 제대로 사용할 수 없을 가능성이 큽니다. 이유는 함수가 적용된 컬럼 값이 가공된 상태로 처리되기 때문에, 기존 인덱스와 일치하지 않기 때문입니다.(1) 단순 CONCAT가 WHERE 조건에 사용된 경우SELECT * FROM my_tableWHERE CONCAT(col1, col2) = 'value';= • 이 경우, CONCAT(col1, col2)는 함수 기반 처리가 되므로, 일반적인 B-tree 인덱스는 활용되지 않습니다.(2) CONCAT 결과가 SELECT에서만 사용된 경우SELECT CONCAT(col1, col2) AS f.. 데이터 분석 시 결측치(missing value) 처리 데이터 분석에서 결측치(missing value) 처리는 분석 결과의 신뢰성과 정확성에 영향을 미치므로 신중하게 접근해야 합니다. 일반적인 결측치 처리 방법은 다음과 같습니다.결측치 확인 • isnull().sum(): 각 변수별 결측치 개수 확인 • info() : 데이터 유형 및 결측치 여부 확인 • describe(): 기술 통계를 활용하여 이상값 및 결측치 탐색결측치 처리 방법1. 결측 데이터 삭제 (Removing Missing Data) • 행 삭제 (dropna()) : 결측값이 포함된 행을 제거 (결측치가 적을 때 사용) • 열 삭제 (dropna(axis=1)) : 특정 열에 결측치가 많다면 해당 열 삭제 (데이터 손실이 크므로 신중해야 함)2. 결측값 대체 (Imputation.. 이전 1 ··· 97 98 99 100 101 102 103 ··· 122 다음