2023

在今年2月14日的时候,Keycloak 团队宣布他们正在弃用大多数 Keycloak 适配器。其中包括Spring Security和Spring Boot的适配器,这意味着今后Keycloak团队将不再提供针对Spring Security和Spring Boot的集成方案。但是,如此强大的Keycloak,还要用怎么办呢?本文就来聊聊,在最新的Spring Boot 3.1版本之下,如何将Keycloak和Spring Security一起跑起来。 准备工作这里所采用的框架与工具版本信息如下: Spring Boot 3.1.0 Keycloak 21.1.1 如果您采用的是其他版本,本文内容不一定有效,但可以作为参考。 配置Keycloak第一步:为Spring Boot应用创建Realm,并在下面创建一个Client 第二步:创建一个SYS_ADMIN角色,...

Spring Boot 3.1.0 现已发布,此版本添加了大量新功能和改进。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.0</version> <relativePath/> <!-- lookup parent from repository --></parent> 亮点 Spring Authorization Server 的自动配置 支持在开发时使用 Testcontainers 和 Docker Compose 管理外部服务 简化集成测试中 Testcon...

ChatGPT很强大,可以帮我们处理很多问题,但这些问题的答案的正确性您是否有考证过呢? 昨晚,DD就收到了一个有趣的反馈: 提问:有什么关于数据权限设计的资料推荐吗?ChatGPT居然介绍了一本根本不存在的书《数据权限设计与实现》,作者居然还是我… 那么你在使用ChatGPT的时候,有碰到过类似的问题​吗?在使用AI辅助工作的时候,你是否会对结果进一步验证呢?​如果每次都要对结果的正确性做进一步验证,AI辅助真的有提高你的工作效率吗?还是增加了你的犯错率呢?关注公众号“程序猿DD”,持续分享前沿技术,聊最新发现和技术思考。

自2022年11月30日 OpenAI 发布 ChatGPT 以来,虽然时有唱衰的声音出现,但在OpenAI不断推陈出新,陆续发布了OpenAPI、GPT-4、ChatGPT Plugins之后,似乎让大家看到了一个聊天机器人往操作系统入口进军的升纬之路。 ChatGPT能被认为是操作系统级别的入口平台,那么必然会催生各行各业应用的重新入局。对此,作为一名开发者来说,面对这样的变革,应该尽早的去了解与实践,在蓝海里更容易找到一份自己的位置。目前DD知道的就有不少小伙伴在基于其API做一些出海的应用。 最近,DD也花了不少时间去研究和体验了一些有趣的内容。比如:尝试跑了一些基于其API实现的类ChatGPT应用: 还有比如下面这个通过拖拽就能轻松调试和构建智能聊天应用的开源工具: 在这几天的不断尝试过程中,DD发现一个比较麻烦的问题,就是这些应用都需要OpenAI的API ...

大家好,我是TJ 最近随着OpenAI的一系列大动作,把软件领域搅的天翻地覆。各行各业各领域,都出现了大量新产品。 开发工具领域首当其冲,各种新工具层出不穷,今天TJ就给大家推荐一个全新的开发工具:Cursor 从官网介绍可以看到,Cursor基于OpenAI实现,继承了最新的GPT-4模型,支持Mac、Windows、Linux三大平台。 下面大家看看这个开发工具有多厉害,感性兴趣的读者也可以通过下方链接去官网下载了一起体验: 官方网站:https://www.cursor.so/ 生成代码 通过快捷键cmd + k唤出AI指令输入框 比如,我这里输入“读取文件”。马上就产生了下面的实现内容: 解释代码 选中你看不懂的代码,按快捷键cmd + L 说出你的疑问,AI在右侧就会给出解释 这功能也许非常实用吧,毕竟我们每天都在维护屎山,有了这根搅...

