一、前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。...

  JPz41Yz6KHrp   2023年12月06日   17   0   0 redisredisjavaspringJavaspring

一、前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 最近ChatGPT非常受欢迎,尤其是在编写代码方面,我每天都在使用。随着使用时间的增长,我开始对其原理产生了一些兴趣。虽然我无法完全理解这些AI大型模型的算法和模型,但我认为可以研究一下其中的交互逻辑。特别是,我想了解它是如何实现在发送一个问题后不需要等待答案完全生成,而是通过不断追加的方式实现实时回复的。 F12打开控制台后,我发现在点击发送后,它会发送一个普通的请求。但是回复的方式却不同,它的类型是eventsource。一次请求会...

  JPz41Yz6KHrp   2023年11月24日   15   0   0 大模型Spring大模型reactspringreact

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! 接口文档是什么 接口文档是一个软件系统的重要组成部分,它描述了系统中所有可供外部应用程序使用的接口。简单来说,接口文档就是用来帮助开发者开发和对接系统的指南。 在软件开发过程中,不同的系统之间需要进行数据交互和信息传递,这就要求系统必须提供一些公开的接口。 接口文档的展现形式也很多如:Swagger、Word、PDF、Postman、开放平台文档等。不同的展现形式提供了不同的载体来呈现接口文档,但是最终的关键还是内容本身。 一份清晰...

  JPz41Yz6KHrp   2023年11月19日   16   0   0 springjava接口文档

前言 我在多方合作时,系统间的交互是怎么做的?这篇文章中写过一些多方合作时接口的调用规则和例子,然而,接口开放所涉及的安全、权限、监控、流量控制等问题,可不是简简单单就可以解决的,这一般需要专业的开放平台来支撑。但为了开放几个接口就要做一个开放平台,实在是不合算。为此阿里云为了解决这类需求推出了一款强大的工具——API网关。本文将介绍阿里云API网关的特点和优势,以及如何使用API网关来简化接口开放的过程。 一、阿里云API网关收费模式 有些同学看到要钱可能就有点难受了,不过人家既然是产品,就是拿出来卖的,我们看看它是咋收费的,太贵了就不买。这里我直接总结一下白嫖部分: 每月(自然月)前一百...

