肉饼博客

Talk is cheap. Show me the code.

0%

一、Morgan

1.使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const morgan = require("morgan");
const Logger = require("../models/logger");

const stream = {
write: (message) => Logger.http(message),
};

const morganMiddleware = morgan(
":method :url :status :res[content-length] - :response-time ms",
{ stream }
);

module.exports = morganMiddleware;

// 使用中间件
app.use(morganMiddleware);
阅读全文 »

一、命令

1.设置开机启动

1
pm2 startup

2.关闭开机启动

1
pm2 unstartup systemd
阅读全文 »

安装与启动

1.安装:
首先保证电脑上有brew然后使用下面的命令安装即可

1
brew install redis

2.启动redis服务

1
brew services start redis

3.关闭redis服务

1
brew services stop redis

4.重启redis服务

1
brew services restart redis

5.打开图形化界面

1
redis-cli

6.开机启动redis命令

1
ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

7.使用配置文件启动redis-server

1
2
3
redis-server /opt/homebrew/etc/redis.conf
# or
redis-server /usr/local/etc/redis.conf

8.停止redis服务

1
redis-cli shutdown

9.redis配置文件位置

1
/usr/local/etc/redis.conf

10.卸载redis

1
brew uninstall redis rm ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

11.允许远程访问:
默认情况下 redis不允许远程访问,只允许本机访问

#注:在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错,需要把protected-mode yes改为protected-mode no

1
2
vim /usr/local/etc/redis.conf
#bind 127.0.0.1 注释bind

一、全局命令

1.列出所有键(大量键时,生产禁止使用):keys *

2.查询有多少个键:dbsize

3.是否存在某个键(0否1是):exists [key]

4.删除一个/多个键,返回成功删除的键的个数:del [key/keys]

5.为键设置过期时间(不存在返回0):expire [key] seconds

6.查询键的过期时间:ttl [key]

阅读全文 »

一、Mac下安装与运行

方式一:使用Homebrew安装(参考)

1
2
3
4
5
6
brew tap mongodb/brew
brew update
brew install [email protected]

mongod --config /opt/homebrew/etc/mongod.conf #直接启动
brew services start mongodb/brew/mongodb-community #作为服务自动启动

方式二:手动下载安装

1.下载

官方下载, 解压下载的文件,无需安装,直接拷贝到 /usr/local 目录,然后重命名为 mongodb

2.设置PATH

如果要使用 MongoDB 的命令行,需要添加一个环境变量,找到 .zshrc 文件,添加以下代码:

1
export PATH=/usr/local/mongodb/bin:$PATH

生效:

1
source ~/.zshrc
阅读全文 »

1.替换字符串

1
grep --exclude=lang.json -rl "原文字" ./ | xargs gsed -i "s/原文字/新文字/g"

示例:

1
2
3
4
5
6
exec(
`grep --exclude=lang.json -rl "t('${key}'" ./ | xargs gsed -i "s/t('${key}'/t('${value[0]}'/g"`,
{
cwd: path.join(process.cwd(), DEST),
}
);
阅读全文 »

一、Cookie

1.作用

用于在连接时证明客户端的身份

2.设置

服务端Set-Cookie方式、客户端document.cookie

阅读全文 »

一、一元判断,存到Map里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const actions = new Map([
[1, ['processing','IndexPage']],
[2, ['fail','FailPage']],
[3, ['fail','FailPage']],
[4, ['success','SuccessPage']],
[5, ['cancel','CancelPage']],
['default', ['other','Index']]
])
/**
* 按钮点击事件
* @param {number} status 活动状态:1 开团进行中 2 开团失败 3 商品售罄 4 开团成功 5 系统取消
*/
const onButtonClick = (status)=>{
let action = actions.get(status) || actions.get('default')
sendLog(action[0])
jumpTo(action[1])
}
阅读全文 »

一、功能

  • 语法转换:将ES6版本的代码转为ES5等向后兼容的JS代码,从而可以运行在低版本浏览器或其它环境中
  • 补齐API:通过 Polyfill 的方式在目标环境中添加缺失的特性
    阅读全文 »