当前位置: 首页 > news >正文

奇技淫巧第8期

学无止境。
下面是对去年11月至今年5月的零散知识点总结。
春节期间好好放松了一两个月,来校后又懒散的度过了一两个月,直到论文评审意见下来,才开启冲刺模式狂干了一两个月。总的来说,这半年来摸的时间比较多。好,不废话了,开始。

文章目录

  • python 强化
    • 继承
    • 设计模式
    • args, kwargs
    • 装饰器
    • 异步 I/O
    • viztracer
    • 注释中 noqa 含意
    • dpdispatcher 大坑
    • 获取文件大小
    • 热图
    • matplotlib
      • 控制图例的列数
      • 画出空心圆
    • python 项目管理
      • pip 安装报错
      • pip show
      • pip 项目搭建
      • release please tag版本
      • conda clone
      • pyinstaller
  • C语言
    • 编译过程
    • zlib
    • cygwin
    • gcc flag
      • -O flag
      • -m flag
    • 单引号和双引号
    • vscode
    • cmake
  • Linux
    • 权限
    • 软链接
    • ;&& || 区别
    • linux 命令格式
  • 论文撰写 & Latex
    • 英文论文查重
    • 图片增强 & 灵感来源
    • 模板
    • latex 编译报错
    • latex引用
    • 特殊符号输入
    • vscode 中 latex workshop 很实用的功能
    • 表格和图片的标题居中
    • 乱码包
      • 中文
      • 英文
    • xjtu thesis
    • J/OL
  • 化学
    • rdkit
    • 自旋和未配对电子数
    • 波函数中各个量子数
    • KS方程的误差
    • 阴阳极
    • Dalton
    • gaussian install
  • 快捷键
  • read the docs
    • sphinx
    • myst_parser
    • 文档中图片不居中的问题
  • markdown
    • note 模块
    • 分页
    • 图片居中,调整大小

python 强化

继承

https://zhuanlan.zhihu.com/p/459504171
python 的多类继承
省流版本:

  1. python 中一个类可以同时继承多个父类
  2. 当同一方法同时出现在两个父类中时,调用该方法按照继承时从左向右的顺序遍历。
  3. 当存在多级继承时,遍历顺序为深度优先。
  4. 如果多级继承叠加了共同的根节点,特别复杂时,使用.mro()得出遍历路径

设计模式

https://www.jb51.net/article/217067.htm
python 中实现依赖倒置原则,受益匪浅


https://blog.csdn.net/frank_haha/article/details/127949025?spm=1001.2014.3001.5501
python视角下的6大程序设计原则


5种方法实现设计模式中的单例模式
http://www.coolpython.net/informal_essay/20-09/five-methods-to-achieve-singleton.html
清晰简洁,暂存

args, kwargs

https://zhuanlan.zhihu.com/p/50804195
Python中使用 *args 和 **kwargs 来隐式传递参数
*args 以元组的形式传递参数列表,注意元组中的顺序是固定的
**kwargs 以字典形式传递参数,键对应参数名,键值对应参数值
*args 只能在 **kwargs 前面,按顺序 assign 值,**kwargs 按字典 assign 值

装饰器

https://www.runoob.com/w3cnote/python-func-decorators.html
一篇关于 python 装饰器非常全面的报道


http://c.biancheng.net/view/4561.html
Python 中使用 @property 可以将一个方法变为类的属性(方法返回值即为属性值)
值得注意的是,该属性处于只读模式,无法通过重新赋值修改。(还可以通过修改方法返回值修改,这种情况可以通过改进装饰器至 lazy_property 来实现)
除非加上新的装饰器——setter
此外,该属性的删除可以用 deleter 实现

异步 I/O

python 使用 asyncio 实现 异步 I/O,适合 I/O 密集型任务,链接:https://zhuanlan.zhihu.com/p/59621713

viztracer

使用 viztracer 能够轻松分析 Python 中的函数调用关系,其中 vizviewer 提供了一键式可视化服务,这对高并发任务的分析调试很有帮助,链接:https://www.bilibili.com/video/BV1d34y1C78W?p=1&vd_source=4a5ba2714e3b8655fcf531740196c200

注释中 noqa 含意

https://blog.csdn.net/xiaodongxiexie/article/details/80970336
Python 注释中 noqa 的含义,no quality assurance

dpdispatcher 大坑

对于torque集群
管理节点向其他节点提交任务时需要有一个pbs的命令
#PBS -l nodes=node03:ppn=24
中间的’node03’对应number_node关键词

