自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (2)
  • 问答 (3)
  • 收藏
  • 关注

原创 go-kratos 学习笔记(10) 验证器参数校验

go-kratos 验证器参数校验 Validate 中间件使用 proto-gen-validate 生成后的代码进行参数校验,我们可以通过在 proto 中编写参数校验规则,然后生成代码,通过中间件自动的进行校验。

2024-07-26 16:49:52 354

原创 go-kratos 学习笔记(9) 数据库gorm生成所有数据表模型gen

go-kratos 数据库gorm生成所有文件 头部加入 //go:generate go run generatedal.go 可以让执行 go generate ./...的时候自动生成代码。通过接口上添加注释的方式,Gen 允许从 Raw SQL 生成完全安全的通用 Go 代码, 这些接口可以在代码生成过程中应用于多个model。生成一个 app/users/data/gen/generatedal.go。不仅支持完整的 SQL,也支持SQL 代码片段生成使用。: 更友好 & 更安全。

2024-07-26 13:56:37 390

原创 go-kratos 学习笔记(8) redis的使用

redis的在项目中的使用是很常见的,前面有了mysql的使用redis的也差不多;也是属于在data层的操作,所以需要新建一个 NewRedisCmd方法。在internal/data/data.go中新增NewRedisCmd 方法,注入到ProviderSet。在业务层使用 data/user.go 中的ListUser 方法做个缓存。然后启动项目 kratos run 看redis的缓存。执行 wire 生成依赖。

2024-07-25 13:50:57 439 1

原创 go-kratos 学习笔记(7) 服务发现服务间通信grpc调用

app/users/internal/data.go 加入 NewDiscovery和 NewOrderServiceClient,需要把新加的2个方法加入到 ProviderSet。分别启动users和orders 服务是都是注册成功的,由于注册的是http和grpc所有后面拼接的有http和grpc,调用的时候需要拼接上。服务间的通信使用的grpc,放到data层,实现的是从uses服务调用orders服务。再看orders服务的日志输出。在users下执行 wire。看日志输出 users。

2024-07-25 10:35:42 819

原创 go-kratos 学习笔记(6) 数据库gorm使用

数据库是项目的核心,数据库的链接数据是data层的操作,选择了比较简单好用的gorm作为数据库的工具;之前是PHP开发,各种框架都是orm的操作;gorm还是很相似的,使用起来比较顺手go-kratos官网的实例是ent,功能是很强大,操作稍微复杂点。

2024-07-24 17:45:02 870

原创 go-kratos 学习笔记(5) 删除hellword从新生成服务

go-kratos 删除hellword模版里的服务,从新生成服务users 这个章节的是把配置问价的proto也给分离出来了,app/cofig/users/config.proto。使用命令生成新的proto。生成新的目录之后 ,生成服务端的代码,需要先删除innterna目录下的几个greeter.go。生成的user.proto需要根据自己buf管理的proto生成代码的目录稍微修改一下路径。

2024-07-24 11:45:19 518

原创 go-kratos 学习笔记(4) 服务注册与发现 nacos注册

go-kratos服务注册与发现 nacos注册 Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取。在app/users/connfigs里面写入配置。然后直接执行 kratos run。nacos上报成功!main.go中修改。

2024-07-22 19:52:58 749

原创 go-kratos 学习笔记(3) google buf 管理proto

google buf 管理proto支持 Protobuf 的注册表还有额外的好处,可以防止构建失败。BSR 带有可浏览的 UI、依赖项管理、API 验证、版本控制、生成的文档以及支持远程代码生成的可扩展插件系统。您现在可以在项目中声明、解析和使用托管的 BSR 模块作为依赖项。- BSR 通过可浏览的 UI 为您的 Protobuf 文件提供完整的文档,其中包含语法突出显示、定义和参考。代码生成在 BSR 上远程进行,生成的源代码将写入磁盘。进行存储和管理,以便个人和组织可以轻松使用和发布他们的 API。

2024-07-22 14:31:18 650

原创 go-kratos 学习笔记(2) 创建api

