自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孙三苗的专栏

我不是因为懒才不写描述。

  • 博客(78)
  • 资源 (3)
  • 收藏
  • 关注

原创 获取我的联系方式

由于本人无法实时在该站点登陆活跃,如您有相关技术可以交流,那么请关注“孙三苗”微信公众号,或扫描下方二维码。关注后在在公众号输入框回复“联系方式”获取我的联系方式,以此获取相关技术帮助和支持。彼此共同成长。谢谢!...

2019-08-28 16:42:00 1691

原创 解决连接远程服务(跳板机或git)时,免输入私钥密码:Enter passphrase for key

环境:mac工具:iterm登录验证工具:google验证器。

2023-06-14 17:44:20 907

原创 git命令行/SourceTree修改上次提交的commit信息

如果提交的commit信息(格式/文本)写错了,这时候就需要对提交的信息进行修改,本文针只对命令行和SourceTree做出说明。

2022-11-15 17:24:06 3497 1

原创 【golang环境排错】go开发环境错误汇总处理-01

说明:我使用环境是 mac;go版本是1.19.2;根据自己使用的版本进行操作。

2022-10-10 13:24:09 1819

原创 【MySQL查缺补漏学习】六、MySQL中使用JOIN小结

MySQL使用JOIN小结在实际生产中,关于 join 语句使用的问题,一般会集中在以下两类:- 我们 DBA 不让使用 join,使用 join 有什么问题呢?- 如果有两个大小不同的表做 join,应该用哪个表做驱动表呢?首先,我们应该先了解 join 语句到底是怎么执行的,然后再来解答上面这两个问题。

2022-09-28 19:51:31 945

原创 使用PHPWord把html转成word文档并支持下载

PHPWord官方文档PHPWord git地址环境需求:官方使用 Composer 来安装的,当然也可以基于git安装。如图所示:git地址为:https://github.com/PHPOffice/PHPWord.git可以在git环境下输入等待下载完成可即完成插件的下载。下载的文件及目录如下图所示:以下是 PHPWord 库的基本示例。示例文件夹中提供了更多示例。注意到实例的开头有这么一行代码其中文件内容如下:当我们应用的时候,发现其检测目录路径,并使用文件,如果你通过git安装时却没有此文

2022-06-21 18:40:06 1391

原创 【MySQL查缺补漏学习】五、一条SQL更新语句的执行过程

说明:【MySQL查缺补漏学习】系列是在工作之余,梳理的一些关于MySQL的一些容易忽略的知识点,通过回顾和补充也可以更加系统的学习MySQL,以便在工作中更加游刃有余。在该【MySQL查缺补漏学习】系列中的第一节:学习了 一条SQL查询语句的执行过程,并介绍了执行过程中涉及的处理模块。回顾一下,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?一条SQL更新语句的执行过程一、执行过程第一节我门们学习过 SQ..

2022-05-05 10:27:00 202

原创 Jquery on(“click“) 方法绑定事件后执行多次解决办法

一、发现问题在开发过程中,无意发现页面弹窗按钮的点击事件使用on函数绑定click 时,产生多次请求,从而可能会造成不必要的资源消耗。举例:页面按钮:代码片段:let drBox = $('#choiceDetailPopup'),// 提交console.log("submitTask start");drBox.on('click','#submitTask',function(){ console.log("submitTask click"); // 处理自己.

2022-04-29 16:52:01 3872

原创 我的创作纪念日

机缘嗨!我是孙三苗(这当然是昵称了),感谢你能在百忙之中读到这篇没有技术含量的文章,三年前的今天很荣幸成为csdn创作者中的一员。在实战项目开发过程中难免会遇到各种各样的问题(坑),当经过自己的努力(包括参照各种博客,文档)把一些问题解决后心底也难免会油生出一丝丝的成就感。解决问题的过程也是一种学习的过程,把发现问题与解决问题整理出来。有时工作时间有空闲时间也会通过翻阅各种书籍(纸质或电子版),根据自己的学习情况也会同样整理出来。整理成博客,一是可以作为一种笔记,二是可以分享出来给更多的人,共同学习

