본문 바로가기
728x90

IT 개발60

[JAVASCRIPT] 자바스크립트 filter() 함수 완벽 가이드 자바스크립트 filter() 함수 완벽 가이드목차개요기본 문법주요 특징실용적인 예제성능과 주의사항실전 활용 팁개요filter() 메서드는 배열의 각 요소에 대해 주어진 조건(콜백 함수)을 실행하고, 그 조건을 통과하는 요소들로만 이루어진 새로운 배열을 생성합니다.기본 문법array.filter(callback(element[, index[, array]])[, thisArg])매개변수 설명callback: 각 요소를 시험할 함수. true를 반환하면 요소를 유지하고, false를 반환하면 버립니다.element: 처리할 현재 요소index: 처리할 현재 요소의 인덱스 (선택적)array: filter를 호출한 배열 (선택적)thisArg: callback을 실행할 때 this로 사용하는 값 (선택적)기본.. 2025. 2. 25.
[JAVASCRIPT] 자바스크립트 비구조화 할당 (Destructuring Assignment) 자바스크립트 비구조화 할당 (Destructuring Assignment) 가이드목차개요객체 비구조화 할당배열 비구조화 할당고급 기능실제 사용 사례개요비구조화 할당은 ES6에서 도입된 문법으로, 배열이나 객체의 속성을 해체하여 개별 변수에 담을 수 있게 하는 자바스크립트 표현식입니다.객체 비구조화 할당기본 문법const person = { name: '김철수', age: 25, job: '개발자'};const { name, age, job } = person;console.log(name); // '김철수'console.log(age); // 25console.log(job); // '개발자'새로운 변수명 할당const { name: userName, age: userAge } = p.. 2025. 2. 24.
[정규식 마스터하기] Part 10: 고급 기법과 베스트 프랙티스 1. 모듈러 정규식 작성법패턴 라이브러리 구축class RegexPatterns: def __init__(self): # 기본 구성요소 self._components = { 'username': r'[a-zA-Z0-9_-]{3,16}', 'email': r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', 'ipv4': r'(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)', 'date': r'\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9.. 2025. 2. 22.
[정규식 마스터하기] Part 9: 실전 활용 사례 1. 이메일 주소 검증기본적인 이메일 검증pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'고급 이메일 검증pattern = r'''(?x) ^[a-zA-Z0-9._%+-]+ # 로컬 파트 @ # @ 기호 [a-zA-Z0-9.-]+ # 도메인 \.[a-zA-Z]{2,} # 최상위 도메인 $'''2. URL 파싱URL 구성요소 추출pattern = r'''(?x) ^(?:(?Phttps?|ftp)://)? # 스키마 (?P[^:/\s]+) # 호스트명 (?::(?P\d+))? .. 2025. 2. 21.
[정규식 마스터하기] Part 8: 정규식 최적화와 성능 1. 정규식 엔진의 동작 원리정규식 엔진 종류DFA (Deterministic Finite Automaton)선형 시간 복잡도백트래킹 없음메모리 사용량 많음NFA (Non-deterministic Finite Automaton)백트래킹 사용더 적은 메모리 사용대부분의 현대 정규식 엔진이 채택매칭 프로세스패턴 컴파일문자열 스캔백트래킹 처리결과 반환2. 백트래킹 이해와 최적화백트래킹이란?패턴 매칭 실패 시 이전 상태로 돌아가서 다른 경로 시도과도한 백트래킹은 성능 저하의 주요 원인백트래킹 최소화 기법# 나쁜 예pattern = ".*foo" # 모든 가능한 경우 시도# 좋은 예pattern = "[^f]*foo" # 불필요한 백트래킹 감소pattern = ".*?foo" # 게으른 수량자 사용3. .. 2025. 2. 20.
[정규식 마스터하기] Part 7: 특수 패턴과 이스케이프 1. 특수 문자 이스케이프기본 이스케이프\: 백슬래시를 사용하여 특수 문자를 이스케이프이스케이프가 필요한 특수 문자들:^ $ . * + ? ( ) [ ] { } | \예시:# 실제 마침표를 찾기pattern = "\." # 마침표 매칭# 달러 기호 찾기pattern = "\$" # $ 매칭이스케이프 시퀀스의 활용괄호를 포함한 문자열 매칭pattern = "(hello)" # "(hello)" 매칭중괄호를 포함한 패턴pattern = "{test}" # "{test}" 매칭{test}" 매칭## 2\. 화이트스페이스 문자### 기본 화이트스페이스- \\s: 모든 화이트스페이스 문자 (공백, 탭, 줄바꿈 등)- \\S: 화이트스페이스가 아닌 문자- 구체적인 화이트스페이스 문자: - \.. 2025. 2. 19.
728x90