技术饭 PHP:PCNTL进程控制功能的基础使用

PHP:PCNTL进程控制功能的基础使用,多进程的作用主要用于日志分析、队列处理、批量处理等,如要处理10w级别的数据,一条数据需要执行1秒,那么一个进程不间断需要执行1天多的时间,但是如果分成20个进程(进程过多会导出cpu爆满),每个进程分5000条只需执行1.3小时左右就完成任务了。

阅读全文 » 15天前
2024年03月14日

技术饭 PHP的MongoDB\Driver\Manager实现对mongodb的操作

MongoDB是开发人员数据平台,提供必要的服务和工具,以快速、高性能和大规模地构建用户需求的分布式应用程序。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

阅读全文 » 302天前
2023年06月01日

技术饭 PHP搜索引擎MeiliSearch实现全文检索

PHP搜索引擎MeiliSearch实现全文检索,Meilisearch 搜索引擎使用 Rust 语言开发,轻量,对中文搜索非常友好,几乎做到了零配置,零学习成本,部署即用,非常方便。建立在 LMDB 键值存储之上,安装在 Ubuntu 或 MacOS 上时,它以 35 MB 的二进制文件形式存在。 MeiliSearch 带有内置的客户端、服务器和 WebUI。 词干提取、停用词、同义词、排名、过滤器和分面等功能都是开箱即用的,使用合理的默认值并且可以轻松定制。

阅读全文 » 302天前
2023年06月01日

技术饭 redis队列详解

现如今的互联网应用大都是采用分布式系统架构设计的,所以消息队列已经逐渐成为企业应用系统内部通信的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。当前使用较多的消息队列有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ 等,而部分数据库 如 Redis、MySQL 以及 phxsql ,如果硬搞的话,其实也可实现消息队列的功能。可能有人觉得,各种开源的 MQ 已经足够使用了,为什么需要用 Redis 实现 MQ 呢?有些简单的业务场景,可能不需要重量级的 MQ 组件(相比 Redis 来说,Kafka 和 RabbitMQ 都算是重量级的消息队列)。

阅读全文 » 332天前
2023年05月01日

技术饭 Redis的消息发布(Pub)与订阅(Sub)

Redis的消息发布(Sub)与订阅(Sub),Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为 channel。在 Redis 中,一个客户端可以订阅任意数量的 channel(可译为频道)。消息多播:生产者生产一次消息,中间件负责将消息复制到多个消息队列中,每个消息队列由相应的消费组进行消费,这是分布式系统常用的一种解耦方式。

阅读全文 » 332天前
2023年05月01日

生活札记 golang学习笔记 - helper辅助函数(六)

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 是谷歌支持的开源编程语言,易于学习和入门,内置并发和强大的标准库,不断发展的合作伙伴、社区和工具生态系统。Golang没有提供类似PHP的内置函数,所以很多时候需要自行整理成一个辅助方法库。

阅读全文 » 345天前
2023年04月19日

生活札记 Python + Selenium Web之自动化测试(二)

Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

阅读全文 » 375天前
2023年03月19日

技术饭 gitee+webhook+php实现自动拉取代码

gitee+webhook+php实现自动拉取代码,在项目开发中使用git进行代码的管理,每次完成更改上传代码后,还需要登录服务器将代码拉取下来,现在git服务器(gitee/gitlab/github)都会有Webhooks功能,以实现在向git仓库推送/合并等时机让服务器自动拉取新代码。

阅读全文 » 408天前
2023年02月15日

生活札记 Python学习笔记 - 进阶(二)

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

阅读全文 » 561天前
2022年09月15日

生活札记 Python学习笔记 - 入门(一)

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

阅读全文 » 593天前
2022年08月13日

生活札记 golang学习笔记 - goquery、zookeeper、kafka、k8s、fyne、etcd(五)

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 是谷歌支持的开源编程语言,易于学习和入门,内置并发和强大的标准库,不断发展的合作伙伴、社区和工具生态系统。golang学习笔记 - 爬虫(goquery)、zookeeper(分布式的服务配置管理系统)、kafka(消息中间件)、k8s(容器集群管理)、fyne(GUI框架)、etcd(分布式存储)(五)

