분류 전체보기 46

정규 표현식(Regex) 완벽 가이드

1. 정규 표현식(Regex)이란?정규 표현식(Regular Expression, Regex)은 특정한 문자열 패턴을 검색, 매칭, 변환하는 데 사용되는 도구입니다.프로그래밍에서 텍스트 데이터를 다룰 때, 효율적으로 문자열을 찾고 조작할 수 있도록 도와줍니다.  ✅ 어디에 사용될까?🖤 회원가입 시 이메일 & 패스워드 유효성 검사🖤 로그 파일에서 특정 패턴(예: 에러 로그)만 필터링 🖤 데이터 크롤링 시 원하는 문자열 추출 보안 제품 개발 실무에서도 많이 활용 되고 있습니다2. 정규 표현식 기본 문법기호의미예제.아무 문자 1개a.c → "abc", "aac" 매칭^문자열의 시작^Hello → "Hello world" 매칭$문자열의 끝world$ → "Hello world" 매칭*앞 문자가 0개 이상 ..

TIL · 잡담 2024.07.01

크래프톤 정글 수료 후기

크래프톤 정글크래프톤 정글은 주 100시간 공부를 목표로 하며, 합숙하며 팀별 자율학습을 진행하는 SW 부트캠프이다. 컴퓨터 공학 기본 지식 및 알고리즘에 대해 주로 학습하게 된다. 마지막으로 나만의 무기 만들기 주 때는 5명의 팀을 꾸려서 완성도 있는 웹 프로젝트를 기획, 개발, 배포 한 후 발표한다. 그 후 취업 특강을 통해서 취업을 지원하고, 협력사에도 지원할 수 있는 기회가 주어진다.  입소전 나의 상황 미대 출신 비전공자로 2020년 웹개발 학원과 빅데이터 학원을 다녀서 공부해서 백엔드 개발자로 취업했었고,회사에서는 Java Spring Boot를 주로 사용했었는데, 기본적으로 기능 구현은 할 수 있었지만 깊게 공부할 수록 컴퓨터공학 기초 지식이 없어서 성장에 있어 어려움이 있었다.  그러던 중..

회고 2024.06.27

Node.js 란?

Node.js는 서버 사이드 애플리케이션을 구축하기 위한 오픈소스 런타임 환경JavaScript가 브라우즈에서만 실행되던 한계를 넘어 서버에서도 JavaScript를 사용할 수 있게 해줌웹 애플리케이션의 프론트엔드와 백엔드를 동일한 언어로 개발할 수 있게 되었음Node.js란?이벤트 기반, 논블로킹 I/O 모델을 사용하는 서버 사이드 자바스크립트 런타임빠르고 효율적인 네트워크 애플리케이션을 구축하는 데 중점을 둠Node.js는 Google의 V8 JavaScript엔진을 기반으로 하며, 크로스 플랫폼을 지원함Node.js 특징비동기 I/O비동기적으로 I/O작업을 처리함블로킹 없이 높은 성능을 유지할 수 있음이벤트 기반이벤트 루프를 사용하여 이벤트를 처리함서버가 많은 클라이언트 요청을 효율적으로 처리할 수..

Backend · Infra 2024.06.23

KMP 알고리즘 (Knuth-Morris-Pratt Algorithm)

KMP 알고리즘이란? KMP(Knuth-Morris-Pratt) 알고리즘은 문자열 검색을 빠르게 수행하는 알고리즘입니다. 일반적인 문자열 검색(브루트포스)보다 더 효율적으로 검색할 수 있도록 설계되었습니다. 왜 KMP 알고리즘을 사용할까? 🙄일반적인 문자열 검색은 O(N*M)의 시간이 걸리지만,KMP는 O(N+M) 의 시간 복잡도를 가지므로 훨씬 빠르게 검색 가능합니다. ex) 긴 텍스트에서 특정 패턴(문장)을 찾을 때 KMP를 사용하면 성능이 향상됩니다. KMP 알고리즘의 작동 원리KMP의 핵심은 LPS(Longest Prefix Suffix) 배열을 이용하는 것입니다!!👻 즉, 반복되는 패턴을 미리 계산하여 불필요한 비교를 줄이는 방식! 패턴의 실패 함수 계산패턴 검색실패 함수 계산실패 함수는 패..

TIL · 잡담 2024.06.22

Longest Common Subsequence

💡 LCS는 주로 최장 공통 부분 수열을 말한다. 최장 공통 문자열을 말하기도 한다. 부분 수열과 부분 문자열의 차이점은 위와 같다. 최장 공통 문자열 (Longest Common Substring)for i in range(len(string_A)) : for j in range(len(string_B)): if i == 0 or j == 0 LCS[i][j] == 0 elif string_A[i]== string_B[j]: LCS[i][j] = LCS[i-1][j-1] + 1 else : LCS[i][j] = 0부분 수열 보다 조금 더 쉽고 최장 공통 부분 수열을 구하는데 사용됨우선 LCS라는 2차원 배열을 이용해서 두 문자열을 행과 열에 매칭과정문자열 A와 문자열 B의 한 글..

TIL · 잡담 2024.06.20

DB index에 대한 이해

1. index란? DB에서 데이터를 빠르게 검색하고 조회하기 위한 자료구조index는 특정 칼럼 또는 칼럼 조합에 대한 값과 해당 값이 존재하는 테이블 내의 물리적인 위치를 매핑한다.DB성능을 향상시키는 데 중요한 역할Full Scan 하지 않고 데이터를 찾을 수 있다.주로 SELECT문 에서 WHERE절에 사용되는 칼럼 혹은 JOIN에 사용되는 칼럼에 생성하는 것이 일반적이다.2. index 알고리즘 종류 B-TreeB+TreeHash IndexBitmap IndexR-Tree일반적으로 사용 하는 알고리즘은 B-Tree와 B+Tree인데, 특히 B+Tree는 대다수의 관계형 데이터베이스 관리 시스템(RDBMS)에서 기본 인덱스 구조로 채택되고 있다. B-Tree는 이진트리에서 발전되어 모든 리프노드들..

Backend · Infra 2024.06.16