自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 资源 (3)
  • 收藏
  • 关注

原创 Vscode | Python | launch.json配置gevent多进程断点失效问题处理

Vscode | Python | launch.json配置gevent多进程断点失效问题处理。

2024-04-18 16:39:36 79

原创 MacOS | Cherry | MacOS使用Cherry键盘如何切换F1-F12的功能键

组合键失效,如果发现失效请。注意,这样可能会导致。

2024-04-11 16:51:14 68

原创 Odoo | Module | 统计系统周期使用人数/当前在线人数

Odoo | Module | 统计系统在线人数.Odoo作为开源ERP系统的No.01,近年愈发的得到国内很多公司的关注。虽然它的定位是中小型企业的ERP管理系统,但是在几年的Odoo开发实施过程中,上线过不足50人的小型企业,也部署过上万人的中大型企业。功能快速落地和高度个性化扩展是它的核心特性,使用其他框架开发一个完整的页面可能需要1-2天,但在Odoo可能远超你的预期,在同等页面且不做翻译的前提下,成熟的Odoo开发工程师只需要 <0.5天的时间即可完成界面的主体开发(不包含各类赋值、处理逻辑)。

2024-01-06 13:40:26 783

原创 Python | Iter/genartor | 一文了解迭代器、生成器的含义\区别\优缺点

Python | Iter/genartor | 一文了解迭代器、生成器的含义\区别\优缺点生成器是一种特殊类型的迭代器,使用函数来生成值,而不是一次性构建并存储在内存中,所以极大减少内存使用。 生成器函数使用`yield`语句产生值,而不是`return`。每次调用生成器的`__next__()`方法时,生成器函数会从上次`yield`语句的位置恢复执行,并继续执行直到遇到下一个`yield`语句或函数结束。 这样可以有效地处理大量数据,因为它们允许逐个生成值,而不需要一次性生成整个序列

2024-01-05 13:10:34 797

原创 PostgreSQL | Function&Procedure | 函数与存储过程的区别

PostgreSQL的Function和Procedure是一个东西吗?有什么区别?分别用于什么场景?如何更好的理解与记忆?有没有什么注意事项?函数和存储过程有什么区别?函数和存储过程是一样的吗?快速理解函数与存储过程。函数是一段预编译的代码,接受输入参数并返回一个值。函数可以是内置的系统函数,也可以是用户自定义的函数。存储过程是一组预编译的SQL语句集,被保存在数据库中,可以在需要时调用执行。存储过程通常由数据库管理员或有特殊权限的用户创建。

2023-12-26 21:05:02 1809

原创 PostgreSQL | 概念 | 什么是OLTP&OLAP?

什么是OLTP?什么是OLAP?OLAP用于分析和决策支持,OLTP用于日常业务交易。​ OLAP数据库设计是面向主题的、多维度的,OLTP数据库设计是面向事务的、规范化的。​ OLAP对读取操作有较好的性能,支持复杂查询,而OLTP对写入操作有较好的性能,支持高并发的事务处理。

2023-12-26 13:56:18 540

原创 PostgreSQL | EXTRACT / DATE_PART | 获取时间的年月日等字串