2022-04-22 17:47:22 420 3

原创 js 引用赋值与传值赋值小结

如果你有幸看到本文章,说明你在这个方面或多或少踩坑了。在JavaScript中基本数据类型都是传值赋值,复合数据类型都是引用赋值(传地址)也叫引用传址基本数据类型的变量名和数据是直接存在"快速内存"(栈内存)中。基本的数据类型有:undefined,boolean,number,string,null。 基本类型存放在栈区,访问是按值访问的,就是说你可以操作保存在变量中的实际的值。而复合数据类型(对象和数组)的存储分两个部分:①具体的数据存在“慢速内存”“堆内存”中;②将变量名和..

2022-04-12 13:49:11 2400 1

原创 Macbook pro USB端口失灵处理办法

一、发现问题Macbook pro在使用的过程中突然黑屏或死机,然后再重启后发现外接显示屏未发现信号,并无响应。然后在外接口处给手机充电也无响应(无电流)。二、解决办法然后在 苹果官网找解决办法,技术支持中找到这篇如何重置 Mac 的 SMC 文章,可点击链接在官网查看。其中,在文章中详细介绍了重置办法。内容截图如下:其中,查看自己电脑是否 搭载 Apple T2 安全芯片的 Mac 机型 的文章截图如下:END如有问题请在下方留言。或关注我的公众号“孙三苗”,输入“联系方.

2022-02-08 11:16:16 8585 8

原创 js实现文本相似度对比

一、发现问题在开发过程中,难免会使用到2个(多个)文本内容处理,一是便于宏观知道文本的重合度,而是更好的区分文本的创新度,也能更好的避免出现大篇幅复制。为此,可以通过2个文本的相似度对比来实现业务需求。二、解决问题如果使用后端语言1来处理,就需要调取接口,对比少量的短文本可以实现,但是一旦遇到在界面实现多个文本对比,并且篇幅巨多,再通过接口可能就出现耗时特别长的情况。既然如此,但不如直接使用前端来处理。使用算法:编辑距离。1、编辑距离的概念设A和B是两个字符串,使用最少的字符操作将字符串A.

2022-01-21 14:40:14 3052

原创 记一次safari浏览器正则表达式兼容问题

发现问题一般正则表达式使用的谷歌浏览器,火狐浏览器都正常,而在safari浏览器会莫名的报错:SyntaxError: Invalid regular expression: invalid group specifier name正则表达式无效:组说明符名称无效。所用表达式如下: let preg = /(?<=>)(.|\s)*?(?=<\/?\w+[^<]*>)/g;解决问题报出这个错误的原因有两点:1、正则格式不对尝试修改,首先改变正则的写法,.

2022-01-05 17:24:39 4223

原创 js处理以变量命名的参数(对象)

问题描述:在开发过程中,遇到一个给对象赋值的问题,参数是通过循环变量的方式进行处理。【注】 js 重要函数 window,eval事例:// 用数组中的变量定义参数let need_arr = ['a1','b1','c1','d2','e2'];for (let i = 0; i < need_arr.length-1; i++) { let need_name = need_arr[i]; //生成函数名 window[need_name] = '赋值参数,也可..

2021-12-15 10:47:05 1592

原创 【MySQL查缺补漏学习】四、分析MySQL数据(表)使用的SQL语句整理

说明:【MySQL查缺补漏学习】系列是在工作之余,梳理的一些关于MySQL的一些容易忽略的知识点,通过回顾和补充也可以更加系统的学习MySQL,以便在工作中更加游刃有余。前几节已初步性的进行简单整理,本次文章主要整理一些关于对数据库分析的SQL。分析MySQL数据(表)使用的SQL语句整理分析MySQL数据(表)使用的SQL语句整理EXPLAIN 语句SHOW INDEX 语句ANALYZE TABLE 语句分析MySQL数据(表)使用的SQL语句整理EXPLAIN 语句分析SQL索引使用,..

2021-09-15 13:33:34 205

