logback.xml 파일을 이용하여 로그 남기기 - Mybatis를 이용하여 쿼리를 실행할 때 동적으로 작성한 쿼리의 실제 실행 모습이 보고싶었음. - log4j를 이용했을 때는 net.sf.log4jdbc.Log4jdbcProxyDataSource 클래스로 DataSource를 만들어야 했으므로 설정을 변경하는 일이 있었음. (application.properties 나 Config 파일을 수정해야하는 경우) - 그냥 DEBUG와 단순 INFO로 켜고 끄는 기능을 찾고 싶었음. logback 파일 생성 ver. 1 %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n - 처음에는 단순히 로그를 좀 더 자세히 찍고 실행되는 SQL 쿼리를 보고 싶었음. - ro..
안녕하세요. 오늘은 커스텀 어노테이션을 활용하여 컨트롤러에서 메소드에 선언된 파라미터에서 세션 유저를 받아올 수 있도록 하는 HandlerMethodArgumentResolver 예제를 공유하고자 합니다. 우선 이전에 포스팅했었던 커스텀 어노테이션을 만드는 상세한 내용은 아래의 포스팅을 참조해주시기 바랍니다!! 2020/01/13 - [프로그래밍 언어/[Java] Study 내용 ] - [Java] Custom Annotation 커스텀 어노테이션 만들기(reflection 리플렉션) [Java] Custom Annotation 커스텀 어노테이션 만들기(reflection 리플렉션) 자바에서 커스텀 어노테이션을 만드는 방법은 다음과 같다. public @interface MyAnnotation { } 사..
오늘은 지난 번 ES6 포스팅 중 var let const 의 차이점에 대해서 포스팅했던 것에 이어서 ES6에서 업데이트된 화살표함수(Fat Arrow Function)에 대해서 포스팅해보겠습니다. - 함수 선언을 화살표로 선언한느 방식인데요. function 키워드를 쓰지 않고 => 키워드로 대체하는 방식입니다. - 흔히 사용되는 콜백함수(callback)의 문법을 간결화하는데 탁월합니다. var sum = function(a, b) { return a + b; }; 위와 같은 기존 함수 표현식을 아래와 같이 변경할 수 있습니다. // 1. var sum = (a, b) => { return a + b; }; // 2. 축약버전 var sum = (a, b) => a + b 첫번째 function을 =..
안녕하세요. 오늘은 자바스크립트에서 객체를 표현하는 방법중 ES6에서 추가된 내용을 포스팅해보려고 합니다. 먼저 객체를 선언할 때, 변수와 함수를 다음과 같이 프로퍼티로 표현할 수 있었습니다. var obj = { property1 : 100, function1 : function() { console.log('call function1'); } }; obj.property1; //100 obj.function1(); //call function1 흔하디 흔한 객체 선언입니다. 프로퍼티명 : 값, 프로퍼티명 : 함수 그런데 이부분을 ES6에서는 다음과 같이 표현할 수 있게 되었습니다. 먼저, 함수부분입니다. var obj = { function1() { console.log('call function1'..
2015년에 Javascript에 엄청난 업데이트가 발생하게 됩니다. 흔히 이야기하는 ES6 업데이트 인데요. 기본 ES5에서 많은 부분이 업데이트된 대규모 업데이트입니다. 이번 포스팅에서는 그 중에서 가장 흔하게 접할 수 있는 변수 선언 방식에 대해서 설명하고자 합니다. ES5 특징 - 변수의 스코프(범위) - 기존의 자바스크립트 ES5는 괄호{ } 에 상관없이 스코프가 설정되었다. var sum = 0; for(var i = 1; i
안녕하세요. 오늘은 Vue.js의 인스턴스에서 this 키워드에 관하여 포스팅해보고자 합니다. 일반적으로 자바스크립트에서의 this키워드는 다음과 같이 사용됩니다. var obj = { num : 10, plusNum : function(){ this.num++; } } obj.plusNum(); console.log(obj.num); //11 obj이라는 변수에 num과 num에 +1을 더하는 plusNum이라는 함수를 정의하였을 때, num++하는 부분에서 this 키워드가 사용되는 것을 볼 수 있을 것입니다. 자바스크립트에서는 일반적으로 객체의 인스턴스를 가져올 때 this키워드를 사용합니다. this를 내부에서 obj 변수처럼 활용하는 것이지요. 하지만 Vue 인스턴스를 생성했을 때는 약간 다르게..
모든 객체는 자신의 prototype으로부터 constructor 속성을 상속하게 됩니다. var obj = {}; obj.constructor === Object; // true var obj = new Object; obj.constructor === Object; // true var array = []; array.constructor === Array; // true var array = new Array; array.constructor === Array; // true var n = new Number(3); n.constructor === Number; // true 객체의 생성자 표시 다음은 프로토타입이 Tree인 그 형의 객체 thrTree를 만듭니다. 그 다음 객체 theTree의 c..
안녕하세요. 오늘은 vue.js의 특징중 Reactivity에 관해서 포스팅해보고자 합니다. 먼저, vue.js의 특징중에서 뷰 모델의 내용이 바뀌면 새로고침이 필요없이 즉각적으로 화면에 반영된다는 장점이 있습니다. 기존 웹개발에서의 소스를 보시죠. 기존 소스 우리가 일반적으로 html, css, javascript를 코딩할 때의 모습과 똑같은 모습입니다. 여기서 주목해야할 점이 str이라는 변수를 바꿔주고 innerHTML을 이용해서 두번 바인딩해주었다는 것입니다. 즉, 기존 웹개발에서는 데이터가 변경이 될때마다 개발자가 프로그래밍을 통해서 직접 바인딩해주어야 했습니다. 하지만 Vue.js에서는 Vue.js 소스 {{ message }} Vue 객체의 data의 message 속성이 변할 때마다 브라우..