2023

相信大部分读者跟我一样,每天都在写各种API为Web应用提供数据支持,那么您是否有想过您的API是否足够安全呢? Web应用的安全是网络安全中不可忽视的关键方面。我们必须确保其Web应用与后台通信的安全,以防止数据泄露,因为这可能导致重大的财务损失和声誉受损。 而在Web应用的安全问题中,最常见的漏洞之一是不安全的直接对象引用,简称:IDOR。即:当应用程序允许用户访问他们不应该访问的资源时,就会发生IDOR漏洞。比如:SaaS软件的用户A访问到了用户B的数据,这样的漏洞是灾难性的,因为用户将不再信任您提供的服务。 那么如何方便、快捷的检测IDOR漏洞呢?今天就给大家推荐一个好用的开源工具:IDOR_detect_tool 使用简单 从 GitHub 存储库下载工具 准备好目标系统的A、B两账号,根据系统的鉴权逻辑(Cookie、header、参数等)将A账号信息配置confi...

今天给大家推荐一个开箱即用的轻量级LDAP项目,助力轻松实现系统的身份验证! GLAuth是一款开源的身份验证系统,它提供了高效、安全的身份验证和访问控制功能,支持多种身份验证方式,如LDAP、SQL等,并可与多种应用程序集成。 GLAuth 的主要特点如下: 高度灵活:支持多种身份验证方式,可灵活适配不同的应用场景。 安全性高:采用先进的加密算法,保障用户数据的安全性。 易于管理:提供了简单易用的Web界面,可轻松管理用户账号和权限。 易于扩展:可与多种应用程序集成,如邮件系统、Web服务器等。 如果您需要一个高效、安全的身份验证系统,GLAuth是一个不错的选择。 同时,GLAuth 还具备以下特点: 跨平台:GLAuth可运行在Windows、Linux等各种操作系统上。 开源免费:GLAuth是一款完全开源的软件,您可以自由地使用、修改和分发它。 社区支持:GLA...

分布式任务调度这个话题是每个后端开发和大数据开发都会接触的话题。因为应用场景的广泛,所以有很多开源项目专注于解决这类问题,比如我们熟知的xxl-job。 那么今天要给大家推荐的则是另一个更为强大的开源项目:DolphinScheduler 介绍 DolphinScheduler是一款开源的分布式任务调度系统,它可以帮助开发人员更加方便地进行任务调度和管理。DolphinScheduler支持常见的任务类型,包括Shell、Hadoop、Spark、Hive等,同时它也提供了可视化的任务编排和监控,使得任务管理变得更加简单。DolphinScheduler的开发团队源于支付宝的数据平台团队,经历了多年的实践和积累,已经成为了一个成熟的开源项目。 特点分布式任务调度DolphinScheduler支持分布式部署,可以扩展到上千台服务器,实现高可用和高并发的任务调度。 多种任务类...

Java是世界上最流行的编程语言之一,它被广泛用于从Web开发到移动应用的各种应用程序。大部分Java工程师主要是用IDEA、Eclipse为主,这两个开发工具由于有强大的能力,所以复杂度上就更高一些。如果您刚刚开始使用Java,或者您更适合从一个轻量级的开发环境开始。所以,今天就给大家推荐一个比IDEA更好的选择:BlueJ BlueJ简介BlueJ是一个免费的、开源的Java开发环境,专为初学者设计。它由英国肯特大学开发,已被全球数百万学生和教育工作者使用。 它最大的优点就是简单!界面干净直观,用户可以很容易的开始编写你的第一个Java程序。 特点尽管它很简单,但BlueJ仍然有很多强大的功能,使它成为初学者和有经验的开发人员的绝佳选择。其中一些功能包括: 面向对象的设计 BlueJ围绕Java编程中的面向对象设计原理构建,这是一个基本概念。这意味着您可以轻松创建对象、类和...

