自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (13)
  • 收藏
  • 关注

原创 Go 语言中的 Viper 库来读取 YAML 配置文件

包,包含一个结构体来映射 YAML 配置文件中的数据库配置信息。然后,我们使用 Viper 读取和解析配置文件,并将配置信息保存到全局变量。安装 Viper: 首先,你需要确保已经安装了 Viper。最后,在主程序中初始化配置并使用全局变量中的数据库配置信息来连接数据库。修改为你实际的包路径,并根据需要调整代码来适应你具体的项目结构和需求。函数来初始化配置,并将数据库配置信息设置为全局变量。创建一个结构体来映射配置文件中的数据库配置信息。文件,并将配置信息加载到结构体中。在这个示例中,我们创建了一个。

2024-05-21 17:38:41 673

原创 使用php和redis实现分布式锁

需要注意的是,在实际应用中,分布式锁的实现可能需要考虑更多的复杂性,例如处理锁的续约、处理死锁等情况。此外,Redis 本身提供了一些针对分布式锁的优化方案,例如使用 Redlock 算法来实现更加可靠的分布式锁,你可以根据具体需求来选择合适的方案。首先,我们需要使用 Redis 的 SET 指令来尝试获取锁,并设置一个过期时间,确保锁不会永久存在。在 Redis 中,我们可以利用 SET 指令的特性,例如在给定的键不存在时设置键的值并设置过期时间来实现分布式锁。

2024-05-10 18:17:00 380

原创 【gin框架入门】

Gin 是一个用 Golang编写的 高性能的web 框架, 由于http路由的优化,速度提高了近 40 倍。Gin的特点就是封装优雅、API友好。Gin的一些特性:快速 基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。支持中间件 传入的 HTTP 请求可以由一系列中间件和最终操作来处理。例如:Logger,Authorization,GZIP,最终操作DB。Crash 处理 Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover它。

2024-05-10 18:14:48 366

原创 执行一条 SQL 查询语句,期间发生了什么?

select **

2024-03-27 23:20:51 158

原创 简单的解释依赖注入和控制反转

在控制反转中,通常是由一个容器来管理对象的生命周期和依赖关系,而不是在对象内部自行创建依赖对象。控制反转通过一个简单的容器类 Container,在容器中管理对象的创建过程。在容器中,我们定义了获取日志记录器和用户对象的方法,并在创建用户对象时,通过容器获取依赖的日志记录器实例,而不是在用户类内部直接创建。依赖注入(Dependency Injection)和控制反转(Inversion of Control)是软件设计中常用的两个概念,它们通常结合使用来实现松耦合、可测试性和可维护性。

2024-03-22 15:41:40 300

原创 php下rabbitmq防止消息丢失

消息丢失的情况在rabbitmq的消息的任何一个节点都会出现丢失。

2024-03-12 23:29:17 872

原创 php下RabbitMQ 中的$channel->basic_qos()函数是干啥的?

通过设置预取计数,你可以控制 RabbitMQ 向消费者传递的消息数量,以确保消息在消费者端有序、逐个处理。这有助于平衡系统负载,防止某一消费者一次性接收到过多的消息。是用来设置消费者的预取计数(prefetch count)的函数。预取计数指的是消费者在收到确认之前可以接收的未确认消息的最大数量。这样可以确保每个消费者在确认之前只会接收一条消息,从而确保了消息的顺序处理。这个函数通常在消费者端初始化时调用,以确保消息的有序处理。,即每个消费者可以同时处理的未确认消息的数量。在 RabbitMQ 中,

2024-03-04 18:05:52 479

原创 【RabbitMQ入门与PHP实战】

这几种工作模式,可以归为三类:生产者,消息队列,一个消费者;生产者,消息队列,多个消费者;生产者,交换机,多个消息队列,多个消费者;本文基于消息队列RabbitMQ入门与PHP实战_刘远山的博客完成。

2024-02-28 18:36:27 2069

原创 在centos7下安装rabbitmq并进行配置

