- 博客(29)
- 收藏
- 关注
原创 go context学习
返回这个context的deadline(结束时间)和ok,如果context设置了deadline,ok=ture,反之ok=false。context接口源码中有两个实现,context.Background()和context.TODO(),都返回一个emptyCtx。Done()返回一个chan,当调用<-ctx.Done(),会一直阻塞,如果ctx的deadline时间到了,才能从chan返回。cotext还有很多其他方法,相当于返回context的一个特定实现,各有不同的功能。
2025-03-09 17:47:17
1092
原创 gradle使用问题集
因为每次gradle重新加载时,会连接远程库检查并下载相关依赖,我有一个远程库连不上(这个远程库在我本地虚拟机上)。连上远程库就好了,之后我又断开远程库,再次gradle重新加载时,又很快(看网上说gradle默认有时间间隔连接远程库检查依赖,不知道是不是还没到检查时间。下面这两个参数默认是24小时,也可以在build.gradle.kts里面手动设置。但是我改成了1分钟,断开远程库时,再次gradle重新加载还是很快。
2025-03-05 15:15:30
213
原创 springboot gradle 多项目创建
之所以配置gradlew,好处是项目可以拥有自己独立的gradle版本(和本地电脑上安装的版本不会有冲突),上面的文件gradle-wrapper.properties,当别人通过git获取到项目代码时,也会根据这个文件自动下载配置gradle(本地电脑不必安装gradle)。父项目的根目录下的这个settins.gradle.kts文件是所有项目的统一配置的地方,我这里配置了插件和依赖下载的地址,这样后面在两个子项目(student和teacher)中就不用配置了,这也是父项目的意义所在:统一管理配置。
2025-03-03 20:44:04
1091
原创 k8s prometheus安装,监控springboot指标,alertManager邮件告警
安装了k8s v1.29,三台机器如下目标: 安装prometheus, 从springboot获取指标,实现告警。springboot自定义一个指标“my-count”, 每访问springboot接口一次,“my-count"加1,当大于10时,给出告警。主要用到prometheus和alertManager这两个服务。大概流程是:1.prometheus去查springboot接口获取“my-count"的值,当值大于10时,prometheus产生一个告警,并把这个告警发送到alertMan
2025-02-24 23:04:46
836
原创 gitlab ci, gradle,gitlab-runner shell示例
我GRADLE_USER_HOME是这个目录/mnt/disk2/java-repository,就是存放java依赖包的地方,我想统一放在这个目录下,就加了这个环境变量,因为这个目录是我用root用户创建的,而gitlab-runner用户没有权限,所有执行“gradle buid"时相关依赖包不能下载到这个目录,就会报错,错误我没有截图下来,就是没有找到一个包。把下面这个复制出来,gitlab-runner安装好后,执行这个语句这行,把gitlab-runner注册到创建的这个runner。
2025-02-21 14:25:50
772
原创 gitlab-ce安装
可以关闭,除非需要使用GitLab内置的Mattermost功能。31.redis_sentinel_role:作为Redis Sentinel的角色,提供高可用性和故障切换功能。13.gitlab_pages:提供GitLab Pages服务的支持功能,用于托管静态网页。2.prometheus_monitoring:提供监控和报警功能,收集和分析GitLab的性能指标。本机已经安装了nginx和redis,安装gitlab有自带的nginx和redis,我禁掉了,用我自己的nginx和redis。
2025-02-20 20:42:18
1262
原创 浏览器访问api server
api server的6443端口没有权限访问。因为api server采用了双向认证,需要客户端提供证书验证身份。这个证书最好用api server上的根证书来生成。这样api server可以用自己的根证书来验证客户端的证书
2025-02-09 13:18:01
343
原创 springboot读取配置顺序
1.1. 读配置文件的顺序springboot读配置的类是这个:org.springframework.boot.context.config.ConfigFileApplicationListener会按这四个目录倒置的顺序读配置文件:“classpath:/,classpath:/config/,file:./,file:./config/”源中如下:我在idea对应的这四个目录中放入配置文件,如下:从debug日志中可以看到读取文件的顺序如下:配置文件扩展格式一共有四种:prope
2021-02-24 14:12:33
642
原创 spring国际化
1. 需求@RestController@Slf4jpublic class TestController { @GetMapping("hello") public ResponseVo hello(String name){ return new ResponseVo("密码校验失败"); }}return new ResponseVo(“密码校验失败”);需要把这里返回给前端的汉字“密码校验失败”实现多语言,需要英文时返回“Password
2020-12-17 13:02:46
359
原创 netty channelpipeline 介绍
netty channelpipeline 介绍先给出代码,代码解释在后面。public class EchoServer1 { private final int port; public EchoServer1(int port) { this.port = port; } public void start() throws Exception{ EchoInServerHandler1 inServerHandler1 = ne
2020-12-03 17:11:30
339
原创 md5 sha rsa base64
最近项目上用到md5 sha rsa base64,学习了一下,以下是自己的理解,我不讲这些算法的原理,只讲他们的使用。首先要明白md5,sha是散列算法,也叫哈希,他们不是加密算法。rsa,base64才是加密算法。1.md5md5是散列算法。散列算法是不可逆的,也就是不能从密文得到明文。散列算法是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值。最简单的散列算法就是求余数,比如任何一个数A除以3,余数一定是0,1,2(长度是固定的一位),但是不能从0,1,2得出A是什
2020-05-13 18:19:51
405
原创 keepalived实现高可用
1. 高可用需求110.110.110.77上有某个服务,端口是3333。在110.110.110.78机器上也安装这个服务,端口也是3333当110.110.110.77或78停机后,客户端可以访问另一台上的服务。解决方案:使用keepalived,需要另一个ip: 110.110.110.76,这个ip要和77,78在同一网络。这样客户端只要访问110.110.110.76:333...
2020-03-29 19:09:41
184
原创 spark jdbc操作
1.全量读表下面代码是全量读表,相当于select * from dbtest.testimport org.apache.spark.sql.SparkSessionobject SQLDataSourceExample { def main(args: Array[String]) { val spark = SparkSession .builder ...
2019-12-09 15:30:52
2496
原创 centos7安装mysql8
因为要通过yum安装,前提是centos能上网。下载到mysql官网下载页面,https://www.mysql.com/downloads/点击“MySQL Community (GPL) Downloads »”然后选择yum这个选择对应版本,我是centos,所以选择redhat,点击“Download".点击“No thanks, just start my downlo...
2019-11-22 11:34:43
346
原创 centos7安装vncserver
我要通过普通用户test和root来使用vnc连接centos7安装tigervnc-server以下都在root用户下操作:1.直接yumyum install -y tigervnc-server2.复制两个模板,1.service给test用,2.service给root用。cp /lib/systemd/system/vncserver@.service /etc/system...
2019-11-20 14:50:16
425
原创 virtual box虚拟机Nat网络配置
效果:virtual box上的虚拟机可以上网,本机可以ssh到虚拟机。前提是安装好虚拟机,本人安装的centos7.5VirtualBox Host-Only Network网卡virtual box默认会生成这个网卡:点“管理”->“主机网络管理”,可以查看,默认ip是192.168.56.1。本机可以ping通这个地址。在网络连接也可以看到这个网卡:nat设置点击“...
2019-11-19 18:19:34
1114
原创 kubernetes 安装
1 准备三台虚拟机,安装centos7.4[root@kub1 member]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost...
2019-02-15 17:05:36
331
原创 spark算法LogisticRegressionExample
spark2.0的机器学习算法库现在以dataframe为主,As of Spark 2.0, the RDD-based APIs in the spark.mllib package have entered maintenance mode. The primary Machine Learning API for Spark is now the DataFrame-based API ...
2019-02-11 14:37:23
1227
原创 全量表,拉链表,流水表
全量表,拉链表,流水表先不讲这三张表的定义,假设数据库中有一张用户信息表,表名user_info。user_info表以天为单位记录,这点大家先要记住,是以“天”,不是小时。2019-01-01,13点时,插入了两条数据,我们不记录具体的小时,这只是粒度问题,当然我们可以记录到小时,也可以记录到分和秒、毫秒,甚至更细的时间粒度。此时user_info表记录如下:idnamem...
2019-02-03 22:27:59
2227
原创 mapreduce 全排序和二次排序及mapreduce过程讲解
mapreduce 全排序和二次排序发现网上很多二次排序的列子没有实现全排序。参考了网上全排序和二次排序的列子写了本篇的程序。本篇也讲解了mapreduce的过程版本:hadoop2.7.x需求: 对如下的文本进行排序,文本已经放在了hdfs上[root@XXX]# hdfs dfs -cat /XXX/input/sortdataSLF4J: Class path contains ...
2019-01-28 18:53:33
1065
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人