当前位置: 首页 > news >正文

AIGC带给开发者的冲击

未来会有两种开发者,一种是会使用AIGC工具的开发者另一种是不会使用AIGC的开发者,AIGC的出现提高了开发效率和代码质量,对开发者意味着需要不断学习和适应新的技术和工作范式,开发者可以把更多的精力放在高级抽象的定义以及更高维度的设计和业务逻辑的实现上来,同时对管理者而言,也要迭代和优化过程

在风雨飘摇的2023年,各行各业都发生了巨大的变化,作为软件行业的从业者,AIGC的成熟无疑冲击是最大的,简单来说AIGC对于开发者的冲击大致如下

  1. 自动化和智能化工具的普及: 开发者将更多地使用自动化和智能化工具来简化开发流程,落到实处的描述是它可以做各行业各领域的架构设计、并标准化的自动生成代码,以ChatGPT或者Copilot的水准,假如Prompt足够好,它所反馈的结果将非常靠谱
  2. 需求的多样化:开发者需要面对更多样化的需求,包括开发智能应用、数据分析和挖掘等,需要不断学习新技能,落到实处的描述是几乎所有的互联网时代的应用,均可以引入AIGC的智能化,将原本刻板的系统行为以问答的形式重新实现,从而答复提升用户的使用效率。
  3. 新的开发范式: AIGC推动了新的开发范式,如基于数据驱动的开发、机器学习模型集成等,开发者需要适应这些新的范式。
  4. 技术栈的变化: AIGC的发展带来了技术栈的变化,开发者需要学习新的技术和工具,如深度学习框架、大数据处理工具等。
  5. 就业市场的变化: AIGC技术的兴起改变了就业市场,对开发者的技能需求提出了新的挑战和机遇。
  6. 自动化代码生成:AIGC技术可以根据开发者提供的高级抽象自动生成代码。这意味着开发者可以更快地创建应用程序,减少了繁琐的手动编码过程。开发者可以将更多精力放在应用程序的设计和业务逻辑上,而非低级编码细节。
  7. 规范化代码风格:AIGC生成的代码通常遵循既定的编码规范和最佳实践。这有助于提高整体代码质量并减少潜在的错误。开发者在使用AIGC时可以更容易地遵循一致的编码风格。
  8. 降低代码重复率:AIGC可以自动检测和重用已经存在的代码片段,避免了重复编写相似功能的工作。这可以提高代码的可维护性和复用性,减少了不必要的工作量。
  9. 减少需求:在一定程度上,AIGC的出现可能会减少对传统开发者的需求。自动生成的代码可能会减少对人工编码的依赖,从而导致一些开发工作的减少。但是,仍然需要开发者在高级抽象和业务逻辑的定义方面积极参与。
  10. 学习和适应:通常我们搜索引擎是开发者一个非常重要的学习途径,AIGC工具的诞生会让大部分开发者大幅降低对搜索引擎的依赖,AIGC给的答案减少了搜索、辨别答案的过程,随着使用AIGC的经验提升,Prompt能力的提升,AIGC的反馈将会无限接近准确答案

总结下来,就是它会大大的解放人力,将繁琐和耗时的事情从人身上抽离出来,让人可以把精力放在维度跟高、抽象层次更深入的事务上

编译器插件

现在无论是OpenAI的ChatGPT还是Microsoft的Copilot,或者阿里巴巴的通义系列,或者基于ChatGLM的智普,都已经发布了相对成熟且稳定的插件,各大编译器在插件市场都能够搜到并且使用,到了插件这个层面,坦白讲就是基于大模型的应用层开发,因此层数不穷,在插件市场搜一个Chatgpt会出现大量的相关内容,Copilot也是如此

Cursor

Cursor本身是个编译器,类似于VS Code,集成开发环境的搭建稍微麻烦一些,但更灵活,这个要看个人习惯选择,而这个编译器本身集成了ChatGPT,因此下载安装后便可以使用,对于普通用户来说有两个限制,如果设置成GPT-4的模型,可以请求50次,如果是GPT-3.5-turbo模型可以请求200次,当然如果您本身有ChatGPT的key也可以设置进去,那就直接从您的key上产生消耗