事件驱动模式 举个例子🌰 大部分软件或者APP都有会有会员系统,当我们注册为会员时,商家一般会把我们拉入会员群、给我们发优惠券、推送欢迎语什么的。 值得注意的是: 注册成功后才会产生后面的这些动作; 注册成功后的这些动作没有先后执行顺序之分; 注册成功后的这些动作的执行结果不能互相影响; 传统写法 publicBooleandoRegisterVip(){ //1、注册会员 registerVip(); //2、入会员群 joinMembershipGroup(); //3、发优惠券 issueCoupons(); //4、推送消息 sendWelcomeMsg(...

前言 随着云计算厂商的兴起,云资源如ECS不再只有企业或者公司才会使用,普通人也可以自己买一台ECS来搭建自己的应用或者网站。虽然云计算厂商帮我们做了很多安全相关的工作,但并不代表我们的机器资源就绝对是安全的。 要知道有很多事情是云计算厂商不能为我们做的,就比如账号密码的安全策略配置,而账号密码的安全又是Linux安全中的第一道安全锁,我们必须重视起来。 比如一个具有公网IP的服务器,我们可以使用Linux连接工具或者ssh在本地进行连接,如果密码太简单并且没有错误次数限制,我们完全可以暴力破解出来,这属于【高危】漏洞。 账号密码策略 查看当前用户的账号密码策略 -输入指令 chage-lro...

  JPz41Yz6KHrp   2023年11月13日   13   0   0 Liunx密码修改安全策略

Groovy简介 Groovy是增强Java平台的唯一的脚本语言。它提供了类似于Java的语法,内置映射(Map)、列表(List)、方法、类、闭包(closure)以及生成器。脚本语言不会替代系统编程语言,两者是相互补充的。 大名鼎鼎的Gradle,背后是Groovy。Spring的未来越来越多的使用Groovy,甚至在用Jira跟踪项目时,背后也有Groovy。实际上,就应用场景而言,Java开发已经有越来越多的Groovy出现在后台了。而对于一般的应用开发,只要能用Java就都能用到Groovy,唯一的难点只在于能不能招到足够的人员。 应用场景 连接已有的组件 处理经常变化的多种类型的...

  JPz41Yz6KHrp   2023年11月09日   21   0   0 javaspringJavaGroovyGroovyspring

前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 好久没有写开发类的工具使用文了,这次我来讲下平时我是如何使用Postman工具的。 一、工具准备 软件下载链接:https://www.postman.com/downloads/ 根据你自己的操作系统下载正确的版本吧! 账号对于Postman不是必须的,这里我为了创建一个干净的Workspace创建了一个账号。 二、复现浏览器的请求 1.正常的做法 首先我们随便找一个网页:https://www.cnblogs.com/wlovet/ ...

  JPz41Yz6KHrp   2023年11月05日   21   0   0 JavaciPostman

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! 一、写文背景 我们在写后端项目的时候,日志打印是必需的。支持SpringBoot项目的日志框架一般有log4j、logback,这二者各有优劣,这里就不展开对比了。我们项目中常用的是logback框架,该框架主要是一个logback-spring.xml配置文件起作用。每次起新的项目我都是从老项目中copy一份出来,这份配置文件内容很详细,几百行左右,我一般都是修改一下应用名、日志输出路径,新项目就可以用了。这份老文件是之前的一个师...

前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 钉钉作为一款办公软件,审批功能是它的核心功能之一,最常见的审批场景就是请假和报销了。虽然钉钉也内置了一些审批流,但是审批场景层出不穷,光靠钉钉内置的那些是不够用的。尤其一些公司自己也有技术团队,则更希望可以二次开发一下,做一套更适合自己公司的审批流。那么本文我们就钉钉的审批能力来讲一下:钉钉OA自定义审批流的创建和使用。 tips:钉钉OA审批在哪里 这个还是要说下,否则很多人都找不到! 1.扫码登录钉钉OA 登录链接如下:https://...

序 微信公众号分为订阅号和服务号两种,虽然二者很大的不同,但是这两种公众号的底部却是差不多的:都有菜单栏,而且这些底部菜单也都是自定义配置的。如CSDN的官方公众号的底部就有精彩栏目、新程序员、CSDN等菜单可供使用: 那这些菜单是如何生成的呢?微信以配置方式的不同把它分为了两类:自定义菜单、个性化菜单。 自定义菜单 微信公众号自定义菜单栏的配置需要登录『微信公众平台』,依次选择内容与互动—>自定义菜单,如下: 在『菜单信息栏』中我们有3种类型的菜单可以选择:发送消息、跳转网页、跳转小程序。 菜单类型 1.发送消息 这种菜单点击后,公众号会自动弹出一条消息,比如华为运动健康的『最新...

  JPz41Yz6KHrp   2023年11月02日   26   0   0 菜单菜单微信javajava微信

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是『微信小程序生态系列文章』正文! 需求背景 我们是一个提供SaaS服务的小程序服务商,会给每一个客户申请一个专属的小程序,到目前为止已经差不多有30几个了。由于『微信开放平台』没有用起来,导致我们每次升级版本都很痛苦,一次性要发布30几个小程序。每个小程序都需要如下流程: 每个小程序的审核都需要这样操作,实在是太繁琐了而且效率非常低下,但由于作为一个程序员,只有小程序的开发权限,所以我只能尽量减少人工操作的环节,用脚本替代。目前的脚本可以做...

该项目分为前端展示部分和后台服务部分。 前端部分   使用的技术是:NodeJs、Webpack、VueJs   使用的组件库是:IVIEW、easy-table-vue   使用的开发工具是:WebStorm  链接:https://pan.baidu.com/s/1UBmLnRXM-IDcAiw72IESJw 提取码:cuf0   项目地址:https://gitee.com/wlovet/table-project 后台部分   使用的技术是:Maven、SpringBoot、Mybatis   使用的开发工具是:IDea  链接:https://pan.baidu.com/...

举个栗子🌰 在后端管理系统的开发中,经常有需要导出当前表格数据的功能,有些前端表格组件可以直接做到,但是不够灵活。因为前端拿到的数据始终是经过处理的,如果想拿到原版数据,必须后端处理。如下图: 除了使用ApachePOI包,还有没有其他的选择?当然有!这里我给大家推荐一款非常简单且容易上手的开源组件:AlibabaEasyExcel 组件介绍🍰 首先放出官网地址,欢迎大家star(目前已经24K):https://alibaba-easyexcel.github.io/docs/current/ EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约...

  JPz41Yz6KHrp   2023年11月02日   37   0   0 javaspringJavacicispring

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! 文章背景 我们最近做了很多项目,有些我们是总负责的,有些是合作的。这些项目涉及的系统各种各样,但基本上没有一家公司会主动去做『开放平台』。这是因为投入产出比较低,项目一旦完成就结束了,而且标书里也没有要求做开放平台。虽然这些项目都是业务系统,没有通用能力好开放的,但在同一个项目中,总是有些东西需要打通,还是需要一种轻量、安全的交互方式。 场景分类 (一)单点登录 单点登录是一种方便的登录方式,它可以应用在各种场景中,比如门户网站和...

  JPz41Yz6KHrp   2023年11月02日   34   0   0 java多方交互运维

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! 对象存储是什么? 对象存储是一种数据存储方式,它将数据分割成不同的对象,并为每个对象分配一个唯一的标识符,用于访问和操作数据。这些对象被存储在多个服务器上,以确保数据的可靠性和可用性。对象存储适合存储大量数据,具有可扩展性、低成本和高安全性等特点。 这段话太专业了,以至于有点让人看不懂。私以为对象存储就是『分布式文件存储系统』,可能是我们只会用它来存储图片、视频、文档等文件吧😅,然后数据库(比如MySQL)只存储文件的访问链接...

大家有没有好奇过饭店扫码点餐的时候,小程序是如何打开的?商家是怎么确认桌号的?为什么有的码微信可以扫,支付宝也可以扫? 本篇文章将会给大家介绍:如何使用二维码实现一码多扫  一、微信、钉钉、支付宝扫码打开小程序的规则设定 1、微信 官方文档地址:https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html (1)打开方式 官方文档如下: 从2017年5月开始,微信客户端支持二维码规则根据“子路径匹配”。如原有二维码链接为 http://www.qq.com/a/123456 ,其中...

一、需求背景 由于项目场景原因,需要将A库(MySQL)中的表a、表b、表c中的数据定时T+1增量的同步到B库(MySQL)。这里说明一下,不是数据库的主从备份,就是普通的数据同步。经过技术调研,发现Kettle挺合适的,原因如下: Kettle(数据抽取、清洗、转换、装载)是由java编写,可以在Window、Linux、Unix上运行。支持多数据源,多种中间件的专业ETL工具; 可视化界面支持图形化GUI设计界面,组件多样性,支持组件拖拉拽,不用写额外的代码; Kettle的流程图本质上都是配置文件,如.ktr/.kjb文件。这种设计的好处就是,当我们把转换流程图画完之后,可以直接复制到...

故事背景 忘记密码这件事,相信绝大多数人都遇到过,输一次错一次,错到几次以上,就不允许你继续尝试了。 但当你尝试重置密码,又发现新密码不能和原密码重复: 相信此刻心情只能用一张图形容: 虽然,但是,密码还是很重要的,顺便我有了一个问题:三次输错密码后,系统是怎么做到不让我继续尝试的? 我想了想,有如下几个问题需要搞定 是只有输错密码才锁定,还是账户名和密码任何一个输错就锁定? 输错之后也不是完全冻结,为啥隔了几分钟又可以重新输了? 技术栈到底麻不麻烦? 去网上搜了搜,也问了下ChatGPT,找到一套解决方案:SpringBoot+Redis+Lua脚本。这套方案也不算新,很早就有人在用...

  JPz41Yz6KHrp   2023年11月02日   69   0   0 redisJavaJavaspringspringRedis

前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。 接...

  JPz41Yz6KHrp   2023年11月02日   13   0   0 JavaJavaspring3dspring3d
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~