2021년 2월 9일 복기

Ji Taek Lim·2021년 2월 8일
0

NODE JS

https://www.digitalocean.com/community/tutorials/how-to-create-a-web-server-in-node-js-with-the-http-module

https://www.youtube.com/watch?v=wxbQP1LMZsw&t=265s

MODULE.EXPORT

https://www.youtube.com/watch?v=pP4kjXykbio

너무 어렵다.. 하나도 알지 못해서

youtube를 보면서 이해를 하기 시작했다

https://www.youtube.com/watch?v=TlB_eWDSMt4&t=34s

NODE

https://www.youtube.com/watch?v=TlB_eWDSMt4&t=34s

function sayHello(name) {
  console.log("Hello " + name);
}

// sayHello("Mosh");

console.log(window);

WHATTTTTT

var message = '';

console.log(global.message)

console.log(module);

Creating a module

var url = "http://mylogger.io/log";

function log(message) {
  /// Send an HTTP request
  console.log(message);
}


module.exports.log = log;
/// export할 수 있다
module.exports.endPoint = url;

Loading a module

var logger = require("./logger");

console.log(logger);

require으로 loading함 위에 module.exports

const logger = require("./logger");

logger = 1;

console.log(logger);

jshint app.js로 debugging할 수 있다.
var url = "http://mylogger.io/log";

function log(message) {
  /// Send an HTTP request
  console.log(message);
}

module.exports = log; => 바로
/// export할 수 있다
module.exports.endPoint = url;

const log = require("./logger");

log("message");

Module Wrapper Function

https://www.youtube.com/watch?v=iZ9csAfU5Os

const path = require("path");

var pathObj = path.parse(__filename);

console.log(pathObj);

{
  root: '/',
  dir: '/Users/jtlim/Desktop/codestates/myapp',
  base: 'app.js',
  ext: '.js',
  name: 'app'
}

var freeMemory = os.freemem();

console.log('Total Memory: ' + totalMemory);

/// Template string
/// ES6 / ES2015 : ECMAScript 6

console.log(`Total Memory: ${totalMemory}`)
console.log(`Total Memory: ${totalMemory}`)

Event Module

const EventEmitter = require("events");
const emitter = new EventEmitter();

// Register a listener
emitter.on("messageLogged", function () {
  console.log("Listener called");
});

// Raise an event
emitter.emit("messageLogged");
const EventEmitter = require("events");
const emitter = new EventEmitter();

// Register a listener
emitter.on("messageLogged", function (arg) {
                            (arg) => {
                              화살표 함수로 바꿔줌
  /// e, eventArg
  console.log("Listener called", arg);
});

// Raise an event
emitter.emit("messageLogged", { id: 1, url: "http://" });

Extending EventEmitter

app.js
const EventEmitter = require("events");

var url = "http://mylogger.io/log";

class Logger extends EventEmitter {
  log(message) {
    /// Send an HTTP request
    console.log(message);

    // Raise an event
    this.emit("messageLogged", { id: 1, url: "http://" });
  }
}

module.exports = Logger;

logger.js
const EventEmitter = require("events");

const Logger = require("./logger");
const logger = new Logger();

// Register a listener
logger.on("messageLogged", (arg) => {
  /// e, eventArg
  console.log("Listener called", arg);
});

logger.log("message");
=>
message
Listener called { id: 1, url: 'http://' }

HTTP Module

const http = require("http");

const server = http.createServer();

server.on("connection", (socket) => {
  console.log("New connection");
});

server.listen(3000);

console.log("Listening on port 3000.");
const http = require("http");

const server = http.createServer((req, res) => {
  if (req.url === "/") {
    res.write("Hello World");
    res.end();
  }

  if (req.url === "/api/courses") {
    res.write(JSON.stringify([1, 2, 3]));
    res.end();
  }
});

server.listen(3000);

console.log("Listening on port 3000.");

profile
임지택입니다.

0개의 댓글

관련 채용 정보