-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
36 changed files
with
710 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*/node_modules/ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<a href="https://www.w3.org/TR/html5/" target="_blank" title="html5 speicification">Hypertext Markup Language (HTML)</a> is the standard markup language for <strong>creating <u>web</u> pages</strong> and web applications.Web browsers receive HTML documents from a web server or from local storage and render them into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for the appearance of the document. | ||
</p><p style="margin-top:45px;">HTML elements are the building blocks of HTML pages. With HTML constructs, images and other objects, such as interactive forms, may be embedded into the rendered page. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags, written using angle brackets. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
-- | ||
-- Table structure for table `author` | ||
-- | ||
|
||
|
||
CREATE TABLE `author` ( | ||
`id` int(11) NOT NULL AUTO_INCREMENT, | ||
`name` varchar(20) NOT NULL, | ||
`profile` varchar(200) DEFAULT NULL, | ||
PRIMARY KEY (`id`) | ||
); | ||
|
||
-- | ||
-- Dumping data for table `author` | ||
-- | ||
|
||
INSERT INTO `author` VALUES (1,'egoing','developer'); | ||
INSERT INTO `author` VALUES (2,'duru','database administrator'); | ||
INSERT INTO `author` VALUES (3,'taeho','data scientist, developer'); | ||
|
||
-- | ||
-- Table structure for table `topic` | ||
-- | ||
|
||
CREATE TABLE `topic` ( | ||
`id` int(11) NOT NULL AUTO_INCREMENT, | ||
`title` varchar(30) NOT NULL, | ||
`description` text, | ||
`created` datetime NOT NULL, | ||
`author_id` int(11) DEFAULT NULL, | ||
PRIMARY KEY (`id`) | ||
); | ||
|
||
-- | ||
-- Dumping data for table `topic` | ||
-- | ||
|
||
INSERT INTO `topic` VALUES (1,'MySQL','MySQL is...','2018-01-01 12:10:11',1); | ||
INSERT INTO `topic` VALUES (2,'Oracle','Oracle is ...','2018-01-03 13:01:10',1); | ||
INSERT INTO `topic` VALUES (3,'SQL Server','SQL Server is ...','2018-01-20 11:01:10',2); | ||
INSERT INTO `topic` VALUES (4,'PostgreSQL','PostgreSQL is ...','2018-01-23 01:03:03',3); | ||
INSERT INTO `topic` VALUES (5,'MongoDB','MongoDB is ...','2018-01-30 12:31:03',1); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
module.exports = { | ||
HTML:function(title, list, body, control){ | ||
return ` | ||
<!doctype html> | ||
<html> | ||
<head> | ||
<title>WEB1 - ${title}</title> | ||
<meta charset="utf-8"> | ||
</head> | ||
<body> | ||
<h1><a href="/">WEB</a></h1> | ||
${list} | ||
${control} | ||
${body} | ||
</body> | ||
</html> | ||
`; | ||
},list:function(filelist){ | ||
var list = '<ul>'; | ||
var i = 0; | ||
while(i < filelist.length){ | ||
list = list + `<li><a href="/?id=${filelist[i]}">${filelist[i]}</a></li>`; | ||
i = i + 1; | ||
} | ||
list = list+'</ul>'; | ||
return list; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
var http = require('http'); | ||
var fs = require('fs'); | ||
var url = require('url'); | ||
var qs = require('querystring'); | ||
var template = require('./lib/template.js'); | ||
var path = require('path'); | ||
var sanitizeHtml = require('sanitize-html'); | ||
|
||
var app = http.createServer(function(request,response){ | ||
var _url = request.url; | ||
var queryData = url.parse(_url, true).query; | ||
var pathname = url.parse(_url, true).pathname; | ||
if(pathname === '/'){ | ||
if(queryData.id === undefined){ | ||
fs.readdir('./data', function(error, filelist){ | ||
var title = 'Welcome'; | ||
var description = 'Hello, Node.js'; | ||
var list = template.list(filelist); | ||
var html = template.HTML(title, list, | ||
`<h2>${title}</h2>${description}`, | ||
`<a href="/create">create</a>` | ||
); | ||
response.writeHead(200); | ||
response.end(html); | ||
}); | ||
} else { | ||
fs.readdir('./data', function(error, filelist){ | ||
var filteredId = path.parse(queryData.id).base; | ||
fs.readFile(`data/${filteredId}`, 'utf8', function(err, description){ | ||
var title = queryData.id; | ||
var sanitizedTitle = sanitizeHtml(title); | ||
var sanitizedDescription = sanitizeHtml(description, { | ||
allowedTags:['h1'] | ||
}); | ||
var list = template.list(filelist); | ||
var html = template.HTML(sanitizedTitle, list, | ||
`<h2>${sanitizedTitle}</h2>${sanitizedDescription}`, | ||
` <a href="/create">create</a> | ||
<a href="/update?id=${sanitizedTitle}">update</a> | ||
<form action="delete_process" method="post"> | ||
<input type="hidden" name="id" value="${sanitizedTitle}"> | ||
<input type="submit" value="delete"> | ||
</form>` | ||
); | ||
response.writeHead(200); | ||
response.end(html); | ||
}); | ||
}); | ||
} | ||
} else if(pathname === '/create'){ | ||
fs.readdir('./data', function(error, filelist){ | ||
var title = 'WEB - create'; | ||
var list = template.list(filelist); | ||
var html = template.HTML(title, list, ` | ||
<form action="/create_process" method="post"> | ||
<p><input type="text" name="title" placeholder="title"></p> | ||
<p> | ||
<textarea name="description" placeholder="description"></textarea> | ||
</p> | ||
<p> | ||
<input type="submit"> | ||
</p> | ||
</form> | ||
`, ''); | ||
response.writeHead(200); | ||
response.end(html); | ||
}); | ||
} else if(pathname === '/create_process'){ | ||
var body = ''; | ||
request.on('data', function(data){ | ||
body = body + data; | ||
}); | ||
request.on('end', function(){ | ||
var post = qs.parse(body); | ||
var title = post.title; | ||
var description = post.description; | ||
fs.writeFile(`data/${title}`, description, 'utf8', function(err){ | ||
response.writeHead(302, {Location: `/?id=${title}`}); | ||
response.end(); | ||
}) | ||
}); | ||
} else if(pathname === '/update'){ | ||
fs.readdir('./data', function(error, filelist){ | ||
var filteredId = path.parse(queryData.id).base; | ||
fs.readFile(`data/${filteredId}`, 'utf8', function(err, description){ | ||
var title = queryData.id; | ||
var list = template.list(filelist); | ||
var html = template.HTML(title, list, | ||
` | ||
<form action="/update_process" method="post"> | ||
<input type="hidden" name="id" value="${title}"> | ||
<p><input type="text" name="title" placeholder="title" value="${title}"></p> | ||
<p> | ||
<textarea name="description" placeholder="description">${description}</textarea> | ||
</p> | ||
<p> | ||
<input type="submit"> | ||
</p> | ||
</form> | ||
`, | ||
`<a href="/create">create</a> <a href="/update?id=${title}">update</a>` | ||
); | ||
response.writeHead(200); | ||
response.end(html); | ||
}); | ||
}); | ||
} else if(pathname === '/update_process'){ | ||
var body = ''; | ||
request.on('data', function(data){ | ||
body = body + data; | ||
}); | ||
request.on('end', function(){ | ||
var post = qs.parse(body); | ||
var id = post.id; | ||
var title = post.title; | ||
var description = post.description; | ||
fs.rename(`data/${id}`, `data/${title}`, function(error){ | ||
fs.writeFile(`data/${title}`, description, 'utf8', function(err){ | ||
response.writeHead(302, {Location: `/?id=${title}`}); | ||
response.end(); | ||
}) | ||
}); | ||
}); | ||
} else if(pathname === '/delete_process'){ | ||
var body = ''; | ||
request.on('data', function(data){ | ||
body = body + data; | ||
}); | ||
request.on('end', function(){ | ||
var post = qs.parse(body); | ||
var id = post.id; | ||
var filteredId = path.parse(id).base; | ||
fs.unlink(`data/${filteredId}`, function(error){ | ||
response.writeHead(302, {Location: `/`}); | ||
response.end(); | ||
}) | ||
}); | ||
} else { | ||
response.writeHead(404); | ||
response.end('Not found'); | ||
} | ||
}); | ||
app.listen(3000); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
var fs = require('fs'); | ||
fs.readFile('sample.txt', 'utf8', function(err, data){ | ||
console.log(data); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
var M = { | ||
v:'v', | ||
f:function(){ | ||
console.log(this.v); | ||
} | ||
} | ||
|
||
module.exports = M; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
// var M = { | ||
// v:'v', | ||
// f:function(){ | ||
// console.log(this.v); | ||
// } | ||
// } | ||
|
||
var part = require('./mpart.js'); | ||
part.f(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
var testFolder = './data'; | ||
var fs = require('fs'); | ||
|
||
fs.readdir(testFolder, function(error, filelist){ | ||
console.log(filelist); | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum |
Oops, something went wrong.