- 博客(519)
- 资源 (26)
- 问答 (1)
- 收藏
- 关注
原创 使用lambda去重、map排序、按任意时间间隔(小时、半小时、分钟)进行结果统计
public static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) { Map<Object, Boolean> seen = new ConcurrentHashMap<>(); return object -> seen.putIfAbsent(keyExtractor.apply(object), .
2020-09-15 10:49:51
2639
7
原创 大屏监控系统实战(1)-项目介绍
这个项目的起源非常的偶然,源于今年我有幸入选2019年CSDN博客之星年度总评选,并且排名一直还不错,在前20的行列中,而排名第一的天元浪子大大,用python分析了一波投票情况,我本人对自己也非常感兴趣,但因为我不会用python,而且python画出来的统计图不是动态图,于是我就想用Java做后端,前端用图表组件做个靓靓的大屏监控出来。大概花了两天时间,初见成效。现在简单介绍如下:一、整体...
2020-01-21 15:32:27
9871
5
原创 使用Mybatis-plus更新null字段的解决方案
目录一、起因二、网上的解决方案,我这里不适用三、真正的解决之道,完美看最终的配置方式:一、起因业务需要对Oracle数据库的某个字段进行set为Null的操作。网上找了很多帖子,不外乎那么几种解决办法,但都讲的不完全对,而且对我的场景不适用,大白话就是没用!二、网上的解决方案,我这里不适用1.全局配置:这种方案不考虑,因为只有这个表的这个字段需要更新为null,其他...
2019-08-15 17:32:16
13607
原创 OpenClaw 小龙虾从安装到实战:Cherry Studio → Codex → Skills
本文整理了一条最简单、最实用的 OpenClaw 上手路径,完整流程分为。
2026-03-12 05:58:54
1611
原创 TypeScript 里的 Type Guard 是什么
这个最灵活,但也是最容易被滥用的。type guard不是为了让代码“看起来更高级”,而是为了在类型不够明确的时候,帮 TypeScript 正确缩窄类型。如果原来的类型已经很明确,再加一个 type guard,通常只会让代码更绕。
2026-03-11 14:34:07
369
原创 AI 真的在“思考”吗?也许你低估它了
如果你还停留在:“AI 只是高级 autocomplete。那可能你用的不是最新一代工具。合作开发者逻辑推理助手系统分析工具你会发现一个变化:它不是替代你。它是在放大你。过度设计误判上下文给出保守答案但那只是成长路径。不是能力边界。也许未来真正需要适应的,不是 AI。而是我们对于“思考”定义的改变。当思维方式不同,该由谁定义“好”呢?你?还是AI?
2026-02-19 05:25:27
487
原创 当 AI 拥有算力、行动权与支付能力
我们正在见证一种新类型系统的诞生。不是更强的模型。不是更炫的 Agent。不是更快的支付接口。而是三者叠加后形成的:可持续运行、可参与经济、可自我优化的数字实体。它仍然需要规则。仍然需要约束。仍然需要人类监督。但结构已经出现。当算力回到本地,当行动权交给 Agent,当支付网络承认 AI,数字经济主体第一次拥有了闭环。这不是科幻。这是架构正在成形。
2026-02-17 11:17:11
935
原创 技术洁癖如何杀死初创公司
我们要先把架构设计好。“现在不优雅以后会很痛苦。“先抽象出来。“我们需要一个通用框架。问题是:你连 PMF(产品市场匹配)都没找到。你在设计永恒。
2026-02-17 10:58:38
316
原创 当代码评审成为手工业遗风
当你还在花三小时读懂一个 AI 生成的函数时。市场已经上线了三个新版本。而你守护的那段“优雅逻辑”。可能下周就被删掉了。但没关系。你至少保证了它在被删除前是“健壮的”。
2026-02-17 10:51:32
468
原创 Git提交前ESLint校验实践(Husky + lint-staged)
摘要: 本文介绍了如何利用 Git Hook 在代码提交前自动执行 ESLint 检查,避免部署时才发现问题。核心方案是通过 Husky + lint-staged 组合,仅检查暂存文件,提升效率。文章详细说明了标准配置方法,特别处理了子目录项目的特殊情况,并列举了常见问题及解决方案(如处理 warning、环境变量等)。最后建议团队统一将 warning 视为失败标准,同时保留 CI 检查作为兜底。该方案能有效降低部署失败率,提升代码质量稳定性。(148字)
2026-02-08 17:13:08
1092
原创 我不是 Developer,我是 Engineer
《代码与责任:AI时代工程师的自我定位》摘要:当AI能轻松生成完整代码时,作者发现真正的挑战不是技术实现,而是责任归属。医疗项目经历揭示了系统"能跑"与"能活"的本质区别——95%准确率背后1%的错误意味着人命。工程师的价值正从编写代码转向管理代码后果,需要构建可解释、可审计、边界清晰的系统。在AI普及时代,不可替代的不是编码能力,而是理解业务、控制风险、为结果负责的工程判断。作者最终完成身份转变:从追求功能的Developer成长为对系统全生命周期负责的Engine
2026-01-05 09:45:07
828
原创 解释器模式:为 LLM 构建迷你 DSL 解释器,实现 Prompt 编排语言
解释器模式用于:非常适合 LLM,比如:下面给你一个真正“解释器模式”的强例子。目标:支持这样一个迷你语言:最终会发送两个 Prompt:终结符表达式:常量赋值终结符表达式:发起询问非终结符表达式:语句列表Step 2:解析 DSL 生成语法树(重点!)这是真正的解释器模式核心。Step 3:执行 DSL输出:⭐ 真正体现 Interpreter 模式的点有 语言有 语法规则有 语法树(AST)有 解释执行逻辑各种表达式(Define/Ask/Sequenc
2025-11-17 10:32:15
537
原创 Mailjet Setup Pitfall Guide: SPF, DKIM, DMARC & Deliverability
Here’s the full English version of this article, keeping the same structure and “real-pitfalls + step-by-step” tone.This is a step-by-step guide that collects all the real issues I ran into when integrating Mailjet.Goal: send transactional emails only, del
2025-11-13 15:28:26
804
原创 Mailjet 对接踩坑纪实
账户合规说明清楚(事务场景)DNS 三件套(一条 SPF单行 DKIM启用 DMARC先 SMTP/Send API 跑通最小样例,再加模板和 Webhook小流量灰度 + 指标看板,出现问题可快速回溯祝发送顺滑!
2025-11-13 15:24:03
972
原创 Mailjet 对接与踩坑避雷:Cloudflare DNS + 事务型邮件(Step by Step)
本文详细介绍了如何使用Mailjet配置事务型邮件发送服务,适用于拥有自有域名并使用Cloudflare托管DNS的用户。主要内容包括:1)Mailjet账号注册与业务审核注意事项;2)发送域配置中的SPF/DKIM/DMARC设置要点;3)API密钥获取与SMTP/Send API发送方式;4)事件回调Webhooks的配置建议;5)常见问题解决方案,如SPF记录合并、DKIM格式处理等。重点提示:须使用自有域名发信,严格区分事务型与营销邮件,并确保DNS记录正确配置以避免投递问题。
2025-11-13 15:01:14
1124
原创 Google 登录集成教程(Web + Expo 移动端)
本教程适用于 Next.js 后端 + Expo 移动端的 Google OAuth 登录集成。
2025-10-25 15:12:22
1169
原创 用 Cloudflare + Gmail 免费搭建自定义域名邮箱(example.com 实操教程)
摘要:本文介绍如何利用Cloudflare Email Routing和Gmail实现自定义域名邮件的免费收发方案。步骤包括:1)在Cloudflare开启邮件路由并设置转发规则;2)通过Gmail的"Send mail as"功能代发邮件;3)配置Gmail应用密码和DNS记录(SPF/DMARC)提升送达率。该方案支持多别名邮箱(如support@/info@),全程无需付费,适合个人或小型项目使用。若需更高稳定性,可升级至Zoho免费托管或付费企业邮箱服务。10-20分钟即可完成配
2025-10-24 13:31:42
3149
原创 全球云服务震荡:Amazon Web Services (AWS) 出现大规模故障 多项线上服务受冲击
AWS 在其服务状态页面中提示,目前正“investigating increased error rates and latencies for multiple AWS services in the US-EAST-1 Region”(正在调查 US-EAST-1 区域多项 AWS 服务的错误率和延迟升高问题)。截至目前,AWS 的大规模服务中断尚未完全恢复。(一场影响广泛的 AWS 宕机事件扰乱了包括 Amazon、Alexa、Snapchat 与 Fortnite 在内的众多在线服务。
2025-10-20 16:31:58
1929
1
原创 和 AI 一起修 Bug 心得体会
AI协作修Bug的正确姿势:精准定位胜于盲目修改 在与AI协作修复代码Bug时,两种方式形成鲜明对比: 错误方式:直接让AI输出大段修改代码,虽解决表面问题,却导致代码臃肿、根因未明,埋下维护隐患。 正确方式:通过多轮追问,要求AI分析根因而非直接修改,最终发现仅是拼写错误(如uesrId→userId),实现精准修复。 核心原则: 坚持根因分析(Root Cause Analysis) 外科手术式修复(Surgical Fix) 避免补丁式堆码(Avoid Patch Work) 关键提示词技巧:用&qu
2025-10-03 06:37:10
876
原创 用 PurgeCSS 给 1.5MB 的 CSS 瘦身
摘要:通过PurgeCSS工具对臃肿的1.54MB样式文件进行优化,配置安全列表保留关键类名,最终将文件缩减至0.16MB(减少89.6%),代码行数从47,849行降至5,526行,页面加载时间从3-4秒提升至约0.5秒。该方案已集成到CI/CD流程中,实现自动化维护。
2025-09-19 12:45:43
495
原创 国产开源命运编年史
国外开发者更信任 Google 的 Angular 或 Facebook 的 React,而 Vue 来自一个「名不见经传的中国程序员」,看上去像是一个玩票的副业。可过不了多久,项目慢慢没人维护,版本停在几年前,Issues 无人回复,社区冷清得像废弃的论坛。它的未来,却悬而未决。在最热闹的时候,GitHub 上的 Star 数蹭蹭往上涨,公众号文章和技术群讨论几乎把它们捧成了“国产之光”。短短几年,Sa-Token 的 GitHub Star 数飙升,技术群里铺天盖地的推荐文章,把它捧成了「国货之光」。
2025-08-25 13:19:28
1051
原创 跨语言字段保护设计:声明哪些字段可改,其它一律锁定
本文介绍了一种解决业务对象锁定状态下部分字段可编辑的声明式方案。核心思路是: 使用TypeScript装饰器标记可编辑字段(如@AlwaysEditable) 通过WeakMap存储类与可编辑字段的映射关系 在保存前自动重置未标记字段的原值 优势包括: 声明式设计使意图更清晰 只需添加装饰器即可扩展新字段 核心逻辑仅50行代码 思想可迁移到C#/Java等语言 该方案适用于审批表单等需要状态锁定的场景,通过字段自主声明权限,系统自动实施保护,显著提升代码可维护性。
2025-08-14 13:29:03
545
原创 The Missing Check Logs: An Asynchronous Logging Trap in a C# HIS Project
【代码】The Missing Check Logs: An Asynchronous Logging Trap in a C# HIS Project。
2025-08-07 13:02:58
705
原创 消失的检查记录:一个 C# HIS 项目的异步日志陷阱
摘要:医院信息系统(HIS)出现检查记录状态与日志不一致的问题,调查发现是异步日志写入机制存在缺陷。原代码在主线程结束后释放了资源,导致异步任务中的DbContext失效。解决方案是重构异步任务:预先构造日志对象、创建独立DbContext、简化异步逻辑。改进后通过20万+次测试,彻底解决了日志丢失问题。该案例警示在ASP.NET中执行后台任务时,必须确保任务完全独立于主线程资源。
2025-08-07 12:46:39
680
原创 I Built an Offline-Capable App by Myself: React Native Frontend, C# Backend
摘要: 本文介绍了一个由独立开发者构建的全栈移动应用,采用React Native(前端)和ASP.NET Core(后端)技术栈,实现离线工作、自动同步数据及统一后端管理。前端使用SQLite存储本地数据,通过同步引擎标记并上传脏数据;后端采用EF Core管理数据模型,支持多端共享API。系统具备自动同步、冲突检测和手动触发功能,确保数据一致性。技术亮点包括:离线优先设计、轻量级架构、统一业务逻辑及高效部署方案,证明单人也能开发生产级全栈应用。
2025-07-30 13:36:18
1104
原创 我一个人写了能离线同步的 App,前端 React Native,后端 C#
摘要:作者独立开发了一个支持离线使用的移动App,采用React Native(前端)和C#(后端)技术栈。系统具备自动同步、数据持久化功能,适配弱网环境,并包含Web管理后台。前端架构分层明确,结合SQLite实现本地存储和同步标记;后端使用ASP.NET Core提供统一API服务。通过设计基于时间戳的离线同步机制,实现了断网操作、自动同步和数据一致性。该项目展示了个人开发者如何通过清晰架构拆解,构建完整的端到端解决方案。(150字)
2025-07-30 13:32:10
828
原创 新西兰 IT 找工作的现实与语言策略
摘要:新西兰IT就业市场更看重方向选择而非技术实力。Java岗位虽多但竞争激烈,C#岗位虽少但成功率更高,TypeScript则容易形成差异化优势。建议根据目标岗位定制简历,突出相关技能而非全面展示。关键在于找到最容易切入的市场缺口,而非盲目追求技术深度。
2025-07-30 13:21:54
656
原创 多项目模块迁移的现实做法:别让 AI 把你绕晕了
摘要:本文探讨了如何正确使用AI辅助跨项目模块迁移。关键步骤包括:1)将项目统一目录便于AI索引;2)系统分析模块结构、依赖关系和潜在冲突;3)制定详细的迁移计划;4)约束AI按照规范分步执行。作者强调模块迁移不是简单复制,而是业务责任的接管,需要开发者理解业务逻辑和承担维护责任。AI可提升迁移效率,但必须给予明确约束和上下文,避免生成碎片化代码。真正的模块复用需要考虑维护性、兼容性和业务理解,不能仅依赖技术手段。
2025-07-30 13:19:49
558
原创 TypeScript:前端语言,后端哲学
TypeScript正在成为连接前后端开发的桥梁。文章指出,TypeScript凭借其静态类型检查、类与接口支持等特性,更符合后端开发者的思维习惯,能显著降低后端转前端的门槛。通过实际案例说明,TypeScript的项目管理优势明显,能提升协作效率、降低重构风险。作者认为TypeScript不仅改变了前端开发方式,使前端趋向工程化,更模糊了前后端界限,成为现代项目中的核心工程语言。TypeScript通过类型系统建立了一种前后端通用的开发范式,使开发者能够用相似的思维方式工作。
2025-07-30 13:17:13
553
原创 AI 不是写代码的机器,是你项目的合作者
摘要: 使用AI编程时,不要简单"一句话丢需求",否则容易得到混乱、不兼容的代码。作者分享经验教训:曾因直接让AI重构系统导致代码重复、命名冲突等问题。正确做法是像指导实习生一样:先对齐需求目标,讨论实施方案,逐步编码并严格审查。例如迁移模块时,先让AI分析依赖和适配点,制定计划后再执行。关键是不能完全放手——AI生成的内容必须仔细检查逻辑、命名和兼容性,否则后期维护成本会倍增。使用AI需要平衡信任与监督,像管理远程团队一样把控节奏和细节。(149字)
2025-07-30 13:14:53
470
原创 AI时代的开发工具变革与选择
摘要: 2024年,开发者正从传统IDE(如IDEA、PyCharm)转向VSCode+AI插件的轻量化组合。AI颠覆了开发模式:项目骨架生成、代码补全、错误修复等均可由AI完成,传统IDE的复杂配置反而成为负担。VSCode因其轻量、不干涉开发习惯的特性,与AI插件(如Cursor、Augment)结合后效率倍增。开发者工作方式从“写代码”变为“写意图”,AI成为核心生产力工具。尽管IDE在复杂场景仍有优势,但AI驱动的轻量化方案正重塑开发流程,反映的是思维方式的革新而非工具淘汰。
2025-07-30 13:11:46
858
原创 从 Angular 到 NestJS:TypeScript 全栈世界的职责归位
本文回顾了前端框架从全能化到专注UI的演变历程。2010年Backbone首次引入前端结构概念,2012年AngularJS将后端思想引入前端。2013年React以简洁组件化理念登场,2016年Angular2转向企业级工程框架。2018年后,Next.js、NestJS等框架兴起,使TypeScript成为全栈开发语言,但前端框架回归UI专注,后端则由NestJS等新型框架接管。现代全栈开发强调语言统一(TypeScript)与职责分离(UI/逻辑),通过明确边界实现高效协作。
2025-07-30 13:08:41
537
原创 图像识别任务的边界正在改变
摘要: 大模型正颠覆传统图像识别流程,无需人工标注和定制训练即可完成通用视觉任务。其核心在于多模态训练范式:先对齐图文表示,再通过指令微调学习语义理解,最终具备跨模态推理能力。相比传统模型(如ResNet),大模型通过海量图文数据(如LAION-5B)学习世界常识,实现"看图说话"而非单纯分类。当前趋势是优先用大模型解决常规任务(如OCR、商品识别),专业领域(医疗影像)和实时场景仍需定制模型。AI标注也转向"大模型初筛+人工校验"的高效模式,标志着行业从"
2025-07-24 22:00:00
1615
原创 家里双机互控最佳方案:我为什么选择了 Jump Desktop
摘要: 本文分享了作者在Mac mini和Windows 11双机互联方案上的探索历程。通过测试Tailscale+RDP、RustDesk自建、向日葵等方案后,最终选择Jump Desktop实现Windows→Mac控制(免费+超流畅),配合微软RDP实现Mac→Windows控制。Jump Desktop凭借P2P直连、H.264/HEVC编码优化和简易配置脱颖而出,在局域网环境下实现近乎零延迟的操作体验,形成完美的免费双向控制解决方案。
2025-07-20 15:15:25
2350
原创 RustDesk 自建中继服务器教程(Mac mini)
摘要 本文详细介绍了如何在Mac mini上搭建RustDesk自建中继服务器,实现安全、低延迟的远程控制方案。通过五个步骤完成部署:检查公网IP和端口配置、安装RustDesk服务端、设置公网IP/DDNS、配置客户端连接以及添加受控设备。该方案具有完全私有化、跨平台支持、开源免费等优势,数据仅经家庭网络传输,支持P2P和中继双模式,适用于Windows/macOS/Linux/iOS/Android多设备远程互控。需注意保持服务器常开,并建议配置DDNS应对动态公网IP变化。
2025-07-18 12:57:36
3481
1
原创 建议大家有条件的话,还是尽量用一手 AI
别让二手AI拉低你的智商 朋友抱怨AI难用,结果发现用的是淘宝几十块的二手API账号。这就像开跑车和拖拉机的区别——二手AI响应慢、智商低、风险高,还可能被魔改成弱智版。更糟的是,长期使用低质AI会潜移默化影响你的思维模式,让你效率更低、更焦虑。虽然国内用户获取原版AI有困难,但建议要么不用,要么寻找优质渠道。别为省小钱浪费时间和心智,AI是生产力工具,别让劣质产品毁掉你的体验。
2025-07-18 11:17:08
447
原创 VSCode 配置 C# 开发环境完整教程(附效果截图)
本文详细介绍了在VSCode中配置C#开发环境的完整流程。首先需安装C# Dev Kit扩展,通过命令检查扩展是否正确安装;其次重点解决OmniSharp的常见问题,包括重启服务、选择正确项目、手动加载解决方案和查看错误日志;最后验证智能提示、代码跳转等功能是否正常。教程还展示了问题状态与正常状态的界面对比,帮助开发者快速识别配置问题。关键点在于正确安装扩展、确保项目识别和及时排查问题,配置成功后VSCode将具备完整的C#开发支持。
2025-07-17 18:15:00
4774
原创 React Native集成OpenCV的踩坑之旅:从10M巨兽到完美运行
作为一名移动端开发者,当产品经理提出"能不能在APP中加入图像识别功能,让用户扫描水表读数自动识别"这个需求时,我内心是拒绝的。但技术人的使命感让我开始了这段充满挑战的旅程。最初的方案很简单:使用ML Kit进行文字识别。但在实际测试中发现,对于复杂背景下的水表读数,ML Kit的识别准确率并不理想。于是,我把目光投向了计算机视觉领域的瑞士军刀——OpenCV。
2025-06-17 16:49:11
850
vue-resource-1.3.4.zip
2020-04-23
萤石云摄像头直播带云台控制代码
2018-12-14
全国省市区县街道json带编码四级联动
2018-03-05
亲测可用—SecureCRTandSecureFXv8.0x86x64build779正式版-附带注册机
2017-10-06
IntelliJ IDEA 2018.1 汉化包
2018-05-07
jdk-8u241-windows-x64.zip
2020-02-06
hotel--全国.xls
2019-06-03
ip字段国内外均有.zip
2019-09-12
elasticsearch-6.2.3安装完美版
2018-05-13
SecureCRTandSecureFX7下载及注册机和注册方法(含SecureFX无法注册问题解决)亲测
2017-10-06
eclipse的mybatis-generator插件离线包
2017-09-02
MyBatis Generator1.3.5最新版下载 代码自动生成工具
2017-09-02
eclipse-hadoop 2.7.1插件,内含windows运行补丁
2017-03-16
求教大神一个关于nginx二级域名配置的问题
2017-06-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