0%

Mosca 是 mqtt 协议 js 实现的一个包。

Mosca的作用:

  1. 与客户端建立长连接
  2. 作为代理服务器
  3. 根据发布订阅这模式,响应功能
    阅读全文 »

pm2学习笔记

pm2 有一个很好看的 web 管理应用

keymetrics
安装了 pm2以后,到这个网站上注册账号,并用他给的 pm2 link xxx xxxx就把当前电脑的pm2管理的进程情况输出到这个网站上了

基本指令

npm install pm2 -g : 全局安装。 --watch 是监控项目的所有文件,一旦有改变就重启服务器,像nodemon 一样

阅读全文 »

JavaScript 变量驼峰命名转下划线命名的一个方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* @function 驼峰命名转下划线
* @param arg 变量名
*/
const camelToSnake = (arg) => {
return arg.replace(/([A-Z])/g, '_$1').toLowerCase()
},
const objCamelToSnake = (obj) => {
let newObj = {}
let keys = Object.keys(obj)
keys.forEach(keyItem => {
newObj[this.camelToSnake(keyItem)] = obj[keyItem]
})
return newObj
}

console对象的各种方法介绍

1.console.assert()方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//示例代码  
//声明一个名为People的构造函数
function People(name,age,performance){
this.name = name;
this.age = age;
this.performance = performance;
}
//引用上面的构造函数People,声明变量people
var people =new People("john",20,[80,90,99]);
//调用console.assert()方法
console.assert( people.performance.length == 3, "长度不准确");

//说明
//上面在调用console.assert()的意思是:
//如果people.performance.length == 3返回的结果是true,
//就不输出"长度不准确";
//如果people.performance.length == 3返回的结果是false,
//就输出"长度不准确";
阅读全文 »

一、创建实例

  1. 在左侧的菜单中找到 计算引擎 – VM 实例
  2. 通过 创建实例 或者单击加号来创建一个虚拟机。
  • 名字:随意
  • 地区: 建议asia-east1-c(台湾)
  • 机器类型:建议微型或者小型(看用户量)
  • 启动磁盘单击更改 – Ubuntu 16.04 LTS
  • 防火墙:允许HTTP流量,允许HTTPS流量

二、初步配置

  1. 左侧导航 – 计算 – 网络

  2. 外部IP地址 – 选择一个ip – 类型调整为静态

  3. 防火墙规则 – 创建防火墙规则(未提及的全部默认):流量方向入站、来源ip地址0.0.0.0/0、协议和端口全部允许

  4. 防火墙规则 – 创建防火墙规则(未提及的全部默认):流量方向出站、来源ip地址0.0.0.0/0、协议和端口全部允许(注意要创建两次防火墙规则,一次出站,一次入站)

    阅读全文 »

  • /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
  • /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
  • ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
  • ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
  • ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.
    阅读全文 »

编程环境

  • brew
  • nvm
  • node
  • npm
  1. 首先安装Homebrew。brew是一个通过命令行安装各种软件的程序。
1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

设置 brew 中科大源

阅读全文 »

一:分页需求:

客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道mysql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的需求不一样,所以就需要我们根据实际情况去改写适合我们自己的分页语句,具体的分析如下:
比如:
查询第1条到第10条的数据的sql是:select * from table limit 0,10;

对应我们的需求就是查询第一页的数据:select * from table limit (1-1)*10,10;

查询第10条到第20条的数据的sql是:select * from table limit 10,20;

对应我们的需求就是查询第二页的数据:select * from table limit (2-1)*10,10;

查询第20条到第30条的数据的sql是:select * from table limit 20,30;

对应我们的需求就是查询第三页的数据:select * from table limit (3-1)*10,10;

二:通过上面的分析,可以得出符合我们自己需求的分页sql格式是:

select * from table limit (start-1)*limit,limit; 其中start是页码,limit是每页显示的条数。

MySQL断线重连

分别模拟3种错误

登陆密码错误
数据库宕机
数据库连接超时
新增文件:app-reconnect.js

阅读全文 »