南瓜慢说
码龄12年
关注
提问 私信
  • 博客:308,488
    动态:260
    308,748
    总访问量
  • 177
    原创
  • 2,037,283
    排名
  • 52
    粉丝
  • 0
    铁粉

个人简介:多读书,多分享;多写作,多整理。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2013-03-07
博客简介:

南瓜慢说

博客描述:
多读书,多分享;多写作,多整理。
查看详细资料
个人成就
  • 获得141次点赞
  • 内容获得58次评论
  • 获得502次收藏
  • 代码片获得1,409次分享
创作历程
  • 44篇
    2023年
  • 47篇
    2021年
  • 56篇
    2020年
  • 29篇
    2019年
  • 1篇
    2017年
成就勋章
兴趣领域 设置
  • 后端
    spring架构
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

354人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

简单介绍十几款常用的画架构图流程图的软件

draw.io是开源免费的在线画图工具,还提供桌面版本。实时协作;支持在线离线版本;存储支持多种方式:Google Drive, OneDrive, GitHub, GitLab, Dropbox等;许多丰富的图标库。
原创
发布博客 2023.04.19 ·
7772 阅读 ·
6 点赞 ·
1 评论 ·
22 收藏

安装Zookeeper和Kafka集群

本文介绍如何安装Zookeeper和Kafka集群。为了方便,介绍的是在一台服务器上的安装,实际应该安装在多台服务器上,但步骤是一样的。
原创
发布博客 2023.04.17 ·
313 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Boot整合Google Bard - Web接口访问Google AI聊天机器人

对象注入,通过HTTP GET方法来提问。所以Controller要从GET请求中获取问题,并向。,可以帮助我们简单的提问并获得答案。获取到答案后,我们返回一个对应的DTO对象。应用中,通过Web API让大家可以访问。在使用它之前,我们需要创建一个对应的。
原创
发布博客 2023.03.30 ·
849 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

开发了一个Java库的Google Bard API,可以自动化与AI对话了

目前没有用户名密码的方式,直接有Token就行。但这个要从网页上拿。它其实就是一个Cookie,名为。是Google提供的还在实验阶段的人工智能对话服务。来的,它可以提供更实时的答案,会基于Google强大的网页数据。能够回答问题,一般会给出三个答案。第一个是推荐的答案。据说Google未来会开放API接口,拭目以待吧。使用是非常简单的,只要网络通就可以了。这个要在程序最开始设置。欢迎大家STAR...
原创
发布博客 2023.03.25 ·
1254 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Try out Google Bard, Will Google Bard beat the ChatGPT?

【代码】Try out Google Bard, Will Google Bard beat the ChatGPT?
原创
发布博客 2023.03.24 ·
3807 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用Python基于Google Bard做一个交互式的聊天机器人

发送请求的时候,把之前准备的参数和数据发一个POST请求到。通过浏览器先拿到SessionID,它是一个。现在我们想实现自动化,所以我用。之前已经通过浏览器试过了。做一个交互式的聊天机器人。
原创
发布博客 2023.03.24 ·
304 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Java多种方法实现等待所有子线程完成再继续执行