故障,是每个技术人都不愿遇到,但却总会遇到的事件。程序Bug、安全漏洞、黑客攻击、服务器宕机、网络中断等诸多因素都有可能引发系统故障,使我们的业务面临瘫痪的窘境。这样的例子,国内外都在不断的发生,比如:2020年,由于严重的全澳性IT故障,Coles的收银机全部不能联网,down机瘫痪。收银员扫不了货品顾客也不能结账,澳洲每家Coles超市都被迫暂时关闭。2018年,上海的医疗保险信息系统就突发故障,波及上海各大医院的结算系统,致使大量市民在就医时无法正常使用医保卡,众多医院的排队窗口前纷纷大排长龙,场面混乱。事发之后就有不少网友质疑,涉及面如此之广的医保信息系统,“难道没有应急措施?”这些活生生的真实案例都在提醒我们,技术赋能业务产生更高效率、获取更多价值的同时,保障系统稳定运行也至关重要。一旦系统出现大范围、长时间故障,致使业务中断的后果可能直接磨灭技术赋能带来的收益,甚至还可能...

每次提交代码的时候,你是否有为如何写Commit Message而迟迟按不下提交的时刻呢?然后,死磨硬泡写了一些并提交后,又被review的小伙伴吐槽了呢?相信很多小伙伴有过这样的经历吧? 趁着最近ChatGPT那么火,就来顺手推荐一个可以用于解决这个问题的VS Code插件:vscode-gptommit 该插件可以帮助我们自动的生成提交信息,而且生产内容也是八九不离十。 它会根据你的文件变动信息来产生提交消息,所以产出的内容还是非常具有可读性,比如下面的例子: 如何使用第一步:在VS Code的插件市场里搜索“vscode-gptcommit”,并安装它 第二步:通过VS Code的快捷键Ctrl+Shift+P或者Cmd+Shift+P唤出命令输入框来生成提交消息 你也可以通过Git面板的这个按钮来生成: 当然了,很重要的一点,您还需要配置好ope...

深夜档分享,给大家介绍一个黑白的、“惊悚”的网站! 从名字来看(killed by microsoft),是不是猜到点端倪了? 这个神奇的网站居然收录了微软寿终正寝的那些软件。这是一个免费的开放源码列表,其中列出了已停产的微软服务、产品、设备和应用程序。网站的目标是成为有关微软已死项目历史的真实信息来源。 仔细看看,都是满满的回忆! 比如:你是否还记得这个Lumia?当初与Nokia合作,在手机系统上斗争了6年,最后不敌安卓和iOS 各种跟MSN相关的应用,当时是办公人群装逼神器,现在已经没人用了 一个古老的数据处理软件,记得以前考级还要学的 不知道这里是否还有哪些是你用过的软件呢? 一起来这里回一下青春:https://killedbymicrosoft.info/

如果您跟我一样,经常上GitHub看开源项目,那么一定有这样的感觉:在线阅读代码很不方便!所以,很多时候,我们都是通过git clone方式下载下来。然后用开发工具打开就可以非常顺滑的阅读了。 但是这样的还是需要比较复杂的步骤,今天就给大家推荐一个应用:github1s。通过github1s的帮助,我们可以更方便的阅读GitHub上的开源项目。 简介GitHub1s 是一个Web应用程序,允许开发者直接在GitHub上浏览、编辑和调试代码。它是一个强大的工具,可以帮助开发者节省时间,提高生产力。在本文中,我们将讨论GitHub1s的特点以及它如何有助于开发者。 在线使用在github网页url中的github后面增加1s,直接访问,马上就可以进入到在线浏览界面。 比如,这个开源项目:https://github.com/dyc87112/SpringBoot-Learning 只需要...

