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

推荐订阅源

S
Security @ Cisco Blogs
P
Privacy & Cybersecurity Law Blog
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Project Zero
Project Zero
C
CERT Recently Published Vulnerability Notes
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cisco Blogs
博客园 - 司徒正美
L
LINUX DO - 热门话题
D
Docker
M
MIT News - Artificial intelligence
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
Jina AI
Jina AI
Last Week in AI
Last Week in AI
Security Latest
Security Latest
The Hacker News
The Hacker News
L
Lohrmann on Cybersecurity
Y
Y Combinator Blog
A
Arctic Wolf
小众软件
小众软件
T
Threat Research - Cisco Blogs
Know Your Adversary
Know Your Adversary
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
腾讯CDC
Google DeepMind News
Google DeepMind News
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 叶小钗
I
Intezer
NISL@THU
NISL@THU
A
About on SuperTechFans
爱范儿
爱范儿
C
Cybersecurity and Infrastructure Security Agency CISA
D
Darknet – Hacking Tools, Hacker News & Cyber Security
G
Google Developers Blog
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Cyberwarzone
Cyberwarzone
AWS News Blog
AWS News Blog
Engineering at Meta
Engineering at Meta
Latest news
Latest news

蛮荆

如何获取更多的免费服务器 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 个功能,后面如果有更好的工作辅助方式,再总结分享。