阅读全文 » 679天前
2022年05月20日

生活札记 golang学习笔记 - 标准包、依赖(四)

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 是谷歌支持的开源编程语言,易于学习和入门,内置并发和强大的标准库,不断发展的合作伙伴、社区和工具生态系统。

阅读全文 » 681天前
2022年05月18日

生活札记 golang学习笔记 - 高阶(三)

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 是谷歌支持的开源编程语言,易于学习和入门,内置并发和强大的标准库,不断发展的合作伙伴、社区和工具生态系统。

阅读全文 » 682天前
2022年05月17日

生活札记 golang学习笔记 - 基础(二)

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 是谷歌支持的开源编程语言,易于学习和入门,内置并发和强大的标准库,不断发展的合作伙伴、社区和工具生态系统。

阅读全文 » 682天前
2022年05月17日

生活札记 golang学习笔记 - 入门(一)

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 是谷歌支持的开源编程语言,易于学习和入门,内置并发和强大的标准库,不断发展的合作伙伴、社区和工具生态系统。

阅读全文 » 685天前
2022年05月13日

技术饭 Gitee代码评审,解决完冲突之后,会自动把目标分支合并到源分支

Gitee代码评审,解决完冲突之后,会自动把目标分支合并到源分支,开发项目,使用Gitee的代码评审,合并功能分支feature到dev上的时候,出现了Conflicts,在线解决冲突之后,点击解决合并,结果反向的把dev的分支合并到了feature功能分支,这个源分支多了dev分支的代码。

阅读全文 » 720天前
2022年04月08日

技术饭 PHP利用websocket实现客户端请求ws协议功能

PHP利用websocket实现客户端请求ws协议功能,利用websocket实现PHP对ws协议的请求,这里PHP是作为一个客户端通过ws协议请求服务,而不是作为服务端,这个首先要区分下。ws协议是websocket的东西,现在也有很多东西可以实现,如workerman、swoole,但是说实话,看到workerman的文档,有介绍怎么实现这个功能,但是个人是感觉真的很头疼,一切都是基于cli,基本都是用到命令行去执行,一个类似curl请求获取结果的功能还要去捣鼓这些东西,真是呵呵哒。swoole就不说了,首先Windows都不支持(当然,现在基本都是用Linux,但是个人感觉不是很通用)。

阅读全文 » 1091天前
2021年04月02日

技术饭 微信公众号开发一物一码功能与扫码跳转小程序

需求是要用到微信公众号的一物一码功能,申请一批二维码并进行激活,将这些二维码分发到商品上,用户通过扫描二维码可以跳转到小程序,然后进入到我们自己的业务逻辑存储数据进行后续分析。看了官方的开发文档了,发现一物一码功能也是上线不久,网上并没有太多的开发经验。所以折腾了几个小时,终于大概弄清楚了,也不会特别复杂,说白了就是:公众号的一个插件,用来批量生成商品二维码,扫码之后跳转到小程序的页面。不过开通一码一物的流程可能比较慢。

阅读全文 » 1163天前
2021年01月20日

技术饭 实现小程序扫码发红包、小程序扫一物一码二维码领取红包、小程序红包

微信支付给用户发送包、转账的方式有两,一种是直接企业到零钱,另外一种是直接发红包,需要用户自行拆开领取,之前都是通过公众号直接支付发红包,现在的需求是需要在小程序里直接调起拆红包功能,或者是小程序里直接企业到零钱发个用户。

阅读全文 » 1164天前
2021年01月20日

技术饭 vue、js前端集成ueditor编辑器,后端serverUrl的实现方式

vue、js前端集成ueditor编辑器,后端serverUrl的实现方式,对比其他的富文本编辑器,Ueditor的功能相对来说是最强的,对于在Vue、jquery中集成Ueditor想必还是有这个需求的,接下来就来看看Ueditor在后端如何进行配置提供上传功能。

阅读全文 » 1191天前
2020年12月23日

技术饭 PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等

PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等,如果要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天介绍一款PDF库:TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,增强了实用功能。

阅读全文 » 1276天前
2020年09月29日

