自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux下升级gcc8.2

Linux下升级gcc8.21、背景2、升级gcc2.1 跳坑2.2 正式开始3、更改“链接器运行时的动态链接目录”1、背景给某厂商做交叉编译的时候,它们的链接器ld提示:/lib64/libc.so.6: version GLIBC_2.27' not found解决办法:① 升级glibc版本;(但是编译升级glibc-2.27,提示我gcc版本太低,所以需要先升级gcc版本)② 更改 “链接器运行时的动态链接目录” ;(因为我的机器上有两个其他进程下载的gcc-8 gcc-10的编译器包,

2022-03-31 20:03:51 1921

原创 iterm2 自用配置

iterm2 自用配置一、vim支持滚轮模式:二、导入导出配置:一、vim支持滚轮模式:网上大家说的什么改\j \k方式也可以,但是你会发现在输入命令时候如果也滚动了,会出来一堆了jjjjjjjjjjjjjjj kkkkkkkkkkk,实在是很恶心。其实只要改一个配置即可:意思是: 在交替屏幕模式下,滚轮发送箭头键。二、导入导出配置:导出导入cd ~/Library/Application\ Support/iTerm2/DynamicProfiles/把刚刚导入的配置文件

2021-08-27 17:49:27 774

转载 Linux后台运行命令,nohup和&的区别

需求:电脑关机,程序放入后台并且关闭SSH后程序仍能继续执行Linux后台运行命令,nohup和&的区别 &的意思是在后台运行, 什么意思呢? 意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C, 那么a.out照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉shell后, 那么, a.out进程同样消失。 可见, &的后台并不硬(因为对SIGHUP信号不免疫)。nohup的意思是忽略SIGH...

2021-04-15 10:22:26 225

原创 grep 处理大文件太慢的方法

grep 处理大文件太慢的方法1.更换编码方式LC_ALL=C fgrep -m 1 "content" filename命令解释:默认文本都采用UTF-8所以比较慢,因此编码方式换成C语言环境(ascii)grep 带有正则,fgrep则为纯文本匹配,因此会比grep更快-m 1 只匹配一次,匹配到就终止匹配(根据自己需求调整)2.并发方式cat filename | parallel --pipe fgrep -m 1 "con"命令解释:使用parallel来并发fgr

2020-07-29 15:51:19 4946

原创 Go语言 ReadLine()异常、缓冲区问题

