作者

Ben Fry 和 Casey Reas:

Processing是一种简单的编程环境,其创建目的是使开发更容易开发面向视觉的应用程序(重点是动画)并通过交互为用户提供即时反馈变得更加容易。开发人员想要一种“素描”代码中想法的方法。随着其功能在过去十年中的扩展,Processing除了具有素描功能外,还被用于更高级的生产级工作。

 

最初是作为针对艺术家和设计师的Java特定于领域的扩展而构建的,Processing已经发展成为一种成熟的设计和原型制作工具,用于大规模安装工作,运动图形和复杂的数据可视化。

 

Processing是基于Java的,但是由于程序元素相当简单,因此即使您不懂Java也可以学习使用它。如果您熟悉Java,那么最好暂时忘记处理与Java有任何关系,直到您掌握了API的工作原理为止。

 

http://processing.org/download下载最新版本的Processing。

 

该项目的重要目标是使更广泛的受众可以访问这种类型的程序。因此,Processing是免费下载,免费使用和开源的。但是使用Processing环境和核心库开发的项目可以用于任何目的。此模型与GCC GNU编译器集合相同。 GCC及其关联的库(例如libc)是GNU公共许可证(GPL)下的开放源代码,其中规定必须对代码进行更改。但是,使用GCC创建的程序(示例不胜枚举)本身并不是开源的。

 

Processing 包含:

  • 开发环境(PDE)。 双击“processing”图标时运行软件。 PDE是一个集成开发环境(IDE),具有一组简约的功能,这些功能被设计为编程的简单介绍或用于测试一次性想法的功能。
  • 组成“核心”编程接口或API的功能(也称为命令或方法)的集合,以及支持更高级功能(例如,通过网络发送数据,从网络摄像头读取实时图像)的多个库 ,并以PDF格式保存复杂的图像。
  • 一种语言语法,与Java相同,但进行了一些修改。
  • 一个活跃的在线社区,http://processing.org

 

因此,对“processing”的引用可能有些含糊。 我们是在谈论API,开发环境还是网站? 在引用每个文本时,我们将格外小心。

 

 

 

草图

processing程序称为草图。 这个想法是使Java风格的编程更像脚本,并采用脚本过程来快速编写代码。 草图存储在草图簿中,该簿册是一个文件夹,用作保存所有项目的默认位置。 可以从【文件 → 草图簿】中访问存储在草图簿中的草图。 或者,可以使用【文件 → 打开】...从系统的其他位置打开草图。

 

高级程序员无需使用PDE,而是可以选择将其库与所选的Java环境一起使用。 但是,如果您只是入门,建议您在前几个项目中使用PDE,以熟悉操作方式。 虽然Processing是基于Java的,但它绝不是要成为具有培训能力的Java IDE。 为了更好地面向目标受众,概念模型(程序如何工作,界面如何构建以及文件如何处理)与Java有所不同。

 

 

 

大家好

 

只是画一条线:

line(15, 25, 70, 90);

输入此代码,然后按“运行”按钮,该按钮看起来像任何音频或视频设备中的“播放”按钮。

您的代码将显示在新窗口中,带有灰色背景和从坐标(15,25)到(70,90)的黑线。

 

(0,0)坐标是显示窗口的左上角。在此程序的基础上更改显示窗口的大小并设置背景颜色,请输入以下代码:

 

size(400, 400);
background(192, 64, 0);
stroke(255);
line(150, 25, 270, 350);

窗口大小设置为400 x 400像素,

背景颜色设置为橙红色

绘制线条颜色设置为白色

绘制线条起始点(150,20),结束点(270,350)

默认情况下,颜色的指定范围是0到255。

stroke()函数的参数的其他变体提供了替代结果:

 

