作者文章归档:liangliangyy

申请Let's Encrypt通配符证书


Let's Encrypt终于支持通配符证书了,也就是说你只需要为你的网站申请*.example.com这样一个证书,所有的子域名都可以支持,下面介绍下申请方法:
首先需要获取acme.sh curl https://get.acme.sh | sh

acme.sh支持自动配置DNS,这样需要在域名控制后台获取AppKey和AppSecret.常见的阿里,Dnspod等都支持,这里有更详细的介绍:传送门 下面以Dnspod为例,首先获取AppKey和AppSecret 传送门.然后执行如下命令:

替换成从Dnspod后台获取的密钥

export DP_Id="DP...

Read more

网站搬家小记


前段时间阿里云做活动,300多就可以买到3年的服务器,果断注册一个新用户入坑,选的地区是在上海,平均延迟就几十毫秒的样子,比以前在linode的服务器爽的多了。远程登录也没有很强的延迟感 最近开始研究了下Docker,可以很方便的集成各种开发环境,于是用Docker重新部署了下服务器,现在运行所依赖的Mysql,Memcache,Python环境等等都使用Docker跑了起来,而且可以本地写好配置文件,服务器重新build,本地和服务器可以无缝切换,这种感觉真的太爽了。 Docker的主要配置在: https://github.com/liangliangyy/docker_config...

Read more

Asp.Net 中的异步死锁


首先大概介绍下async和await这两个关键字。 在.Net 4.5中,微软为了方便异步编程提供了async和await这两个关键字,使用他们,可以使我们很方便的实现自己的异步代码,而不用太去关心其内部原理。那么他们的主要作用使什么呢? async关键字加在方法的声明上,他的主要目的使为了使方法内部的await关键字生效。而方法的返回值也一般是Task或者Task<T>类型。这些Task类型一般相当于是future,用来在异步方法结束时通知主程序。如下面示例代码: public async Task DoSomethingAsync() { int val = 1;...

Read more

使用树莓派和OpenCV 实现家庭监控和移动目标探测


本篇文章主要是分享使用opencv和树莓派实现的移动目标探测,所以需要有opencv环境,另外你的电脑必须有摄像头支持。 具体参考自伯乐在线的 这篇文章 具体内容大家可以参考下原文,我在其基础上大概修改了下,下面是代码: import datetime import time import cv2 import logging import imutils import os

lastSaveTime = datetime.datetime.now() motionCounter = 0 path = os.path.split(os.path.realpath(file))[...

Read more

mysql修改root密码或者host后无法登陆解决办法


今天在树莓派上安装了mysql之后,发现无论输入密码是否正确,都会报错误: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

在网上找了好久的解决办法,终于成功了,过程如下: 首先将my.ini中在[mysqld]节点上加 skip-grant-tables //主要作用是:跳过表中的验证,可以无密码登陆。

保存并重启mysql 然后直接终端使用mysql命令登录之后查询plugin字段值:
mysql> use mysq...

Read more

Django 2.0升级小记


备受期待的django 2.0已经发布了,最大的一个变化就是不再支持python2.x版本了,另外还有在使用方面有了一些变化,下面就介绍下我在升级的时候遇到的错误。

from django.core.urlresolvers import reverse

变成了 from django.urls import reverse

settings.py文件,MIDDLEWARE_CLASSES更改成了MIDDLEWARE。

django.shortcuts.render_to_response()方法已经被弃用了,现在使用django.shortcuts.ren...

Read more