- 博客(81)
- 收藏
- 关注
原创 mysql 批量更新json list里的key字段
mysql 批量更新json list里的字段。数组字段需要遍历数组,$[*] 好像不管用,所以写了个存储过程实现mysql 批量更新json list里的key字段。上述方法定义存储过程,假设json list的数组最多10个对象,遍历每一个对象,根据入参的old和new的变量。修改每一个对象的key数据。
2023-06-09 09:51:07 998 1
原创 用golang实现一个请求外部接口时更换本机ip 的功能
其中,localIP是本机要使用的IP地址,remoteAddr是远程接口的地址。可以使用golang的net/http包和net包来实现请求外部接口并更换本机ip的功能。其中,DialContext函数用来在发起HTTP请求时使用自定义的TCP连接。这样就可以在发起HTTP请求时使用指定的本机IP地址了。
2023-03-30 15:47:46 419
原创 用golang实现一个请求外部接口时更换本机ip 的功能
可以使用golang的net/http包和net包来实现请求外部接口并更换本机ip的功能。其中,localIP是本机要使用的IP地址,remoteAddr是远程接口的地址。其中,DialContext函数用来在发起HTTP请求时使用自定义的TCP连接。这样就可以在发起HTTP请求时使用指定的本机IP地址了。
2023-03-23 08:43:04 649
原创 golang 调试工具dlv 各个命令的用法
`break <file>:<line>`:在指定文件的指定行设置断点。- `break <function>`:在指定函数的入口处设置断点。- `break <file>:<line> if <expression>`:在指定行设置条件断点。- `list`:列出当前行的前后10行代码。- `list <file>:<line>`:列出指定文件的指定行的前后10行代码。- `list <function>`:列出指定函数的源代码。- `print *<pointer>`:打印指定指针所指向的值。
2023-03-22 15:42:07 1950
原创 K8S架构简介
Kubernetes集群的主控节点称为Master节点,它们负责整个集群的管理。Master节点由三个组件组成:kube-apiserver、etcd、kube-controller-manager和kube-scheduler。资源对象是Kubernetes中的API对象,它们表示集群中的实体,如Pod、Service、ReplicationController等。Kubernetes的架构是高度可扩展的,它可以支持大规模、高可用的应用程序部署和管理。
2023-03-22 09:27:19 412
原创 docker架构简介
Docker 仓库:Docker 仓库是用来存储和管理 Docker 镜像的地方,包括 Docker Hub 和私有仓库。Docker Hub 是一个公共的 Docker 仓库,可以从中获取各种类型的镜像,而私有仓库则用于在企业内部管理镜像。Docker 容器:Docker 容器是 Docker 镜像的运行实例,可以在其中运行应用程序。Docker 客户端和服务器:Docker 是一个客户端 - 服务器应用程序,其中 Docker 客户端可以与 Docker 服务器通信,以管理容器和镜像等资源。
2023-03-22 09:26:01 517
原创 java 常见面试题及答案
final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量不能被重新赋值。Java中的静态变量和实例变量有什么区别?答:Java中的反射机制是指程序在运行时可以获取自身的信息,并且可以操作自身的属性、方法等。答:Java中的异常处理机制是通过try-catch-finally语句块来实现的。答:Java中的多态性是指同一个方法可以被不同的对象调用,并且产生不同的结果。Java中的线程是如何实现的?答:Java中的线程是通过Thread类和Runnable接口来实现的。
2023-03-20 16:38:33 175 1
原创 Go语言并发组件--Goroutine
Goroutine是go语言中最基本的组成单位之一,事实上,GO语言的程序都至少有一个goroutine main goroutine,他在进程开始时自动创建并启动,几乎在所有的项目中。简单的说goroutine 是一个并发函数(不一定是并行的),goroutine 在go语言中是独一无二的,他不是os线程,也不是绿色线程,他是一个更高级的抽像,称为协程。 是一种非抢占式的简单并发子goro...
2021-10-21 23:54:00 133
原创 Golang GC
Go的垃圾回收官方形容为 非分代 非紧缩 写屏障 三色并发标记清理算法。非分代:不像Java那样分为年轻代和年老代,自然也没有minor gc和maj o gc的区别。非紧缩:在垃圾回收之后不会进行内存整理以清除内存碎片。写屏障:在并发标记的过程中,如果应用程序(mutator)修改了对象图,就可能出现标记遗漏的可能,写屏障就是为了处理标记遗漏的问题。三色:将GC中的对象按照搜索的情况分成三种:...
2021-07-23 09:54:00 128
原创 nil channel与closed channel的读写
nil channel与closed channel的读写名词解释nil channel:未初始化的channel,即没有执行make操作closed channel:执行了closed操作的channel读写结果对这两种特殊channel执行读写操作会发生什么呢?对nil channel的读写会永久block向closed channel写入会发生panic从closed ch...
2021-07-22 10:36:00 804
原创 go-mutex的模式
go-mutex的模式go-mutex的模式1. 正常模式2. 饥饿模式mutex是golang提供的基础并发原语,可以帮助我们处理多goruntine并发访问共享资源的问题。每个goruntine都要再获取到锁之后才能操作共享资源,完成操作释放锁,保证了共享资源的读写安全性。 但这种方式也可能带来一些问题:一些悲惨的goruntine一直获取不到锁,导致业务逻辑不能继续完...
2021-07-22 10:16:00 337
原创 通过FAR计算fRR
例如,如果你有10000对样本进行人脸识别,其中正确匹配数为9500,错误接受数为100,正确拒绝数为4900,错误拒绝数为500,则FAR为0.01(即1%),FRR为0.05(即5%)。4. 计算FAR和FRR: - FAR = 错误接受数 / (正确匹配数 + 错误接受数) - FRR = 错误拒绝数 / (正确拒绝数 + 错误拒绝数)3. 对于每一对不匹配样本,进行人脸识别,如果识别结果错误,则将错误拒绝数加1,否则将正确拒绝数加1。1. 首先,将样本分为两类:匹配和不匹配。
2021-04-27 17:27:00 895 1
原创 Java 大写金额转换成数字
public Double CNYtoN(String amount) { double result = 0; double temp = -1;//存放一个单位的数字如:十万 int count = 0;//判断是否有chArr Map<Character, Double> map = new Hash...
2020-09-18 19:10:00 532
原创 linux 遍历文件添加index
#!/bin/bashcount=0for file in `ls`; docount=$((${count} + 1));mv $file `echo ${count}"."${file##*.}`;done${file##*.} 获取后缀名过滤掉sh脚本#!/bin/bashcount=0for file in `ls`; doif [ ${file...
2020-09-08 13:15:00 211
原创 JAVA 提取json路径,并对路径上的值进行脱敏或更改
java 获取json的jsonPah(com.alibaba.fastjson) //获取jsonPath public static List<String> getListJsonPath(JSONObject jsonObject) { List<String> jsonPaths= JSONPath.paths(j...
2020-09-03 17:59:00 1573 3
原创 golang 实现rpc远程调用,开箱即用
RPC 远程方法调用优点:提升系统可扩展性,提升可维护性,和吃持续交付能力实现系统的高可用等缺点rpc受限于网络实现一个rcp远程调用关键在于带里层的实现还是贴代码吧package clientimport ( "bytes" "fmt" "github.com/gorilla/rpc/json" "net/http" "time...
2020-08-31 22:28:00 422
原创 分布式锁,springBoot 定时任务@Scheduleder
//声明注解import java.lang.annotation.*;import java.util.concurrent.TimeUnit;/** * @ClassName RedisLock * @Author lvhoushuai(tsxylhs @ outlook.com) * @Date 2020-08-25 **/@Retention(Retenti...
2020-08-25 11:03:00 598
原创 golang 固定worker 工作池
服务器编程使用最多的就是通过线程池提升服务的并发执行能力,在go语言中,一样可以轻松的构建固定数目的goroutine作为线程池,下面通过计算多个整数的和来说明这种并发范式。设计思路:除了主要的main goroutine ,还需开启以下几类goroutine 1,初始化任务的goroutine 2,分发任务的goroutine 3,等到所有work结束,然后关闭...
2020-08-19 00:07:00 614
原创 小程序报错x509: certificate signed by unknown authority
设置tls跳过证书timeout = time.Duration(10 * time.Second) //超时时间50msclient = &http.Client{ Timeout: timeout, Transport: &http.Transport{ TLSClientConfig: &tls.Config{Inse...
2020-06-04 13:46:00 972
原创 PostgreSQL 添加postgis插件实现获取经纬度间的距离
概念: geometry和geography的区别geometry:planar 平面坐标系【supported by SQL Server conforms to the Open Geospatial Consortium (OGC) Simple Features for SQL Specification version 1.1.0.】geography: terrestria...
2020-05-20 17:50:00 1429 3
原创 微信小程序使用mqtt mpvue mosquito
微信小程序使用mqtt微信小程序使用mqtt,成功链接准备: nginx 下载wget http://nginx.org/download/nginx-1.6.2.tar.gz nginx 新增模块wget https://github.com/openresty/headers-more-nginx-module/archive/v0.33.tar.g...
2020-02-21 15:25:00 1410
原创 golang 调用顺丰API接口测试
golang 调用顺丰API接口首先得去https://qiao.sf-express.com/pages/service/API.html这个网站申请注册,拿到我的API接口如下图所示之后就可以按照文档生成xml请求信息为了方便快速搭建 golang 的结构粘贴如下type Rquest struct { XMLName xml.Name `xml:"Reque...
2019-12-25 19:13:00 753
原创 golang 系列学习(-) 数据类型
数据类型的出现 在的编程语言中,数据类型用于声明函数和变量,数据类型的出现是为了要把数据分成数据所需要内存大小的不同数据,编程时需要什么样的内存就申请什么样的内存。就可以充分的利用内存,更好的霸控程序的性能,及内存的利用率。类型 编程语言类型可以分为如下类型:布尔型,整型,字符型,浮点型,引用数据类型(例如JAVA的 string,class,interfac...
2019-12-24 08:33:00 140
原创 golang gin框架 集成swagger 自动生成文档
goswagger github仓库https://github.com/swaggo/swag安装 swag cli1.因为网络原因,先安装gopm 管理工具go get -v -u github.com/gpmgo/gopm安装到了 $GOPTH/bin里 找不到的话,用 sudo find / -name gopm 找一下2.安装...
2019-08-30 18:27:00 2770
原创 golang-vue实现微信小程序分享到朋友圈
最近涉及到微信小程序分享到朋友圈,不知道微信为什么不直接接口分享,咱也不敢佛,咱也不敢问,只能百度问度娘,看官方文档,网上的一些分享五花八门,每一个重点的,所以整理了一下到底怎样生成二维码分享图片才是正确的,做了如下总结说实话踩了很多坑,最大的坑就是把获取微信小程序二维码的事情在前端做了,人家明确说了不要在前端做,可是没好好看官方文档。1,获取带参数二维码2.将二维码传到前端...
2019-08-22 23:26:00 705
原创 cookies 和session
cookies和sessionSession是保存在服务器上的数据结构,用于跟踪用户的状态。此数据可以保存在群集、数据库、文件中。Cookie是客户端存储用户信息的机制。它用于记录有关用户的一些信息,是实现会话的一种方式。cookies (浏览器缓存)生存周期Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发...
2019-08-18 23:49:00 177
原创 window程序意外关闭自动重启脚本实现
@echo off:1tasklist|find /i "xxxx"||start yyyyping/n 11 127.1>nulgoto 1新建 .bat 文件,将其写入文件xxxx这里填程序的文件名yyyy这里填程序的路径10秒扫描一次...
2019-08-01 09:30:00 2508 7
原创 golang 数组之间的交集,差集,并集,补集
今天公司需求两个数组之间的差集,类库下不下来,就独立出来了一份,希望读者有用package modelimport ( "sort" "sync")type Set struct { sync.RWMutex m map[int]bool}// 新建集合对象func New(items ...int) *Set...
2019-07-29 23:55:00 4435
原创 android 拍照上传文件 原生定位
最近公司需要一个android拍照上传和定位功能的的单一功能页面,一开始选择ionic cordova angular的一套H5框架,但是遇到和上传文件报错的问题,bug找了一天没找到原因,怀疑是ionic版本问题,但是不重要了,不过有想继续研究问题的代码给你们,加油呀git@github.com:tsxylhs/ionic-image-upload.git因为赶的急临时抱佛脚,一...
2019-07-08 23:57:00 180
原创 Ubuntu 升级命令
Ubuntu 升级命令 sudo apt-get update: 升级安装包相关的命令,刷新可安装的软件列表(但是不做任何实际的安装动作)sudo apt-get upgrade: 进行安装包的更新(软件版本的升级)sudo apt-get dist-upgrade: 进行系统版本的升级(Ubuntu版本的升级)sudo do-rele...
2019-06-11 13:00:00 262
原创 golang高并发
golang高并发 golang 为什么能做到高并发 goroutine是go并行的关键,goroutine说到底就是携程,但是他比线程更小,几十个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩。也...
2019-06-09 23:38:00 623
原创 在macOS下启用CGO_ENABLED的交叉编译
在macOS下启用CGO_ENABLED的交叉编译 在macOS下启用CGO_ENABLED的交叉编译在启用CGO_ENABLED的情况下,尝试使用下面命令进行Windows平台的交叉编译:$ CGO_ENABLED=1 GOOS=windows GOARCH=386 go build -x -v -ldflags "-s -w"...
2019-06-03 23:07:00 4635
原创 网络通信模型
网络通信模型 一,起源 由于计算机网络的飞速发展,各大产商根据自己的协议生产不同的硬件和原件,为了实现不同的网络之间的互相通信,iso和ieee相继提出了osi参考模型,和tcp、ip模型二,osi分层结构1 物理层(比特流的传输) 物理层不是指物理设备或屋里媒体 四个特征 机械特性 电器特性...
2019-06-02 23:31:00 3589
原创 Vue多页面 按钮级别权限控制 directive指令控制
Vue多页面 按钮级别权限控制 directive指令控制 利用driective 构建自己的指令,实现按钮级别权限项目结构如下:修改router.js { path: 'schools', name: '列表', component: () => import(...
2019-05-22 20:30:00 3195
原创 Vue下载页面显示内容
Vue下载页面显示内容 摘抄自https://www.cnblogs.com/zhangtianqi520/p/9323873.html先下载所需依赖npm install --save html2canvasnpm install jspdf --save关键代码如下:getPdf () {...
2019-02-21 16:50:00 1484
原创 golang中数组指针和指针数组的区别
golang中数组指针和指针数组的区别 func test(){ x,y := 1, 2 var arr = [...]int{5:2} //数组指针 var pf *[6]int = &arr //指针数组 pfArr := [...]*int{&x,&...
2019-02-19 17:23:00 1702
原创 mqtt mosquitto 源码安装
mqtt mosquitto 源码安装 下载地址ububtu :wget https://codeload.github.com/eclipse/mosquitto/zip/master安装依赖sudo apt-get install opensslsudo apt-get install libssl-dev...
2018-11-30 14:15:00 472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人