一、前言近期项目用到了Go语言中的Readline去文件中逐行读取记录,但是有一些异常行信息的长度特别大(超过4K),使用len()过滤后还是有问题,今天问题又复现了,赶紧看看到底是什么问题二、正文:直接上测试程序代码:package mainimport ( "fmt" "bufio" "os" "io")func main() { // 打开test.txt文件 fi, err := os.Open("test.txt") if err != nil { fmt.Pr

2020-06-20 22:27:47 3454

原创 ThinkPHP5 源码剖析(批量getShell原理)

前言:=== 废话!!可跳过 ===近日,导师给了个不大不小的任务导师之前面试我的时候,看我的简历上(chui)写(niu)着(pi)阅读过TP3源码并自己根据思想写了个PHP框架。刚好公司有个之前外包出去的项目是用的TP框架,然后最近(好几个月了吧??这么晚才来补洞的嘛(⊙_⊙)?)TP5不是爆出了批量getshell的漏洞吗?运维小哥那边反映老有人来攻击,让导师去和外包沟通,升级一下...

2019-08-08 21:14:06 1294 2

原创 PHPStorm + Xdebug无法单步调试

前言:好早之前,弄过一次Xdebug。 那个时候用的是sublime配合的xdebug。 结果各种踩坑,不兼容。毕竟xdebug对sublime的支持本来就不友好。 最近在追TP5的源码,var_dump、print_r用起来显然不够看,太繁琐,追起代码来效率太慢了。 然后今天在公司刚好有注册好的PHPStorm,只要在来个Xdebug就可以直接使用了。 不多说,开干。运行环境:XAMP...

2019-08-06 17:19:09 1055 3

原创 深入理解ob_flush和flush的区别

之前在写爬虫的时候就被这两个刷新缓冲区的函数给迷惑了好久。后来查找了很多资料弄懂之后,现在在公司做项目的时候又遇到这两个刷新函数。 不过之前在爬虫那篇博客仅仅简单提了几句,有一些细节的地方都忘得差不多了,这次重新用到就记录下了。ob_flush 和 flush的区别最本质的区别:ob_*系列函数, 是操作PHP的缓冲区。flush是直接操作服务器(apache)的缓冲区的。一般输出内容,...

2019-08-05 19:18:43 242

原创 MQ消息中间件比较

MQ特点1、先进先出不能先进先出,都不能说是队列了。消息队列的顺序在入队的时候就基本已经确定了,一般是不需人工干预的。而且,最重要的是,数据是只有一条数据在使用中。 这也是MQ在诸多场景被使用的原因。2、发布订阅发布订阅是一种很高效的处理方式,如果不发生阻塞,基本可以当做是同步操作。这种处理方式能非常有效的提升服务器利用率,这样的应用场景非常广泛。3、持久化持久化确保MQ的使用不只是一...

2019-07-11 10:05:06 444

原创 工作中随手小笔记~

函数与类的区别:类是有状态的,而函数无状态的,所以函数与类之间最大的区别在于是否有状态,落到更实际的点就是方法与方法之间是否需要共享数据,如果需要共享数据,则可以写成类的方法,如果不需要共享数据,那就可以用写成函数。很多时候我们会写一些静态类,每个方法都是独立的,这些方法是可以用函数来代替的,而有些时候我们需要先初始化某些参数,然后后面的方法时可以直接用到这些参数,这些不是函数所擅长的。个人相...

2019-07-05 10:36:20 119

原创 MYSQL优化汇总

一、表结构设计优化a、字段选取varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度大于此值,定义字段类型为 TEXT,独立出来一张表,用主键来对应,避免影响其它字段索引效率。说明:varchar(N),N表示最大字符数,实际存储需要看实际值的字符长度,其中长度信息占用两个字节,如果可以为NULL,则是否为NULL标记会占用一字节,字符所占字节数跟编码...

2019-07-02 17:25:07 80

原创 数据结构与算法 ——二叉排序树

二叉排序树一、概念基础概念:二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;左、右子树也分别为二叉排序树;通俗理解:查找过程有点像二分查找,都只需要O(nlogn)。 但是是以“链表”形式存储的二分查找,所以插入过程只需要在末尾添加新元素,而不需要去移...

2019-05-11 19:46:15 153

原创 数据结构与算法 ——堆排序

堆排序一、概念基础概念:堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。通俗理解:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了...

2019-05-05 19:43:24 173

原创 数据结构与算法 —— 计数排序

计数排序一、概念基础概念:计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。 当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(nlog(n))的时候其效率反而不如基于比较的排序(基于比较的排序的时间复杂度在理论上的下限是O(...

2019-05-04 14:11:06 140

原创 数据结构与算法 —— 归并排序

归并排序一、概念基础概念:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。通俗理解:首先先将一个数组按长度大小进行等分成两个小数组(mid = (left + right) / 2)然后在递归的把这两...

2019-05-02 11:34:12 102

原创 数据结构与算法 ——希尔排序

希尔排序一、概念基础概念:希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的。该方法的基本思想是:设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,所有距离为increment的元素放在同一个子序列中,在每一个子序列中分别实行直接插入排序。然后缩小间隔increment,重...

2019-05-01 11:25:49 164

原创 用户喜好_字节跳动2018校招后端方向(第二批)

题目:为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为kk。因为一些特殊的原因,不会出现一个查询的用户区间完全覆盖另一个查询的用户区间(不存在L1<=L2<=R2<=R1L1<...

2019-04-29 14:16:14 431

原创 数据结构与算法 ——括号匹配

括号匹配一、概念基础概念:通过栈,实现括号的匹配判断。二、代码及过程/****括号匹配***/#include <stdio.h>#include <stdlib.h>typedef struct ListNode{ char val; struct ListNode *next;}ListNode;//入栈void push(List...

2019-04-21 14:01:30 1632

原创 数据结构与算法 ——二叉树的非递归遍历

二叉树的非递归遍历一、概念基础概念:二叉树的非递归遍历是通过栈来实现的,通过使用栈保存节点信息,实现非递归的遍历二叉树。二、代码及过程/****二叉树非递归实现****/#define maxSize 100#define increment 50#include<stdio.h>#include<stdlib.h>// 二叉树的定义typ...

2019-04-21 13:49:31 426

原创 数据结构与算法 ——二分查找

二分查找一、概念基础概念:二分查找又称折半查找,它是一种效率较高的查找方法。二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用数组作为表的存储结构。不妨设有序表是递增有序的。通俗理解:每次首先找到数组的中间位置(middle),然后把待查找数(target)与middle进行比较。如果查找数target > middle,则将查找范围缩小到middle的右边。(因为数...

2019-04-21 13:21:02 240

原创 数据结构与算法 ——插入排序

插入排序一、概念基础概念:插入排序,从序列中第二个数A开始,将A插入前面已经排序好的序列中,形成一个新的排序好的序列,以此类推到最后一个元素。通俗理解:因为是插入排序,所以必须是要有一个排序好的序列,然后我们执行插入操作,使得插入后的序列依然有序。通俗的理解,就好像在玩扑克牌游戏一样一开始还未发牌的时候,每个人手上都是没有牌的。对应着: 数组一开始还未排序,所以数组是无序的。而从你拿...

2019-04-14 12:50:32 121

原创 数据结构与算法 ——选择排序

选择排序一、概念基础概念:选择排序是冒泡排序的改进,它与冒泡排序很相似,都是比较 n-1 轮,每轮都是比较 n–1–i 次,每轮找出一个最大值或最小值。但是冒泡排序,每轮比较中,只要后一个数比当前数值更大,就要交换一次。(就是让最大的那个数不断的与后面的数交换位置,不断的冒上去)交换次数过多。而选择排序,每轮比较只要找出最小数的下标,然后与当前位置进行一次交换即可。交换次数大大减少。通俗...

2019-04-13 11:57:20 105

原创 数据结构与算法 ——快速排序

快速排序一、概念基础概念:快速排序,听这个名字就能想到它排序速度比较快方法,是一种分治思想。所谓分治,就是指以一个数为基准,将序列中的其他数往它两边“扔”。以从小到大排序为例,比它小的都“扔”到它的左边,比它大的都“扔”到它的右边,然后左右两边再分别重复这个操作,不停地分,直至分到每一个分区的基准数的左边或者右边都只剩一个数为止。这时排序也就完成了。例子:35,22,17,-20,48,9...

2019-04-12 15:03:12 145

原创 CMD设置字符集

使用curl.exe发送HTTP请求时,遇到了返回的中文乱码的问题。有两种解决方案:1. 在php脚本页面声明返回的字符集在php脚本文件中加入以下代码header(“Content-type: text/html; charset=gb2312”);2. 设置cmd的字符集在cmd命令窗口中,输入CHCP命令,查看当前活动代码页返回的是代码页的编号,当前代码页是936,也就是gb...

2018-12-17 20:41:40 6454

原创 PHP编写爬虫遇到的问题

编写了一个爬取豆瓣图书信息到数据库的爬虫,编写过程中遇到许多问题。写出来作为学习笔记,以及对全部所用到的知识点的总结。一、PHP脚本最大执行时间 和 最大执行内存二、PHP缓存机制缓冲区bufferob_flush 和 flush的区别三、PHP curl代理模式设置与使用HTTP请求头信息设置代理ip设置四、Apache工作模式和最大并发请求数设置工作模式分别有:be...

2018-12-17 20:22:47 416

转载 PHP异常处理机制

原文链接:https://www.cnblogs.com/zyf-zhaoyafei/p/6928149.html#excetion1 (转)学习笔记

2018-12-14 19:36:07 128

原创 PHP编写豆瓣爬虫

前言最近正在忙一个比赛的项目,需要调用到豆瓣的图书API。通过图书的isbn的获取书籍的所有信息(https://api.douban.com/v2/book/isbn/ + 图书isbn)但是想要做一个模拟真实环境的数据,需要大量的记录信息。然后查看当前的SQL语句是否能够跟得上正常速率。如果跟不上就进行数据库方面的调优。如:构建索引、分库分表、缓存、分布式、静态化技术(刚好最近也学到这方...

2018-12-14 15:43:15 454

原创 Apache 2.4.x 局域网不能访问

在从apache2.2.x 升级到 2.4.x的时候出现了一些新特性和新问题。在使用局域网访问的时候,总是无法找到。在网上找了很多资料,大多都是说http.conf 或者 vhosts-ini 这两个主要配置文件的,可是不论如何修改都还是无法解决。最终,通过apache语法检查命令找出问题所在在cmd里,切换到apache的bin目录下(配置了apache环境变量的不用)输入 httpd...

2018-12-12 00:21:06 2130

原创 数据库索引原理(深入浅出的学习)

最近学习到数据库的索引,发现索引的底层原理还 “大有文章”。通过网上的搜索来的一些学习资料,进行记录与学习如果原作者不同意转载,可与本人联系,进行删除。(浅)最直观的观察:https://www.cnblogs.com/aspwebchh/p/6652855.html (转)(深)深层次的学习:https://blog.csdn.net/waeceo/article/details/78...

2018-12-08 13:08:43 184

转载 (记)Mysql分页中,order by 和 limit 混用的陷阱

(记)Mysql分页中,order by 和 limit 混用的陷阱order by 和 limit 用来排序是很常见的做法,但是今天测试数据的时候,发现了有的数据显示不出来,有的数据多次显示。原因是:因为order by 排序的字段有重复的值出现,而mysql由于底层优化机制,并不是把所有的记录排序一次在拿出来做 limit 限制条件。 而是随机的取出最“近”的排序好的记录,直接做limit...

2018-11-18 01:33:46 332

空空如也

空空如也

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

TA关注的人

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