自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vio小黑

总有一天不用再追逐光,我要这光,就为我而来

  • 博客(88)
  • 问答 (1)
  • 收藏
  • 关注

原创 退出 GlobalProtect 程序

该命令是在 macOS 系统中使用 launchctl 命令卸载指定的 LaunchAgents 服务。LaunchAgents 是 macOS 中一种自启动机制,可以在用户登录时自动启动指定的程序或服务。-w:将指定的服务从系统中永久移除,即在重启后该服务不会自动启动。/Library/LaunchAgents/com.paloaltonetworks.gp.pangp*:指定要卸载的。unload:卸载指定的服务。LaunchAgents 服务,并将其从系统中永久移除,以避免在重启后自动启动。

2024-04-03 10:46:48 210

原创 谷歌浏览器HTTP自动跳转HTTPS

输入HTTP网站路由,浏览器自动跳转到HTTPS访问。如输入http://editor.csdn.net 会自动切换到 https://editor.csdn.net。

2024-01-11 14:53:33 409

原创 我的创作纪念日

提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等​​。

2023-07-01 16:04:52 230

原创 接口优化常用思路

合理使用缓存就是一个很好的例子,针对一些频繁使用且不频繁变更的数据,可以提前缓存起来,需要时直接查缓存,避免频繁地查询数据库或者重复计算。串行就是,当前执行逻辑必须等上一个执行逻辑结束之后才执行,并行就是两个执行逻辑同时进行,所以并行相对来说就比较节省时间,当然,这种方式的前提是多个步骤间没有相互依赖。需要注意的事,这里用了合理二字,因为空间换时间也是一把双刃剑,需要综合考虑你的使用场景,毕竟缓存带来的数据一致性问题也挺令人头疼。我们可以只查询一次,通过上下文的方式往下携带,避免多次查询的开销。

2023-03-11 17:50:55 443

原创 高性能索引

时光,总是恬淡的,君不见,那翻阅过的书,充满了淡淡的清香,即便有褶皱,有划痕,也无形中沉淀了书的厚重前言索引是存储引擎用于快速查询记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。一个好的索引能够轻易的将查询性能提升几个数量级,“ 最优 ” 的索引有时比一个 “ 较好 ” 的索引性能还要好两个数量级。所以,如何创建一个真正 “ 最优 ” 的索引就成了提升性能必须要面对的一个问题正文索引可以让服务器快速的定位到表的指定位置,但这并不是索引的唯.

2021-01-19 21:18:22 270

原创 Schema与数据类型优化

引言前言:良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计 schema,这往往需要权衡各种因素。例如:反范式的设计可以加快某些类型的查询,但同时可能使另一些类型的查询变慢。比如添加计数表和汇总表是一种很好的优化查询的方式,但这些表的维护成本会很高…本文旨在讨论一些通常不坏的设计原则和思路选择优化的数据类型MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,不管存储那种类型的数据,下面几个简单的原则有助于做出更好的选择。更小的通常更好一.

2021-01-13 20:44:19 170

原创 QQ小程序支付 QQ钱包支付 微信支付

前言由于公司业务需要,最近这段时间对接了QQ小程序支付【包括QQ钱包支付 和 QQ小程序内微信支付】,由于网络上相关的资料很少,遂留此文,以备后用。【顺便吐槽一下,官方文档不可全信】由于业务关系,此处将 QQ钱包支付 和 QQ小程序内微信支付 两种支付放在一起,通过条件选择相应支付方式。如你的业务不需要同时接入两种支付方式,可自由拆分准备工作语言:PHPQQ钱包支付官方流程图:QQ钱包支付必要步骤:先开通QQ钱包的商户号,然后和QQ小程序进行绑定。后端流程:接收前端参数,如用户ID,

2020-12-14 19:01:14 5838 2

原创 《面试心经》Redis之缓存穿透、缓存雪崩、缓存击穿

什么是缓存穿透、缓存雪崩和缓存击穿,如何防范?答:前言:一般情况下的数据请求流程是,一个请求过来先查询缓存,如果有,则直接返回响应数据。如果没有,在去数据库层查询,查到了响应数据,返回数据给用户,同时将数据存入缓存。如果没查到,则直接告诉用户没查到,词是不操作缓存。缓存穿透描述:指访问一个一定不存在的数据,这会导致请求直接穿过缓存层,去访问数据库(因为按正常来讲,这个不存在的数据缓存层一定没有)。如果同时来了大量这样的请求,则会导致数据库层压力过大,甚至可能会导致宕机【这也是黑客的一种攻击手段】解

