- 博客(554)
- 资源 (1)
- 收藏
- 关注
原创 【PostgreSQL】如何清空数据库?
PostgreSQL 中“清空一个数据库”通常有几种理解和对应方法,具体取决于你的需求:注意事项(非常重要): 比 快得多,且立即释放空间。:同时重置自增序列(序列从 1 开始)。:自动清空有外键引用的表(小心使用)。方法 B:自动清空当前 schema(通常是 public)中的所有表在 psql 中执行以下脚本:或者生成 SQL 后执行(更灵活):复制输出结果并执行即可。最简单高效的方式是删除并重建默认 schema(public):这会删除所有表、视图、函数、序列等,数据库本身还在
2026-03-17 17:10:37
247
原创 【Linux】如何拷贝目录?
在 Ubuntu(Linux)下,原生的 命令本身没有方便的 选项,要排除特定子目录,最常用且最推荐的做法是使用 (几乎所有 Ubuntu 系统都预装了)。假设你要:参数说明选项含义归档模式(保留权限、时间、符号链接等)≈ / 显示哪些文件被拷贝(类似你用的 时的交互感,但更详细)排除匹配的路径(从源目录算起的相对路径)末尾的 非常重要!表示拷贝 src 目录里面的内容,而不是拷贝 src 这个目录本身如果你非常坚持只用 cp(不推荐)方法一
2026-03-16 04:27:47
79
原创 【Tailwind】如何兼容旧的浏览器?
你的业务情况推荐方案能接受只支持 Chrome 111+继续用 v4 + daisyUI 5必须兼容 Chrome 109 及以下降级到 Tailwind v3 + daisyUI 4(最稳)一定要用 v4 特性 + 支持老浏览器双 CSS 构建 或 Lightning CSS 后处理(高维护成本)项目是内部工具、企业内网、Windows 7强烈建议降级 v3你现在用的应该是 Tailwind v4 + daisyUI v5,对吧?
2026-03-15 10:54:02
362
原创 为了更好使用 aws S3,哪些开源软件可以用?
是的,有不少开源项目可以作为 AWS S3 和 Cloudflare R2 的管理前端(文件浏览器/上传/分享界面),它们都支持 S3 兼容协议,因此可以无缝连接 R2(只要把 endpoint、region=auto、access key 等配对好就行)。
2026-03-14 08:56:59
399
原创 【Svelte】事件管理
项目 < 30 个组件→ 尽量只用 callback props + context中大型项目,有明确的跨模块事件→ 强烈推荐(如方案4)已经深度使用外部状态管理(如 zustand、nanostores)→ 直接在 action / reducer 里触发副作用,通常不需要额外事件总线非常在意 bundle size→ 用 mitt(~200B)或 nanoevents 代替自己写的 EventBus。
2026-03-07 09:08:39
176
原创 【Svelte】为什么在 load 中显示 spinner 无效?如何正确显示 spinner?
在 load 函数里直接改 UI 状态(spinner、toast 等)几乎永远是错的,因为那个时机组件还没出生。用(全局最简单)或把 promise 传下去,用{#await}(页面精细控制最佳)Svelte 5 时代更建议用 runes + {#await} 的组合来做这种“加载中 → 骨架屏 → 真实内容”的流畅体验。
2026-03-06 22:42:54
178
原创 【JavaScript】两个惊叹号!!的作用详解
等价于在说:“请把 data.is_owner 转换成严格的布尔值,任何『看起来像真的』的值都变成 true,任何『看起来像假的』的值(包括 undefined、null、0、“”、“0” 等)都变成 false。这是 JavaScript 中最简洁、最常见的“安全转布尔”写法,几乎所有资深前端都会这么写。
2026-03-05 09:16:08
48
原创 【css】你还在使用 pt 作为尺寸单位吗?
是目前(2025–2026 年)现代 Web 项目中最主流、最被广泛推荐的单位组合策略。几乎所有主流设计系统、UI 框架(Tailwind、Shadcn/ui、Material UI、Chakra UI、Ant Design 等)和权威指南都采用这种混合方式。
2026-03-04 10:00:45
222
原创 【JavaScript,TypeScript】slice用法举例与详解(值得收藏)
slice(start, end) → 从 start 开始(包含),到 end 结束(不包含),截取新数组,原数组不动。start 默认 0end 默认到尾支持负数(从后往前数)slice(1)(扔第一个)、slice(0,n)(取前n个)、slice(-n)(取最后n个)
2026-02-28 11:28:03
313
原创 【Git】如何移除已经跟踪的文件/文件夹?
gitignore 只对**未被 Git 跟踪(untracked)**的文件生效。如果你把一个加进了.gitignore,Git 仍然会继续监视它的修改,所以每次你改动它,git status里还是会出现(通常显示为 modified / changes not staged)。。
2026-02-19 09:38:52
405
原创 【NestJS】service, helper, util 的区别
如果这段逻辑跟业务规则、领域事件、数据一致性有关 → 写成service如果只是格式化、转换、计算、字符串处理、文件路径拼接、响应包装→ 写成helper(加 @Injectable(),方便以后加依赖)如果非常通用、无任何依赖、项目中多处使用 → 优先写成纯函数放到 common/utils/ 下。
2026-02-14 09:57:12
610
1
原创 【NestJS】如何写独立处理函数?
会被复用 ≥ 2 次→ 做成可注入的 helper service(同模块优先)只在一个 controller 里用,但逻辑比较独立清晰→private 方法非常通用(时间、加密、文件路径、响应包装等)→common/utils 或 common/helpers只用一次、很临时、很丑的胶水代码 → 可以先写在方法内部,后面重构大多数中大型项目最终会把控制器里 80% 的独立逻辑都挪到 helper service / util class 里,这样测试性、可读性、复用性都会好很多。
2026-02-14 09:48:31
575
原创 【Svelte】本地正常,线上报错的奇怪问题
在load获取路由参数:使用params获取 URL 信息:使用url(例如获取请求头:使用request禁止使用,应通过cookies或数据库查询。
2026-01-24 12:13:01
339
原创 【Github】如何取消 issue 自动加入 project 的功能?
几乎可以确定是里设置了「自动添加」规则导致的。新创建的 issue 每次都被自动加入某个 Project,就是因为项目里开启了这样的内置自动化(built-in workflow)。
2026-01-21 04:09:57
553
1
原创 【Svelte】如何消除警告:a11y_no_noninteractive_element_interactions?
最推荐方案一。在Navbar(导航栏)中,用户习惯使用键盘(Tab 键)切换选项。使用<button>会自动处理焦点管理和交互逻辑,不仅解决了警告,还提升了用户体验。
2026-01-18 00:23:02
319
原创 【git】oh-my-zsh中,如何让glgg显示修改的内容?
如果你希望每次输入一个简短的命令就能看到文件列表,可以在你的.zshrc文件中添加自定义别名。在文件末尾添加以下行(你可以起个新名字,比如glggs# 显示图形化列表 + 文件统计# 或者如果你想看更详细的改动内容 (Patch)使用--stat使用使用-p(patch)在查看列表时,如果内容太长进入了分页器(less),你可以按jk上下滚动,按q退出查看。
2026-01-17 11:06:49
173
原创 【NestJS】为什么return不返回客户端?
在 NestJS 中,一旦用了@Res(),你就得对响应负责。如果不调用res.send()或设置,客户端将永远等不到响应。
2026-01-16 22:54:06
228
原创 【Svelte 5】如何获取 url 参数?
参数类型访问方式 (Svelte 5 方式)代码示例路径参数 (Route Params)查询参数 (Search Params)
2026-01-16 12:48:10
271
原创 【DaisyUI】如何实现优雅的提示(类似Toast方式)?
在中,(https://daisyui.com/components/toast/)是一个非常特殊的组件,它本质上是一个(wrapper),专门用来把内容(通常是alert)堆叠显示在页面角落,实现经典的“浮动通知/吐司”效果。daisyUI 目前(截至2026年初)第二个完全等价的“浮动吐司通知”组件,但以下这些组件在。
2026-01-11 12:51:20
333
原创 注册成功的提示信息怎么写?
这些提示通常会显示用户的注册邮箱(部分隐藏如 user@ex***.com 以保护隐私),并提供“重新发送邮件”或“联系支持”的选项,以提升用户体验。网站注册成功后,向用户邮箱发送验证邮件的同时,页面通常会显示一个提示,引导用户去检查邮箱并完成验证。请检查您的收件箱(或垃圾邮件文件夹),并点击邮件中的链接完成邮箱验证。“注册需要验证邮箱,我们已向您提交的邮箱发送激活邮件。请务必及时查收邮件(可能需要等待几分钟),并点击邮件中的链接激活账号。为了完成账号激活,请前往您的邮箱查收验证邮件。
2026-01-09 22:25:05
352
原创 Windows 桌面软件用什么框架开发好?
最方便上手、纯 Windows:直接用,几小时就能出个可用软件。追求现代/跨平台WinUI 3或.NET MAUI。有网页基础Electron。其他如 Qt(C++,专业跨平台 UI)、Avalonia(.NET 跨平台 UI)也很好,但上手门槛更高。建议从 Visual Studio 开始(免费下载试用),Microsoft 文档和社区支持最完善。如果你有具体需求(如语言、UI 复杂度),可以再细说,我帮你选更精确的!
2026-01-08 21:53:30
1336
原创 【MySQL】node.js 如何批量更新数据?
方法优点缺点建议CASE WHEN标准 SQL,不依赖唯一键冲突,单次 IO拼接 SQL 逻辑复杂,数据量过大时 SQL 字符串超长中等规模更新首选速度最快,代码最简洁必须有主键/唯一索引,会意外插入不存在的数据超大规模更新首选事务循环逻辑最清晰,支持复杂判断数据库往返 IO 次数多,性能相对较低小批量或逻辑复杂时使用。
2026-01-08 11:49:33
365
原创 【Node.js】为什么数据库连接总是中断?
单纯的import没问题,但要确保使用 createPool而不是。只要使用了连接池并妥善处理了,你的 Node.js 程序跑一年数据库也不会因为连接问题停止工作。
2026-01-08 11:34:07
416
原创 【Python命令行】Typer 复杂命令行应用的代码组织最佳实践
在使用 Typer 构建复杂的命令行应用时,关键是要保持代码的可维护性、可扩展性和可读性。Typer 基于 Python 的类型提示,允许你轻松定义命令、子命令、参数和选项,但对于大型项目,需要采用模块化设计,避免将所有逻辑塞进单个文件。以下是基于社区和文档的最佳实践总结,这些实践可以帮助你处理多个命令、共享配置和业务逻辑分离。
2026-01-07 22:21:44
580
原创 【Python】Typer应用如何打包为Windows下的.exe文件?
这样打包后,你的 Typer CLI 工具就能在任何 Windows 机器上直接运行了!它可以将你的 Python 脚本(包含 Typer 应用)打包成独立的 .exe 文件,无需目标机器安装 Python。Typer 是一个基于 Click 的 CLI 库,打包为 Windows 可执行文件(.exe)的最常用工具是。(可选:如果你的 Typer 用到 shell completion 或 rich,安装。打开命令提示符(CMD 或 PowerShell),切换到你的脚本目录。
2026-01-07 22:02:12
363
原创 【Python】比较两个cli库:Click vs Typer
方面ClickTyper发布与维护2014 年起,由 Pallets 项目维护,成熟稳定2020 年起,积极维护,继承 Click 的优势并改进依赖几乎无外部依赖,轻量依赖 Click,可选 Rich(用于彩色帮助输出)代码风格使用装饰器(如 @click.command()),灵活但稍冗长利用 Python 类型提示(type hints),代码更简洁现代自动功能手动配置帮助、参数类型等自动生成帮助文档、参数验证、Shell 补全性能。
2026-01-07 21:52:42
497
原创 【Python】怎样用 Python 开发命令行应用?
简单脚本 →sys.argv或argparse中大型项目 →click或typer快速原型 →fire如果你有具体需求(如子命令、文件输入、进度条等),可以告诉我,我再给出更针对性的示例!
2026-01-07 21:45:03
361
原创 微信小店的历史
2024年8月25日,微信小店正式重新上线(或升级推出),基于视频号小店升级而来,支持商家在公众号、视频号、小程序、搜一搜等多场景经营商品,打通微信全生态。:2020年左右,微信推出“微信小商店”(小程序形态),并逐步取代或下架部分旧版小店功能。旧版微信小店在2020-2022年间进入维护或下架状态。:2014年5月29日,微信公众平台正式推出“微信小店”,主要依托公众号,提供电商功能(如商品添加、订单管理等),适用于认证服务号。如果您指的是当下常用的微信小店(支持多渠道流转的那个),上线时间是。
2026-01-07 16:32:11
404
原创 【Agent】开发 Agent Skills 的步骤
Anthropic 的 Agent Skills 是一种开放标准,用于为 AI 代理(如 Claude)创建自定义能力包。每个技能是一个文件夹,包含核心文件SKILL.md和可选的子文件夹(如scripts/用于脚本、用于参考文档、assets/用于模板)。技能通过 YAML 前置元数据和 Markdown 内容定义,Claude 会根据描述动态发现和加载它们。
2026-01-06 08:12:03
963
原创 【JavaScript】forEach 是按数组顺序执行吗?
如果你需要严格按顺序执行异步任务(即:任务1完成 -> 任务2开始),请不要使用forEach。
2026-01-04 15:34:11
261
原创 【智能体】如何做一个教程写作智能体?
要实现一个(快速上手,适合初学者)和(更灵活、可定制,适合开发者)。下面我一步步详细说明如何实现,包括推荐工具、步骤和示例。
2026-01-03 14:09:10
664
原创 【智能体】Agent Skills 与 Agents 的区别?
Agents 是自主或半自主的系统,能够规划、推理、使用工具(tools,如 Computer Use、代码执行等)、处理复杂任务,并在循环中迭代执行。简单来说,agents 是“做事的人”——它们决定何时做什么、如何使用资源来完成目标。如果你是在构建或使用 Claude 的 agentic 系统,Skills 是提升一致性和效率的关键工具。Skills 本质上是文件夹结构(包含 SKILL.md 文件、脚本、模板等资源),用于为 agents(或 Claude)提供。
2026-01-03 14:04:46
799
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