본문 바로가기

전체 글95

ajax 크로스도메인, CORS policy 해결방법 ( cross Domain, cors) CORS 는 항상 우리를 힘들게 한다. 해결방법은 없을까?? $.ajax() 같은 ajax 관련 함수를 호출할 때 타겟이 되는 URL이 클라이언트와 다른 도메인이면 호출이 안 된다. http://ynkim.com 에서 ajax로 http://shlee.com 라는 API를 호출할 수는 없다는 말이다. 자바스크립트(Javascript) 보안 정책 중에 하나인 동일 근원 정책(Same-Origin Policy) 정책에 걸리게 되기 때문이다. 이를 업계에서는 보통 CORS라고 많이들 표현한다. 그래서 몇가지 해결책에 대해 포스팅 한다. 그리고, ajax 사용방법과 샘플코드와 자세히 소개한내용이 있으니, 아래 링크를 통해 함께 확인해 보시기 바랍니다. ajax-사용방법 예제 참조 정보 (클릭) CORS 해결책에.. 2020. 12. 23.
javascript 라이브러리 모듈화 코딩기법 javascript는 하면 할수록 어려운것 같네요. 머리 진짜 좋은 사람들 많아요. 아래는 javascript 모듈화 패턴 및 코딩기법에 대한 예제 입니다. jQuery, Backbone, underscore, requireJs 등 많은 자바스크립트 라이브러리나 프레임워크가 아래와 같은 코딩기법을 사용하고 있어요. /** * Library 모듈화를 위한 코딩기법 1 * call 함수 이용 */ (function() { 'use strict'; var root = this; var version = '1.0'; var Module1; if(typeof exports !== 'undefined') { Module1 = exports; } else { Module1 = root.Module1 = {}; } M.. 2020. 12. 23.
자바스크립트 클로저 란? 클로저란 무엇인가 ? 클로저는 외부함수(포함하고 있는)의 변수에 접근할 수 있는 내부 함수를 일컫습니다. 스코프 체인(scope chain)으로 표현되기도 합니다. 클로저는 세가지 스코프 체인을 가집니다: 클로저 자신에 대한 접근(자신의 블럭내에 정의된 변수), 외부 함수의 변수에 대한 접근, 그리고 전역 변수에 대한 접근. 이렇게 3단계로 구분할 수 있습니다. 내부 함수는 외부 함수의 변수뿐만 아니라 파라미터에도 접근할 수 있습니다. 단, 내부 함수는 외부 함수의 arguments 객체를 호출할 수는 없습니다. (하지만, 외부 함수의 파라미터는 직접 호출할 수 있습니다.) 1. 클로저 예제 : function showName(firstName, lastName) { var nameIntro = "You.. 2020. 12. 23.
자바스크립트 클로저 Closure function outer () { var count = 0; // #1 var inner = function () { // #2 return ++count; }; return inner; // #3 } var increase = outer(); // #4 increase(); // === 1 #5 increase(); // === 2 * scope의 개념으로 볼 때에 #4, #5 등 outer 함수 외부에서는 outer 함수의 local 변수인 #1의 count에 접근할 방법이 없게 된다. 사용자의 접근을 제한하고, 변수의 조작을 불가능하게 하기 위해서 closure를 사용한다. 자바스크립트에서도 일반적인 객체지향에서 말하는 private 개념이 적용이 가능한 것이다. 이것이 closure의 가장 기본.. 2020. 12. 23.
JSP 파일 업로드 기능 ( upload.jsp sample ) 1. 화면 파일을 업로드 할 화면 페이지 작성 File Upload: Select a file to upload: 2. upload.jsp 서버 업로드 역할( org.apache.common 관련 라이브러리는 있어야 겠죠? ) = 0)) { DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. factory.setRepository(new File("c:\\temp")); // Create a new file.. 2020. 12. 23.