1 | div{ |
converter突然连接不上rabbitMQ ?
安装rabbitMQ后,以服务的方式启动(开机启动),某些时候回出现converter连接不上的问题
先在 windows-任务管理器-服务 中停用 RabbitMQ,以服务器的方式启动
"c:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.4\sbin\rabbitmq-server.bat" start
如果这种方式可以正常转换模型,那么你遇到了和作者相同的问题
$.ajax 中boolean变成string
1 | var url = 'http://www.test.com/api/test' |
1 | //express 服务器接收到的参数 |
产生原因是,httpRequest header中 默认是 contentType = application/x-www-form-urlencoded, 如果相传boolean 应该改为 json
1 | $.ajax({ |
前端表单
表单
#jquery select input:radio input:checkbox
1 取得下拉选单select的选取值
$(‘#testSelect option:selected’).text();
或$(“#testSelect”).find(‘option:selected’).text();
或$(“#testSelect”).val();
2 取得input type=”radio”值 (一类radio的名字必须是相同的)
男
女
$(‘input[name=”testradio”]:checked’).val();
或$(‘input:radio:checked’).val();
jQuery选择器
1 | jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 |
JSON
JSON.parse()和JSON.stringify()使用介绍
parse用于从一个字符串中解析出json对象,如1
2
3
4
5
6
7
8var str = '{"name":"alanliu","age":"23"}'
JSON.parse(str)
/*
{
age: "23"
name: "huangxiaojian"
}
*/
注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
stringify()用于从一个对象解析出字符串,如
1 | var a = {a:1,b:2} |
nodejs file system
fs
创建文件夹
1 | const fs = require('fs'); |
删除文件夹
1 | const fs = require('fs'); |
创建文件,删除文件
const buffer = Buffer.alloc(1024 * 1024);
fs.writeFileSync(‘file_1M’, buffer);
fs.unlinkSync(‘file_1M’)
只读日志文件
1 | const fs = require('fs'); |
bootbox
1 | var confirmBox = function() { |
1 | bootbox.dialog({ |
linux定时任务
工具和命令
- ubuntu OS
- cron, crontab
一个简单的定时任务
1 开启日志记录1
2
3
4sudo vim /etc/rsyslog.d/50-default.conf
# remove the '#' before cron.*
# save 50-default.conf
sudo service rsyslog restart
2 日志文件测试1
crontab -e
1 | # this task will be done once per minute |
3 查看日志文件1
2
3
4# we openned the cron log
cat /var/log/cron.log
# we log the echo to this file
cat /tmp/test.txt
4 删除这条定时任务1
2crontab -e
# delete the command line
一个复杂的定时任务 auto renew https certs
1 开启日志记录1
2
3
4sudo vim /etc/rsyslog.d/50-default.conf
# remove the '#' before cron.*
# save 50-default.conf
sudo service rsyslog restart
2 准备shell 脚本
尽量使用绝对路径, 不知道命令的路径可以使用which 查看, 比如: which node, which pm21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#/home/ubuntu/shell/renew.sh
echo "===================== stop https server ..."
/home/ubuntu/.nvm/versions/node/v8.9.1/bin/pm2 delete all
echo "@@@@@@@ stop nginx ..."
sudo service nginx stop
echo "renew ..."
# Be careful with this line, you can only generate 7 certs per week using letsencript
# You can comment this line or remove '--force-renewal' when you test
sudo certbot renew --force-renewal
echo "@@@@@@@ restart nginx ..."
sudo service nginx restart
echo "@@@@@@@ start https server ..."
NODE_ENV=cnProduction /home/ubuntu/.nvm/versions/node/v8.9.1/bin/pm2 start /home/ubuntu/MODELO_backend/server.js
echo "===================== renew finished"
3 添加定时任务1
crontab -e
1 | # this task will be done at 1st 01:01 in month 2,4,6,8,10,12 |
4 查看日志1
2cat /var/log/cron.log
cat /tmp/test.txt
常见错误
/usr/bin/env:node No such file or directory
非常大可能是 环境变量不对
我遇到的是使用pm2 时node路径不对,找不到node1
2
3ln -s /usr/bin/nodejs /usr/bin/node
# ln -s _your_node_path /usr/bin/node
# ln -s /usr/local/bin/nodejs /usr/bin/node
ref https://github.com/nodejs/node-v0.x-archive/issues/3911
No MTA installed, discarding output
没有邮件服务器,放弃日志
通常在每个命令末尾加上>> /tmp/test.txt 2>&1
将日志输出到文件
XXXXXXX not found
such as pm2: not found
something like No such file or directory
we can use the absolute path
1 | # wrong |
ajax request
1 | <script type="text/javascript"> |