분류 전체보기
-
Node.js 교과서 - 파일 시스템Node.js 2021. 9. 19. 03:33
웹 브라우저에서 자바스크립트 사용할 때는 일부를 제외하고 접근이 금지되어 있다. const fs = require('fs'); fs.readFile('./readme.txt' , ( err , data ) => { if ( err ) { throw err; } console.log(data); // 버퍼 형식 console.log(data.toString); } 파일의 경로는 node 명령어를 실행하는 콘솔 기준이다. readFile의 결과 data는 buffer이다. 동기와 비동기 : 백그라운드 작업 완료 확인 여부 블로킹과 논 블로킹 : 함수가 바로 return 되는지 여부 동기-블로킹 방식에서는 백그라운드 작업 완료 여부를 계속 확인하며, 호출한 함수가 바로 return 되지 않고 백그라운드 작업이..
-
Node.js 교과서 - worker_threadsNode.js 2021. 9. 19. 01:47
worker_thread 모듈을 사용하여 Node에서 멀티 스레드 방식으로 작업을 진행한다. const { Worker , isMainThread, parentPort, } = require('worker_threads'); if(isMainThread){ const worker = new Worker(__filename); worker.on('message',message => console.log('from worker',message)); worker.on('exit', () => console.log('worker exit')); worker.postMessage('ping'); }else{ parentPort.on('message', (value) => { console.log('from par..
-
Node.js 교과서 - 암호화Node.js 2021. 9. 19. 01:47
crypto 다양한 방식의 암호화를 도와주는 모듈 비밀번호는 반드시 암호화 해야한다. [ 단방향 암호화 ] 복호화 : 암호화된 문자열을 원래 문자열로 되돌려 놓는 것 단방향 암호화 : 복호화 할 수 없는 암호화 방식 => 주로 해시 기법 사용 비밀번호는 단방향 암호화해야 한다. 처음 데이터베이스에 저장할때 암호화한 해쉬 번호를 저장하고, 동일한 알고리즘 방법으로 비밀번호를 해쉬 번호로 바꿔서 비교한다. const crypto = require('crypto'); console.log('base64:', crypto.createHash('sha512').update('비밀번호').digest('base64'); console.log('hex:', crypto.createHash('sha512').updat..
-
Node.js 교과서 - path , url , querystringNode.js 2021. 9. 19. 01:46
Path 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈 path.dirname(경로) : 파일이 위치한 폴더 경로 path.extname(경로) : 파일의 확장자 path.basename(경로 , 확장자) : 파일의 이름을 표시 path.parse(경로) : 파일 경로를 rott , dir , base , ext , name으로 분리한다. URL 인터넷 주소를 쉽게 조작하도록 도와주는 모듈이다. url 주소 윗 부분은 노드 방식의 url url 주소 아랫 부분은 WHATWG 방식의 url const url = require('url'); const { URL } = url; const myURL = new URL('http://www.gilbut.co.kr/book/bookList.aspx?serc..
-
Node.js 교과서 - processNode.js 2021. 9. 19. 01:46
process Node에서 process는 현재 실행되고 있는 노드 프로세스에 대한 정보를 담고 있다. process.version : 설치된 노드의 버전 process.arch : 프로세서 아키텍처 정보 process.platform : 운영체제 정보 process.pid : 현재 프로세스 아이디 process.uptime() : 프로세스가 시작된 후 흐른 시간 ( 단위는 초 ) process.execPath : 노드의 경로 process.cwd() : 현재 프로세스가 실행되는 위치 process.cpuUsage() : 현재 CPU 사용량 [ process.env ] 시스템의 환경 변수, 서비스의 중요한 키를 저장하는 공간 ( 서버나 데이터베이스의 비밀번호와 각종 API 키 ) NODE_OPTIONS ..
-
파일 구조React.js 2021. 9. 19. 01:45
React는 파일을 어떤 식으로 폴더에 분류할 것인지 제시하고 있지 않다. 하지만, 인기 있는 일반적인 파일 구조 접근법들이 존재한다. [ 파일의 기능이나 라우트에 의한 분류 ] css,js,테스트 파일을 하나의 기능이나 라우트로 분류하여 같은 폴더에 두는 방법 기능의 단위는 보편적인 것이 아니다. 얼마나 세분화 하느냐에 따라 다르다. common/ Avatar.js Avatar.css APIUtils.js APIUtils.test.js feed/ index.js Feed.js Feed.css FeedStory.js FeedStory.test.js FeedAPI.js profile/ index.js Profile.js ProfileHeader.js ProfileHeader.css ProfileAPI.js..
-
innerHTML , innerText , appendChildVanilla js 2021. 9. 19. 01:44
innerHTML DOM 객체의 Property로 존재한다. 특정 노드의 내부 문자를 가져올때 html 태그를 태그로 인식 문자열을 노드로 교체하는 단계가 있어 브라우저가 문자열을 파싱하고 노드 만들고 다시 렌더링하는 과정을 거치게 된다 노드를 직렬화하여 할당하는 방식 XSS 공격에 취약하다. XSS ( Cross-Site Scripting ) 웹 애플리케이션에서 많이 나타나는 취약점이다. 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점 이다. 사용 예시 : https://tecoble.techcourse.co.kr/post/2021-04-26-cross-site-scripting/ XSS 방지 방법 XSS 공격은 스크립트를 삽입하는 방식으로 발생하기 때문에 기본적으로 스크립트 태..
-