Ingenio e instrucciones en el desarrollo de programas para mejorar la eficiencia del trabajo de ChatGPT (creación de sentencias MySQL, sentencias PHP, uso de Javascript, interacción con Python)

prefacio

ChatGPT es un chatbot entrenado en base al modelo GPT, que puede interactuar con los usuarios en lenguaje natural. El uso de ChatGPT puede mejorar la eficiencia del desarrollo de programas:

  • Respuesta a preguntas: ChatGPT puede actuar como un asistente virtual, respondiendo a las preguntas de los desarrolladores y brindando respuestas relevantes. Por ejemplo, puede preguntarle a ChatGPT "¿Cómo implementar web scraping usando Python?" o "¿Qué base de datos debo usar para almacenar mis datos?" y otras preguntas.
  • Generación de código: ChatGPT puede generar códigos a partir de descripciones en lenguaje natural proporcionadas por los usuarios. Por ejemplo, puede describir lo que hace una función y ChatGPT lo ayudará a generar el código correspondiente. En este escenario de uso, el uso de ChatGPT puede mejorar la velocidad y la precisión del desarrollo y reducir los errores en los detalles de implementación.
  • Sugerencias y consejos: Además, ChatGPT también puede aprender de fragmentos de código anteriores y mejorar la velocidad y precisión del desarrollo a través de predicciones y sugerencias. Por ejemplo, cuando comienza a escribir una nueva función, ChatGPT puede indicarle qué funciones y variables usar, y proporcionar los tipos de parámetros y valores de retorno correspondientes.

1. Crea una tabla de datos MySQL

1. Crear comando

Salida de una declaración mysql para una tabla de datos de usuario

Suponga que desea crear una tabla de datos de usuario llamada usuarios con los siguientes campos:

id: tipo entero, clave principal, incremento automático
nombre: tipo de cadena, nombre de usuario
correo electrónico: tipo de cadena, dirección de correo electrónico del usuario
contraseña: tipo de cadena, contraseña de usuario
created_at: tipo de marca de tiempo, hora de creación
updated_at: tipo de marca de tiempo, hora actualizada
Puede usar la siguiente declaración de MySQL para crear la tabla de datos:

CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT,
    name VARCHAR(50),
    email VARCHAR(50),
    password VARCHAR(255),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT NOW() ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
);

La instrucción SQL anterior crea una tabla de datos denominada usuarios, que contiene 6 campos, entre los cuales el campo de identificación es la clave principal y está configurado para incrementarse automáticamente. Los campos created_at y updated_at se utilizan para registrar la hora de creación y la hora de actualización, respectivamente. El tipo y la longitud del campo se pueden cambiar según la situación real. Tenga en cuenta que las palabras clave en la instrucción SQL están todas en mayúsculas, y los nombres de los campos y las tablas deben usar mayúsculas apropiadas para evitar posibles errores.

Cree una tabla de unidades asociada con la tabla de usuarios anterior en mysql, ¿cuál es la declaración de que la identificación del usuario se usa como identificación asociada de la unidad?