此外,在local context下,‘remote_profile’: None,不是其他

获取文件大小

https://www.cnblogs.com/hider/p/15261801.html
os.path.getsize() 获取文件大小
os.stat().st_size 也可以

热图

使用pandas+seaborn+matplotlib绘制相关性矩阵热图
https://itslinuxfoss.com/how-to-create-a-correlation-matrix-using-pandas

matplotlib

控制图例的列数

https://stackoverflow.com/questions/73836503/in-matplotlib-legend-how-to-define-number-of-columns-in-horizontal-legend-ncol
随手记:
matplotlib 在绘制图例时使用函数 legend
在 matplotlib 3.6.0 版本以前,可以通过参数 ncols 去控制图例的栏数
在2022年九月份更新的 3.6.0 版本以后,这个参数修改成了 ncol
省流:新版本中ncols参数变成了ncol

画出空心圆

scatter , c=‘none’
https://blog.csdn.net/cfjcyc0301/article/details/109066555

python 项目管理

pip 安装报错

LookupError: setuptools-scm was unable to detect version for H:\fullnet\fullnet-main\fullnet-main.

Make sure you’re either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub’s tarballs, a git checkout without the .git folder) don’t contain the necessary metadata and will not work.

For example, if you’re using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj

一种可能的报错原因是,本来是一个github项目,没有git clone到本地,而是直接打包到了本地,再直接安装。解决方法是git clone到本地,再用 python setup.py install 安装

pip show

https://blog.csdn.net/sinat_29158315/article/details/81813556
如果你的环境中同一个包安装了多次,而你又不知道正在使用的是哪一个,那么一个很简单的方法是,用 pip show package 即可查看正在使用包的位置

pip 项目搭建

  1. setup.py 和 setup.cfg
    后者是前者的简易形式。主要内容存放在后者,前者只是个壳。
    这两个文件是在
    python setup.py install
    这样的命令下使用的
    不涉及pip
    setup.cfg 的官方教程
    https://setuptools.pypa.io/en/latest/userguide/declarative_config.html

  2. pyproject.toml
    该文件是近几年引入的更完善的包管理机制
    如果你使用pip,例如,你需要向pypi发布包,在github的自动化工作流里,按照pyproject.toml进行项目安装。或者下载完源码后,使用 pip install . 命令安装。
    这两种情况下:
    pyproject.toml override setup.cfg
    https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
    ===============================================
    事实上,很多人在讨论,两个配置文件,功能一致,能否只保留 pyproject.toml

我认为,为了能同时使用pip和python setup.py命令安装,我们需要整理 setup.cfg 和 pyproject.toml 两个文件。这并不矛盾。每个配置文件都有其适用的场景。

注意:如果你使用了setuptools_scm。默认情况下,pypi 的 source distribution 是项目里的所有文件。为了能在发布时跳过一些文件,我们可以在根目录上添加MANIFEST.in,这会override setuptools_scm
https://packaging.python.org/en/latest/guides/using-manifest-in/

release please tag版本

github release please 修改tag版本

  1. 事先用命令行push上一个版本号
  2. 再从本地push(可以用github desktop)上要修改的东西
    https://www.conventionalcommits.org/en/v1.0.0/#summary
    git commit 要遵循特定的格式,如上

如果不是第一次的话,后续会自动进行版本更新

conda clone

使用 conda 克隆已有的仓库

conda create -n auto10 --clone torch1.10-cu102-py38

删除旧环境

conda remove -n conda-old --all    

pyinstaller

使用 pyinstaller 能够将一个 python 项目打包成一个可执行文件
https://blog.csdn.net/m0_48692571/article/details/107020772

C语言

编译过程

https://zhuanlan.zhihu.com/p/371323950
https://blog.csdn.net/Utotao/article/details/95755916
c语言编译过程及工程下的.c文件.h文件.o文件.so文件.a文件
https://blog.csdn.net/weixin_46919419/article/details/112550651
一个 .c 文件是一个编译单元,编译器每次编译只能处理一个编译单元
最后再把编译好的文件链接起来

zlib

C 程序中使用 zlib 步骤:
下载源文件 https://zlib.net/
解压缩
编译
创建 libz.a 软链接到目标库
目标库编译
命令行执行目标时加上输出 > xxx.gz
输出的是 gzip 格式的压缩文件
使用 gzip 进行解压 gzip -dv xxx.gz

