自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (1)
  • 收藏
  • 关注

原创 Golang 拷贝二维Slice踩坑

golang拷贝二维slice踩坑记录

2023-03-22 20:02:46 384 2

原创 Mac M1使用UTM安装centos7 x86_64虚拟机

Mac M1使用UTM安装centos虚拟机

2022-12-03 20:03:59 5944

原创 记一次append file数据写入不符合预期的排查过程

好久好久没写博客了,有两个原因,一个是有点懒散,另一个也是因为有点懒散。。。背景最近因为工作需要支援其他项目的工作,我被分配到的其中一个任务是导出db中一个表的部分数据写入到一个csv文件,由于公司规范问题(可能是因为表太大了),不能请sre和dba帮忙,因此需要自己写脚本来导出数据。这个项目比较旧,是用python写的,导出数据到文件的逻辑也是使用python写的。因为想一次多写点数据,写入的时候就直接写入了一段比较长的字符串;同时为了下次执行程序能在上次停下来的地方继续跑,用的是文件追加写的模

2022-03-22 15:30:57 742

原创 mysql binlog格式

参考博客[玩转MySQL之八]MySQL日志分类及简介MySQL日志文件什么是binlogbinlog二进制日志记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其它额外信息,但是它不记录SELECT、SHOW等那些不修改数据的SQL语句。binlog是server层产生的归档日志,由执行器生成,与引擎无关,不具有crash-safe能力。binlog格式binlog是逻辑日志,记录的是原语。逻辑日志与物理日志的区别可以看这篇:逻辑日志与物理日志b.

2021-04-05 15:42:16 178

原创 如何了解一项技术

该技术是什么了解技术提出的背景技术解决了什么问题,用该项技术有什么好处使用时会引入什么问题,需要考虑什么问题实现该项技术的要点业界知名、常用项目

2021-03-31 16:34:19 704

原创 go web框架gin体验

最近打算转战互联网,了解Web框架还是很有必要的,在此做一些记录。Web框架参考链接:什么是 web 框架?什么是Web框架、web框架有什么功能?服务端web框架Web框架是用于进行Web开发的一套软件架构,使用Web框架可以简化web应用程序开发。Web框架提供了工具和库来实现简单、常见的开发任务,包括路由处理,模板渲染,数据库交互,格式化输出 等,使得很多的业务逻辑外的功能不需要自己再去完善,而是使用框架已有的功能就可以,这就提高了开发web应用的效率。主流的Web框架都以这种方式

2021-03-27 22:55:08 510

原创 《大话设计模式》单例模式

单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。// 每次都加锁,效率可能较低// lockcheck/singleton.govar ( instance *singleton lock sync.Mutex)type singleton stru.

2021-03-17 16:34:23 87

原创 《大话设计模式》迭代器模式

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。优点:支持以不同的方式遍历一个聚合对象简化了聚合类既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。缺点:由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的个数成对增加,在一定程度上增加了系统的复杂性// 具体迭代器需实现的接口type IteratorInterface interface { Firs.

2021-03-17 16:26:05 65

原创 《大话设计模式》抽象工厂模式

抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。优点:易于更换产品系列由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。我们的设计不能去防止需求的更改,那么我们的理想便是让改动变得最小,现在如果你要更改数据库访问,我们只需要更改具体工厂就可以做到。降低耦合让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操纵实.

2021-03-17 16:17:24 134

原创 《大话设计模式》观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。优点:解除耦合,让耦合的双方都依赖于抽象,而不是依赖于具体,从而使得各自的变化都不会影响另一边的变化。缺点:如果一个被观察者对象有很多的直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。如果在观察者和观察目标之间有循环依赖的话,观察目标会触发它们之间进行循环调用,可能导致系统崩溃。观察者模式没有相应的机制让观察者知道所观.

2021-03-17 16:07:27 127

原创 《大话设计模式》模板方法模式

模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。[DP]模板方法模式提供了一个很好的代码复用平台,通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。有时候,我们会遇到由一系列步骤构成的过程需要执行。这个过程从高层次上看是相同的,但有些步骤的实现可能不同。当不变的和可变的行为在方法...

2020-02-15 17:22:34 165

原创 《大话设计模式》原型模式

