会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
牛奔
每个优秀的人,都有一段沉默的时光,那段时光,是付出了很多努力,却得不到结果的日子,我们把它叫做扎根。
博客园
首页
新随笔
联系
订阅
管理
[置顶]
程序员必看 Linux 常用命令(重要)
摘要: 文件操作命令 find find 用于在指定目录下查找文件或子目录,如果不指定查找目录,则在当前目录下查找 命令格式:find path -option [-print] [ -exec/-ok command {} \ ]; 「print」:将匹配的文件输出到标准输出 「exec」:对匹配的文件作
阅读全文
posted @ 2021-07-24 15:06 牛奔
阅读(1343)
评论(1)
推荐(1)
2026年7月7日
Go 项目接入 OAuth2 授权服务
摘要: 前言 最近给后端项目接入了一套 OAuth2 授权服务器(Authorization Server),踩了一些坑,也去掉了一个过度设计的页面——服务端渲染的授权确认页。这篇文章把最终定型的方案讲透,不贴具体业务代码,你照着做,系统半小时就能接完。 目标读者:已经有一套基于 Gin + GORM 的后
阅读全文
posted @ 2026-07-07 09:24 牛奔
阅读(2)
评论(0)
推荐(0)
2026年6月8日
Git 每次 Pull 都要输入密码?教你彻底实现免密操作
摘要: 前言 在使用 Git 的时候都会遇到同一个烦人问题:每次 git pull 或 git push 都要输入账号和密码,特别麻烦。 方法一:最简单粗暴 —— 让 Git 记住你的密码(推荐新手) 这是最快见效的方法,适合大多数人。 # 1. 设置永久记住密码 git config --global c
阅读全文
posted @ 2026-06-08 10:57 牛奔
阅读(49)
评论(0)
推荐(0)
2026年6月4日
Linux 下面对一大堆 Log 日志文件,如何快速搜索
摘要: 前言 在 Linux 系统中,尤其是开发、运维、排查问题的时候,我们经常会遇到一个文件夹里堆满了 .log 文件的情况。几百个、上千个日志文件,要手动一个一个打开查找,简直是噩梦! 今天分享几个简单高效的命令,让你几秒钟就能在海量日志中找到想要的内容。 1. 最推荐的方法:grep 递归搜索 这是大
阅读全文
posted @ 2026-06-04 17:25 牛奔
阅读(30)
评论(0)
推荐(0)
2026年6月2日
如何让 GORM 打印 SQL 语句?三种方式全解析
摘要: 前言 在使用 GORM 开发 Go 项目时,经常需要查看实际执行的 SQL 语句——排查慢查询、调试数据逻辑、确认查询条件是否正确……但 GORM 默认是关闭的,不会主动把 SQL 打印出来。 方式一:全局开启 Debug 模式(最简单) GORM 提供了一个非常方便的方法——db.Debug(),
阅读全文
posted @ 2026-06-02 14:15 牛奔
阅读(18)
评论(0)
推荐(0)
2026年5月28日
GORM 事务回调里的 defer,比你想象的执行更早
摘要: 前言:一行看似无害的 defer 最近在维护一个 Go + GORM 写的服务,用户注册成功后要往日志表里写几条记录。 代码大概长这样: return DB.Transaction(func(tx *gorm.DB) error { if err := tx.Create(user).Error;
阅读全文
posted @ 2026-05-28 09:50 牛奔
阅读(7)
评论(0)
推荐(0)
一个页面崩了,整站都打不开:React 错误边界为什么需要会"复位"
摘要: 前言:一个看似正常的 ErrorBoundary 我们项目里有一个很常规的 React 错误边界组件,大概长这样: class ErrorBoundary extends React.Component { state = { hasError: false }; static getDerived
阅读全文
posted @ 2026-05-28 09:37 牛奔
阅读(8)
评论(0)
推荐(0)
2026年5月23日
Android 开发通用解决方案:使用 ADB 彻底卸载已安装 App(解决版本降级安装失败问题)
摘要: 前言 在 Android 开发过程中,经常会遇到这样一个常见问题: 使用某个版本的 APK 安装成功后,当你切换到其他分支、降低版本号或重新构建时,系统提示安装失败,提示 “已存在更高版本的应用程序”。 这是因为 Android 系统严格限制不允许安装版本号更低的 APK。此时,单纯通过设备界面卸载
阅读全文
posted @ 2026-05-23 17:47 牛奔
阅读(60)
评论(0)
推荐(0)
2026年5月20日
codebuddy 桌面版 如何配置自己的模型
摘要: CodeBuddy 桌面版 配置自定义模型 通过编辑 models.json 文件来添加和管理自定义模型。 找到配置文件: 建议在用户级进行全局配置,文件路径通常为:~/.codebuddy/models.json(适用于所有项目)。 编辑并添加模型: 打开该 JSON 文件,按照以下结构添加你的自
阅读全文
posted @ 2026-05-20 09:58 牛奔
阅读(662)
评论(0)
推荐(0)
2026年5月14日
在 Docker 容器里测试外部域名延迟
摘要: 前言:为什么要在 Docker 容器里测延迟? 在本地电脑测延迟很容易,但有时候我们需要在生产环境的容器环境里测试,比如: 验证容器网络是否正常 测试不同镜像的网络表现 模拟生产环境做延迟监控 开发网络相关工具 然而,大多数开发环境用的 Docker 基础镜像(尤其是 Alpine、slim 版本)
阅读全文
posted @ 2026-05-14 09:31 牛奔
阅读(23)
评论(0)
推荐(0)
2026年5月8日
Golang入门:Go 泛型(Generics)彻底告别重复代码
摘要: 前言 Go 语言在 1.18 版本 正式引入了泛型(Type Parameters),这是 Go 语言近十年里最大的一次语法升级。它解决了长期以来困扰 Go 开发者的“类型安全与代码复用不可兼得”的核心矛盾。 一、为什么 Go 需要泛型? 在 Go 1.18 之前,开发者常常面临以下痛点: 大量重复
阅读全文
posted @ 2026-05-08 10:25 牛奔
阅读(23)
评论(0)
推荐(0)
下一页
公告