编辑 api/helloword/v1/greeter.proto 新声明一个方法。post请求的话 body必须写,定义好之后。postman请求的结果如下。运行 kratos run。编辑service层。

2024-07-22 10:15:39 522

原创 go-kratos 学习笔记(1) 安装

Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具。

2024-07-22 09:56:58 311

原创 hyperf中的缓存之CacheEvict

参数($prefix, $value, $ttl, $listener, $offset, $group, $collect)参数($prefix, $value, $ttl, $offset, $group, $collect)一般我们定义缓存的时候会定义成关键业务的名称加 : 在redis的工具中 :代表的是一个目录的。CacheEvict 注解是来删除缓存的,CacheEvict注解是基于AOP的机制实现的。all 为true的时候是代表要把以class:开头的所有的key都删除掉。

2022-12-27 14:56:52 1760

原创 php hyperf接入任务调度平台xxl-job

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

2022-08-19 14:02:08 1713 2

原创 hyperf接入阿里云nacos配置中心

微服务之间的调用会有很多的配置文件,多台服务器维护起来比较麻烦,所以选择阿里云的nacos的配置中心。config("databases.default.host")就可以拿到配置项。data_id 对应的是Data Id。php的框架hyperf很好的支持了。tenant 对应的是 命名空间id。使用直接就是和框架的语法一样就行。group 对应的是group。比如你要配置databases。阿里云配置成json。...

2022-08-19 10:45:29 1598

原创 php hyperf框架接入链路追踪skywalking

目前是5.0.1,由于5.0.1暂不支持swoole,官方说需要等5.1,暂时降级到4.2.0。由于公司要上微服务,和异构购语言进行链路的追踪和问题定位选择了skywalking。由于4.2采用的是rpc需要安装rpc组件需要梯子下载,付下载好免费的地址。skywalking php的地址。4.2.0支持swoole。.........

2022-08-19 10:16:25 1704

原创 websocket高版本浏览器经常掉线的问题解决办法

自从chrome浏览器升级到9.开头的版本之后,websocket在后台运行于丹时间后就会断开链接前后端都是设置了心跳还是会断开经过抓包分析;

2021-07-01 09:37:35 1864

原创 thinkphp5使用elasticsearch7的查询

<?phpnamespaceapp\common\logic;//require'/vendor/autoload.php';useapp\common\exception\InvalidArgumentsException;useElasticsearch\ClientBuilder;useElasticsearch\Common\Exceptions\ElasticCloudIdParseException;usethink\facade\Log;classEl...

2021-07-01 09:28:39 489

原创 php正则替换html中的src路径为全路径

原文地址https://www.xiegaosheng.com/post/view?id=124

2020-10-12 17:20:25 396

原创 JWT 异常处理

原文地址https://www.xiegaosheng.com/post/view?id=125

2020-10-12 17:19:07 1361

原创 laravel上传文件:413 Request Entity Too Large

原文地址https://www.xiegaosheng.com/post/view?id=127

2020-10-12 17:17:45 477

原创 php ping域名的一些处理

/** * Created by PhpStorm. * function: pingAddress * Description: * User: Xiaoxie * Email 736214763@qq.com * @param $address * @return bool|int * -n/c 次数 -w 超时时间 */public function pingAddr...

2019-03-27 10:50:34 486

原创 httpd dead but pid file exists

线上的服务器突然间就挂掉了;service httpd status service httpd restart ;依然是这样;进去查看apache的错误日志 错误信息是No space left on device: Couldn't create accept lock (/etc/httpd/logs/accept.lock.15258df -h ...

2018-12-17 21:25:56 1875

原创 thinkphp5+swoole使用异步mysql和http请求

原文博客地址http://www.xiegaosheng.com/post/view?id=104;根据thinkphp官网的自定义指令来完成异步的mysql和http的请求;日常开发中一些大量的操作日志,可以通过异步扔进数据库,不用去等待thinkphp5.1+swoolw4.1自定义指令的文档https://www.kancloud.cn/manual/thinkphp5_1/...