今天看到个有趣的网站,给大家分享一下。 该网站的功能很神奇,可以实现编程语言的转化。感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转Go。这个时候用你Java的经验 + 这个工具,或许可以起到一定的帮助作用。 工具的使用也很简单,只需要在左侧黏贴你想转换的原始代码,然后点击CONVERT CODE,右侧输入框就会转换成目标代码: 是不是很神奇?关注公众号“程序猿DD”,回复“代码转换”获取网站地址,一起来试试看吧! 也许你跟我一样,觉得只能实现这样简单的代码转换。但实际上像下面这样更加复杂的代码转换也是不在话下: const fs = require('fs'); const AWS = require('aws-sdk'); const s3 = new AWS.S3({ accessKeyId: process...

如果您跟我一样平时有些博客的习惯,那么图片存储是否有困扰过你呢?今天就给大家推荐一款不错的开源图床系统:Light Fast Picture 它是一个基于koa + vue3.x + typescript实现的图床工具。它可以帮助用户快速上传图片到云端,并返回图片链接,方便用户在网页、社交媒体等平台上分享图片。 它的功能已经非常丰富,满足我们对图片管理的日常需求 图片上传:支持图片多图上传、拖拽上传、粘贴上传、一键复制多种格式的图片外链。 图片管理:多上传的图片进行管理,支持文件重命名、移入指定相册、删除图片、预览图片等。存储桶管理:支持多桶储存,可同时添加多个对象存储桶管理,上不封顶,例如:七牛云对象存储、阿里云对象存储、腾讯云对象存储等等,系统会统计出每个存储桶下的图片数量以及已使用存储量。同时也支持控制存储桶是否显示在上传区。 相册管理:支持相册管理,可以对图片进行分组...

最近发现一个不错的免费开源学习项目:30天学会Python 如果您最近有学习Python的打算,不妨看看这个是否适合你? 项目地址:https://github.com/Asabeneh/30-Days-Of-Python 该项目内容的设计很棒,不是单纯的堆叠内容,而是制定了一个30天的学习计划,这样可以循序渐进的帮助读者来学习Python编程语言。 Python类教程那么多了,为什么推荐它呢,我觉得该项目有以下几点优势: 适合初学者:该项目提供了一个逐步学习Python的计划,适合那些没有编程经验或想要进一步了解Python的人。 全面而深入:该项目涵盖了Python编程的许多方面,包括基本语法、数据类型、函数、模块、面向对象编程等,可以帮助您全面了解Python。 实践性强:该项目不仅提供理论知识,还包括许多实际的编程练习,可以帮助您巩固所学的知识并提高编程技能。 社区支...

选择一款适合自己的主题,这样每天工作才不会累!下面给大家精选了一批优秀的主题,并配上案例截图。如果有你喜欢的,那就赶紧去下载吧! Darcula这是IntelliJ IDEA默认的暗色主题,适合长时间使用,减少眼睛疲劳。 Material Theme UI一款基于谷歌Material Design的主题,拥有鲜艳的颜色和现代化的UI设计。 One Dark一款受欢迎的VS Code主题,也可以在IntelliJ IDEA上使用。拥有深色背景和明亮的代码高亮。 Solarized一款经典的主题,具有柔和的颜色和对比度,使得代码更容易阅读。 Nord一款冷色调主题,具有清晰的代码高亮和现代化的UI设计。 Dracula另一个受欢迎的暗色主题,拥有紫色和粉色的配色方案。 Monokai一款受欢迎的代码高亮主题,拥有鲜艳的颜色和对比度。 Gruvbo...

昨天在群里看到有小伙伴问,Java里如何解析SQL语句然后格式化SQL,是否有现成​类库可以使用? 之前TJ没有做过这类需求,所以去研究了一下,并找到了一个不过的解决方案,今天推荐给大家,如果您正要做类似内容,那就拿来试试,如果暂时没需求,就先了解收藏(技多不压身)。 JSqlParser​JSqlParser是一个用Java编写的SQL解析器,可以将SQL语句解析为Java对象,从而使开发人员能够轻松地分析、修改和重构SQL查询。 比如,这样的一句SQL语句SELECT 1 FROM dual WHERE a = bSELECT 1 FROM dual WHERE a = b JSqlParser可以将其解析为如下对象结构 SQL Text └─Statements: net.sf.jsqlparser.statement.select.Select └─selectBody...

说起开源CMS,你会想到哪些呢?WordPress?DoraCMS?joomla? 今天再给大家推荐一个非常好用的开源CMS:wagtail 如果您正在选型的话,可以了解一下Wagtail的特点: 基于Django构建,具有出色的文档管理功能和友好的用户界面。 提供了一个灵活且易于使用的页面编辑器,支持多种类型的内容块,包括文本、图像、视频和HTML代码。 具有出色的SEO功能,包括友好的URL和元标记管理。 支持多语言网站,并提供了一个易于使用的翻译界面。 完全开源的CMS,拥有强大的社区支持和活跃的开发人员社区。 内容审核和版本控制:wagtail支持审核和审批工作流程,以确保您的内容在发布之前经过审核和批准。 网站搜索:wagtail提供了一个易于使用的搜索框架,支持全文搜索和过滤器。 云存储支持:wagtail支持多种云存储服务,包括Amazon S3和Google ...