python
Python多进程时SQLAlchemy查询缓存引发的数据无法更新
穆琪 发表于2020-03-27 浏览1410 评论0
背景在做项目的时候,我写了两个进程,一个查数据库,增加次数后把数据放入redis另一个进程读取redis,update数据库比如:a进程取出一个数据为次数为1,把这个次数加一然后放入redisb进程取出redis,把这个次数update到数据库接着继续,a进程此时取出来的次数应该是2,但是实际情况是取出来的还是1,加一后通过b进程入到数据库导致还是为2经过搜索资料,发现这个结果跟SQLAlchemy查询缓存有关。session.query(Alarms.id, Alarms.merge
python
Ubuntu18安装M2Crypto出现错误error: command 'x86_64-linux-gnu-gcc' failed
穆琪 发表于2019-12-31 浏览412 评论0
先使用apt安装依赖库sudo apt install libssl-dev swig python3.x-dev gccx是你的python3的小版本,比如我的是python3.7-dev然后再执行pip安装M2Crypto。
数据库
mysql和postgre数据库清除表数据,并且自增列重新从1自增
穆琪 发表于2019-12-26 浏览565 评论0
在 mysql 中如果需要清空表,只需要TRUNCATE TABLE table_name;即可,如果有自增的 id 字段,也会还原回 1,但是 postgresql 与 mysql 稍有不同,postgresql 的自增字段 是通过 序列 sequence来实现的,所以在清空表的时候,还需要还原序列TRUNCATE TABLE table_name RESTART IDENTITY;
数据库
Ubuntu18/linux mint19.2通过系统apt安装mysql5.7之后修改密码
穆琪 发表于2019-12-01 浏览519 评论0
我使用的是基于linux mint19.2的系统,apt源自带的是mysql5.7安装完后却不是空密码。原来似乎在安装的时候就已经设置了默认密码。接下来就是怎么修改root密码的步骤:1.进入到etc/mysql 目录下,查看debian.cnf文件里面有个帐号和密码用这个帐号和密码登录2.修改root密码show databases;
use mysql;
update user set authentication_string=PASS
python
scrapy爬取bootcdn上面的文件【实验】
穆琪 发表于2019-11-17 浏览472 评论0
做了个小实验,去爬取https://www.bootcdn.cn/上面的jss和css文件。框架使用的是scrappy,把文件保存在本地,简单实现了一下跳过重复下载。不多说了,上代码:scrapy的spiders文件夹下的主逻辑文件:代码思路是先使用从bootcdn上的api上下载的所有库名称的文件https://api.bootcdn.cn/names.min.json然后读入一个数组,将爬取范围限定在www.bootcdn.cn下面。然后创建一个下载文件夹组装url后爬取改库页面下的所有文件
杂项
解决 Crossover 微信 输入框无法显示文字问题
穆琪 发表于2019-10-18 浏览1640 评论0
我的系统Linux mint19基于Ubuntu18.04.安装完微信后无法在输入框里面显示输入的文字,经过搜索,发现需要替换一个dll:替换 微信 容器下 c:/windows/system32/riched20.dll 文件riched20.dll.zip下载解压后替换重启微信即可。
杂项
Ubuntu/Debian/Linux mint下CrossOver安装微信“WeChatWin.dll 缺失问题”方案
穆琪 发表于2019-10-18 浏览1410 评论0
我的电脑是Linux mint19,基于Ubuntu18.04,使用的是Crossover18.安装TIM:直接搜索就可以安装好。安装微信:需要先下载安装包,然后在crossover里面手动选择。安装完显示WeChatWin.dll 缺失解决方法就是:sudo apt-get install libldap-2.4-2:i386来源于官网的解决方案:https://www.codeweavers.com/support/wiki/Diag/MissingL
python
gRPC 概念
穆琪 发表于2019-09-29 浏览466 评论0
本文档通过对于 gRPC 的架构和 RPC 生命周期的概览来介绍 gRPC 的主要概念。本文是在假设你已经读过文档部分的前提下展开的。针对具体语言细节请查看对应语言的快速开始、教程和参考文档(很快就会有完整的文档)。概览服务定义正如其他 RPC 系统,gRPC 基于如下思想:定义一个服务, 指定其可以被远程调用的方法及其参数和返回类型。gRPC 默认使用 protocol buffers 作为接口定义语言,来描述服务接口和有效载荷消息结构。如果有需要的话,可以使用其他替代方案。service&n
python
gRPC概览
穆琪 发表于2019-09-29 浏览568 评论0
开始欢迎进入 gRPC 的开发文档,gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。
本文档通过快速概述和一个简单的 Hello World 例子来向您介绍 gRPC 。你可以在本站发现更详细的教程和参考文档——文档将会越来越丰富。gRPC 是什么?在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服