전체 글 308

노드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// localStorage를 이용한 로그인(보안ㅆㄺ)

콜백함수, 클래스 복습겸 로컬스토리지도 관심이 있어서 로그인 기능을 구현(흉내)해보았다 ㅋㅋ 로컬스토리지는 사용자의 브라우저내에서 정보를 영원히 forever저장한다 ㅋㅋ 용량도 5mb라는데 야동 1초동안 받는 용량보다 작지만 단순히 텍스트로만 넣는다면 큰 용량이다 ! 사실 관심을 가지기 시작한게 ajax없이 장바구니기능을 구현하려고 했는데 추천받은거다 암튼 로칼스토리지로 로그인구현이라니 개소린가 싶지만 그냥 써보고 싶어서 해본거니까 ㅎㅎ 당연 브라우저 관리자도구로 데이터를 볼 수 있으니 완~전 보안 쓰레기라고 볼수 있다 시작! 먼저 html파일부터 대충 만들어주자. input값을 사용해야하니 form태그로 만들고 css는 안만졌다 register new id new password -----------..

project/miniCode 2022.06.22

노드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