본문 바로가기

분류 전체보기

Node.js - 콜백함수, 클로저(Closure) 1. 콜백함수 Node.js의 가장 핵심적인 부분 - 콜백함수 (비동기 방식의 함수, Non-Block) 왜 중요한가? 콜백인 함수에서 콜백을 사용하지 않게 된다면, 콜백 함수의 과정이 끝나기 전에 다음 프로세스를 진행하게 되는 경우가 있다. (ex. db에서 값을 읽어들일 때 값을 읽기 전에 출력을 해버리는 경우) 내용이 복잡해질수록 여러개의 callback이 계속된다. - 함수를 호출했을 때 또 다른 함수를 파라미터로 전달 - 함수안에 콜백함수가 들어가있는 상태 function add(a,b,callback) { var result = a + b; callback(result); } add(10,20,function(result) { console.log("더하기 결과: " + result); });.. 더보기
Node.js - 배열 배열에 값 추가 및 삭제 배열에는 다음과 같은 메소드가 포함되어 있어 그 요소 값을 확인하거나 추가 또는 삭제할 수 있다. 속성 / 메소드 이름 설명 push(object) 배열의 끝에 요소를 추가 pop() 배열의 끝에 있는 요소를 삭제 unshift() 배열의 앞에 요소를 추가 shift() 배열의 앞에 있는 요소를 삭제 splice(index, removeCount, [Object] ) 여러 데이터 추가/삭제 slice(index, copyCount) 여러 데이터 잘라내어 새로운 배열 객체로 만듦 배열 예제 push(Object) var Users = [ {name:"수지",age:25}, {name:"안젤리나",age:22} ]; Users.push({name:"신혜",age:28}); conso.. 더보기
Node.js - 내장 모듈(os,path,url), 객체와 함수 내장모듈은 api를 참조하여 필요할때마다 찾아쓰는게 좋다 https://nodejs.org/api/ Index | Node.js v13.0.1 Documentation nodejs.org 1. os 내장모듈 var os = require("os"); // 현재 시스템에 대한 정보를 가지고 오는 애 console.log("시스템의 HostName: " + os.hostname); console.log("시스템의 메모리: " + os.freemem() + "/" + os.totalmem()); // 전체 메모리 중에 현재 사용할 수 있는 메모리 (8기가 중 4기가 사용중) console.log("시스템의 CPU 정보 \n"); console.log(os.cpus()); console.log("네트워크 정보\.. 더보기
Node.js 기본 - 전역객체 (console, process, exports) 1. console 객체 - dir, time, timeEnd 1) time(), timeEnd() 메소드 프로그램 수행 시간 구하기 var result = 0; console.time("계산시간"); for (var i=1; i a와 b를 더한것을 add에 넣는다 2. 객체를 사용해서 분리하는 방법 (module.exports 분리) calc2.js var calc = {}; calc.add = function(a,b){ return a+b; }; //'calc'로 내보내겠다고 명시 module.exports= calc; > 메소드를 변수에 넣는 형태 test2.js //같은공간이니깐 ./calc var calc = require("./calc"); console.log("모듈 분리 후 함수 add 속.. 더보기
Node.js 개념 & 세팅하기 Node.js란? Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 (크롬에는 Javascript V8 엔진이 내장돼있음) npm은 개발자들이 Node.js 기반의 JavaScript로 개발된 오픈 소스를 모듈로 올려놓은 곳 우리는 웹 개발에 필요한 jQuery, gulp, webpack 등의 모듈들을 npm명령어를 통해 쉽게 다운받고 쓸 수가 있다. - %j : 데이터가 key와 value로 구성돼있는 데이터 (node.js는 모든 데이터를 JSON형식으로 처리) Node.js 세팅하기 1. NodeJS 폴더 생성 > work, install 폴더 생성 * work 폴더 - workspace임. 본인이 원하는 workspace 폴더명으로 해줘도 됨 * e.. 더보기
[Spring] 파일 업로드/다운로드 스프링이 제공하는 파일 업로드 처리 기능을 사용하려면 MultipartResolver를 빈으로 등록해야 한다. 스프링은 Apache Commons FileUpload API를 이용하여 파일 업로드를 처리하는 CommonsMultipartResolver 클래스를 제공한다 * 파일 다운로드는 어떤 프레임워크건 라이브러리가 없다. 직접 코딩해서 모듈화 해놔야함 실제주소 - /spring/fileTest/ 가상주소 - /spring/file/ web.xml에 MultipartResolver 빈으로 등록 1. DB 테이블 생성 create table fileTest ( num number(7) not NULL, subject varchar2(50) not NULL, saveFileName varchar2(50),.. 더보기
SPRING 2.5 - 컨트롤러 종류별 예제, annotation dispatcher-servlet.xml - viewResolver : view를 관리하는 애 return '/board/created.jsp'; => return 'board/created'; 1. BeanNameUrlHandlerMapping - DispatcherServlet이 사용하는 기본 DI 객체 - 핸들러 매핑 : BeanNameUrlHandlerMapping - 명시적으로 지정된 HandlerMaping이 없으면 별도의 설정 없이 자동으로 사용 - 바로 컨트롤러의 위치로 가라고 알려줌. 직관적임. 2. SimpleUrlHandlerMapping listFormController listController testLoginController testMemController multiTestC.. 더보기
Ajax - 댓글 기능이 있는 게시판 만들기(미) 실제폴더: /ibbs, 가상주소(uri): /comm 개발환경: struts2+spring2.0, 톰캣 v8.5, iBatis, 이클립스, JDK 7.x - struts-ibbs.xml ( BoardAction.java, CommentList.java 1. DB설정 ibbs_sqlMap.xml (sqlMapConfig.xml 에 등록) 2. xml파일 struts-ibbs.xml (struts.xml 에 등록) 3. Action클래스 생성 BoardAction.java, CommentAction.java 4. 게시글 관련 jsp 페이지 list.jsp, created.jsp, article.jsp 5. 댓글관련 jsp 페이지 - article.jsp (게시글 부분과 공통) - ajax를 통해 데이터를 반.. 더보기