原创 【MySQL查缺补漏学习】三、MySQL索引

说明:【MySQL查缺补漏学习】系列是在工作之余,梳理的一些关于MySQL的一些容易忽略的知识点,通过回顾和补充也可以更加系统的学习MySQL,以便在工作中更加游刃有余。MySQL索引MySQL索引索引的类型B-Tree 索引哈希索引创建自定义哈希索引空间数据索引 (R -Tree)全文索引MySQL索引索引(MySQL)里叫“键“)是存储引擎用于快速找到记录的一种数据结构。为了更好的理解,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本 300 页的书,如果你想快速找到其中的..

2021-09-13 18:35:09 168

原创 【MySQL查缺补漏学习】二、MySQL事务与隔离

说明:【MySQL查缺补漏学习】系列是在工作之余,梳理的一些关于MySQL的一些容易忽略的知识点,通过回顾和补充也可以更加系统的学习MySQL,以便在工作中更加游刃有余。MySQL事务与隔离事务隔离级别事务隔离的实现事务的启动方式事务事务是一组原子性的SQL查询,或者说是一个独立的工作单元。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。最经典的例子..

2021-09-13 13:17:06 107

原创 【MySQL查缺补漏学习】一、一条SQL查询语句的执行过程

说明:【MySQL查缺补漏学习】系列是在工作之余,梳理的一些关于MySQL的一些容易忽略的知识点,通过回顾和补充也可以更加系统的学习MySQL,以便在工作中更加游刃有余。一、一条SQL语句的执行过程SQL语句举例:SELECT * FROM `test` WHERE `id`=1;当我们输入一条SQL语句,返回一个结果时,那这条语句在 MySQL 内部的执行过程是怎么的呢?MySQL基本架构下面给出的是 MySQL 的基本架构示意图(图片来自网络),从下图中我们可以比较清楚地看到 SQL..

2021-09-10 16:16:03 324

原创 使用Electron构建跨平台的桌面应用程序(二)使用React【Umijs框架】+ Electron+ Antd 来实现一个简单的计算器功能

上一节 使用Electron构建跨平台的桌面应用程序(一)快速入门 简单的熟悉了一下Electron,这一节,主要是如何构建一个桌面应用,鉴于只使用 Electron 来构架工具开发效率较慢的原因,所以本文使用React + Electron + Antd 来实现一个简单的计算器功能。参考文章:https://www.jianshu.com/p/ab31487779c9使用React + Electron+ Antd 来实现一个简单的计算器功能一、环境搭建1、创建react项目2、引入electron3

2021-07-04 15:28:19 920 2

原创 使用Electron构建跨平台的桌面应用程序(一)快速入门

我正在参与CSDN《新程序员》有奖征文,活动链接:https://marketing.csdn.net/p/52c37904f6e1b69dc392234fff425442现在很多平台的软件都开始使用electron来来构建和开发,比如 Visual Studio Code,阿里云盘,下面是两个软件的包文件:Visual Studio Code 包文件阿里云盘 包文件基于求实和学习的态度,于是自己也通过官网来认识和学习这个框架,或许以后有机会自己会用此框架开发一个桌面工具类

2021-06-25 19:02:46 967 2

原创 Redis学习篇 (2)linkedlist(双端链表)

今天接着上一节 Redis学习篇 (1)SDS(Simple Dynamic String 简单动态字符串)来学习一下Redis的一个基本数据结构–linkedlist(双端链表),其定义和实现主要在adlist.h和adlist.c文件中。其主要用在实现列表键、事务模块保存输入命令和服务器模块,订阅模块保存多个客户端等。双端链表是 Redis 的列表键的底层实现之一。Redis在实现链表的时候,定义其为双端无环链表。Redis学习篇 (2)linkedlist(双端链表) 一、双端链表数据结构二、.

2021-03-29 17:31:18 227 1

原创 Redis学习篇 (1)SDS(Simple Dynamic String 简单动态字符串)

