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

学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序

文章目录

  • 01软件开发产业趋势与技术革新
    • 软件开发产业趋势与技术革新技术性人才很受欢迎
    • 软件开发产业趋势与技术革新技术门槛越来越低
  • 02 大模型驱动的软件开发
    • 需求分析
      • prompt
    • 产品设计
    • 开发和测试
      • prompt
      • 输出回复
      • prompt
      • prompt
      • prompt
      • 回复
    • 发布和部署
      • prompt
      • prompt
    • 维护和更新
      • prompt
      • prompt
  • 大模型可以完成哪些应用?
  • 03 代码辅助开发模式
    • 插件开发&网页交互开发
  • 04 实操用Prompt从0完成一个小软件
    • prompt
    • prompt
    • prompt
    • prompt
    • 回复
    • prompt
    • prompt
    • prompt
    • prompt
    • prompt
    • prompt
    • prompt
    • prompt

GT│飞桨开发者技术专家

01软件开发产业趋势与技术革新

软件开发产业趋势与技术革新技术性人才很受欢迎

研发资源持续投入是企业为了获取核心技术.提升竞争力而进行的必要投资,同时也是企业实现长期发展、保持核心竞争力的关键因素。
在大型企业当中,人力成本占研发投入通常超50%,互联网头部企业研发薪资通常在20k以上,可以看到技术性人才非常受人欢迎。

软件开发产业趋势与技术革新技术门槛越来越低

计算机时代初期,依靠字位码、汇编语言进行开发
随着硬件设备的快速发展和软件技术的不断进步,我们进入了一个个新的编程时代。

02 大模型驱动的软件开发

开发基本流程
在这里插入图片描述

需求分析

需求分析:
在这个阶段,产品经理需要了解用户需求,进行市场调研和需求分析,确定产品的功能和特点,形成用户需求文档。重点场景:
市场调研与需求分析流程、需求文档生成

prompt

你是一名资深产品经理,需求分析通常需要包含什么样的内容

产品设计

产品设计:可以轻松设计出lcon
基于需求分析的结果,产品经理需要与其他角色配合进行产品设计,包括产品的功能设计、界面设计、交互设计等,形成产品需求文档。
重点场景:
Icon设计
本项目的logo由文心一言自动生成可以轻松设计出lcon

开发和测试

在这个阶段,开发人员会根据产品需求文档进行开发和测试,确保代码的质量和稳定性,同时进行集成测试和系统测试,保证产品的质量和可用性。
重点场景:
基础代码撰写.报错分析、单元测试撰写

prompt

请用Python语言写出一个快速排序的代码。

输出回复

