전체 글 129
-
출처 블로그: https://honeyinfo7.tistory.com/328 Github README 하단에 내 최신 블로그글 올라오게 하기 Github들어가면 다음과같이, 자신만의 README를 꾸미는 사람들이 많다. 해당 README를 꾸미는 방법은 자신의 아이디와 똑같은 repository를 만들고, 거기서 README.md를 작성하면 된다. 그런데, 다음과같이 honeyinfo7.tistory.com 진짜 완전 간단 최고봉이다... 기술 스택 뱃지가 오히려 이틀걸림..ㅠㅅ ㅠ 근데 중간에 markdown_text = """ [쓰고싶은 내용] """ # list of blog posts will be appended here 여기 append라고해서 원래 있던 readme 내용에 원하는 헤더(?)+..
-
MySQL DB구축하기 대충 앞에서 만든 홈페이지에 맞게 db랑 테이블 만들어주면 되는듯.. 2021.12.13 - [{ "Hello World!" };/DataBase] - (DB) DBMS 구축하기 (DB) DBMS 구축하기 DBMS - 데이터베이스 관리 시스템(DataBase Management System) 1. DBMS종류를 정하고 설치한다 (Oracle,MySQL,IBM의 DB2, SQL Server,MongoDB 등) - 우리는 mysql를 서버 설치(구축)한다. http://oracle.com/ - mysql dbms를 관리하 everyday-com-eat.tistory.com 모듈 설치 및 의존성 설정 npm install --save(or -S) mysql --save(or -S): 현..
-
입력 정보 보안 ex) 아이디와 비밀번호를 password.js라는 파일에 저장해서 소스코드 여러 곳에서 사용한다고 가정 //password.js 파일 module.exports = { id:'jsg', password:'0000' } 사용자가 'localhost:3000/?id=.../password.js' 라 요청 시정보가 고대로 노출된다... ../이라는 경로를 더 입력하여 그보다 상위 디렉터리도, 컴퓨터 전체도 접근가능 이러한 문제가 발생하지 않도록 막는 것이 보안이고, 보안이 중요한 이유이다. 해결방안 : 사용자가 ../같은 상위경로를 포함하여도 강제로 파일명만 사용(parsing)하게 한다 사용자 경로(URI) 분석 node js path parse path 모듈 추가 var path = re..
-
템플릿 기능 정리 객체지향 방식으로 templateHTML, templateList 함수(성격이 같은 것들을 그룹화 하기 위해 접두사나 접미사를 사용하곤 함) template 객체 정의 ...생략 var template = { HTML: function(title, list, body, control) { return ` !doctype html> WEB ${list} ${control} ${body} `; }, list: function(filelist) { var i = 0; var list = ''; while(i < filelist.length) { list += `${filelist[i]}`; i++; } list += ''; return list; } } var app = http.create..
-
글 수정하기 수정 링크 생성 update 는 글을 수정하는 기능이기 때문에 쿼리스트링으로 id값을 받았을때만 보여지게 하고 싶음 홈 화면 = create만/ 페이지 화면 = create,update 둘다 / create 화면 = 자체 form태그 사용중 공백 삽입 update 할때 수정대상을 알려줘야 하기때문에 쿼리 스트링으로 id를 넘겨줘야함 /** * 본문 셋팅 함수 */ function templateHTML(title, list, body, control) { return ` ...생략... WEB ${list} ${control} ${body} ...생략... `; } ----------------------------------------------------- //홈 var template ..
-
데이터 전송하기 1. create 링크만들기 /** * 본문 셋팅 함수 * @param {*} title 제목 * @param {*} list 글 목록 * @param {*} body 본문 * @returns 중복코드 => template */ function templateHTML(title, list, body) { return ` WEB ${list} create //여기 ${body} `; } 2. 분기처리한 곳에 create 조건 추가해주기 if(pathname === '/') { //루트일 때 실행 (오류X) ...생략... } else if(pathname === '/create') { //create 일 때 fs.readdir('./data',function(error, filelist) ..
-
패키지 소프트웨어를 일컫는 여러가지 표현 중 하나 독립적으로 실행되는 프로그램 어떤 프로그램 안에서 부품으로 사용되는 작은 프로그램 패키지 매니저 이러한 패키지를 설치, 업데이트, 삭제하는 등 관리하는 데 도음을 주는 프로그램 npm Node.js에서 가장 광범위하게 사용 Node.js를 설치할 때 함께 설치되는 기본 패키지 매니저 PM2 Node.js로 만든 프로세스를 관리해주는 프로그램 의도하지 않게 꺼지거나 소스가 변경될 때 자동으로 재시동함으로써 서비스를 안정적으로 유지하게 도움 PM2 설치 1. cmd(명령프롬프트) 관리자 모드로 실행 2. pm2 설치 명령어 입력 npm install pm2 -g -g : 컴퓨터의 어느 위치에서나 실행할 수 있게 설정하는 옵션 3. js 파일있는 디렉터리로 이..
-
동기/비동기 동기(synchronous) : 하나의 작업이 끝날 때까지 기다렸다가 다음 작업을 처리하는 방식 비동기(asynchronous) : 병렬로 동시에 여러가지 일을 처리하는 방식, 효율적이지만 복잡 차이점 Node.js 공식 메뉴얼의 기능이름에 'Syns'가 붙고 매개변수에 callback이 없으면 동기처리방식 readFileSync와 readFile sample.txt >>> B ---------------------------- var fs = require('fs'); console.log('readFileSyns 시작'); console.log('A'); var result = fs.readFileSync('syntax/sample.txt', 'utf8'); console.log(resu..