Github Copilot 比在座各位更会写代码。jpg
之前大佬和我安利过 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 确实比我更会写代码!!!
import 对应的包 ,测试配置文件。
代码完美Work,打包部署正常。
赞美AI!!!
赞美Github!!!
赞美开源!!!
最后。
有个毛线最后。
该花钱花钱,能让你我早点下班的,
都是好东西~
Github Copilot 比在座各位更会写代码。jpg的更多相关文章
- 让 AI 为你写代码 - 体验 Github Copilot
前几天在群里看到有大神分享 Copoilot AI 写代码,看了几个截图有点不敢相信自己的眼睛.今天赶紧自己也来体验一下 Copoilot AI 写代码到底有多神奇. 申请 现在 Copoilot 还 ...
- AI写代码! 神器copilot介绍+安装+使用
!郑重提示!!!!!!!: 正在学编程.算法的同学请千万不要依赖此插件,否则你可能甚至无法手写出一个for循环 AI帮我写代码?我帮AI写代码?庄周梦蝶?蝶梦庄周?十分梦幻. copilot在VSco ...
- Github Copilot 结合python的使用
之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ? 官网及申请地址:https://copilot.github ...
- jQuery 之父:每天写代码
去年秋天我的支线代码项目 遇到了一些问题,项目进展不足,而且我没法找到一个完成更多代码的方法(在不影响我在Khan Academy方面的工作的前提下). 我主要在周末进行我的支线,当然有时候也在晚上进 ...
- 从bug中学习怎么写代码
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:从bug中学习怎么写代码.
- Delphi/C#之父首次访华:55岁了 每天都写代码
Delphi.C#之父Anders Hejlsberg 近日首次访华,并在10月24日和27日参加了两场见面会,分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流.本文就为读 ...
- 用css以写代码形式画一个皮卡丘
我的个人网站是通过写代码的形式来形成一个网站的,前一阵子在某个大神的github上看到他用写代码的形式来完成一个皮卡丘,于是心血来潮花了半个小时,也完成了一个作品. 这其中涉及到的知识点也不是很复杂, ...
- [翻译] Canvas 不用写代码的动画
Canvas 不用写代码的动画 https://github.com/CanvasPod/Canvas Canvas is a project to simplify iOS development ...
- 有个AI陪你一起写代码,是种怎样的体验?| 附ICLR论文
从前,任何程序的任何功能,都需要一行一行敲出来. 后来,程序猿要写的代码越来越多,世界上便有了各种各样的API,来减少大家的工作量.有些功能,可以让API来帮我们实现. 不过,人类写下的话,API并不 ...
- go每个函数写代码例子
https://github.com/astaxie/gopkg 由于目前golang的手册里面针对函数的例子太少了,很多时候不知道怎么使用,好多人都是看源代码才明白怎么用,这个给我们快速开发gola ...
随机推荐
- IIS10.0 Web平台安装程序无法安装URL重写工具
Windows10系统的IIS10.0需要安装URL rewrite重写模块2.0,提示"很遗憾,无法安装下列产品",解决方法: win键+R键,运行regedit,打开注册表编辑 ...
- 目前为止最完善专业的微信小程序商城
购买商业版(368元): http://market.zhenzikj.com/detail/82.html帮助文档:https://www.kancloud.cn/crmeb/crmeb/66242 ...
- SQL-建表注释
ddl 是对表结构的操作 create(创建)命令.alter(修改)命令.drop(删除)dml 是对表数据的操作 insert(插入)命令.update(更新)命令.delete(删除) alte ...
- <一>JDK/MAVEN/IDEA/MYSQL/GIT详细环境安装
一. 安装JDK 1. jdk安装包下载地址:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html 2. 解压缩软 ...
- 样式优先级的规则:!important`>行内样式>嵌入样式>外链样式>id选择器>类选择器>标签选择器>复合选择器>通配符>继承样式
CSS样式的优先级应该分成四大类 第一类`!important`,无论引入方式是什么,选择器是什么,它的优先级都是最高的. 第二类引入方式,行内样式的优先级要高于嵌入和外链,嵌入和外链如果使用的选择器 ...
- Vue中的input输入框无法输入强制渲染
刚开始以为是键盘的问题,然后发现别的地方都可以输入,唯独这个input无法输入,可能因为我循环嵌套了三次,太深入无法渲染 后来我发现这个方法可以使用 1 <el-input 2 v-model= ...
- Vue.sync修饰符与this.$emit('update:xxx', newXXX)
Vue通过prop进行双向数据绑定.子组件数据变化,一般只能通过 this.$emit(func, val) 回调父组件函数来传值给父组件. Vue2.3版本引入sync,作为一个事件绑定语法糖,当子 ...
- Jmeter七、jmeter中的参数化
参数化是为了更好的模拟真实的业务场景 CSV data set config组件 1.更容易使用和理解 2.适合大参数量场景 3.设置方便灵活 EOF=end of file 没有找到文件 comma ...
- core程序实现文件下载
已知本地文件名,返回给前台流 string filepath = path +"/" + filename +".txt"; if(System.IO.File ...
- 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
977.有序数组的平方 :https://leetcode.cn/problems/squares-of-a-sorted-array/ 心得:周末再写... public class Solutio ...