def quick_sort(arr):if len(arr) <= 1:return arrpivot = arr[len(arr) // 2]left = [x for x in arr if x < pivot]middle = [x for x in arr if x == pivot]right = [x for x in arr if x > pivot]return quick_sort(left) + middle + quick_sort(right)arr = [3,6,8,10,1,2,1]
print(quick_sort(arr))

prompt

请分析一下报错信息,并告诉我该如何修正

prompt

请为以上Python代码,撰写一份单元测试示例:

import unittest
from io import StringIO
import sys
import jsonclass TestQuickSort(unittest.TestCase):def test_quick_sort_case1(self):arr = [3,6,8,10,1,2,1]expected = [1, 1, 2, 3, 6, 8, 10]result = quick_sort(arr)self.assertEqual(result, expected)def test_quick_sort_case2(self):arr = [5,4,3,2,1]expected = [1, 2, 3, 4, 5]result = quick_sort(arr)self.assertEqual(result, expected)if __name__ == '__main__':test_cases = [TestQuickSort('test_quick_sort_case1'), TestQuickSort('test_quick_sort_case2')]results = []for case in test_cases:suite = unittest.TestSuite()suite.addTest(case)output = StringIO()sys.stdout = outputrunner = unittest.TextTestRunner(stream=output)result = runner.run(suite)sys.stdout = sys.__stdout__if result.wasSuccessful():results.append({"casename": case._testMethodName, "result": "Pass"})else:results.append({"casename": case._testMethodName, "result": "Fail"})print(json.dumps(results))

prompt

请对刚才生成的单元测试示例代码结果进行解释

回复

刚才生成的单元测试示例代码中,我们使用了Python自带的unittest模块来编写测试用例。在test_quick_sort_case1方法中,我们对一个升序排列的数组进行了排序,期望得到的结果是升序排列的数组。实际运行结果与期望结果一致,因此该测试用例通过。在test_quick_sort_case2方法中,我们对一个降序排列的数组进行了排序,期望得到的结果是降序排列的数组。实际运行结果与期望结果一致,因此该测试用例也通过。最终输出的结果是一个包含两个测试用例的JSON格式字符串,每个测试用例包括了测试用例名称和测试结果(通过或失败)。如果所有测试用例都通过,则输出为"[{'casename': 'test_quick_sort_case1', 'result': 'Pass'}, {'casename': 'test_quick_sort_case2', 'result': 'Pass'}]",否则会输出相应的错误信息。

发布和部署

发布和部署;
在这个阶段,产品经理需要将产品发布到相应的平台或渠道,并进行部署和配置,确保产品的可用性和稳定性。
重点场景:
运维指南

prompt

请告诉我何启动nginx,并使其与我的Django框架相结合

prompt

请告诉我如何更新Ubuntu软件包

维护和更新

维护和更新:
一旦产品发布,产品经理需要持续进行产品的维护和更新,包括修复漏洞、升级版本等,确保产品的质量和用户体验。重点场景:
文档编写、注释生成

prompt

请为下方Python代码撰写一份使用文档:

prompt

请为以下函数攫写说明,并为每段代码生成注解

大模型可以完成哪些应用?

  • 通用模块:语音克隆模块、OCR模块、目标检测模块、行人动作识别模块等
  • 小游戏:贪吃蛇、打砖块、推箱子等
  • 小工具:图片裁剪、二维码生成、进制转换器、图片符号画等

03 代码辅助开发模式

插件开发&网页交互开发

  • 插件开发:主流辅助开发方式,在IDE中加载插件即可,有一定学习成本,适合具有编程经验的工程师完成大型开发项目
  • 网页交互开发:入门轻松,无较多学习成本,配置IDE后即可交互开发,多问多耐心即可完成简单软件。

04 实操用Prompt从0完成一个小软件

prompt

现在你是编程大牛,请问将图片转成ASCII字符化的工具,一般叫什么名字?

prompt

你是一名非常专业的产品经理,请问如果我要做一个图片转字符化工具的界面。需要哪些步骤,尽量详细丰富一些

prompt

请生成一个"图片转字符"软件的桌面图标。要求主体为显示器,界面可爱,有科技感,扁平化风格

prompt

你是一名编程大牛,目的我想做一个图片字特化的工具,这个工具主要是课程教学给大家做演示,请问我应装以什么样的步骤去完成它?

回复

要完成一个图片字特化的工具,你可以按照以下步骤进行:选择编程语言和开发环境:首先,你需要选择一种编程语言(如Python、Java或C++等)以及相应的开发环境(如PyCharm、Eclipse或Visual Studio等)。学习图像处理基础知识:为了实现图片字特化功能,你需要了解一些基本的图像处理知识,如图像读取、图像缩放、图像旋转、图像二值化等。设计工具界面:根据你的需求,设计一个简单易用的工具界面,包括输入图片、选择字体、设置字体大小、旋转角度等选项。编写代码实现功能:使用所选编程语言和相关库,编写代码实现图片字特化的功能。以下是一个使用Python和OpenCV库实现的简单示例:python
复制代码
import cv2
import numpy as npdef text_specialization(image_path, text, font_path, font_size):# 读取图片img = cv2.imread(image_path)# 设置字体font = cv2.FONT_HERSHEY_SIMPLEX# 在图片上添加文字cv2.putText(img, text, (50, 50), font, font_size, (255, 255, 255), 2, cv2.LINE_AA)# 保存结果cv2.imwrite('result.jpg', img)if __name__ == '__main__':image_path = 'input.jpg'text = 'Hello, World!'font_path = 'arial.ttf'font_size = 30text_specialization(image_path, text, font_path, font_size)测试和优化:在完成代码编写后,对工具进行测试,确保其功能正常且效果良好。如有需要,可以对代码进行优化以提高性能。打包和发布:将工具打包成可执行文件(如Windows上的exe文件或Linux上的可执行脚本等),并将其发布给其他用户使用。

在这里插入图片描述

prompt

你是一名编程大牛,请你实现一个用python语言Tkinter实现的界面,需要包含一个上传按钮up_file和一个图片预览框show_img,其中上传按钮up_file为上传一个图片,在用户上传后会在图片预览框show_img中进行展示。
生产代码运行后,未出现上传按钮,问问大模型!

prompt

运行以上代码,收到错误提示:ModuleNotFoundError: No module named ‘PIL’,怎么处理?

prompt

请问,上面的这个代码。为什么运行之后,有界面,但界面中没有任何元素,怀疑是imagePreview没有写对?
按照提示,对代码进行修改,能正常显示了。

prompt

你是一名python编程大牛,请生成一个convert_image_to_ascii函数,实现“图片转字符化”的需求,将图片转为ascii字符,并写入output.txt文件当中。

prompt

我有一个make_img函数,需要在selec_image之后执行,请问我应该怎样插入该代码?

prompt

你是一名python编程大牛,请告诉我如何利用Tkinter,生产一个消息框,消息内容为“生成完毕”,请在“text.txt”文件中查看。

prompt

你是一名python编程大牛,我想耙我的Python文件转成exe格式。发给我朋友,应该怎么做?

prompt

请生成一份上方代码的文档,以markdown形式显示。

相关文章:

学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序

文章目录 01软件开发产业趋势与技术革新软件开发产业趋势与技术革新技术性人才很受欢迎软件开发产业趋势与技术革新技术门槛越来越低 02 大模型驱动的软件开发需求分析prompt 产品设计开发和测试prompt输出回复promptpromptprompt回复 发布和部署promptprompt 维护和更新prompt…...

建造者设计模式 + 高阶函数 => DSL

该设计模式适用于创建复杂对象&#xff0c;该复杂对象通常是由各个部分的子对象用一定的算法或者步骤构成&#xff0c;针对每个子对象内部算法和步骤通常是稳定的&#xff0c;但是该复杂对象的确实由于不同的需求而选择使用不同的子对象进行组装。对于构建该复杂的对象&#xf…...

重学C++系列之智能指针简单介绍

一、什么是智能指针 在使用堆内存时&#xff0c;就像使用栈内存空间一样&#xff0c;可以实现自释放的功能&#xff0c;智能指针在C库中也是类模板之一。 二、智能指针有几种 有四种。auto_ptr, unique_ptr, shared_ptr, weak_ptr 其中后三个是C11支持&#xff0c;第一个已经被…...

LabVIEW开发航天器动力学与控制仿真系统

LabVIEW开发航天器动力学与控制仿真系统 计算机仿真是工程设计和验证的非常有用的工具。它节省了大量的时间、金钱和精力。航天器动力学与控制仿真系统由LabVIEW程序开发&#xff0c;它是模拟航天器等动态系统的有用工具。还可轻松与硬件连接并输出真实信号。 项目采用系统工…...

享元模式——实现对象的复用

1、简介 1.1、概述 当一个软件系统在运行时产生的对象数量太多&#xff0c;将导致运行代价过高&#xff0c;带来系统性能下降等问题。例如&#xff0c;在一个文本字符串中存在很多重复的字符&#xff0c;如果每个字符都用一个单独的对象来表示&#xff0c;将会占用较多的内存…...

【GreenDao】关联表实现,父表关联多个子表

要在GreenDao中实现温湿度采集器表和采集数据表的关联&#xff0c;并在删除温湿度表时同时删除对应的采集数据&#xff0c;可以按照以下步骤进行操作&#xff1a; 在GreenDao的实体类中定义温湿度采集器表&#xff08;Parent Table&#xff09;和采集数据表&#xff08;Child …...

python网站创建005:数据交互

目标&#xff1a;本章讲解不同控件下&#xff0c; 数据在前端和后端之间的交互 控件有&#xff1a; 输入框 密码输入框 单选框 多选框 下拉框 多行文本框 不同控件中如何将数据传入后端&#xff1f;请看一下html代码 <!DOCTYPE html> <html> <head><meta …...

golang 字符串操作、处理

一、golang的字符串长度 1. len()内置系统函数&#xff0c;计算字符串结果是字符串的字节长度&#xff0c;不是字符长度 //1.ASCII字符串长度&#xff08;字节长度&#xff09; str1 : "wo ai zhong guo" fmt.Println(len(str1)) //15//2.带中文的字符串长度&…...

Nginx配置WebSocket反向代理

1、WebSocket协议 ​ WebSocket协议相比较于HTTP协议成功握手后可以多次进行通讯&#xff0c;直到连接被关闭。但是WebSocket中的握手和HTTP中的握手兼容&#xff0c;它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的…...

devops(后端)

1.前言 该devpos架构为gitlabjenkinsharbork8s&#xff0c;项目是java项目&#xff0c;流程为从gitlab拉取项目代码到jenkins&#xff0c;jenkins通过maven将项目代码打成jar包&#xff0c;通过dockerfile构建jdk环境的镜像并把jar包放到镜像中启动&#xff0c;构建好的镜像通…...

Ubuntu安装企业微信

Ubuntu安装企业微信_ubuntu下安装企业微信_星光2020的博客-CSDN博客 在Ubuntu环境安装企业微信可以参考 https://github.com/zq1997/deepin-wine 所述的方法 首先运行 $ wget -O- https://deepin-wine.i-m.dev/setup.sh | sh 然后就可以像安装其它软件一样安装企业微信或其它…...

Prometheus 的应用服务发现及黑河部署等

目录 promtool检查语法 部署Prometheus Server 检查语法是否规范 部署node-exporter 部署Consul 直接请求API进行服务注册 使用register命令注册服务&#xff08;建议使用&#xff09; 单个和多个注册&#xff0c;多个后面多加了s 在Prometheus上做consul的服务发现 部署…...

JAVA SE -- 第十二天

&#xff08;全部来自“韩顺平教育”&#xff09; 常用类 一、包装类 1、包装类的分类 ①针对八种基本数据类型相应的引用类型--包装类 ②有了类的特点&#xff0c;就可以调用类中的方法 ③ 基本数据类型包装类booleanBooleancharCharacterbyteByteshortShortintInteger…...

实战:工作中对并发问题的处理

大家好&#xff0c;我是 方圆。最近在接口联调时发生了数据并发修改问题&#xff0c;我想把这个问题讲解一下&#xff0c;并把当时提出的解决方案进行实现&#xff0c;希望它能在大家以后在遇到同样的问题时提供一些借鉴和思考的方向。原文还是收录在我的 Github: enthusiasm 中…...

腾讯云Cloud Studio:基于Claude快速完成Excel工资自动核算

目录 1 什么是Cloud Studio&#xff1f;2 注册与代码管理2.1 账号注册2.2 Git关联 3 实战&#xff1a;Excel工资自动核算3.1 创建项目与配置3.2 “念咒师”Claude GPT3.3 代码编写与运行 1 什么是Cloud Studio&#xff1f; Cloud Studio是腾讯云为开发者提供的一个基于浏览器的…...

Spring Boot OAuth2 快速入门示例

系统要求 Spring Authorization Server 需要JDK1.8及以上版本。 项目搭建 使用在线项目初始化器 https://start.spring.io/ 生成项目[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ljKbMI4H-1690726855433)(images/screenshot_1690602511482.png)…...

MethodInterceptor

目录 1 MethodInterceptor 1.1 HandleSync 1.2 HandleException 1.3 /// This will be called via Reflection MethodInterceptor HandleSync private void HandleSync(IReadOnlyList<MethodFilterAttribute> filterAttributes, IReadOnlyList<ExceptionFilte…...

PID模块化__以stm32直流电机速度为例

文章目录 前言一、相关PID源码.c.h 二、如何使用1.创建变量2.初始化3.运算4.修改pid参数 总结 前言 本篇使用到的基于这个STM32CubeMX 直流电机PID速度控制、HAL库、cubemx、PID、速度控制、增量式 由于上次使用的pid没有模块化&#xff0c;当多出使用pid的时候就会很麻烦 所以…...

Java ~ Collection/Executor ~ DelayQueue【总结】

前言 文章 相关系列&#xff1a;《Java ~ Collection【目录】》&#xff08;持续更新&#xff09;相关系列&#xff1a;《Java ~ Executor【目录】》&#xff08;持续更新&#xff09;相关系列&#xff1a;《Java ~ Collection/Executor ~ DelayQueue【源码】》&#xff08;学…...

前端高级面试题-安全相关

1 XSS 跨⽹站指令码&#xff08;英语&#xff1a; Cross-site scripting &#xff0c;通常简称为&#xff1a; XSS &#xff09;是⼀种⽹站应⽤程式的安全漏洞攻击&#xff0c;是代码注⼊的⼀种。 它允许恶意使⽤者将程式码注⼊到⽹⻚上&#xff0c;其他使⽤者在观看⽹⻚时就会…...

【前缀和】560.和为 K 的子数组

Halo&#xff0c;这里是Ppeua。平时主要更新C&#xff0c;数据结构算法&#xff0c;Linux与ROS…感兴趣就关注我bua&#xff01; 和为K的子数组 题目:示例:题解&#xff1a;解法一:解法二: 题目: 示例: 题解&#xff1a; 解法一: 暴力解法:我们很容易想到通过两个for循环去遍…...

【Docker】安全及日志管理

安全及日志管理 Docker 安全及日志管理一&#xff1a;Docker 容器与虚拟机的区别1. 隔离与共享2. 性能与损耗 二&#xff1a;Docker 存在的安全问题1.Docker 自身漏洞2.Docker 源码问题 三&#xff1a;Docker 架构缺陷与安全机制1. 容器之间的局域网攻击2. DDoS 攻击耗尽资源3.…...

基于x-scan扫描线的3D模型渲染算法

基于x-scan算法实现的z-buffer染色。c#语言&#xff0c;.net core framework 3.1运行。 模型是读取3D Max的obj模型。 x-scan算法实现&#xff1a; public List<Vertex3> xscan() {List<Vertex3> results new List<Vertex3>();SurfaceFormula formula g…...

LeetCode36.Valid-Sudoku<有效的数独>

题目&#xff1a; 思路&#xff1a; 这题并不难&#xff0c;它类似于N皇后问题。在N皇后问题中&#xff0c;行&#xff0c;列&#xff0c;对角线&#xff0c;写对角线&#xff0c;都不能出现连续的皇后。 本题类似&#xff0c;不过他是行&#xff0c;列&#xff0c;还有一个B…...

Linux中的pause函数

2023年7月29日&#xff0c;周六上午 函数原型 在Linux中&#xff0c;pause()函数用于使当前进程暂停执行&#xff0c;直到接收到一个信号。 #include <unistd.h>int pause(void);pause()函数不接受任何参数。 通常&#xff0c;pause()函数用于编写简单的信号处理程序&…...

CommonCollections6链分析

前面和CC1一样 优点是不限制jdk版本和cc的版本 先开一个ChainedTransformer 然后创LazyMap 我们顺便执行一下避免上面写错 能弹计算器 没问题 后面就是CC6不同的地方了 我们需要一个TiedMapEntry 因为需要一个类调用了get方法 在TiedMapEntry的getValue()方法中调用了get()…...

优化基于tcp,socket的ftp文件传输程序

原始程序&#xff1a; template_ftp_server_old.py&#xff1a; import socket import json import struct import os import time import pymysql.cursorssoc socket.socket(socket.AF_INET, socket.SOCK_STREAM) HOST 192.168.31.111 PORT 4101 soc.bind((HOST,PORT)) p…...

MySQL 数据库 【增删查改(二)】

目录 一、表的设计 1、一对一 2、一对多 3、多对多 二、新增 三、查询 1、聚合查询 &#xff08;1&#xff09;聚合函数&#xff1a; &#xff08;2&#xff09; group by 子句 &#xff08;3&#xff09;having 2、联合查询 (1)内连接 (2)外连接 (3)自链接 (4)…...

力扣 -- 978. 最长湍流子数组

一、题目 二、解题步骤 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码 class Solution { public:int maxTurbulenceSize(vector<int>& nums) {int nnums.size();vector<int> f(n);…...

甘特图 Dhtmlx Gantt

介绍 在一些任务计划、日程进度等场景中我们会使用到甘特图&#xff0c;Dhtmlx Gantt 对于甘特图的实现支持很友好&#xff0c;文档API介绍全面&#xff0c;虽然增强版的收费&#xff0c;但免费版的足以够用。 官网&#xff1a;https://docs.dhtmlx.com/gantt/ 安装dhtml gannt…...