技术饭 微信开放平台中第三方平台api接口的对接与实现

微信开放平台中第三方平台api接口的对接与实现,最近为了做微信开放平台的第三方平台也是花费了两周多的时间,中间碰到各种坑,以前如果要帮助第三方公众号做开放,也是直接把第三方的开发信息改成自己服务器的,但是这样不方便,不同服务商每做一个活动都要重新改一次,所以只能使用公众号授权第三方平台来实现这样的功能了。

阅读全文 » 1309天前
2020年08月28日

技术饭 PHP实现微信支付的现金红包、企业付款到零钱功能

企业付款提供由商户直接付钱至用户微信零钱的能力,支持平台操作及接口调用两种方式。具有免费、快速到账、灵活、安全等优点。商户可以使用企业付款,用于如:费用报销、员工福利、用户奖励等。微信红包,2014年春节一推出即受到广大用户好评,引发全民抢红包热潮。现将微信红包打造成“现金红包”,作为一款定向资金发放的营销工具,供商户使用。用户在客户端领取到红包之后,所得金额进入微信钱包,可用于转账、支付或提取到银行卡。

阅读全文 » 1329天前
2020年08月07日

技术饭 首先要知道export,import ,export default是什么

ES6模块主要有两个功能:export和import:1、export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口;2、import用于在一个模块中加载另一个含有export接口的模块也就是说使用export命令定义了模块的对外接口以后,其他JS文件就可以通过import命令加载这个模块(文件)。这几个都是ES6的语法。

阅读全文 » 1422天前
2020年05月06日

技术饭 微信公众号新增付费功能,原创作者的福利呀~~~

最近微信公众号推出了付费功能,这是原创作者的一大福利呀,以后就可以在家赚钱了,开通了付费功能的公众号,运营者可以在编辑时对原创文章的部分或全部内容设置收费。对于付费图文,用户未付费前可免费阅读前言和试读部分;用户付费后方可阅读全文、留言。

阅读全文 » 1428天前
2020年04月30日

技术饭 sublime text 3 安装以及插件安装

Sublime Text 3中文版是一款跨平台代码编辑器(Code Editor)软件。Sublime Text 3既可以编写代码还可以编辑文本,是程序员必不可少的工具,相比之前的版本Sublime Text有了很大的改进,支持代码补全、代码折叠,自定义皮肤等功能,同时支持多种语言和多种操作系统。

阅读全文 » 1452天前
2020年04月06日

技术饭 活动抽现金红包,微信第三方代发红包

最近需要做一个能抽奖发红包的H5活动,用在微信上,本身微信支付自带了发红包功能,但是奈何开通此功能需要微信支付有1个月以上的支付流水,所以就放弃了,然后采用第三方接口实现红包,第三方接口正常的逻辑是:钱充值到第三方平台,其实钱是冲到了第三方的微信支付账号,然后调用第三方接口,第三就给用户发送红包链接,用户点击就可以领取红包啦。

阅读全文 » 1462天前
2020年03月28日

技术饭 微信小程序扫一扫的功能实现

微信小程序扫一扫的功能实现,这个功能比较简单,直接看微信小程序文档就好了,只要执行wx.scanCode方法就好了,其他的不再赘述。

阅读全文 » 1463天前
2020年03月26日

技术饭 如何安全安装不受信任的软件包?以超级用户或root身份运行Composer是否安全?

某些Composer命令,包括exec,install和,update允许第三方代码在您的系统上执行。这来自其“插件”和“脚本”功能。插件和脚本对运行Composer的用户帐户具有完全访问权限。因此,强烈建议 避免以超级用户/ root身份运行Composer。

阅读全文 » 1500天前
2020年02月19日

生活札记 ​299元的FIIL T1 X 真无线运动耳机,感觉动起来容易掉,肿么办

之前买的FIIL 随身星 NC最近线断了,只有左边耳机线是好的,所以呢就花了299元买新的FIIL T1 X 真无线运动耳机,红色版本,刚刚拿来鼓捣了大半天,看了说明书才慢慢学会怎么用,整体而言随身星NC的音质、降噪、蓝牙连接多个设备这些功能都远远比T1 X好很多,不过毕竟价格差了400多也没啥可吐槽的,但是戴起来吧,左耳还能戴得住,右耳就很容易掉,运动起来这可还得了,这可肿么办!!!

