From 080736e653de03477e42ada5c1eb022cedfb8510 Mon Sep 17 00:00:00 2001 From: KenYA Date: Fri, 1 Jul 2016 13:07:14 +0800 Subject: [PATCH 01/10] README file. --- KenYA/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 KenYA/README.md diff --git a/KenYA/README.md b/KenYA/README.md new file mode 100644 index 0000000..c0184cd --- /dev/null +++ b/KenYA/README.md @@ -0,0 +1,7 @@ +#KenYA +#Node.js Practice List + +##Practice 01 +Say Hello to Terminal. + +##Practice 02 From 12e8294cd77c596af58da91a3675aafa51e857d3 Mon Sep 17 00:00:00 2001 From: KenYA Date: Fri, 1 Jul 2016 13:08:34 +0800 Subject: [PATCH 02/10] Practice 01, Say Hello --- KenYA/p01.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 KenYA/p01.js diff --git a/KenYA/p01.js b/KenYA/p01.js new file mode 100644 index 0000000..d8a58d9 --- /dev/null +++ b/KenYA/p01.js @@ -0,0 +1 @@ +console.log("Hello kitty."); From 6554f5c5a9354ac8cbcb2a8539525bfd17355b35 Mon Sep 17 00:00:00 2001 From: KenYA Date: Fri, 1 Jul 2016 13:11:08 +0800 Subject: [PATCH 03/10] add comment --- KenYA/p01.js | 1 + 1 file changed, 1 insertion(+) diff --git a/KenYA/p01.js b/KenYA/p01.js index d8a58d9..d3ad41c 100644 --- a/KenYA/p01.js +++ b/KenYA/p01.js @@ -1 +1,2 @@ +// Terminal stdout hello. console.log("Hello kitty."); From 6f8e691a3b7d0825eae9d6bc9ea870d45f93d4ae Mon Sep 17 00:00:00 2001 From: KenYA Date: Fri, 1 Jul 2016 16:00:23 +0800 Subject: [PATCH 04/10] simple http server --- KenYA/p02_http_Server.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 KenYA/p02_http_Server.js diff --git a/KenYA/p02_http_Server.js b/KenYA/p02_http_Server.js new file mode 100644 index 0000000..314d57c --- /dev/null +++ b/KenYA/p02_http_Server.js @@ -0,0 +1,16 @@ +var http = require('http'); +//var url = require('url'); + +var server = http.createServer(function(request , response){ + if(request.url === "/"){ + response.writeHead(200,{"Content-Type":"text\plain"}); + response.end("Hello, I'm home page"); + } + else{ + response.writeHead(404,{"Content-Type":"text\plain"}); + response.end("404 error, Page not found."); + } +}); + +server.listen(8080,'localhost'); +console.log('Server running at http://localhost:8080'); From d70f01d076a8951c81c368cee401060fff31433b Mon Sep 17 00:00:00 2001 From: KenYA Date: Fri, 1 Jul 2016 16:56:36 +0800 Subject: [PATCH 05/10] http server by function callback --- KenYA/p03_http_server2.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 KenYA/p03_http_server2.js diff --git a/KenYA/p03_http_server2.js b/KenYA/p03_http_server2.js new file mode 100644 index 0000000..09aa028 --- /dev/null +++ b/KenYA/p03_http_server2.js @@ -0,0 +1,17 @@ +var http = require('http'); + +function onRequest(request, response){ + if(request.url === '/'){ + response.writeHead(200, {"Content-Type":"text/plain"}); + response.end("Welcome to the Hell. ^_^)y"); + } + else{ + response.writeHead(404, {"Content-Type":"text/plain"}); + response.end("Orz\n404 error!"); + } +} + +var server = http.createServer(onRequest); + +server.listen(5566,"localhost"); +console.log("Server running at http://localhost:5566"); From d38579399172dbe69ef96080bf36d292cb69b700 Mon Sep 17 00:00:00 2001 From: KenYA Date: Mon, 4 Jul 2016 15:26:07 +0800 Subject: [PATCH 06/10] Server module --- KenYA/p04_module/index.js | 3 +++ KenYA/p04_module/server.js | 14 ++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 KenYA/p04_module/index.js create mode 100644 KenYA/p04_module/server.js diff --git a/KenYA/p04_module/index.js b/KenYA/p04_module/index.js new file mode 100644 index 0000000..caa46f6 --- /dev/null +++ b/KenYA/p04_module/index.js @@ -0,0 +1,3 @@ +var server = require("./server.js"); + +server.start(); diff --git a/KenYA/p04_module/server.js b/KenYA/p04_module/server.js new file mode 100644 index 0000000..fa71cfa --- /dev/null +++ b/KenYA/p04_module/server.js @@ -0,0 +1,14 @@ +var http = require('http'); + +function start(){ + function onRequest(request, response){ + console.log("In comes a method: " + request.method + " to path:" + request.url); + response.writeHead(200,{"Content-Type":"text/plain"}); + response.end("Hello Kitty."); + } + + http.createServer(onRequest).listen(5566); + console.log("Server running at http://localhost:5566") +} + +exports.start = start; From eb3fcb17b84d42efde74ce3cc58a737cdc2f1e7b Mon Sep 17 00:00:00 2001 From: KenYA Date: Tue, 5 Jul 2016 13:33:16 +0800 Subject: [PATCH 07/10] using url show the pathname --- KenYA/p05_url/index.js | 3 +++ KenYA/p05_url/server.js | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 KenYA/p05_url/index.js create mode 100644 KenYA/p05_url/server.js diff --git a/KenYA/p05_url/index.js b/KenYA/p05_url/index.js new file mode 100644 index 0000000..caa46f6 --- /dev/null +++ b/KenYA/p05_url/index.js @@ -0,0 +1,3 @@ +var server = require("./server.js"); + +server.start(); diff --git a/KenYA/p05_url/server.js b/KenYA/p05_url/server.js new file mode 100644 index 0000000..a5f6e5c --- /dev/null +++ b/KenYA/p05_url/server.js @@ -0,0 +1,16 @@ +var http = require('http'); +var url = require('url'); + +function start(){ + function onRequest(request, response){ + var pathname = url.parse(request.url).pathname; + console.log("Request for " + pathname + " received."); + response.writeHead(200,{"Content-Type":"text/plain"}); + response.end("Hello Piggy (^OO^)"); + } + + http.createServer(onRequest).listen(5566); + console.log("Server running at http://localhost:5566"); +} + +exports.start = start(); From 9ef6fdcc9319c9837bcaf427cd14f11738c8503f Mon Sep 17 00:00:00 2001 From: KenYA Date: Tue, 5 Jul 2016 13:33:45 +0800 Subject: [PATCH 08/10] by pathname handle request. --- KenYA/p06_route/index.js | 4 ++++ KenYA/p06_route/route.js | 5 +++++ KenYA/p06_route/server.js | 19 +++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 KenYA/p06_route/index.js create mode 100644 KenYA/p06_route/route.js create mode 100644 KenYA/p06_route/server.js diff --git a/KenYA/p06_route/index.js b/KenYA/p06_route/index.js new file mode 100644 index 0000000..5a74159 --- /dev/null +++ b/KenYA/p06_route/index.js @@ -0,0 +1,4 @@ +var server = require("./server.js"); +var router = require("./route.js"); + +server.start(router.route); diff --git a/KenYA/p06_route/route.js b/KenYA/p06_route/route.js new file mode 100644 index 0000000..9d1744f --- /dev/null +++ b/KenYA/p06_route/route.js @@ -0,0 +1,5 @@ +function route(pathname){ + console.log("About to route a request for " + pathname); +} + +exports.route = route; diff --git a/KenYA/p06_route/server.js b/KenYA/p06_route/server.js new file mode 100644 index 0000000..2c22b03 --- /dev/null +++ b/KenYA/p06_route/server.js @@ -0,0 +1,19 @@ +var http = require('http'); +var url = require('url'); + +function start(route){ + function onRequest(request, response){ + var pathname = url.parse(request.url).pathname; + console.log("Request for " + pathname + " received."); + + route(pathname); + + response.writeHead(200,{"Content-Type":"text/plain"}); + response.end("Hello Piggy (^OO^)"); + } + + http.createServer(onRequest).listen(5566); + console.log("Server running at http://localhost:5566"); +} + +exports.start = start; From 05f0a5e0ac8b48fff045447d4dc55deede45b2eb Mon Sep 17 00:00:00 2001 From: KenYA Date: Thu, 7 Jul 2016 17:54:05 +0800 Subject: [PATCH 09/10] ignore file --- KenYA/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 KenYA/.gitignore diff --git a/KenYA/.gitignore b/KenYA/.gitignore new file mode 100644 index 0000000..a1ab09c --- /dev/null +++ b/KenYA/.gitignore @@ -0,0 +1 @@ +async.await/node_modules/ From 17e13e2a871f0bd36956430c66fb4f54b3ed17e6 Mon Sep 17 00:00:00 2001 From: KenYA Date: Thu, 7 Jul 2016 17:55:08 +0800 Subject: [PATCH 10/10] Test async await --- KenYA/async.await/async_await.js | 21 +++++++++++++++++++++ KenYA/async.await/no_async_await.js | 15 +++++++++++++++ KenYA/async.await/package.json | 7 +++++++ 3 files changed, 43 insertions(+) create mode 100644 KenYA/async.await/async_await.js create mode 100644 KenYA/async.await/no_async_await.js create mode 100644 KenYA/async.await/package.json diff --git a/KenYA/async.await/async_await.js b/KenYA/async.await/async_await.js new file mode 100644 index 0000000..c81cae6 --- /dev/null +++ b/KenYA/async.await/async_await.js @@ -0,0 +1,21 @@ +var async = require('asyncawait/async'); +var await = require('asyncawait/await'); + +//async , 建立一個需要花費三秒的工作 +const sayHi = async( function(){ + return new Promise(function(resolve, reject){ + setTimeout(function(){ + //經由 resolve 回傳字串 + resolve("Hello, How are you today."); + },3000); + }); +}); + +const test = async( function(){ + //await 會等 sayHi 執行完成,才執行console.log + let message = await( sayHi() ); + console.log(message); +}); + +//console.log 為預期的結果 +test(); diff --git a/KenYA/async.await/no_async_await.js b/KenYA/async.await/no_async_await.js new file mode 100644 index 0000000..c9cf7ae --- /dev/null +++ b/KenYA/async.await/no_async_await.js @@ -0,0 +1,15 @@ +const sayHi = function(){ + //假設工作需要花費三秒,完成後會回傳字串 + setTimeout(function(){ + return "Hello, How are you today.."; + },3000); +} + +const test = function(){ + //呼叫 sayHi 回傳值給 message 並且輸出 + let message = sayHi(); + console.log(message); +} + +//但會發現 console.log結果是 "undefined" +test(); diff --git a/KenYA/async.await/package.json b/KenYA/async.await/package.json new file mode 100644 index 0000000..aab9901 --- /dev/null +++ b/KenYA/async.await/package.json @@ -0,0 +1,7 @@ +{ + "name": "async_await", + "version": "1.0.0", + "dependencies": { + "asyncawait": "^1.0.6" + } +}