在重庆科技馆你真的准备好探索ChatGPT编程超能力的奥秘了吗13个章节50个实例小白也能一网打尽

从作为初学者学习知识,到为面试做准备,所有你需要的,基本都覆盖了。

不过也要注意,ChatGPT虽然是一个强大的工具,但是它不能替代我们的知识和技能! TA只输出,不管对错,最终用还是不用,都需要使用者自己拿主意。在享受它提供便利的同时,也要时刻保持学习的状态,充实自己的技能。

一、代码生成

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属性。您还可以根据需要自定义CSS样式。

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.

生成结果:

以下是接受全名为输入并返回头像字母的大写或首字母缩略形式(如“ZS”)的小写版本(如“z s”的JavaScript函数:

function getAvatarLetters(fullName) {

// 分割全名为名字和姓氏 const names = fullName.trim().split( );

let avatar = ;

// 遍历每个名字并将其第一个字符添加到头像中 for (let i = 0; i < names.length; i++) {

avatar += names[i][0];

}

if (avatar.length > 2) {

avatar = avatar.substring(0, 2);

}

return avatar;

}

例如,如果输入的是“张三”,那么该函数将返回“张”,如果输入的是“张三丰”,那么该函数将返回两个字符,“张”。

1.3 提示词:Write an/ an API for functionality using database.

举例:

Write an Express.js API to fetch the current user's profile information using MongoDB.

生成结果:

以下是使用Express.js与MongoDB创建的一个API以获取当前用户信息:

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连接成功))

.catch((err) => console.error(MongoDB连接失败:, err));

// 创建用户模型 const userSchema = new mongoose.Schema({ name: String, email: String });

const User mongoose.model(User, userSchema);

// 添加中间件 app.use(bodyParser.urlencoded({ extended: true }));

app.use(bodyParser.json());

// 定义路由 app.get('/api/profile', (req, res) => {

const userId req.userId;

User.findById(userId)

.then(user => res.send({

name,

email,

}))

.catch(err =>

res.status(500).send("Error fetching profile"));

});

// 启动服务器 const port process.env.PORT || '3000';

app.listen(port);

console.log(`Server started on port ${port}`);

});

这个API定义了一个/api/profile GET路由,它用于获取当前用户信息。在处理程序内部,我们首先从请求对象获取当前用户ID,然后通过User.findById()方法从数据库找到该用户。如果出现错误,将向客户端发送500响应;如果找不到数据,将发送404响应;否则,将用户名及邮箱信息组合成对象,并发送给客户端。