中国航天日特别编程解读ChatGPT超能力全曝光13个章节50个实例让小白也能轻松驾驭

  • 天文图吧
  • 2025年01月10日
  • 在这个编程世界里,ChatGPT就像一位无所不能的魔法师,它能够帮助我们简化工作流程,减少错误,并且让代码更加高效。通过十三个章节和50个实例,我们将展示ChatGPT如何成为我们的强大助手,无论你是初学者还是经验丰富的开发者。 首先,让我们来看看它如何生成Web开发任务的代码。ChatGPT不仅能快速生成HTML和CSS,还能轻松创建JavaScript函数甚至数据库查询语句

中国航天日特别编程解读ChatGPT超能力全曝光13个章节50个实例让小白也能轻松驾驭

在这个编程世界里,ChatGPT就像一位无所不能的魔法师,它能够帮助我们简化工作流程,减少错误,并且让代码更加高效。通过十三个章节和50个实例,我们将展示ChatGPT如何成为我们的强大助手,无论你是初学者还是经验丰富的开发者。

首先,让我们来看看它如何生成Web开发任务的代码。ChatGPT不仅能快速生成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].

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

生成结果:以下是一个使用语义化HTML和Tailwind CSS构建的“联系支持”表单,包含用户姓名、电子邮件、问题类型以及留言。在这个表单中,姓名和电子邮件是必填项,因此可以在输入框中添加required属性。你还可以根据需要自定义CSS样式。

1.2 提示词:

Write a JavaScript function. It accepts [input] and returns [output].

举例:写一个JavaScript函数,它接受全名作为输入并返回头像字母。

生成结果:以下是接受全名为输入并返回头像字母的JavaScript函数:

function getAvatarLetters(fullName) {

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

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

let avatar = '';

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

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

avatar += names[i][0];

if (i > 1) {

avatar = avatar.substring(0, 2);

}

}

// 返回头像

return avatar;

}

例如,如果输入的是“张三”,那么该函数会返回“张”,如果输入的是“张三丰”,那么该函数会返回“张三”。

1.3 提示词:

Write an/ an [framework] API for [functionality]. It should make use of [database].

举例:编写一个使用Express.js API来获取当前用户个人资料信息,该API应利用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(`Connected to MongoDB successfully.`))

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

// 创建User模型

const userSchema = new mongoose.Schema({

name: String,

email: String,

password: String,

});

const User = mongoose.model(User, userSchema);

// 添加请求体解析器及JSON解析器作为中间件,以便处理POST请求数据。

app.use(bodyParser.urlencoded({ extended: false }));

app.use(bodyParser.json());

// 定义路由规则以获取当前登录用户的个人资料信息。

app.get('/api/profile', async (req, res) => {

const userId = req.userId;

try {

const userDocFromDbPromiseResult =

await User.findById(userId)

.select({ _id: false, name: true, email: true });

if (!userDocFromDbPromiseResult || !userDocFromDbPromiseResult.email ||

!userDocFromDbPromiseResult.name){

res.status(404).send("找不到用户");

} else {

res.send(userDocFromDbPromiseResult);

}

} catch(error){

console.error("Error fetching user data:", error);

res.status(500).send("Internal Server Error - Unable to fetch data");

}

});

// 启动服务器监听3000端口。

const portNumberToUseForServerStartUpDefaultPortIs3000 =

process.env.PORT || '3000';

app.listen(portNumberToUseForServerStartUpDefaultPortIs3000,

console.log(

'服务器已启动成功',

portNumberToUseForServerStartUpDefaultPortIs3000));

});

}

};

export default startApp;

this.startApp();

}