stroke(255);               // 设置边框颜色为 白色
stroke(255, 255, 255);     // 设置边框颜色为(红色=255,绿色=255,蓝色=255)
stroke(255, 128, 0);       // 设置边框颜色为(红色=255,绿色=128,蓝色=0)
stroke(#FF8000);           // 设置边框颜色为 十六进制颜色
stroke(255, 128, 0, 128);  // 设置边框颜色为(红色=255,绿色=128,蓝色=0,透明度=128)

 

对于fill()函数(用于设置填充颜色)

background()函数(用于清除显示窗口),可以使用相同的替代方法。

像所有影响图形属性的处理功能一样,填充和描边颜色会影响绘制到屏幕上的所有几何图形,直到下一个填充和描边功能。

 

 

 

鼠标

以语句列表形式编写的程序(如前面的示例一样)称为静态草图。

在静态草图中,一系列功能用于执行任务或创建单个图像,而无需任何动画或交互。

交互式程序被绘制为一系列框架,您可以通过添加标题为setup()和draw()的函数来创建它们,

如下面的代码所示。 这些是自动调用的内置函数。

 

void setup() 
{size(400, 400); background(192, 64, 0);
} 
void draw() 
{stroke(255);line(150, 25, mouseX, mouseY);
}

setup()运行一次,而draw()重复运行。

setup()可以用于任何初始化。 设置屏幕尺寸,将背景设为橙色,并将笔触颜色设置为白色。

size()函数必须始终是setup()中的第一行。

draw()块用于处理动画。

由于background()函数仅使用一次,因此在移动鼠标时,屏幕将用线条填充。

要仅绘制跟随鼠标的一行,请将background()函数移至draw()函数

每次draw()运行时清除显示窗口(用橙色填充)。

 

void setup() 
{size(400, 400);  
}
void draw() 
{background(192, 64, 0);stroke(255);line(150, 25, mouseX, mouseY);
}

 

静态程序最常用于极其简单的示例,或者用于以线性方式运行然后退出的脚本。

例如,静态程序可能会启动,将页面绘制为PDF文件,然后退出。

 

大多数程序将使用setup()和draw()块。 还可以引入更高级的鼠标处理方式。

例如,每当按下鼠标时都会调用mousePressed()函数。

在下面的示例中,当按下鼠标时,通过background()函数清除屏幕:

 

void setup() 
{size(400, 400); 
}void draw() 
{stroke(255);line(150, 25, mouseX, mouseY);
}void mousePressed() 
{background(192, 64, 0);
}

 

 

 

分享

processing环境最重要的功能之一就是能够一键将草图捆绑到应用程序中。

选择【文件→导出应用程序】以将当前草图打包为应用程序。

这会将您的草图捆绑为Windows,Mac OS X或Linux的应用程序,具体取决于要从哪个操作系统导出。

每次导出时,应用程序文件夹都会被覆盖-在更改文件夹的内容之前,将其复制或从草图文件夹中删除。

或者,您可以在“首选项”中关闭自动文件擦除。

有关导出功能的更多信息,请参见以下参考资料:http://processing.org/reference/environment/#Export

 

 

 

保存图片

如果您不想分发实际的项目,则可能要创建其输出的图像。

图像使用saveFrame()函数保存。

在draw()的末尾添加saveFrame()将产生程序输出的一系列TIFF格式图像,分别名为screen-0001.tif

每次draw()运行时,都会保存一个新文件-注意,这可以迅速将数百个文件填充到您的草图文件夹中。

您还可以使用以下功能为要保存的文件指定自己的名称和文件类型:

 

saveFrame("output.png");

 

要对带编号的序列执行相同的操作,请在应放置数字的位置使用#(井号):

 

saveFrame("output-####.png");

 

为了获得高质量的输出,您可以将几何图形写入PDF文件而不是屏幕中,如稍后有关size()函数的部分所述。

 

 

 

实例/参考

 

当许多程序员在学校学习代码时,其他人则自学。独立学习包括查看许多其他代码:运行、修改、破坏和增强代码,直到可以将其重塑为新的代码。考虑到这个学习模型,下载的处理软件包括数百个示例,展示了环境和API的不同特性。

 

可以从【文件→范例程序】访问示例。它们根据功能(如运动、排版和图像)或它们使用的库(PDF、网络和视频)被分为不同的类别。

 

在列表中找到一个有趣的主题并尝试一个示例,您将看到熟悉的函数,例如stroke()、line()和background(),以及其他尚未介绍的函数。

 

要查看函数的工作方式,请选择其名称,然后右键单击并从弹出菜单中选择“在参考文档中搜索”

也可以在“帮助”菜单下找到“在引用中查找”。这将在默认web浏览器中打开该函数的引用。

 

1.gif

 

 

除了对函数(功能)语法的描述外,每个引用页还包含一个使用该函数(功能)的示例。与较长的代码示例相比,引用示例要短得多(通常是每行四到五行),而且更容易理解。

 

 

 

size()简介

 

函数(功能)的作用是:设置全局变量宽度和高度。

(对于大小取决于屏幕的对象,始终使用宽度和高度变量而不是数字。这可以防止更改size()行时出现问题。)

 

size(400, 400);//指定屏幕中间的错误方法
ellipse(200, 200, 50, 50);// 始终位于中间,无论size()行如何更改
ellipse(width/2, height/2, 50, 50);

 

在前面的示例中,size()函数只为要创建的窗口指定了宽度和高度。size()函数的可选参数指定图形的呈现方式。渲染器处理如何为特定输出函数(无论是屏幕,还是由高端图形卡驱动的屏幕,或PDF文件)实现处理API。

默认的渲染器在处理高质量的二维矢量图形方面做得很好,但代价是速度。特别是,直接使用像素是很慢的。处理过程中还包括其他几个渲染器,每个渲染器都有一个唯一的函数。冒着过于深入了解细节的风险,下面将介绍处理过程中使用的其他可能的绘图模式。

 

size(400, 400, P2D);

P2D渲染器使用OpenGL快速渲染二维图形,同时使用Processing的简单图形api和Processing开发环境的简单应用程序导出。

size(400, 400, P3D);

P3D渲染器使用OpenGL进行快速渲染。它可以在空间中绘制三维对象和二维对象,也可以绘制照明、纹理和材质。

 

import processing.pdf.*;size(400, 400, PDF, "output.pdf");

PDF渲染器将所有几何图形绘制到一个文件,而不是屏幕。要使用PDF,除了更改size()函数外,还必须从“草图”菜单中选择“导入库”,然后选择“PDF”。这是默认渲染器的堂兄弟,但直接写入PDF文件。

加载和显示数据

处理API的一个独特方面是处理文件的方式。

loadImage()和loadStrings()函数都希望在名为data的文件夹中找到一个文件,该文件夹是sketch文件夹的子目录。

 

高级主题:关于数据文件夹的说明

 

当处理本地测试但部署在web上的代码时,data文件夹解决了一个常见的问题。与Java一样,用处理方式编写的软件也受到安全限制,这些限制决定了程序如何通过网络访问本地硬盘或其他服务器等资源。这可以防止恶意开发人员编写可能危害计算机或数据的代码。

 

在开发过程中,安全限制可能很难处理。在本地运行程序时,可以直接从磁盘读取数据,但数据必须相对于用户的“工作目录”(通常是应用程序的位置)放置。联机运行时,数据必须来自同一服务器上的某个位置。它可能与代码本身捆绑在一起(在JAR存档中,稍后讨论;或者来自同一服务器上的另一个URL)。对于本地文件,可以使用Java的FileInputStream类。如果文件捆绑在JAR存档中,则使用getResource()函数。对于服务器上的文件,可以使用URL.openStream()。在从开发到部署的过程中,可能需要使用所有这三个功能。

 

通过processing,每个场景(以及其他一些场景)都由文件API函数透明地处理。通过将资源放置在数据文件夹中,处理将文件打包以供联机和脱机使用。

 

loadStrings()(将文本文件读入字符串对象数组)

loadImages()(将图像读入正在处理的图像数据容器PImage对象)

 

// 从程序目录文件夹中的data文件夹中,加载文本文件和JPEG图像的示例String[] lines = loadStrings("something.txt");
PImage image = loadImage("picture.jpg");

 

 

如果您了解数据类型和类的编程概念,那么这些示例可能更容易阅读。每个变量都必须有一个数据类型,如String或PImage。String[]语法表示“类String的数据数组”。这个数组是由loadStrings函数创建的,并被赋予了名称;它可能会在以后的程序中以这个名称使用。loadStrings创建数组的原因是它将something.txt文件拆分为单独的行。下面的函数创建一个名为image的PImage类变量。

 

若要将文件添加到处理草图的数据文件夹中

  1. 请使用“速写本→添加文件”菜单选项
  2. 或将文件拖动到PDE的编辑器窗口中。如果数据文件夹不存在,将自动创建它。

 

要查看“速写本”文件夹的内容,请使用“草图→打开程序目录”菜单选项。

 

 

库中添加新功能

 

库是指定格式的代码集合,使其易于在处理过程中使用。库对于项目的增长非常重要,因为它们让开发人员可以让用户访问新功能,而无需将它们作为核心处理API的一部分。

 

几个核心库附带处理。这些库可以在联机参考的“库”部分中看到(也可以从PDE中的“帮助”菜单中获得)http://processing.org/reference/libraries/

 

一个例子是PDF导出库。这个库使直接从处理中写入PDF文件成为可能。这些矢量图形文件可以缩放到任何大小并以非常高的分辨率输出。若要在项目中使用PDF库,请选择“速写本→引用库文件→PDF”。这将在草图顶部添加以下行:

 

import processing.pdf.*;

 

Java程序员将识别import命令。在处理过程中,这一行还用于确定当导出为applet或应用程序时,哪些代码与草图一起打包。既然导入了PDF库,就可以使用它创建文件。例如,下面的代码行创建了一个名为lines.PDF的新PDF文件,您可以将其绘制到该文件中。

 

beginRecord(PDF, "lines.pdf");

 

每个绘图函数,如line()和elliple()现在将绘制到屏幕和PDF。其他库提供了一些功能,例如从相机读取图像、发送和接收MIDI和OSC命令、复杂的3D相机控制以及对MySQL数据库的访问。

 

 

草图和脚本

 

处理草图由一个或多个选项卡组成,每个选项卡代表一段代码。该环境是围绕几个代码页的项目设计的,通常总共有三到五个选项卡。这涵盖了为测试和原型思想而开发的大量项目,通常是在将它们嵌入到更大的项目或构建更健壮的应用程序以进行更广泛的部署之前。

 

草图的思想与脚本的思想是相同的,只是您不是在使用解释性脚本语言,而是在编译为Java类文件时获得性能优势。当然,严格地说,Java本身就是一种解释性语言,但是它的字节码编译使它比JavaScript、Python或Ruby等语言更接近“metal”编程语言。

 

处理从来没有打算作为编程视觉效果的最终语言;相反,我们开始做一些事情:

  • 为我们自己的工作,简化我们承担的大部分任务的速写本。
  • 适合向非传统观众教授节目的节目环境。
  • 从脚本语言到更复杂或困难的语言如全面java或C++的垫脚石。

 

在这些点的交叉点是速度和简单使用之间的折衷。如果我们不关心速度,那么使用Python、Ruby或许多其他脚本语言可能是有意义的。教育方面尤其如此。如果我们不关心向更高级语言过渡,我们可能会避免使用C++或java风格的语法。但是java为草图语言提供了一个很好的起点,因为它比C++更容易宽恕,也允许用户通过网络导出草图进行分发。处理过程汇集了我们在构建此类软件(交互式作品草图或数据驱动可视化)方面的经验,并简化了我们认为应该更容易的部分,例如快速入门,以及将新用户与设置Java相关的问题隔离开来。

 

不要一开始就想建造一座大厦

 

如果您已经熟悉编程,那么理解处理与其他开发环境和语言的区别是很重要的。处理项目鼓励一种快速构建代码的工作方式,理解代码将被用作快速草图,或者在开发最终项目之前正在测试想法。这可能被误解为软件工程异端。也许我们离“黑客”不远,但这更适合于使用处理的角色。为什么要强迫学生或临时程序员在屏幕上显示与鼠标交互的内容之前先学习图形上下文、线程和事件处理函数?高级开发人员也是如此:为什么他们在开始一个项目时总是需要从相同的两页代码开始?

 

在另一个场景中,快速尝试的能力远高于复杂的代码结构。通常你不知道结果会是什么,所以你可能会在一周内建立一些东西来尝试一个最初的假设,然后在下一周根据第一周所学的知识建立一些新的东西。为此,在开始编写处理代码时请记住以下注意事项:

  • 在代码中创建不必要的结构时要小心。当您学习如何将代码封装到类中时,很容易创建更小的类,因为数据总是可以进一步提取的。你需要分子、原子或夸克级别的课程吗?原子变小并不意味着我们需要在较低的抽象层次上工作。如果一个类只有半页,那么有六个额外的子类,每个子类都有半页长,这有意义吗?如果一个类总共是一页半,同样的事情能完成吗?
  • 考虑一下这个项目的规模。在第一天构建企业级软件并不总是必要的。首先探索:找出帮助回答问题和满足好奇心所需的最少代码。

 

争论的焦点不是避免不断地重写,而是推迟工程工作直到合适为止。从哪里开始设计一个软件的门槛比传统的编程项目要晚得多,因为快速迭代的早期过程有一种艺术。当然,一旦事情进展顺利,就要避免为了自己的利益而重写的冲动。当处理完全不同的问题时,应该使用重写。如果你已经做到了一针见血,你应该重构来清理函数名和类交互。但是,完全重写已经完成的代码几乎总是一个坏主意,不管它看起来多么“简单粗暴”。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 记人生第一次实习

    时间:2019.11.27-2020.02.26本人大三上,双非普通一本计算机网络工程专业,应聘的是PHP实习生岗位。鼓起勇气从西安来到北京进行了人生的第一次实习。感受嘛,西二旗也太挤了吧,哭辽,,,,,刚来的一周,主要是熟悉业务,这边主要是做招聘方面客户端的业务。emmmm,跟在学校…...

    2024/4/21 22:58:40
  2. 初级算法:桶排序

    桶排序指一种最基础的排序,虽然并不能算是最方便的排序但是要比一般的传统排序要快一点。桶排序中将一组数组视为一个一个的水桶,水桶表示输入的数据值是几,即数组的下标。而水桶里面放的数据则表示该数字出现了几次,即数组中存放的数据表示了改数组下标所表示的数字出现的…...

    2024/4/11 22:55:38
  3. 英语翻译

    O 翻译一篇英文技术文档 KR...

    2024/4/9 19:16:24
  4. Json文件解析(上)

    Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src=“https://img.shields.io/badge/GitHub-Sponsors-ff69b4” v:shapes="_x0000_i1025"> 设计目标 赞助商 积分 CMake的 包装经理 包配置 例子 JSON作…...

    2024/4/9 19:16:23
  5. 百度AI - 对接百度AI 增值税发票识别接口

    文章目录百度AI - 对接百度AI 增值税发票识别接口1、注册应用并获取应用AK,SK2、编写请求方法3、上传发票并读取发票内容4、输出结果 百度AI - 对接百度AI 增值税发票识别接口1、注册应用并获取应用AK,SK 获取access_token 代码 if __name__ == __main__:# 获取 access_token 一…...

    2024/4/30 14:48:22
  6. Android ExoPlayer 集成使用以及源码分析

    一、简要介绍ExoPlayerAndroid框架本身提供了MediaPlayer来实现媒体播放。还提供了其他媒体api框架,如MediaCodec、AudioTrack和MediaDrm,可用于构建自定义媒体播放器解决方案。 ExoPlayer是一款开源的应用级媒体播放器,可以参考官网Git ExoPlayer是Android的应用程序级媒体…...

    2024/4/30 16:09:15
  7. 14.13 查找职工

    14.13 查找职工 按照编号和姓名两种方式进行查找 1、实现功能 先声明 在这里插入代码片再实现 先让用户进行选择查找的方式,再进行查找 //查找职工 void WorkerManager::find_Emp() {if (this->m_FileIsEmpty){cout << "文件不存在或记录为空!" << …...

    2024/4/22 23:02:09
  8. 高精度加法

    步骤 ①存储大整数 例 有一个大整数 123456789 把其存入数组 倒着存储 a[0] = 9;a[1] = 8;a[2] = 7;…;a[8] = 1; ②运算,模拟人工加法A[3] A[2] A[1] A[0]+ B[2] B[1] B[0] --------------------------C[3] C[2] C[1] C[0]C[I] = A[I] + B[I] +T//T为上一位的进位…...

    2024/5/3 20:35:28
  9. Leetcode 513. 找树左下角的值 C++

    Leetcode 513. 找树左下角的值 题目 给定一个二叉树,在树的最后一行找到最左边的值。 测试样例 示例 1: 输入:2/ \1 3输出: 1示例 2: 输入:1/ \2 3/ / \4 5 6/7输出: 7注意: 您可以假设树(即给定的根节点)不为 NULL。 题解 中序遍历,同时记录树的高度。如果这个高…...

    2024/5/4 4:22:44
  10. git常用命令

    一、Git命令 查看、添加、提交、删除、找回,重置修改文件git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id git co -- <file> # 抛弃工作区修改 git co . # 抛弃工作区修改 git add <file> # 将工作文件修改提交到本…...

    2024/4/22 6:26:12
  11. Markdown公式笔记(二):累加累乘和积分求导

    累加符号 累加符号用 \sum_{下面内容}^{上面内容} 表示。 代码:$$\sum_{i=1}^{n}w_ix_i=w^T\vec{x}$$表示如下: ∑i=1nwixi=wTx⃗\sum_{i=1}^{n}w_ix_i=w^T\vec{x}i=1∑n​wi​xi​=wTx 累乘符号 将累加符号的 \sum 换成 \prod 即可。 代码:\ln \prod_{i=1}^{n}x_i=\su…...

    2024/5/5 6:46:34
  12. 数据库查询中where和having的用法

    数据库查询中where和having的用法类型使用的角度 类型 “where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用“聚合函数”; “having”是一个过滤声明,所谓过滤是在查询数据库的结果返回之后进行…...

    2024/4/9 19:16:16
  13. antd的Form表单控制实例的使用

    Form表单的控制实例一、业务常景:二、使用Form表单的实例来解决: 一、业务常景: 遇到一种业务场景,即一个简单的Modal框+ Form的一个组合,仔细思考了一下,和我们平时直接使用Form表单还是有一定的区别,我们通常是通过给Form表单绑定onFinish的回调函数,但是这里的业务需…...

    2024/4/9 19:16:14
  14. 2020.7.14课堂笔记(一维数组及典型应用)

    Demo1: /*** @Author: ChaoKeAiMuZhi* @Date: 2020/7/14 14:04* @Description:**/ public class Demo1 {public static void main(String[] args) {//声明int[] a;String b[];double []c;//分配空间,使用new关键字来分配空间,// new关键字是java中优先级最高的,使用一个东西要…...

    2024/4/25 4:09:33
  15. element的form表单的label文字加空格(el-form-item的参数label的另一种写法)

    16.element的form表单的label文字加空格(el-form-item的参数label的另一种写法)<el-form-item class="wo-form-item" :label-width="woFormLabelWidth" prop="others"><label slot="label"> 其他评价</label> /…...

    2024/5/2 21:35:42
  16. 内存管理

    1 内存碎片问题应用程序频繁地请求和释放不同大小的内存,必然导致内存碎片问题的产生,结果就是当再次要求分配连续的内存时,即使整体内存是足够的,也无法满足连续内存的需求,该问题也称之为外碎片(external fragmentation)。1.1 避免外碎片的方法方案一:使用地址转换技术…...

    2024/4/17 6:53:32
  17. 搬砖笔记-CRLF注入

    ** 漏洞原理 ** CRLF 指的是回车符(CR,ASCII 13,\r,%0d) 和换行符(LF,ASCII 10,\n,%0a) Windows:使用CRLF表示行的结束 Linux/Unix:使用LF表示行的结束 MacOS:早期使用CR表示,现在好像也用LF表示行的结束 在HTTP报文结构中,状态行和首部中的每行都是以CRLF结束,首部…...

    2024/4/25 23:29:49
  18. JAVA 嵌套循环三角形

    直角三角形。J<=行数。每行递增System.out.println("直角三角形");for(i=1;i<=9;i++){for(j=1;j<=i;j++){System.out.print("※");}System.out.print("\n"); }倒直角三角形,J>=i。每行递减System.out.printf("倒直角三角形&qu…...

    2024/4/27 1:07:25
  19. Ubuntu安装apache2后无法解析php代码

    apache2无法解析php代码在/etc/apache2/apache2.conf文件中添加下面两行即可:AddHandler php5-script .php .htmlAddType text/html .php .html保存后重启apache2:...

    2024/4/9 19:16:12
  20. MVC模式和MVT模式的对比

    MVC模式:M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。 V全拼为View,用于封装结果,生成页面展示的html内容。 C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。 MVT模式:M全拼为Model,与MVC中的M功能…...

    2024/4/13 16:46:36

最新文章

  1. NLP从入门到实战——命名实体识别

    1. 命名实体识别 1.1 概念 中文命名实体识别&#xff08;Named Entity Recognition&#xff0c;NER是指识别中文文本中实体的边界和类别。命名实体识别是文本处理中的基础技术&#xff0c;广泛应用在自然语言处理、推荐系统、知识图谱等领域&#xff0c;比如推荐系统中的基于…...

    2024/5/6 8:19:56
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. springboot websocket 持续打印 pod 日志

    springboot 整合 websocket 和 连接 k8s 集群的方式参考历史 Java 专栏文章 修改前端页面 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Java后端WebSocket的Tomcat实现</title><script type"text/javasc…...

    2024/5/5 1:29:39
  4. 前端 js 经典:字符编码详解

    前言&#xff1a;计算机只能识别二进制&#xff0c;开发语言中数据类型还有数字&#xff0c;字母&#xff0c;中文&#xff0c;特殊符号等&#xff0c;都需要转化成二进制编码才能让技术机识别。 一. 编码方式 ACSLL、Unicode、utf-8、URL 编码、base64 等。 1. ACSLL 对英语…...

    2024/5/4 10:30:35
  5. DevOps三步法之反馈:流动是油门,反馈是刹车

    打个比方&#xff0c;流动是油门&#xff0c;反馈是刹车。流动是关于行使&#xff0c;反馈是关于安全。车辆要想持续平稳运行&#xff0c;需要油门与刹车良好配合&#xff0c;否则就有可能车毁人亡。核电站需要使核反应处于临界状态&#xff0c;超出临界状态就是核爆炸这也需要…...

    2024/5/3 14:13:48
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/5 18:19:03
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/5 12:22:20
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/5 19:59:54
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/6 7:24:07
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/5 15:25:47
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/6 6:01:13
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/6 7:24:06
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/6 1:08:53
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/5 18:50:00
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/6 0:27:44
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/6 7:24:04
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/6 7:24:04
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/5 13:14:22
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/6 7:24:03
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/5 17:03:52
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/5 21:10:50
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/6 7:24:02
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/6 7:24:01
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/5 17:03:21
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/5 15:25:31
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57