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

推荐订阅源

GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog
腾讯CDC
L
LangChain Blog
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
量子位
Apple Machine Learning Research
Apple Machine Learning Research
Cloudbric
Cloudbric
B
Blog RSS Feed
B
Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Vercel News
Vercel News
S
Schneier on Security
Project Zero
Project Zero
宝玉的分享
宝玉的分享
美团技术团队
MyScale Blog
MyScale Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy
T
Threatpost
A
Arctic Wolf
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
爱范儿
爱范儿
Recorded Future
Recorded Future
C
CERT Recently Published Vulnerability Notes
T
Threat Research - Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
SecWiki News
SecWiki News
H
Hacker News: Front Page
AWS News Blog
AWS News Blog
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
C
Check Point Blog
L
Lohrmann on Cybersecurity
F
Full Disclosure
TaoSecurity Blog
TaoSecurity Blog
Google Online Security Blog
Google Online Security Blog
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
Martin Fowler
Martin Fowler

博客园 - 李国宝

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!!!

赞美开源!!!


最后。

有个毛线最后。

该花钱花钱,

能让你我早点下班的,

都是好东西~

还是应该拥抱变化的~