不知不觉,一年过去,回顾2016,蓦然发现,全年度几乎在做一个项目,一个项目复杂,难度,庞大,大到我需要付出大半年的时间去学习,去开发。与其说是项目的艰巨,不如说是自己的太差,时刻面临着挑战,这种感觉用战战兢兢,一点不为过,性格使然,家风使然,我不喜欢糊涂这么个词,于是我不断的打磨,打磨到客户都觉得慢了,中间,也做了数次的妥协,但今时今日再看自己付出心血参与的项目,内心的感觉,有安心,开心,也有眼泪,更有说不出的感慨。当项目日臻成熟,跃跃上线时,我少了那份焦躁,磨练出的是镇定的看待他人反馈的任何问题。

时间,打磨一个事儿,更修炼一个人。

全年的日夜奋战,拖垮了身体的大半(.1的夸张)但但凡的付出也总是换来不菲的回报,如今再看任何的技术,所谓的牛,我也不再是以前的那般感觉,我更相信掌握技术需要的是扎实的内功,敏捷的思维,足够的勤奋,及对所做的事,影响的人乃至自己有足够多的尊重,而已。

于今年,我感谢指导我的人,支持我的人,关心我的人。

于未来的一年,我更希望平衡工作与生活,实现良性的节奏感。

阅读全文 »

HTTP是无状态协议,维持前后端的用户状态,Session是一种方案,Express下如何去做呢,看下文

  1. 安装Session中间件
    npm i express-session --save

2.Session配置开启
app.js下进行如下配置,这里直接贴出完整文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const express = require('express');
const app = express();
const conf = require('./config');
const routes = require('./routes/index');
const path = require('path');
const bodyParser = require('body-parser');
const isDeveloping = (process.env.NODE_ENV || 'development') == 'development';
const session = require("express-session");
app.enable('trust proxy'); // trust first proxy
app.use(bodyParser.json()); // for parsing application/json
const sessionConfig = {
secret: "Shh, its a secret!",
resave: false,
saveUninitialized: true
};
if (!isDeveloping) {
const RedisStore = require('connect-redis')(session);
sessionConfig.store = new RedisStore(conf.redis);
}
app.use(session(sessionConfig));
// mount the router on the app
app.use('/', routes);
//配置静态资源
app.use('/', express.static(path.join(__dirname, '/static')));

if (!isDeveloping) {
app.use('/', express.static(path.join(__dirname, 'dist')));
app.get('*', function (req, res) {
res.sendFile(__dirname + '/dist/index.html');
});
}

app.listen(conf.server.port, "127.0.0.1", function () {
console.log(`campus-server app listening on port ${conf.server.port}!`);
}
);
阅读全文 »

点击ss,选择编辑用户规则
格式如下

1
2
3
4
! Put user rules line by line in this file.
! See https://adblockplus.org/en/filter-cheatsheet
||amazonaws.com
||atom.io

保存即可。

规则大概描述如下
1
2
3
4
5
6
7
8
9
通配符支持,如 *.example.com/* 实际书写时可省略 * 如 .example.com/ 意即 *.example.com/*
正则表达式支持,以\开始和结束, 如 \[\w]+:\/\/example.com\
例外规则 @@,如 @@*.example.com/* 满足@@后规则的地址不使用代理
匹配地址开始和结尾 |,如 |http://example.com、example.com| 分别表示以 http://example.com 开始
和以 example.com 结束的地址|| 标记,如 ||example.com 则 http://example.com 、https://example.com 、ftp://example.com 等地址均满足条件,只用于匹配地址
开头
注释 ! 如 ! Comment
分隔符^,表示除了字母、数字或者 _ - . % 之外的任何字符。如 http://example.com^ ,http://example.com/ 和
http://example.com:8000/ 均满足条件,而 http://example.com.ar/ 不满足条件

搬瓦工简介
搬瓦工(BandwagonHost)是美国IT7公司旗下的一家提供便宜年付OVZ架构的VPS主机方案的服务商。
因其价格便宜、且依托的商家比较靠谱,具有较高的性价比。
https://bandwagonhost.com/

阅读全文 »

2015年已过去大半,总觉得该写些什么,想想写写,时间不能白溜走。今年感觉,技术有了很大的提升,
从改进app到独立开发app[hybrid],再到新技术探索,独立承担整个平台架构开发,之间走了很多的弯路,
碰了很多的钉子,但走过大半,真的觉得学会了好多。但是越往深学,越往广学,就越发觉得自己仍旧是个小白,
这种滋味真的是不禁让人蛋疼不已,但又需要承认,无论哪个行业不都是如此嘛。
这种傻傻的努力,让我在上半年的工作中一直处于高压,高强度的码字状态,至今日,我突然觉得能力真的有了
提高,就跟射雕英雄传里的傻靖哥哥一样,还真就会了几招功夫,所以说功夫不负有心人,这句话真对的。
当然上半年碰到的壁垒,也让我吸取了一定的教训,年轻赋予我们这些菜鸟的是冲劲儿,干劲儿,但同时也是没经验,
考虑问题狭隘。这点在做大项目,新项目的时候,让我懊悔不已,但是也是让我大幅提高的试金石。
总之,路漫漫,我还需要继续努力,想的多,想不明白,那就先别想,先把手头工作做好。


贴句特别喜欢的话,作为年中勉励之词
技术和工具永远只是实现想法的手段,工具可能会被更好的工具替代,但思考本身却需要自己不断地更新完善。

原英文仓库网址,点击这里

PM2 是一个node应用下,自带服务均衡的产品级进程管理器。使得能够保证应用一直处于运行状态,并且能够不间断的重启服务,方便管理这些系统任务。
生产模式下启动一个应用是很容易的,就像这样:
$ pm2 start app.js
PM2支持在Linux(稳定) & MacOSx (稳定) & Windows (稳定)工作.

安装PM2

$ npm install pm2 -g
npm命令是在你安装node时,自带的CLI - 通过NVM安装node

更新PM2

阅读全文 »
0%