官方下载地址
在这里插入图片描述

在这里插入图片描述

自动生成代码

cursor generate code

优化代码性能

Cursor Optimize Code

这是Cursor的表现,而VSCode或者Jetbrain出的基于各语言的编译器需要单独安装插件达到相同的效果,如果国内的用户无法使用ChatGPT或者无法使用Copilot,那还有阿里巴巴的通义灵码和智普的CodeGeeX可以用

Copilot&CodeGeeX&TONGYI Lingma

Jetbrains

在这里插入图片描述
在这里插入图片描述

VSCode

在这里插入图片描述
在这里插入图片描述

Cursor

在这里插入图片描述
在这里插入图片描述

对话模式

目前在Cursor和VSCode上无论是ChatGPT亦或是Copilot均有对话模式,可直接在对话窗口进行沟通,远大于在搜索引擎中的效率

AIGC对话模式

自动生成测试 注释 解释

在其他的编译器上目前还没有开放对话模式,但仍然可以进行优化代码,生成注释,解释代码等操作

AI生成测试注释和解释

Chat2DB

除了各大编译器上的人工智能插件外,在数据库和SQL领域也出现了诸如Chat2DB的开源免费人工智能工具,支持 windows、mac 本地安装,也支持服务器端部署,web 网页访问。和传统的数据库客户端软件 Navicat、DBeaver 相比 Chat2DB 集成了 AIGC 的能力,能够将自然语言转换为 SQL,也可以将 SQL 转换为自然语言,可以给出研发人员 SQL 的优化建议,极大的提升人员的效率,是 AI 时代数据库研发人员的利器,未来即使不懂 SQL 的运营业务也可以使用快速查询业务数据、生成报表能力官网地址

chat2db

相关文章:

AIGC带给开发者的冲击

未来会有两种开发者,一种是会使用AIGC工具的开发者另一种是不会使用AIGC的开发者,AIGC的出现提高了开发效率和代码质量,对开发者意味着需要不断学习和适应新的技术和工作范式,开发者可以把更多的精力放在高级抽象的定义以及更高维…...

利用蚁剑钓鱼上线CS

前言 中国蚁剑使用Electron构建客户端软件,Electron实现上用的是Node.js,并且Node.js能执行系统命令,故可以利用蚁剑的webshell页面嵌入js来直接执行命令,进而钓鱼来上线CS。(类似Goby,Goby也是使用Electr…...

宣传照(私密)勿转发

精美的海报通常都是由UI进行精心设计的,现在有100 件商品需要进行宣传推广,如果每个商品都出一张图显然是不合理的,且商品信息各异。因此需要通过代码的形式生成海报。对此,我也对我宣传一波,企图实现我一夜暴富的伟大…...

【Spring】19 AOP介绍及实例详解

文章目录 1. 定义1)什么意思呢?2)如何解决呢? 2. 基本概念1)切面(Aspect)2)切点(Pointcut)3)通知(Advice)4)连…...

ES(Elasticsearch)的基本使用

一、常见的NoSQL解决方案 1、redis Redis是一个基于内存的 key-value 结构数据库。Redis是一款采用key-value数据存储格式的内存级NoSQL数据库,重点关注数据存储格式,是key-value格式,也就是键值对的存储形式。与MySQL数据库不同&#xff0…...

【JVM面试题】Java中的静态方法为什么不能调用非静态方法

昨晚京东大佬勇哥在群里分享了一道他新创的JVM面试题,我听完后觉得还挺有意思的,分享给大家 小佬们先别急着看我的分析,先自己想想答案 你是不是想说 因为静态方法是属于类的,而非静态方法属于实例对象 哈,有人这样回答…...

对‘float16_t’的引用有歧义

float16_t 是一个半精度浮点数类型,通常在一些需要高性能和低精度的场合被使用。 如果加了using namespace cv;后,OpenCV库中也有一个名为float16_t的类型定义,与最初的float16_t存在冲突,导致编译失败。 为了解决这个问题&#…...

Windows重装升级Win11系统后 恢复Mysql数据

