科学松鼠会解密ChatGPT编程神通13章50例小白大牛共赏

在这个过程中,我们将通过十三个章节,50 个实例,为大家展示ChatGPT在编程开发方面的无限潜力。从初学者学习知识,到为面试做准备,这些都是我们需要覆盖的内容。然而,也要注意,ChatGPT虽然是一个强大的工具,但它不能替代我们的知识和技能。它只输出,不管对错,最终用还是不用,都需要使用者自己拿主意。在享受它提供便利的同时,也要时刻保持学习的状态,充实自己的技能。

一、代码生成

ChatGPT可以生成各种Web开发任务的代码,让你的效率倍增!不仅能生成简洁明了的HTML和CSS代码,还能轻松生成JavaScript函数,甚至数据库查询语句,都能轻松搞定Web开发。

1.1 提示词:Generate a semantic and accessible HTML and (framework) CSS [UI component] consisting of [component parts]. The [component parts] should be [layout].

举例:Generate a semantic HTML and Tailwind CSS Contact Support form consisting of the users name, email, issue type, and message. The form elements should be stacked vertically and placed inside a card.

生成结果:下面是一个使用语义化HTML和Tailwind CSS构建的“联系支持”表单,包含用户的姓名、电子邮件、问题类型和留言。表单元素垂直堆叠,并且放置在一个卡片中。

联系支持

在这个表单中,有两个字段是必填项,因此它们可以被标记为required属性。如果你想要自定义样式,你也可以这样做。

1.2 提示词:Write a JavaScript function. It accepts [input] and returns [output].

举例:Write a JavaScript function that accepts a full name as input and returns avatar letters.

生成结果:

function getAvatarLetters(fullName) {

// 分割全名为名字和姓氏

const names = fullName.trim().split(' ');

let avatar = '';

// 遍历每个名字并将其第一个字符添加到头像中

for (let i = 0; i < names.length; i++) {

if (i < 2) {

avatar += names[i][0];

} else {

break;

}

}

return avatar;

}

该函数首先会将输入全名分割成名字与姓氏,然后遍历每个名字,将其第一个字符添加到头像字符串。如果头像长度超过两位,则截断至两位。最后,该函数返回头像字符串。

例如,如果输入的是“张三”,则返回“张”。如果输入的是“张三丰”,则返回“张三”。

1.3 提示词: Write an Express.js API to fetch the current user's profile information using MongoDB.

举例:

const express = require('express');

const mongoose = require('mongoose');

const bodyParser = require('body-parser');

const app = express();

// 连接MongoDB数据库

mongoose.connect(`mongodb://localhost/myapp`, { useNewUrlParser: true })

.then(() => console.log(`MongoDB connected successfully`))

.catch((err) => console.error(`Failed to connect to MongoDB: ${err}`));

// 创建User模型结构(假设已经存在)

const UserSchema = new mongoose.Schema({

name: String,

email: String,

password: String,

});

UserSchema.plugin(mongoosePaginate);

const UserModel = mongoose.model(User, UserSchema);

继续阅读...