第九步、创建vhost,一个broker里可以开设多个vhost,用作不同用户的权限分离。4369:epmd(Erlang Port Mapper Daemon),erlang服务端口。15672:HTTP API客户端,管理UI(仅在启用了管理插件的情况下)不一定会启动。第六步、配置端口,如是阿里云,腾讯云,华为云等还需要配置安全组,放开端口和配置相应的防火墙。第五步、安装完成,启动rabbitmq,查看是否启动,设置开机启动。第七步、开启web管理界面,添加用户,配置密码,设置用户角色。

2024-02-28 09:49:03 734

原创 rabbitmq的两个报错处理

此问题是连接rabbitmq使用的用户没有赋予访问权限,给上权限就好,我这边用的是admin,直接在命令行执行下下面的命令就赋予上权限了。我的问题是账号密码不正确,需要用通过命令行创建的用户(赋予了权限) 我通过命令行创建的是admin。

2024-02-27 18:03:26 472

原创 【微服务:go-microv4基本框架搭建】

因为一些原因最近在看go-micro,网上资料很多但感觉很乱,经过了许许多多踩坑之后终于实现了初步的demo,本节将搭建一个go-micro环境,并编记录demo实现过程和遇到的问题。go-micro有各个版本,我看的视频教程和网上的一些资料大部分都是用的v2,我用的是 go-micro 版本v4来开发。首先安装protobuf,方法可看https://blog.csdn.net/qq_28979487/article/details/135201852go-micro具体文档可访问https://gi

2024-01-03 18:01:41 1060 2

原创 【centos7安装php8,并与php7共存】

centos7原来已安装了php7.4.33,为不影响原来的程序的正常运行,决定在centos7上新安装php8,让php7和php8同时运行。

2023-12-28 14:40:11 929

原创 【go grpc在windows下的使用教程】

会在 GOPATH 的 bin 目录下生成两个可执行文件:protoc-gen-go.exe 和 protoc-gen-go-grpc.exe。这两个插件可以用来生成Golang版本的proto协议代码和gRPC代理代码。hello.pb.go 中是输入输出数据类型的Golang定义,hello_grpc.pb.go 中是客户端和服务端的gRPC代理类型和方法的Golang定义。在项目根目录中执行如下命令,会在proto目录下生成两个文件:hello.pb.go 和 hello_grpc.pb.go,

2023-12-25 16:17:46 988

原创 【Redis --- 持久化】

快照文件称为RDB文件,默认是保存在当前运行目录。bgsave开始时会fork主进程得到子进程,子进程共享主进程的内存数据。save命令会导致主进程执行RDB,这个过程中其它所有命令都会被阻塞。RDB和AOF各有自己的优缺点,如果对数据安全性要求较高,在实际开发中往往会结合两者来使用。Redis内部有触发RDB的机制,可以在redis.conf文件中找到,格式如下。这个命令执行后会开启独立进程完成RDB,主进程可以持续处理用户请求,不受影响。Redis停机时会执行一次save命令,实现RDB持久化。

2023-05-12 16:35:06 40

原创 【Redis ---基础 数据类型】

Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。

2023-05-10 16:15:33 21

原创 new static()和new self()

如果有继承,子类调用该方法,new self 仍然返回原类的实例,而 new static 返回实际子类的实例。3.这两个方法new出来的对象有什么区别呢,说白了就是new出来的到底是同一个类实例还是不同的类实例呢?即返回调用者的实例。这就是延迟静态绑定,static 的值,使用的是最后实际调用那个方法的类。2.无论是new static()还是new self(),都是new了一个新的对象。1.new static()是在PHP5.3版本中引入的新特性。

2023-04-07 18:01:35 155

原创 硬盘问题导致无法开机

按随意键没有反应,此时准备一个Ubuntu原生系统的U盘启动器,插入工控,开机按delete进入boot。进入的是试用系统,然后打开终端界面,输入fdisk -l 查看机器所挂硬盘个数及分区情况。接下来 等待修复完成,等待修复完后,拔出U盘,执行reboot, 重启机器。此时会进入ubuntu的安装界面,选择Try Ubuntu进入,意思是无效的环境模块,随意按键继续,按任意键后。等待修复完后,执行reboot, 重启机器。这里的sda1中的1改为你坏掉的盘。这里的sda1中的1改为你坏掉的盘。