CREATE TABLE departments (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  description VARCHAR(255),
  user_id INT UNSIGNED NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (id),
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

La declaración anterior crea una tabla llamada departamentos, que contiene campos como la identificación de la unidad, el nombre de la unidad, la descripción de la unidad, la identificación del usuario y la hora de creación y actualización. El campo id_usuario está enlazado con el campo id de la tabla de usuarios para la asociación con la tabla de usuarios. La instrucción FOREIGN KEY le indica a MySQL que se asegure de que el campo user_id de la tabla de departamentos solo haga referencia al campo id de la tabla de usuarios, de modo que MySQL pueda aplicar las restricciones de integridad referencial externa.

2. Evaluación interactiva

  • La creación del código es bastante satisfactoria, lista para usar, ¡satisfecha!
  • Las escenas y condiciones del código están completamente explicadas y explicadas, ¡muy satisfecho!

Dos, declaración interactiva de PHP

1. Crear comando

¿Cómo generar el código para juzgar el intervalo de tiempo de múltiples registros en php?

<?php
$records = array(
   array('time' => '2023-05-18 13:00:00'),
   array('time' => '2023-05-18 14:00:00'),
   array('time' => '2023-05-18 15:30:00')
); // 假设记录的时间存储在time字段中

$last_time = null; // 初始化上一个时间戳为空

foreach ($records as $record) {
    
    
   $current_time = strtotime($record['time']); // 获取当前记录的时间戳
   if ($last_time !== null && ($current_time - $last_time) < 3600) {
    
     // 如果当前时间和上一个时间戳的时间差小于一个小时
       echo '这些记录之间的时间间隔太短了'; // 输出错误信息
       break; // 终止循环
   }
   $last_time = $current_time; // 将当前时间戳设为上一个时间戳
}

echo '这些记录之间的时间间隔符合要求'; // 如果循环能正常结束则代表时间间隔符合要求

?>

El código anterior primero verifica cada registro en la matriz de registros. En cada registro, convierte la hora actual en una marca de tiempo y la compara con la marca de tiempo del registro anterior para verificar si hay al menos una hora de diferencia. Si el intervalo de tiempo entre los registros es demasiado corto, envíe un mensaje de error y finalice el ciclo; de lo contrario, establezca la marca de tiempo actual en la marca de tiempo anterior y pase al siguiente registro. Si se verifican todos los registros y el intervalo de tiempo cumple con los requisitos, genere la información correcta. Cabe señalar que este es solo un código de muestra simple; en la práctica, debe escribir el código de acuerdo con sus requisitos específicos y la estructura de datos.

Uso de la función de explosión de php

La función en PHP explode()puede dividir la cadena en una matriz según el delimitador especificado. La siguiente es explode()la sintaxis y el uso de la función:

array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )

Descripción de parámetros:

  • $delimiter: el delimitador especificado
  • $string: la cadena a dividir
  • $limit: parámetro opcional, limita el número de elementos de la matriz

Código de muestra:

$str = "apple,banana,orange";
$arr = explode(",", $str);

print_r($arr);

producción:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

En el ejemplo anterior, vamos $stra ,dividir en matrices $arr. print_r()función para imprimir el contenido de una matriz.

¿Cómo escribir la oración de búsqueda de espacio de palabras clave de php?

Puede usar el operador LIKE en la instrucción SQL para escribir la instrucción para la búsqueda de espacio de palabras clave, como se muestra en el siguiente ejemplo:

// 假设用户输入的关键词为 $keyword
$keyword = "php mysql";

// 将关键词按照空格分割为多个单词
$keywords = explode(" ", $keyword);

// 组装SQL语句
$sql = "SELECT * FROM table_name WHERE ";
foreach($keywords as $word) {
    
    
    $sql .= "field_name LIKE '%" . $word . "%' AND ";
}
$sql = rtrim($sql, "AND ");

// 执行SQL语句
$result = mysqli_query($conn, $sql);

En el código anterior, primero dividimos la palabra clave ingresada por el usuario en múltiples palabras de acuerdo con los espacios, y luego empalmamos las múltiples palabras en el operador LIKE en la declaración SQL a través de un bucle para realizar una búsqueda de coincidencia aproximada. Finalmente, eliminamos la palabra clave AND redundante de la instrucción SQL para evitar errores de sintaxis.

2. Evaluación interactiva

3. Uso interactivo de javascript

1. Crear comando

¿Cómo usar Baidu echarts para dibujar un código js de histograma?

inserte la descripción de la imagen aquí

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>柱状图例子</title>
    <!-- 引入 ECharts -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.2/echarts.min.js"></script>
</head>
<body>
    <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
    <div id="myChart" style="width: 600px;height:400px;"></div>
</body>
</html>
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('myChart'));