2018-11-16 12:04:19 2469

原创 URL去除.php或.html等后缀

原文博客地址https://www.xiegaosheng.com/post/view?id=103去除url中的.php .html .jsp等后缀;例如我要访问localhost/logout这样的url 会访问的是 localhost/logut.php只需要在项目目录下面创建一个 .htaccess的文件&lt;IfModule mod_rewrite.c&gt;...

2018-10-12 09:45:39 3467

原创 微信连WIFI提示无法重定向到以weixin开头的网址的解决办法

热点登录打不开改网页,因为无法重定向一weixin://开头的地址;ios无法通过portal页面呼出微信客户端;问题困扰了几天;下面说解决办法 地址见http://www.xiegaosheng.com/post/view?id=99;...

2018-08-10 09:42:36 7931 8

原创 PHP的ftp文件,多文件上传操作类

原文博客地址http://www.xiegaosheng.com/post/view?id=97;PHP针对ftp文件的操作方法,如果是只操作一个ftp,可以使用里面的单利模式,不需要每次都去实例化,我的项目中需要去链接很多个ftp服务器;所以需要多次去连接和关闭; 1 2 3 4 5 6 7 8 9 1...

2018-05-27 20:47:41 2173

原创 PHP7操作MongoDB的增删改查和分页操作

原文博客地址http://www.xiegaosheng.com/post/view?id=96;&lt;?php/** * Class MongodbClient * mongod操作类 *如果需要自己也可以改成单例模式 */class MongodbClient{ protected $mongodb; protected $dbname; pro...

2018-05-25 23:39:02 4612 1

原创 swoole和laravel-admin在nginx中配值端口转发

个人博客地址http://xgs888.top/post/view?id=95; swoole官方的解释PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocke...

2018-05-06 22:29:31 1508

原创 centos7创建ftp服务器笔记

个人博客地址http://xgs888.top/post/view?id=94;由于测试需要把文件传到对方的ftp服务器上面,需要一个测试环境,然后就鼓捣了一个ftp服务器;记录一下环境centos71:检查是否安装了vsftpdrpm-qvsftpd2:就直接进入安装流程yuminstallvsftpd-y3:开启服务systemctlstartvsftpd.service4:...

2018-05-06 22:28:05 211

原创 laravel5.5中添加对分页样式的修改上一页和下一页

博客原文地址http://www.xiegaosheng.com/post/view?id=93;laravel自带的分页样式有点丑,laravel支持自定义样式的,想把上一页和下一页显示成汉字而不是&lt;&lt;和&gt;&gt;百度了一下都是去重写分页的函数render,于是打开了laravel分页的源码;render()和links()方法是支持传递视图的;在views视图目录下创建com...

2018-04-10 10:59:06 3628

原创 百度echarts报Cannot read property ‘calculable‘ of nu

博客原文地址https://xgs888.top/post/view?id=92百度图标插件echarts报错Cannot read property 'calculable' of nul;查看calculable属性也是设置了false;同时展示了两个图表,有一个是正常的,仔细分析了一下发现应该不是echarts配置问题,应该是后端返回数据问题;于是就console.log(...

2018-03-23 09:53:24 4131

原创 文章的浏览量redis存储,关闭浏览器算做一次

原文博客地址https://www.xgs888.top/post/view?id=91;需求;打开网站直到关闭浏览器浏览量+1;使用yii2.0的框架,用redis来存储点击量;使用cookie来区分;&lt;?php/** * Created by PhpStorm. * User: xiaoxie * Date: 2017/6/17 * Time: 23:41...

2018-03-20 10:09:49 1583

原创 根据数组中的值进行排序并且返回指定的元素个数

原文博客地址https://xgs888.top/post/view?id=90根据数组中的值进行排序并且返回指定的元素个数;array_sort() $limit 是指定返回数组的元素个数/***CreatedbyPhpStorm.*function:array_sort*Description:数组排序*User:Xiaoxie...

2018-03-15 18:16:12 648

原创 vue.js和laravel使用vue-bootstrap-pagination插件分页