简介在现实世界中,我们常常需要等待其它任务完成,才能继续执行下一步。Java实现等待子线程完成再继续执行的方式很多。我们来一一查看一下。Thread的join方法该方法是Thread提供的方法,调用join()时,会阻塞主线程,等该Thread完成才会继续执行,代码如下:private static void threadJoin() { List<Thread> threads = new ArrayList<>(); for (int i = 0; i <
原创
发布博客 2023.03.08 ·
3937 阅读 ·
2 点赞 ·
0 评论 ·
11 收藏

《Terraform 101 从入门到实践》 Terraform在公有云Azure上的应用

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。简介Azure是微软的公有云,它提供了一些免费的资源,具体可以查看: https://azure.microsoft.com/en-us/free/本章将介绍如何通过Terraform来使用Azure的云资源。注册Azure账号首先要注册一个Azure账号,我选择用GitHub账号登陆,免得又记多一个密码。跳到GitHub,同意即可
原创
发布博客 2023.02.13 ·
840 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《Terraform 101 从入门到实践》 Terraform在公有云GCP上的应用

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。Terraform支持的公有云有很多,如AWS、Azure、Google、Alibaba等。将Terraform应用于公有云,才最能发挥其强大的功能。初始化GCP项目创建一个新项目首先我们需要初始化一个GCP项目。GCP给开发者提供了免费试用的服务,我们可以在不花钱的情况下学习GCP的功能。要使用GCP,我们需要创建一个项目,它所有的资
原创
发布博客 2023.02.13 ·
415 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《Terraform 101 从入门到实践》 Functions函数

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。Terraform的函数Terraform为了让大家在表达式上可以更加灵活方便地进行计算,提供了大量的内置函数(Function)。目前并不支持自定义函数,只能使用Terraform自带的。使用函数的格式也很简单,直接写函数名+参数即可。如下面的函数为取最大值:> max(34, 45, 232, 25)232这里把函数单独列成一
原创
发布博客 2023.02.12 ·
692 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

《Terraform 101 从入门到实践》 第五章 HCL语法

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。介绍了Terraform一些比较基础的概念后,我们可以先了解一下Terraform的语法,也就是HCL的语法。变量Variables变量是实现代码复用的一种方式,同样的代码不同的变量往往会有不同的效果。而在Terraform里,有一个概念非常重要,就是变量都是从属于模块的。变量无法跨模块引用。即在模块A定义的变量X,无法在模块B中直接引用。
原创
发布博客 2023.02.11 ·
733 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

《Terraform 101 从入门到实践》 第四章 States状态管理

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。军书十二卷,卷卷有爷名。为什么需要状态管理Terraform的主要作用是管理云平台上的资源,通过声明式的HCL配置来映射资源,如果云平台上没有资源则需要创建,如果有则不用。那Terraform要实现这个功能有多种方式。一种是每次执行apply命令时都调用API接口检查一下远程的云资源是否与配置文件一致,如果没有则创建,如果有但不同则需
原创
发布博客 2023.02.10 ·
1036 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

《Terraform 101 从入门到实践》 第三章 Modules模块化

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。模块的概念模块化是Terraform实现代码重用的方式。模块可以理解为一个包含多个资源的容器模板。封装好之后,可以给大家使用。也可以理解为代码中的函数或方法,它接收入参,经过一些声明式的调用后,输出一些结果变量。从Terraform的代码层面来看,模块其实就是一个包含多个.tf或.tf.json文件的目录。任何一个Terraform项目,都
原创
发布博客 2023.02.10 ·
407 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《Terraform 101 从入门到实践》 第二章 Providers插件管理

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。不怕出身低,行行出状元。插件Terraform可以对多种平台的多种资源进行管理,这个是通过插件来实现的。这里的插件,在Terraform的世界也叫Providers,也是一个个可执行文件。不同的插件完成不同的功能,对接AWS,就要使用AWS的插件;对接GCP,就要用GCP的插件。当我们通过terraform init初始化一个项目时
原创
发布博客 2023.02.09 ·
516 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

《Terraform 101 从入门到实践》 第一章 Terraform初相识

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。初闻不知Terraform,再闻已是云中人。什么叫基础设施即代码?在以前,当我们需要把应用部署在服务器时,需要购买多台服务器和机房、组装交换机和网络、不间断电源UPS等。随着云时代的到来,我们可以在IaaS(Infrastructure as a Service)平台直接购买所有的基础设施,包括服务器、专用网络、DNS、负载均衡等,而你
原创
发布博客 2023.02.09 ·
239 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《Terraform 101 从入门到实践》 前言

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。Terraform 101 从入门到实践Terraform作为基础设施即代码(Infrastructure as Code,很简称IaC)的事实标准,非常值得大家学习。我是工作中会使用公有云,所以需要经常使用Terraform作为IaC工具以实现自动化部署;也花时间考取了Terraform Associate的证书。所以对它的使用我还是有一些
原创
发布博客 2023.02.08 ·
300 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Springboot整合AOP和注解,实现丰富的切面功能

简介我们在文章《Spring AOP与AspectJ的对比及应用》介绍了AOP的使用,这篇文章讲解一下AOP与注解的整合,通过注解来使用AOP,会非常方便。为了简便,我们还是来实现一个计时的功能。整合过程首先创建一个注解:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface PkslowLogTime {}然后在一个Service中使用注解:@Service@Slf4jpublic
原创
发布博客 2023.02.07 ·
3756 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Spring AOP与AspectJ的对比及应用

1 简介AOP,即面向切面编程是很常用的技术,特别是在Java Web开发中。而最流行的AOP框架分别是Spring AOP和AspectJ。2 Spring AOP vs AspectJSpring AOP是基于Spring IoC实现的,它解决大部分常见的需求,但它并不是一个完整的AOP解决方案。对于非Spring容器管理的对象,它更没有办法了。而AspectJ旨在提供完整的AOP方案,因此也会更复杂。2.1 织入方式两者织入方式有极大的不同,这也是它们的本质区别,它们实现代理的方式不同。A
原创
发布博客 2023.02.07 ·
636 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java JDK Proxy和CGLib动态代理示例讲解

简介代理模式在Java中有很多应用场景,而代理又分静态代码和动态代理。静态代理是编写、编译或加载时织入代码实现,而动态代理则在运行时实现。简单而言,静态代理是在运行前就已经存在,而动态代理则在运行时才存在的。而常用的动态代理有两种实现:JDK Proxy: JDK Proxy是JDK自带的,不需要引入外部库,通过实现接口进行代理;CGLib: CGLib是引入第三方库,通过ASM技术来实现字节码的生成;通过继承的方式来实现。现在我们来通过代码分别展示一下两种方式。JDK ProxyJDK P
原创
发布博客 2023.02.07 ·
563 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spring在Filter中记录Web请求Request和返回Response的内容及时长

1 简介在Spring MVC中,我们有时需要记录一下请求和返回的内容,方便出现问题时排查。比较Header、Request Body等。这些在Controller也可以记录,但在Filter中会更方便。而我们使用的是OncePerRequestFilter。2 记录请求2.1 流重复读的问题可以通过下面的代码来读取请求Body:byte[] requestBody = StreamUtils.copyToByteArray(request.getInputStream());log.info(
原创
发布博客 2023.02.06 ·
1137 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多