2023-03-24 11:51:59 1206

原创 android关于使用Handler崩溃和解决说明

安卓官方表示:Handler ()此构造函数已弃用。在 Handler 构造期间隐式选择 Looper 可能会导致操作丢失、崩溃或竞争条件的错误,与处理程序关联的线程不是作者预期的。来帮助我们将子线程的数据传递给主线程,其实,当熟悉了Handler的原理之后我们知道,Handler不仅仅能将子线程的数据传递给主线程,它能实现任意两个线程的数据传递。Handler,并在主线程中构建了Handler的构造函数Handler(),此函数已经弃用,通过调试和定位后确定是由此造成了app崩溃。主线程的Looper。

2023-03-09 14:14:07 884

原创 JZ8 二叉树的下一个结点

给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示示例:输入:{8,6,10,5,7,9,11},8返回:9解析:这个组装传入的子树根节点,其实就是整颗树,中序遍历{5,6,7,8,9,10,11},根节点8的下一个节点就是9,应该返回{9,10,11},后台只打印子树的下一个节点,所以只会打印9,如下图,其实都有指向左

2022-08-05 12:05:36 55

原创 uwsgi centos 安装install-headers /usr/local/include/python3.6m/uwsgi Check the logs for full command o

错误原因:没有装 python-dev注意: cnetos系统下,并不是交python-dev,而是叫python-devel由于我的python版本是3.6.7的,所以我这里安装的是python36-devel>: yum install python36-devel>: yum install uwsgi如果是其他系统的,也可以按照这个思路去找原因若,不知道python版本,可以直接用命令:python --version查看再通过 yum search python3.

2021-05-21 17:52:51 752

原创 python 正则

正则表达式:+:符号表示在符号之前的字段必须最少出现一次# coding=utf-8import rea='_python 1111pythonn\n7\pytho8php'r=re.findall('python+',a)print(r)* :表示符号前的字段可以出现为0 次或者多次# coding=utf-8import rea='_python 1111pythonn...

2019-06-28 11:43:58 140

原创 php strrev 字符串反转函数实现

<?php//strrev 字符串反转函数实现function strrev2($string){ $str =''; //获取字符串$string长度 $len = strlen($string); for($i=0;$i<$len;$i++){ $str .= $string[$len-1-$i]; } retur...

2019-05-29 16:12:23 191

原创 php utf-8截取中文字段

<?php//utf-8截取中文字段function substr2($string,$start,$legth){ $str =''; //获取字符串$string长度 $len = strlen($string); //判断截取字段长度是否合理 $len1 = $start+$legth; if($len>$len1){ ...

2019-05-29 15:25:29 156

原创 php截取中文无乱码