原文博客地址https://xgs888.top/post/view?id=89或者http://www.xiegaosheng.com/post/view?id=89;前端使用的是vue.js后端使用的是laravel获取到接口的数据,vue-bootstrap-pagination所需要的数据格式记录一下;&lt;divclass='col-lg-5'&gt;...

2018-03-14 16:46:25 1390

原创 vue.js中使用vue-bootstrap-pagination 分页插件的问题

原文博客地址https://www.xiegaosheng.com/post/view?id=88vue-bootstrap-pagination分页插件存在的一下问题不知道是官方的bug还是我哪里写错了我的版本是2.0的分页是正常显示的,上一页是正常的,但是在点击next的时候会出现问题;下面是我输出的current_page默认是第一页,点击next的时候page参数是11,...

2018-03-14 16:31:37 2639

原创 内网服务器反弹映射到公网ip去访问

原文博客地址https://xgs888.top/post/view?id=87;本地虚拟机上面有一套web程序,需要通过公网来访问需要做一个端口映射就是把本地的端口映射到有公网ip的服务器上面的端口就可以了反弹的命令如下;ssh-f-N-R51112:121.0.0.1:80ipip是你的公网ip上面的意思是 把本地的80端口反弹到公网ip的51112端口;访问的时候只需要 ip:51...

2018-03-13 15:41:12 1539

原创 vue.js中图表插件vue2-highcharts的使用

小谢博客原文地址https://xgs888.top/post/view?id=86;主要的几个函数为getChart(),update(),setCategories(),addSeries();removeSeries();通过ajax请求后台接口;效果如下图&lt;template&gt;&lt;divclass="row"&gt;&lt;divcl...

2018-03-09 13:39:11 2687

原创 PHP使用ssh获取aruba设备AC上面的数据

小谢博客地址https://xgs888.top/post/view?id=85;http://www.xiegaosheng.com/post/view?id=85;PHP使用ssh获取aruba设备AC上面的数据;主要函数ssh2_connect,ssh2_auth_password,ssh2_shell,fwrite;由于aruba的ac登录之后需要输入enable;enable;才能操...

2018-03-01 10:18:11 1040

原创 MySQL join更新主表数据,关联更新

博客地址https://xgs888.top/post/view?id=84需求是;更新两个关联数据表其中一个表的数据信息;比如有user1 ,user2两个表要更新user1表的info信息;错误的写法如下updateuser1setuser1.info='test'whereuser1.user_namein(selecta

2018-02-02 10:57:59 647

原创 redis设置零点过期,网站浏览量

博客原文地址https://xgs888.top/post/view?id=83&lt;?php/****浏览人数++***///参数$dev_code = $_POST['dev_code'];if ($dev_code) { # code... $redis = new Redis(); $result = $redis-&gt;connect('127.0.0....

2018-01-31 14:04:36 8922

原创 PHP经典算法

文章博客地址https://xgs888.top/post/view?id=82<?php//一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,//在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。/*function ki

2018-01-31 13:52:14 196

linux的grpc扩展,skywalking需要的

skywalking需要的 grpc扩展包

2022-08-19

php 基于标准的DES CBC模式的加密算法 int大端字节

所有协议数据的明文需要在尾部加上原始数据长度(int大端字节数4字节,协议数据的长度),再加上“ABCD”4个字母,然后按64位进行分组,不足64位的以“\0”补足,分组后的明文采用统一的加密方式生成密文,即采用 “明文+密钥+初始化向量(VI)”。

2017-10-20

php 基于标准的DES CBC模式的加密算法

a)采用标准的CBC模式的DES加密算法; b)密钥长度为56位,唯一密钥; c)数据采用初始向量(VI)做互斥运算,VI唯一初始向量; d)所有协议数据的明文需要在尾部加上原始数据长度,再加上“ABCD”4个字母,然后按64位进行分组,不足64位的以“\0”补足,分组后的明文采用统一的加密方式生成密文,即采用 “明文+密钥+初始化向量(VI)”。

2017-10-20

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

TA关注的人

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