본문 바로가기

두드리는 개발자 홍차/Nodejs10

Nodejs 논블로킹 - 비동기, 콜백, Promise 블로킹과 논블로킹 블로킹: Nodejs 프로세스에서 추가적인 자바스크립트 실행을 위해 자바스크립트가 아닌 작업이 완료될 때까지 기다려야 하는 상황이다. 논블로킹: 특정 로직의 실행이 끝날 때까지 기다리지 않고 나머지 코드를 먼저 실행하는 비동기 처리. 예를 들어 클라이언트에서 서버로 데이터를 요청했을 때 서버의 응답을 기다리며 다른 코드를 실행하지 않는다면 웹 애플리케이션이 실행되는 데 아주 오랜 시간이 걸리게 된다. 따라서 javascript 는 비동기 처리를 필요로 한다. 비동기의 문제점: 데이터를 요청하고 응답을 기다리지 않고 다음 코드를 실행하므로 결과가 undefined 로 나온다. 쉽게 말하면 "보노보노 너는 몇 살이니?"라고 물음을 던져놓고 대답이 돌아오기 전에 "아 그렇구나(초기값없음=un.. 2019. 12. 11.
TIL #025 Nodejs로 트윗봇 만들기 오늘 배운 것> nodejs로 sms 보내기 nodejs로 트윗봇 만들기 굿즈db 업로드, 겨울굿즈 자료조사 1. 트위터 앱 만들기 npm init npm install twitter --save //패키지 추가 var TwitterPackage = require('Twitter'); 2. 액세스키-토큰 받기 3. 트위터에 게시하기 Twitter.post "This is a sample automate Tweet" 4. 트윗 수신하기 #굿즈 #크리스마스 키워드로 수신 @netflix 로 수신. -> 방금 막 올라온 트윗일수록 빠르게 수집됨. 필터링한 키워드가 트윗이 활발할수록 빠르게 결과 수신함. 현재 활발히 올라오는 트윗은 짧은 간격으로 계속 수집 가능. 5. 트윗에 답글 달기 #GoodsBot 해시태.. 2019. 12. 7.
TIL #019 Nodejs MongoDB - SNS 백엔드의 이해1 작업 순서> 1. git clone 2. npm install -> node_modules, package.json 생성 (한 번 입력했을 때 다운되다가 에러가 몇 개 나왔다. 두 번째로 다시 입력하니까 파일들이 새로 생성되었다.) 3. "start": node app.js 가 시작명령어로 설정되어 있다. 4. 이전 백엔드 개발자가 남기고 간 설정 정보들을 이해하는데 시간이 좀 걸릴 것 같다. 서버 구동만 했는데도 굉장히 여러가지 정보와 에러들을 한번에 쏟아내고 있다. 이렇게 여러 호출정보들을 남긴 이유를 알아보고, 에러 2가지와 사용자인증 방식을 앞으로 해결해야겠다. uncaughtException 발생함 : TypeError: Cannot read property 'db_url' of undefine.. 2019. 12. 2.
TIL #018 Flutter 와 Nodejs 연동하기2 - jsonArray 오늘 배운 것> JsonObject JsonArray Json Serialization 직렬화 오늘의 에러> type 'InternalLinkedHashMap' is not a subtype of type 'List' (참고: https://medium.com/flutter-community/parsing-complex-json-in-flutter-747c46655f51) 저번에는 상품 한 개 단위로 보내는 것에 성공했고, 오늘은 상품 여러개를 백엔드쪽에서 jsonArray 형태로 보내고 플러터에서 받는 작업을 시도했다. 오늘 작업에서는 jsonObject 와 jsonArray 에 대한 이해가 필요했다. (참고: https://aljjabaegi.tistory.com/40) 1. jsonObject -기.. 2019. 12. 1.
TIL #015 프론트-백엔드 연결1 오늘 배운 것> 1. 백엔드 json 데이터 다루기 JSON.stringify(); // json 객체를 String 객체로 변환하는 메소드 JSON.parse(); // string 객체를 json 객체로 변환 res.json(product); 2. 제품 리스트 만들기 for(var i in products) { // proudcts 리스트로 받기 var productsList = {name: products[i].name, price: products[i].price}; console.log(products[i].name); // 제품명 console.log(products[i].price); // 가격 console.log("try: " + JSON.stringify(productsList)); v.. 2019. 11. 24.
TIL #010 Nodejs로 스토어만들기 (스토어 라우터) 오늘 한 일> 더보기 심화교육(마케팅) 이수 개발 회의 참여 스토어 라우터 정리 git 이슈 트래커 생성 express.Router 라우팅이란 애플리케이션 엔드포인트(URI)의 정의, 그리고 URI가 클라이언트 요청에 응답하는 방식이다. express.Router 클래스를 사용하면 모듈식 마운팅 가능한 핸들러를 작성할 수 있다. Router 인스턴스는 미들웨어로, 라우터 모듈에서 미들웨어 함수를 로드한다. (미들웨어란 구조 내에서 중간 처리를 위한 함수이다. use() 안에 들어가는 함수. 먼저 로드되는 미들웨어 함수가 먼저 실행된다. 순서가 중요!) 따라서 Router 란 라우터 단위로 request 가 발생하면 실행되거나, 특정 라우터가 실행되었을 때마다 실행되는 미들웨어이다. app.use(inde.. 2019. 11. 16.