自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 php redis 实现全页缓存系统

php redis 实现全页缓存系统之前的一个项目说的一个功能,需要在后台预先存入某个页面信息放到数据库,比如app的注册协议,用户协议,这种.然后在写成一个php页面,app在调用接口的时候访问这个页面.当时我就发现一个问题,这些协议往往几个月才会修改一次,而每一次用户查看这些协议的时候,nginx都会重新从数据库读取文件,速度会很慢慢了.如下图m_about.php是我生成的数据页,...

2018-10-24 12:03:30 3053 1

原创 visio 形状样式灰色无法选择

从设计选择主题后,样式才能选择样式!很好,感觉bing明明有搜索栏目,却没有解答。id edilixwy的解释。

2023-12-06 11:31:26 416

原创 windows下nvvp的基础使用1

cuda入门工具nvvp的基本使用

2023-02-17 11:26:25 1125

原创 魔鬼聊天书读后感1

魔鬼聊天书读后感 不只是聊妹 也是人际交往的话术

2023-02-17 10:46:20 428

原创 那些年我写过的语言

杂谈-谈一些这些年写的语言

2022-07-28 14:50:54 172

转载 Python闭包(Closure)详解

一、认识闭包出于种种原因,我们有时候需要在函数外部得到函数内的局部变量。但是,由于Python中作用域的搜索顺序("链式作用域"结构(chain scope):子对象会一级一级地向上寻找所有父对象的变量),这一点通常是无法实现的。def f1(): n=999;print(n)但是有一种方法除外,那就是在函数的内部,再定义一个函数。def f1(): n=999 def f2(): print(n)在上面的代码中,函数f2就被包括在函数f1内部,这时

2022-05-29 22:06:16 427

原创 生成器思想与协程

生成器思想与协程最近在学习python,刚好看到生成器(generator),突然脑子灵光一闪,想到多年前看php文档的时候也花了时间去研究php的生成器与协程.于是就把之前写的东西总结一下,放下来.生成器看到这个名字,难免会和设计模式的生成器模式弄混.其实看英语会比较明显,一个是Builder Pattern,一个是generator.在某种程度上说这也是英文专业名词翻译的大锅了.笑,这也是为什么说程序员要学习英语的一个例证了.生成器的实现其实很简单,就是处理大数据集合,不是使用数组一次性放到一个

2022-05-23 15:28:26 159

原创 情商为什么比智商更重要1

书评 情商为什么比智商更重要1这本书算是赫赫有名一本吧,不过原本读起来水平确实比国内那一堆垃圾清汤好得多,主要是这本书并不是告诉你如何如何说话啊,那些中年垃圾鸡汤,而是告诉你如何控制情绪,如何进行挫折控制.当然里面那些狗屎一样的专家讲评估计是找的编辑自己写的写的真的垃.小故事也不行,一股子读者味道.这个书评我的主要目的是把里面一些写的有意义的点,以及我自己的一些领悟写下来.这一篇的主要观点是情绪控制与坏情绪的排解.情商的那些特质自我激励、百折不挠;控制冲动和延迟满足.这几点我认为基本上一般的普通人很

2022-05-21 22:56:13 165

原创 php的redis单例模式

php的redis单例模式最近刚好有点时间重构了一下公司的代码,某些地方用设计模式重构了一下.刚好注意到redis的获取的生成很适合用单例模式.当然主要原因还是公司的代码框架但是用的比较老,只能自己手写设计模式.单例模式单例模式自然不用过多科普.因为是php并且公司目前不需要额外考虑多线程之类的问题,所以这里使用的是最简单的模型.参考的是这篇文章php单例模式和设计模式:可复用面向对象软件的基础这本书里面单例的设计.如果是其他的场景下,单例模式还需要考虑多线程安全的加锁问题,请自行搜索代码这里面

2022-05-19 17:19:21 719

转载 python闭包