Redis是用C写的, 鉴于C没有提供一般的字符串处理方式,导致对字符串的各种处理都很麻烦,所以 Redis 自身实现了一个SDS(简单动态字符串)对象,用于操作所有的字符串,同时为了跟 C 兼容,所以 SDS 在实现的时候保证了它能直接适用于标准库 提供的各种 strxxx 函数。SDS在Redis中也是存在最广泛的数据结构,它也是很多其他数据结构的基础,所以先选择介绍SDS。 SDS也兼容部分C字符串API(strcmp,strlen),它如何兼容C字符串我觉得也是有个很sao的操作。在开始正式..

2021-03-22 20:28:40 462 1

原创 PHP多进程(3)信号

上一节:PHP多进程 (2)孤儿进程与僵尸进程,说到pcntl_wait()和pcntl_waitpid(),是为了解决僵尸进程问题,但最后看起来还是有一些遗留问题,而且上j节文章的结尾也给了解决方案:信号。本文参考地址:https://github.com/elarity/advanced-php/blob/master/4.%20php%E5%A4%9A%E8%BF%9B%E7%A8%8B%E5%88%9D%E6%8E%A2—%E4%BF%A1%E5%8F%B7.md信号是一种软件中断,也是一种.

2021-03-03 19:23:02 164 3

原创 PHP多进程(2)孤儿进程与僵尸进程

上一节:PHP多进程 (1)PHP多进程初探,简单了解了一下关于PHP多进程和简单的通过代码了解其中的一些问题。那这一节,来学习一下关于 孤儿进程与僵尸进程本文参考地址:https://github.com/elarity/advanced-php/blob/master/3.%20php%E5%A4%9A%E8%BF%9B%E7%A8%8B%E5%88%9D%E6%8E%A2—%E5%AD%A4%E5%84%BF%E5%92%8C%E5%83%B5%E5%B0%B8.md实际上,我们要记住:PH.

2021-03-03 18:43:29 288 2

原创 PHP多进程(1)PHP多进程初探

问题描述:近日在开发过程中出现了一个奇葩问题。 在我使用 PHP子进程处理发邮件的时候,在隔天再次1触发相关代码流程时,会把昨天的数据从使用子进程后再次重新处理一遍。导致数据出现重复,引发脏数据。为此,优化了代码,并且重新梳理了一下关于PHP多进程的问题。本文参考地址:https://github.com/elarity/advanced-php/blob/master/2.%20php%E5%A4%9A%E8%BF%9B%E7%A8%8B%E5%88%9D%E6%8E%A2—%E5%BC%80%.

2021-03-03 16:08:13 229 3

原创 PHP判断两个数字是否是同符号

问题描述问题:写一个函数,判断给定的两个数字是否是符号相同的,不可以使用比较运算符或与0比较。例如 is_same_symbol(-1, 10) == false; is_same_symbol(10,20)=true; is_same_symbol(-1,-10)=true; 同时,规定0属于正数。方法分装在二进制表示中,最高位是1的话,就是负数。最高位为0则为正数。因此我可以想办法通过位运算来判断。1 ^0 = 1。所以 负数^正数=负数。其实就是类似于乘法了。functio.

2021-02-20 11:21:02 1092 1

原创 基于github手动同步以前fork过的项目

在 github中,发现好的项目然后fork放到自己的项目下。当发现原项目有更新时,自己也难免需要同步,此时就需要合并代码,接下来就介绍在github中,不需要命令来合并fork过的项目。基于github手动同步以前fork过的项目1、Pull request2、switching the base3、Create pull request4、Merge pull request1、Pull request打开自己的仓库,在【code】菜单下选择 Pull request,或者直接选择 菜单中..

2021-02-18 13:55:59 361 1

原创 PHP的目录结构、设计理念以及核心架构

前一节:使用ext_skel,实现一个PHP扩展,试着使用 ext_skel 写了一个扩展,通过上一节可以大体了解自己如何写一个扩展。这一节主要介绍一下PHP的目录结构、设计理念以及核心架构。PHP的目录结构、设计理念以及核心架构一、PHP的目录结构1、SAPI2、main3、Zend4、ext5、TSRM二、PHP的设计理念及特点三、PHP核心架构一、PHP的目录结构PHP源代码还包括在开发过程中生成的几个文件,以及在上游各自位置进行维护的几个部分。(注:PHP版本7.4.13)<php

