微信小程序 Canvas 动画踩坑——棘手的椭圆

最近正在给我的微信小程序开发一个天气预报的页面,页面的效果如下:

计划页面有两个 canvas,一个用来实时绘制上半部分的天气动画,一个用来绘制中间的气温趋势折线图。

上半部分天气动画在不同的天气下有不同的效果,比如不同强度的降雨会有相应的雨滴从上面落下,阴天多云的时候顶部会有云朵在漂浮,多云转晴的话后面再加上个太阳。

降雨的动画不难,无非就是随机生成一些雨滴对象,每一帧实时更新位置即可。

关键在云朵的动画上,我们需要生成随机宽高的椭圆形云朵,并且云朵沿着随机椭圆轨迹运动。

阅读更多

Shell 脚本控制 uWSGI 服务器的启动、停止

现在有一个 Django 应用,通过 Nginx 接受外网请求后使用 uwsgi 协议转发至内网 uWSGI 服务器,uWSGI 服务器再和 Django 应用进行通信。

为了方便管理,我决定写一个 Shell 脚本来控制 uWSGI 服务器的启动和停止。

这样以后项目中如果需要同时启动别的进程,也可以通过简单修改 Shell 脚本来实现对整个项目的一键控制。

首先把 uWSGI 服务器的各项选项参数写入到 ini 文件,并设置守护进程。

然后编写 Shell 脚本如下(dino 为项目简称):

阅读更多

Linux 添加 Git 用户,开启 SSH 的 RSA 公钥认证并关闭密码认证登陆

刚新装好的服务器,使用 CentOS 6.8 ,一堆东西需要设置。

首先是添加常用的用户,以 Git 为例:

装机自带了 Git,先 yum 更新一下:

1
yum update -y git

接下来新建一个名为 git 的用户:

1
useradd -d /home/git -m git

这里的 -d 选项指定了此用户的主目录为 /home/git , -m 选项表示如果目录不存在则新建目录。

然后就要开始对 git 用户进行一些安全相关的设置。

阅读更多