周围有些同事初学python,往往对python的一些高级特性,比如生成器(Generator), 闭包(closure),装饰器(Decorator)感到有点不太容易理解,虽然这些特性并非python独有,但真的掌握了一定会让你感觉原来生活如此美好。闭包介绍闭包概念:在一个内部函数中,对外部作用域的变量进行引用,(并且一般外部函数的返回值为内部函数),那么内部函数就被认为是闭包。举个栗子先:在函数startAt中定义了一个incrementBy函数,incrementBy访问了外部函数startA

2022-05-19 09:24:12 120

原创 python函数装饰器和php函数装饰器

python函数装饰器和php函数装饰器python里面有一类特别有趣的语法糖名叫装饰器(Decorator).也就是给定的特定的语法结构允许对函数进行包装,添加特定的功能.如果只看名字,可能会觉得和其他面向对象语言中的装饰器模式相似.可以参考装饰器模式(装饰设计模式)详解装饰器的讨论装饰器在python3.0之前并不是一个语法糖( syntax candy).一开始,他是因为python的语法特性而被人借用的常见开发方式.原因在于python糅杂了函数式编程的语法.允许吧函数作为参数参数和返回值使

2022-05-18 16:38:37 231

原创 腾讯云/阿里云通过docker安装git服务

腾讯云/阿里云通过docker安装git服务这一次是需要一个文件管理系统把之前写的几个小说和对应的资料放到腾讯云的轻量级服务器同步.想到了使用git作为服务器,之后就是确定使用万能的docker了.Gogs这一次使用的docker包用的是Gogs,核心是一款极易搭建的自助 Git 服务.用的是golang开发的一款软件.安装感谢万能的docker,使用root账号安装.sudo docker pull gogs/gogs由于我们之后要把容器部署到特定的文件夹下面,避免由于使用docker默

2022-05-03 21:33:30 2603

原创 linux日志查看常见方法

linux日志查看常见方法作为一个常年的码农,常年与日志打交道,我自己常用的日志就有各种linux访问日志,php错误日志,nginx访问日志,mysql慢日志…那么日志是如何查看与分析呢?这里的核心主要是把我见到的常用的一些方法给出来.入门版本使用linux命令使用各种常用命令 tail、cat、tac、head、echo, 除此之外结合管道分析grep,正则表达式Linux 6种日志查看方法grep命令详解这里举一个例子,比如我现在要查看history命令里面之前常用的一个命令.我现

2022-04-13 11:10:06 1996

原创 非对称加密比较

非对称加密比较本文不会上传,只是作为面试的关键点记忆.RSA系统原理将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。加解密RSA的加密过程可以使用一个通式来表达密文=明文^E mod NRSA解密明文 = 密文^D mod N公钥 = (E,N) 私钥=(D,N)公钥私钥选择公钥是 (E,N)私钥是 (D,N)E是加密(Encryption)的首字母,N是数字(Number)的首字母。准备两个质数p,q。这两个数不能太小,太小则

2022-03-29 23:11:36 404

原创 aes加密算法概要

