惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
S
SegmentFault 最新的问题
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog
博客园 - 聂微东
小众软件
小众软件
J
Java Code Geeks
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
量子位
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
月光博客
月光博客
B
Blog RSS Feed
D
DataBreaches.Net
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cyberwarzone
Cyberwarzone
I
Intezer
The Register - Security
The Register - Security
博客园 - 【当耐特】
博客园 - 司徒正美
L
Lohrmann on Cybersecurity
U
Unit 42
N
News and Events Feed by Topic
S
Security Affairs
V
Visual Studio Blog
Y
Y Combinator Blog
Security Latest
Security Latest
Know Your Adversary
Know Your Adversary
Google DeepMind News
Google DeepMind News
大猫的无限游戏
大猫的无限游戏
S
Schneier on Security
P
Privacy International News Feed
TaoSecurity Blog
TaoSecurity Blog
Spread Privacy
Spread Privacy
G
Google Developers Blog
NISL@THU
NISL@THU
Project Zero
Project Zero
P
Palo Alto Networks Blog
Help Net Security
Help Net Security
宝玉的分享
宝玉的分享
Stack Overflow Blog
Stack Overflow Blog
S
Security @ Cisco Blogs
G
GRAHAM CLULEY
www.infosecurity-magazine.com
www.infosecurity-magazine.com

蛮荆

如何获取更多的免费服务器 Kubernetes 调度器队列 - 设计与实现 Kubernetes 调度器 - 核心流程 Kubernetes Networking Model & CNI Kubernetes 控制器管理总结 Kubernetes CronJob 设计与实现 Kubernetes Job 设计与实现 Kubernetes HPA 设计与实现 Kubernetes Deployment 滚动更新实现原理 Kubernetes GC 设计与实现 Kubernetes Pod 驱逐 - 设计与实现 Kubernetes Daemonset 设计与实现 Kubernetes ReplicaSet 设计与实现 Kubernetes EndPoint 设计与实现 Kubernetes Informer 设计与实现 降本增效之应用优化 (三) 日志存储与检索 Kubernetes Pod 设计与实现 - 创建流程 Kubernetes 探针设计与实现 Unix 编程艺术名句摘录 Kubernetes - CRI 概述 Golang 编译速度为什么这么快? Kubernetes Pod 设计与实现 - Pause 容器 Kubernetes - kube-proxy 代理模式工程优化 Kubernetes 应用最佳实践 - 优雅关闭长连接 Kubernetes Service 类型和会话亲和性 Kubernetes 为什么需要 Ingress Kubernetes 架构 - 控制平面和数据平面 降本增效之应用优化 (二) 大报表 Go 语言如何获取 CPU 利用率 降本增效之应用优化 (一) Redis 业务规则引擎演变过程简述 微服务中的熔断算法 漏桶算法和令牌桶算法 jsonparser 为什么比标准库的 encoding/json 快 10 倍 ? zap 高性能设计与实现 HTTP Router 算法演进 fastcache 高性能设计与实现 Web 常见的三个安全问题 ants Code Reading Go 线程安全 map 方案选型 布隆过滤器 死锁、活锁、饥饿、自旋锁 sync.Pool Code Reading Go 内存管理概述 Go netpoll Code Reading goroutine 泄漏与检测 time/Timer Code Reading GMP Scheduler Code Reading Go channel 的 15 条规则和底层实现 为什么 Linux “一切皆文件” context.Context Code Reading runtime/HACKING.md Goland 最佳实践 互联网开发与金庸武学 为什么 Redis 6.0 引入多线程模型? Kubernetes 应用最佳实践 - 金丝雀发布 容器中如何正确配置 GOMAXPROCS ? singleflight Code Reading sync.Map Code Reading sync.Cond Code Reading sync.WaitGroup Code Reading sync.RWMutex Code Reading sync.Mutex Code Reading sync.Once Code Reading Go 无锁编程 sync/atomic Code Reading goroutine 交替打印奇偶数 GODEBUG Go 并发模式 Go 汇编 UUID 通用技术选型 Kubernetes 应用最佳实践 - 水平自动伸缩 Go 高性能 Tips fasthttp 为什么比标准库 net/http 快 10 倍 ? 技术文章配图指南 Docker 网络原理概览 iptables 的五表五链 Kubernetes 应用最佳实践 - 亲和性和污点容忍度 Go 的反射与三大定律 Docker 官方提供的最佳实践 Go 语言内置的设计模式 HTTP1 到 HTTP3 的工程优化 Kubernetes 应用最佳实践 - Sidecar 模式 Kubernetes 应用最佳实践 - init 容器和钩子函数 为什么 recover 必须在 defer 中调用? 为什么 defer 的执行顺序和注册顺序不同? Go map 设计与实现 Go 切片扩容底层实现 Go 语言中的零拷贝 Go Delve 云原生和边缘计算简介 Kubernetes Pod 服务质量等级 Kubernetes 应用最佳实践 - 探针 Kubernetes 应用最佳实践 - 资源请求和限制 CDN 原理 Kubernetes 应用最佳实践 - 开篇 缓存策略和模式 Go 内存模型 Kubernetes 核心概念 软件版本语义化
ChatGPT 初体验
2023-04-03 · via 蛮荆