原型模式(Prototype), 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。[DP]原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。原型模式不需要重新初始化对象,而是动态地获得对象运行时的状态。通过调用构造函数来创建对象时,每new一次, 都需要执行一次构造函数,如果构造函数的执行时间很长,那么多次的执行初始化操作将十分低效。一般...

2020-02-08 18:12:46 142

原创 《大话设计模式》代理模式

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。[DP]代理模式其实就是在访问对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途(远程代理、虚拟代理、安全代理、智能指引等)。public class Subject{ public virtal void Request () = 0;}public class RealSubject : pub...

2020-02-08 17:45:00 156

原创 《大话设计模式》装饰模式

装饰模式( Decorator) 是为已有功能动态地添加更多功能的一种方式,给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。[DP]Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent 是定义了一个具体的对象,也可以给这个对象添加一些职责。 Decorator, 装饰抽象类,继承了Component,从外类来扩展...

2020-02-08 17:30:37 142

原创 《大话设计模式》设计原则

一、单一职责原则单一职责原则(SRP), 就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离[ASD]。如果你能够想到多于一个的动机去改变一个类, ...

2020-02-05 18:08:32 127

原创 《大话设计模式》策略模式

策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合[DPE]。策略模式就是用来封装算法的,可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性[DPE]。策略模式的Strategy 类层次...

2020-02-02 18:56:59 232

原创 《大话设计模式》简单工厂模式与工厂模式

简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。摘自:https://www.jianshu.com/p/5cb52d84bd6dpublic class Operation { private: double numA;...

2020-02-02 17:38:19 153

原创 centos7+kubeadm+weave部署Kubernetes v1.15.1(无梯子)

步入社会开始工作,项目跟k8s相关,开始了漫长的学习之路。在网上的教程和导师的帮助下终于装好了k8s,感激零涕。所以写个部署文档,和一些排错用到的命令,给其他小伙伴一些思路。参考文章最推崇的是第一篇文章,基本的步骤都有。1、使用kubeadm安装Kubernetes 1.153、CentOS7 用 kubeadm 快速安装 Kubernetes v1.13.4 最新教程4、Cen...

2019-08-01 14:59:29 228

原创 linux学习笔记(二)

本篇继续学习linux的常用命令,上接linux学习笔记(一).学习视频为Linux达人养成计划 I,十分感谢tony老师的无私奉献。二、常用命令…16、帮助命令man...

2019-04-24 17:54:53 327

原创 Android Studio gradle报错:Received status code 400 from server: Bad Request

终于写了as这个坑的第一篇博客希望以后有时间能把搞毕设时候踩过的坑啥的总结一下…先贴一下解决方案:https://www.jianshu.com/p/e0ba79c83183真的匿名感谢这位博主!!!---------分界线------------------------------------下面是解决问题的艰辛之路:今天也在为毕设奋斗着(一边玩手机一边看代码),结果晚上突然报错,大...

2019-03-19 01:28:55 1732

原创 linux学习笔记(一)

linux中一切皆文件最近开始学习linux,虽然以前也有用过,但是并不能在linux下只靠键盘存活。该填的坑还是要填的。我学习的视频链接:这个链接是慕课网上一位培训老师的课程链接,都是免费的,讲得通俗易懂,比较幽默风趣。一、分区分区:把大硬盘分为小的逻辑分区格式化的目的是为了写入文件系统而不是清空数据但是为了写入文件系统需要重新分块(block)因此需要清空数据li...

2019-03-11 01:00:01 507

转载 linux 权限

参考博客: 内容均整合自以下博客Linux下用户组、文件权限详解Linux 入门记录:十二、Linux 权限机制一、权限权限是操作系统用来限制资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。二、文件权限权限对文件的影响对目录的影响r(读取)可读...

2019-03-04 12:04:37 889

原创 vs的vector容量分配

之前看stl源码书里说到,vector的容量不足时会两倍两倍地增长,用dev c++做实验时也确实是2倍,但是用vs做实验却是1.5倍。想起了之前虎牙面试的时候面试官有问过容量怎么重新分配,我说是2倍,面试官说不一定。百度了一下说在linux下也是2倍(没有实践),应该是不同环境的实现版本不一样。下面是代码: vector<int> Vec; cout <<...

