教程
文章平均质量分 81
北桥苏
专注后端实战技术分享,不限于PHP,Python,JavaScript, Java等语言,致力于给猿友们提供有价值,有能量的内容
展开
-
零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?既要又要,当然也有,找网上提供的免费 API 接上去。但是这种有请求数限制,而且还和自己应用的业务不相关,那就只能自己弄接口了。既然可以在 GitHub 上搭静态博客,那整一个静态 API (json 文件),时不时地更新或提交新的 json 文件上去,在 C 端应用上不也看起来像是动态的了。所以下面就实践一下。原创 2024-08-17 10:43:24 · 861 阅读 · 0 评论 -
零成本加速 “个人图床服务”
上次简单分享了一下通过 Github Pages 方式搭建图床,但是国内对,多数情况下很慢甚至打不开。而这次我要推荐两个解决方法;另一种是(先卖个关子)。原创 2024-08-05 09:38:01 · 385 阅读 · 0 评论 -
零成本搭建个人图床服务器
图床服务器是一种用于存储和管理图片的服务器,可以给我们提供将图片上传后能外部访问浏览的服务。这样我们在写文章时插入的说明图片,就可以集中放到图床里,既方便多平台文章发布,又能统一管理和备份。当然下面通过在 GitHub 上搭建的图床,不光不用成本,而且还能上传视频或音乐。操作方法和以前在 GitHub 上搭建静态博客类似,但是中间会多一些一些工具介绍和技巧。原创 2024-06-26 11:38:00 · 730 阅读 · 0 评论 -
如何用 Python 实现一个 “系统声音” 的实时律动挂件
本文介绍了如何使用Python的pyaudio库来获取系统内部声音,并实时地在电脑上绘制波形动画,作为FLStudio播放时的桌面小挂件。首先通过pyaudio获取设备列表,找到带有“立体声混音”的名称,并打开该设备。然后使用FuncAnimation函数更新波形图,并将音频数据写入WAV文件。最后,程序将音频数据保存到指定的WAV文件中,并输出文件名。原创 2024-01-08 11:32:33 · 576 阅读 · 1 评论 -
如何将 Python 项目打包成 exe,另带卸载功能!
虽然我是做 web 的,但是对 Python 的众多开源项目一直都很关注。像之前的 stable diffusion 的 AI 绘画,和 so-vits-svc 音色替换等源码的部署文档都很完善了。尽管如此,对于刚入门的和本地环境搭建各种踩坑的同学,又急于一试就显得不太友好了。针对这一现象,网上早有了各种大佬做了一键部署的解决方案,不用安装 Python 环境,不用下载各种依赖包,点一下 exe 就可以用了。那他们是怎么做的呢,到这里应该已经很多人会说用 pyinstaller。原创 2023-12-20 11:34:36 · 505 阅读 · 0 评论 -
最简单的canal 1.1.6服务搭建方法
作为增量数据消费,应用与各种场景都有与之对应领域比较好的工具。比如上面的Logstash和filebeat虽都同属于Elastic但也截然不同,更别说flume等等工具。我选择canal的原因是他有适配器,只要是MySQL同步场景,对面是一个能储存的都可以原创 2022-03-31 16:16:28 · 5608 阅读 · 4 评论 -
Logstash同步MySQL关联表到Elasticsearch的嵌套文档中
前言: 上一篇实践了通过Logstash同步MySQL的几张关联表到Elasticsearch中。为了实现同一种业务需求,嵌套文档在资源开销和查询速度上要优于父子文档(针对少量数据的情况)。所以以下就实践一下嵌套文档的基本使用和,以及Logstash如何同步一对多关系表到ElasticSearch的嵌套文档中。RESTful模拟: 以下以博客内容和博客评论为例,从映射创建,到增,删,改,查,聚合演示嵌套文档的使用方法,索引名 “blog_new”。1.创建映...原创 2021-12-22 10:01:30 · 2277 阅读 · 0 评论 -
Logstash同步MySQL一对多关联表到Elasticsearch父子文档
目前大部分业务开发中,ElasticSearch主要还是用来做搜索。而支撑搜索功能的数据结构比较单一,不会有数据嵌套或者多种关联之类的。尽管没有,但是有些小众需求可能还会有一对多查询的场景。为了实现和MySQL的Join类似的查询方式,以下以ES的父子文档方式储存,并详细演示Logstash如何将MySQL的多张有关联的表同步到ES的父子文档。原创 2021-12-20 20:00:58 · 1961 阅读 · 0 评论 -
【物联网篇】PHP通过Modbus Tcp实时获取设备数据
前言: 最近接触了一个关于PLC工控的小项目,大概场景是,对方一个茶叶工厂。已经通过各种设备组成了自动化的工控系统。并且也让我的一个朋友做了茶园监控和茶园天气环境等的web页面展示,但是还没有工控设备的数据显示。需求: 工控设备已经连接到了一台作为上机位的电脑上,所以要获取设备数据。需要在同一局域网上,通过modbus tcp请求对方已经开放的端口。拿到数据储存到数据库,最后web界面只用按时间顺序获取数据库的数据。 因为访问对方电脑需要他们提供...原创 2021-05-30 14:21:49 · 4090 阅读 · 6 评论 -
windows下docker的安装与镜像的制作提交
前言: 作为一个开发人员,每每在更换电脑或重装系统时,要重新安装开发工具搭建开发环境。所以有的人会封装一下系统(这里指windows),将平时用到的环境和工具全安装在里面,改改OEM,以后换了电脑就直接拿封装的系统安装就方便很多。 同样但也不一样的,在开发完的应用程序在需要更换IDC或者部署分布式时。针对应用又要重新搭建环境,安装软件依赖等等。所以这时候可以将应用软件以及环境依赖一并作为docker镜像,部署的时候直接拉取镜像,启动后为容器就可以正常运行了。Docker简介:...原创 2020-07-11 11:13:32 · 2086 阅读 · 0 评论 -
PHP快速使用RabbitMQ实现项目中部分业务的解耦
前言: 上次介绍了RabbitMQ在windows下的安装,以及PHP的AMQP扩展的添加。这里将本地测试的代码放到了服务,所以也就是在Linux上再装一遍。但是这里就省掉直接进入使用。主要是RabbitMQ安装完毕后,管控台的使用以及在PHP中如何调用其接口实现消息的生产和消费。步骤:1.Linux安装完rabbitMQ后,没有配置文件,需要去github(https://github.com/rabbitmq/rabbitmq-server/tree/master/do...原创 2020-05-22 15:13:38 · 620 阅读 · 0 评论 -
如何搭建Rtmp服务结合uni-app开发直播APP
前言: 由于自己有一个IM类的应用,为了完善它所以决定也加上直播和短视频功能。做直播目前有两种方法,一是直接对接第三方的直播服务产品,二是自己搭服务再开发。所以这里也从这两个方法推荐简单的实现方式,阿里云和腾讯云之类的大厂产品就不安利了。(公众号回复“直播”获取源码)选型:1. 第三方,PHP+Uni-App+LiveQing2. 自己开发,PHP+Uni-app+Nginx-rtmp-module实现流程:1. 客户端采集视频流。(开摄像头,录屏等)2. 客户端...原创 2020-05-20 09:34:16 · 4662 阅读 · 2 评论 -
搜索接口优化方案——elasticsearch分布式搜索引擎的基本使用
前言: 在开发项目中一般都会有搜索功能。如果是面向C端的搜索功能,往往都特别考验性能。比如普通的商城系统中的商品搜索或者一些资源的站内搜索。 可能以前的做法就是对商品表做一个按名称或商品描述做模糊查询。更好一点的是对搜索关键字进行分词,并且专门建一个搜索词库表。不过前期需要对搜索词进行拆解然后幂集组合并于商品ID关联,搜索字与词库表的字以完全匹配的方式查询并找到商品ID。 虽然建词库表也是不错的解决方法,但是还要拆解存库建索引,相对比较麻烦。所以也是在网上查询了解到了elast...原创 2020-05-17 13:46:30 · 561 阅读 · 0 评论 -
消息队列篇——windows本地搭建RabbitMQ Server
前言:最近的PHP项目中有使用AMQP,解耦一些业务性的功能模块。因为工作使用的是线上Linux搭建,为了方便测试所以我决定本地搭建一个MQ服务。RabbitMQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。RabbitMQ是一个在AMQP基础上完成的,是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读...原创 2020-05-12 23:25:37 · 481 阅读 · 0 评论 -
微信小程序自定义券票二维码文件流上传到OSS解决方法
前言 目前项目中有这样一下需求,通过传入的不同的参数生成不同渠道的微信小程序二维码,从而统计各大平台从小程序引流的数据。而旧系统是先通过接口生成二维码后先是保存至当前服务器上后,拿到图片路径和文件信息然后再使用OSS的SDK上传到存储桶。可能是因为生成的二维码是文件流,所以以前的人是通过file_put_contents函数做的保存再使用SDK的文件上传接口。思路...原创 2020-04-26 23:13:26 · 458 阅读 · 0 评论 -
MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库
前言:本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例。最后就是ThinkPHP5的分布式的连接,读写分离配置,以后会用代码简单测试读写分离的效果。数据库部分:一. 主库(master)设置。方法/步骤1:phpstudy至少开启MySQL服务,并找到配置文件mysql.ini并...原创 2020-04-12 20:13:42 · 722 阅读 · 1 评论 -
oppo r9s 解bl锁,刷入第三方recovery
前言:在对目前安卓手机刷入第三方REC时,需要简单介绍一下bootloader,recovery,fastboot,rom的概念。其中刷机有卡刷,线刷,9008深度刷机,卡刷指将rom复制到手机SD中进行刷入,线刷则是用手机连接电脑,在fastboot模式下刷入rom。以下是线刷第三方rec,然后再用第三方的rec工具卡刷rom,root,xposed,面具等。流程:1. 手机解...原创 2020-02-05 11:40:22 · 23712 阅读 · 9 评论 -
红米note3 S线刷MUI版本,解决手机卡顿
参数:机型:红米Note3sMUI:9.1Android:6.0.1基本流程:1. 红米解锁BL2. 下载线刷工具http://bigota.d.miui.com/tools/MiFlash2018-5-28-0.zip3. 下载红米ROMhttp://www.miui.com/shuaji-393.html4. 开始刷机详细步骤:1. 解除...原创 2020-01-10 11:19:45 · 776 阅读 · 1 评论 -
打印机的基本使用
前言: 在公司,虽然只写代码,但是难免也会要被人叫去弄打印机。有的说要让自己电脑连接打印机,有的说卡纸了,有的说去换墨盒换纸等等。所以这里把北桥苏操作过的基本方法总结一下,专业打印机维护或网管就可以略略略。型号: 彩色喷墨多功能一体机,border牌MFC-J3530DW。功能简述: MFC-J3530DW支持打印,复印,...原创 2019-11-01 11:08:30 · 1423 阅读 · 0 评论 -
【代码审计01】几种常见的漏洞种类以及代码审计工具
前言 代码审计是在经过黑盒测试完毕,也就是检查应用的基本功能是否符合产品业务需求下进行的。需要有一定的编码基础以及对漏洞形成原理的基本认知,通过工具或者经验检测代码中可能出现的bug,并在不同平台(windows,linux),不同PHP版本下测试。比如PHP的很多新版本会对一些指令废弃删除,但是在旧版本中却能使用,而该版本下的指令即有可能会被人发现漏洞。PHP核心配置...原创 2019-10-18 09:12:38 · 1220 阅读 · 0 评论 -
关于ThinkPHP5.1+的Log无法记录SQL调试记录的小经历
项目开发阶段,除了基本编码外,性能也需要实时关注与优化。之前我的大部分项目都是使用ThinkPHP5.0以及ThinkPHP3.2,对于框架提供的日志记录和日志配置都差不多,然后使用ThinkPHP5.1的时候就吃瘪,花了十几分钟才好,所以写一下防止后面忘记了再踩坑。日志配置ThinkPHP5.1没有了config.php,日志配置单独提出来自成一块,叫Log.php,这个适应一下就可以。...原创 2019-08-23 14:09:33 · 3350 阅读 · 0 评论 -
TP5.0使用助手函数model出现\common\Model\类不存在
在ThinkPHP5.0中有一个助手助手函数model(),可以实例化具体的模型,包括分层模型,只要传入类名(第一个参数),分层名(第二个参数)。这个函数其实是ThinkPHP框架Loader中的一个静态方法,可以打开"thinkphp\library\think\Loader"的380行左右查看,参数和实现方法可以自行查看。问题 在本地也就是windows环境下,我通...原创 2019-09-20 12:05:15 · 6298 阅读 · 0 评论 -
【安利篇1期】工作学习的冷门小众干货整理分享
工具类1. 免费服务器地址:https://demo.glyptodon.com/#/client/ZGVtbwBjAGRlbW8=简介:无需注册付费,浏览器输入地址即可进入连接一个windows10系统的服务器,由于是国外所以连接时间受限,有时会掉线,但是基本的操作完全可以。2. 网盘提取码查询地址:https://pnote.net/pan/简介:免费无需注册无毒...原创 2019-10-02 19:52:01 · 295 阅读 · 0 评论 -
ThinkPHP5中如何实现模板完全静态化
模板完全静态化,也就是通过模板完全生成纯静态的网页,相比动态页面和伪静态页面更安全更利于SEO访问更快。相比前二者各有利弊吧,现在稍微对这三种形式的优缺点对比一下,以及在ThinkPHP5项目中实现完全静态化的基本过程。对比1. 动态与真静态页面静态化与动态页的对比,静态没有了SQL和一些后端脚本运行,安全稳定,访问速度快,对SEO友好(网上也有说现...原创 2019-10-11 09:16:54 · 1350 阅读 · 0 评论 -
关于连接不上SVN的部分解决方案——No repository found in svn localhost
今天如往常一样做事,期间发现一个问题,于是就打算将文件与 svn 上的文件进行对比,可谁成想 Eclipse 突然弹框报错,然后我到SVN资源库中直接刷新打开 svn 的地址,又弹框报错:文件夹不存在,第一反应是服务器的 svn 服务应该挂了,于是上线看了看,发现果然 svn 的服务挂了,于是重新启动,结果发现还是没有,觉得郁闷之余,也开始将近 2 个小时的百度之旅——由于报错的其中一句「S...转载 2019-07-10 11:39:17 · 604 阅读 · 0 评论 -
如何使用apache的ab压力测试小工具传参数
前言:windows下安装的phpstudy软件里集成的apache带了ab工具,所以可以不用单独下载。其他的操作系统下的安装或部署这里就不介绍了!一、使用windows的cmd进入apache的根目录,输入ab查看命令的基本使用。二. 传递参数(主要介绍GET/POST两种方式)。1. GET方式(1).只需要在请求的url后面拼接参数就可以:ab -n 10...原创 2019-03-22 11:35:21 · 536 阅读 · 0 评论 -
【按键精灵篇】如何做一个自动打开APP进入注册页面自动输入自己手机号
按键精灵,虽然很早听过,但是一直没有真正使用过,所以最近有点时间也简单试一下,通过脚本自动清理APP缓存,打开百家号并自动进入注册页面输入自己的手机号。软件清单1. 雷电手机模拟器:https://www.ldmnq.com/2. 按键精灵手机助手:http://download.myanjian.com/扩展平台1. 打码平台:http://www....原创 2019-08-13 18:08:12 · 8300 阅读 · 0 评论 -
Gateway-Worker启动失败或者启动无法正常使用的几种方法
Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组...原创 2019-08-06 15:46:20 · 4625 阅读 · 0 评论 -
如何使用Fiddler抓取APP接口和微信授权网页代码
Fiddler,一个抓包神器,不仅可以通过手机访问APP抓取接口甚至一些数据,还可以抓取微信授权网页的代码。下载安装1. 下载地址(官网):https://www.telerik.com/download/fiddler2.或者关注以下公众号,回复“抓包工具”就可以获取网盘地址。3. 官网填完账号等信息下载,然后安装,打开。设置当前电脑的代理1. 打...原创 2019-06-06 18:50:23 · 2681 阅读 · 0 评论 -
PHP应用如何对接微信公众号JSAPI支付
微信支付的产品有很多,1. JSAPI支付 2. APP支付 3. Native支付 4.付款码支付 5. H5支付。 其中基于微信公众号开发的应用选择“JSAPI支付“产品,其他APP支付需要“微信开放平台”,H5支付可以在微信以后浏览器通过一个链接调起微信支付,根据自身的业务场景选择,各产品对接方式基本一致,这里主要讲公众号支付。涉及平台:微信商户平台:https://pa...原创 2019-05-16 19:36:28 · 328 阅读 · 0 评论 -
应用在App Store上被拒重新提交审核流程指南
1. 打开地址:https://itunesconnect.apple.com2. 输入APPID和密码后,再输入绑定手机后的验证码。 3. 查看“”我的APP“”,如果显示拒绝,可能需打开Mac的Xcode重新修改部分代码。4. 打开项目,按原因修改后,连接手机,查看Xcode桌上角是否已经连接手机5. 如果显示了手机图标,则就可以进行编译,找到同一...原创 2019-05-21 14:28:56 · 848 阅读 · 0 评论 -
linux上SVN出现 "Unable to connect to a repository at URL 'svn://xx.xx.xx.xx/xxx' 和 No repository ...
centos上安装了svn, 有时候会不知道什么原因出现客户端小乌龟无法连接或无法提交等情况。1. 万能重启,xshell连接服务器,输入 service svnserve restart 命令。当出现这种情况时,可能是通过 "svnserve -d -r /svn" 启动svn服务后面带的路径不对。2. 关闭所有svn服务,killall svnserve 命令。3. 查...原创 2019-05-10 18:34:06 · 2032 阅读 · 0 评论 -
Mysql表分区的选择与实践小结
在一些系统中有时某张表会出现百万或者千万的数据量,尽管其中使用了索引,查询速度也不一定会很快。这时候可能就需要通过分库,分表,分区来解决这些性能瓶颈。一. 选择合适的解决方法1. 分库分表。 分库分表从名字上就明白是需要创建额外的新数据库或新表,可以建在其他的机器上也可以是和当前数据库同一台机器。在优化查询上可能需要买新机器或者要修改逻辑代码了。比如一张use...原创 2019-04-22 17:53:38 · 349 阅读 · 0 评论 -
解决注册并发问题并提高QPS
前言:前面在本地的windows通过apache的ab工具测试了600并发下“查询指定手机是否存在再提交数据”的注册功能会出现重复提交的情况,并且在注册完成时还需要对邀请人进行奖励,记录邀请记录,对该新用户自动发布动态信息,发短信或发邮件等其他业务功能。所以这里当并发时,注册功能就变得低效且容易出现问题。方法:先对重复提交的问题通过redis解决,再把注册储存用户基本信息以后的操作放到队列中进...原创 2019-03-22 11:36:21 · 436 阅读 · 0 评论 -
五个开发中简单快捷的小工具网址
一、所见即所得图表生成网址地址:http://charts.udpwork.com/简介:该网站主要以前端js制作,提供曲线图,折线图等多种图标类型。用户只需要修改一下图标名称,X,Y轴等的别名,轴上的参数可以增删改,对平时要写报表word还是很方便。二、随机数生成器网站(还有很多大功能)。地址:http://tool.520101.com/calculator/su...原创 2019-03-22 11:34:15 · 518 阅读 · 0 评论 -
解决nginx配置负载均衡时invalid host in upstream报错
当前平台: windowsnginx版本:1.11.5前言: 在配置负载均衡时,同时也需要设置反向代理,当修改了nginx.conf时,发现nginx服务无法开启。1. 打开"nginx/logs/error.log",查看最新的错误日志,invalid host in upstream红色: 后端服务器的主机无效,蓝色: 主机地址: http://192.168.29.1...原创 2019-03-22 11:33:21 · 26558 阅读 · 2 评论 -
解决centos7.0安装mysql后出现access defind for user@'localhost'的错误
在使用yum 安装完mariadb, mariadb-server, mariadb-devel后1. rpm -qa | grep maria 查看maria相关库的是否在进程中2. netstat -tulp 查看网络服务软件的进程列表,mysql是否在(yum install net-tools 安装netatat等网络分析工具)3. mysql_secure_install...原创 2019-03-22 11:30:58 · 1058 阅读 · 0 评论 -
解决Centos7 yum 出现could not retrieve mirrorlist 错误
刚通过VMware12安装了centos7.x后,使用ip addr查看centos局域网的ip发现没有,使用yum安装一些工具包时也出现报错:Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfileCould not retrieve mi...原创 2019-03-22 11:29:32 · 1859 阅读 · 0 评论 -
安卓手机如何快速投屏到windows(10/8.1/7)电脑上
前提:手机和电脑连接的网络必须在同一局域网下。优势:手机和电脑不需要下载对应平台的应用,完全使用全系统自带功能。附加:以下演示是安卓手机和windows操作系统电脑,并且win10和win10以下版本的方式不一样,手机也是需要支持投屏(红米note3没有投屏),投屏电视亦是!电脑部分一. windows101. 设置>系统>投影到此电脑,两个下拉设置分别设置为...原创 2019-03-22 11:27:49 · 17746 阅读 · 1 评论 -
超详细的纯净windows系统重装示例
之前说过通过使用大白菜制作启动盘,再去系统之家下载系统。虽然系统能安装,但是有时安装的是ghost版本,安装方便,只要引导后面就是等待自动安装,驱动什么的都不用管。但是有时会带上很多软件,不好清理甚至卸载不了,我之前因为这个电脑耗电特别快。所以这次主要讲一下纯净版的系统安装。一. 制作启动盘推荐USM,官方地址:http://www.usbrun.com/, 纯净版的系统镜像就不放...原创 2019-06-25 12:55:03 · 725 阅读 · 0 评论