Dispathcher-Servlet이란? dispatch는 "보내다" 라는 뜻을 가진 단어인데 Servlet에서 Dispatcher Servlet이라는 프론트 컨트롤러(Front Controller)가 존재한다. (#프론트 컨트롤러란? : 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모튼 요청을 받아서 처리해주는 컨트롤러로써 MVC 구조에서 함께 사용되는 디자인 패턴) 즉 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 공통적인 작업을 먼저 처리해준 뒤 매핑된 컨트롤러에 보내주는 컨트롤러를 Dispatcher-Servlet이라고 한다. [ DisPatcher-Servlet의 장점 ] Spring MVC는 DispatcherServlet이 등장함에 따라 Web.xml의 역할을 상당히..
개발을 하면서 데이터를 다루다보면 null값을 체크해야하는 상황이 정말 잦다. 그런데 회사제품의 JS 코드를 보면서 not 연산자와 or 연산자로 null값을 체크하고 있는 것을 보았다. 짧고 깔끔하게 작성되는 것을 보고 글을 이것을 정리해보고자 남긴다. 코드를 통해 살펴보자. 1. not 연산 let other = new Array(10); let temp1 = null; let temp2 = 10; other.push(!temp1 ? 0 : temp1); other.push(!temp2 ? 0 : temp2); console.log(other); temp1은 null 값인데, JS에서는 null값은 false로 취급한다. 다만 부정연산자가 앞에 붙어있으니 !temp1 true를 반환한다. temp1은..
1. a 태그 사용 이 방법은 가장 간단하며, HTML의 태그에 href 속성으로 다운로드할 파일의 경로를 지정하고, download 속성을 추가하여 구현할 수 있다. 보통 정적 파일을 다운로드하는 경우에 적합하다. $("#btn_SaveExcel").on('click', function(e) { var a = document.createElement('a'); a.href = uri + base64(format(template, ctx)); a.download = "test(" + document.querySelector("#report_period_text").innerHTML + ")"; a.click(); //just in case, prevent default behaviour e.prevent..
Call Stack은 자바스크립트가 함수 실행을 핸들링하는 방법 중 하나이다. 자바스크립트는 실행해햐하는 함수들을 Stack 위에 올린다. 자바스크립트는 함수를 스택위에 올려놓고 합수가 실행이 끝나면 스택에서 제거한다. 이를 간단한 예제를 통해서 확인하면 다음과 같다. function three() { console.log("i love js"); } function two() { three(); } function one() { two(); } function zero() { one(); } zero(); 위 코드를 실행한 뒤 크롬 개발자 도구를 통해서 call stack을 하나하나 따라가보도록하자. 먼저 가장먼저 실행되는 zero() 함수가 callStack에 들어가 있다. 그다음 zero()에서 호..
https://watchout31337.tistory.com/150 eval 함수 eval() 함수 eval() 함수는 문자열을 받아 자바스크립트로 실행을 시키는 함수이다. eval(string) 형태로 사용한다. ex) eval('2+2') //4 eval()함수는 이런 점을 이용해 악의적인 실행을 할수 있다. 예를들어 watchout31337.tistory.com 자바스크립트에서 사용되고 있는 eval 함수의 보안 취약점에 대해서 이해하기 쉽게 작성된 글