2023-04-03 ChatGPT

概述

ChatGPT 从 2 月份热度一直持续到现在,并且在接下来的一段时间内,热度还会持续下去。笔者从 3 月初开始慢慢接触,从最初的在 搜索引擎ChatGPT 之间来回切换并验证, 到目前的简单搜索场景 80% 的时间都是直接用 ChatGPT 的,本文总结下这一个月的时间,笔者用到的最多的 4 个功能。

文档查询

开发者在日常工作者经常需要在服务器或容器内运行各种命令,熟练掌握并记住每个命令的的使用方法显然不现实也没必要,换做以前,常规的做法是通过 搜索引擎 或者直接去 官方文档 查找, 但是这种方式相比 ChatGPT 来说,效率还是低很多。

场景

查询当前服务器上所有的镜像以及每个镜像所有的标签。

如果用 搜索引擎 查找的方式,大概需要这样一个流程:

  • 输入关键词,点击查询
  • 从搜索结果列表中选取页面
  • 点击 3 - 5 个 (平均值) 页面后,查找到自己需要的内容

搜索引擎结果列表页面

但是,如果换做 ChatGPT 的话,只需要一步即可完成上述工作 (前提是 提示词 要设置正确),下面是 ChatGPT 返回的结果:

ChatGPT 查询命令结果

生成单元测试

这个功能可以帮助开发者省去很多编写 重复代码 的工作量。

场景

使用代码实现一个函数,求两个整数的除法运算,要求编程语言为 Golang 并且附带单元测试,下面是 ChatGPT 返回的结果:

函数实现代码

ChatGPT 实现的函数中,基本上边界条件都考虑到了,健壮性很高,代码实现也很 优雅,当然了,这个功能太过常见,应该是 ChatGPT 学习数据里面的基础库了。 不过从这两个简单的例子中,有两个方面启发到了笔者:

  1. 在定制化的业务场景中,通过 ChatGPT 快速建模并给出海量机器学习库训练后的代码,为我们自己的实现提供参考
  2. 通过上传自己的实现代码,通过 ChatGPT 完成代码优化、代码质量检查、自动化测试等工作

单元测试代码

ChatGPT 给出了很 “专业” 的 表驱动测试法

自动化文档

这个功能可以帮助开发者省去很多编写 文档注解 的工作量。

r.GET("/ping", func(c *gin.Context) {
    c.JSON(http.StatusOK, gin.H{
      "message": "pong",
    })
})

上面是一段接口示例代码,要求 ChatGPT 自动为其生成注解,下面是 ChatGPT 返回的结果:

生成文档注解

ChatGPT 不仅生成了注解,而且给出了一套 “傻瓜式” 操作指令,而且针对每个步骤以及生成的注解参数给出了详细的说明。

Github 找项目

如果我们想知道某个细分技术领域下的技术栈或开源项目,可以不用专门去 Github 搜索查找,让 ChatGPT 帮助我们完成即可,毕竟两者的数据是互通的 (因为微软?)。

下面随便举几个小的例子,来看看 ChatGPT 返回的结果:

Github star 最多的 Go Web 框架


Kubernetes commit 总数

这里的数据有些滞后,因为笔者使用的不是最新版本 ChatGPT

小结

以上就是笔者目前经常使用 ChatGPT 辅助开发的 4 个功能,后面如果有更好的工作辅助方式,再总结分享。