可以不留卡式通行证,他们也不收。
地点:深圳市罗湖区南湖路1001号
广东省公安厅深圳出入境签证办事处
办公时间 9:00-12:00,14:00-18:00
不需要提前(网上)预约,直接带上相关材料去办理。
费用我花了240元,不包括照相、复印等。
虽然说是要7个工作日,但感觉在网上查询到“通行证已在制作过程中”时就可以去那边的机器去更新通行证了。(但我没试过)
https://www.zhihu.com/question/35598108
阅读更多 →
Centos 6,Python 2.7,阿里云ECS,
参考文章:
链接1:centos下通过gunicorn+nginx+supervisor部署Flask项目
链接2:Flask+Gunicorn+Nginx配置多个app
链接3:Virtual Hosts on nginx (CSC309)
我的需求是想在阿里云(Centos)上部署Flask的App,当然我想部署多个App在上面,另外我还会部署https。
链接1的文章写得特别好,但我需要部署https,这个是需要要nginx里配置的。我之前的部署方案也可以支持https,但据说会不稳定,方法是 Python Flask 支持 https Let’s Encrypt 。
nginx的坑。刚开始用nginx时,会发现它有很多个配置文件,网上不同的教程打开的配置文件都不一样,不同操作系统的配置文件目录也可能不同。真是非常崩溃。但后面也很好理解,它其实有一个主的配置文件,主的配置文件里可以包含其它的配置文件,这样它就把配置不同功能的配置文件分开了,比如说有专门配置ssl的配置文件ssl.conf。这样可以减少因为配置错误导致整体功能不可用的情况,单个配置文件错误的话至少只有相应的功能不可用。
其实你启动nginx后,在浏览器中进入nginx的默认页面,它就告诉你了它的配置文件在哪,Centos中是在 /etc/nginx/nginx.conf ,打开这个配置文件,你会注意到它里面有 include 这个词,这个是用于去包含其它目录下的配置文件。
配置https的证书我是在 sslforfree.com 上搞的,用的是Let’s Encrypt 的免费证书。
vi /etc/nginx/conf.d/ssl.conf
上面是我的配置。
测试时用 https://xx.example.com/test ,主要是指定证书,其它的ssl配置我都默认。我加了个ssl on 。
在做多app配置时我遇到一个问题,“ location / ”时可以,但“location /test”时不行(报404错误),解决这个办法请参考链接3。原因是nginx把 /test 这个发给Flask App,但我的Flask App里没有处理这个路由,所以报错了。
阅读更多 →
在命令行下,用vi来写代码时,按tab是8个空格,我不确定是否所有vi默认都是8个空格。我是在Mac terminal下发现有这个问题的。解决办法google “vi tab 4 spaces”一下就出来了。按ESC后输入 :set tabstop=4 后回车就可以了。
阅读更多 →
CheatSheet
https://www.mediaatelier.com/CheatSheet/
安装完后,长按command键就可以提示常用的快捷键。
我用这个软件的主要原因是我记不住Mac 的4个截屏快捷键有什么区别。
阅读更多 →
流程的优化过程:
阅读更多 →
有个小的用Flask写的Python程序需要支持https,证书用免费的Let’s Encrypt,在sslforfree.com上输入域名,获得证书。验证域名我用的是在vps上简单搭个ngnix来上传文件验证。
web server用的是Flask的werkzeug内置的server,配置ssl参考下面的链接
https://stackoverflow.com/questions/28579142/attributeerror-context-object-has-no-attribute-wrap-socket/28590266#28590266
http://werkzeug.pocoo.org/docs/0.12/serving/
只需要多加两行代码即可
sslforfree中申请后下载得到的压缩包中包含certificate.crt,private.key,ca_bundle.crt。
怎么判断是否我们的Python程序的证书是否有效呢?
可以用chrome 60版本来判断。下面链接教怎么在cheome 60中查看证书。
https://www.ghacks.net/2017/07/27/configure-google-chrome-to-display-certificates-directly/
这样就可以在chrome中访问某个get接口,
然后就可以查看证书的信息了。
阅读更多 →
我的需求是这样子,需要把局域网内电脑A的某文件夹同步到电脑B。之前看霍炬公众号上说他用syncthing来进行同步,今天就花时间试了下。
在两台电脑上分别都安装上了syncthing的Windows版,启动后会自动调用浏览器来显示界面,我这两台要同步的电脑是在同一网段下,点击添加设备时,会自动提示局域网内的设备id,是一长串的字符来表示设备id。两台电脑互相添加对方后,就可以设定一个共享文件夹了,并将该文件夹分别共享给对方。总的来说配置非常简单,自动化查找设备做得非常好,同步有时间间隔,默认每60秒扫描一次文件变动。官方的帮助文档做得很好,界面还可以设置为中文。
我当时设置B电脑的文件夹时,设置的是C电脑上的一个共享目录,不过也是可以的,也就是A电脑上的文件通过B电脑上的syncthing同步到了C电脑上的目录。
我也试过Mac设备和Windows设备同步,也是一样的,只是Mac系统需要设置一下从anywhere安装软件。
阅读更多 →
618的时候乘着降价买了个Bose QC25,1299元。
1、先说为什么要买降噪耳机。因为地铁里太噪,听Podcast时得把音量开很大,耳朵就会不舒服。而在地铁里看手机,又晃得厉害,眼睛不舒服。解决方案只有上降噪耳机了,把路上的时间尽可能利用上。
2、品牌选Bose没什么好说的了,大家都说好。为什么选Bose中的这个型号?我已经有个入耳式的耳机了(LG HBS 800),戴久了不舒服,头戴式耳机戴久了应该会比入耳式舒服一些,这样在上班的场景也可以戴。可更换的7号电池比内置充电电池应该可以用得更久,毕竟这么贵的耳机,想用得久一些。为什么不是QC35无线版,因为穷。
3、前几次戴的时候,会不舒服,应该是感觉那个“白噪音”不舒服,但开起音乐(声音)后还好。现在已经很习惯了。
4、增加了些使用场景和意外的效果。戴着它听ATP时会更专注,这样我更愿意听这个节目了,练听力。在上班时戴也不错,效率会比没戴高。煮饭时也会戴,开着抽油烟机也OK。
过马路的路口或过马路时,我就把它摘下来。
5、这款并不是完全过滤掉外围的所有声音,人声会留一些,所以地铁报站时,座位旁同事叫我时,是可以听得到的。
6、缺点:有线。同时戴着QC25和HBS-800可以解决这个问题,看应该看起来很傻。或者给QC25加个蓝牙模块,但电量应该是个问题。习惯了蓝牙耳机,不喜欢有线,有那么几次不小心扯掉了线。
阅读更多 →
在看这个代码(https://github.com/eppz/Unity.Blog.Unity_Android_plugin_tutorial)时,里面有UnityEvent的写法,一时没看懂,看了下官方文档(https://docs.unity3d.com/ScriptReference/Events.UnityEvent_1.html)才明白。
下面是官方文档给的例子:
UnityEvent一开始会让人以为是数组,但其实这里<>里应该是参数的类型,表示只能是int类型。后面用Invoke调用时的值是int型的5。
再来看一下文章一开始给的eppz的代码,用git切到2a0e46b的commit上。它的相关代码如下:
该脚本所挂载的物体的Inspector界面如下图:
这样当AlertDidFinishWithResult被调用时,UI上的Result Text显示的Text就被改变了。
阅读更多 →
环境:
Python 2.7.9 (numpy 1.12.1, pip 1.5.6, setuptools 7.0)
OpenCV 2.4.13
Windwos 10 64 bit
想要在Python中做视频和图片的合成,简单说就是给视频加个水印。
OpenCV给出的接口是有两种的,一种是旧的接口,叫cv,一种是新的接口,叫cv2。
当然是倾向用新的接口。这两种接口的写法还有点不一样。
想用旧版本的接口得这么写import cv2.cv as cv
h264编码的mp4视频在opencv中打不开,原因未知。由于不能像C++那样Debug,所以很容易出现报错的簸并不是真正有问题的代码。比如无法打开h264视频导致后面某一行代码报错。用格式工厂转成avi后可以读。
OpenCV只处理视频的内容,不处理音频的东西。读进来的视频文件直接丢弃了音频的信息。
相关代码见:https://github.com/linmq/Python-OpenCV-Tutorials
阅读更多 →