阅读全文 » 1501天前
2020年02月18日

技术饭 开通微信服务商分账功能

开通微信服务商分账功能,服务商在产品中心-特约商户授权产品中开通服务商分账(服务商联系运营开通产品白名单后,才可在产品中心看到此功能)。

阅读全文 » 1648天前
2019年09月24日

技术饭 微信支付服务商模式遇到的问题

微信支付服务商模式遇到的问题,最近要做零售店模式小程序商城,这就涉及到不同商户收款,到账就到不同商户账号,问题在于一个企业服务号开通了普通微信支付的前提下,是否可以同时开通服务商功能?这两者是否有影响?

阅读全文 » 1649天前
2019年09月23日

技术饭 微信支付、支付宝支付代码整理,仅供参考

微信支付、支付宝支付代码整理,仅供参考,作为个人技术开发一直很头疼微信支付、支付宝支付需要企业账号来做测试,所以很大程度上就没法完成测试,现在支付宝开放了沙箱功能算是很好了,但是微信支付还是一样不给沙箱测试,即使有沙箱测试也必须是企业账号。

阅读全文 » 1738天前
2019年06月26日

技术饭 exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题

exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题,手机图片上传之后出现了反向问题,操作系统里的文件属性功能可能已经把图片给修正过了,那这时候就要把图片给旋转回来就需要用到php的exif_read_data方法。

阅读全文 » 1767天前
2019年05月27日

技术饭 用cookie解决新版微信中H5页面底部白条问题

5月23日微信更新6.6.7版本,新加的文章缩小浮窗功能确实很赞。不过,有一处更新颇使H5开发者感到困扰,就是在iPhone上H5页面最底部多了一个白色的前进后退控制栏,即下图底部的那个白条,

阅读全文 » 1918天前
2018年12月28日

技术饭 跨域ajax异步测试微信分享功能,微信授权回调页面分享解决方案

跨域ajax异步测试微信分享功能,微信授权回调页面分享解决方案,这个功能研究了有一段时间了。刚开始没注意研究微信的签名,导致一直报错签名错误:config:invalid signature,由于微信给出的签名url地址必须是当前网址,所以需要把当前的网址传给后端做加密签名,然后返回的签名才是正常的!!!

阅读全文 » 1923天前
2018年12月23日

技术饭 MySQL创建自定义函数(Functions)

MySQL创建自定义函数(Functions),查看函数功能是否开启:show variables like '%func%';开启:SET GLOBAL log_bin_trust_function_creators=1;关闭:SET GLOBAL log_bin_trust_function_creators=0;

阅读全文 » 2002天前
2018年10月05日

技术饭 Mysql中的存储过程

简单的说Mysql中的存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用。

阅读全文 » 2002天前
2018年10月04日

技术饭 PHP抓取远程图片到本地保存

最近在工作中需要开发了一个用户素材功能,里面需要将网上的各种图片素材进行本地化存储。于是在网上找了一些相关资料,并根据自身开发需要,整理了一下主要的逻辑代码。

阅读全文 » 2020天前
2018年09月17日

技术饭 yum命令,yum源,yum简介

在windows上安装一个软件,我们可以通过360管家。因为360管家提供了软件的安装,卸载,并且解决了软件之间的依赖等相关问题,使得我们能够一键安装。在linux上有一个提供了和360管家类似功能的工具,叫做yum。使用yum我们就可以做到一个命令安装软件,并且不同的发行linux有不同工具,例如红帽(read hat)linux就使用的rpm全称就是read hat package manager 红帽软件包管理工具。yum源是什么呢?我们安装软件的时候需要下载软件,将很多软件放在一起就是源。软件安装包的来源。所以yum源就是软件安装包来源。如果我们是在线的,他会在网上给你下载安装包,如果是离线的没有网络。那么就只能配置本地的yum源了。

阅读全文 » 2023天前
2018年09月14日