Query String vs Params (Path)
·
Web
문제 상황 웹 개발시 GET Method를 통해 파라미터를 받을때 Query로 받을지 Params로 받을지 고민될 때가 있다. 그에 대한 답을 내리고자 한다. If you want to identify a resource, you should use Path Variable. But if you want to sort or filter items, then you should use query parameter. => 리소스를 식별하고 싶다면 Path, 필터링을 하고싶다면 query parameter 를 사용하라. 그렇다면 , 여러 Params를 전달하는 적절한 방법은 없을까? 구문 예시 /client/{clientId}/department/{departmentId} Reference medium.com..
[JavaScript] Object set 'key' using variable
·
Web/Javascript
문제 상황 JavaScript Object 내에 'Key'를 변수를 사용하여 할당하려 하는데 변수를 통한 키 할당이 이뤄지지않음. const targetKey = 'name'; const targetValue = 'mmm'; //아래 코드가 동작하지 않음. store.update({ targetKey : targetValue // name : 'mmm' 으로 인식하지 않고, // targetKey : 'mmm'으로 인식 }, { fields : [targetKey], limit : 1 }); 해결 방법 From ES5 operator bucket '[]'를 사용한다. 수정된 코드 const targetKey = 'name'; const targetValue = 'mmm'; store.update({ //..
[JavaScript] 정규식 예제 (feat. E-mail, 주민번호)
·
Web/Javascript
우선, 정규식을 작성하고 바로바로 테스트 결과와 디버깅을 할 수 있는 사이트를 소개한다. RegExr: Learn, Build, & Test RegEx RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp). regexr.com 정규식은 로그인, 회원가입 기능에서 입력 형식의 유효성 검사를 하는데도 자주 쓰이지만 해커로부터 오는 공격 트레픽중 특정 구문을 차단하기위해서도 쓰인다. 문제풀이를 하면서 정규식에 익숙해져보자. [문제1] E-mail "hacker"라는 문자열을 포함한 아이디를 가진 이메일 주소를 정규식으로 잡아내고싶다. 단, 이메일의 아이디는 영문 소문자+숫자로만 이루어진다. 조건에 부합하는 정규..
[HTTP] Connection Management
·
Web
HTTP / 1.x 의 Connection 방식은 크게 3가지로 나뉜다. 1. Short-Lived Connection 2. Keep-alive Connection 3. Pipelining Connection 이 3가지의 특징에 대해 알아보도록 하자. 1. Short-Lived Connection HTTP 1.0 초기 버전에서 택한 방식인데 이방식은 치명적인 단점을 가지고 있다. 다음 그림에서 단점이 드러난다. 한 번의 HTTP 요청/응답 마다 연결/해제를 반복한다는 점이다. 이는 하나의 HTML에 여러 이미지, 동영상이 포함되 있는 경우 여러번의 HTTP 요청/응답이 이뤄지기 때문에 통신량이 급격히 많아진다. 초기의 웹 페이지들은 텍스트로만 구성되있었기 때문에 short-lived Connectino ..
Cache vs Cookie vs Session
·
Web
Cahce 주어진 리소스의 복사본을 저장하고 요청 시에 그것을 서브하는 기술. 목적 변경되지 않은 리소스에 대해 서버에 요청하기 전에 이미지 등을 클라이언트(웹 브라우저) 단에서 처리하여 서버의 로드량 (부하) 감소 -> 성능 향상 private cache(browser) : 단일 사용자에게 초점 맞춰짐. HTTP를 통해 다운로드된 모든 문서를 가지고 앞으로,뒤로 가기 등을 위해 이용 가능한 방문했던 문서를 만드는데 사용됨. public cache(proxy) : 해당 네트워크 내에 조회가 자주 되는 리소스를 몇 번이고 재사용하여 network traffic, latency 감소 예시 방문했던 페이지 접속시 css/js, jpg, png 등의 리소스 파일을 Client PC 에서 로드 Cookie 서버가..
HTTP
·
Web
HTTP HyperText Transfer Protocol [특징] TCP 기반 통신방식 3 Way Handshake로 동작. Connectionless : Request - Response 이후 접속을 바로 끊어버린다. Stateless : 통신 상태가 저장되지 않는다. 이러한 특징으로 불긑정 다수를 대상으로하는 서비스에 적합한 방식이다. 통신 상태가 저장되지 않는 단점은 캐시나 web socket protocl 기술로 커버한다. [HTTP 1.x 구조] start line : HTTP Method, URL, HTTP Protocol Version Header : 처리 가능한 파일의 종류, 문자 코드, 언어, 콘텐츠 길이 등 start line + Header == Head Body: Single Re..