aes加密算法概要本文只是概要,具体实现请参考维基.本文的目的帮助记忆前置概念aes是在sm4算法的为核心,对于des算法的攻击漏洞出现后进行的改造升级.关于大多数前置概念请参考des加密秘钥长度和轮数[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传密钥的长度可以使用128位、192位或256位。密钥的长度不同,推荐加密轮数也不同以下的思路是128秘钥的情况下处理整体加密过程中间两个英文也叫行移位 列混合注意最终轮没有只有前三步骤.没有第四步,列混合矩阵AES的

2022-03-27 22:29:03 1297

原创 des算法概要

des算法的基本概要,用于应付面试使用刚刚好

2022-03-25 10:39:29 3821

原创 SSL和TLS简单概述

SSL和TLS简单概述本文不会只有几个比较重要的概念,科普性质的文章,方便自己记忆,极大概率存在缺陷如果想了解这方面的内容,请参阅官方文档。SSL和TLSTLS是更安全版本的ssl,先出的的ssh,一个基于加密机制的应用,之后为了方便给其他应用层使用然后引入了ssl,最后是升级版的tls.SSL是位于可靠的面向连接的网络层协议和应用层协议之间的一种协议。HPPTS是HTTP over SSL/TSL,Https默认使用端口443.###前置概念首先是几个前置概念的理解,如果没办法理解这几个前置

2022-03-15 16:38:43 3494

原创 mysql:EXPLAIN 和 SHOW WARNINGS一起使用得到实际执行的sql

mysql:EXPLAIN 和 SHOW WARNINGS一起使用得到实际执行的sql之前写一个where in子查询,看到了这一篇深入理解MySql子查询IN的执行和优化文章,里面提到了这一句,让我觉得很有趣通过EXPLAIN EXTENDED 和 SHOW WARNINGS命令,看到如下结果:select northwind.driver.driver_id AS driver_id from northwind.driver where <in_optimizer>(north

2022-02-19 15:43:38 1034

原创 白帽子讲web安全读后感2

网络安全,本文是白帽子讲web安全的读后感

2022-02-13 15:18:01 2911

原创 我常用的linux shell配置工具

我常用的linux shell配置工具工程下载:https://github.com/bapijun/.bashrc主要是一系列常见的alias和函数,可以自由的配置shell命令和函数,主要是还是这个思想.第一次看到是一个印度女的发的shell配置工具,看到之后觉得确实是大大扩展了自己的思路.然后我加了自己常用的跳转工具z.sh,简单的说就是一个自动带记录和搜索功能的跳转工具.按照这个思路,还可以继续配置其他的shell工具到项目里面,还是很好用的.安装上的逻辑就比较简单了.把对应的shell

2022-02-13 14:18:10 434

原创 关于mysql查询优化的再思考

数据库优化经验

2022-02-13 10:40:39 492

原创 docker的生命周期和进程的状态

docker的生命周期和进程的状态最近在研究docker,刚好之前看到docker的生命周期这一块[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传看到docker生命周期这一块这几个名词怎么看的怎么眼熟啊,于是第一反应便是对应的进程的状态随手找的图片,关于进程的状态可以参考操作系统,或者百科于是我很容易联想到docker和进程之间肯定有着某些联系.于是通过搜索和查看资料我得出的结论docker是以沙盒形式下包装起来的进程容器其实是一种沙盒技术。顾名思义,沙盒就是能

2022-02-12 16:19:09 676

原创 白帽子讲web安全读后感1

白帽子讲web安全读后感1本文实际上算是白帽子讲web安全的回顾,总结了一些我觉得比较重要的关键词,方便以后复习.具体内容可以参考书浏览器安全本文对应第2章节,主要的内容是同源策略.当然也可以参考阮一峰老师的文章终止就是要保证协议,域名和端口的一致,如果看到提示cros错误就要考虑这个问题.另外现在app开发喜欢采用浏览器套壳的策略,同时还有h5小程序开发,总之前端技术大有可为.跨站脚本攻击(XSS)本文是第三章跨站脚本攻击(Cross Site Script,简称 XSS),利用网页开发时

2022-02-07 22:19:47 2465

原创 网络运营安全的思考

网络运营安全的思考本文是白帽子谈web安全的思考新规范和新架构通常情况下这些年出的新的架构都会大幅度优化安全的风险,使用官方文档中带的那些的标准方法就能很有效避免错误.php官方在5.5之后给了password_hash方法,直接使用就可以存储代码,再比如我常用的ci框架下,就建议使用链式查询模型,这样就可以有效避免sql注入(当然还是有bug的,比如使用key-value数组下就存在漏洞).通常使用文档下的新方法和新框架往往能避免漏洞,老的legal code就一般更新慢,就有问题,前一段时间闹得

2022-02-05 21:33:20 1972

原创 记一次小小的redis攻击

一次redis攻击

2022-02-03 22:24:06 2052

原创 mysql表关联的索引命中失败 range checked for each record

mysql表关联的索引命中失败和由此带来的思考###问题描述最近翻了慢查询日志,大多数都是备份,夜晚的临时查询表生成,但是偶尔有几句是早年间留下的legend code留下的错误.有几个显示的问题目前看来对于关联大表都要小心谨慎,尤其是关联条件的使用,本次出现的问题就在于join的on条件下过长导致的虽然使用慢查询在生产环境中可以看到LEFT JOIN orders o ON u.user_id = o.user_id and o.chain_id = ‘158’ and o.create_dat

2022-01-26 09:55:13 2504

原创 同源策略与cros

同源策略与cros同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也最基本的安全功能。可以说Web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现。实际上同源策略在浏览器上实现的更为完善.然后在小程序和一系列以浏览器为底的app(h5+webkit)也是要实现同源策略.可以说同源策略和在同源策略上实现的cros,是当今互联网的基石.然而正如同那个预言一样,鱼在水中,却很难感受不到水的存在.在平时的开发,我们几乎感受不到他的存在.我也是偶尔会代码的时候回复制一句Ac

2022-01-26 09:04:35 210

原创 三次握手四次挥手发生在socket的哪个阶段

三次握手四次挥手发生在socket的哪个阶段===最近刚好在看网络编程,写服务器socket函数,刚好看到socket连接,想到了之前一直强调的三次握手四次挥手的问题.就找了一些资料写了这篇文章.正文其实很简单,就五张图片.其中前两张来自csapp,后两张来自网络,最后一张来自计算机网络.其中计算机网络(美国人写得第五版)描述的最清楚,感兴趣的话可以直接翻看原文.其中要注意四次挥手并不能保证两...

2019-04-03 22:06:30 1157

原创 kill命令与进程间的信号机制的讨论

kill命令与进程间的信号机制的讨论本文实际上算是<深入理解计算机系统>第八章异常控制流中关于进程信号机制的一次小小的总结和书摘.只是刚好那kill命令作为切入口而已.平时算是经常敲kill命令,主要有两个,一个是隔三差五强制关闭进程,一个是给nginx重启.刚好看书看到关于kill函数与内部信号的实际机制,本文算是一个回顾.===kill命令关于kill命令,我们先来看看ma...

2019-04-03 21:00:52 838

原创 纪录一次面对ddos盗刷微信企业支付的经历

纪录一次面对ddos盗刷微信企业支付的经历这次的文章属于对于之前在工作中发生的一次ddos攻击应对分析和应对经验.很有意思.虽然可能对于大多数的读者和我本人来说这样的事件可能不会在一次发生.但是有一句话说的很好(ps这一句话是我经常看的一个公众号架构师之路里面写的,给大佬的公众号打一个广告).思路比结论重要,有收获就是好的。事件这次是我们公司开发的一个微信公众号,里面有一个答题抢红包的模块...

2019-02-24 23:33:16 631

原创 实战优化php和mysql:记录一次实际项目中优化数据库访问

实战优化php和mysql:记录一次实际项目中优化数据库访问本期中某个项目中下载报名数据模块中,项目经理说正式环境下出现下载过慢的情况,在实际的数据量,一个文件需要半分钟甚至一分钟的时间生成,从而导致超时,甚至下载失败的情况.因为这个模块是之前已经离职的同事写的,因此我去接手还是有点茫然的.最后在我的优化下将下载时间优化到10s以内.还是要有点小收获.因此写下这一篇文章.同步环境首先是把线...

2019-01-22 11:36:59 714

原创 php+redis实现用户权限判断

php+redis实现用户权限判断最近刚好有同事在写一个基于redis的权限模块.最开始我们这个模块使用数据库保存权限,但是同事说如果用户请求大的,每一次请求都要访问数据库的数据库可能会扛不住.不如把权限放到redis里面.我redis写的多,就帮他写出这个代码.对应的代码中有三个文件,,两个代码文件,一个测试文件===redisBase首先我写了一个redis连接的,这个是把之前写...

2019-01-14 18:23:46 1185 1

原创 代码优化技巧2:循环优化

代码优化技巧2:循环优化本文算不上什么很有独创性的东西,在很多人的文章和书籍中都有看到,比如深入理解操作系统在的5/4,韩天峰老师的谋篇&lt;php需要聪明人的语言&gt;也提到过一些相关内容.在大多数的可以允许过程化编程的语言中,循环永远是经常用到的结构.但是每一次使用循环我们都要尤其小心谨慎,避免循环出现的低效率.我们在这里使用一个有趣的例子.避免在循环条件中使用函数考虑下面一个...

2018-12-25 23:59:19 322

原创 代码优化1:使用条件数据传送代替条件控制

代码优化1:使用条件数据传送代替条件控制本文是阅读深入理解计算机系统第六章的随笔,也就是如何优化代码.本来最开始谈谈如何优化循环,后来发现这个问题太大了,所以先讲讲简单条件数据传送条件控制转移条件控制转移指依据代码的条件结果来选择运行的路径。条件传送指先把结果运行,在依据条件结果选择结果值在同样的情况下,条件传送性能比条件控制转移高.我们看看下面的这个例子这是使用条件控制转移void...

2018-12-16 21:29:01 1208 4

原创 从源代码级别的角度看php var_dump和echo的区别

从源代码级别的角度看php var_dump和echo的区别上周五同事出了一道有趣的题目,题目是这样:答案很神奇是1,而一旦把echo替换成了var_dump,则这是一个null.根据文档我们可以看到unset转换当然是什么造成echo和var_dump的区别呢,这就要从源代码级别进行讨论了.本文并不会像某些文章一些罗列大量的二者的区别,想要看这种面试题,请自行打开搜索引擎.变量的...

2018-12-16 20:44:57 1613

原创 关于浮点数的一些常见要点

关于浮点数的一些常见要点本来这里应该有一篇关于浮点数的介绍的文章,不过个人认为书里面写得还是比较完善了,就暂时想欠着了,而这些关键点书里面一般介绍的比较少,我个人认为应该单独写文章出来浮点数的不精确性正如绝大多数的文章都会告诉你的一样,浮点数都是不精确的,所有浮点数都无法精确地表达实数.举一个例子,比如.0.01 在单精度浮点型中可以用说是0.0100000000029802322609...

2018-11-18 21:49:02 723

原创 无符号数 有符号数 与 补码

无符号数 有符号数 与 补码本文是深入理解计算机系统这本书里面关于补码有符号数无符号数章节的一个摘要和读书报告,我个人认为这本书关于这一段的表述,要比绝大多数网上的博客甚至是国内教材要深入浅出的多.同时由于markdown的文档表示公式很麻烦,本文将大量使用书中的截图作为公式使用.===无符号数书中采用一个函数B2U w(binary to unsign ,二进制向量长度为w)将一个二进制...

2018-10-16 22:43:34 10074

原创 lnmp 安装php-fileinfo

之前在本地虚拟环境下使用的是lnmp的通用配置,可惜lnmp下省略某些默认插件.这一次在使用某个composer插件下发现需要安装使用php-fileinfo插件.下载源代码检查当前的php版本.使用php -info | grep 'php’命令查询当前的php版本,发现时php 7.1.7,然后需要去下载对应的代码(如果当时安装的时候保留了源代码也可以直接用).注意这里官网只给了最新版...

2018-10-15 11:54:14 406

原创 从浏览器输入URL会发生什么2?FPM(FastCGI Process Manager)概述

从浏览器输入URL会发生什么2?FPM(FastCGI Process Manager)概述在之前的文章中我们稍微提到了了cgi和fastcgi在服务器端响应请求.作为一个php程序员,必然要学习fpm,在现在lnmp架构下fpm几乎成了必然使用的地方,所以写下本片博客,作为一个概述,粗略的讨论fpm.更详细的内容,请参考官网.===cgi AND fast CGI首先我们给出一个cg...

2018-10-02 22:09:48 202

原创 php+redis实现排行榜demo

php+redis实现排行榜demo本周上班因为任务分配的原因,跑回去写redis去了.本周继续复习redis,感觉对于redis的实践开始有了新的认识.核心依旧是作为缓存,而不是拿关系型数据库来用.扯远了,本周又写了一些模块,其中比较好用的是使用redis来实现排行榜,确实好用,快的多,要比传统上使用mysql,存入到数据库中(当然如果能有效利用缓存也能吧速度提升一个数量级,但是还是不如...

2018-09-17 11:57:41 8717 3

空空如也

空空如也

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

TA关注的人

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