/** * utf8编码字符串截取无乱码* @param $str string 要处理的字符串* @param $start int 从哪个位置开始截取* @param $length int 要截取字符的个数* @return string 截取后得到的字符串*/function substr_utf8($str,$start,$length = null) { ...

2019-05-28 17:13:12 105

原创 http总结

1.什么是http http是应用层下基于请求-响应模式的B/S模式,是基本tcp/ip协议下的 无状态的超文本传输协议 http是基于tcp/ip通信协议来传输数据2.http工作原理 http协议工作与客户端-服务端架构上。http客户端浏览器通过url向http服务端进行请求。并创建一个tcp连接,默认端口80,连接到服务器,服务器接收到请求,并将响应处理返回客户端...

2019-05-28 10:11:28 142

原创 php 如何从txt读出每行并去除换行符

这是个问题

2019-04-17 13:22:11 121

原创 PHP 爬顶点小说代码 简单版 未优化

function zhangjie($url){    $content = file_get_contents($url);        $doc=new DomDocument();          $doc-&gt;loadHTML($content);          $lpath=new DOMXpath($doc);        $list = $lpath-&gt;query...

2018-04-25 16:52:35 411

转载 php 如何从txt读出每行并去除换行符

<?php $file = fopen("A.txt", "r"); //输出文本中所有的行,直到文件结束为止。 while(! feof($file)) { $order=array("\r\n","\n","\r"); $replace=''; $newstr[]=...

2018-01-25 16:26:00 1111

php使用openssl进行AES-256-CBC加密

php使用openssl进行AES-256-CBC加密

2024-05-10

ubuntu下使用QT开发的实时视频播放demo

ubuntu下使用QT开发的实时视频播放demo,支持接入rtsp/rtmp等视频播放地址实现实时视频播放

2024-03-15

微服务:go-microv4框架demo源码和搭建文档

因为一些原因最近在看go-micro,网上资料很多但感觉很乱。go-micro有各个版本,我看的视频教程和网上的一些资料大部分都是用的v2,我用的是 go-micro 版本v4来开发。经过了许许多多踩坑之后终于实现了初步的demo,本demo将搭建一个go-micro环境,并编记录demo实现过程和遇到的问题。压缩包中包含案例demo源码和安装的整个过程文档,以及遇到的问题点和解决方案,适合刚开始学习微服务框架的同学。

2024-01-03

pdf.js可在HTML页面上载入和渲染PDF文件且可直接使用的demo(已解决隐藏打印下载等按钮)

pdf.js 是基于开放的 HTML5 及 JavaScript 技术实现的开源产品。简单说就是一个 PDF 解析器。直接在标准的HTML页面上载入和渲染PDF文件, 还可以提高安全性(不需要安装第三方插件,安全性由浏览器保证),浏览器所做的安全措施已经为pdf.js提供了安全的运行环境。已经解决了PDF隐藏打印,下载,打开功能,打开速度为24Mpdf文件速度在5-6秒左右,可继续优化。

2023-03-22

基于ubuntu下海康摄像头设备网络SDK开发

基于ubuntu下QT5.7的海康摄像头设备网络SDK开发,完成摄像头预览,抓拍,人脸和背图上传等功能,压缩包中包含程序源码,SDK等,可在界面输入摄像头ip,账号,密码后直接运行。

2022-11-14

基于ubuntu+qt+opencv的人脸识别源码

基于ubuntu+qt+opencv的人脸识别源码,实现基于qt+opencv的人脸识别代码,输入人脸、训练、识别人脸。Qt和opencv配置好后,打开该工程,将pro中opencv路径改成自己的就直接能用,代码有注释,用的是分类器,具体自己看代码

2022-07-21

QT 使用opencv识别人脸应用程序

基于qt+opencv的人脸识别代码,输入人脸、训练、识别人脸,基于OpenCV实现人脸识别,可支持多人脸检测

2022-07-21

QT 开发FTP服务端源码

QT 开发FTP服务端源码,网上很多客户端,但服务端很少,特意上传一份服务端ftp源码

2022-06-02

程序语言闭包讲解ppt

闭包讲解ppt

2022-02-18

CRC16校验码计算软件

CRC16校验码计算软件

2022-02-18

updsocketDome

updsocketDome

2022-02-18

微博博文批量删除dist.zip

微博博文批量删除dist.zip

2021-07-27

PHPExcel-1.8上传案例

phpExcel 中包含php对xlsx,exl的操作 案例 可实际操作 采用的是php 原生代码

2019-03-20

高性能PHP应用开发

《高性能PHP应用开发》是2011年11月人民邮电出版社出版的图书。本书主要是对PHP的原理和相关的工具集来实现调优性能的图书。

2019-02-25

paypal新的ipn返回接口 代码 加文档

paypal新的ipn返回接口 代码 加文档 中文paypal支付 ipn 返回接口处理代码和文档

2019-02-01

移动端 web 下拉加载 更多 效果源码

移动端 web 下拉加载 更多 效果源码

2018-03-12

手机短信验证前端demo

手机短信验证前端前端代码 整体界面简单美观 好用 如果颜色不符可进行修改

2017-11-27

微信登陆demo.php

微信登陆的一个简单的文档代码的的集成 开发者使用时只需要改一下配置就可以进行微信登陆功能的实现 简单好用

2017-11-27

空空如也

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

TA关注的人

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