https://www.runoob.com/linux/linux-comm-gzip.html
linux gzip命令教程,对应格式为 .gz

cygwin

https://blog.51cto.com/u_15244533/2845242
使用 cygwin 能够在 win 下创建一个UNIX环境,并编译C文件

gcc flag

-O flag

gcc -O3
gcc 在编译过程中对代码进行优化,使其运行速度更快。
gcc 深不见底,类似的功能还有 -O2(适合生产的), -Os(代码体积更小的) 等等
https://www.linuxtopia.org/online_books/an_introduction_to_gcc/gccintro_49.html#:~:text=It%20is%20the%20default%20optimization,levels%20%2DO2%20and%20%2DO1%20.
https://stackoverflow.com/questions/11546075/is-optimisation-level-o3-dangerous-in-g

https://stackoverflow.com/questions/3399821/gcc-o4-optimization-flag
-O4 optimization 应该是和 -O3 一样的,可以通过
gcc -c -Q -O3 --help=optimizers | grep enabled
查询

-m flag

gcc 使用 -march=native -mtune=native 来针对个人电脑平台对代码进行自动化优化。
“-march=native” 告诉 gcc 本机CPU的型号
“-mtune=native” 告诉 gcc 根据CPU型号进行代码优化
虽然二包含了一,但最好还是二者同时出现,相关讨论可见这篇很详细的博客↓
https://lemire.me/blog/2018/07/25/it-is-more-complicated-than-i-thought-mtune-march-in-gcc/
官方文档↓
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html#:~:text=Using%20%2Dmarch%3Dnative%20enables%20all,CPU%20with%2064%2Dbit%20extensions.

但是这个 flag 对生产有一定的风险,因为程序性能无法在不同平台上做到统一:
https://stackoverflow.com/questions/52653025/why-is-march-native-used-so-rarely

单引号和双引号

https://blog.csdn.net/u013541620/article/details/43172891
随手记:
C语言的单引号和双引号是不同的
单引号引起是的字符
双引号是字符串

vscode

https://zhuanlan.zhihu.com/p/77074009
https://zhuanlan.zhihu.com/p/85273055?utm_campaign=shareopn&utm_medium=social&utm_oi=64477496082432&utm_psn=1579616044616003585&utm_source=wechat_session
使用 vs code 配置 c/c++ 环境

cmake

https://www.jetbrains.com/help/clion/quick-cmake-tutorial.html#new-project
学习 cmake 的 clion 教程
https://blog.csdn.net/weixin_42660446/article/details/119650036
cmake 没有生成 Makefile。原因是选错了编译器。
https://www.jianshu.com/p/07acea4e86a3
Cmake命令之add_subdirectory介绍
使用 add_subdirectory 可以编译子目录,子目录的 Makefile 和主目录一致。

Linux

权限

https://blog.csdn.net/zhangvalue/article/details/84979635
linux 给文件或文件夹加权限
chmod 777 xxx
开放所有权限
chmod a+x xxx
给所有人可执行权限
https://blog.csdn.net/u012106306/article/details/80436911
可执行文件的颜色是绿色的
https://www.cnblogs.com/tonyauto/p/8085551.html
chmod +x 和 chmod u+x的区别:chmod +x somefile 和 chmod a+x somefile 是一样的
给文件所有者添加可执行权限:chmod u+x 文件名

软链接

https://www.cnblogs.com/sueyyyy/p/10985443.html
linux 创建软链接
ln -s 源文件(或原文件夹文件夹) 目标文件(或目标文件夹)

;&& || 区别

https://www.cnblogs.com/lizhouwei/p/9991635.html
Linux中分号、&&和||的区别
分号,命令之间没有联系,顺序执行
&&,命令1正确执行,命令2才会执行,否则命令2不会执行
||,命令1错误执行,命令2才执行。
此外还有管道命令 |
命令 1 的输出是命令 2 的输入

linux 命令格式

command [option] [arguments]
在这里插入图片描述

论文撰写 & Latex

英文论文查重

crosscheck 和 turnitin
(只要是自己写的,没必要查重)

图片增强 & 灵感来源

https://github.com/xinntao/Real-ESRGAN
使用 Real-ESRGAN 可以进行图片增强等

https://blog.csdn.net/frank_haha/article/details/127913618?spm=1001.2014.3001.5502
高质量科研绘图工作流,博客

https://github.com/xinntao/HandyFigure
HandyFigure 提供了众多论文插图的PPT原件,方便个人使用

模板

acs 的 SI 如果使用 acs 的模板(\documentclass[manuscript=article]{achemso}),不会出现目录页
一种解决方案是,从 模板网站 https://www.latextemplates.com/ 里挑选一个
需要注意的是,参考文献需要设成 acs 格式。
\bibliographystyle{achemso}
\bibliography{ref.bib}
但是这样没有参考文献的序号。
解决方案是调整 natbib 包的设置
\usepackage[numbers,super]{natbib}

latex 编译报错

https://blog.csdn.net/qq_38522564/article/details/128630936
编译bibtex时报错“I couldn’t open file name `xxxx.aux’.”
原因是,我们通常需要
pdflatex -> bibtex -> pdflatex2
或者,中文的情况
xelatex -> bibtex -> xelatex
2
这一过程中每编译一次会删掉编译过程中的中间文件,而 .aux 文件就很可能在此时被删掉。
解决方法就是找到设置,搜索aux,进入 Clean: File Types 选项,删掉 .aux 文件即可

latex引用

最好是引用相对路径
https://blog.csdn.net/OOFFrankDura/article/details/91345321

特殊符号输入

大部分是加 \ 形成转义字符
https://blog.csdn.net/m0_37149062/article/details/108240050
latex 特殊符号输入

vscode 中 latex workshop 很实用的功能

在miscellaneous目录下
open citation browser 可以打开文件关联的参考文献文件
reveal output folder 可以打开编译输出文件所在的目录

count words可以查询文件中有效字数 ( 并非实时的,编辑后需要保存才能查 )
注意:
latex workshop中查字数的功能其实也是调用的texcount
texcount详细功能参照:https://www.ctan.org/pkg/texcount

表格和图片的标题居中

latex 中使用 \usepackage[justification=centering]{caption}

乱码包

中文

latex 一个非常有意思的包: zhlipsum
链接:https://ctan.org/pkg/zhlipsum
这个包支持随机生成中文乱码,常用来测试排版效果。
常用使用命令是 \zhlipsum[⟨段落⟩][⟨选项⟩]
选项可以选择乱文的来源,在encoding=utf8 时,默认使用name=simp的乱文。这些乱文是提前准备好的,所以选项这个空可以不用管。
下面就是指定乱文所在的段落。
比如:\zhlipsum[2,5] 指原文(提前设计好的)的第 2 和 5 段
\zhlipsum[1] 指原文第1段

英文

英文 latex 随机文本生成器:blindtext
使用方法:\blindtext 生成一段随机文字,\Blindtext 生成一大段文字(其实就是将\blindtext 文字乘以 5)还支持德文、法文等,详细功能看链接:https://www.ctan.org/pkg/blindtext

xjtu thesis

https://github.com/obster-y/XJTU-thesis
注意,参考文献跟Word差异特别大
需要如下改动:

% gbnamefmt=lowercase 将姓名除首字母外小写
\RequirePackage[hyperref=true,backend=biber,style=gb7714-2015,gbalign=left,gbnamefmt=lowercase,gbpub=false]{biblatex}
\renewcommand{\bibfont}{\zihao{5}}
\setlength{\bibitemindent}{1pt}\setlength{\bibnamesep}{-0.05pt}
\setlength{\bibinitsep}{-0.05pt} 
\setlength{\biblabelsep}{2pt} %缩序号和条目间的距离
\setlength{\bibparsep}{-3pt} %缩条目间的距离

由于biblatex是嵌入到程序中的,有一些关键词莫名其妙丧失了功能,例如调整条目内行距的 \bibitemsep ,不起作用。
关于biblatex的各种关键词,可以查文档,链接在:
https://ctan.org/pkg/biblatex?lang=en

J/OL

参考文献中 [J/OL] 的含意:
OL 表示电子期刊 (online?)
如果你的 bibtex 中包含了 doi, url 等信息,编译后会在 J 后面加 OJ
https://www.zhihu.com/question/436028611
如果是Word手动敲参考文献,可以留意一下该参考文献是否有具体的页数,如果页数、卷目等信息残缺,可以甩一个doi,加上OL,代表虽然我不知道具体页数,但你可以通过这个链接访问到

化学

rdkit

使用 rdkit.Chem.Draw 可以友好绘制分子二维图像。
批量绘制时通过将核心稳定,可以获得整齐划一的图像。
http://rdkit.org/docs/GettingStartedInPython.html#drawing-molecules

自旋和未配对电子数

https://zhuanlan.zhihu.com/p/550366136
https://zhuanlan.zhihu.com/p/102774303
随手记
自旋多重度,未配对电子数,(总)自旋(磁量子数,电子自旋角动量)之间的关系
(下述暂不考虑带电体系)

  1. 每个 alpha 电子是 正1/2,每个 beta 电子是负1/2
  2. 体系内所有电子中和以后,净自旋就是通常意义上的自旋 S
  3. 一般情况下(不考虑那么细,认为两类轨道是等能的,匹配的),净自旋就是未配对电子个数的二分之一(xtb 的 --uhf 标签)
  4. 自旋多重度(这个概念一般 gaussian 用的多)是 2S+1,不知道为什么是这个公式,但记着就行。(也可以是,未配对电子数加1)
  5. 我们常说的,单线态就是2S=0,没有孤电子的情况;双线态是2S=1,一个孤电子;以此类推,加1即可

波函数中各个量子数

主量子数为电子的层数,表示电子层,电子层符号K、L、M、N、O、P、Q主量子数n是决定电子能量高低的主要因素。角量子数l决定电子空间运动的角动量,以及原子轨道或电子云的形状,在多电子原子中与主量子数n共同决定电子能量高低。磁量子数m是描述原子轨道或电子云在空间的伸展方向。

n, l, m 描述的是电子所处的轨道的特征,更多是相对原子核而言的 。对应波函数的空间部分。

自旋量子数m_s
原子中电子除了以极高速度在核外空间运动之外,也还有自旋运动。电子有两种不同方向的自旋,即顺时针方向和逆时针方向的自旋。通常用向上和向下的箭头来代表,即↑代表正方向自旋电子,↓代表逆方向自旋电子。
(可以类比地球绕太阳转,同时地球也有自转)

m_s 更多是描写电子本身的运动状态。对应波函数的自旋部分。

二者乘一起得到完整的波函数

KS方程的误差

KS方程中引入了单电子近似,即,不考虑电子间任何相互作用。
这种近似使得求解变成了可能。但引入了两种误差:

  1. 两电子交换,根据泡利不相容原理,整个体系的波函数应该加一个负号,是会改变的。但这种单电子近似+以电子密度为变量的波函数考虑不到这一点。我们称这部分误差为交换误差。Ex
  2. 两电子之间的库伦排斥力被完全忽略掉了。真实情况的电子由于相互之间的斥力,可能会保持一定的距离,但在单电子近似下甚至会出现两电子完全重合的情况。由于这种情况下体系能量较高,在平均势场的思想下,引入这部分误差会使得结果相对真实体系偏高。这部分误差被称作关联误差 Ec.

DFT 理论中为了对冲近似带来的误差,引入了交换关联(交换+关联)算符。Exc

值得注意的是,HF方程中也引入了单电子近似。但由于基函数 slater 行列式的交换反对称性,HF的求解中是没有交换误差的。但是HF的平均力场思想导致其完全忽视了关联误差。

DFT以电子密度为主变量的设定导致其难以弥补交换误差,但通过设计合理算符能够很好弥补关联误差。为了综合HF和KS的优点,发展出了杂化泛函,其中最有名的当属B3LYP

近年来发展出的scan泛函通过合理设计交换关联算符,在不涉及HF的情况下也取得了不错的精度,值得注意。
https://zhuanlan.zhihu.com/p/382698569

阴阳极

电池中的阴阳极和电路中的正负极不一样。
电池中的阴阳极这个概念是法拉第提出来的,阳极指获得电子发生还原反应的一极(anode) 阴极指失去电子发生氧化反应的一极(cathode)
阳极获得电子对应电路中的负极,是外电路中电流流入的一极
阴极失去电子对应电路中的正极,是外电路中电流流出的一极

Dalton

The dalton (symbol: Da), also known as an atomic mass unit(non-SI), is a unit of mass that is equal to one twelfth of the mass of a free carbon-12 atom at rest. Its value is approximately equal to 1.660 x 10−27 kg.

gaussian install

集群普通用户安装高斯:

  1. 自己账号下用 cp 命令把文件从根目录转移至自己的目录
  2. 添加环境变量
  3. 登录root账号为文件夹添加权限 sudo chmod -R 750 g16

第三步可以尝试自己加权限(不带sudo)
不行再上root
注意:必须用自己的账号cp,这样文件所有者是个人的

快捷键

微软官方的快捷键大全:
https://support.microsoft.com/zh-cn/microsoft-edge/microsoft-edge-%E4%B8%AD%E7%9A%84%E9%94%AE%E7%9B%98%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F-50d3edab-30d9-c7e4-21ce-37fe2713cfad

比如 ctrl+shift+k 是复制当前标签页

read the docs

sphinx

https://sphinx-rtd-trial.readthedocs.io/en/latest/markup/toctree.html
read the docs toc 注意事项:

  1. maxdepth 必须要赋值,如果不赋值的话。当出现两个 toctree 时,会自动将二者合并。
  2. toc 的标题是由索引文件的最大标题决定的

myst_parser

我们可以通过 myst_parser 在 read the docs 的 CI/CD 工作流中自动转化markdown文件
跟模板不同之处是:

  1. 需要修改 requirements.txt
  2. 需要修改 conf.py

markdown 什么都好,在测试过程中发现不能实现 rst 格式中便利的 notes 和 warning
https://sublime-and-sphinx-guide.readthedocs.io/en/latest/notes_warnings.html

对此没有什么好的解决方案,只能将 markdown 转化为 rst ,再进行修改(注意,转化过程中图片的相对路径会变成绝对路径,要进行修改)

如果对这些feature没有强烈的欲望的话,使用本文最后提到的 note 符号也可以

文档中图片不居中的问题

read the docs 网页渲染时,图片不居中的问题
可能的原因:
所使用的rst是pandoc从md格式转过去的,虽然写了一些小脚本,加上了
:align: center 但仍然无法解决图片无法居中的问题

read the docs 用户那么多,应该不会犯这么低级的错误。一定是我的格式有问题。
在 问答https://stackoverflow.com/questions/4963546/how-to-center-align-the-image-with-rerestructuredtext 里,一位答主提到,
… image:: some_pic.png
:alt: some_pic
:align: center
就可以实现居中

在仔细对比后,我发现pandoc在进行图片格式转换时,输出格式为 figure ,不是image。将figure replace成image以后,问题顺利解决。

markdown

note 模块


📝 Note

It works with almost all markdown flavours (the blank line below this line and above the top horizontal line matter).


Note: The note content.

https://stackoverflow.com/questions/25654845/how-can-i-create-a-text-box-for-a-note-in-markdown

分页

https://blog.csdn.net/wyll19980812/article/details/107424344

markdown 使用 <div STYLE=“page-break-after: always;”></div> 进行分页

图片居中,调整大小

注意,这句话前后两行应该空下,不然不能正确显示

<img src=“./fig/customized_figure.png” width=“400px” height=“400px” align=“center” />

相关文章:

奇技淫巧第8期

学无止境。 下面是对去年11月至今年5月的零散知识点总结。 春节期间好好放松了一两个月&#xff0c;来校后又懒散的度过了一两个月&#xff0c;直到论文评审意见下来&#xff0c;才开启冲刺模式狂干了一两个月。总的来说&#xff0c;这半年来摸的时间比较多。好&#xff0c;不废…...

这个 归并排序详解过程 我能吹一辈子!!!

文章目录 归并排序概念归并排序算法思路归并排序递归实现归并排序非递归实现 归并排序概念 1945年&#xff0c;约翰冯诺依曼&#xff08;John von Neumann&#xff09;发明了归并排序&#xff0c;这是典型的分治算法的应用。 归并排序&#xff08;Merge sort&#xff09;是建立…...

docker版jxTMS使用指南:自动生成代码

本文讲解4.0版jxTMS的自动生成代码功能&#xff0c; 整个系列的文章请查看&#xff1a;docker版jxTMS使用指南&#xff1a;4.0版升级内容 docker版本的使用&#xff0c;请参考&#xff1a;docker版jxTMS使用指南 任何一个管理系统都需要对管理对象进行管理&#xff0c;包括最…...

聚观早报 | 小冰启动GPT克隆人计划;ofo创始人在美创业改做咖啡

今日要闻&#xff1a;小冰启动“GPT克隆人计划”&#xff1b;ofo创始人在美创业改做咖啡&#xff1b;OpenAI正准备新的开源AI模型&#xff1b;青年失业率首破20&#xff05;创新高&#xff1b;微软收购动视暴雪获批 小冰启动“GPT克隆人计划” 5 月 16 日&#xff0c;小冰公司…...

面试造航母,入职拧螺丝,工资离了个大谱...

有粉丝跟我吐槽说&#xff1a;金三银四去面试软件测试岗&#xff0c;真的是面试造航母&#xff0c;入职拧螺丝&#xff0c;工资还低 这种现象很正常&#xff0c;因为找一个测试员&#xff0c;当然希望他能做的业务越多越好&#xff0c;最好像机器猫一样&#xff0c;啥事儿都能…...

Python+selenium自动化元素定位防踩坑

在自动化UI测试过程中常常会在元素定位阶段就踩坑&#xff0c;碰到困扰已久的问题。 以下是个人整理元素定位报错原因和解决方法。 踩坑一&#xff1a;StaleElementReferenceException selenium.common.exceptions.StaleElementReferenceException: Message: stale element re…...

【计算机组成原理】实验一

文章目录 实验一 数据传送实验1. 实验目的2. 实验仪器3. 原理概述4. 实验内容步骤4.1 手动实验环境的建立4.2 手控传送实验 5. 实验结论及问题讨论 实验一 数据传送实验 1. 实验目的 2. 实验仪器 3. 原理概述 4. 实验内容步骤 4.1 手动实验环境的建立 1)初始待令状态 上电或…...

前端022_广告模块_修改功能

广告模块_修改功能 1、需求分析2、Mock添加查询数据3、Mock修改数据4、Api调用回显数据5、提交修改后的数据6、效果1、需求分析 需求分析 当点击 编辑 按钮后,弹出编辑窗口,并查询出分类相关信息进行渲染。修改后点击 确定 提交修改后的数据。 2、Mock添加查询数据 请求URL…...

makefile 学习(3):C++的编译及库文件的生成与链接

1. 介绍 C语言的相关后缀 .a 文件是一个静态库文件.c,.c ,.cp,.cpp,.cc,.cxx 这几种后缀都可以表示c的源文件.h ,.hpp c语言的头文件.i 是c预处理文件.o 目标文件.s汇编语言的文件.so 动态库或者共享库或者称为运行时库 2. C编译 2.1 预处理 g -E helloworld.cpp # 虽…...

Ceph crush运行图

Crush map介绍 ceph集群中由monitor负责维护的运行图包括&#xff1a; Monitor map&#xff1a;监视器运行图osd map&#xff1a;osd运行图PG map&#xff1a;PG运行图Crush map&#xff1a;crush运行图Mds map&#xff1a;mds运行图 crush map是ceph集群物理拓扑的抽象&…...

【分布族谱】泊松分布和二项分布、正态分布的关系

文章目录 泊松分布和二项分布的关系和正态分布的关系 泊松分布 如果在有限时间 ( 0 , 1 ) (0,1) (0,1)内进行 n n n次伯努利实验&#xff0c;那么每次伯努利实验所占用的时间为 1 n \frac{1}{n} n1​&#xff0c;按照自然规律&#xff0c;一件事情肯定是时间越长越容易发生&am…...

关于QTreeWidget的setData函数

当使用 Q T r e e W i d g e t I t e m QTreeWidgetItem QTreeWidgetItem 的 s e t D a t a setData setData 方法时&#xff0c;需要传递三个参数&#xff0c;分别是列索引、角色和数据。 列索引&#xff1a;表示要设置数据的列的索引。 Q T r e e W i d g e t I t e m QTre…...

Microsoft Office 2003的安装

哈喽&#xff0c;大家好。今天一起学习的是office2003的安装&#xff0c;这个老版本的office可是XP操作系统的老搭档了&#xff0c;有兴趣的小伙伴也可以来一起试试手。 一、测试演示参数 演示操作系统&#xff1a;Windows XP 不建议win7及以上操作系统使用 系统类型&#xff…...

使用Spring Boot和Spring Cloud实现多租户架构:支持应用多租户部署和管理

使用Spring Boot和Spring Cloud实现多租户架构&#xff1a;支持应用多租户部署和管理 一、概述1 什么是多租户架构&#xff1f;2 多租户架构的优势3 实现多租户架构的技术选择 二、设计思路1 架构选型1.1 Spring Boot1.2 Spring Cloud 2 数据库设计3 应用多租户部署3.1 应用隔离…...

智聚北京!相约全球人力资源数智化峰会

人力资源是推动经济社会发展的第一资源。作为我国经济压舱石的中央企业在对标世界一流企业和管理提升方面的持续创新&#xff0c;各行业领军企业围绕组织变革、管理升级、全球化发展走深走实。人力资源管理正从传统职能管理与管控&#xff0c;向紧贴业务战略实现、组织边界和人…...

工业缺陷检测数据及代码(附代码)

介绍 目前,基于机器视觉的表面缺陷检测设备已广泛取代人工视觉检测,在包括3C、汽车、家电、机械制造、半导体与电子、化工、制药、航空航天、轻工等多个行业领域得到应用。传统的基于机器视觉的表面缺陷检测方法通常采用常规图像处理算法或人工设计的特征加分类器。一般而言…...

CentOS 安装MongoDB 6.0

一、安装依赖 yum install libcurl openssl xz-libs 二、下载安装包 安装包下载地址https://www.mongodb.com/try/download/community这里我选择的是 选择RedHat / CentOS 7.0平台的原因是我的操作系统使用的是CentOS 7.0的&#xff0c;需要下载与操作系统匹配的安装包 三、…...

美团面试,被拷打了一小时....

刚从美团走出来&#xff0c;被拷打了一小时…越想越觉得可惜&#xff0c;回想面试经过&#xff0c;好好总结了几个点&#xff0c;发现面试没过的主要原因是在几个关键的问题没有给到面试官想要的答案。从而失去了这次宝贵的机会。 根据你的工作经历&#xff0c;说说你对质量保证…...

017+C语言中函数栈帧的创建与销毁(VS2022环境)

0.前言 您好&#xff0c;这里是limou3434的一篇个人博文&#xff0c;感兴趣的话您也可以看看我的其他文章。本次我将和您一起学习在C语言中函数栈帧的概念。 1.学习函数栈帧的意义 局部变量是怎么穿创建的&#xff1f;为什么局部变量的值是随机的函数是怎么传参的&#xff1…...

马斯克们叫停 GPT-5,更像是场行为艺术

目录 01 联名信说了什么&#xff1f; 02 发起方是谁&#xff1f; 03 谁签署了联名信&#xff1f; 04 联名信有哪些问题&#xff1f;三巨头的另外两位 Sam Altman 的表态 其他值得关注的署名者 比如马斯克。 另一个位于前列的署名者是 Stability AI 的创始人 Emad Most…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

Xcode 16 集成 cocoapods 报错

基于 Xcode 16 新建工程项目&#xff0c;集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!

今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等&#xff0c;设置经线、纬线都以10间隔显示。 2、需要插入背会归线&#xf…...

NineData数据库DevOps功能全面支持百度智能云向量数据库 VectorDB,助力企业 AI 应用高效落地

NineData 的数据库 DevOps 解决方案已完成对百度智能云向量数据库 VectorDB 的全链路适配&#xff0c;成为国内首批提供 VectorDB 原生操作能力的服务商。此次合作聚焦 AI 开发核心场景&#xff0c;通过标准化 SQL 工作台与细粒度权限管控两大能力&#xff0c;助力企业安全高效…...

【R语言编程——数据调用】

这里写自定义目录标题 可用库及数据集外部数据导入方法查看数据集信息 在R语言中&#xff0c;有多个库支持调用内置数据集或外部数据&#xff0c;包括studentdata等教学或示例数据集。以下是常见的库和方法&#xff1a; 可用库及数据集 openintro库 该库包含多个教学数据集&a…...

Three.js进阶之粒子系统(一)

一些特定模糊现象&#xff0c;经常使用粒子系统模拟&#xff0c;如火焰、爆炸等。Three.js提供了多种粒子系统&#xff0c;下面介绍粒子系统 一、Sprite粒子系统 使用场景&#xff1a;下雨、下雪、烟花 ce使用代码&#xff1a; var materialnew THRESS.SpriteMaterial();//…...

【大厂机试题+算法可视化】最长的指定瑕疵度的元音子串

题目 开头和结尾都是元音字母&#xff08;aeiouAEIOU&#xff09;的字符串为元音字符串&#xff0c;其中混杂的非元音字母数量为其瑕疵度。比如: “a” 、 “aa”是元音字符串&#xff0c;其瑕疵度都为0 “aiur”不是元音字符串&#xff08;结尾不是元音字符&#xff09; “…...

Tableau for mac 驱动

Tableau 驱动程序安装指南 对于希望在 Mac OS 上使用 Tableau 进行数据分析的用户来说&#xff0c;确保正确安装相应的驱动程序至关重要。Tableau 支持多种数据库连接方式&#xff0c;并提供官方文档指导如何设置这些连接。 安装适用于 Mac 的 JDBC 或 ODBC 驱动程序 为了使…...