2019-03-01 00:16:27 2106

原创 常用排序算法

虽说是常用,也只是一些我自己比较经常看到的算法,像折半插入排序、多路归并排序、基数排序桶排序之类的还是点链接看看吧,这里就不写了。以下主要是多篇博客的总结十大经典排序算法(动图演示)常见的7种排序算法[算法总结] 十大排序算法1、冒泡排序冒泡排序主要是把通过比较,把小的元素从下面交换到上面,因此称为“冒泡”(从小到大排)。算法描述:比较相邻的元素,如果前面的比后面的大,就交换它...

2019-02-25 16:01:49 177

原创 实习学到的东西(四)

1、incredibuild参考文章:IncrediBuild工具使用及设置Xoreax IncrediBuildincredibuild是一个可以提高编译速度的对应Visual C++ 的分布式编译软件。分布式编译分布式编译的原理很简单, 就是将编译的整个工作量通过分布计算的方法分配到多个计算机上执行, 这样可以获得极大的效率提升. 由于分布式计算的技术相对成熟, 现在可以见到的...

2018-11-03 10:37:30 315

原创 Rendering Problems :Failed to load platform rendering library

网上说出现这个问题是因为api版本太高了,将版本调低就可以了原本设置的是28,调到27和26都不行,于是一口气下了23 24 25,调成23就可以了,调到24时报错:网上说因为24版本的Android为null。java.lang.NoClassDefFoundError: com/android/util/PropertiesMap at com.android.layoutlib.br...

2018-10-07 19:41:34 1159 1

原创 实习学到的东西(三)

中秋假期的时候就想写这篇了,但是因为太懒所以没写…今天记录的是用vs编程的时候的附加到进程的调试方法。因为运行大项目的时候可能会有多个进程,而vs可能不能支持这么多个进程同时跑,因此可以先编译,然后执行他们的exe文件,运行起来后点击vs的调试–附加到进程–选择你想调试的进程,然后添加断点调试之类云云,就可以在运行多个进程的时候只调试想要调试的进程啦~要注意用于生成exe文件的代码一定是...

2018-09-25 23:51:30 188

原创 实习学到的一些东西(二)

