- 博客(99)
- 资源 (10)
- 问答 (2)
- 收藏
- 关注
原创 低代码开发的未来~
低代码开发是一种软件开发实践,它使数字产品团队和非专业开发者无需耗时的手工编码即可构建应用程序。通常,典型的低代码平台包括可视化集成开发环境 (IDE)、各种后端或服务的连接器、应用程序生命周期管理器和内嵌的代码设计系统。凭借这些特性和属性,低代码平台:抽象出复杂命令和动作背后的代码;基于周而不是月的时间跨度进行流线型的项目创新和交付;使得非专业开发者能够创建应用程序。这些工具之所以如此有效,是因为它们通过提供可重用的构件块来打破常规并自动化应用程序开发周期。
2023-03-23 14:41:56
2120
2
原创 低代码开发平台是什么意思?低代码开发平台优势!
大多数企业都在寻求尽可能地改善客户体验。因此,企业和开发人员正在转向低代码开发平台,以在没有传统方法的情况下提供有针对性的应用程序。关键是尽可能消除手动编程过程。
2023-03-08 17:01:38
3292
1
原创 outsystems合集系列(四)
在这一节,我们来讲讲screens——outsystems的UI构建模块之一。我们会向你展示screens如何被创建,screens的内容和元素,变量和输入。最后,我们会在screen的层面上说一些关于客户端的逻辑。在进入screen定义和详情之前,让我们来看看大概。App由多个screens组成,它们本质上是app的不同的页面,提供不同的功能或者数据。这些screens之间可以相互连接让终端用户浏览整个应用程序。所以screen是什么?screen是outsystems中UI模块的构建工具之一。每个s
2022-11-18 09:37:00
1509
5
原创 outsystems合集系列(三)
默认情况下,entity被创建时就带有id属性,它唯一标识了entity中的每一条记录(如果需要,可以修改此属性)。它作为数据库表的主键,它为entities间建立关系提供支持。除了ID,entities被要求至少拥有一个其他属性。和ID一样,其他属性被映射到database的列。关于基本数据类型(basic data types),在outsystems中存在几种选择。alphanumeric(含字母或数字的)类型像text、电话号码、email均可使用numeric(数值的)类型。
2022-11-17 09:02:25
2241
2
原创 outsystems合集系列(二)
当你修改完你创建的screen之后(在本教程中我加了Hello、Hello World到screen中),点击那个被绿色包围的大大的“1”,那么你的应用就会被Service Studio上传到outsystems的platform server。在上一章跟随了软件自带的教程创建了一遍Mobile App,现在来学习如何创建Reative Web App。修改icon、app名称、app描述后,点击create app,当然你也可以什么也不修改,只填写app名称也可以创建。创建模块后自动进入到模块当中。
2022-11-17 09:01:59
1263
1
原创 outsystems合集系列(一)
outsystems由图中的各个部分组成提供应用程序的编译、部署、管理、运行、监视服务。Server Studio是安装在开发者的电脑上的,该应用程序用于连接Platform Server,同时也是outsystems开发环境。一旦连接上了Platform Server,开发者可以创建和发布应用到Platform Server。每个版本的应用将会被存储在Platform Data数据库。Platfrom Server会编译生成那些应用的代码,然后部署它们到标注Application Server上。
2022-11-16 09:20:41
1971
1
原创 Springboot后台HTML/富文本转图片
项目场景:后台将html文件转换成图片资源。项目是老师布置作业给学生做,作业试题对接的是第三方题库的接口,但它们都采用题干为HTML格式,而我们传统的试题格式都是图片格式,则需要调用第三方题库后,将每个试题的题干富文本存入到HTML文件中,并引用第三方题库的富文本css样式适配题干原有的展示样式,最后拿整个HTML文件去转对应试题的图片。实现描述原文地址:https://blog.csdn.net/weixin_44249490/article/details/125572206?spm=1001.2014
2022-07-05 17:02:25
1132
2
原创 支付流程的设计与实现逻辑
通常在业务体系中,都会或多或少的涉及到支付相关的功能;对于一些经验欠缺同学来说,最紧张的就是面对这类支付结算的逻辑,因为流程中的任何细节问题,都可能引发对账异常的情况;错误发生之后,再想去修复流程,花费的时间成本又是高昂的,还牵扯错误数据的调平问题,最终很可能引发乱账算不清的结果,然后需要人工介入手动处理;在支付场景中,不但涉及诸多的复杂业务,结算规则,超长的流程,第三方对接,其中更是涉及到诸多技术细节,比如:事务管理、异步处理、重试机制、加锁等;下面来分析具体的细节逻辑。面对复杂业务的时候,最基本的能
2022-07-05 16:52:07
713
1
原创 Java集成第三方支付宝(会员卡)——文档篇
https://opendocs.alipay.com/open/0201uk在上一篇Java集成第三方支付宝(商家劵)——文档篇有讲到,这里不在赘述。开发者可以通过国际标准的 OAuth2.0 授权机制,在用户授权的情况下,得到用于换取用户信息的令牌。拿到用户的授权令牌后,通过调用 alipay.user.info.share(支付宝会员授权信息查询接口)获取用户的公开信息。alipay.system.oauth.token(换取授权访问令牌)alipay.user.info.share(支付宝会员授权
2022-06-24 11:34:14
567
1
原创 Java集成云打印机(芯烨云)——文档篇
芯烨云自动接单自动打印,无需手机、电脑、人工,打印机在任何地方都可以打印订单,不受距离的限制。顾客通过微信、收银系统提交订单后,云打印机会在数秒内自动打印订单。真正省时、省力,为商家省去了大量的人力。https://www.xpyun.net/open/index.htmlJava集成云打印机(芯烨云)——代码篇到 admin.xpyun.net (以下统称‘芯烨云平台’)注册开发者账号,获得开发者ID(user)和开发者密钥(UserKEY ),开发者ID和开发者密钥是开发者接入API的重要身份识别参数。
2022-06-24 11:04:31
13239
1
原创 看完这篇,不信你还能不会用 MyBatis-Plus
MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特点:2、向数据库中添加数据3、创建一个SpringBoot项目并添加依赖4、配置数据库连接5、编写实体类6、编写UserMapper配置日志在启动@Test需要显示Sql的细节需要配置日志CRUD扩展插入操作数据库插入的id的默认值为:全局的唯一id默认 ID_WORKER 全局唯一雪花算法:我们需要配置主键自增:1、实体类字段
2022-06-14 18:14:30
646
6
原创 JAVA面试个人简历模板 ——(2024年最新版)
姓 名:Monster 籍 贯:地球联系电话:135*****157电子邮件:steven****@163.com博客:https://blog.csdn.net/Monsterof 工作年限:四年湖南理工学院 计算机科学与技术 本 科2021/12-至今 深圳市*****有限公司 职位:java 开发工程师 | 工作性质:全职工作描述:1.负责 TOB,TOC 主线开发;2.负责部分业务需求分析、业务数据建模和设计;3.负责所分配功能模块的详细设计、功能开发、单元测试、代码优化工作;
2022-06-13 11:46:21
44377
3
原创 MySQL索引优化与sql优化
将一个大连接查询分解成对每一个表进行一次单表查询,然后在应用程序中进行关联,这样做的好处有:在select后面有子查询的情况称为内联子查询,SQL返回多少行,子查询就需要执行过多少次,严重影响SQL性能。由于MySQL的优化器对于子查询的处理能力比较弱,所以不建议使用子查询,可以改写成Inner Join,之所以 join 连接效率更高,是因为 MySQL不需要在内存中创建临时表1.6 避免在使用or来连接查询条件如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描。对于以下两句S
2022-06-10 10:53:39
663
1
原创 Java集成第三方支付宝(商家劵)——文档篇
商家券是支付宝为商家/服务商(ISV)提供的电子优惠券解决方案。商家/ISV 可在支付宝内通过该能力实现商家优惠券创建、投放、领取、核销的运营闭环,及券活动查询等管理操作。
2022-06-09 11:46:17
943
2
原创 处理延时任务的常用几种解决方案
处理延时任务的常用几种解决方案前言数据库轮询原理优缺点Java延迟队列原理优缺点Reids监听失效key原理实现技术实现步骤创建监听类,实现MessageListener接口优缺点RocketMq延迟消息实现原理优缺点总结前言项目中经常会遇到如下的需求:创建订单30分钟未支付,订单自动取消。订单支付成功后,1分钟后给用户发送短信,提醒用户评价。…针对延时任务需求,我们可以采用如下的解决方案:数据库轮询原理通过一个线程定时的扫描数据库当天创建的订单,根据订单的创建时间来判断订单是否超时
2022-05-31 14:49:14
1027
1
原创 Git rebase超详细解读
1. Git Rebase的介绍我们都知道,git rebase可以实现git节点或者分支的合并,但是,真正涉及到为什么要使用git rebase,它的好处又是什么等一些比较实际的问题,很多同学就搞不清楚了,本文聚焦于git rebase,着重讨论该命令的两种妙用,来帮助大家直观的理解这条命令。写在前面:如果你的分支不只有你在进行开发,那么git-rebase可能会导致提交记录的丢失,但是如果你是在自己的分支上进行开发,那么这无疑是一个很棒的选择。2. Git Rebase作用一:合并本地的多条提交(
2022-05-31 14:38:24
3311
2
原创 MySQL数据库慢查询的原因
1. 单表数据量太大1.1 单表数据量太大为什么会变慢?一个表的数据量达到好几千万或者上亿时,加索引的效果没那么明显啦。性能之所以会变差,是因为维护索引的B+树结构层级变得更高了,查询一条数据时,需要经历的磁盘IO变多,因此查询性能变慢。1.2 一棵B+树可以存多少数据量大家是否还记得,一个B+树大概可以存放多少数据量呢?InnoDB存储引擎最小储存单元是页,一页大小就是16k。B+树叶子存的是数据,内部节点存的是键值+指针。索引组织表通过非叶子节点的二分查找法以及指针确定数据在哪个页中,进而再
2022-05-31 14:28:47
1951
1
原创 Kubernetes的特点
分布式分布式就是把一个系统拆分开来部署到不同机器,与集群相同的是,两者都需要多台服务器,不同点是分布式并不强调实现相同的业务。貌似网上大多数资料,对于集群和分布式的区分,都执着于两者是否实现相同的业务,即不同服务器运行同一份功能就是集群,运行不同功能就是分布式。个人看法是,集群强调的是“集”、“统一的概念”,是物理上的、环境上的概念,只要是多台计算机搞在一起就是集群;而分布式,更多的是描述应用系统的部署方式,把一个系统拆开部署到不同服务器,就是分布式。🍑 微服务有必要提一下微服务,使用 kube
2022-05-01 19:08:58
519
原创 Java集成第三方oss对象存储——文档篇
Java集成第三方oss对象存储——文档篇相关文章简介官方文档应用场景Web 配置操作添加依赖创建存储空间相关文章简介阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。您可以使用阿里云提供的API、S
2022-04-28 14:19:31
1068
原创 Java集成第三方OCR识别——文档篇
Java快速集成OCR文字识别相关文章简介官方文档Web 配置操作第一步:成为百度AI开放平台的开发者第二步:开通文字识别服务1. 领取免费测试资源2. 创建应用第三步:使用文字识别服务1. 添加OCR依赖2. 下载相关工具包2. 手写文字识别3. 获取access_token第四步:测试相关文章简介文字识别OCR(Optical Character Recognition)提供多场景、多语种、高精度的文字检测与识别服务,多项ICDAR指标居世界第一。广泛适用于金融服务、财税报销、法律政务、保险医疗、
2022-04-26 15:47:22
2181
1
原创 Stream in Java8
Stream in Java8什么是stream呢?创建Stream使用Stream过滤(filter)映射(map、flatMap)聚合(max/min/count)收集(collect)归集(toList/toSet/toMap)统计(count/averaging)排序(sorted)简单认识Java streamJava8出了一个stream流式编程,在开发中或多或少用到接触过。怎么说呢!举个例子把,一起我们在遍历一个集合的时候,我们是从外部去遍历的,然后才能拿到结果,这样来效率就会变得相对低一
2022-04-09 11:23:56
527
3
原创 Java 分布式生成ID—雪花算法
一、概述1、SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0● 41位,用来记录时间戳(毫秒)。○ 41位可以表示241−12^{41}-1241−1个数字,○ 如果只用来表示正整数(计算机中正数包含0),可以表示的数值范围是:0 至 241−12^{41}-1241−1,减1是因为可表示的数值范围是从0开始算的,而不是1。○ 也就是说41位可以表示241−1
2022-04-01 10:32:07
5559
4
原创 IDEA版本控制修改代码层级变色
IDEA版本控制修改代码层级变色在使用 IntelliJ IDEA 版本控制功能的时候,有一个功能点特别好,那就是对于新增文件或者修改文件,IDEA 会给出颜色提示,以区分文件类型,如新增、修改或者未加入版本控制。但偶尔会出现导入新check out到本地的项目的时候,不显示颜色提示的问题!设置完成后,以下图片:...
2022-03-31 14:28:34
1503
原创 如何做拆分服务?
如何拆分服务?在微服务的落地中,第一步就需要进行微服务的拆分,服务的拆分很困难也很重要,本文就讲讲怎么进行服务的拆分。技术发展到现在,还没有一个具体的,设计完善的标准方法来完成服务的拆分,服务的拆分是一门技术更是一门艺术。对于服务的拆分,有两种情况 :1、从零开始开发新的产品,采用微服务架构,进行服务拆分。2、将现有的单体架构的产品重构成微服务架构,进行服务拆分。如果做的是 ToB 业务,最终在企业内部私有化部署落地,那么在大多数的场景下,微服务拆分后系统的复杂度和引发的新问题会大于
2022-03-31 10:27:55
1529
1
原创 在linux上安装docker
我的linux系统是阿里云服务器,是centos版本的。准备64-bit 系统kernel 3.10+用uname -r命令检查内核版本,返回的值大于3.10即可。用sudo wget -qO- https://get.docker.com | sh命令安装docker。安装完成用docker version命令查看docker版本用service docker start命令启动docker服务docker info查看docker存储位置...
2022-02-24 10:25:19
753
1
原创 ElasticSearch排序引起的all shards failed异常
前言注:ElasticSearch版本为5.4。在我们的日志系统里需要一些系统索引,这些系统索引在应用初始化的时候就会被添加到ElasticSearch中去,这些在ElasticSearch中的系统索引在没有索引数据的时候,只有索引名和一些配置信息,没有mapping信息。当用户去根据时间区间排序搜索日志信息的时候,ElasticSearch就会产生all shards failed异常。具体异常信息如下:Caused by: [.alert/NXa3zq5WSb-wGBKgyZibzw] Que
2022-01-14 17:34:00
1471
1
原创 SpringBoot使用注解@Validated校验
Springboot中优雅进行字段校验前段时间提交代码审核,同事提了一个代码规范缺陷:参数校验应该放在controller层。到底应该如何做参数校验呢?来看一下吧。Controller层 VS Service层去网上查阅了一些资料,一般推荐与业务无关的放在Controller层中进行校验,而与业务有关的放在Service层中进行校验。那么如何将参数校验写的优雅美观呢,如果都是if - else,就感觉代码写的很low,还好有轮子可以使用。常用校验工具类使用Hibernate Validate引
2022-01-13 17:35:28
3647
4
原创 方法重写时需要注意的问题有哪些?
在面向对象编程中,方法重写(override)是一种语言特性,它是多态的具体表现,它允许子类重新定义父类中已有的方法,且子类中的方法名和参数类型及个数都必须与父类保持一致,这就是方法重写。方法重写最简单的示例如下,定义一个父类 Father 和子类 Son,父类中有一个 method 方法,而在子类中会重写 method 方法,具体实现代码如下。父类 Father 实现代码如下:/** * 父类 */ class Father { public void method(String
2021-12-30 11:30:11
1118
3
原创 巧用Redis,实现分布式锁
❤️yyds干货盘点❤️ 巧用Redis,实现分布式锁手写Redis分布式锁Redissonlock()lock(long leaseTime, TimeUnit unit)tryLock(long waitTime, long leaseTime, TimeUnit unit)RedLock红锁在之前并发系列的文章中,我们介绍了JVM中的锁。但是无论是synchronized还是Lock,都运行在线程级别上,必须运行在同一个JVM中。如果竞争资源的进程不在同一个JVM中时,这样线程锁就无法起到作用,必须
2021-12-22 17:22:40
1073
3
原创 程序员如何写简历?程序员写出牛逼简历的5大技巧
简历里要有你工作的技术细节编程语言,你的个人成就和水平。不要过于简单,简单到让面试者 “胡思乱想”。例如:简历里面对工作描述就只有一行话:在一个3人组成的团队里开发一个 e-mail 插件。你是在考验面试者的智商嘛?他不会懂你语言背后的含义,你需要清晰明确的告诉他……那么问题来了?这样的简历,面试者会怎么想呢?1.工作的挑战性如何?2.你的工作跟我们公司有多少相关性,所以你需要把工作描述清楚。所以更合适的写法应该是这样的:用C++语言实现一个用来执行自动备份的 Outlook e-mai
2021-12-22 17:06:54
953
4
原创 别再用定时任务来关闭超时订单了
前言在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作,细心的你一定发现了像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内;那他们是怎么实现的呢?业务场景我们以订单功能为例说明下:生成订单后一段时间不支付订单会自动关闭。最简单的想法是设置定时任务轮询,但是每个订单的创建时间不一样,定时任务的规则无法设定,如果将定时任务执行的间隔设置的过短,太影响效率。还有一种想法,在用户进入订单界面的时候,判断时间执行相关操作。一、定时任务一般情况下,最
2021-12-16 10:02:08
4270
5
原创 公司禁止JOIN查询怎么办?
场景很多公司(特别是做电商的)其实都是不允许多表关联查询的,或者严格控制关联的表数量,比如最多关联2、3张表。此时,如果某个需求又确实需要进行关联查询怎么办呢?比如前端有个页面:很明显,这个页面字段来自两张表:t_productt_user正常来说,直接这样写SQL即可:SELECT p.id, p.product_name, p.price, u.user_name, u.user_ageFROM t_product p LEFT JOIN t_user u ON p.user_i
2021-12-15 16:08:12
5629
12
原创 10分钟教你在Windows上搭建Git服务器
10分钟教你在Windows上搭建Git服务器一、下载并安装jdk.二、下载Gitblit三、配置四、运行五、测试一、下载并安装jdk.安装JDK请移步到:2022年最新Java JDK1.8的安装教程二、下载Gitblit下载地址:http://www.gitblit.com/ 在本地解压三、配置创建用于存储项目代码的文件夹,如:F:/GitProject进入data目录下,配置gitblit.propertiesgit.repositoriesFolder 为存储项目代码的
2021-12-15 11:58:17
9213
5
原创 2023年最新Java JDK1.8的安装教程
前言JDK是 Java 语言的软件开发工具包,没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。本文将带你学习如何安装配置JDK环境变量。一、JDK下载1.官网下载点击官网下载地址往下划,找到自己电脑相对应的JDK,点击下载。勾选接受许可协议后点击下载会提示登录ORACLE账户,如果没有就用邮箱注册一个登录后就可以下载了二、安装步骤初学者建议傻瓜式安装,直接点击下一步即可。
2021-12-15 11:03:34
4684
4
原创 10分钟教你搭建一个好玩的Python全文搜索引擎
有一个群友在群里问个如何快速搭建一个搜索引擎,在搜索之后我看到了这个代码所在Git:https://github.com/asciimoo/searx官方很贴心,很方便的是已经提供了docker 镜像,基本pull下来就可以很方便的使用了,执行命令cid=$(sudo docker ps -a | grep searx | awk '{print $1}') echo searx cid is $cid if [ "$cid" != "" ];then sudo dock
2021-10-26 15:35:59
1333
8
原创 Mybatis原理及源码分析
作为Java程序员Mybatis应该是一个必会框架了,其源码体量只有Spring 的1/5,也是Hibernate的1/5 ,相比于其他流行框架Mybatis源码无疑是学习成本最低的,当做年轻人看的第一个框架源码,无疑是非常好的。整体架构对于一个陌生的事物切勿一头扎进细节里,我们先要观其大概看看架构脉络,MyBatis 分为三层架构,分别是基础支撑层、核心处理层和接口层。基础支撑层基础支撑层是这个Mybatis框架的基建,为整个Mybatis框架提供非常基础的功能。(篇幅有限下面我们只对部分模块
2021-10-26 15:31:26
789
2
原创 ❤️太牛了,用python 居然可以生成 情话、床头诗、对联❤️
安装环境已mac为例,windows、linux 移步官方一、准备环境1. 目前飞桨支持的环境macOS 版本 10.11/10.12/10.13/10.14 (64 bit) (不支持GPU版本)Python 版本 3.6/3.7/3.8/3.9 (64 bit)pip 或 pip3 版本 20.2.2或更高版本 (64 bit)PaddlePaddle 不支持 M1 芯片 (arm64架构)2. python版本python --versionpython版本必须在,3.
2021-10-21 11:35:23
1470
13
原创 SpringSecurity系列之SpringBoot+CAS单点登录
某一个 Client 需要接入 CAS Server 进行验证,则该 Client 必须提前在 CAS Server 上配置其信息。这个信息既可以动态添加,也可以通过 JSON 来配置,后面松哥会教搭建如何动态添加,这里方便起见,我们还是通过 JSON 来进行配置。1.准备工作准备工作主要做两件事。1.1 服务记录某一个 Client 需要接入 CAS Server 进行验证,则该 Client 必须提前在 CAS Server 上配置其信息。这个信息既可以动态添加,也可以通过 JSON 来配置
2021-10-19 15:39:49
1200
4
原创 将以逗号为间隔的字符串转为数值
今天给小伙伴们带来一套实用的代码,可以将用逗号等字符间隔的字符串转换为数值,这个功能还是有一定的应用价值的,需要的小伙伴可以取用哈!1 关于函数功能的说明1)主要函数介绍主要函数如下:① 求m的n次方,拼接数值时用到10的n次方。② 找到逗号的位置函数。③ 字符转数值函数。2)函数功能说明代码只是实现了将字符转数值,将转换结果打印,小伙伴们在实际使用时可以根据自己需要进行改造。代码可以指定保留小数点的位数,Str2Num函数中参数dx并没有起到多大效用。2 实例代码1)实例代码说明都
2021-10-19 15:28:08
1993
Java集成云打印机(芯烨云)——代码篇
2022-06-24
lazycat - tomcat 多服务器管理器
2021-05-29
reloadable.jar
2021-05-29
聊一聊如何进行兼容性测试
2021-10-19
程序猿转行后能做什么?
2021-05-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人