first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
{
"presets": ["es2015"]
}

View File

@@ -0,0 +1,29 @@
var async = require("async");
var request = require('superagent');
var urls = [
"https://www.npmjs.com/package/async",
"https://caolan.github.io/async/",
"https://www.baidu.com/",
"https://www.tslang.cn/",
"http://www.jtthink.com/"
]
async.mapLimit(urls, 2, async function(value, key) {
const response = await fetchs(value)
return response
}, (err, results) => {
if (err) throw err
// results is now an array of the response bodies
console.log(results)
})
async function fetchs(url){
return new Promise(function(resolve,reject){
request
.get(url)
.end((err, res) => {
resolve(res.text)
});
})
}

View File

@@ -0,0 +1,22 @@
var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;
// sudo siege -c 50 http://localhost:3000
if (cluster.isMaster) {
console.log('[master] ' + "start master...");
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('listening', function (worker, address) {
console.log('[master] ' + 'listening: worker' + worker.id + ',pid:' + worker.process.pid + ', Address:' + address.address + ":" + address.port);
});
} else if (cluster.isWorker) {
console.log('[worker] ' + "start worker ..." + cluster.worker.id);
http.createServer(function (req, res) {
console.log('worker'+cluster.worker.id);
res.end('worker'+cluster.worker.id+', PID: '+process.pid);
}).listen(3000);
}

View File

@@ -0,0 +1,11 @@
var gulp = require("gulp"),
babel = require("gulp-babel"),
watch = require('gulp-watch'),
uglify = require('gulp-uglify');
gulp.task('default', function () {
return watch('src/es6.js')
.pipe(babel())
.pipe(uglify())
.pipe(gulp.dest('dist'));
});

View File

@@ -0,0 +1,48 @@
<container>
<row>
<columns small="12">
<h1>Hi, Elijah Baily</h1>
<p class="lead">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nisi impedit sapiente delectus molestias quia.</p>
<img src="http://placehold.it/548x300" alt="">
<callout class="primary">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veniam assumenda, praesentium qui vitae voluptate dolores. <a href="#">Click it!</a></p>
</callout>
<h2>Title Ipsum <small>This is a note.</small></h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nisi repellat, harum. Quas nobis id aut, aspernatur, sequi tempora laborum corporis cum debitis, ullam, dolorem dolore quisquam aperiam! Accusantium, ullam, nesciunt. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus consequuntur commodi, aut sed, quas quam optio accusantium recusandae nesciunt, architecto veritatis. Voluptatibus sunt esse dolor ipsum voluptates, assumenda quisquam.</p>
<button class="large secondary" href="#">Click Me!</button>
</columns>
</row>
<wrapper class="secondary">
<spacer size="16"></spacer>
<row>
<columns small="12" large="6">
<h5>Connect With Us:</h5>
<menu class="vertical" align="left">
<item style="text-align: left;" href="#">Twitter</item>
<item style="text-align: left;" href="#">Facebook</item>
<item style="text-align: left;" href="#">Google +</item>
</menu>
</columns>
<columns small="12" large="6">
<h5>Contact Info:</h5>
<p>Phone: 408-341-0600</p>
<p>Email: <a href="mailto:foundation@zurb.com">foundation@zurb.com</a></p>
</columns>
</row>
</wrapper>
<center>
<menu>
<item href="#">Terms</item>
<item href="#">Privacy</item>
<item href="#">Unsubscribe</item>
</menu>
</center>
</container>

View File

@@ -0,0 +1,44 @@
const nodemailer = require('nodemailer');
const fs = require('fs');
const path = require('path');
// https://segmentfault.com/a/1190000012251328
// 163 邮箱授权码 lb714500
// qq 邮箱授权码 ogmqticmpbnoeaje
let transporter = nodemailer.createTransport({
// 服务器地址
host: 'smtp.163.com',
// 使用了内置传输发送邮件 查看支持列表https://nodemailer.com/smtp/well-known/
service: '163',
// SMTP 端口
port: 465,
// 使用SSL
secureConnection: true,
auth: {
user: 'lb2271608011@163.com',
// 这里密码不是qq密码是smtp授权码
pass: 'lb714500',
}
});
let mailOptions = {
// "发件人名称" <发件人邮箱>
from: '"163邮箱给qq发邮件" <lb2271608011@163.com>',
// 接收人邮箱
to: '2271608011@qq.com',
// 邮件标题
subject: 'Hello',
// 发送text或者html格式
// text: 'Hello world?',
html: fs.createReadStream(path.resolve(__dirname, 'mail.html')) // html body
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log(info);
});

View File

@@ -0,0 +1,30 @@
{
"name": "11-16",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"s": "node-dev src/http.js && gulp watch",
"fz": "node-dev cluster.js > server.log"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"async": "^2.6.1",
"gulp": "^3.9.1",
"gulp-htmlmin": "^5.0.1",
"mysql": "^2.16.0",
"nodemailer": "^4.7.0"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"babel-preset-es2015": "^6.24.1",
"gulp-babel": "^7.0.1",
"gulp-minify": "^3.1.0",
"gulp-uglify": "^3.0.1",
"gulp-watch": "^5.0.1",
"superagent": "^4.0.0"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>关于我</h1>
</body>
</html>

View File

@@ -0,0 +1 @@
var zhangsan = () => 5+21

View File

@@ -0,0 +1,14 @@
const http = require('http');
const { render } = require('./utils');
const url = require('url');
const util = require('util');
var index = function(req, res){
//render('test',res)
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
res.end("你查询的参数是:"+(url.parse(req.url,true)).query.id)
}
// 熟悉 url 模块还有其他什么方法
http.createServer(index).listen(8080)

View File

@@ -0,0 +1,4 @@
var { demo,demo2 } = require('./utils')
demo()
demo2("nihazo")

View File

@@ -0,0 +1,11 @@
class utils {
private name: "";
constructor(name){
this.name = name;
}
public getNames(params?:string) : string {
return params+this.name;
}
}
(new utils("zhangsan")).getNames("你好")

View File

@@ -0,0 +1,28 @@
const mysql = require('mysql');
// 第一步 配置数据库连接
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'lb714500',
database : 'shop'
});
// 连接数据库
// connection.connect();
// 第二部 配置查询数据库
var sql = "INSERT INTO shop_commodity(commodity_name) VALUES('大米科技')"
var params = ['4']
pool.query(sql,params, function (error, results, fields) {
if (error) throw error;
console.log(results);
});
// 目标实现一个小说爬虫
// 1: gulp 进行文件监听使用babel转换es6代码为es5js代码压缩
// 2: mysql数据库存储爬到的数据
// 3: 使用nodejs的web框架 express(koa2) 并改造
// 4: 使用nodejs nodemailer 向我们自己发送邮件,提示小说有没有更新,到底更新几章

View File

@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h2>我是本地的html文件</h2>
</body>
</html>

View File

@@ -0,0 +1,33 @@
const fs = require('fs');
// exports.demo = function () {
// console.log("我是demo方法")
// }
// module.exports = function () {
// console.log("我是demo方法")
// }
// module.exports.demo = function () {
// console.log("我是demo方法")
// }
function render(filename,res) {
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
res.end((fs.readFileSync(`${filename}.html`)).toString())
}
function demo2() {
console.log("我是demo2方法")
}
// module.exports = {
// demo2(ddd) {
// console.log(ddd)
// },
// demo() {
// console.log("我是demo方法")
// }
// }
module.exports = { render , demo2}