https://watchout31337.tistory.com/150 eval 함수 eval() 함수 eval() 함수는 문자열을 받아 자바스크립트로 실행을 시키는 함수이다. eval(string) 형태로 사용한다. ex) eval('2+2') //4 eval()함수는 이런 점을 이용해 악의적인 실행을 할수 있다. 예를들어 watchout31337.tistory.com 자바스크립트에서 사용되고 있는 eval 함수의 보안 취약점에 대해서 이해하기 쉽게 작성된 글
- 객체 리터럴 let user = { name : Mike, age : 30, } Javascript에서는 위와 같이 name, age를 갖는 객체를 선언하여 만들어 줄 수 있다. 그런데 개발을 하다보면 이러한 객체 리터럴을 여러개 생성해야하는 경우가 있는데 이럴 때 생성자 함수를 통해서 간편하게 생성할 수 있다. function User(name, age) { this.name = name; this.age = age; this.sayName = function () { console.log(this.name); }; } let user1 = new User("Kim", 20); let user2 = new User("Han", 40); let user3 = new User("Park", 30); c..
들어가며 ES6의 대표적인 Keyword를 뽑으라고 한다면 아마 자바스크립트에서 변수를 선언할 때 사용하는 3가지 Keyword인 var, let, const를 생각해볼 수 있다. 이번 포스팅에서는 이러한 var, let, const에 차이에 대해서 자세하게 정리하고자한다. let과 var의 차이점 var와 let은 크게 다르지 않기에 대부분의 경우에는 둘을 바꿔서 사용해도 문제가 생기지 않는다. 그렇다면 다른점은 무엇일까? 1. var는 한번 선언된 변수를 다시 선언할 수 있다. var name = 'Mike'; console.log(name); var name = 'Jane'; console.log(name); 하지만 let은 한번 선언된 변수를 다시 선언할 수 없다. let name = 'Mina'..
String 자료형에 + 연산이 있을 때마다 새로운 String 객체가 생성된다(문자열 간 + 연산이 있는 경우 자바는 자동으로 새로운 String 객체를 만들어 낸다. 따라서 메모리에 효율적인 사용을 위해서 StringBuffer를 사용하기도 한다. 1. StringBuffer StringBuffer sb = new StringBuffer(); // StringBuffer 객체 sb 생성 sb.append("this"); sb.append("is"); sb.append("String"); String result = sb.toString(); System.out.println(result); 2. String String result = ""; result += "This"; result += "is"..
JavaMailSender 라이브러리는 라이브러리명에 걸맞게 발송 라이브러리이다. 발송대상은 메일 서버( smtp) 즉 javamail에 등록된 호스트 주소로 접속해서 그 서버에게 메일 좀 보내주는 역할만하고 끝나는 라이브러리이기 때문에 상대 메일서버에서 뭔가 오류가 발생되었다는 정보를 리턴받을 수는 없는 라이브러리이다. 즉 JavaMailSender에서 메일 발송이 성공되었다는 것은 나의 호스트주소로 메일 내용을 문제없이 전송했다는 것이지 이것이 받는 사람의 서버까지 정상적으로 도착했다는 뜻은 결코아니다. 그래서 메일 발송에 대한 실패 정보를 받고자 한다면 별도의 메일발송 시스템을 구축하고 메일서버와 도메인이 필요하다. 또한 발송하는 메일 서버와 발신자의 도메인이 같아야한다. 그렇게 해줘야만 메일함 꽉..
Mybatis Mybaits는 자바 Object와 SQL 사이를 자동으로 매핑해주는 기능을 지원하는 영속성(Persistence) 프레임워크이다. Mybatis의 장점 1. 쉬운 접근성과 코드의 간결함 - jdbc의 모든기능을 Mybattis가 제공하고 있기에 복잡한 jdbc코드를 걷어내고 깔끔한 소스코드를 유지할 수 있다. - 간단한 persistence framwork. 배우기가 쉽다. - 생산성 : 62%정도 줄어드는 코드, 간단한 설정 2. 성능과 생산성 - sql에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일할 필요가 없다. - 성능 : 데이터 접근 속도를 높여주는 Join 매핑(구조적 강점) , SQL를 직접작성하므로 최적화된 쿼리 구현가능 - 엔터티에 종속받지 않고 다양한 테이블을 조합..