pycharm 2018.2 debug remote docker超级慢

开始以为是app的问题,排查后发现是新版pycharm 有问题。退回2017.3

问题环境是:Flask latest版本,docker-compose运行在远端。flask在pycharm开启debug运行后会卡在第二次reloader中。

其它运行等都没有影响

对Flask 初始化过程的 profile

如果是普通的flask页面profile建议使用WSGI Application Profiler

它会自动分析每一个页面,并profile,内部也是cprofile实现。

针对初始化过程只能手动使用cProfile:

python -m cProfile -o profiling run_web.py

等到初始化完毕再进入python ide:

>>> import pstats
>>> stats = pstats.Stats(‘profiling’)
>>> stats.sort_stats(‘tim[……]

Read more

Flask Debug模式下总是初始化两遍

这个如果是在debug模式下出现一般是跟reloader特性有关系,WERKZEUG提供的这个特性主要是方便实时监测到开发中修改的文件,比重启app要快很多。但是有的时候我们希望app或者部分代码指启动一遍,可以用下面的环境变量来监测是否是第二次reload中的初始化。

if not app.debug or os.environ.get(“WERKZEUG_RUN_MAIN”) == “true”

组件初始化我们也希望初始化一遍,flask对此有一个专门的事件:

@app.before_first_request
def initialize():
print “Cal[……]

Read more

docker network 网络服务发现和内嵌的dns系统

docker-compose的启动会默认创建一个bridge类型的网络,当然它跟默认的bridge是继承关系。最近升级ide和docker后发现服务之间出现了个现象,服务能ping的通但是别名就不可以。而更改的地方就是网络模式network_mode  设置为了bridge。

原来当使用default bridge network的情况下,docker container使用宿主机的resolv.conf,当然不会解析服务名了。从1.10开始docker对自建的网络默认启用embedded dns,这个dns会自动更新新分配的服务。

docker network create my[……]

Read more

mysql docker 日志输出时区修正

docker通常修改 -v /etc/localtime:/etc/localtime就可以修改系统时间,但是mysql日志输出时间还是没变,因为它的时间默认是UTC时间,修改需要更改mysql的配置。增加启动参数:–log_timestamps=SYSTEM

完整示例:

docker run -e MYSQL_ROOT_PASSWORD=root -v /etc/localtime:/etc/localtime:ro  -d mysql:5.7 –log_timestamps=SYSTEM

wordpress 用WP-CLI解决更新慢的问题


wordpress的升级非常方便,就是不适合国情,之前多试几次总会成功的,最近老是失败,删除了几次lock后发飙了。

对了如果没有安装SSH SFTP Updater Support的话,请先装好他,wp原生的太弱,还不加密,咱升级的重要原因不就是因为漏洞太多么,还没侵入性,因为ssh肯定有啊。win OS请走开,xx空间请走开。

然后就是主角WP-CLI了,这个东西太好了,有了它就算上面的升级失败也有终极方法了,命令行终究是万能的,甩UI几条街。安装请移步:WP-CLI

 wp plugin install 插件名

 wp core updat[......]

Read more

PHP 7.1开始放弃mcrypt

PHP7安装mcrypt失败。

最近更新docker镜像发现这个问题,搜索半天居然没有解决,原来从7.1开始mcrypt就被放弃了。因为它的依赖10年前就停止更新了。好吧放弃需要他的组件即可。

绝地求生/吃鸡 攻略 保证进前十

 

此攻略完全原创,没看过他人的攻略,全凭自己的推测和经验。精力有限玩了大概二十局不到一般都进前十,照着攻略走前十没问题,越靠前的规则越重要。前十的攻略较为重要,前五要养成习惯。十条以后就是经验了。

  1. 决定生死的不是枪的好坏,而是谁先发现对方。好枪不重要,拳头都能杀人,这个游戏还原度超级高,一把手枪也可以一枪爆头。所以不要总是低头找装备,时刻先观察四周才最重要。
  2. 看过电影都知道,进到一个建筑物特战队都会先clear一遍所有房间,这是因为近距离遭遇都会致命,远距离大概率都是受伤,所以观察以近处为主,远处瞥一眼即可。远处的敌人最喜欢了,一开枪就会暴露自己,还有[……]

Read more

debian/ubuntu install 安装 ffmpeg

ffmpeg太出名了,linux上只要跟多媒体有关的多多少少都会有它的身影。最近需要用到它读取多媒体metadata,使用的库说找不到ffmpeg,apt也装不了会报错误。原来debian7开始ffmpeg被libav取代,这个东西也是从ffmpeg fork出来的,到了debian9又回到了ffmpeg,不过奇怪的是我换了stretch还是无法安装ffmpeg。老版本如果要装ffmpeg可以加入backports源,例如jessie源可以加入如下:

 
deb http://mirrors.163.com/debian/ jessie-backports main non-f[......]

Read more

阿里云OSS js SDK使用https出现ERR_SSL_PROTOCOL_ERROR错误


在HTTPS站点ajax请求的地址如果不是https那么就有ERR_SSL_PROTOCOL_ERROR错误了。

解决办法:当然是把http改为https即可

阿里云一贯loss文档的尿性,确实找不到相应的说明,甚至找到对应sdk的项目地址都难,这里贴上oss js sdk的地址,看去是淘宝ued出品:https://github.com/aliyun-UED/aliyun-sdk-js

找到后发现有n多可配置项,这里需要加secure:true 到oss对象初始化的options即可,默认是false所以请求的是http。

最后重要的事说三遍:鄙视👎阿里云、鄙视👎[……]

Read more