2021-01-06 16:14:05 1356

原创 使用ext_skel,实现一个PHP扩展

使用ext_skel,实现一个PHP扩展一、写在前面二、生成代码三、修改config.m4配置文件四、代码实现五、编译安装六、调用测试七、※ 剖析文件1、config.m42、config.w323、php_hello.h4、hello.c一、写在前面本文是以PHP7.4 作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能:<?phpecho hello();?>输出内容:$ php74 ./hello.ph.

2020-12-26 21:38:08 767

原创 PHP 8.0.0 Released!

2020年11月26日,PHP开发团队宣布将发布PHP 8.0.0。此版本标志着PHP语言最新的主要版本。PHP 8.0具有许多改进和新功能,例如: 1、Union Types ,联合类型2、Named Arguments,命名参数3、Match Expressions,匹配表达式4、Attributes,注解5、Constructor Property Promotion,构造函数属性提升6、Nullsafe Operator,Nullsafe 运算符7、WeakMap,弱映射8、JIT,Jus..

2020-11-27 18:05:45 493

原创 textarea实现enter发送,ctrl+enter换行,并禁止在textarea回车换行

textarea实现enter发送,ctrl+enter换行,并禁止在textarea回车换行。HTML代码<div style="width: 60%;"> <textarea style="width: 100%;resize: none;" id="send_chat_msg_box" rows="3" placeholder="请输入消息"> </textarea></div>JavaScript代码: //1、提交 发送 .

2020-11-13 16:51:08 3879

原创 taro 开发[微信小程序] sitemap.json Error: 未找到入口 sitemap.json 文件,或者文件读取失败,请检查后重新编译

问题描述:很早以前用taro框架写的一个小程序,今天编译的时候,在微信开发工具客户端,显示:sitemap.json Error: 未找到入口 sitemap.json 文件,或者文件读取失败,请检查后重新编译 的报错。如下图:解决办法:把 project.config.json 文件中的useCompilerModule参数值由false改成true。再次编译:yarn dev:weapp再观察微信开发工具客户端Console正常。这样每次编译系统自动会生成sitemap.json

2020-10-28 18:15:59 1725

原创 PHP判断并处理被urlencode过的字符串

问题描述:给你一个字符串如何判断是被urlencode过的字符串,如果是则解码,输出编码前的内容。举例:$content_1="这是一段汉字文本";$content_2="%E8%BF%99%E6%98%AF%E4%B8%80%E6%AE%B5%E8%A2%ABurlencode%E8%BF%87%E7%9A%84%E6%96%87%E5%AD%97%E3%80%82";如何判断$content_2 是被urlencode编码过的字符串呢?正则匹配?不是不可以,可以根据特殊字符%有规律的出

2020-10-22 16:57:08 2537

原创 记一次使用frameset/frame布局的后台,谷歌浏览器加载出现空白的奇葩问题

问题描述:刷新谷歌(其他浏览器暂时都一切正常)浏览器,请求一个链接地址,frame标签做的布局。右侧部分出现空白。这个问题已经出现好久了,今天抽时间排查了一下,先是问前端开发,再是通过网上查询试图来解决,结果失败。看来,不是什么文件编码的问题。却单单是就几个url 第一次请求的时候出现这样的问题。页面虽空白,但页面中的一些元素却是存在的(很诡异)。如图:打开浏览器检查模式,页面瞬间就出来了(诡异)。再次点开此url,就能正常打开。问题的出现是有一定的延时性,很可能是资源加载的问题,c

2020-10-20 16:33:31 712 1

原创 linux下python升级版本

服务器在配置环境时选择了python2版本,很久没有使用,更新了很多版本,如今想要学习,然后就升级了版本,这里是升级到了python3.71、下载当前2020年09月15日17:03:29,最新版本是3.8.5。wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz这里的链接是目前最新的版本,可以去官网直接下载https://www.python.org/downloads/2、解压根据自己下载的版本解压tar -xf