EXTRACT 函数是 PostgreSQL 中用于从日期和时间类型中提取特定部分(如年、月、日、小时等date_part与extract功能一致,只是使用方式采用 date_part(‘field’, timestamp) 方式,而extract使用extract(field from timestamp) 格式,field枚举列表与上述一致,感兴趣可以实操试试。EXTRACT 函数是 PostgreSQL 中用于从日期和时间类型中提取特定部分(如年、月、日、小时等)的函数。【关注】⭐️⭐️⭐️⭐️⭐️。

2023-11-27 15:21:31 2889

原创 Mac | Vmware Fusion | 分辨率自动还原问题解决

调整 设置 -> 显示器 -> 虚拟机分辨率 设置单独窗口与全屏幕均为 “xxx拉伸显示”,然后重启虚拟机,后面会发现当我们再变更windows显示设置=>分辨率后,再进行切换就不会再被重置了。开机进入系统并变更默认分辨率后,只要被 ⌘+Tab 切换分辨率就会还原到默认,非常影响体验。【关注】⭐️⭐️⭐️⭐️⭐️。

2023-11-22 14:48:54 1567

原创 PostgreSQL | CTE | 使用with子句的通用表达式

简单讲,CTE就是日常SQL中出现的with语句,其原理就是通过提前将数据查询出来后作为临时结果集使用,可以与SELECT \ INSERT \ UPDATE \ DELETE的SQL连用。

2023-10-16 16:27:01 491

原创 Python | Package | Python的三种包安装方式(pip/whl/tar.gz)

Python | Package | Python的三种包安装方式(pip/whl/tar.gz)

2023-08-15 11:44:50 531

原创 Linux | VIM | 常用vim快捷键(建议收藏)

Linux | VIM | 常用vim快捷键 编译后的结果就显示在了copen打开的小窗口里了,而且用鼠标双击错误信息,就会跳转到发生错误的行。在vim中可以完成make,而且可以将编译的结果也显示在vim里,先执行。在粘贴了一些代码之后,vim变得比较乱,只要执行。命令,将结果输出的窗口打开,然后执行。vim 中复制,移动文件。打开当前编辑文件的目录。

2023-08-02 13:53:33 1178

原创 Kkfileview | Docker | +Redis文件预览kkfile配置

Docker+Redis+kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等。

2023-07-11 16:28:02 798

原创 Python | cx_Oracle | DPI-1047报错处理(Win\Mac\Linux)

Python | cx_Oracle | DPI-1047报错处理(Win\Mac\Linux)

2023-06-21 17:13:19 1924

原创 Mac | Golang | Install速度慢换源

【代码】Mac | Golang | Install速度慢换源。

2023-04-28 17:26:41 1427 1

原创 Mac | Python | pip install 安装时遇到 *.h 文件找不到报错怎么处理?

Mac | Python | pip install 安装时遇到 *.h 文件找不到报错怎么处理?升级过的MacOS会出现/usr/include路径迁移的情况,以至于很多时候安装需要依赖 *.h的C头文件时候发现找不到。 pip install 报错 *.h文件找不到

2023-04-27 12:43:13 1106

原创 Nas | Docker | 获取镜像太慢、失败等(绿源DX4600)

检测下载速度(几秒一个百兆镜像 基于500M移动宽带)将第1步中复制的镜像源粘贴进来并点击”应用并重启“。配置Nas的Docker镜像源。

2023-04-23 23:20:59 1755

原创 MACOS | 系统 | MacOS安装brew

MACOS | 系统 | MacOS安装brewbrew命令不存在,手动安装brew工具

2023-04-17 18:55:32 836

原创 Python | 日志 | 一文理解 logging & loguru

loguru和logging都是Python中的日志库,用于记录和输出应用程序的运行日志。logging是python标准库中自带的模块,可以在Python标准库中直接使用。loguru则不是,需要使用pip或conda等包管理工具安装。综上所述,基于项目大小和模式选择略有不同,不过一般还是比较推荐使用loguru。毕竟在多进程下丢失日志真的让人无法接受,况且loguru使用还那么的方便。【关注】⭐️⭐️⭐️⭐️⭐️Kenny。

2023-03-27 21:45:00 2687 7

原创 Odoo | Webserivce | 5分钟学会【JSONRPC】接口开发 - 换USERID(进阶)

Odoo | Webserivce | 5分钟学会【JSONRPC】接口开发 - 进阶 - 换取USERID,可以发现我们直接传入了USERID,这只是为了方便快速测试。其实按照常规流程,应该通过【用户名USERNAME】和【用户密码PASSWORD】来换取USERID参数,以防止在正式环境与测试环境中进行接口测试时,还得手动变更,另外也稍微安全一些,毕竟给用户密码总比给用户ID体验上也稍显专业吧。

2023-02-28 20:30:04 1032

原创 Odoo | Webserivce | 5分钟学会【JSONRPC】接口开发

Odoo | Webserivce | 5分钟学会【JSONRPC】接口开发Kenny

2023-02-27 20:18:46 1444

原创 Python | 线程锁 | 5分钟掌握【同步锁】(Threading.Lock)

`threading.Lock` 同步锁,可以用于保证多个线程对共享数据的独占访问。当多个线程或进程互相竞争同一组资源时,如果每个线程都持有一些资源,并且都在等待另一个线程释放它所需要的资源时,就会发生死锁。死锁的产生原因通常是由于多个线程对共享资源的竞争,同时又没有良好的资源分配策略或锁的获取顺序导致的。如果想要要避免死锁,就需要确保不同线程获取锁的顺序是一致的。

2023-02-20 21:02:16 3857 2

原创 Python | GIL锁 | 5分钟掌握【全局解释器锁】(GIL)

GIL(Global Interpreter Lock)全局解释器锁;GIL (Global Interpreter Lock) 是 Python 部分解释器的一个重要特性。GIL 是一个全局锁,它限制了【一个进程】一次只能有【一个线程】在运行 Python 解释器中的字节码。即使你的程序有多个线程,在任意时刻,只有一个线程可以执行 Python 代码。

2023-02-10 00:16:57 1476

原创 Javascript | Popper | 如何下载popper.min.js 与 各类js资源

比如popper.js官网显示如下图,没有任何的Download按钮,有部分其他类的JS官网也存在同样的情况。虽然有提供CDN,但因为国内网络原因,很多资源访问速度较慢或者内网部署无法访问公网等情况就不是很适合了。作为一个JS生手只知道使用CDN在线引用或者使用下载好的本地JS文件。我们最好将静态资源存放在工程本地,如何获取JS文件资源呢?

2022-12-21 18:08:39 3977

原创 华为 | 机考 | 100分题【最短木板长度】

最短木板长度 小明有 n 块木板,第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。小明买了一块长度为 m 的木料,这块木料可以切割成任意块,请问小明加长木板后,最短木板的长度可以为多少?拼接到已有的木板上,用来加长木板。

2022-12-10 12:33:45 2559

原创 Database | DBeaver | 【一键解决】找不到自己的数据库?

Database | DBeaver | 【一键解决】找不到自己的数据库?DBeaver 没显示我的数据库 Mysql Postgresql Oracle SQL Server

2022-11-10 10:53:22 6505 2

原创 Database | DBeaver | 完美解决驱动下载/连接失败报错问题

Can't create driver instance Error creating driver 'PostgreSQL' instance.Most likely required jar files are missing.You should configure jars in driver settings.Reason: can't load driver class 'org.postgresql.Driver' Error creating driver 'PostgreS

2022-11-10 10:33:49 16924 6

原创 Odoo | Config | Odoo版本基础需求

针对于Odoo不同版本,官网建议的Python版本与PostgreSQL版本,以及官方镜像使用的推荐版本。

2022-11-04 10:24:56 1658

原创 Django | QA | 解决libpq.5.dylib(no such file)与libiodbc.5.12.dylib(no such file)

【代码】| Django | QA | 解决libpq.5.dylib(no such file)与libiodbc.5.12.dylib(no such file)

2022-10-09 12:23:15 1431

原创 Python | Decimal | 小数计算误差(浮点数计算精度丢失)

Python | Decimal | 小数计算误差(浮点数计算精度丢失)编程语言中,浮点数(小数)四则运算总会出现一些与预期不符的情况,究其原因是因为计算机以二进制方式存储数据,对于小数的运算有天然的缺陷,计算机只能以极大限度的进行近似取值,于是精度问题就出现了。Python中,小数加减法出现的精度问题非常常见,一般使用decimal模块进行处理,因为是基于字符串进行处理的,所以在使用时一定注意前期转换为字符串,后期转换会对应的浮点类型。.........

2022-08-25 21:40:30 3729

原创 OpenStack | Minikube | Mac版安装手册

前往控制台,点击docker图标进行启动,稍等不久后将完成。设置当前获取的镜像仓库为‘阿里云’,速度杠杠的;设置k8s版本,建议设置1.22.x,更高版本可能导致初始化集群失败。设置默认驱动为docker;查看客户端与服务端的版本。

2022-08-23 23:48:30 1290

原创 Python | eval、exec | TypeError: eval() takes no keyword arguments

eval TypeError: eval() takes no keyword argumentsexec TypeError: eval() takes no keyword arguments通常用作:eval('add(1,2)', globals(), locals())正确的写法是:eval('add(1,2)',{},{})或简写 eval('add(1,2)')或简写 exec('add(1,2)')

2022-08-18 13:29:29 1750

原创 Python | eval、exec | NameError: name ‘XXX‘ is not defined`

eval NameError: name 'XXX' is not definedexec NameError: name 'XXX' is not defined如果有新的变量定义,会将新变量更新到局部变量作用域locals()中,后续代码中使用新变量,系统将在globals()中寻找并返回值。中进行手动获取,如:z2 = locals()[‘z2’]。不更新,所以不会有新变量,就会报错新变量名称未定义,即。执行的代码块中存在使用全局变量或全局方法,则可能会报错。执行后,新变量会更新到。.......

2022-08-18 13:14:04 1989

原创 Python | eval、exec | 执行动态代码字符串

python eval, python exec. python执行动态代码表达式或动态代码块;①eval用于执行一行逻辑表达式字符串 ②exec用于执行代码块字符串;用法介绍:

2022-08-18 01:54:40 1857

原创 计算机基础 | 编码 | 原码、反码、补码(整数部分)

原码、反码、补码

2022-08-07 16:53:11 479

原创 Odoo | 技巧 | 只读字段改变后不会保存到数据库

Readonly field in onchange methodOnchang方法中的只读字段存储If you change the value of a readonly field in onchange method, on save it will not be stored in the database. In order to do that you would need to override create/write methods where you would need to

2022-03-04 12:41:09 636 3

原创 Flask | Bootstrap | 界面加载缓慢问题优化

Flask - Bootstrap | 界面加载缓慢问题优化Flask-Bootstrap是Flask的一个页面样式类插件,通常我们使用pip进行安装并导入使用。pip install flask-bootstrap当我们在Flask工程中使用flask_bootstrap时,其实每次访问页面的时候它还是在动态向bootstrap源进行请求并下载,由于这些资源连接都是非国内链,所以一般会比较慢,甚至会超时。但其实这些资源早在国内都有相应的CND链,所以我们只需要把引用切换到国内指向即可。默认使用

2022-02-25 18:06:27 2717

原创 Python | Multithreading | 【3分钟】上手多线程

1. 一个简单的多线程from threading import Threadimport timedef func(i): print('Start Sub Thread: %d' % (i))if __name__ == '__main__': print('Start Main Thread') thread_list = [] for i in range(3): m = Thread(target=func, args=(i,))

2022-02-17 14:58:33 500

原创 Odoo | multithreading | 多线程

Odoo | multithreading | 多线程Odoo能自己写多线程程序吗? Why not ?简介从Odoo自身的机制上来讲,它的每一个连接都是一个单线程作业的过程。Odoo在连接池(ConnectionPool)中加入了线程锁threading.Lock(),监测DB连接数与线程建立连接数量。当线程池中的DB连接数大于DB连接阈值,就会报错线程池满了,线程池满后新的客户端访问会被拒绝,后台任务或者新的线程任务也会失败(可能会导致程序不执行,更严重的会导致数据丢失)。虽然框架有各种各样

2022-02-17 02:01:46 1643

原创 Python | 密码验证 | pyotp+qrcode实现MFA生成与验证(基于Python2.7.13)

# -*- coding:utf-8 -*-import datetimeimport pyotpfrom qrcode import QRCodefrom qrcode import constants# 为了方便我用一个固定值测试# secret_key = pyotp.random_base32()secret_key = "IVMUUGHFE6XJ7YKX"def generate_opt(username, issuer_name): """ 生成WFA认证

2021-11-04 00:45:18 1347

原创 Odoo | OCA | auth_totp_password_security

auth_totp_password_security安装这个模块,需要安装 auth_totp 和 password_security 两个依赖模块。auth_totp 模块用于MFA 一次性动态6位码多重验证(详见)。password_security 模块用户增加约束用户密码的强度。auth_totp_password_security用户登录时会访问MFA认证界面,认证界面通过后如果检测到这个用户的密码已经过期了,那么就会跳转到密码重置界面,这个模块就是为了做一下 auth_totp

2021-11-03 22:27:42 269

中国省份-英文-简称表

中国省份-英文-简称表

2021-08-18

Odoo12翻译预检模块

Odoo12翻译预检模块 由于odoo12写入翻译时如果有重复的行 系统报错不好定位 所以在翻译写入翻译表之前 进行一次预检 如果有错误直接报出 (去掉收费积分,大家随意开火吧)

2020-11-26

register.py

2016-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除