RGBA在Python中的合并处理

RGB三色模型一般都懂,合并时无非就是覆盖,最近搞一个头像时涉及到透明背景,透明确实更适合合并多层图来达到想要的效果。而支持透明的rgba模型就是增加了透明的alpha属性。在合并时PIL中的image对象有一个split函数可以分离rgba三个通道,将alpha作为mask参数传入past函数就可以正确合并透明的图像了。

更好的windows控制台Conemu

下载地址:https://www.fosshub.com/ConEmu.html

不用说Mac下的iTerm非常好用,更好的着色,更好的输入交互,还很养眼。最近windows下控制台越来越多了,一个带tab标签的控制台越来越需要了,找了下发现已经有很强的Conemu已经出现了,立马下载测试,其他不提,默认的字体就是大大的舒服。试了一下发现bash中无法使用上下键切换命令历史,这可不行,一搜,大把的人同样的问题,好像是新的bash for  window的输出问题,启动指令修改为(bug地址):

1
%windir%\system32\bash.exe -cur_console:p1

阿里云Opensearch Python SDK summery BUG

问题出在summery只有第一个参数field有效,其他参数都不行。应该是开发者在开发时的测试用例比较局限。

this problem was caused by incorrect Summary join in Search.py file line 202 params[‘index_name’] = ‘;’.join(self.indexes) change 2 params[‘index_name’] = ‘,’.join(self.indexes)

Docker阿里云加速器 for Mac

阿里东西在国内还算好,就是太抠门,还好docker的对手还有好几个,这不dev的加速器还是妥妥的免费的。ubuntu下用着很快,宽带确实没的说,昨天在mac上配置发现怎么搞都不行,表现是怎么都加不上镜像,阿里云的方法也好还是类似ubuntu的配置都不行。今天能翻墙了才发现官方原来是有提供专门的app的,居然可以gui配置镜像,官方doc还有详细说明如何卸载dockertools(阿里推荐安装这个,事实证明被骗了,可能以前是可以的)。

  • mac的docker最好用官方的app来管理;
  • 可以在gui中配置阿里云的加速器;

好书推荐《妇产科男医生告诉你》

科学,不枯燥,自认作为一个孩子的爸爸也不算是对产科无知了,看完满满都是收获。 强力安利,越早看越好。

Python Flask 实现搜索(阿里云 open search)

为什么选择阿里云open search?一开始是想选开源的组件,但是之前对开源的糟糕分词还是印象深刻,加之现在的vps是普通的入门版,高io也是一种担心,综合维护成本来看还是打算选别家的服务.这里首推阿里云,没办法,有中文服务的也就它了。

PY居然官方没有SDK,好在有人做了:https://github.com/aliyun-beta/aliyun-opensearch-python-sdk

添加文档成功了,在测试的时候发现example里有等待2秒的代码,很是奇怪,去掉后测试发现会有一半的结果是失败的,太可怕了,加上后就ok了。

我猜:添加的文档会自动建立索引,而索引是一件很慢的事情,面向所有人的时候是应该规定的时间长一点,可以有效的防止过载,但是2秒什么概念,我这么小的库都需要很长时间才能初始化完,如果是个高并发的站点,建立索引得多慢。因为自己没有需求暂时还没有测试出缩短到多少是可靠的,阿里居然也没有告知可以缩短到多少,这个让人很气愤,面对有恶意的攻击者这个不告知是没有意义的,而对于普通的用户像我们就会抓瞎。

Python中Datetime类型转为整数类型

Unix里的时间戳用的很广泛,很多地方都有用到,标准是一个Float类型,整数部分是秒数,小数部分是毫秒,从1970年1月1日开始计算。

返回时间戳的代码:

[python]time.mktime(dt.timetuple())[/python]

返回整数时间戳的代码:

[python]int(time.mktime(dt.timetuple()))[/python]

欠扁的墨菲定律

事情如果有变坏的可能,那么不管这种可能性有多小,它总是会发生的。

Flask Babel(开启调试) 不能识别某些文件中的翻译

问这个问题的人好多,主要babel太流行了,使用又很简单,导致大家都不太熟悉它的配置。默认配置下slient选项的值是true,就是有文件翻译不了也不会报错,更没有详细上下文。改为false后如果相应文件extract失败会有py错误提示。flask常见的就是使用了assset但是没有设置他的环境变量,在初始化时设置一下就好了。

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.