自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 MySQL 按照月份进行分区实现

昨天倒是遇到一个分表的场景,觉得挺有趣,整张表大小目前300G,想要进行重建,但是写入的数据量理论上还是非常大,改业务有点麻烦,因此选择进行分区,想要按照月份进行分区,每次只保留最近三个月的分区,因此进行重建表,为了不影响业务线,具体方式:旧表重命名-新建表-添加索引-执行分区-删除旧表。关于分区:要求还是比较严格的,只有几种类型,比如hash、range这些,但是想要按照月份,如何实现实现上仍是按照range进行实现,然后表中增加month字段,专门用来做分区用,注意,这个字段比如标注为主键,否则

2020-07-04 14:50:10 141

原创 redis基础类型源码解读

本周给大家分享一下redis的源码解读,主要内容是redis五种数据类型底层是怎么实现的,今天是第一课String类型。------- 摘自 智线云-李丰-每周小课堂第一课、简单动态字符串(sds)字符串的实现是使用c语言自定义的struct结构体,简称为sds(simple dynamic string)简单动态字符串,这个结构体的声明如下:这个是3.0版本结构体定义struct sdshdr { unsigned int len;//存储的字符串长度 unsigned int f

2020-07-04 14:30:54 44

原创 Yii API接口工作开发

概述:Yii是提供一种restful风格的接口开发,可以使用这个,也可以不进行使用,我想的是不进行使用。如果是yii2 RESTful api提供的,直接进行配置就好,但是我不太想使用,原因有二,一是他是应该没办法自己定义请求接口url,二是他没办法对字段什么进行处理,好像直接就返回整个model了。如果自己定义的话,有以下几个步骤yii2迁移数据库配置控制器配置Url规则其他进阶操作整体看起来还是比较简单的。参考:yii2 RESTful api的详细使用_基础...

2020-05-10 16:03:44 127

原创 yii2 操作数据库/数据库返回指定字段/数据库操作汇总/迁移数据库 操作

$sss=Category::find() ->select('name') ->where(['id'=>'1']) ->one();//以下为补充说明 User::findOne($id);//此方法返回 主键 id=1 的一条数据(举个例子); User::find() ->where(['name'=>'dodobook']) ->one();//此方法返回 ['name' => 'dodobook'] 的一条数

2020-05-10 15:23:24 143

原创 vim 操作/具体问题/撤销 回退 操作

1、linux下vi或vim操作Found a swap file by the name的原因及解决方法重点是如何删除这个swap文件。ls -a命令 进行查看,ls -a 显示隐藏文件rm .Test.java.swplinux下vi或vim操作Found a swap file by the name的原因及解决方法...

2020-05-10 15:14:18 73

原创 windows下PHP/Yii 本地开发环境配置,xampp、PHPstorm、yii、composer

大致分为几部分:安装xampp–打开openssl–安装composer–下载Yii框架到本地–配置MySQLxampp进行配置:在web服务器配置文件中设置项目的根目录,然后可以使用urlURLhttp://localhost/ 来访问这个应用,在下载完yii,就是如何在xampp中配置yii项目,然后应该就可以执行了。本地开发:使用PHPstorm关键点1本人一直以为xampp和...

2020-05-06 20:39:42 49

原创 MySQL基础操作

1、刚刚安装完数据库后,应该先创建库,create database dbname;然后再进入库中,use dbname;之后再进行创建表等操作。

2020-05-06 20:17:42 55

原创 requests 和 scrapy 区别于选择

requests 是一个http框架,可以用来做爬虫scrapy 是一个专业的爬虫框架优点缺点requests入门快,自己实现,易于拓展修改实现一个稳定的业务比较麻烦scrapy提供各种工具,较为方便前期需要进行学习配置,后期限制比较多如果是长期做的话,那建议,先入手scrapy,然后再对这个框架进行自己需求上的升级。维护开源库,进行造轮子,哈哈参考...

2020-05-05 18:19:08 123

原创 网络连接问题/QQ能连网页打不开/部分网页打不开/部分网页显示请求失败

 先说结论,几种方式尝试,第一种清空缓存,cmd下config/flushdns,清空dns缓存重新请求。第二种方式,进行网络诊断。在网络和共享中心,更改配置器设置下,右键进行网络诊断,就会自动进行修复。第三种是打开360,有一个功能大全,网络诊断,进行自动修复,点击即可。以上基本都是傻瓜操作,可以逐个进行操作,着急的话,直接尝试第二种。QQ能连网页打不开我是直接使用第三种方式进行解决,亲测可...

2020-05-05 18:14:30 93

原创 facebook Marketing API 相关知识学习 问题

4、facebook Marketing API 学习整理

2020-05-05 18:05:49 111

原创 PHP 使用技巧

PHP第一个项目–HelloWorld(从安装到运行成功)

2020-05-05 18:05:06 85

原创 python 基础

python 类的内部相应调用如果是类内一个方法调用类内另一个方法,直接使用self就可以进行使用。如果是类外的话,可能需要先实例化,实例化后才可以使用。class TestDate: a = 1 # "__init__"为类的构造函数 def __init__(self): self.a = 666 pass def a_1(s...

2020-05-04 22:00:47 140

原创 python 爬虫 入门

以下将会展示一个入门的爬虫程序,将会将爬取的数据临时存储在csv文件中。涉及到以下几个点:csv的写入和读取分析爬取目的解析文件结构【Class 20】【实例】python 爬虫简单案例实现二—将数据保存为CSV文件...

2020-05-04 21:29:07 60

原创 pymysql 基础/进阶

进阶:参考:pymysql模块操作数据库、(数据库连接池,手撸简单orm)pymysql的连接池实现

2020-05-04 21:10:55 40

原创 python进阶

Python进阶-----静态方法(@staticmethod)对python 通过ssh访问数据库的实例详解

2020-05-04 21:10:47 160

原创 cURL

curl是什么,怎么用,进阶用法curl网站开发指南

2020-05-04 21:10:32 50

原创 python基础-数据结构转换/列表处理/字符串转数字

Python中列表元素转为数字的方法有一个数字字符的列表:numbers = ['1', '5', '10', '8']想要把每个元素转换为数字:numbers = [1, 5, 10, 8]用一个循环来解决:new_numbers = [];for n in numbers: new_numbers.append(int(n));numbers = new_numbers;...

2020-05-04 21:10:26 54

原创 python爬虫 出现问题

ValueError: I/O operation on closed file应该是f.close() 缩进错误, 和for 下载同一级别即可解决此问题。只要不出现close后仍然操作的现场应该就可以。ValueError: I/O operation on closed file 的解决办法...

2020-05-04 21:10:10 53

原创 peewee 进阶/入门

入门:Python ORM框架之 Peewee入门进阶:

2020-05-04 20:40:20 83

原创 初识 OKR/OKR是什么

什么是OKR? O是Objectives,KR是Key Results,OKR就是Objectives and Key Results,即目标与关键结果法。是一套明确和跟踪目标及其完成情况的管理工具和方法,被谷歌成功使用,现在逐渐也被很多国内的公司采用。O(Objectives):目标,它问我们想做什么?K(Key Results):关键结果。那些关键结果证明你实现了目标,通过关键结果...

2020-05-04 17:15:28 92

原创 SQL实现新行插入,旧行更新/判断重复数据则不插入/insert ignore、insert和replace的使用

mysql中如何判断指定字段的重复数据则不插入?以下是几种具体方法。方法一:sql拼接进行解决,复杂麻烦。insert into 表名(待插入字段1,待插入字段2,…,待插入字段n)select‘张三’,‘1’,…,‘袜子’from 表名 awhere not exists(select 1 from 表名 b where b.判断条件字段1=‘张三’ and b.判断条件字段2=‘...

2020-05-04 16:58:19 303

原创 git-报错总结-fatal: 'origin' does not appear to be a git repository...

1、在push时候报错,‘origin’ does not appear to be a git repository…但是我的库是有的,检查分支也能检查到分支,就是push时候报错。可能两种原因,没有关联(添加关联),或者添加错误(重新关联)$ git push -u origin masterfatal: 'origin' does not appear to be a git repo...

2020-04-25 09:34:37 142

原创 git 使用/一站式解决你遇到所有的问题

连接配置:前述:远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github、gitlab等。为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLab。本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式。HTTP方式:这种方式要求project在创建的时候只能选择“Public”公开状态,Privat...

2020-04-25 09:34:21 80

原创 Java相关学习-好文博客汇总-容器、锁、调优、框架、数据库、网络、数据结构

 将自己在学习过程中遇到的一些非常好的博客进行了一波汇总,按照知识点进行分类。几个大的汇总文章:java面试题汇总,你值得拥有!!!秋招Java之经常被问到的底层原理+调优总结+ 特别的疑问的面试题20+互联网公司面试总结(Java方向)JAVA面试题 java部分牛客面经 | 美团java开发,3轮面试+hr面,穷极详尽美团大众点评面试经验——后台开发美团java全程面经+忠告...

2020-04-19 10:40:29 47

原创 Java 面试 相关问题

JMM、老年代在什么情况下会触发GC、对老年代的GC会不会导致程序卡顿?(最优吞吐量和最短停顿时间)1、JMM详解2、老年代:这是HOTSPOT中的垃圾回收机制中的一个名称,在堆进行回收时,如果实行复制回收,那么则会将堆划分为Eden和老年代,以及持久代3、GC有两种情况,一种是Young GC(MinorGC),一种是FullGC,如果是触发FullGC,一般有以下几种方式:老年代空间...

2020-03-01 17:22:18 161

转载 Java面试总结之Full GC

一、gc的定义GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。二、gc的基础知识准备要了解GC的触发条件,就要先对 JVM的内存结构有一定的了解。我们通常所说的GC主要是针对运行的数据区的。作为程序员...

2020-03-01 11:54:00 125

原创 java 常见面试题

基本问题基本数据类型和对象的区别(1) 基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的栈上的,数据本身的值就是存储在栈空间里面,Java语言里面八种数据类型是这种存储模型;(2) 引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java堆和栈来进行这种类型的数据存储...

2020-03-01 11:19:03 177

原创 面试 数据结构

概述:JAVA中常用的数据结构主要有这样几种分类:List:可存储相同的值(确切讲是a.equals(b)时,二者都可存储)。我们会挑选适宜连续存储的ArrayList和链式存储的LinkedList进行介绍。Set:不可存储相同值。挑选线程不安全的HashSet和线程安全的ConcurrentHashSet进行介绍。Map:存储key-value形式的数据。挑选线程不安全的HashMa...

2020-02-29 19:45:02 115

原创 面试 MySQL

索引1.索引是什么?有什么作用以及缺点  答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。也可以理解为索引就是一本书的目录,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚集索引那么需要的空间就会更大。2.索引的目的是什么  答:为了高效的...

2020-02-29 17:07:36 55

原创 面试常见七大排序

一、基本介绍十种常见排序算法可以分为两大类:  比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。  非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度...

2020-02-29 16:12:47 51

原创 HTTP、TCP、IP 协议常见面试题

基础:  HTTP:(HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。  TCP:(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的...

2020-02-29 14:38:40 253

原创 数据结构 稀疏矩阵的压缩方法 待补充

来自 严蔚敏《数据结构》稀疏矩阵的压缩方法主要有:1:三元组顺序表 (行下标,列下标,值)2:行逻辑链接的顺序表。3:十字链表。什么是稀疏矩阵: 在矩阵中,我们常见的都是稠密矩阵,即非0元素数目占大多数时;若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵。与之相区别的是,如果非零元素的分布存在规律(如上三角矩阵、下三角矩阵、对角矩阵),则称该...

2020-02-29 13:36:29 53

转载 Java中的字符串常量池

 Java中字符串对象创建有两种形式,一种为字面量形式,如String str = “droid”;,另一种就是使用new这种标准的构造对象的方法,如String str = new String(“droid”);,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式。然而这两种实现其实存在着一些性能和内存占用的差别。这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,...

2020-02-29 11:52:42 29

原创 java字符串常用的方法总结

java常见方法函数的实例,1、字符串比较compareTo、compareToIgnoreCase2、字符串查找indexOf、lastIndexOf3、删除字符串4、字符串替代replace、replaceAll5、字符串反转reverse6、字符串转变大小写toUpperCase、toLowerCase7、去掉首位空格trim8、是否包含某字符/字符串contains9、返...

2020-02-29 11:45:42 92

转载 JAVA中字符流详解

字符流:就是在字节流的基础上,加上编码,形成的数据流字符流出现的意义:因为字节流在操作字符时,可能会有中文导致的乱码,所以由字节流引申出了字符流。字符输入流:Reader常用子类:FileReader文件字符输入流常用方法:read();read(char[ ]);read(char[ ] ,offset,len);字符输出流: Writer常用子类:文件字符输出流: Fi...

2020-02-28 21:51:33 16

转载 java基础 详解java中的byte类型

Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。下面这篇文章主要给大家介绍了关于java中byte类型的相关资料,需要的朋友可以参考下。介绍byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是...

2020-02-28 21:46:25 52

原创 c++ 字符串入门 部分

构造函数:有如下四种类型:string s1(); // si = ""string s2("Hello"); // s2 = "Hello"string s3(4, 'K'); // s3 = "KKKK"string s4("12345", 1, 3); //s4 = "234",即 "12345" 的从下标 1 开始,长度为 3 的子串对 string 对象赋值可以用...

2020-02-28 21:30:12 43

原创 c++ 报错 error: stray '\243' in program|

中文翻译为: 报错:非法字符‘\243’在程序中 stray的意思是迷失,偏离,这里应该可以翻译为非法。 243是指ASCII码,加上斜杠代表了一个字符,意思是这个字符是非法的。这种情况一般是三种情况1 是否存在汉字。大多数的C编译器并不识别汉字,所以变量名中不要使用汉字。2 是否存在汉语标点。这种情况是最常见的。C语言要求所有的符号必须是英文半角符号,当有中文标点符号出现时,就会...

2020-02-28 17:16:51 584

原创 c++引用另一个文件/使用同工程下的另外文件函数

如果引用同一个工作工程下的另一个cpp文件,操作如下进行引用#include"pathSum.cpp"如果访问具体的类如pathSum下的Solution 类,可以直接通过 Solution solution; 实例化类来进行访问。class Solution {private: vector<int> sums; int count = 0;public...

2020-02-28 17:11:08 430

原创 C++基础 vector的reserve和resize详解

两者区别 vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size!具体原因如下 reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素。加入新的元素时,要调用push_back()/insert()函数。 resize是改变...

2020-02-28 17:07:09 73

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