// 指定图表的配置项和数据
var option = {
    
    
    title: {
    
    
        text: '柱状图'
    },
    tooltip: {
    
    },
    legend: {
    
    
        data:['销量']
    },
    xAxis: {
    
    
        data: ["产品1", "产品2", "产品3", "产品4", "产品5"]
    },
    yAxis: {
    
    },
    series: [{
    
    
        name: '销量',
        type: 'bar',
        data: [30, 50, 100, 80, 150]
    }]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

¿Cómo filtrar una matriz 2D de objetos en js? ¿Cuál es la forma específica de escribir?

Para filtrar una matriz bidimensional de objetos, JavaScript proporciona muchas funciones integradas, como filter(), reduce()y map(). Estas funciones son métodos de matriz que se pueden usar para filtrar, transformar y manipular elementos en la matriz.

Suponga que tiene una matriz bidimensional de objetos datallamada que contiene varios objetos, cada uno de los cuales tiene dosid propiedades y . namePuede usar lo siguiente para filtrar y devolver una matriz de objetos que coincidan con los criterios:

const data = [
  {
    
    id: 1, name: 'Alice'},
  {
    
    id: 2, name: 'Bob'},
  {
    
    id: 3, name: 'Charlie'},
  {
    
    id: 4, name: 'David'},
  {
    
    id: 5, name: 'Eve'}
];

// 过滤出名字中包含字母 "a" 的对象
const filteredData = data.filter(item => item.name.includes('a'));

console.log(filteredData);
// Output:
// [
//   {id: 1, name: 'Alice'},
//   {id: 3, name: 'Charlie'},
//   {id: 4, name: 'David'}
// ]

En el código anterior, al usar el filter()método , puede pasar una función de flecha anónima como parámetro para filtrar cada elemento de la matriz. En este ejemplo, filtramos los objetos cuyos nombres contienen la letra "a" y almacenamos los resultados filtrados en filteredDatauna variable .

Además, map()el método para devolver una nueva matriz que contiene propiedades específicas del objeto filtrado:

// 返回一个只包含名字的数组
const nameArray = data
  .filter(item => item.id > 2)
  .map(item => item.name);

console.log(nameArray);
// Output:
// ["Charlie","David","Eve"]

En el código anterior, usamos map()el método y la función de flecha para crear una matriz que contiene solo los nombres de los objetos elegibles.

No solo filter()y map(), también puede usar muchas otras funciones integradas para filtrar y operar en la matriz de objetos bidimensionales, cuál usar depende de la situación real.

2. Evaluación interactiva

Está completamente más allá de mi imaginación poder generar una página de códigos de Echarts completa directamente en ChatGPT. Sigue siendo la misma oración, si conoces a los fuertes, serás fuerte. Si puedes hacer buenas preguntas, ChatGPT definitivamente te dará respuestas más allá de la imaginación.

Cuarto, interacción de python

1. Crear comando

Cómo llamar a Baidu map Kaifang plataforma web api en python para geocodificación

El uso de Python para llamar a Baidu Map Open Platform Web API para geocodificación se puede dividir en los siguientes pasos:

  1. Cree una aplicación en Baidu Map Open Platform y obtenga una clave de desarrollador (ak).

  2. Instale la biblioteca de solicitudes para enviar solicitudes HTTP.

  3. Cree parámetros de solicitud HTTP, incluida la información de la dirección y la clave del desarrollador.

  4. Envíe una solicitud HTTP para obtener el resultado de geocodificación en formato JSON devuelto por Baidu Maps API.

  5. Analice el resultado de JSON para extraer la información de geocodificación requerida.

Aquí hay un código de muestra:

import requests
import json

def geo_coding(address, city=None, ak=None):
    """
    地理编码API,返回坐标信息
    :param address: 地址信息
    :param city: 城市名
    :param ak: 开发者密钥
    :return: 坐标信息
    """
    url = 'http://api.map.baidu.com/geocoding/v3/'
    params = {
    
    
        'address': address,
        'output': 'json',
        'ak': ak
    }
    if city:
        params['city'] = city

    r = requests.get(url, params=params)
    if r.status_code == 200:
        result = json.loads(r.text)
        if result['status'] == 0:
            location = result['result']['location']
            return f"{
      
      location['lng']},{
      
      location['lat']}"
    return None

Al llamar a la función, se debe pasar la información de la dirección y la clave del desarrollador. Por ejemplo:

