颠覆传统编程:用ChatGPT十倍提升生产力

2024-06-23 15:12

本文主要是介绍颠覆传统编程:用ChatGPT十倍提升生产力,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们即将见证一个新的时代!这是最好的时代,也是最坏的时代!

需求背景

背景:

平时会编写博客,并且会把这个博客上传到github上,然后自己买一个域名挂到github上。

我平时编写的博客会有一些图片来辅助说明的,写完之后如果我把图片和文字全部都上传到博客网站,后期图片很多时就会导致网站加载特别慢

所以想把图片存储在一个公共的对象存储平台(腾讯云的cos服务),这样只要上传一个公共访问链接即可,极大的减少存储空间。

需求:

每次写完博客都要手动上传图片,然后把得到的链接在复制到本地的markdown文件中,如果一篇文章的图片特别多,这简直就是灾难!所以我想

  1. 给一个文件路径,自动把markdown文件中本地的图片上传到腾讯云的cos平台,并获取公共链接

  2. 把本地的文章的链接自动替换为公共链接

调研和设计

腾讯云cos服务是提供这样的接口的,但是接口需要鉴权,所以我把上诉的需求拆解为三部分

  • 生成鉴权sign_key
  • 调用腾讯云的接口上传图片,并获取链接
  • 输入markdown文件,找到本地图片链接,上传并替换为公共链接

错误示范

我阅读腾讯云的cos文档,需要提供签名,一共需要八个步骤才能生成


我把这八个过程每一个过程都复制给chatgpt,让他帮我写


总结

后面太多我就不演示了,我直接说总结:

  • 在这个过程中给我的代码基本都是可以运行的,我只需要微调一下就可以用,报错直接扔给他也基本都可以解决
  • 但是整个过程还是需要我理解每一步,并且把这八个步骤进行汇总和调整
  • 比Google搜索要好用一点,但是还没有那么好用,总感觉差点意思

正确示范

生成上面的签名之后,我就让他去写上传接口


仔细阅读一下上面的第二张图片,我要求**【把其中的url的uri替换为文件名,然后它给我代码并解释这是做什么,它说这是上传到【腾讯云的cos服务】,要知道我在这之前是完全没有提到过【腾讯云】、【cos服务】等字眼的,也就是它只依赖我提供的hostcoder-xieshijie-img-1253784930.cos.ap-beijing.myqcloud.com】**这个域名,就判断出我这是腾讯云的cos服务,这就有点厉害了,更厉害的是,当然要求他写一个测试用例:

它直接把我之前费力八个步骤生成的签名直接生成了!这太离谱了!

  • 我以为:chatgpt不知道腾讯云cos签名的生成过程,然后我阅读文档,把八个步骤重组并依次喂给chatgpt,让他帮我写
  • 实际上:chatgpt不仅知道腾讯云cos,在我要求他上传时,就自动把官方推荐的生成签名的方式给我生成了!

这意味着以后大部分网络开源的内容,你甚至不用阅读啃文档,你只要知道一个概念,剩下的就交给他就可以!

后面的上传和替换markdown的内容我就不截图,后面对于chatgpt就非常简单了,最后附上完整的代码(95%是chatgpt写的)