编写API可能对于很多后端开发人员来说,并不是什么难事儿,但如果您主要从事前端功能,那么可能还是有一些门槛。 那么有没有工具可以帮助我们降低编写API的学习门槛和复杂度呢? 今天就来给大家推荐一个不错的开源工具:APITable APITable是一个面向API的可视化数据库,它适用于所有人,甚至没有编程基础的人。你可以是一名程序员,也可以是PMO,甚至销售、HR等职业的人均可使用。 由于APITable的核心是帮助用户轻松简便的创建和管理数据库,所以只要您了解类似Excel这样的软件,也不需要如何精通,那么就可以快速上手来实现一些应用场景,比如,你可以用它来实现项目管理、任务管理、问题管理, 也可以用来管理你的客户关系,再有了基础数据之后,还能用它来创建更有用的BI图表或者Dashboard。 APITable还提供了一个非常有用的功能,就是一键生成API面板。让...

2022

这几年,随着几大互联网公司的强大,纷纷投入云计算产业的建设,开源项目作为维护潜在客户群体(开发者)的重要手段,是各大云计算厂商都在努力做的事。 这几年也诞生了很多真正优秀和看似优秀的开源项目。真正优秀的不必多说,就是那些被真实广泛应用的开源项目,而今天我想说的是那些看似优秀的开源项目。 为什么有些项目是看似优秀?大家都知道,在全球最大的开源项目托管平台GitHub上有个被大家经常提及的数据:Star。很多时候,大家会用这个数据来描述开源项目的流行程度甚至优秀程度。 相信工作一些年的开发者,一定有这样的感受。在好几年前,国内开源不多的时候,根据Star的数量来评判和选择开源产品使用的时候,不太会踩坑。大多数时候,我们都能在同类产品中选到最好的。 但近些年,随着中国开源的崛起,Star的规模变大了不少,以前几千Star的往往都是很好的项目了,现在动不动都是几万的Star。同时,根据Sta...

大家好,我是DD! 近日,Spring Cloud Tencent 于6月14日正式对外开源,作为腾讯开源的一站式微服务框架,Spring Cloud Tencent 实现了 Spring Cloud 标准微服务 SPI ,开发者可以基于 Spring Cloud Tencent 快速开发 Spring Cloud 微服务架构应用。Spring Cloud Tencent 的核心依托腾讯开源的一站式服务发现与治理平台 Polarismesh ,实现各种分布式微服务场景。 作者简介张乐 腾讯云技术专家,Spring Cloud Tencent 社区负责人,腾讯云微服务引擎 TSE 核心研发。一直致力于微服务领域研发工作,例如配置中心、注册中心、服务治理等领域。 张皓天 腾讯高级研发工程师,Spring Cloud Tencent PMC,Polaris Java PMC。 为什么要做 ...

前段时间刷朋友圈看到好友做了一个IDEA插件,具体功能是在侧边文件树中,显示Java类的注释信息,效果下面这样: 觉得不错的小伙伴,可以在插件里搜索:Show Comment 安装使用: 视频介绍:https://www.bilibili.com/video/BV1YY411M7gZ/,欢迎关注我的B站和视频号「程序猿DD」,持续分享好用的IDEA插件和使用小技巧。

上一篇,通过一篇国外大佬的IDEA性能测试,得处一个结论:内存分配越多,执行效果就越好。但是,除了IDEA之外,许多其他应用程序也需要消耗内存。所以,大家的目标应该是在提高性能和内存消耗之间找到一个平衡。 马上就有读者问了,那么IDEA的内存怎么设置呢? 设置方法很简单,只需要从菜单中找到:Help 这里有两个菜单项是本篇重点: 设置最大内存Chanage Memory Setting,这是一个可视化的配置菜单项,用来设置IDEA的最大内存 而该菜单本质其实还是往下面这个Edit Custom VM Options功能的配置文件中写其中一个参数而已。 配置虚拟机参数Edit Custom VM Options,这个配置就比较通用了,用来配置IDEA运行的虚拟机各项细节参数: 都是Java开发者,相信对这些参数也不会陌生了吧。 这里那么参数中,其实影响最大的还是如上一篇...

在前几天分享的关于Spring Boot Starter中的spring.factories文件不再推荐使用的视频下,看到有网友问了这样一个问题: 这个文件也是位于/META-INF/目录下面: 里面的大概是这样的: { "groups": [ { "name": "swagger", "type": "com.spring4all.swagger.SwaggerProperties", "sourceType": "com.spring4all.swagger.SwaggerProperties" }, { "name": "swagger.authorization", "type": "com.spring4all.swagger.SwaggerAuthor...

早上给大家介绍了IDEA官方宣布正在开发一套全新的UI,但目前是预览版需要申请才能体验。 随后马上就有网友分享了,不需要申请直接就能激活体验的方法。 本期视频:https://www.bilibili.com/video/BV165411X7u7 只需要下面几步: 下载最新的IDEA版本(DD尝试了2022.1版本,后面的版本应该都会包含,之前的版本不确定) 下载地址:https://www.jetbrains.com/zh-cn/idea/nextversion/ shift键连续按两次,搜索registry: 找到ide.experimental.ui选项,勾选上 重启IDE,成功切换! 最后DD又折腾了一下主题,这下舒坦了!欢迎关注我的公众号:程序猿DD,后面继续分享下配置! 另外,给大家提一下,我最近把博客重新增加了板块,正在维护几个有意思的长...

5月23日,JetBrains发布了一篇博文,透露他们正在实现一套全新的界面界面。 他们认为目前行业中的用户界面趋势已经发生了演变,很多新用户认为JetBrains IDE的界面过于笨重,而且过时。所以,团队做出了大胆的决定,将以全新的眼光来重新设计IntelliJ IDEA和相关IDE的外观和感觉。 而这次重新设计的核心目标就是降低视觉复杂性,提供对基本功能的轻松访问,并根据需要逐步展开复杂的功能,这就是目前JetBrains团队认为的干净、现代和强大的外观和感觉。 根据官博中的描述,新UI中的主要变更包括以下四个方面: 简化主工具栏:使用新VCS、Project以及Run小部件 新的工具窗口布局 新的浅色和深色主题 全新的图标 文章开头给出的预览对于这一核心设计理念的初步体现还是很明显,整体界面相比目前的IDEA是要简洁、干净很多的,那么根据需要逐步展开的强大功能会怎么...

前段时间看到群里有吐槽swagger整合问题,当时没仔细看,总以为是姿势不对。 这两天正好自己升级Spring Boot版本,然后突然出现了这样的一个错误: Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()" because "this.condition" is null at springfox.documentation.spring.web.WebMvcPatternsRequestConditionWrapper.getPatterns(WebMvcPatternsRequestConditionWra...

昨晚我们讲了Spring Boot 2.7开始不再推荐使用spring.factories了,今天早上公众号(程序猿DD)上也推了,然后收到了不少反馈。其中有个网友说:要维护两个文件,太麻烦了。 作为一名优秀的程序员,当觉得麻烦的时候,第一反应就是要想办法偷懒! 所以,今天就给大家讲讲怎么样轻松的维护这两个文件! 开源项目:mica-auto为了解决维护麻烦的问题,这里要给大家推荐一个开源项目:mica-auto。不要看Star不多,DD用下来感觉还是非常好的。 GitHub地址:https://github.com/lets-mica/mica-auto 该项目的实现原理与Lombok类似,利用Java 6就开始支持的Annotation Processor,在编译期扫描注解和处理注解。这里mica-auto的主要解决问题是为Spring Boot自动生成spring.fac...

如果你是Spring Boot用户的话,一定有这样的开发体验,当我们要引入某个功能的时候,只需要在maven或gradle的配置中直接引入对应的Starter,马上就可以使用了,而不需要像传统Spring应用那样写个xml或java配置类来初始化各种Bean。 如果你有探索过这些Starter的原理,那你一定知道Spring Boot并没有消灭这些原本你要配置的Bean,而是将这些Bean做成了一些默认的配置类,同时利用/META-INF/spring.factories这个文件来指定要加载的默认配置。 这样当Spring Boot应用启动的时候,就会根据引入的各种Starter中的/META-INF/spring.factories文件所指定的配置类去加载Bean。 而这次刚发布的Spring Boot 2.7中,有一个不推荐使用的内容就是关于这个/META-INF/spring....