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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 李国宝

2206年最佳边缘计算集群方案:Tailscale + k3s 谁不想要自己的Tailscale内网呢~ 腾讯云API网关废了?集群开源方案平替 来一打自建IP Proxy玩玩之Majora .NET Core + React Antd Pro脚手架 【爬虫系列】2. 打开App逆向“潘多拉魔盒” Ratel:一直站在Android逆向巅峰的平头哥 【爬虫系列】1. 无事,Python验证码识别入门 【爬虫系列】0. 无内鬼,破解前端JS参数签名 利用容器逃逸实现远程登录k8s集群节点 边缘计算k8s集群SuperEdge初体验 能动手绝不多说:开源评论系统remark42上手指南 一次依赖注入不慎引发的一连串事故 反手来个K8S入门到跑路 MySQL Online DDL导致全局锁表案例分析 .NET Core教程--给API加一个服务端缓存啦 任务队列和异步接口的正确打开方式(.NET Core版本) .NET Core中使用RabbitMQ正确方式 - 李国宝 - 博客园 .NET Core单元测试之搞死开发的覆盖率统计(coverlet + ReportGenerator )
Github Copilot 比在座各位更会写代码。jpg
李国宝 · 2023-03-22 · via 博客园 - 李国宝

之前大佬和我安利过 Copilot,

作为一个能用就行的践行者,

我一贯对这些东西都不太感兴趣。

就如我多年VS Code写各种编程语言,

jetbrains 全家桶我都懒得搞~

不过最近看到过ChatGPT写的代码,

不得不承认人家甚至比绝大多数初级程序员写得更好。

于是我某天下午折腾了一下开通了Github Copilot权限,

开始了为期60天的试用~

VS Code装好插件,登录好了自己的Github账号....

然后...

没了???

嗯,这确实是我的第一感受。

我怎么知道是VS Code插件给的智能提示,

还是Copilot给的推荐代码呢?

发完上面的消息,随便写了两行代码。

开始“见证” Copilot的魅力了。

default_team.creater_id = 0 // 这一行还是我写的。

第二行只是写了 de , copilot 提示我是不是需要赋值 admin_name。

很强,很强~

单单凭借这一点,

大概能让我少写20%左右的代码。

很是有趣。

但是,仅此而已吗?

再来看下~

生成函数的注释说明~

根据上下文生成注释~

实话讲到这里,

我觉得 copilot 比我更懂这个项目代码了,

一个月10刀我心甘情愿~

又过了两天,这个Python项目开始折腾打包部署~

项目依赖 alembic 实现数据库自动变更结构。

一般操作是在Python + alembic 环境下执行 "alembic upgrade head " 即可。

但是我们的交付是个绿色包,理论上在宿主机上是不会直接”具备“Python环境的。

(PS:其实在我们的程序内部打包了Python解析器)

于是,我就得研究如何在Python程序中直接调用 alembic~

花了一个下午,最终实现的是

def create_app():
    app = FastAPI()

    @app.on_event("startup")
    async def startup_event():
        subprocess.run(["python", "-m", "alembic", "upgrade", "head"])
        logger.trace("startup")

使用 subprocess 直接调用Python 包。

倒...凑合能用。

然鹅在周一的时候发现,

运维老师焦头烂额和我讲部署还没好,

打包成绿色版本依旧还是有问题~

于是我打开了项目代码,

注释了 “ # subprocess.run(["python", "-m", "alembic", "upgrade", "head"])”

输入了 alembic_cfg ,

copilot 给出了它的提示...

这时候,确实把我惊呆了。

我苦苦找了一下午的逻辑,

看了不少的文档 + 教程

+ stackoverflow 都没找到的答案,

它轻而易举告诉我了...

他喵的copilot 确实比我更会写代码!!!

他喵的copilot 确实比我更会写代码!!!

他喵的copilot 确实比我更会写代码!!!

import 对应的包 ,

测试配置文件。

代码完美Work,打包部署正常。

赞美AI!!!

赞美Github!!!

赞美开源!!!

最后。

有个毛线最后。

该花钱花钱,

能让你我早点下班的,

都是好东西~

还是应该拥抱变化的~