JavaScript/Nodejs

    [NodeJS] 로그인/회원가입 구현하기 ( 회원가입편 )

    2021.05.20 - [내가 공부하는것/JavaScript] - [NodeJS] 로그인/회원가입 구현하기 (로그인편) >> 내용이 잘 보이지 않는다면 우측 하단의 달 모양을 클릭해주시기 바랍니다. { console.log(req.body) res.end() }) 이런식으로 작성을 해준다면 연동이 잘 될것이다. 만약, 여기서 오류가 난다면 mysql.createConnection() 부분에서 정보 입력에 문제가 생긴것이니 잘 확인해보도록. router.js 에서 이제 db에 값을 넣어줄것이다. 그 전에 sql 문을 어떻게 하는지 알아보자. SQL INSERT 문 입력받은 값을 db에 저장하기 위해서는 insert 문이 필요하다. 우선, 간단하게 db구성이 어떻게 되어있는지 알아보자. member Tabl..

    [Node.js] 콜백지옥 벗어나기 async / await

    ↓이전 글은 아래 링크를 통해 확인하실 수 있습니다↓ [Node.js] 콜백지옥 벗어나기 promise Nodejs의 비동기처리? Nodejs는 Non-Blocking 방식으로 서버에 요청을 보냇을 때 응답이 올때까지 기다려주지 않습니다. 요청을 보내고 바로 다른일을 하다가 응답이 오면 해당 값을 사용할 수 있게 되 webaura.tistory.com async & await async & await 은 가장 최근에 나온 비동기 처리 방식이며, 기존 방식인 Callback , Promise의 단점을 보안하고자 나온 방식입니다. async & await 어떤원리? 함수 명 앞에 async 라고 명시를 해 두면 해당 함수 안에는 await 이라는 키워드를 사용할 수 있습니다. 해당 키워드는 Promise 의..

    [Node.js] 콜백지옥 벗어나기 promise

    Nodejs의 비동기처리? Nodejs는 Non-Blocking 방식으로 서버에 요청을 보냇을 때 응답이 올때까지 기다려주지 않습니다. 요청을 보내고 바로 다른일을 하다가 응답이 오면 해당 값을 사용할 수 있게 되는것이죠. 아래 비동기의 예시를 들어보겠습니다. 예시 console.log("1"); setTimeout(() => { console.log("timeout"); } , 100); console.log("2"); 위 코드처럼 setTimeout을 넣어서 예제코드를 작성해 보았습니다. 우리가 알고있는 방식대로면 1 timout 2 이렇게 출력이 되겠지만 1 2 timeout 이렇게 출력이 됩니다. 비동기처리의 대표적인 문제사례 이 비동기 처리의 문제점에대해 대표적 예시로는 Jquery의 ajax통..

    [Node.js] 메이플스토리 api 사용하기(2) - 크롤링, SoapApi

    메이플스토리 SoapApi (2) 고객센터에서는 없다고 잡아떼더만 찾으니 나오더군요 먼저, soap api 를 사용하기 위해서 제공하는 xml코드를 분석하기로 하였습니다. 사진을 보면 위아래 두개가 있는거로 보입니다. 느낌상 위에가 값을 보낼 때 사용을 하는것이고, 아래가 데이터를 받아올 때 보여주는 값 인것으로 확인되니 위에것을 먼저 분석하였습니다. POST /soap/maplestory.asmx HTTP/1.1 Host: api.maplestory.nexon.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://gnxsoap.nexon.com/soap/GetCharacterInfoByAccountID" ..

    [Node.js] 메이플스토리 api 사용하기(1) - 크롤링, SoapApi

    토이프로젝트를 하면서 오류사항이나 막혔던점이 해결된 부분 정리해서 올리려고 합니다. 게임중에서 메이플을 주로 하고 있었습니다. 그러다 문득, 메이플에 관련된 개인 토이프로젝트를 해보자 하여 메이플의 api에 대해 고객센터에 물어보았습니다. 네 역시 메이플스토리와 관련된 자료는 홈페이지 외 별도 제공하지 않는다해서... 생각한것이 바로 홈페이지 자체를 크롤링하는것 이었습니다. axios 와 cheerio 를이용한 크롤링 axios 와 cheerio 를이용하여 크롤링을 하기로 결심했습니다. async/await을 이용한 비동기 처리를 하기로 하였습니다. const getUserInfoData = async (callBackFunc) =>{ let ulList = []; const html = await ..