背景 因为之前电脑硬盘出现问题,换了盘重装了系统,项目的数据库全部没了,还好之前的Mysql是安装在的D盘里,还有留存文件 解决办法 1.设置环境变量 我的路径是 D:\SoftWare\Application\mysql-5.7.35-winx64 此电脑右键属性 …...

MySQL之四大引擎、账号管理以及建库

目录 数据库存储引擎 简介 存储引擎得查看 support字段说明 InnoDB MyISAM MEMORY Archive 数据库管理 元数据库简介 元数据库分类 相关操作 MySQL库 数据表管理 三大范式 基本数据类型 优化原则 整形 实数 字符串 text&blob 日期类型 选中标识符 数…...

shell编程——查找局域网内存活主机

题目要求:写一个shell脚本,探测局域网内存活主机 首先,我们的思路是在循环中不断ping主机,然后根据ping的结果来判断主机是否存活 本题中ping语句如下: ping -c 3 -i 0.3 -W 1 192.168.1.1 解释一下参数&#xff1…...

python django 个人记账管理系统

python django 个人记账管理系统。 功能:登录,新用户注册,个人信息修改,收入,支出记录,收入记账管理,支出记账管理,收入,支出统计 技术:python django&…...

C#的Char 结构的方法之IsLetterOrDigit()

目录 一、Char 结构 二、Char.IsLetterOrDigit 方法 1.定义 2.重载 3.示例 4.IsLetterOrDigit(Char) 5.IsLetterOrDigit(String, Int32) 一、Char 结构方法 CompareTo(Char)将此实例与指定的 Char 对象进行比较,并指示此实例在排序顺序中是位于指定的 Char …...

配置Docker私有仓库

# 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容: "insecure-registries":["http://自己服务器的ip地址:设置的端口号"] # 重加载 systemctl daemon-reload # 重启docker systemctl restart docker在自己设定的文件夹内使用DockerCo…...

计算机网络-动态路由

网络层协议:ip,ospf,rip,icmp共同组成网络层体系 ospf用于自治系统内部。 一个路由器或者网关需要能够支持多个不同的路由协议,以适应不同的网络环境。特别是在连接不同自治系统的边缘路由器或边界网关的情况下&#…...

光耀未来 第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾举行

1月3日,第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾盛大举行,本次比赛吸引了全国范围内的光伏行业顶尖人才和创新团队参与。 为深入贯彻《关于推动能源电子产业发展的指导意见》,推动我国能源电子产业升级,工业和信息化部…...

【小沐学NLP】Python实现TF-IDF算法(nltk、sklearn、jieba)

文章目录 1、简介1.1 TF1.2 IDF1.3 TF-IDF2.1 TF-IDF(sklearn)2.2 TF-IDF(nltk)2.3 TF-IDF(Jieba)2.4 TF-IDF(python) 结语 1、简介 TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Fr…...

.cer格式证书文件和 .pfx格式证书文件有什么区别?

这里我们将讨论.cer和.pfx文件类型之间的差异。 什么是数字证书? 数字证书在电子通信中用作验证身份的密码机制。我们需要这些证书来建立安全的在线通信渠道,并确保数字数据的隐私、真实性和正确性。 数字证书包括主题(实体详细信息&#xf…...

【docker实战】安装tomcat并连接mysql数据库

本节用docker来安装tomcat,并用这个tomcat连接我们上一节安装好的mysql数据库 一、拉取镜像 我们安装8.5.69版本 先搜索一下 [rootlocalhost ~]# docker search tomcat NAME DESCRIPTION …...

LeetCode 每日一题 Day 32 ||递归单调栈

2487. 从链表中移除节点 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输入:head [5,2,13,3,8] 输出:[13,8] 解释:需要移除的节点是 5 ,2 和 3 。…...

【mars3d】FixedRoute的circle没有跟polyline贴着模型的解决方案

问题:【mars3d】官网的贴模型示例中,参考api文档增加了circle的配置,但是FixedRoute的circle没有跟polyline贴着模型 circle: { radius: 10, materialType: mars3d.MaterialType.CircleWave, materialOptions: { color: "#ffff00"…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线, n r n_r nr​ 根接收天线的 MIMO 系…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...