自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(439)
  • 收藏
  • 关注

原创 mysql left join查询慢

前提:mysql 5.7。

2023-10-27 19:36:06 469

原创 vs2019使用问题记录

vs2019使用问题

2023-09-08 20:11:46 256

原创 vs2010安装失败

vs2010安装失败解决

2023-09-08 20:03:40 633

原创 Python学习笔记16:测试基础

测试驱动的编程测试四部曲。

2023-04-24 22:40:30 581 1

原创 Python学习笔记15:Python和Web

缺点。

2023-04-19 21:45:41 359

原创 Python学习笔记14:网络编程

打开远程文件:urlopen获取远程文件:urlretrieve清空这样的临时文件:urlcleanup标准库中一些与网络相关的模块。

2023-03-13 20:54:03 672

原创 Python学习笔记13:数据库支持

Python DB API的模块属性Python DB API指定的异常函数connect的常用参数连接对象的方法游标对象的方法游标对象的属性DB API构造函数和特殊值。

2023-03-07 20:58:11 214

原创 Python学习笔记12:图形用户界面

Tkinter是一个跨平台的Python GUI工具包,成熟而且使用广泛。布局:通过指定组件的几何属性,很容易对其进行定位,但要确保它们在父窗口的大小发生变化时做出正确的反应,就必须使用布局管理器。:GUI有助于让应用程序对用户更友好。并非所有的程序都需要GUI,但只要程序需要与用户交互,GUI就可能很有帮助。:GUI工具包中用户触发事件执行的操作。要发挥作用,程序可能需要响应某些事件,否则用。

2023-03-07 20:57:16 121

原创 Python学习笔记11:文件

函数open的参数mode的最常见取值。

2023-03-04 15:55:06 495

原创 Python学习笔记10:开箱即用

在交互式解释器中导入模块后,就可以众多不同的方式对其进行探索,其中包括使用dir、查看变量__all__以及使用函数help。文档和源代码也是获取信息和洞见的极佳来源。如果模块位于环境变量PYTHONPATH包含的目录中,就可直接导入它;要导入存储在文件foo.py中的模块,可使。:模块基本上是一个子程序,主要作用是定义函数、类和变量等。模块包含测试代码时,应将这些代码放在一条检查name == ':Python自带多个模块,统称为标准库。本章介绍了其中的几个。添加行号后的行号添加程序。

2023-03-01 21:31:27 423

原创 Python学习笔记9:魔法方法、特性和迭代器

重写构造函数时,必须调用超类(继承的类)的构造函数,否则可能无法正确地初始化对象[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wNGwaOIZ-1677508665299)(./resource/super%E4%BC%98%E7%82%B9.png)]

2023-02-27 22:38:35 238

原创 Python学习笔记8:异常

务必直接或间接地继承Exception(这意味着从任何内置异常类派生都可以) class SomeCustomException(Exception) : pass。

2023-02-24 20:59:26 509

原创 Python学习笔记7:再谈抽象

在Python中,所有的属性都是公有的,但直接访问对象的状态时程序员应谨慎行事,因为这可能在不经意间导致状态不一致。相比于其他函数,(关联的)方法有一个不同之处,那就是它总是将其所属的对象作为第一个参数,而这个参数通常被命名为self。:一个类可以是一个或多个类的子类,在这种情况下,子类将继承超类的所有方法。本着鸭子类型的精神,我们相信它能承担Talker的职责,但可悲的是它失败了。类的主要任务是定义其实例将包含的方法。:多态指的是能够同样地对待不同类型和类的对象,即无需知道对象属于哪个类就可调用其方法。

2023-02-21 21:08:22 301

原创 Python学习笔记6:抽象

函数是使用def语句定义的。函数由语句块组成,它们从外部接受值(参数),并可能返回一个或多个值(计算结果)。

2023-02-20 21:26:44 335

原创 Python学习笔记5:条件、循环及其他语句

赋值语句的右边可以是任何类型的序列,但带星号的变量最终包含的总是一个列表。这种收集方式也可用于函数参数列表中。

2023-02-18 15:42:05 479

原创 Python学习笔记4:当索引行不通时

从其他映射(如其他字典)或键-值对序列创建字典使用关键字实参。

2023-02-18 10:38:40 367

原创 Python学习笔记3:使用字符串

命名字段如果变量与替换字段同名,还可使用一种简写:f字符串。

2023-02-16 21:18:32 422

原创 Python学习笔记2:列表和元组

PS 索引从0开始好计算偏移量;用负索引表示序列末尾元素的位置。

2023-02-15 21:16:00 206

原创 Python学习笔记1:快速上手:基础知识

基础求余(求模): x % y 等价于x - ((x // y) * y)。对负数求余乘法运算变量在Python中,名称(标识符)只能由字母、数字和下划线(_)构成,且不能以数字打头。因此Plan9是合法的变量名,而9Plan不是。PS:为什么不能以数字打头:原因一 词法分析说 因为每次输入“头符号”后要判断该符号是数字还是字符,而禁止以数字开头只需要判断一次,很显然每一次都要判断是一种极大的浪费原因二 现有的数据无法区分 “1e5”,“100L”,“10f”在Python 3中

2023-02-15 21:14:20 355

原创 progit笔记:Git内部原理

从根本上来讲 Git 是一个内容寻址(content-addressable)文件系统,并在此之上提供了一个版本控制系统的用户界面。.git目录结构:重要:树对象能解决文件名保存的问题,也允许我们将多个文件组织到一起。Git 以一种类似于 UNIX 文件系统的方式存储内容,但作了些许简化。 所有内容均以树对象和数据对象的形式存储,其中树对象对应了 UNIX 中的目录项,数据对象则大致上对应了 inodes 或文件内容。 一个树对象包含了一条或多条树对象记录(tree entry),每条记录含有一个指

2022-06-14 22:49:03 163

原创 progit笔记:Git与其他系统

Git与Subversion 这个工具允许你使用 Git 作为连接到 Subversion 有效的客户端,这样你可以使用 Git 所有本地的功能然后如同正在本地使用 Subversion 一样推送到 Subversion 服务器。 这意味着你可以在本地做新建分支与合并分支、使用暂存区、使用变基与拣选等等的事情,同时协作者还在继续使用他们黑暗又古老的方式。设置创建一个新的本地 Subversion 仓库开始通过 命令开始,将整个 Subversion 仓库导入到一个本地 Git 仓库这相当于运行了两个

2022-06-11 15:13:46 89

原创 progit笔记:自定义Git

系统级,传递 选项给 ,它就会读写该文件。 用户级,传递 选项让 Git 读写该文件。 仓库Git目录下,向 传递 选项。客户端基本配置可以通过 查看当前配置格式化与多余的空白字符Windows 使用回车(CR)和换行(LF)两个字符来结束一行,而 macOS 和 Linux 只使用换行(LF)一个字符。默认被打开的三个选项是:,查找行尾的空格;,盯住文件底部的空行;,警惕行头 tab 前面的空格。默认被关闭的三个选项是:,揪出以空格而非 tab 开头的行(你可以用 tabwidt

2022-06-10 16:45:48 105

原创 progit笔记:Git工具

单个修订版本分支引用显示提交信息:引用日志注意:引用日志只存在于本地仓库,它只是一个记录你在自己的仓库里做过什么的日志。祖先引用提交区间多点三点贮藏与清理贮藏工作想要切换分支,但是还不想要提交之前的工作;所以贮藏修改注意:文件的改动被重新应用了,但是之前暂存的文件却没有重新暂存,回到原来的位置贮藏的创意性使用从贮藏创建一个分支清理工作目录搜索Git GrepGit日志搜索行日志搜索重写历史修改最后一次提交注意:修正会

2022-06-08 18:34:33 171

原创 progit笔记:GitHub

GitHub流程流程通常如下:创建拉取请求案例与上游保持同步参考对拉取请求或议题(Issue)进行相互引用让你的 GitHub 公共仓库保持更新当原仓库有新的提交时,GitHub 会通知你:需要自己更新自己GitHub仓库每次都要输入从哪个URL抓取有点麻烦。可以稍微设置一下:设定后,工作流程如下:注意:不要直接提交到 master,因为该分支实际上属于上游仓库合并请求引用实际上 GitHub 在服务器上把合并请求分支视为一种 “假分支”。 默认情况下你克隆时不会得到它们,但它们还是隐式地存在,

2022-06-08 11:07:47 97

原创 progit笔记:分布式Git

集中式工作流集成管理者工作流主管与副主管工作流提交准则私有小型团队私有管理团队John 与 Jessica 在一个特性(featureA)上,John和Joise标反了。派生的公开项目拉取请求通过邮件的公开项目维护项目应用来自邮件的补丁使用注意:相对于 patch 来说,它能够接受的模糊匹配更少。 它也能够处理 git diff 格式文件所描述的文件添加、删除和重命名操作;全部应用,否则就全部撤销(apply all or abort all)。使用 是为了读取 mbox 文

2022-06-01 17:36:40 88

原创 progit笔记:服务器上的Git

Progit学习笔记:服务器上的Git裸仓库是工程目录内的 .git子目录内容,不包含其他资料。协议Git可以使用四种协议传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git协议。本地协议本地协议(Local protocol) ,其中的远程版本库就是同一主机上的另一个目录。# 克隆本地版本库$ git clone /srv/git/project.git# 指定 file://$ git clone file:///srv/git/proje

2022-05-31 17:12:59 91

原创 progit笔记:Git基础

Progit学习笔记:Git基础获取Git仓库通常有两种获取 Git 项目仓库的方式:将尚未进行版本控制的本地目录转换为 Git 仓库;从其它服务器 克隆 一个已存在的 Git 仓库。在已存在目录中初始化仓库$ cd /c/user/my_project$ git init如果在一个已存在文件的文件夹(而非空文件夹)中进行版本控制,你应该开始追踪(add)这些文件并进行初始提交(commit)$ git add *.c$ git add LICENSE$ git commit -

2022-05-25 00:06:36 101

原创 progit笔记:起步

Progit学习笔记:起步版本控制集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS),例如CVS、Subversion 以及Perforce。优势:每个人都可以在一定程度上看到项目中的其他人正在做些什么;管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端 上维护本地数据库来得轻松容易。劣势:中央服务器的单点故障,无法协同工作;如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包

2022-05-24 22:02:29 105

转载 RapidXml使用

vs2017rapidxml-1.131 RapidXml使用1.1 创建xml#include <iostream>#include "rapidxml/rapidxml.hpp"#include "rapidxml/rapidxml_utils.hpp"#include "rapidxml/rapidxml_print.hpp"using namespace rapidxml;void crateXml(){ xml_document<> doc; x

2022-05-16 15:33:59 1101

转载 动态库生成的*.pdb *.ilk *.exp作用

PDB文件包含调试信息,并且在任何时候需要逐步浏览DLL代码时都很有用。ILK文件被连接器使用,如果你不重新编译DLL,肯定不需要ILK文件,并且如果你不是必需的,它会变得有用。EXP文件包含有关从DLL导出的东西的信息转载于:http://cn.voidcc.com/question/p-abzcerfs-wv.html...

2022-03-21 15:41:00 1831

转载 linux记录登录用户的ip和操作

每个用户家目录下.bash_history记录命令操作,现在将history重定向到日志文件。方法一:按时间点记录    ~~~~    日志文件名包括了用户和ip和登入时间,日志文件内容与.bash_history内容一致,记录了unix time和用户命令。在/etc/profile最后添加#监控登录用户操作,并记录到/tmp/historyUSER_IP=`who -u am i 2>/dev/null|

2022-03-15 10:00:53 899

原创 std::thread

1. std::thread创建和使用#include <thread>#include <iostream>#include <string>#include <chrono>using namespace std;void func(int num, string str){ for (int i = 0; i < 10; ++i) { cout << "子线程: i = " << i <<

2021-09-23 20:00:45 561

原创 dp:单词拆分2

Leetcode, WordBreak2#include <iostream>#include <string>#include <unordered_set>#include <vector>#include <algorithm>using namespace std;void gen_path( const string& s, const vector<vector<bool>> &p

2021-07-25 13:06:21 85

原创 dp:单词拆分

Leetcode,分析设状态为 f(i),表示 s[0,i] 是否可以分词,则状态转移方程为f(i) = any_of(f(j)&&s[j + 1, i] ∈ dict), 0 ≤ j < i#include <iostream>#include <string>#include <unordered_set>#include <vector>#include <algorithm>using namespa

2021-07-24 19:40:04 88

原创 dp:不同的子序列

Leetcode, DistinctSubsequences分析设状态为 f(i, j),表示 T[0,j] 在 S[0,i] 里出现的次数。首先,无论 S[i] 和 T[j] 是否相等,若不使用 S[i],则 f(i, j) = f(i − 1, j);若 S[i]==T[j],则可以使用 S[i],此时 f(i, j) = f(i − 1, j) + f(i − 1, j − 1)。#include <iostream>#include <string>#includ

2021-07-23 20:41:50 53

原创 dp:解码方法

Leetcode, DecodeWays#include <iostream>#include <string>using namespace std;//类似Climb Staris, f(n) = f(n - 1) + f(n - 2)//动规,时间复杂度 O(n),空间复杂度 O(1)int solution(const string &s){ if (s.empty() || s[0] == '0') return 0; int prev

2021-07-22 20:12:44 127

原创 dp:编辑距离

Leetcode,EditDistance分析设状态为 f[i][j],表示 A[0,i] 和 B[0,j] 之间的最小编辑距离。设 A[0,i] 的形式是 str1c,B[0,j] 的形式是 str2d,如果 c==d,则 f[i][j]=f[i-1][j-1];如果 c!=d,(a) 如果将 c 替换成 d,则 f[i][j]=f[i-1][j-1]+1;(b) 如果在 c 后面添加一个 d,则 f[i][j]=f[i][j-1]+1;© 如果将 c 删除,则 f[i][j]=f[i-

2021-07-21 20:16:07 76

原创 dp:最小路径和

Leetcode, Minimum Path Sum类似unique_path#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;// 备忘录法vector<vector<int>> vec;int dfs(vector<vector<int>> &gr

2021-07-20 21:32:03 56

原创 使用fstream和sstream读取文件

1.txtname31-1 2-2 3-31 1.0 2.0 3.02 4.0 5.0 6.03 7.0 8.0 9.0#include <iostream>#include <vector>#include <sstream>#include <fstream>using namespace std;class TestData{public: TestData(string filePath); string _

2021-07-20 21:27:13 219

原创 dp:扰乱字符串

Leetcode, ScrambleString#include <iostream>#include <string>#include <vector>using namespace std;typedef string::iterator Iter;bool isScramble( Iter first1, Iter last1, Iter first2 ){ auto len = std::distance(first1, last1 ); au

2021-07-19 21:33:26 71

空空如也

空空如也

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

TA关注的人

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