最近实习一直在看公司代码框架,看到许多用到了单例模式的地方。有些是直接写一个单例模式实现,有些则是继承自一个单例模板。 因为继承自单例模板的实现方式以前没有接触过,所以这里记录一下。1、首先声明一个单例模式模板基类:template<class T>class Singleton { public: static T* get() { ...

2018-09-17 12:55:41 263

原创 LeetCode题 Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters. Example 1: Input: “abcabcbb” Output: 3 Explanation: The answer is “abc”, with the length of 3...

2018-09-12 23:19:30 116

原创 一些扫盲知识

1、编译与链接C++编译与链接(1)-编译与链接过程 C/C++程序从编译到最终生成可执行文件的过程分析代码需要通过以下步骤才能生成一个可执行文件:预处理->编译->汇编->链接->可执行文件 预处理器主要负责以下的几处1.宏的替换2.删除注释3.处理预处理指令,如#include,#ifdef 可以通过g++ test.cpp -E ...

2018-09-09 21:26:45 224

原创 虎牙秋招面经

今天虎牙面试,鼓起勇气跟公司的实习导师坦白我在弄秋招的东西然后请了假,去华工参加面试。老实说过了一面和二面真的很开心,虽然有想过三面会挂,但是没有想过还没写代码就挂了…应聘的是客户端,但是只有一面的面试官是客户端的,因为他们觉得我实习做服务端可以去服务端试试,不过真正问了服务端相关的是三面的面试官。一面问到的一些问题:stl用过哪些, vector的内存分配问题,vector和lis...

2018-09-09 00:27:39 2776

原创 实习学到的一些东西(一)

自从上一篇博客之后就没怎么更博了…实在是有点堕落 最近开始实习,一直在熟悉代码框架,看代码的时候会学习到一些编程技巧,有许多不懂的地方感觉跟设计模式也有关系,但是不太熟悉设计模式,需要加强,等理解了再写那部分。1、和常数进行比较(判断相等==,和不相等!=)时,把常数写在操作符的左边 这样可以降低写漏一个符号造成错误的可能性(比如==写成了=)。2、将类使用计数型指针来管理(比如sha...

2018-09-07 22:05:23 589

原创 Windows c++界面开发初学(十三)win32

今天终于做完了最后一个部分–会议管理部分,包括了会议查询、删除和创建。 win32的学习也以此告一段落。下次再见可能就投入qt的怀抱了。UI选择显示会议的选项,可以选择显示所有赞助会议、所有参与会议以及所有赞助和参与会议。 选择查询条件的选项,可以选择以会议名称查询会议、会议时间查询会议的方式查询会议记录,需要点击查询按钮。 点击添加会议按钮跳转到创建会议对话框。 Sponso...

2018-08-28 00:17:04 1523 11

原创 Windows c++界面开发初学(十二)win32

今天把用户管理界面大致完成了,主要涉及的功能为展示所有用户、删除当前用户、更改当前用户信息。参考网址: 怎样在程序中让Edit Control显示或是隐藏 Edit Control1、UI用户管理界面,点击会议管理切换至会议管理界面,点击修改用户信息切换至用户信息修改页面, 当前用户显示当前登录的用户的用户名 用户信息修改页面,点击修改密码按钮后才能修改密码,需要输入旧密码...

2018-08-25 22:46:34 1004

原创 Windows c++界面开发初学(十一)win32

今天把项目的UI设计好了,页面跳转也设置好了,先完成了用户登录和用户注册。 代码设计了很多以前实训写的代码,这里就不放上来了,通过函数名字还是能看出来在干什么的。参考博客: 【mfc】用对话框的切换实现重新登录 CHAR与WCHAR字符串的转化发现MFC其实就是把win32的api封装起来更易于使用,但是因为写完这个程序就不学windows的接口写界面了,所以虽然mfc很方便但是还是...

2018-08-23 22:39:42 4810

原创 Windows c++界面开发初学(十)win32

今天开始准备将会议议程管理系统做出有界面的应用。 尝试了一下发现以我的能力还是不能一下子就做完,不管是UI还是实现都还没有想好,所以还是要一步一步来。 今天学习对话框登录,以及登录成功切换到下一个对话框的实现。下面是参考博客和文档: 【mfc】用对话框分页实现用户登录 还有一些资源创建的方法,可以查看我之前写的博客。 DialogBoxA macro 创建模态对话框通过一个对话框...

2018-08-21 22:06:35 4168

原创 mysql导出数据时出现ERROR 1290 (HY000)

当执行以下sql语句来导出数据时:mysql> select UserName, UserEmail from USERS -> into outfile 'userData.txt' -> files terminated by ','enclosed by '"' -> lines terminated by '\n';出现以下错误...

2018-08-18 22:27:36 1742

原创 MySQL LIKE 子句

MySQL LIKE 子句有时候我们需要获取某个字段含有某些特定字符的所有记录,比如我们需要获取邮箱地址字段中含有‘123’字段的记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。SQL LIKE 子句中使用百分号 %字符来表示任意字符(长度为0-n),使用下划线_表示长度为1的任意字符。如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。 '...

2018-08-18 20:29:14 277

原创 mysql中where子句不区分大小写

如题,mysql中的where子句在遇到字符串时不区分大小写。 因此,假设表中有两条记录的UserName分别为‘janet’和‘Janet’,如果执行以下语句:update table set UserEmail='[email protected]' where UserName='janet';此时我们只想改变‘janet’的邮箱,却不小心把‘Janet’的邮箱也更改了。解决办法就是使用bi...

2018-08-18 19:58:20 3147

原创 ubuntu安装mysql以及尝试连接数据库

以前装的mysql是在windows装的,现在想熟悉一下linux开发于是在我的老虚拟机上也装一下。环境:ubuntu 14.04 大概安装步骤就是(此处参考这篇博客)sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get intsall libmysqlclient-dev //...

2018-08-17 00:29:33 131

概率论与数理统计(第四版)

[概率论与数理统计(第四版)].盛骤&谢式千&潘承毅.扫描版.pdf

2018-09-04

空空如也

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

TA关注的人

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