javaScript 96

노드js 내장모듈// fs 파일관리 시스템 -1

fs모듈은 두파트로 나눴다. 어차피 웹개발할때 많이 쓸 모듈이고 동기,비동기개념도 들어있어서.. 1. 사용하기~ 암튼 사용법은 간단한다. const fs = require('fs') 모듈을 가져왔다. fs.readFile('./readme.txt', (err,data)=>{ if (err){ throw err; }else { console.log(data.toString().split('\r\n')) } }) fs모듈에서 readFile메서드를 가져오는데 여기에는 두가지 파라미터가 들어간다. 하나는 파일경로, 현재 노드 실행하는 경로기준 상대경로를 넣어줬다. 그다음은 콜백을 넣어줬는데 에러처리를 위한 err와 data를 넣었다. 만약 err면 던져버리고 아니라면 err는 null이고 정상적으로 data를..

javaScript/nodeJs 2022.06.23

노드js 내장모듈// process(spawn) 노드로 다른언어 실행시키기.

전에 원하는 사이트의 크롤링이 계속 차단이되서 고민하던중 python 셀레니움으로는 차단없이 크롤링이 되더라. 사실 뭐 셀레니움이 직접 사람이 접속해서 클릭하듯 하는 방법이다보니까 많은 회사들이 막기 어려운 모듈이긴 하다. 노드의 셀레니움은 지금은 모르겠지만 워낙 단점이 많단다.. 그래서 서버에서 요청을 받으면 파이썬 파일을 실행시켜 결과값을 받아오는걸 쓸때 spawn을 써봤었다. 사용법은 단순하다. // js 파일 const spawn = require('child_process').spawn; const process = spawn('python', ['./python/test.py']) spawn을 child_process에서 가져오고 process경로와 프로그램을 변수지정해둔다. test.py파일..

javaScript/nodeJs 2022.06.23

노드js 내장모듈// crypto 해시화(단방향 암호화)

const crypto = require('crypto'); 먼저 모듈을 불러오자. const password = '돼지' 먼저 password를 무찌로 해주고 console.log('해시화된 비밀번호:', crypto.createHash('sha512').update(password).digest('base64')) 이렇게 치면 해시화된 무찌가 나온다. 이렇게 짜잔 하고 나와준다. 여기서 sha512는 아직 취약점이 발견안되서 잘 쓰인다. base64는 인코딩 방식이다. 이외에 hex, latin1이 있다. # 소금을 쳐보자. crypto.randomBytes(12, (err, txt) => { const salt = txt.toString("base64"); console.log(salt); cryp..

javaScript/nodeJs 2022.06.21

노드js 내장모듈// url

먼저 두 가지 방식의 방식 const url = require('url'); 먼저 모듈 가져오자~ 1. 노드의 url방식 const parsedUrl = url.parse('https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=39684%EC%B4%88&oquery=39684%EC%B4%88&tqi=hq1m0dp0J1sssf02fd8sssssshl-290689') console.log(parsedUrl) console.log(url.format(parsedUrl)) url parse객체함수에 url주소를 넣어주고 콘솔로 출력해보면 이렇게 받은 url을 분석해서 객체로 만들어준다. 서버만들때 path부분만으로 IO작업 해줘야하니..

javaScript/nodeJs 2022.06.21

노드js 내장모듈// path

const path = require('path'); 먼저 모듈을 불러온다. 예전에 그냥 코드 복붙해서 사용할땐 path라는 외장모듈인줄알고 ㅋㅋ npm install path 치면서 했었다. 이제 여러가지 기능을 보자. 1. path.sep console.log(path.sep) 콘솔결과에는 백슬러스가 뜨는데 이건 경로에서 쓰이는 단위를 알려준다. 운영체제에 따라 다른데 나는 윈도우를 사용하므로 백슬레시가 나온다. 2. path.dirname console.log(path.dirname(str)) 참고로 str은 변수인데 __filename으로 했다. 즉 이 파일이 들어있는 폴더경로를 절대경로로 알려준다. 3. path.extname(str) console.log(path.extname(str)) .j..

javaScript/nodeJs 2022.06.18