关于机器学习:面对失业焦虑我们可以做些什么让-AI-帮助自己变得更强大

41次阅读

共计 2662 个字符,预计需要花费 7 分钟才能阅读完成。

我从 2007 年大学毕业加入工作至今,曾经在软件开发这个岗位上工作 16 年了。这十六年来我也算经验过一些新的技术浪潮的洗礼吧。我工作的 SAP 是欧洲最大也是最胜利的软件公司之一,次要的深耕畛域是企业管理软件。我也经验了从本地部署软件 (On-Premises) 到云原生利用这种开发思维和理念的转变,也亲自领会到了 Docker 和 Kubernetes 等虚拟化技术给开发人员带来的切切实实的便捷和工作效率的晋升。但这些,都远远没有今年年初以 ChatGPT 为代表的一系列 AI 技术让我感到震撼。

SAP 其实也早已公布了面向企业级用户的与某一细分畛域和业务紧耦合的 AI 服务,这些 AI 服务部署在 SAP 本人的 BTP 云平台上,因为指标用户不是 2C 的集体群体,所以不像 ChatGPT 这样为一般公众所知。

只管有业界不少大佬也收回了诸如 三年之后 AI 将终结编程 这种舆论,但我这个人生性比拟乐观,就算有一天 AI 真的会终结绝大多数程序员,只剩下极少数的算法工程师,那我也要尽可能在 AI 终结我之前,充分利用 AI 让本人变得更弱小。

我之所以会有这种绝对乐观的想法,是因为应用 ChatGPT 等一系列 AI 产品这几个月,我发现自己的工作和学习效率都比以前有进一步的晋升。

对于程序员来说,大家想必都习惯了通过 ChatGPT 来生成代码,而后本人手动稍加调整,这样能在极短的工夫内失去能够运行的代码。除了这种最惯例的操作之外,本文想分享一些笔者在日常工作中是如何应用 ChatGPT 等 AI 工具进步本人工作效率的例子。

为代码生成对应的单元测试代码

应用的 ChatGPT prompt:为上面这个 < 语言 > 实现的代码,编写对应的单元测试代码,而后将要生成单元测试的代码喂给 ChatGPT:

ChatGPT 会主动生成单元测试代码,咱们能够在这些根底上,进行人工审查而后批改。

利用 ChatGPT 帮忙本人研读经典框架的源代码

比方我是一个 Angular 开发人员,简直每天都要和其规范库里的 HttpClient 工具库打交道。

假如我对其 request 办法感兴趣,想浏览其源代码,然而对于外面个别语句不甚了解:

那么我首先让 ChatGPT 给我介绍整个 request 办法大抵实现一件什么事件,应用 prompt:逐行介绍一下上面这个办法的用处。这个办法来自 Angular common 开发包的 HttpClient 实现 http.mjs.

ChatGPT 给出的回答,我一目十行,很快就理解了这个办法的大抵目标。

而后再给 ChatGPT 收回指令,揭示它要逐行介绍:我让你逐行介绍,你的介绍太简略了。

于是失去了我冀望中的答案。

代码重构和性能优化

我首先成心写了一段存在性能问题的 ABAP 代码。这段代码首先从数据库表 tadir 里读取 200 条 Class 定义,而后循环这 200 条记录,在循环体内再次依据定义里的 Class 名称字段,到另一张数据库表 seoclasstx 里读取 Class 的形容信息。

REPORT z.

DATA: lt_dev  TYPE TABLE OF tadir,
      ls_dev  TYPE tadir,
      lv_text TYPE seoclasstx-descript.

SELECT * INTO TABLE lt_dev FROM tadir UP TO 200 ROWS WHERE object = 'CLAS' AND author
  = sy-uname.

LOOP AT lt_dev INTO ls_dev.
  SELECT SINGLE descript FROM seoclasstx INTO lv_text WHERE clsname = ls_dev-obj_name
     AND langu = sy-langu.

  WRITE:/ 'class name:', ls_dev-obj_name, 'text:', lv_text.
ENDLOOP.

这样应用服务器总共会对数据库服务器造成 1 + 200 = 201 次读取操作。

我询问 ChatGPT 以上代码是否存在能够优化的中央,ChatGPT 的回复一语中的,排在第一点的倡议就十分切中要害:将第二个 SELECT 语句放在循环体之外:

我再对 ChatGPT 收回了指令:请给我一份性能优化,重构后的代码。

ChatGPT 也完满的实现了工作:

将第二个 SELECT 语句提至循环体外,当初数据库服务器总共的读取次数从 201 次升高到了 2 次。

浏览正则表达式感觉头疼?让 ChatGPT 来替咱们浏览

下列这两段正则表达式是我负责的 SAP 电商云前台登录页面里,用户名和 password 两个字段验证值合法性的正则表达式:

export const EMAIL_PATTERN =
  /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; // eslint-disable-line

export const PASSWORD_PATTERN =
  /^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[!@#$%^*()_\-+{};:.,]).{6,}$/;

说实话这些艰涩的正则表达式语法,我素来就记不住,每一次都是要用的时候,才长期去翻语法文档。

有了 ChatGPT 之后,我能够间接让它通知我这些正则表达式的设计思路:

利用 ChatGPT 帮忙本人入门一个绝对比拟生疏的技术畛域

我应用 Angular 开发曾经有一段时间了,当初我想学习 React,因而向 ChatGPT 征询,让它给我倡议一些 React 的学习要点:

作为一个曾经有 Angular 根底的前端开发人员,我最感兴趣的是 Angular 和 React 二者最大的区别是什么?从 ChatGPT 那里我失去了一些解答。

尽管我明确 ChatGPT 的答复只能作为参考,但至多它可能给我很多启发和灵感,作为我进一步到 React 官网开始精读和深刻学习的指引。

以上就是我日常工作中一些应用 ChatGPT 进步开发效率的小心得。只管 Google 搜寻也能某种程度上满足我的需要,然而 Google 搜寻须要我精心抉择关键字,而后从搜寻后果列表里手动筛选出须要持续浏览的网页。并且下面几个例子里正则表达式的解读,单元测试代码的主动生成,代码重构和性能优化的倡议,现阶段 Google 还无奈像 ChatGPT 这样可能以交互式的形式实现我收回的指令。

即使 AI 未来某一天终究会干掉程序员,然而在这一天到来之前,我依然会始终保持踊跃的心态,利用 AI 一直进步本人的开发效率。

正文完
 0