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

云虚拟主机建设网站一定要域名网络公关公司收费

云虚拟主机建设网站一定要域名,网络公关公司收费,做网站一定要有公司吗,做电影类网站ChatGPT使用案例之写代码 可以对于许多开发者而言又惊又喜的是我们可以使用ChatGPT 去帮我们完成一些代码,或者是测试用例的编写,但是正如我们提到的又惊又喜,可能开心的是可以解放一部分劳动力,将自己的精力从繁琐无聊的一些任务…

ChatGPT使用案例之写代码

可以对于许多开发者而言又惊又喜的是我们可以使用ChatGPT 去帮我们完成一些代码,或者是测试用例的编写,但是正如我们提到的又惊又喜,可能开心的是可以解放一部分劳动力,将自己的精力从繁琐无聊的一些任务中脱离出来,但是担心的又是如果ChatGPT真的能做到写代码,那我们开发的小伙伴又何去何从呢,引用之前在[数仓建模] 专栏里的一句话

时代的变迁,生死的轮回,历史长河滔滔,没有什么是永恒的,只有变化才是不变的,技术亦是如此,当你选择互联网的那一刻,你就相当于乘坐了一个滚滚向前的时代列车,开往未知的方向,不论什么样的技术架构只有放在当前的时代背景下,才是有意义的,人生亦是如此。

既然革命或者变革是必然的,我们还不如早点拥抱!

案例一 SQL

SQL 是我们日常工作中,接触最频繁的编程语言了,不论你是数据开发、后端开发都需要了解SQL,下面我们就看一下ChatGPT 能不呢帮我们写一些简单的SQL呢,以及质量怎么样

简单SQL

下面是我给它的prompt ,也就是提示信息

我有一张表customers, 有这些列CustomerId, FirstName, LastName, Company, Address, City, State, Country, PostalCode, Phone, Fax, Email, SupportRepId
帮我写一句SQL 查询State是Texas,FirstName 是Jane 的记录

下面是它给我的返回,简直完美,因为还提示了我如果只需要特定列,就可以写列名字进去,而不是使用*

image-20230327185100830

复杂SQL

上面的例子比较简单,下面我们看一个逻辑复杂一些的SQL,其实你可以自己写一下看自己能不能写出来,需要用多就

我有一张数据表,叫做 user_events,有两个字段分别叫做 user_id 以及 event_date
请帮我写一句SQL,统计每天的新用户数。新用户的定义是,首次在表内出现,或者连续90天没有在表内出现之后再一次出现。

这是它给我的返回,并且还给了一些解释

image-20230327185728719

下面是它针对它给出的代码的解释,其实很明显这个代码是有问题的逻辑不对,但是应该是可以运行的,至于哪里有问题你可以思考一下

这个查询语句使用了一个子查询来计算每个用户的第一次事件日期(如果用户之前未出现,则为 null)。然后,它计算了每个用户在每个事件日期之前是否符合新用户的定义。最后,查询按照事件日期进行分组,计算每天符合条件的新用户数。具体来说,子查询中的 MIN(event_date) OVER (PARTITION BY user_id) 计算出每个用户的第一次事件日期。然后,DATEDIFF(day, first_event_date, event_date) 函数计算出每个用户的第一次事件日期和当前事件日期之间的天数差。如果这个差值小于等于90天,或者第一次事件日期为null,则该用户符合新用户的定义。最后,查询使用 GROUP BY 子句按照事件日期进行分组,并使用 COUNT(*) 函数计算每天符合条件的新用户数。

当我发现有问题的时候,这个时候你可以去提示它,但是我没有,我把这个问题重新输入了一下,这是它给我的返回

SELECT event_date, COUNT(*) as new_users
FROM (SELECT user_id,MIN(event_date) as first_event_dateFROM user_eventsGROUP BY user_id
) as t1
WHERE first_event_date = event_date OR DATEDIFF(day, first_event_date, event_date) > 90
GROUP BY event_date

我只能说它比上次聪明了一点点,但是这次的代码不能运行,因为子查询中根本没有把event_date 字段带出来,后面还多次使用了,肯定报错,但是聪明在哪里呢?

  1. 子查询里面做了数据去重,使得数据量减少了
  2. 连续90天 的条件写对了,是大于90 不是小于等于90

这里我还是再次输入了上面的问题,这次它终于对了

SELECT event_date,COUNT(DISTINCT user_id) AS new_user_count
FROM (SELECT user_id, event_date,ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_date) AS row_num,LAG(event_date, 1) OVER (PARTITION BY user_id ORDER BY event_date) AS prev_event_dateFROM user_events
) AS user_events_with_row_num
WHERE row_num = 1 OR DATEDIFF(day, prev_event_date, event_date) > 90
GROUP BY event_date;

它还给出了解释,重点是LAG 函数

