7个凡是

  • 凡是有工作,就要有目标(销售额、费用、利润)
  • 凡是有目标,就要有计划(课题、标准、时间、成果、责任人)
  • 凡是有计划,就要有执行(计划的培训、讲解、分解)
  • 凡是有执行,就要有检查(建立检查领导小组)
  • 凡是有检查,就要有结果(通报检查战报)
  • 凡是有结果,就要有责任(区分好和坏)
  • 凡是有责任,就要有奖惩(培养人才,树立正面的企业文化)

8条编程语录

用暴力解决你的疑问

– Ken Thompson, Bell Labs

暴力法也称为穷举证明法、事例证明法、案例分析证明法或完全归纳法,是一种数学证明方法,其中证明待证明的语句被划分成有限数量的情况或等价的情况集,并对每种类型的情况进行检查。看看这个命题是否成立。这是一种直接证明的方法。

避免不对称

– Andy Huber, Data General Corporation

对称是物理系统和抽象系统的一个重要特性,它可以用更精确的术语来表示,也可以用更美观的术语来表示。对称的缺失或违背,无论是预期的还是期望的,都会对系统产生重要的影响。

您越着急开始写代码,代码就会花费越长的时间

– Roy Carlson, University of Wisconsin

如果你不能用文字写出它,你也就不能用代码写出它。

– Peter Halpern, Brooklyn, New York

基于js/tornado的简单websocket通信

websocket简单介绍

因为web的基础http协议是无状态的,每个http请求都是一个socket短链接,因此只能由客户端向服务端发消息,而服务端不能主动向客户端发消息,服务器需要主动通知客户端的时候就无能为力了,因此诞生了websocket。

websocket只是一种协议,实现这种协议的服务端有很多种,今天我要聊是基于python,tornado框架的实现。->中文文档<-

websocket客户端

基于javascript的客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var ws = new WebSocket("ws://xxx.ylkb.net:8080/ws");

ws.onopen = function(evt) {
console.log("Connection open ...");
ws.send("Hello WebSockets!");
};

ws.onmessage = function(evt) {
console.log( "Received Message: " + evt.data);
ws.close();
};

ws.onclose = function(evt) {
console.log("Connection closed.");
};

常用的终端命令的代理指南

什么是网络代理?

顾名思义,网络代理就是指定网络的出口,让指定的流量走指定的代理服务器。

代理服务器分类?

常见的网络代理有:HTTP代理socks代理,vpn代理,反向代理,ftp代理,pop3代理等等

我们挑选最常见的两种协议来说:

http协议

针对http协议和https协议的代理,用来代理http协议的访问

一些搭建http代理的软件:

Swarm mode的最佳实践

docker在2017年全面支持k8s了,但是在小集群中,swarm的轻量还是有它独有的优势。

Swarm安装

swarm不需要安装了,swarm已经被内置进docker包中了,你只需要用docker swarm命令就可以了。

Swarm架构

  • 一个swarm集群有N个node
  • 每个node上有N个task
  • 一个service有N个task,分布在M个node上
  • task == container
  • service 可以动态的改变task个数,可以自动负载均衡

在Docker中使用数据映射的原则

常规的业务部署/运行流程

将一个业务部署到线上环境,通常来说会有以下几个步骤:

  1. 拷贝业务的代码包到服务器
  2. 修改配置文件(可选),有时候是通过环境变量来实现
  3. 启动进程,让业务跑起来

业务过程中会遇到的哪些文件?

  1. 代码包文件
  2. 配置文件
  3. 业务代码输出的日志文件
  4. 业务运行过程中用户数据

针对第四点有必要解释下:
比如: 用户上传的图片文件,存在网站的根目录下
比如: 数据库业务中数据文件