之前大佬和我安利过 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的更多相关文章

  1. 让 AI 为你写代码 - 体验 Github Copilot

    前几天在群里看到有大神分享 Copoilot AI 写代码,看了几个截图有点不敢相信自己的眼睛.今天赶紧自己也来体验一下 Copoilot AI 写代码到底有多神奇. 申请 现在 Copoilot 还 ...

  2. AI写代码! 神器copilot介绍+安装+使用

    !郑重提示!!!!!!!: 正在学编程.算法的同学请千万不要依赖此插件,否则你可能甚至无法手写出一个for循环 AI帮我写代码?我帮AI写代码?庄周梦蝶?蝶梦庄周?十分梦幻. copilot在VSco ...

  3. Github Copilot 结合python的使用

    之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ? 官网及申请地址:https://copilot.github ...

  4. jQuery 之父:每天写代码

    去年秋天我的支线代码项目 遇到了一些问题,项目进展不足,而且我没法找到一个完成更多代码的方法(在不影响我在Khan Academy方面的工作的前提下). 我主要在周末进行我的支线,当然有时候也在晚上进 ...

  5. 从bug中学习怎么写代码

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:从bug中学习怎么写代码.

  6. Delphi/C#之父首次访华:55岁了 每天都写代码

    Delphi.C#之父Anders Hejlsberg 近日首次访华,并在10月24日和27日参加了两场见面会,分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流.本文就为读 ...

  7. 用css以写代码形式画一个皮卡丘

    我的个人网站是通过写代码的形式来形成一个网站的,前一阵子在某个大神的github上看到他用写代码的形式来完成一个皮卡丘,于是心血来潮花了半个小时,也完成了一个作品. 这其中涉及到的知识点也不是很复杂, ...

  8. [翻译] Canvas 不用写代码的动画

    Canvas 不用写代码的动画 https://github.com/CanvasPod/Canvas Canvas is a project to simplify iOS development ...

  9. 有个AI陪你一起写代码,是种怎样的体验?| 附ICLR论文

    从前,任何程序的任何功能,都需要一行一行敲出来. 后来,程序猿要写的代码越来越多,世界上便有了各种各样的API,来减少大家的工作量.有些功能,可以让API来帮我们实现. 不过,人类写下的话,API并不 ...

  10. go每个函数写代码例子

    https://github.com/astaxie/gopkg 由于目前golang的手册里面针对函数的例子太少了,很多时候不知道怎么使用,好多人都是看源代码才明白怎么用,这个给我们快速开发gola ...

随机推荐

  1. python菜鸟学习: 9. 文件操作

    # -*- coding: utf-8 -*-import sys, time# 读文件:一次性读取所有内容#r=readf = open("singe.txt", 'r', en ...

  2. WEB攻击与防御技术 pikachu——文件包含下载上传漏洞

    文件包含漏洞 一.LOCAL 上来就是一个选择,当我们选择一个球员的时候,如图所示,url会提交一个get请求 如果这个服务器架设在linux上我们就可以一直../../../../../到根目录然后 ...

  3. Python基础数据类型-Dictionary(字典)

    # -- coding: utf-8 -- # @time : 2022/7/19 21:51 # @file : 10pytest基本数据类型-dic.py # @software: pycharm ...

  4. 【jinja2】Python根据模板生成HTML文件并加载进QWebEngineView

    前言 继前文Python在PyQt5中使用ECharts绘制图表中在Python程序中添加网页展示ECharts图表,和Python使用QWebEngineView时报错Uncaught Refere ...

  5. ARP协议 路由器原理

    ARP协议 路由器原理     1 广播与广播域 广播:将广播地址作为目的地址的数据帧 广播域:网络中能够接收到同一个广播所有节点的集合(在这里广播域越小越好) 交换机控制不了广播 路由器可以控制广播 ...

  6. PTA最大子列和问题

    给定K个整数组成的序列{ N1​, N2​, ..., NK​ },"连续子列"被定义为{ Ni​, Ni+1​, ..., Nj​ },其中 1≤i≤j≤K."最大子列 ...

  7. 纯css实现卡券式半圆及阴影(整理)

    <!-- html部分 --> <div class="a"> <!-- a这个大卡片里边分上下两个卡片,对应上边灰色和下边白色部分 --> & ...

  8. FCC 高级算法题 验证电话号码

    Validate US Telephone Numbers 如果传入字符串是一个有效的美国电话号码,则返回 true. 用户可以在表单中填入一个任意有效美国电话号码. 下面是一些有效号码的例子(还有下 ...

  9. String类、StringBuffer类、StringBuilder类

    String类.StringBuffer类.StringBuilder类 String类的创建 // 方式一 直接赋值 String s = "woshihaoren"; // 方 ...

  10. Microsoft.CppCommon.targets(138,5): error MSB3073

    我生成 Zlib 库的某个项目的时候,出现了这些error,原来是项目属性---->生成后事件--->命令行 错误的内容就是命令行内容.这些命令行的具体作用我还不知道,但是把他们删除后就成 ...