python
Iamduyabo
这个作者很懒,什么都没留下…
展开
-
微服务自我总结
垂直拆分是根据业务耦合程度,分别把数据放到不同业务边界对应的数据库中,不同的业务代码也根据业务拆分到对应的项目中。由于每个业务服务需要其他数据,就需要链接所有的数据库。如果开发者严格按照业务划分进行职责划分和代码维护,本地调用也是可以继续使用的。而且微服务的其他优点,都是有替代方案的。与垂直拆分的区别是,每个微服务只链接一个数据库,如果需要其他数据需要使用远程调用。当数据库qps成为性能瓶颈时,就需要数据库垂直拆分了。当业务复杂度成为开发瓶颈时,就需要服务垂直拆分了。所有代码全在一个项目里。...原创 2022-07-28 20:34:02 · 503 阅读 · 0 评论 -
sign in with apple
sign in with apple原创 2022-06-23 20:52:03 · 274 阅读 · 2 评论 -
再谈接口安全
# 结合 redis 实现一人一密的接口安全认证方案。加密方案使用jwt,但是实际落地不仅限于 jwt(md5等均可),jwt 方便之处是可以自带并自检 exp。# 可以防止撞库,撞对一个的概率是1/(52**32)。如果有撞库现象,可以对 ip 进行频次监控。# 不怕密钥泄漏,密钥不会传输,不怕被抓取。如果用户主动伪造攻击,可以对 uid 进行频次监控。# 不怕加密算法泄漏,因为一人一密。# 可以防止重放攻击。原创 2022-05-28 16:18:48 · 103 阅读 · 0 评论 -
python实现一个耗时分析工具
手写一个性能监控模块,类似于line_profiler提供的功能。原创 2022-05-28 15:37:04 · 310 阅读 · 0 评论 -
python 开任意数的平方
1,介绍开平方有好几种方法,本文无意调研这个事情。只是初中有个老师曾经用粉笔,教给我们手撕任意数开平方的方法,自己回忆起来整理用python实现一下。2,code#! /usr/bin/env python# -*- coding: utf-8 -*- # 开平方import timeclass NumberNode(object): def __init__(self, num): self.num = num self.square_re原创 2022-05-28 14:49:00 · 1098 阅读 · 0 评论 -
python编码问题
py文件首行(或次行)的# encoding:xxx,并不会影响文件存储的编码。一切都是pycharm带来的误解。step1: pycharm coding使用utf8step2:使用vim打开step3: vim中修改coding为gbk,并保存step4: pycharm再次打开,gbk解析显示出来,‘测试’变成了‘娴嬭瘯’step5:查到‘测试’俩字的utf8编码step6:gbk下的‘娴嬭瘯’其实就是utf8下的‘测试’step7:...原创 2020-07-04 14:56:21 · 941 阅读 · 1 评论