라이브러리를 가져와 사용할 때는 로컬에 다운로드하거나 웹의 주소를 입력하며 됩니다. 여기서 웹 주소를 입력하는 것이 cdn입니다. cdn은 content delivery nerwork의 약자로 웹사이트의 접속자가 콘텐츠를 다운로드할 때 자동으로 가장 가까운 서버에서 다운로드할 수 있도록 하는 기술입니다. cdn을 사용하면 빠르게 라이브러리를 로드할 수 있습니다.
extend로 데이터 tepm변수에 복사한다음 allkeys로 데이터 뽑아서 filter로 데이터 있는지, if문처럼 하고 map으로 한줄씩 데이터 가공해서 표만들거나 배열 생성
_.contains(list, index, [fromIndex])
contains _.contains(list, value, [fromIndex])
list: colletion으로써, 배열이나 객체가 될 수 있다.
value: 배열의 element나, 객체의 value가 될 수 있다.
[fromIndex]: list에서 value를 찾을 때, 찾기 시작하는 index이다.(생략가능)
--> list안에 value가 있는지 확인하고, 있으면, true를 리턴한다.
ex) _.contains([1, 2, 3], 3); // true
=> 간단히 말하면 첫번째 인자인 list중에 두번째인가인 value값을 찾아서 있으면 true, 없으면 false
web.xml에 설정된 파라미터를 getInitParameter()메서드를 통해 참조할 수도 있지만 단순 문자열이 아닌 객체를 참조하는 방법이 listener이다.
프로그래밍에서의listener은 귀 기울여 기다리다가 실행되는 컴포넌트(메소드나 함수)를 말한다.
리스너는 이벤트가 발생함과 동시에 특정 행동을 하는데, 이걸이벤트 핸들링이라고 한다.
위 박스에서 listener에 적힌 ContextLoaderListener은 2개 이상의 dispatcherServlet를 생성했을때 필요하다.
ContextLoaderListener를 선언하지 않고 dispatcherServlet을 A,B 두개를 선언하면 각각의 독립적인 context를 가지게 된다. 근데 만약 A와 B 둘 모두에게 필요한 bean이 있어야 한다면 전역Context를 만들고 그안에 bean을 생성하면 어디서든 접근이 가능해진다.
이때, ContextLoaderListener을 사용해 전역 Context를 생성해 줄 수 있다.