2020-11-16 21:06:14 9034

原创 《浅入浅出MySQL》表锁 行锁 并发插入

行锁的优点:1.当不同的会话访问不同的行时,锁冲突减少。(意味着支持更高的并发)2.回滚更改较少。(InnoDB会自动检测死锁条件并回滚一个受影响的事务)3.可以长时间锁定单个行表级锁定的优点:1.所需的内存相对较少(行锁需要每一行或每组被锁行的内存)2.在对表数据进行范围操作时(比如:同时修改多条数据),速度更快,因为仅涉及一个锁。3.如果你经常对大部分数据进行分组(group by)操作,或者必须频繁地扫描整个表,则表锁速度更快4.不会出现死锁(存储引擎始终在查询开始时一次请求所有需要

2020-10-22 21:13:08 729

原创 《面试心经》MySQL基础

一叶障目,不见Offer前言MySQL 在当今后端技术的世界有着举足轻重的地位。几乎所有的后端技术面试官都会围绕 MySQL 的原理和使用对面试者进行全方位、无死角的盘问。来自Redis的盘问或许会迟到,但它绝不会缺席。看着一个个自信的小眼神被面试官折磨的黯淡无光,老衲实属不忍。在一个月黑风高的夜晚,终于下定决心,收集整理Redis面试资料,著《面试心经》系列,望能普渡众生。面试开始一个穿着邋里邋遢的秃顶中年人抱着一个满是划痕的Mac向你走来。看你着那稀疏的头发,心想我艹,这至少也是个高级架构.

2020-09-24 09:39:35 5682

原创 《面试心经》---Redis基础

> **那你使用过 Redis 分布式锁吗?怎么实现**先使用 setnx 争抢锁,抢到之后使用 expire 给锁加一个过期时间,防止忘记释放锁> **那如果在执行 setnx 之后,执行 expire 之前进程意外 crash 或者要重启维护了,会怎么样?**故作惊讶的回答:如果这样的话,这个锁就永远得不到释放了!此时你可以作思考状(思考时间别太长,可能会让面试官误以为你不知道怎么处理,建议3s 左右为宜),说道:<font color=#D2691E size=3 face="黑体"> s

2020-09-22 10:46:39 11763 3

原创 你真的了解PHP数组吗?

通常来讲,PHP数组一般分为 ***索引数组*** 和 ***关联数组*** 两类。当然,你也可以从其他方向分类数组。如:可以按照数组维度,分为 ***一维数组*** 和 ***多维数组*** 等。从数组的定义中我们可以知道,数组其实就是键值对的有序映射。这也就意味着,数组中的每一个元素都是以 key => value 的形式存在。当一个数组中元素的每一个 key 都是数字的时候,那么这个数组就称为 ***索引数组*** ;反之,如果存在 key 不是数字的数组就称为 ***关联数组***

2020-08-01 23:08:53 783

原创 认识PHP运行模式

PHP有五种运行模式,常见的有4种:CGI(通用网关接口/ Common Gateway Interface)FastCGI(常驻型CGI / Long-Live CGI)CLI(命令行运行 / Command Line Interface)LoadModule【Apache独有】ISAPI(Internet Server Application Program Interface)【IIS独有】备注:在PHP5.3以后,PHP不再有ISAPI模式,安装后也不再有php5isapi.dll这

2020-07-30 18:29:06 885

原创 奇怪的知识增加了

近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...

2020-03-24 09:17:35 209255 97

原创 一个资深小说迷打开小说的正确姿势(续)----百度AI文字转语音

百度控制台https://console.bce.baidu.com/ai/?_=1583824416643&fromai=1#/ai/speech/app/list创建应用代码from aip import AipSpeech # 导入api接口#from playsound import playsound # 音频模块import sysimport pygame...

2020-03-12 11:28:32 177368 9

原创 python搭建IP池

,都说标题是文章的灵魂,想了半天没想到什么比较有创意的标题,只好拿一个去年的爆款标题套一下。啊哈哈哈哈哈哈,朕真是太机智了这是一篇介绍如何使用python搭建IP池的文章,如果爱卿对此不感兴趣,那很抱歉,标题耽误了你宝贵的时间。事情的起因是这样,前段时间我写了一篇介绍如何爬取小说的blog【python那些事.No2】,在爬取的过程中,发现同一个IP连续只能获取前几页小说内容,原本是想搭建...

2020-01-19 16:05:05 16195 4

原创 python自动下载小说

**爬虫三连:获取网页,解析网页,保存目标** 刚到公司还没坐下,我旁边的IOS同学就悄悄告诉我项目出了BUG,并给我投来了一个神秘的微笑。。。在我吃完早餐,喝完开水,上完厕所之后,手终于没那么抖了,慢慢的打开电脑,才发现只是一个小问题。哈哈哈哈,花费一分钟解决。哎哟,可把我牛逼坏了旁边的IOS同学凑过来,用他那不太飘准的普通发给我说:“兄die,上次那个爬图...

2020-01-06 14:10:51 49653 37

原创 实验帖--MyISAM和InnoDB执行count()效率对比

众所周知,mysql用的最多的引擎就两个:MyISAM和InnoDB。InnoDB有很多MyISAM没有的东西,如支持事务、支持行锁、支持MVCC…但是MyISAM在执行count()的时候是真的快,这时候的InnoDB简直就是个弟弟。对比如下:表数据量350w+将数据表引擎切换为InnoDB,花费102s左右InnoDB执行不带条件count(),第一次花费28s左右,之后平均...

2019-12-13 17:42:19 3745

原创 排序算法大全

背景近日偶得空闲,读《数据结构于算法分析》一书,至第七章,有感,遂作此文。前言在本文中,我们将对元素的数组排序问题做一些简单的归纳。为简单起见,在接下来的例子中假设数组至包含整数,虽然更复杂的结构显然也是可能的。本文的大部分内容,我们还假设整个排序工作能够在主存中完成。因此,元素的个数相对来说比较小(小于10^6)。当然,不能再主存中完成而必须在磁盘或磁带上完成的排序也相当重要。这种类型的排...

2019-12-12 14:14:40 3818

原创 从B树、B+树、B*树谈MySQL索引

前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B±tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。在开始介绍B-tree之...

2019-11-28 17:58:02 22347

原创 MYSQL 存储时间字段类型

MYSQL时间数据类型对比MYSQL有5种表示时间值的日期和时间类型,分别为 DATE,TIME,YEAR,DATETIME,TIMESTAMP。(TIMESTAMP类型有专有的自动更新特性)如何选择?1.只需要年份,则选用 YEAR 类型2.只需要年月日,选用 DATE 类型3.对时间精度有要求(需要年月日,时分秒)IF 存储的时间不在1970-2037这个范围则选用 DATET...

2019-11-07 10:11:39 4382

原创 Redis宝典

1、什么是Redis?简述它的优缺点?Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的出色之处不仅仅是性能,Redis最大的魅力是支...

2019-08-14 17:12:39 6844 1

原创 MYSQL索引实现原理

MySQL索引底层实现原理索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的...

2019-08-14 15:08:59 423

原创 MYSQL优化思路

MYSQL优化概述一、在数据库级别进行优化使数据库应用程序快速运行的最重要因素是其基本设计,在数据库层面,我们往往可以从以下几个方面下手:1.表结构合理吗?每个列是否具有正确的数据类型每个表是否具有适合工作类型的列例如,执行频繁更新的应用程序通常具有许多具有少量列的表,而分析大量数据的应用程序通常具有很少列的表。2.是否有适当的索引来提高查询效率?3.是否为每个表使用适当的存储引擎...

2019-08-13 18:10:57 417

原创 MySQL优化之——查询优化

谈谈项目中常用的MySQL优化方法,共19条,具体如下:1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据:type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。key_len列...

2019-07-10 17:10:03 1366

原创 HTTP Header 详解

根据维基百科对http header内容的组织形式,大体分为Request和Response两部分。Requests部分 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encod...

2019-07-10 09:21:12 1770

原创 负载均衡 Nginx、LVS、HAProxy

Nginx的优点是:工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了。Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大,这点本人深有体会;Nginx安装...

2019-07-10 09:17:22 2985

原创 一文读懂闭包函数

js闭包:根据《javascript权威指南 第6版》所说在javascript语言中,闭包就是函数和该函数作用域的组合。从这个概念上来讲,在js中,所有函数都是闭包既然所有函数都是闭包,还有必要专门提这个概念吗?大多数函数被调用时(invoked),使用的作用域和他们被定义时(defined)使用的作用域是同一个作用域,这种情况下,闭包神马的,无关紧要。但是,当他们被invoked的时候...

2019-07-08 19:08:18 2442

原创 约瑟夫闭环问题 这可能是最优雅的解题方法了

question:“约瑟夫环”是一个数学的应用问题:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。方法一:递归function killMonkey($monkeys , $...

2019-07-06 15:41:37 1228

原创 最新PHP 面试、笔试题汇总(code happy)

一、秒杀(商品超卖,高并发,同一用户多次抢购) 后端:redis+队列 redis队列实现,三个队列(库存队列,排队队列,抢购结果队列) 用户先进入排队队列,先进先出,判断是否已经在抢购结果队列,如果在,则直接下一个,如果不在,将用户信息加入抢购结果队列,库存-1,等待数据库空闲时,将抢购结果写入数据库 前端: 面对高并发的抢购活动,前端常用的三板斧是【扩容】【静态化】【限流】 扩容:加机器,这是最简单的方法,通过增加前端池的整体承载量来抗峰值。 静态化:将活动页面上的所有可以静态的

2019-06-28 19:27:55 22378 6

转载 LINUX常用命令

前言本文收录了 linux 常用指令,这里面有个小技巧,基本上所有指令后面跟上 --h 可以显示其使用方法。故不必死记硬背,知其意乃通其形。(推荐:Linux视频教程)分类如下:● 文件 & 目录操作(16 个)● 查看文件 & 内容处理(18 个)● 文件压缩 & 解压缩(3 个)● 信息显示(11 个)● 搜索文件(4 个)● 进程管理(11 个)● ...

2019-06-27 15:21:36 413

原创 编程练习网站

https://blog.csdn.net/JIEJINQUANIL/article/details/52281048

2019-05-16 09:33:37 4199

原创 SESSION详解

**PHP的session存放路径及其配置session.save_path**PHP配置文件(php.ini)中session.save_path负责session文件的存放位置。(下图为session文件默认存放位置)如果没有配置则不会生成session文件,如果配置的目录session.save_path = "E:/xxx"不存在,则会报错:Warning: session_s...

2019-05-07 17:03:32 498

原创 ab压力测试

ab是一种用于测试Apache超文本传输协议(HTTP)服务器的工具。apache自带ab工具,可以测试apache、IIs、tomcat、nginx等服务器但是ab没有Jmeter、Loadrunner那样有各种场景设计、各种图形报告和监控,只需一个命令即可,有输出描述可以简单的进行一些压力测试测http接口用ab.exe测试https接口,用abs.exe例如输入:ab -n...

2019-05-07 13:56:50 481

转载 如何查看电脑核数和线程数(网传方法有误)

一、常见错误方法1.查看电脑核数右键计算机->设备管理器->处理器(如下图,处理器下有几个即为几核,按这种方式来看我的电脑为八核,其实并不是这样,下面我会解释)2.查看电脑线程数右键屏幕底部->启动任务管理器->性能->CPU使用记录(如下图,有几个框即为几线程,我的电脑为八线程,这种方式查看线程是可以的,但用这种方式查看核数是错误的)然而真的是这样吗?...

2019-04-24 17:15:22 630

原创 thinkphp5 去掉index.php

修改public/.htaccess(加个问号,如图)

2019-04-20 15:00:56 566

原创 Python实现斐波那契数列

class Fib(object): def __init__(self): self.a,self.b=0,1 def __iter__(self): return self def __next__(self): self.a,self.b = self.b,self.a+self.b if self.a > 10000: raise StopIte...

2019-04-18 15:15:46 438

转载 JS禁用F12(超实用)

众所周知,审查元素的情况下,大家都可以随机更改一部分页面的代码,注入恶意JS等等,这种情况避免也不难,虽然还能看到一部分H5源码,但是无法修改一、屏蔽F12 审查元素document.onkeydown = function(){ if(window.event && window.event.keyCode == 123) { alert("F12...

2019-04-17 09:38:27 11081

原创 如何调用百度API 人工智能

以百度 文字识别 SDK为例1.在laravel项目中新建libs目录,用于存放 SDK mkdir app\libs2.在百度官网下载SDK压缩包 http://ai.baidu.com/sdk3.解压第二步下载的SDK,复制AipOcr.php以及lib/*到第一步创建的libs目录中。4.修改composer.json文件5.打开终端程序,cd到项目目录,执行:compos...

2019-04-16 10:15:17 5890

原创 python小练习----filter求回数

def is_palindrome(n): return str(n) == str(n)[::-1] output = filter(is_palindrome, range(1, 1000))print('1~1000:', list(output))

2019-04-11 09:19:36 716

空空如也

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

TA关注的人

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