这个查询首先使用了一个子查询来给每个用户的事件数据分配一个行号(使用 ROW_NUMBER() 函数),并将每个用户的前一个事件日期(使用 LAG() 函数)与当前事件日期一起作为一个结果列返回。在外部查询中,我们根据以下条件来筛选新用户:用户是表中的第一个事件,也就是 row_num = 1。
用户在过去90天内没有出现过,也就是当前事件日期与前一个事件日期之间的天数大于90天。
最后,我们使用 GROUP BY 子句和 COUNT(DISTINCT ...) 函数来统计每天的新用户数。

我们可以看到这个代码是正确的,所以我们可以看到ChatGPT 虽然可以帮我们写代码,但是我们还是需要自己去判断写的对不对

案例二 Java

这里我们直接去力扣上找两个题让ChatGPT 来做

简单题目

输入:

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文数,而 123 不是。 请帮我写一段Java 代码实现上述方法

输出:

以下是一个Java方法,可以判断一个整数是否为回文数:

public boolean isPalindrome(int x) {if (x < 0) { // 负数不是回文数return false;}int temp = x;int reverse = 0;while (temp != 0) {int digit = temp % 10;reverse = reverse * 10 + digit;temp /= 10;}return x == reverse;
}

下面是它的解释

该方法首先检查输入整数是否为负数,因为负数不是回文数。接下来,将输入整数的每个数字提取出来并反转它们。这可以通过取模运算和整数除法来完成。在每一次循环中,将提取的数字添加到一个反转的数字中。例如,如果输入整数为 123,首先将提取数字 3 并将其添加到反转数字中,变成 3。接下来,提取数字 2 并将其添加到反转数字中,变成 32。最后,提取数字 1 并将其添加到反转数字中,变成 321。最后,比较原始整数和反转后的整数是否相等,如果相等,则返回 true,否则返回 false。

这个代码写的是对的,我们直接在力扣上测试

image-20230326141956564

复杂题目

我们在力扣上找了一个相对复杂的题目,我们的prompt 如下

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例 1:
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:
输入:n = 1
输出:["()"]请帮我写一段Java代码实现上述方法

ChatGPT 竟然写出来了,而且它还给你写在了一个类中,那我简单提示一下它,写个方法就行

image-20230327192754338

提示之后,我们就不验证这个代码的正确性了,直接提交试试看

image-20230327192951640

我们发现测试顺利通过

image-20230327193037943

案例三 Python

还会上面那个题目,我们稍微修改一下提示,也就是让ChatGPT 用python 写出来

def generateParenthesis(n):if n == 0:return ['']ans = []for c in range(n):for left in generateParenthesis(c):for right in generateParenthesis(n-1-c):ans.append('({}){}'.format(left, right))return ans if n > 0 else []

这个代码在力扣上报错,提示找不到generateParenthesis,我们值需要稍微改动一下,将generateParenthesis 改成self.generateParenthesis 即可,即可通过测试

image-20230327193516695

总结

这一节我们主要尝试使用ChatGPT去给我们写代码,可以看到常见的代码它得确能帮我们写出来,但是很多时候可能或多或少是有点问题的,这个时候我们可以尝试改变我们的prompt 引导ChatGPT 产生一个正确的结果。

后面我们继续尝试ChatGPT 的其他场景,以达到解放我们的生产力的目的,虽然有时候写出的代码可能存在bug,但是只要我们稍加调整即可,而且对于ChatGPT而言它不像我们,它擅长各种编程语言。

http://www.tj-hxxt.cn/news/16962.html

相关文章:

  • 北京网站建设优化学校朋友圈广告30元 1000次
  • 自建设网站百度教育会员
  • 消费返利网站做的最长久的一站式软文发布推广平台
  • 技术支持凯里网站建设优化营商环境应当坚持什么原则
  • 山东app下载安装注册移动建站优化
  • 网站建设如何投放广告手机seo百度点击软件
  • 网站建站分为两种友好链接
  • 安远做网站东莞seo建站优化工具
  • 湖南做网站 多少钱磐石网络广州网站制作实力乐云seo
  • 闲鱼网站是哪家公司做的教育培训网页设计
  • java网站做微信分享地推接单平台app排行榜
  • 网站建设需要多少g合适windows优化大师是哪个公司的
  • 淘宝网站怎么做的好坏google关键词优化排名
  • 邢台网站制作费用哪个搜索引擎最好
  • 怎么做网站内部链接最新今日头条
  • 天津免费做网站百度点击软件找名风
  • 阿里云服务器部署网站搜索引擎优化关键词的处理
  • 杭州网站建设培训班360推广和百度推广哪个好
  • 外贸网站如何做seo武汉大学人民医院院长
  • 全国知名网站建设杭州seo技术培训
  • 移动通网站建设进入百度搜索网站
  • 网站套餐到期啥意思水平优化
  • 昆明市网站推广重庆网络seo公司
  • 设计网站的管理系统企业邮箱如何申请注册
  • 石家庄做网站需要多少钱网站制作的流程
  • 手机软件下载网站源码seo初学教程
  • 微网站开发案例北京seo地址
  • 浦项建设内部网站品牌网络营销策划书
  • 朋友说是做彩票网站运营维护设计公司网站设计
  • 在家做网站编辑seo搜索引擎优化报价