- 博客(245)
- 资源 (19)
- 收藏
- 关注
原创 对接浦发银行支付(十三)-- 接口对接前的准备,IP白名单
当浦发开放平台的API接口申请通过后,也得到了浦发商户的商户号和终端号。接下来,我们开始发起API接口,第一个接口当然是支付请求下单。这个错误的原因是,浦发银行需对请求方的IP地址进行管控,也就是要我们把出口IP登记给对方。下面就说一说,具体是有哪些IP地址登记。(难道有好几个地方?是的,避免你少走弯路,这里一一陈述出来)
2024-12-02 13:20:32 27
原创 Nexus搭建go私有仓库,加速下载go依赖包
本文我们梳理一下go依赖包的私库搭建以及使用。它只分为proxy和group两种仓库,这一点和maven仓库有所不同。
2024-11-22 15:24:19 523
原创 Java编程,配置mongoUri连接mongodb时,需对特殊字符进行转义
感叹号这样的特殊字符,它的转义方式则是反斜杠。否则java程序在解析uri的时候,会提前截取到第一个@,把前半部分错认为数据库的密码。比较是在内网环境下,不对外网访问的情况下,密码相对安全即可。有时候,为了安全性,dba会设置比较复杂的密码,含有特殊字符,比如@符号等。当使用uri方式连接mongodb时,对特殊符号,特别是@符号,进行转义。遇到特殊字符的时候多留个心眼,设置数据库密码的时候,不要太复杂了哈。但是,如果使用方式二(uri)连接,则需要对@符号转义为%40。以用户数据库为例,注意看它的密码。
2024-11-22 10:22:51 1021
原创 Java语言编程,通过阿里云mongo数据库监控实现数据库的连接池优化
本文的内容比较长,既描述了阿里云对mongodb数据库的监控(着重是连接数指标),以及Mongos的使用及购买的坑,也从Java语言的 Mongo驱动程序作为切入点,分析并总结了支持哪些数据库连接池的配置项。本案例是基于生产实际中遇到的一个棘手问题,希望可以帮助到你。通过本文,让我们对连接数这个指标有更深的体会,它是一个很冷的指标,却非常致命。说它致命,是说我们在遇到程序报错的时候,极容易陷入平常思维,以为是有慢查询,或者程序QPS过高导致程序挂了。
2024-11-20 10:45:40 1235
原创 kubepi管理k8s集群,演示如何连接阿里云k8s容器
对k8s容器运维的过程中,如果是自建k8s的话,一般会安装dashboard,方便管理;如果是阿里云k8s容器,它是有提供web ui,但是它有个不便之处–需要定期登录,且缺少命令控制台。当你需要使用命令控制台时,阿里云会建议你安装kubectl本文推荐一款k8s管理工具–kubepi,它可以方便地管理多个k8s集群,不仅提供kubectl命令控制台,还有web UI。下面将介绍如何使用Kubepi连接阿里云k8s容器。
2024-11-19 09:52:38 465
原创 jenkins用户在执行scp的时候如何做免密登录
在jenkins job中执行scp的shell命令,当然不希望每次输入密码,另外处于出于安全考虑,也不建议在scp命令中指定。所以,我们需要对远程机器进行免密登录。本文遇到的问题是,在jenkins机器上执行scp已做到了免密,无需输入密码;但是,在jenkins job中执行scp命令,却报错Permission denied, please try again.
2024-11-15 17:18:14 735
原创 对接浦发银行支付(十二)-- 浦发开放平台的操作说明
填写你的app中英文及备注,没有要求。提交后,将会生成好你的APP,注意查收你的邮箱。将会收到这么一个邮件。这里的提示很nice,明确告诉了我们,下一步以及下下一步要做什么。
2024-11-15 15:23:34 43
原创 spring-data-elasticsearch 3.2.4 实现桶bucket排序去重,实现指定字段的聚合搜索
在搜索的时候,搜索条件包括creatorId列表,grade列表,subject列表等,且它们不是固定的字典,而是从文档CourseIndex的已有数据中获取。
2024-11-15 10:02:46 919
原创 linux多IP地址环境下,java读取本机实际的IP地址
可以看到,本机有许多IP地址,还未许多未截取。而实际的IP是192.168.8.28所以我们在读取本机IP的时候,需要去掉无效的IP。因为本机安装了docker导致生成了许多虚拟网段的IP。
2024-11-05 16:25:42 309
原创 jfrog artifactory oss社区版,不支持php composer私库
安装环境:centos操作系统,root用户。如果是mac或ubuntu等操作系统的话,会有许多安装的坑等着你。一切都是徒劳,安装折腾那么久,最后还是不能使用。这就是写本文的初衷,切勿入坑就对了。
2024-11-05 14:48:36 661
原创 本地搭建php包依赖管理工具,使用satis搭建私有composer仓库
具体应用的配置,一般都是保存在路径/etc/nginx/conf.d。下一步,我们将进入/opt/satis_manage,查看其配置。浏览器访问http://{ip} 默认80端口。根据进程号,进一步查看进程启动命令。manage 是一个可执行应用程序。端口8081对应的进程号是1342。也即satis_manage。
2024-10-31 10:39:15 645
原创 JPA编程,like模糊查询的使用示例,需去掉单引号
本文主要是讲述jpa编程中,举例like模糊查询,注意其写法和原生sql 的不同。(需要去掉单引号)
2024-10-30 16:10:16 353
原创 Java应用程序的测试覆盖率之设计与实现(八)-- jenkins集成
对应jenkinsfile流水线,还是那句话,要想生成覆盖率报告,先编译出class文件。
2024-10-25 10:15:00 593
原创 Java应用程序的测试覆盖率之设计与实现(六)-- 单元测试覆盖率
本文详细介绍了如何使用jacoco进行单元测试的覆盖率,以及常见的单元测试写法。概括起来,把测试覆盖率该指标,作为编写单元测试代码的目标,驱使着我们–开发人员提高代码的自测水平。那么作为测试人员,应该如何使用测试覆盖率,以提供测试质量呢?
2024-10-24 10:00:00 1290
原创 Java应用程序的测试覆盖率之设计与实现(五)-- jacoco ant task
前文说了maven集成jacoco的使用示例,本文将介绍ant集成jacoco的使用。先下载,然后安装(配置ANT_HOME环境变量)。下载已集成jacoco的ant包,放在某个目录下。
2024-10-24 07:15:00 601
原创 Java应用程序的测试覆盖率之设计与实现(四)-- jacoco-maven-plugin
除了使用jacoco.cli.jar导出并生成覆盖率报告外,还可以使用jacoco-maven-plugin,它是maven集成了jacoco的一款插件。在工程pom.xml里配置插件jacoco-maven-plugin。
2024-10-23 08:00:00 874
原创 Java应用程序的测试覆盖率之设计与实现(三)-- jacoco cli 客户端
上文已把覆盖率数据采集好了,并提供远程连接的tcp地址及端口。jacococli.jar 我下载好了,放在github工程里。本文主要是介绍如何使用jacoco cli 客户端读取并生成覆盖率报告。
2024-10-23 07:00:00 766
原创 Java应用程序的测试覆盖率之设计与实现(二)-- jacoco agent
接下来,我们就可以远程连接tcpserver,dump出覆盖率数据了。mac加载javaagent包,发生报错,和zsh有关。
2024-10-22 13:44:27 1174
原创 Java应用程序的测试覆盖率之设计与实现(一)-- 总体设计
本系列文章将讲述,开发人员在做单元测试时,测试人员在做功能测试或接口测试时,如何通过测试覆盖率指标来保证改动的代码是否都覆盖到了。
2024-10-22 13:35:27 888
原创 k8s部署jenkins集群,启动slave pod里除jnlp以外的容器失败
如果你也遇到这个报错,除了查看jenkins插件的源码外,查看具体组件的日志寻找错误原因。这点非常重要,也提醒我们在编写程序的时候,必要地打印关键日志,帮助运维软件的同事分析问题。
2024-10-11 09:41:18 559
原创 多jdk版本环境下,jenkins系统设置需指定JAVA_HOME环境变量
在 CentOS 和许多其他 Linux 发行版中,/etc/alternatives 目录是用来管理软件的多个版本的。这是一个系统级别的工具,用于在安装了多个版本的同一软件时选择默认版本。对于 Java,当你安装不同版本的 JDK 时,每个版本的二进制文件(如 java, javac, javadoc 等)都会被放置在 /etc/alternatives 目录下,并且会创建指向这些二进制文件的符号链接(symlink)。
2024-10-10 10:13:03 1793
原创 Jenkins新安装的插件ThinBackup,如何恢复之前的备份
本文梳理了一下如何恢复之前的备份,你只要告诉插件,你的备份目录在哪即可。同时,这也告诫我们,一定要做好及时的备份。最好是有一定的指数级策略,重要的数据要备份几个月,甚至一年。
2024-10-09 15:16:21 608
原创 k8s部署jenkins集群,配置集群kubernetes plugin的pod模板
填写k8s地址:https://kubernetes.default.svc.cluster.local命名空间:kubernetes-pluginJenkins地址:http://jenkins:18080Jenkins通道:jenkins:50000jenkins是容器别名。
2024-10-09 08:46:09 1365
原创 k8s部署jenkins集群时,使用ThinBackup进行定期备份
使用k8s部署jenkins集群的时候,一般会把$JENKSIN_HOME(默认是/var/jenkins_home)进行持久化。这样,机器重启,保证不会丢失文件。本文要讲述的是如何及时对Jenkins进行备份,也存放在$JENKSIN_HOME目录下。
2024-09-20 14:23:18 726
原创 Java编程语言,使用时间戳机制实现分页查询的示例
这种分页查询,以时间戳为增量更新的标记,好处是,不用去组装分页语句,只需要传入每页数量,不用根据当前页码和每页数量而计算。使用时,需要注意的是,如果记录的更新时间频繁更新,会导致结果一会在当前页,一会在上一页。(因为在你刷新页面的时候,该记录正好更新了)所以,客户端不要缓存上一次的查询结果集,如果要,那也得区分用户是下拉刷新还是上拉查询。总之,要小心同一个记录被重复出现在次增量查询的结果集里。如果是以创建时间为准,然后时间戳对比创建时间来增量查询,那么就不会出现这个问题了。
2024-09-10 13:18:07 417
原创 Java应用对接pinpoint监控工具的时候,应用名称长度超出限制而导致接入失败
从这个接入案例中,再次告诫我们,没有理所当然的事情。环境都一样,不同的应用就是可能不同。要排查问题,还得是查看日志。也提醒我们开发人员,日志打印是多么重要。
2024-09-06 10:32:52 588
原创 npm打包报错解决办法--因网络问题,node-gyp依赖的node-headers无法下载
node-v16.13.0-headers.tar.gz 文件是 Node.js 的 C/C++ 头文件包,它包含了 Node.js 运行时所需的所有头文件。这个文件通常用于以下场景:构建原生模块:如果你在使用 Node.js 构建或安装需要编译原生代码的模块(例如,使用 node-gyp 构建的模块),这个头文件包是必须的。开发 Node.js 插件:开发者在开发 Node.js 的 C/C++ 插件时,需要这些头文件来编译他们的代码。
2024-08-20 10:21:12 2215
原创 maven私有仓库nexus2如何找回用户的登录密码
下载nexus-2.14.2-01-bundle.tar.gz并解压至nexus-2.14.2-01,启动nexus进程,注意切换到nexus用户。
2024-08-06 18:37:18 432
原创 对接浦发银行支付(十)-- 支持多个浦发银行商户
为了保证浦发银行支付的高可用以及多业务的支付需要,在微服务–支付服务中,需要同时支持多个浦发银行商户。本文主要是介绍如何配置多商户的实现。
2024-08-04 19:00:11 134
原创 Charles抓包工具系列文章(七)-- Rewrite工具的应用示例
客户端通过域名访问后端服务,在api网关层,会判断path的前缀,默认/api开头的请求都转发至后端服务A。当前缀是/assist/api开头,请求将转发至后端服务B(部署在192.168.80.226,便于测试对比)在不改动kong网关配置的情况下,现需要把后者的请求转发至192.168.8.28机器上的后端服务B,并且前者的请求转发保持不变,仍旧是服务A。借助于charles抓包工具之Rewrite,我们可以轻松实现。
2024-07-31 14:21:28 427
原创 mysql数据库运维之创建数据库及赋权限
在公司多部门多业务场景的情况下,每个微服务使用自己的数据库,互相不可见。mysql数据库是可以创建多个schema,一般是由数据库管理员,给单个微服务的库单独赋权限。也就是说,用户服务对应数据库的账户密码是不能访问订单服务对应的数据库。二者应该使用独立的schema, 独立的用户名和密码,不能共用。
2024-07-30 11:19:53 562
原创 android应用的持续构建CI(五)-- 应用管理
本文梳理了android应用的管理办法,可以说是持续构建CI的“尾巴”,至此,android应用的持续构建就完成了。
2024-07-05 12:34:31 98
原创 android应用的持续构建CI(四)-- 依赖环境(兼容多版本的gradle和jdk)
android应用的构建前提是,安装好了gradle和jdk。在实际使用的过程中,不同的android应用,对gradle和jdk的版本要求不一。于是,在jenkins服务器上,我们需要安装多种版本的gradle和jdk。安装过jdk的小伙伴应该知晓,一台机器虽然可以安装多个jdk,但是环境变量生效的版本只能是其中的一个。gradle也一样,除非你调用gradle的时候,不使用环境变量下的,而是全路径。就算gradle可以,jdk却做不到,后者是被依赖的对象,无法显示指明。
2024-07-05 00:22:25 411
原创 android应用的持续构建CI(三)-- 手动签名
android应用程序的打包,总是绕不开应用签名。本文仅从运维的角度,梳理了其如何生成和使用的步骤。
2024-07-05 00:21:01 102
原创 android应用的持续构建CI(二)-- jenkins集成
本文梳理了jenkins如何集成各个技术组件,构建android应用,并上传到管理后台的整个流图。
2024-07-04 21:10:03 275
原创 android应用的持续构建CI(一)-- 总体设计
下面是各技术组件的交互流程图,jenkins是主角,下一篇将重点梳理如何配置jenkins的job。
2024-07-04 21:07:12 447
原创 记一次android打包,因路由规则设置不合理而导致pom文件无法访问的错误
nexus的路由规则还是慎用,个人建议是不需要使用。起初是想要禁用nexus的swagger,拒绝访问接口“/service/rest/swagger.json”。想通过路由规则来禁用swagger,无意间捅马蜂窝了,导致android打包的时候,pom全部无法访问。于是出现了上文的问题。
2024-07-03 11:02:06 973
浦发银行支付api对接
2024-04-21
Software-Transactional-Memory.pptx
2019-06-14
MyDac 7.0.1 ODAC 8.0.1 for Delphi 7 / 2010 Delphi XE2
2015-03-13
Packet.Tracer5.2.0.0068-汉化包
2010-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人