/pattern/flags/abc/i (i 플래그는 대소문자 구분 없음). : 임의의 한 문자^ : 문자열의 시작$ : 문자열의 끝+ : 1회 이상 반복* : 0회 혹은 여러개? : 0회 또는 1회{n} : 정확히 n회 반복{n,} : n회 이상 반복{n,m} : n회 이상 m회 이하 반복[abc] : a, b, c 중 하나와 일치[^abc] : a, b, c를 제외한 문자와 일치[a-z] : a부터 z 사이의 문자와 일치\d : 숫자 [0-9]\D : 숫자가 아닌 문자 [^0-9]\w : 단어 문자 [A-Za-z0-9_]\W : 단어 문자가 아닌 문자\s : 공백 문자\S : 공백이 아닌 문자\b : 63개 문자(영문 대소문자 52개 + 숫자 10개 + _(underscore))가 아닌 나머지 문자에 일치하는 경계(boundary)\B : 63개 문자에 해당하는 경계(abc) : 그룹화(?:abc) : 비캡처링 그룹\1, \2 등 : 이전 그룹 참조a|b : a 또는 bi : 대소문자 구분 없음g : 전역 검색m : 다중행 모드s : .이 개행 문자도 포함하도록 함test() : 패턴 일치 여부 확인 (boolean 반환)exec() : 매칭 결과 배열 반환match() : 문자열에서 매칭 결과 배열 반환replace() : 패턴에 일치하는 부분을 다른 문자열로 교체search() : 패턴과 일치하는 부분의 인덱스 반환split() : 패턴을 기준으로 문자열을 분할const regex = /hello/i;
console.log(regex.test("Hello, world!"));// true
const str = "The quick brown fox jumps over the lazy dog";
console.log(str.match(/\b\w{4}\b/g));// ['quick', 'over', 'lazy']
\., \+)URL은 웹상에서 문서, 이미지, 동영상 등의 자원들의 위치를 나타내는 주소 이다. 즉, 웹 페이지를 찾기 위한 주소를 뜻한다.
URL은 크게 3가지로 구성되어 있는데,
이다.
URL(Uniform Resource Locator)의 기본 구조를 살펴보면,
scheme :// host : port / path ? query # fragment
으로 나눌 수 있다.
로컬 파일 시스템의 경로를 URL로 표현할 때는 "file://" 스킴을 사용한다.
슬래시(/) 사용단일 슬래시(/)로 표시예: /home/user/documents/file.txt
백슬래시(\) 사용 (단, URL에서는 슬래시(/) 사용)드라이브 문자와 콜론으로 시작 (예: C:)예: C:\Users\username\Documents\file.txt
stateless 방식이란?
서버가 여러 클라이언트들을 구별할 수 없다는 것이다
클라이언트가 서버에게 요청을 보내고, 서버가 응답한 후 연결이 끊겼다고 가정하자.
그 후 똑같은 클라이언트가 또다시 서버에게 요청을 했다면, 서버는 그 클라이언트를 아까 클라이언트와 같다고 식별할 수 없다.
즉, 클라이언트의 정보를 가지지 않고 있다는 뜻이다.
서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 클라이언트는 동일 서버에 재 요청 시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용하고, 사용자의 로그인 상태를 유지할 수 있다는 특징이 있다.
주로 세 가지 목적을 위해 사용되는데,
크게 세가지로 나뉘는데
가장 작은 규모의 기능을 테스트하는 것.개별 코드 단위를 테스트해 오류를 발견하고 이를 수정해 전체적인 소프트웨어 품질을 향상시킴.기능을 합쳤을 때 생기는 문제를 방지하기 위한 테스트증된 개별 모듈들을 결합하여 그들이 예상대로 상호작용하고 있는지 확인한다.웹 페이지가 원하는대로 동작하며 원하는 데이터를 잘 보여주는지 확인하는 테스트서비스의 품질을 향상시킬 수 있다.다른 개발자가 작성한 코드의 예상 동작을 확인할 수 있어 문서화도 가능하다.기능이 정상적으로 작동하는 지 검증할 수 있다.개발 시간 및 유지보수 비용이 발생한다.테스트 코드도 함께 수정해야한다.오버 엔지니어링이 발생하기도 한다.러닝 커브가 높은 편이라 학습하는데 시간이 필요하다.IP주소와 포트번호의 결합으로 통신요청을 다른 곳으로 넘겨주는 역할사설 네트워크를 구축할 수 있게 한다.사설 네트워크를 구축한다 라는 말은 연결된 각 PC들에게 사설 IP를 할당해준다는 것과 같다. 공용 IP의 주소는 42억개로 매우 제한된 개수를 가지고 있기에 하나의 공용 IP를 보유하고 있는 공유기에서 사설 IP를 할당함으로서 이런 문제들을 보완하고 있다.NAT는 하나의 공인 아이피를 여러개의 사설 아이피 주소와 매핑하여 여러 대의 장치가 동시에 인터넷을 사용할 수 있게 한다.