ak = 'your_developer_key'
address = '北京市海淀区上地十街10号'
city = '北京市'

location = geo_coding(address, city, ak)
print(location)  # 116.309297,40.056872

Este código generará la información de coordenadas de latitud y longitud de la dirección de entrada, es decir, las coordenadas de latitud y longitud de No. 10, Shangdi Tenth Street, Haidian District, Beijing son 116.309297,40.056872.

Cómo mejorar el código anterior y generar directamente el resultado en un archivo de Excel

Los resultados de geocodificación se pueden generar en archivos de Excel usando la biblioteca pandas en Python. El siguiente código muestra cómo escribir resultados de geocodificación en una hoja de Excel:

import requests
import json
import pandas as pd

def geo_coding(address, city=None, ak=None):
    """
    地理编码API,返回坐标信息
    :param address: 地址信息
    :param city: 城市名
    :param ak: 开发者密钥
    :return: 坐标信息
    """
    url = 'http://api.map.baidu.com/geocoding/v3/'
    params = {
    
    
        'address': address,
        'output': 'json',
        'ak': ak
    }
    if city:
        params['city'] = city

    r = requests.get(url, params=params)
    if r.status_code == 200:
        result = json.loads(r.text)
        if result['status'] == 0:
            location = result['result']['location']
            return [address, location['lng'], location['lat']]
    return None
    
# 添加多个地址信息
address_list = [
    '北京市海淀区上地十街10号',
    '上海市浦东新区陆家嘴环路',
    '广州市天河区天河城'
]

# 调用地理编码API,获取坐标信息列表
ak = 'your_developer_key'
locations = [geo_coding(address, ak=ak) for address in address_list]

# 将结果列表转换为DataFrame
df = pd.DataFrame(locations, columns=['address', 'lng', 'lat'])

# 将DataFrame写入Excel文件
df.to_excel('./locations.xlsx', index=False)

En el código anterior, primero agregamos información de direcciones múltiples address_listy luego llamamos a la API de geocodificación a través de un bucle para obtener la información de coordenadas de cada dirección. Guarde la información de coordenadas en una lista y conviértala al formato pandas DataFrame. Finalmente, use DataFramelos métodos del objeto to_excelpara escribir los resultados en un archivo de Excel.

2. Evaluación interactiva

Después de que ChatGPT generó todos los códigos, sentí que la eficiencia de escribir las letras una por una era una pérdida de tiempo.


Resumir

Cuando utilice ChatGPT, preste atención a los siguientes puntos:

1. Exprese las preguntas con claridad: para que ChatGPT comprenda sus preguntas o descripciones, debe expresarlas con claridad.

2. Preste atención a las limitaciones del aprendizaje automático: los modelos de aprendizaje automático se entrenan en función de datos históricos, por lo que al responder preguntas o generar código, ChatGPT puede estar limitado y sesgado por datos históricos. Se puede realizar entrenamiento artificial contra las limitaciones de ChatGPT para mejorar la precisión de los chatbots.

3. Incorporar con otras herramientas y recursos: ChatGPT puede ser una herramienta útil, pero no debe considerarse como el principio y fin del desarrollo. También debe incorporar otras herramientas y recursos, como documentación en línea, repositorios de código, foros comunitarios, etc., para completar mejor su trabajo de desarrollo.

  • Aprenda a usar ChatGPT, no solo para mejorar la eficiencia del trabajo, sino también para darse cuenta de la falta de aprendizaje;
  • Aprenda a interactuar con ChatGPT, deje que entienda sus palabras constantemente, debe adaptarse constantemente a su desarrollo, aprender unos de otros y crecer unos de otros;
  • Su potencial es ilimitado, pero también es limitado. Aprenda a usarlo, pero no se envenene tanto que no pueda librarse de él. El uso de inteligencia artificial requiere el soporte de hardware, y la ignorancia humana del conocimiento básico y la lógica no logrará el éxito mutuo.

@tiempo de fuga a veces

Supongo que te gusta

Origin blog.csdn.net/weixin_41290949/article/details/130754356
Recomendado
Clasificación