2020-09-15 17:14:20 14412

原创 构建nuxt.js时报错node.js版本过低处理

这是因为 node.js 版本过低。当时的node 版本 :v6.17.1使用命令升级node:安装n模块:npm install -g n升级node.js到最新稳定版n stable根据提示更改node到最新版本。PATH="$PATH"

2020-09-15 16:00:25 1963 1

原创 读《PHP安全之道》提纲挈领笔记05

读《PHP安全之道》提纲挈领笔记六、PHP与密码安全1、用户密码安全(1)加密密码(2)密码加盐(3)定期修改2、防止暴力破解3、随机数安全4、数字摘要5、MA和HMAC简介6、对称加密7、非对称加密六、PHP与密码安全1、用户密码安全(1)加密密码存储用户密码前应该先对密码进行加密(MD5,SHA等算法),然后存储在数据库中。不建议使用des和MD5等若加密算法,散列算法推荐使用SHA256或SHA512。hash("sha256",$password);(2)密码加盐使用盐(salt.

2020-09-10 20:22:22 205 1

原创 读《PHP安全之道》提纲挈领笔记04

读《PHP安全之道》提纲挈领笔记五、PHP与客户端交互安全1、浏览器跨域安全(1)浏览器同源策略(2)浏览器跨域资源共享(3)JSONP资源加载安全2、XSS漏洞防御(1)反射型XSS(2)存储型XSS(3)DOM型XSS(4)通过编码过滤和转换进行防御(5)开启HttpOnly防御XSS(6)对Cookie进行IP绑定3、警惕浏览器绕过4、跨站请求伪造防御(1) CSRF请求过程(2) CSRF防御方法5、防止点击劫持6、 HTTP响应拆分漏洞7、会话攻击安全防御(1)会话泄露(2)会话劫持(3)会话固.

2020-09-08 10:29:24 244

原创 读《PHP安全之道》提纲挈领笔记03

读《PHP安全之道》提纲挈领笔记四、PHP项目中常见漏洞与防护1、SQL注入漏洞(1)SQL注入(2)报错注入(3)普通注入(4) 隐式类型注入(5)盲注(6)宽字节注入(7)二次解码注入2、SQL注入漏洞防护(1)MySQL预编译处理(2)PHP使用MySQL的预编译处理(3)校验和过滤(4)宽字节注入防护3、XML注入漏洞防护4、邮件安全(1)邮件注入(2)防止邮件注入5、PHP组件漏洞防护(1)RSS安全漏洞(2) PHPMailer漏洞(3)OpenSSL漏洞(4)SSL v2.0协议漏洞6、文件.

2020-08-03 20:59:08 256

原创 PHP各版本 const 定义数组问题

在开发过程中,难免会使用到自定义的常量。可以用 define() 函数来定义常量,在 PHP 5.3.0 以后,可以使用 const 关键字在类定义之外定义常量。一个常量一旦被定义,就不能再改变或者取消定义。常量只能包含标量数据(boolean,integer,float 和 string)。可以定义 resource 常量,但应尽量避免,因为会造成不可预料的结果。但由于PHP的版本问题,在定义数组常量的时候却有些不同。PHP版本使用方式<5.6不可定义常量数组.

2020-07-27 16:47:52 2085

cross-request 3.zip

谷歌浏览器 插件 cross-request 3.0,压缩包解压出来后,通过谷歌浏览器选中文件夹3.0_0进行加载。

2020-04-16

微信公众号抓取阅读量.zip

说明:本文件仅个人参考学习使用,不可商用。使用环境为python3 + mongdb,暂时只获取阅读量和点赞数(点好看数),暂无评论数。

2019-08-20

matlab中wavelet源代码

本文件主要包括matlab库函数wavelet,可直接放入toolbox,通过matlab的file中添加。

2013-04-20

空空如也

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

TA关注的人

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