# -*- coding=utf-8
import hmac
import hashlib
import os
import re
import requests# 定义 SecretKey 和 KeyTime
# 替换为自己的key和id
secret_key = "xieshijie_key"
key_time = "1680947045;2980950645"
secret_id = "xieshijie_id"
http_method = 'put'def generate_url_param_list():return ""def generate_header_list():return ""def generate_sign_key_val(uri_pathname):# 生成 SignKeysign_key = hmac.new(secret_key.encode(),key_time.encode(),hashlib.sha1).hexdigest()# 生成 HttpStringhttp_string = f"{http_method.lower()}\n{uri_pathname}\n"http_string += "\n"http_string += "\n"# 生成 StringToSignstring_to_sign = f"sha1\n{key_time}\n{hashlib.sha1(http_string.encode()).hexdigest()}\n"# 生成 Signaturesignature = hmac.new(sign_key.encode(),string_to_sign.encode(),hashlib.sha1).hexdigest()# 生成签名sign_key_val = f"q-sign-algorithm=sha1" \f"&q-ak={secret_id}" \f"&q-sign-time={key_time}" \f"&q-key-time={key_time}" \f"&q-header-list={generate_header_list()}" \f"&q-url-param-list={generate_url_param_list()}" \f"&q-signature={signature}"return sign_key_valdef generate_file_name(file_path):# 获取文件名return file_path.split('/')[-1]def put_request(file_path, sign_key):# 设置请求头headers = {'host': 'coder-xieshijie-img-1253784930.cos.ap-beijing.myqcloud.com','Authorization': sign_key}# 设置请求体with open(file_path, 'rb') as f:data = f.read()uri = generate_file_name(file_path)# 发送 PUT 请求url = f'https://coder-xieshijie-img-1253784930.cos.ap-beijing.myqcloud.com/{uri}'response = requests.put(url, headers=headers, data=data)# 判断响应状态码并返回结果if response.status_code == 200:print('本地图片上传成功')return urlelse:print('本地图片上传失败')return 'fail'def replace_local_image_links(file_path):"""读取Markdown文件,提取其中的本地图片链接并替换为基于图片名称计算的新链接。Args:file_path (str): Markdown文件路径。"""# 判断文件是否是Markdown格式if not file_path.endswith('.md'):print('该文件不是Markdown格式。')return# 读取Markdown文件内容with open(file_path, 'r', encoding='utf-8') as f:content = f.read()# 匹配所有本地图片链接  匹配形式为:![...](...)regex = r"!\[\S+\]\((\S+)\)"matches = re.findall(regex, content)# 替换本地图片链接为新链接for match in matches:# 判断链接是否是本地路径if not match.startswith('http'):# 获取图片名称和路径if os.path.isabs(match):image_name = os.path.basename(match)image_path = matchelse:image_name = os.path.basename(match)image_path = os.path.abspath(os.path.join(os.path.dirname(file_path), match))sign_key = generate_sign_key_val('/' + image_name)# 上传图片到COS并计算新链接new_link = put_request(image_path, sign_key)# 替换Markdown文件中的链接content = content.replace(match, new_link)# 将替换后的Markdown内容写回文件with open(file_path, 'w', encoding='utf-8') as f:f.write(content)print('本地图片链接替换完成。')if __name__ == '__main__':# 测试替换replace_local_image_links("/Users/xieshijie/Desktop/test.md")

我用了差不多半天的时间完成这件事,大部分时间是阅读腾讯云的cos服务文档和分步骤生成签名的过程,如果正确使用实际我觉得可以缩短到1个小时!


升级plus

整个过程让我对ChatGPT的潜力有了更深的认识。起初,我花费了半天的时间,主要用于阅读腾讯云COS服务的文档以及分步骤生成签名的过程。然而,正确利用ChatGPT实际上可以将这个过程缩短到一个小时,甚至更少。

ChatGPT不仅能高效地生成代码,还能在一些复杂的任务中表现出强大的理解和推理能力。这次体验让我更加坚定地认为,ChatGPT正在以一种前所未有的方式颠覆传统的编程和开发流程,真正实现了十倍的生产力提升。

于是,我果断充了一个GPT-4

image-20240623134517420


更多惊喜

我们的公众号还将定期分享:

  • 最新互联网资讯:让你时刻掌握行业动态。

  • AI前沿新闻:紧跟技术潮流,不断提升自我。

  • 技术分享与职业发展:助你在职业生涯中走得更远、更稳。

  • 程序员生活趣事:让你在忙碌的工作之余找到共鸣与乐趣。

关注回复【1024】惊喜等你来拿!

敬请关注【程序员世杰】

coder_world_618

这篇关于颠覆传统编程:用ChatGPT十倍提升生产力的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087514

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti