목록전체 글 (38)
PDH 개발 공부
참고 https://velog.io/@mactto3487/%EC%8A%A4%ED%84%B0%EB%94%94-EJS EJS EJS는 Embedded Javascript의 약자로 많은 템플릿 엔진 중 하나이다 템플릿과 템플릿에 보여주고 싶은 데이터가 있을때 템플릿 엔진이 이 둘을 합쳐 결과 페이지를 생성해낸다. 환경 설정 ejs 모듈 설치 npm install ejs --save app.js에 다음 추가 const templateRouter = require('./router/template') ... app.use('/template' , templateRouter); template.js 파일 생성이후 다음 소스 추가 var express = require("express"); var router = e..
JavaScript this this 는 현재 실행 문맥 이다 alert(this === window) // true, 호출자는 window const caller = { f: function() { alert(this === window) }, } caller.f() // false, 호출자는 caller 객체 alert 도 따지고 보면 window.alert() 이다 strict-mode 에서 전역 객체냐 일반 객체냐에 따라 함수 내부에 this의 결과가 다르다 이 문제 또한 window 를 함수 호출 앞에 붙여주면 해결된다 function nonStrictMode() { return this } function strictMode() { 'use strict' return this } console..
Ajax (Asynchronous Javascript And XML) JavaScript의 라이브러리중 하나 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고 페이지 일부만 데이터를 로드 하는 기법 JavaScript를 사용한 비동기 통신 , 클라이언트와 서버간 XML 데이터를 주고 받는 기술 비동기 방식 웹 페이지를 리로드를 하지 않고 데이터를 불러오는 방식 Ajax를 통해서 서버에 요청을 한 후 멈추어 있는 것이 아니라 그 프로그램은 동작 한다는 의미 장점으로는 필요한 부분만 불러와 사용할 수 있으므로 매우 큰 장점이 있다. Ajax를 사용 가능하게 만드는 ..
원문 : https://www.sitepoint.com/shorthand-javascript-techniques/ 1. 삼항조건 연산자 (The Ternary Operator) if , else 사용할때 한줄로 줄여주는 방법 기존 (Basic) const x = 20; let answer; if (x > 10) { answer = 'greater than 10'; } else { answer = 'less than 10'; } 축약 (ES6) const answer = x > 10 ? 'greater than 10' : 'less than 10'; // or const answer = x > 10 ? " greater than 10" : x // ..
MessageConverter 메시지 컨버터란? 우리는 HTTP 요청을 모델에 바인딩하고 클라이언트에 보낼 HTTP 응답을 만들기 위해 뷰를 사용했던 방식 위한 방식을 사용. XML , JSON , AJAX 와 같은 데이터 포맷형 언어를 처리 Spring 에서는 @ResponseBody @RequestMapping 을 처리 할 때 사용. @ResponseBody를 입력할 경우 리턴 타입에 맞는 메세지 컨버터를 선택한 뒤 리턴 값을 통째로 메세지로 변환한 뒤 리턴 @ResponseBody 특징 참고로 GET 방식의 요청일 경우 HTTP 요청 본문이 없으므로 @RequestBody를 사용할 수 없다. String 값이 아닌 객체를 반환 할 경우에 Error Spring 컨버터 등록법 여러 메시지 컨버터를 등..
Junit Junit이란? 테스트 함수를 단일 패키지로 묶을 수 있으며 다양한 검증 함수를 지원해 프로그램이 반복적으로 수정되는 프로그램 개발 과정에서 테스트 케이스를 반복적으로 적용할 수 있다. 단위 테스트 시간을 획기적으로 줄일 수 있을 뿐만 아니라 테스트 품질도 향상 할 수 있다. pom.xml 등록 org.springframework spring-test ${org.springframework-version} junit junit 4.12 test com.github.stefanbirkner system-rules 1.19.0 test Spring-Test Junit을 확장한 스프링의 테스트 라이브러리 스프링에서의 MVC 프로젝트에서 코드 테스트 할 대마다 답답한 경우가 많다. 즉 프로젝트의 자원..

Window 객체 전역객체라고도 불린다. JSC , BOM , DOM 모든 객체를 포함하고 있다. 창이나 프레임을 의미한다. DOM(Document Object Model) 문서에 대한 모든 내용을 담고있는 객체 , 도큐먼트에 관련 된 내용 모두 문서 즉 얼려진 페이지에 대한 정보를 따로 객체화 시켜서 관리함 (텍스트 , 버튼 ,이미지 등등) 웹문서에 대한 모든 내용을 담고있는 객체를 DOM 이라고 한다 자바스크립트가 브라우저 창(window)을 제어하기 위한 객체 자바스크립트 실행과 관련된 환경 정보 에 접근 가능한 객체 ex)getElementsByTagName, getElementsById , getElementsByClassName 클로저 개념 보기 BOM 웹페이지의 내용을 제외한 브라우저의 각종..
PL/SQL의 레코드는 C/ C++ 의 구조체 또는 비주얼 베이직과 유사 레코드를 사용하면 데이터 타입이나 길이가 다른 여러 변수들을 논리적으로 하나의 그룹으로 묶을수 있다. 예를 들면 사원명 , 사번 , 부서 번호 , 입사 일자와 같은 사원에 대한 정보들을 '사원 정보'라는 레코드로 묶을수 있다. 사용법 TYPE 타입명 IS RECORD (필드 목록); 레코드변수명 타입명; DECLARE TYPE emp_type IS RECORD( -- 세 개의 필드를 가지는 레코드 선언 empno NUMBER(4) NOT NULL := 0, -- NOT NULL 필드는 반드시 초깃값을 지정해야 함 ename emp.ename%TYPE, -- 칼럼 앵커를 사용한 필드 선언 job VARCHAR2(9) -..