- 博客(462)
- 资源 (8)
- 收藏
- 关注
原创 雁门萨氏萨师煊:中国数据库学科的拓荒人与奠基者
文章来源:中国网当第八届数字中国峰会的璀璨光芒再次聚焦福州,这座承载千年历史的古城深处,雁门萨氏跨越数百年的家族史诗,正激荡起全新的时代回响。从甲午海战中萨镇冰为“海权图强”浴血奋战,铁血舰长萨师俊与中山舰生死共存,到萨本栋在抗战硝烟里铸就厦大“南方之强”的美誉,再到萨师煊在数字领域的荒芜之地夯筑起坚实的“信息基石”,这个家族以代际接力的坚韧与担当,书写出一部波澜壮阔的中国近代自立自强奋斗史。
2025-06-10 14:58:55
957
原创 360行,行行转java
1、对于技术能力提升感到乏力,每天都是在不断重复之前的工作,枯燥地做增删改查,甚至有人戏称自己是 Ctrl+C/Ctrl+V 工程师,知识水平一直局限在一个看了 API 会用的阶段,了解的信息都是具体的一个个点,缺乏体系化的梳理,存在很多盲区,从而很多时候对技术问题的思考不够深入,停留在表面。可是,如果不是科班出身,且没有过强的能力,培训出来还是无缘大厂的。所有啊,摆脱内卷,打破魔咒的办法只有一个:保持学习,不断提升自己的技术水平,到达更高层级,层级越高,竞争力越小,被替代的可能性越小。
2025-06-10 08:36:00
491
原创 别只会写 SELECT,这10个 MySQL 技巧太香了
今天将分享10个我在实际工作中高频使用的MySQL技巧,这些技巧不仅提升了开发效率,还能优化查询性能。MySQL的强大不仅在于基础功能,更体现在对复杂场景的灵活处理。:需要根据唯一键(如用户ID)实现“存在则更新,不存在则插入”的逻辑,替代传统的先查询再操作。:将复杂查询拆解为多个CTE(公共表表达式),提升可读性和可维护性,类似“查询中的变量定义”。:批量导入数据时,跳过已存在的记录(基于唯一键),避免主键/唯一索引冲突报错。:当字段存储逗号分隔的集合(如多分类ID)时,快速查询包含指定元素的记录。
2025-06-10 08:30:17
323
原创 在软件开发中正确使用MySQL日期时间类型的深度解析
时间类型的选择本质是在功能需求、性能目标与可维护性之间寻找平衡点。MySQL的DATETIME与TIMESTAMP提供了开箱即用的时间管理方案,而数值时间戳则为高性能场景开辟了新路径。建议开发者根据业务特性建立标准化时间存储策略,并通过压力测试验证选型的合理性,避免因时间处理不当导致的系统性风险。正如《高性能MySQL》所言:"正确的时间存储方式,是构建可扩展系统的基石"。
2025-06-09 08:39:55
668
原创 MyBatis 执行 SQL 报错:String 无法转换为 Long 的排查与解决实录
保持参数类型与数据库一致:在使用分表策略时,务必确保传入的分表键参数类型与数据库表中对应字段的类型相同,避免因类型转换问题引发异常。全面排查报错线索:当遇到看似不合理的报错时,不能局限于表面的代码逻辑,要考虑到项目中所使用的各种中间件、框架的附加逻辑,如分表、缓存、事务处理等,这些都可能是问题的根源。加强代码审查:在开发过程中,尤其是涉及到分表、分布式等复杂架构时,加强代码审查环节,及时发现潜在的类型不匹配、逻辑冲突等问题,降低线上故障风险。
2025-06-03 19:47:49
1037
原创 程序员必看:两个思想优化90%的代码
在实际编程中,我们遵循"自下而上分析问题,自上而下编写代码"的原则,先收集具体需求并识别共性进行抽象,再从高层接口和主流程开始编写实现。阅读这样的代码就像在看一本书,入口函数是目录,指向各自的私有函数,而具体内容则在私有函数中实现。抽象思维是软件开发人员的核心能力之一,通过不断的训练和实践,我们可以提升自己的抽象能力,从而更好地应对复杂的软件开发挑战。通过将大函数拆分为多个小函数,并确保每个函数内的抽象层次一致,我们可以构建出更加清晰、易于理解和维护的代码结构。它要求函数体中的内容必须在同一个抽象层次上。
2025-06-03 13:57:45
814
原创 生产环境超实用shell脚本
服务器健康检查脚本:检查服务器的CPU、内存、磁盘、网络等资源使用情况,以及关键服务状态。日志清理脚本:定期清理过期的日志文件,释放磁盘空间。备份脚本:定期备份重要数据和配置文件。监控脚本:监控系统资源、服务状态、网站可用性等,并发送告警通知。通过使用这些脚本,运维人员可以更好地管理生产环境,及时发现和解决问题,确保业务的连续性。
2025-05-30 09:03:24
357
原创 markdown转微信公众号排版
如果你和我一样,平时习惯使用 Markdown 写作,当我们想把文章发布到微信公众号或知乎等平台时,就会发现挺麻烦的,尤其是排版方面,因为它们并不支持 Markdown 格式。你可以借助微信公众号 Markdown 在线编辑器,将写好的 Markdown 文章粘贴过去,调整排版主题,即可生成适合微信公众号或知乎风格的文章。微信公众号 Markdown 排版编辑器 | Quaily 工具。在线markdown编辑器_微信公众号markdown排版工具。微信公众号 Markdown 编辑器。
2025-05-28 10:28:15
374
原创 mysql如何设置update时间字段自动更新?
通过这一点了解到数据库还是有需要需要继续学习的地方,一个好的开发人员必然需要对数据库熟练掌握,你能看到的内容最终都来源于数据库,从数据库怎么拿是开发人员关心的问题,更重要的是怎么设计一张合理存储数据的表,让数据的获取更简单高效,这才是一个开发人员追求的目标。如果你是用的phpmyadmin来管理数据的话那么可以通过以下方式实现自动时间更新功能,当然这种方式本质上还是通过上面的方式,只是这种不需要需执行代码,只需要通过鼠标就可以完成。sql语句核心的语句为。
2025-05-28 08:36:05
327
原创 vue3.0+uniapp实现抽奖小助手
大家好,我是剽悍一小兔,独立开发者,副业搞钱尝试者,热爱技术分享。曾经当过培训机构老师,也带过大学H5编程实训课,目前还活跃在金融领域一线做全栈开发。我会每天分享 编程技术、独立开发、思考感悟。代表作:《JavaScript百炼成仙》公众号:java小白翻身如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连 (评论转发与其说是抽奖小助手,我更愿意称之为做个决定。有时候,我们常常为做个决定而烦恼,然后采用抛硬币等方式,所以我就想着和抽奖结合起来,自己设置好,随机轮转。
2025-05-23 09:47:26
291
原创 在项目中用了Arrays.asList、ArrayList的subList,被老大公开批评~
大家好,我是剽悍一小兔,独立开发者,副业搞钱尝试者,热爱技术分享。曾经当过培训机构老师,也带过大学H5编程实训课,目前还活跃在金融领域一线做全栈开发。我会每天分享 编程技术、独立开发、思考感悟。代表作:《JavaScript百炼成仙》公众号:java小白翻身如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连 (评论转发各位程序员朋友们,今天咱们来聊聊我最近在项目里踩的两个大坑——Arrays.asList和ArrayList.subList,这俩“坑王”可把我坑惨了,被老大当众点名批评!
2025-05-22 18:49:57
732
原创 作为一个程序员你觉得是业务重要还是技术重要?
看个人野心吧。野心大的,选业务。野心小的,选技术。有短板不要怕,只要不是短得事情无法进展的短板,都不是真正的短板。野心大的:以我为例,我野心大的离谱,主业搞量化的,但是,我编程水平非常拉跨。拉跨到我自己都不忍直视的那种。有多拉跨呢,没有AI辅助编程的时候,我遇到问题了,墙内墙外来回翻,一两个月都不一定能解决问题的那种,菜鸡说的就是我。但是,我的收入在搞量化这块,算个第二、三梯队应该问题不大。核心就在于我对于交易系统的整体大局把握能力还可以。
2025-05-21 15:09:07
761
原创 我linux服务器,用docker安装了mysql,5.7版本, 本地连接服务器的mysql是正常的,跑springboot项目也可以正常连接,但是打成jar后放到服务器去启动,就连接mysql报错
通过以上步骤,可以定位并解决 90% 以上的 Docker MySQL 连接问题。或特定 IP 访问,而 JAR 包运行在服务器上时,连接的 IP 不在授权列表中。要解决 Docker MySQL 5.7 在服务器上被 Spring Boot JAR 包连接失败的问题,需要结合。大家好,我是剽悍一小兔,独立开发者,副业搞钱尝试者,热爱技术分享,欢迎一起学习交流。如果 JAR 包未正确打包驱动,或版本不兼容,会导致连接失败。),则容器直接使用宿主机网络,此时 MySQL 端口即为宿主机端口。
2025-05-16 10:43:07
786
原创 linux查看所有放行的端口
大家好,我是剽悍一小兔,独立开发者,副业搞钱尝试者,热爱技术分享,欢迎一起学习交流。我会每天分享编程技术、独立开发、行业咨询、思考感悟。代表作:《JavaScript百炼成仙》公众号:java小白翻身小程序:速用百宝箱在 Linux 系统里,要查看所有放行的端口,这和防火墙的配置情况有关。
2025-05-16 10:38:16
469
原创 我想写个脚本,自动git pull, mvn编译打包,然后重启这个jar,但是又担心这个jar已经在启动了,重启不是端口冲突了吗
大家好,我是剽悍一小兔,独立开发者,副业搞钱尝试者,热爱技术分享,欢迎一起学习交流。我会每天分享编程技术、独立开发、行业咨询、思考感悟。如果需要进一步调整(如适配systemd服务、添加邮件通知等),可以告诉我具体需求,我会帮你优化脚本。的自动化脚本,并解决端口冲突问题。代表作:《JavaScript百炼成仙》公众号:java小白翻身。
2025-05-16 10:33:25
223
原创 linux,我启动一个springboot项目, 用java -jar xxx.jar & ,但是没多久这个java进程就会自动关掉
当使用java -jar xxx.jar &启动Spring Boot项目后进程自动关闭时,可能的原因包括应用启动失败、后台进程被终端终止、内存不足、系统服务管理工具终止或资源限制等。排查步骤包括查看终端输出日志和应用日志,检查端口冲突、依赖缺失、配置错误等问题。解决方案包括使用nohup或disown避免进程受终端影响,调整JVM内存分配,优化应用代码,检查系统资源限制,以及通过systemd管理服务。建议优先查看日志定位具体错误,排除基础问题,处理进程管理问题,并优化资源配置。如果问题仍未解决,
2025-05-16 10:26:28
842
1
原创 写了一个mybatis-generator-ui,各种代码自动生成,开源!
该项目基于Mybatis-generator开发,提供了可视化的代码生成工具,支持自定义项目、模板和代码生成规则,显著提升开发效率。核心功能包括:1. 根据SQL自动生成表结构,支持导入建表语句并识别字段;2. 快速导入已有表,支持新增字段和转储SQL;3. 项目管理,支持表与项目的关联;4. 表管理,支持表的增删改查;5. 模板管理,支持自定义VM模板;6. 根据模板和表生成代码,支持字段选择和自定义生成;7. 代码下载,提供生成代码的下载功能。此外,还支持简单的Mock数据生成,用户可根据需求灵活修改代
2025-05-15 09:33:04
417
原创 用vue3写了个牛马时钟,集成到小程序,已上线
这个项目很小,代码量不到 500 行,但它让我再次相信:技术的价值,不在于有多复杂,而在于能否解决具体的、真实的问题。如果你也想体验「牛马时钟」,可以扫码进入小程序。如果有建议或 bug,欢迎在评论区留言——下一个版本,可能就有你的需求!
2025-05-15 09:25:40
1147
原创 小程序发布后,不能强更的情况下,怎么通知到用户需要去更新?
这个记账小程序从一开始,我就特别在意用户的隐私,所以把记账数据都存到了本地缓存里,还做了个手动备份的功能。这一强制更新,麻烦就来了,缓存没了,用户辛辛苦苦记的账也全没了,这可太糟糕了。每次发布新版本的时候,我就把当前的版本号带上去。等用户打开页面,就让小程序去调后台接口,获取那些落后的版本信息,然后把更新消息告诉用户。目前这个办法还挺好用的,能通知到用户去更新,大家要是在开发过程中遇到类似的情况,也可以在评论区一起聊聊是怎么解决的。不为空,就去数据库里查对应的用户信息,把用户的版本号更新一下。
2025-04-27 20:17:44
349
原创 关于TypeScript,我的一些真实想法
在大型应用,尤其是多人协作的项目里,在需要长期维护的项目中,还有那些模块间契约要求严格的代码库,TypeScript还是很有用的。但要是做个副项目、快速脚本,或者搞个MVP和原型,JavaScript反而更顺手,写起来快,也不用和编译器“较劲”,开发过程都变得有意思多了。第三方依赖也是个问题,安装个包,经常遇到TypeScript报错,发现人家根本不支持TypeScript。都说TypeScript能减少bug,可在小项目里,很多它能捕获的错误,我自己看代码也能很快发现。TypeScript却得先编译,
2025-04-22 08:58:08
285
原创 从踩坑到优化:我是如何给员工休息日字段升级的
这次给员工休息日字段升级的过程,就像一次闯关冒险,遇到问题,不断尝试新方法,最终找到最优解。虽然我们实现的是山寨枚举,但这个过程让我对枚举的本质和作用有了更深刻的理解。在实际开发中,我们经常会遇到各种看似简单却暗藏陷阱的需求,只要保持探索和学习的心态,总能找到更好的解决方案。希望我的这次经历能给大家带来一些启发,如果你们在开发过程中也遇到过类似的问题,或者有更好的解决办法,欢迎在评论区和我交流,咱们一起把代码写得更漂亮!
2025-04-21 14:58:38
329
原创 强制用 AI 的公司,已经开始倒闭
最后他总结得可扎心了,说AI生成代码就像让猴子打字,最后得到一堆垃圾,还得重写,员工都想辞职。对待新技术,咱既别迷信,也别蔑视,积极去了解和实践就行。AI可以用,但得分拆最小需求单位,看看是自己写得快,还是AI快,说到底就是为了减少工时嘛。工具类代码用AI写写还行,反正大家写出来都差不多,但业务类代码,AI基本理解不了具体需求,没有业务上下文,让AI写就是灾难,也就通用业务还能勉强用用,越复杂具体就越白搭,净出可笑的bug!今天咱来唠一唠那些强制用AI的公司,我跟你们说,强制用AI的公司,已经开始倒闭咯!
2025-04-21 08:43:31
270
原创 Java1.8 的 filter方法
函数式接口作为参数,返回一个仅包含满足条件元素的新流。如果有更复杂的需求,可以进一步结合。,用于根据指定条件筛选流中的元素。是 Stream API 中的一个。通过以上示例,您可以快速掌握。)实现更灵活的筛选条件。
2025-04-21 08:32:15
382
原创 我开发的记账小程序增加备份功能~
之前一直使用的缓存存储方式存在明显缺陷,当手机微信内存占用过高,出现卡顿,一旦清理缓存,之前辛苦记录的账目就会全部丢失,这对大家记账造成了极大不便。之前是纯缓存的版本,确实会出现缓存丢失,导致记账消失的情况,所以之前的记录如果实在重要,就截图保存下来,然后尽快更新到最新版本。然后,重新搜索 速用百宝箱,再打开就是最新版本啦。
2025-04-15 13:14:43
382
原创 实在不喜欢市面上的记账本,自己用uniapp写了一款记账小程序
正是基于这样的想法,我心中燃起了一股强烈的冲动 —— 我要自己开发一款记账小程序,打造一个真正符合自己需求,同时也能满足广大像我一样用户需求的简单记账工具。它就像我的贴心财务小助手,让我对自己的财务状况了如指掌,而且操作简单,使用起来轻松愉快。我相信不少朋友都有过和我一样的经历,一开始信心满满地想要认真记账,可没坚持几天,就被这些复杂的功能搞得晕头转向,最后只能无奈放弃。有些软件,想要享受完整的功能,就得乖乖掏钱开会员,可这还不算完,开了会员,居然还时不时地蹦出广告来,实在是让人不胜其烦。
2025-04-08 14:03:34
1094
原创 一手学会花式console.log,震惊了领导
肯定有人会说:“花里胡哨有什么用?影响性能吗?兄弟(划掉)朋友,这玩意儿一不加打包体积,二不占内存,三能提升团队幸福感——
2025-02-27 20:30:38
986
原创 React如何使用JSX语法
🎉 这里是 剽悍一小兔,曾经做了好几年的Java,前某大厂后端研发工程师,现在是一名前端工程师,主要技术栈为React+vue3.0+有空会刷刷算法题,平时喜欢打乒乓球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『java小白翻身』发一些比较自认为比较有价值的文章,有兴趣的也可以关注下。再看需求,要展现一个动态的列表,那就不能写死,需要我们从js变量中提取数据,展示在JSX模板里面。
2024-10-28 10:12:47
465
原创 React怎么创建虚拟dom和挂载到页面
1、🍟你可以直接下载本节配套的资源代码,然后导入vscode看效果,也可以跟着教程一点一点敲,都是没问题的。2、🤔怎么运行本节代码?很简单,随便找个浏览器打开index.html即可。💕。
2024-10-27 17:27:48
1146
原创 docker安装redis
之前的redis通过 docker rm -f 命令删除,再重新启动,就用了我们自己的配置。因为没有指定name,所以随机了一个name。让我们进入docker容器,随机操作一番。为了保证数据不丢失,我们也要挂载数据卷。然后,就可以在本地用工具去连接啦。
2024-10-23 08:30:00
216
原创 无废话版:一文搞定webpack(上)
最近准备出一个无废话版教程,每天学习一点点,一年后相信你就是最靓的仔。webpack官网源码永久下载链接。
2024-07-07 23:21:49
940
1
原创 React+TS 从零开始教程(4):useEffect
源码链接:https://pan.quark.cn/s/c6fbc31dcb02上一节,我们已经学会了React的第一个Hook:useState。这一节,我们要学习的是另一个非常重要的Hook:useEffect。Effect在这里,意为副作用?不论是哪一个Hook,都是写在函数里面的,比如上个章节中useEffect,就是写在一个函数中。所以,这个副作用,就是函数的副作用。怎么理解呢?我们知道,函数就是你给我参数,我给你一个确定的返回,这个叫函数。
2024-07-02 21:07:44
1190
7
原创 React+TS 从零开始教程(3):useState
hook是一个特殊的函数,React Hooks 是 React 16.8 版本中引入的一个新特性,它允许你在不编写 class 的情况下使用 state 以及其他的 React 特性。如果你在编写这个函数组件的时候,想要设置一些组件的变量(状态),以前的做法,我们是必须把组件转化成一个class,然后用setState去做。其实,这个写法是之前类组件的时候常用的,但现在都是函数式组件了,就不推荐这样写了。useState的应用很广泛,任何需要状态管理的组件,都会用到,下面我们再来一个模态窗体的例子。
2024-06-24 22:04:08
1322
1
原创 React+TS 从零开始教程(2):简中简 HelloWolrd
这一节,我们来见识React+TS的威力,开始上手开发第一个组件,什么组件呢?当然是简中简的HelloWolrd组件啦。在src下创建一个components,然后新建Hello.tsx为什么是tsx呢,这个目的就是告诉编译器,我这个文件是支持jsx语法的,如果遇到你看不懂的标签,就当作来处理。这个组件,我们只有一个要求,就是输入一个属性叫做message,然后展示出来即可。够简单吧,简直是简中简,弟中弟的组件哈。但是,依然很有学习的价值。然后,我们在App.tsx中引用这个组件。
2024-06-23 22:43:24
518
原创 React+TS 从零开始教程(1)
里面是一个空的{} 再来建一个.prettierignore,类似于.gitignore,是指我们不需要格式化的文件。现在我们说下prettier是干嘛用的吧,他就是帮我们自动格式化的,统一格式化代码,这样就不需要我们一个个文件去格式化了。并且将刚才的db.json移动进去,这个目录用__开头,代表跟项目本身没啥关系,只是辅助。post代表提交数据,返回了一个新的user,并且,我们的db.json也改了。注意,如果你的node版本很低,14左右的样子,用下面这个(MD搞死了~)
2024-06-20 22:58:35
2019
1
原创 https从入门到放弃(概念+实战+上线)
大家都知道http,为什么现在又多了一个https呢?HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。如果在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的账号密码,照样能登陆。
2024-05-13 14:17:58
1078
2
原创 SQL调优:小表驱动大表
用join关联的时候,数据量大的情况下,并不是关联字段加了索引就一定没事了,一定要遵循小表驱动大表的原则,要预测关联表where条件过滤后,是否能过滤掉大部分数据。本案例原 sql 其实写的不好,结果集没有用到 a 表的数据,却还用到了 left join,也正因为如此,我们直接查 b 表数据是没问题的,反正都是取交集。但是如果要查 a 表数据,就不能这样改写了,因为那样就改变了业务逻辑。
2024-04-10 09:35:29
673
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人