본문 바로가기

길위의 흔적532

[node js] 자바스크립트 페이지이동 & 뒤로 가기 *자바스크립트 뒤로가기 쿼리 뒤로가기 *서버에서 auth 객체를 view 에 던져서 존재하면 페이지를 보여주고 없으면 location.href로 바로 페이지 강제 이동 2017. 6. 15.
[node js] 자바스크립트 동적구현&함수에 값넣고 호출 할때 에러해결 동적쿼리 생성 output += ''; } 문제는 음...동적쿼리를 생성하고 ...ajax로 값을 받아와서 동적 쿼리에 넣어 그 값을 함수에 던져준다...숫자는 잘들어가지는데 문자를 던지니깐 계속 에러가 났다.출력해보니..... undefind 하면서 정의 할 수 없다고.. 3시간 넘게 삽질했다.. 그래서 구글링!!!인자 사이에 \'' 요런걸 넣어라네.....갈길이 멀다.ㅠㅠ *참고acceptedYou need to wrap the input item.store_code with quotation marks; otherwise, it tries to treat it as a variable, not a string:html += ''; 2017. 6. 14.
[nodejs] 이미지 프로젝트에 사용 2017. 6. 7.
[node js] 게시판 글 클릭 후 뒤로가기하면 조회수 초기화 문제 node js로 게시판을 만들다가 문제를 발견했다.해당 글을 클릭하면 글 상세페이지로 넘어가면서 조회수가 1 증가한다.하지만 웹의 뒤로가기 버튼을 누르면 글 목록 페이지로 이동되면서 조회수가 0 으로 초기화 된다. 구글링하다가 관련 소스를 발견했다. //main pageapp.get('/', function(req, res) { res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate'); res.header('Expires', '-1'); res.header('Pragma', 'no-cache'); .......응답 헤더에 옵션 같은 것을 준것 같은데.. 왜 이렇게 작동되는지 찾아봐야겠다. 2.로그아웃 하면 메인화면. 다시 뒤로.. 2017. 6. 6.
[node js] ajax 초 간단 예제 view- server 부분/*ajax 테스트 로직*/ router.get('/getajax', function(req, res, next) { res.render("main/ajax");}); /* POST 호출 처리 */router.post('/ajax', function(req, res, next) { console.log('POST 방식으로 서버 호출됨'); //view에 있는 data 에서 던진 값을 받아서 var msg = req.body.msg; msg = '[에코]' + msg; //json 형식으로 보내 준다. res.send({result:true, msg:msg});}); 2017. 6. 5.
[생활코딩 함수] 함수 호출 5 1. 2. 2017. 6. 5.
[생활코딩 함수] arguments 4 1. 2. 2017. 6. 2.
[생활코딩 함수 ] 클로저 3 1 2 3. 4. 5. 6. 2017. 6. 1.
[생활코딩 함수] 값으로서의 함수 2 1. 2 3 4. 2017. 5. 31.
[생활코딩 함수] 유효범위 1 2 3 4. 5 6 7. 8 9. 2017. 5. 30.
[node.js] passport 로그인& 간편 로그인 passport 설정 --세션 모듈과 설정은 미리 해둬야 한다. //0준비작업//페스포트 사용var passport = require('passport')var LocalStrategy = require('passport-local').Strategy; //페스포트 초기화 및 세션 사용app.use(passport.initialize());//페스포트 인증을 사용할때 세션을 사용하겠다.//반드시 세션 모듈 뒤에 추가 //로그인 관련된 작업app.use(passport.session()); //3.세션을 저장하는 부분 user 는 new LocalStrategy done() 으로 날린값 passport.serializeUser(function(user, done) { console.log("serializ.. 2017. 5. 26.
[node.js] 쿠키 & 세션 간단하게 정리 - -웹브라우저가 서버에 접속하면 서버가 직접 쿠키(데이터)를 웹브라우저에 전달 -웹브라우저는 그 쿠키를 저장 -하지만 쿠키는 보안상 문제가 있음 - --웹브라우저가 서버에 접속하면 서버가 웹브라우저에 데이터 저장 오직 사용자의 식별자인 id 값만 브라우저에 저장! 식별자만 사용자의 컴퓨터에 저장하고 실제 데이터는 서버에 저장 - 세션은 고유의 식별자를 이용해서 서버에 저장된 값을 가져온다.! ////express 에는 session 기능이 없다.//이녀석이 기본적으로 세션정보를 메모리에 저장한다!//그래서 웹브라우저를 종료하면 날라간다.var session = require('express-session'); // app.use(session({ secret: '1231adfdf', resave: fa.. 2017. 5. 25.
[초미니프로젝트] 자바스크립트 연락처 저장하기 오류발생! 해결! [3] 연락처 목록 번호 이름 나이 연락처 주소 직업 취미 어제 짜놓은 코드를 보니 큰 문제가 있었다. 1. 아무것도 없는 테이블에서 '추가하기'를 누르면 빈 행과 칸이 1줄 생깁니다.- function insertFunction() 가 실행됩니다.(dom)으로 구현 했습니다. 2. 빈칸에 값을 입력하고 저장하기를 누르면 saveFunction() 실행됩니다.-첫번째 행의 값이 user 객체에 삽입되고 그 각체는 users 배열에 삽입됩니다. 문제는 user 객체를 초기화 하는것이었다!user객체를 초기화 해서 넣지 않으니깐전에 user객체에 들어 있던 값이 push 가 되는거였다.....!!!!!!!! 어쨌든 해결 ㅠ!! 1234567891011121314151617181920212223242526272829.. 2017. 5. 24.
[초미니프로젝트] 자바스크립트 연락처 저장하기 구현 [2] 하...일단 저장하기 성공....완전빡샘..추가하기 누르면 위의 사진처럼 빈 행이 생긴다.빈행의 칸을 클릭하면 활성화 되고 값입력 가능하다값입력후 저장하기 누르면 객체 형태로 배열에 저장된다.하...ㅜㅜ 자바스크립트 dom 개념인데..이렇게 헤메다니..분발하자!!!!!!!!!!!!!!! 연락처 목록 번호이름 나이연락처주소직업취미 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107.. 2017. 5. 23.
[초미니프로젝트] 자바스크립트 연락처 구현 준비 [1] 그동안 자바 스크립트 사용을 오래 안했네.. 감이 가물가물...몽땅 잃어버리기전에 간단한 프로그램하나 만들어봐야겠다.아주간단한 배열, 함수, 객체 반복문, 조건문 같은 개념 이용해서 연락처 리스트 만들어보기! 프로그램 예) 연락처 리스트 이름 나이 연락처 주소 직업 취미 홍길동 28 010-1234-5678 서울시 관악구 신림로 18 학생 볼링 김귀남 29 010-5468-5466 서울 종로구 인사동길 100 학생 축구 김동글 30 010-6879-7866 서울 관악구 신림로 14 학생 복싱 추가하기 저장하기 찾기 삭제 1 추가하기 누르면 위에 표에 칸이 생긴다. 2 추가된 빈간이 생긴곳에 마우스 클릭을 하면 텍스트가 활성화되면서 글을 적을 수 있다. 3 저장하기를 누르면 리스트에 뿌려진다. 4 텍스트 .. 2017. 5. 22.
<실습> 3.mysql join&outer join & 프로그래밍 -- join-- inner join 은 두테이블 양쪽에 다 데이터가 있는 것만 출력 한다. select *from buyTbl inner join userTbl -- userTbl 과 join 해라 on buyTbl.userID = userTbl.userID -- 설정해주기WHERE buyTbl.userID = 'JYP'; -- 오류 예)-- 전체를 다 출력할때는 해당 칼럼이 어느 테이블의 칼럼인지 명시해 줘야 한다.select userID, name, prodName, addr, mobile1 + mobile2 as '연락처'from buyTbl inner join userTbl -- userTbl 과 join 해라 on buyTbl.userID = userTbl.userID; -- 설정해주기 -- .. 2017. 5. 12.
<실습> 2.mysql 내장함수(날짜,문자,숫자,JSON 등) 정리 -- 데이터 형식 -- 문자 데이터 형식 -- 날짜와 시간 데이터 형식 -- MYSQL 고급 / 내장함수 및 JSON 예제 -- 날짜 함수select cast('2020-10-19 12:23:21.123' AS DATE) as 'DATE' ;select cast('2020-10-19 12:23:21.123' AS TIME) as 'TIME' ;select cast('2020-10-19 12:23:21.123' AS DATETIME) as 'DATETIME' ; -- 변수SET @myVar1 =5;SET @myVar2 =3;SET @myVar3 =4.25;SET @myVar4 ='가수이름=>'; select @myVar1;select @myVar2 + @myVar3;select @myVar4, Name f.. 2017. 5. 11.
<실습> 1.mysql 기본 drop database if exists sqlDB; -- 만약 sqlDB가 있으면CREATE database sqlDB; use sqlDB; create table userTbl -- 회원 테이블( userID CHAR(8) NOT NULL PRIMARY KEY, -- 사용자 ID (PK) name varchar(10) NOT NULL, -- 이름 birthYear INT NOT NULL, -- 출생년도 addr char(2) not null, -- 지역 mobile1 char(3), -- 폰번호 앞자리 3 자리 mobile2 char(8), height SMALLINT, -- 키 mDate DATE -- 가입일); create TABLE buyTbl -- 회원 구매 테이블 (( num int aut.. 2017. 5. 10.
1-2 자바스크립트로 우편번호 문제를 해결해보자 우편번호 정렬 문제를 해결해보자.알고리즘을 그려야 하지만 간단한 문제일 것 같아서 글로만 순서를 작성해 봤다.버튼1#우편번호 전체 개수 출력1.텍스트 칸에 5자리 우편번호를 입력 받는다.1-1. 앞뒤 공백 자르기를 통해서 입력된 우편번호를 3자리로 만들고 문자열 합치기로 전체 값을 하나로 합친다.2.우편번호 총개수를 파악한다.3.배열에 집어 넣는다. 버튼2#우편번호 중복제거 버튼구현4. 우편번호 중복값을 제거 한다.5. 버튼을 누르면 중복 제거된 우편번호의 개수를 출력한다. (우편번호 중복제거를 하지 않고)버튼3# 우편번호별 개수를 파악해서 테이블에 출력와...대박 1-2시간안에 끝날 줄 알았는데... 총 5시간 정도 걸린것 같다. 아오...... 위의 그림에서 우편번호부분을 드래그해서 메모장에 옮긴다음.. 2017. 3. 28.
1-1 일상에서 우편번호와 관련한 문제를 발견했다. 나는 서울에 작은 출판사에서 일한다. 가끔 글도 쓰고, 가끔 개발도 하고,가끔은 중국 출장도 가고...난 뭘까...? 각설하고 출판사다 보니 매달 책과 제작물을 만들고 전국에 있는 구독자들에게 보낸다.제일 뿌듯할 때다ㅋ근데 얼마전 배송을 담당하는 분께서 엑셀을 붙잡고 한참을 끙끙대고 있는 것을 발견했다.문제는 우편번호 정렬이었다. 우체국에 우편물을 접수할때 우편번호별 묶음으로 접수를 하면 더 저렴하다.(위에 그림 처럼)근데 이 우편번호 묶는 방법이 있다.예로들면 01234, 01256 위에 두 우편번호가 있으면 앞에 세자리 즉, 012 별로 묶어야 하고 내림차순 정리를 해야 한다. 그리고 그 묶음 별로 개수를 구해야 한다.012 : 2개 이런식으로.(위에 그림 참고) (위의 이 데이터를 가지고 우편번호 .. 2017. 3. 27.
[node.js] express 모듈2 http 모듈과 express 모듈로 만든 서버의 가장 큰 차이점은 express 모듈은 request 이벤트 리스너를 연결하는데 use() 메서드를 사용한다는 것.이유는 use() 메서드는 여러번 사용할 수 있다. 그리고 use() 메서드의 매개변수에 function(request,response,next){} 형태의 함수를 입력한다. next는 다음에 위치하는 함수를 의미한다. 예)// 모듈을 추출합니다.var express = require('express'); // 서버를 생성합니다.var app = express(); // 미들웨어 설정(1)app.use(function (request, response, next) { console.log("첫 번째 미들웨어"); next();}); // 미들.. 2017. 3. 13.
[node.js] express 모듈 1 express 모듈 http 모듈로 웹 서버를 생성하면 많은 일을 직접 처리해야 하므로 기존에 서버 생성 개념에 익숙하지 않다면 어렵다. express 모듈은 http 모듈에 여러 기능을 추가해서 쉽게 사용할 수 있게 만든 모듈이다. 개념개념설명express 모듈http 모듈처럼 사용할 수 있지만 훨씬 더 많은 기능이 있는 외부모듈미들웨어express모듈 use()메서드의 매개변수에 입력하는 함수를 말한다.router 페이지 라우팅을 지원하는 미들웨어static지정한 폴더에 있는 내용을 모두 웹서버 루트 폴더에 올릴 때 사용morgan웹요청이 들어왔을 때 로그 출력cookie parser요청쿠키를 추출body parserpost 요청 데이터를 추출한다.connect-multipartymultipart/f.. 2017. 3. 12.
[node.js] 외부모듈 필수개념개념설명ejs.모듈/jade 모듈웹 페이지를 동적으로 생성하는 템플릿 엔진 모듈supervisor 모듈파일의 변경 사항을 자동으로 인식하고 종료 후 다시 실행forever 모듈웹 서비스 장애와 같은 예외 상황을 대비하고자 만들어진 모델npm install 모듈외부모듈을 설치할 때 사용/설치한 모듈은 내장모듈처럼 사용가능npm init 명령node.js 프로젝트를 생성할 때 사용package.json 파일node.js 프로젝트의 환경 설정 정보를 담은 파일 node.js는 npm 기반으로 모듈을 공유한다. 설치 $ npm install 모듈명 외부모듈 사용// 모듈을 추출합니다.var ejs = require('ejs');var jade = require('jade'); ejs 모듈ejs 모듈은 템.. 2017. 3. 11.
[node.js] HTTP HTTPhttp 모듈은 node.js 의 가장 기본적인 웹 모듈이며 http 웹 서버와 클라이언트를 생성하는 것과 관련된 모든 기능을 담당한다. 기본개념개념설명요청웹 페이지에 접속하려고 하는 어떤 요청을 말한다.응답요청 받아 이를 처리하는 작업을 말한다.http 모듈http 웹 서버와 관련된 모든 기능을 담은 모듈이다.server 객체웹 서버를 생성하는데 꼭 필요한 객체이다.response 객체응답 메시지를 작성할 때 request 이벤트 리스너의 두 번째 매개변수로 전달되는 객체request 객체응답 메시지를 작성할 때 request 이벤트 리스너의 첫 번째 매개변수로 전달되는 객체 요청메시지를 사용해야 사용자에게 적절한 웹 페이지를 제공할 수 있다. 그리고 응답 메시지를 사용하면 쿠키를 저장하거나 추.. 2017. 3. 10.
[node.js] 이벤트 이벤트Node.js 의 큰 특징 중 하나는 이벤트 기반 비동기 프로그래밍이 가능하다는 점이다. 자바스크립트는 다른 프로그래밍 언어와 비교했을 때 함수 생성과 이벤트 연결이 굉장히 쉬우므로 이벤트 기반 프로그래밍을 하기 좋다. 큰 개념on(eventName, eventHandler) - 이벤트를 연결하는 메서드.emit() - 이벤트를 실행할 때 사용.EventEmitter 객체 – 이벤트를 연결할 수 있는 모든 객체의 어머니. 기존의 자바스크립트 이벤트연결 load를 이벤트 이름 또는 이벤트 타입 이라고 한다. 또한 매개변수로 입력한 함수를 이벤트 리스너 또는 이벤트 핸들러라고 한다. node.js에서 이벤트 연결// process 객체에 exit 이벤트를 연결합니다.process.on('exit', f.. 2017. 3. 9.
[node.js] 기본 내장모듈 기본내장모듈 node.js는 기본적으로 여러 가지 모듈을 제공한다. 꼭 알아둘 개념개념설명node.js문서node.js의 주요 기능을 설명하는 문서다url모듈인터넷 주소를 다루는데 사용Query String 모듈url 객체의 쿼리를 다루는 데 사용한다.util 모듈node.js의 보조 기능을 모아두었다.crypto 모듈해시 생성과 암호와를 수행한다.File System모듈파일을 다룬다. node.js 문서를 보는 곳https://nodejs.org/dist/latest-v6.x/docs/api/ 1. os모듈 예)// 모듈을 추출합니다.var os = require('os'); // 모듈을 사용합니다.console.log(os.hostname()); //호스트 이름 리턴console.log(os.type.. 2017. 3. 8.
[node.js] 입문 1.node.js 란?웹프로그래밍에는 스레드라는 것이 있다. 스레드는 하나의 프로그램 내부에서 실행되는 실행 흐름 단위를 말한다. 장점사용자에 대한 응답성 향상동시에 작업을 완료시킴 사용하는 곳네트워크 웹서버 또는 데이터베이스 통신시간이 오래걸리는 작업 단점많은 스레드로 코드 실행을 제어하면 복잡해지고 버그가 발생할 수 있다.스레드를 삭제하려면 삭제할 때 발생할 수 있는 문제와 처리 방법을 알아야 한다. 이러한 스레드의 단점을 해결하고자 내부적으로 node.js는 스레드를 알아서 처리하고 외부적으로는 스레드를 신경 쓰지 않고 개발할 수 있게 만든 소프트웨어 플랫폼이다. 차이?기존 웹 서버는 대부분 스레드를 기반으로 하는 동기 방식으로 네트워크 입출력을 처리한다. 반면 node.js는 이벤트를 기반으로 하.. 2017. 3. 7.
[회계기초] 회계용어정리 회계란? 1.회계란 정보 이용자가 합리적인 판단이나 의사 결정을 할 수 있도록 경제적 정보를 식별하고 측정하여 전달하는 과정이다. 2.회계란 기업의 경영활동을 측정하여 기록하고 정리한 후, 그 정보를 분석하여 경영활동에 따른 경영 성과와 재무 상태를 파악하고 미래를 계획하고자 하는 것이다. 3.회계란 정보 이용자가 합리적 판단과 경제적 의사 결정을 할 수 있도록 기업 실체에 관한 유용한 정보를 측정하여 전달하는 과정이다. 4.숫자로 만드는 회사의 돈 정보가 회계다. 회계의 종류 재무회계 - 회사 외부인에게 정보 전달용 세무회계 - 국세청 세금 징수용 관리 회계 - 경영자 . 임직원 의사 결정용 #회계와 재무는 다르다쉽게 정리하면 회계는 돈이 얼마나 있는지 세는 것이고, 재무는 그 돈을 굴리거나 빌리는 것.. 2017. 3. 6.
[자바스크립트 기초]제이쿼리 4 폼 요소 선택하기셀렉터설명:buttonbutton 및 type 특성값이 button인 요소들을 리턴:checkboxtype 특성이 checkbox인 input 요소들을 리턴:checked체크박스 및 라디오 버튼들중 체크된 요소들 리턴:disabled비활성화된 모든 요소 리턴:enabled활성화된 모든 요소 리턴:focus현재 포커스를 가진 요소 리턴:file모든 파일 입력 요소들을 리턴한다.:image모든 이미지 요소들을 리턴한다.:input모든 button, input select textarea 요소들을 리턴한다.:password모든 비밀번호 입력 요소들을 가져온다.:radio모든 라디오 입력 요소들을 가져온다.:reset모든 리셋 버튼 요소들을 가져온다.:selected선택된 모든 요소들을 가져온다.. 2017. 3. 5.
[자바스크립트 기초]제이쿼리 3 event 객체모든 이벤트 처리 함수는 event 객체를 전달받는다.이 객체는 발생한 이벤트와 관련된 메서드와 속성을 가지고 있다. 예)$(‘li’).on(‘click’,function(e){ eventType = e.type;}); 1.event 객체에 매개변수 이름을 지정한다.2.함수 내에서 event 객체를 참조하기 위해 이 이름을 사용한다.3. 익숙한 마침표 표기법을 이용하여 객체의 속성과 메서드를 사용한다. 속성설명type이벤트의 종류which불려진 버튼이나 키data이벤트가 발생했을 때 함수에 전달된 추가 정보들을 가지고 있는 객체표현식target이벤트가 발생한 dom요소pageX뷰포트의 왼쪽 모서리로부터 마우스까지의 위치pageY뷰포트의 상단으로부터 마우스까지의 위치timeStamp 메소드설.. 2017. 3. 4.