Chapter 6 Managing Application Engine Programs 管理应用程序引擎程序

news2024/11/26 12:52:06

Chapter 6 Managing Application Engine Programs

管理应用程序引擎程序

Running Application Engine Programs

运行应用程序引擎程序

This section provides an overview of program run options and discusses how to:

本节提供程序运行选项的概述,并讨论如何:

  • Create process definitions.
  • 创建进程定义。
  • List process definition parameters.
  • 列出过程定义参数。
  • Start programs with the Application Engine Process Request page.
  • 使用“应用程序引擎进程请求”页面启动程序。
  • Use PeopleCode to invoke Application Engine programs.
  • 使用PeopleCode调用应用程序引擎程序。
  • Use the command line to invoke Application Engine programs.
  • 使用命令行调用应用程序引擎程序。

Understanding Program Run Options

了解程序运行选项

You run Application Engine programs in one of the following modes: batch using PeopleSoft Process Scheduler, online using a PeopleCode function, or manually using the command line. The following table lists some differences between online and batch programs:

您可以以下列模式之一运行应用程序引擎程序:使用PeopleSoft进程计划程序进行批处理、使用PeopleCode函数联机或使用命令行手动运行。下表列出了在线程序和批处理程序的一些区别:

Online Execution

Batch Execution

Started by the CallAppEngine function from PeopleCode.

Started through PeopleSoft Process Scheduler.

Program runs quickly, synchronously, and at random times.

Programs run for longer amounts of time, asynchronously, and at scheduled times.

Potential for simultaneous runs.

Can be designed for parallel runs for performance.

Uses the online temporary table pool.

Uses the batch/dedicated temporary table pool.

Batch Programs Using PeopleSoft Process Scheduler

使用PeopleSoft进程调度器的批处理程序

The most typical run mode is batch. You invoke programs that run in this mode using PeopleSoft Process Scheduler or the Application Engine Process Request page. Batch mode is also referred to as an asynchronous run, meaning that it runs independently in the background. Application Engine runs on any operating system that Oracle supports as an application server. If your site uses an operating system that is not supported for Application Engine, you must run Application Engine programs on the application server.

最典型的运行模式是批处理。使用PeopleSoft进程计划程序或“应用程序引擎进程请求”页调用在此模式下运行的程序。批处理模式也称为异步运行,这意味着它在后台独立运行。应用引擎运行在任何操作系统上,甲骨文支持作为一个应用服务器。如果站点使用应用程序引擎不支持的操作系统,则必须在应用程序服务器上运行应用程序引擎程序。

To run Application Engine programs on the batch server, you must install BEA Tuxedo. This condition applies to both UNIX and Microsoft Windows NT batch servers. If you run your batch server on the same server machine as your application server, then the application server and the batch server can share one BEA Tuxedo installation. If your batch server is separate from your application server, then you must install BEA Tuxedo on your batch server.

要在批处理服务器上运行应用程序引擎程序,必须安装BEA Tuxedo。这个条件-适用于UNIX和微软Windows NT批处理服务器。如果你的批处理服务器运行在同一个服务器机器作为您的应用服务器,那么应用服务器和批处理服务器可以共享oneBEA Tuxedo安装。如果您的批处理服务器与应用程序服务器是分开的,那么您必须在批处理服务器上安装BEA Tuxedo。

The TOOLBINSRV parameter in the PeopleSoft Process Scheduler configuration file determines where PeopleSoft Process Scheduler invokes an Application Engine program. For high-volume batch environments, specify the PS_HOME\bin\server\winx86 directory that exists on the same machine where the Application Engine program runs.

PeopleSoft Process Scheduler配置文件中的TOOLBINSRV参数确定PeopleSoft Process Scheduler在何处调用应用程序引擎程序。对于大容量批处理环境,请指定PS_HOME\bin\server\winx86目录,该目录与运行应用程序引擎程序的计算机相同。

Online Programs Using PeopleCode

使用PeopleCode的在线程序

Application Engine programs that run online are typically run from a page with the CallAppEngine PeopleCode function. Such online processes are synchronous, meaning that subsequent processes wait for the results. For instance, a page may be frozen until the online process returns the necessary results. With the CallAppEngine function, no Commit statements are issued. However, if you use the asynchronous online PeopleCode option, ProcessRequest, Commit statements are allowed.

联机运行的应用程序引擎程序通常从具有CallAppEngine PeopleCode函数的页上运行。这样的在线进程是同步的,这意味着后续进程等待结果。例如,页面可能会被冻结,直到联机进程返回必要的结果。使用CallAppEngine函数时,不会发出Commit语句。但是,如果使用异步联机PeopleCode选项ProcessRequest,Commit语句是允许的。

Manual Programs Using the Command Line

使用命令行手动程序

Usually, you use this mod only during testing or if you need to restart a program manually.

通常,您只在测试期间或需要手动重新启动程序时使用此mod。

Creating Process Definitions

创建进程定义

Select PeopleTools > Process Scheduler > Process Scheduler Processes  to access the Processes Process Definition page.

选择PeopleTools》进程计划程序》进程计划程序进程 以访问“进程-进程定义”页。

This example illustrates the fields and controls on the Processes - Process Definition page.

此示例说明了Processes-Process Definition页面上的字段和控件。

To use PeopleSoft Process Scheduler for starting Application Engine batch programs, create a process definition for each program. Running Application Engine programs is similar to running any COBOL or Structured Query Report (SQR) program that you typically invoke with PeopleSoft Process Scheduler. Use Application Engine as the generic process type definition. Each Application Engine program that you invoke using PeopleSoft Process Scheduler requires a unique process definition derived from the generic process type definition.

若要使用PeopleSoft进程计划程序启动应用程序引擎批处理程序,请为每个程序创建一个进程定义。运行应用程序引擎程序类似于运行通常使用PeopleSoft进程调度程序调用的任何COBOL或结构化查询报表(SQR)程序。使用应用程序引擎作为泛型流程类型定义。使用PeopleSoft Process Scheduler调用的每个应用程序引擎程序都需要从通用进程类型定义派生的唯一进程定义。

Note: When creating a process definition based on the Application Engine process type definition, the process name you assign must match your Application Engine program name exactly.

附注:基于应用程序引擎进程类型定义创建进程定义时,分配的进程名称必须与应用程序引擎程序名称完全匹配。

Listing Process Definition Parameters

列出流程定义参数

Select PeopleTools > Process Scheduler > Process Scheduler Processes > Process Definition Options to access the Processes - Process Definition Options page.

选择PeopleTools>进程计划程序>进程计划程序进程>进程定义选项以访问进程-进程定义选项页。


This screenshot shows the Processes - Process Definition Options page.

此屏幕截图显示了流程-流程定义选项页面。

Use this page to list parameters. The complete parameter list is:

使用此页面列出参数。完整的参数列表为:

  • -ct %%DBTYPE%%
  • -cd %%DBNAME%%
  • -co %%OPRID%%
  • -cp %%OPRPSWD%%
  • -r %%RUNCNTLID%%
  • -i %%INSTANCE%%
  • -ai %%PRCSNAME%

Starting Programs with the Application Engine Process Request Page

使用“应用程序引擎进程请求”页启动程序

You also can start an Application Engine program by using the Application Engine Process Request page. Using this request page enables you to specify values and parameters in addition to those that appear within PeopleSoft Process Scheduler process definitions.

您还可以使用“应用程序引擎进程请求”页面启动应用程序引擎程序。使用此请求页面,除了PeopleSoft流程计划程序定义中出现的值和参数外,您还可以指定值和参数。

Most users start Application Engine programs from an application-specific request page using PeopleSoft Process Scheduler. A systems expert or power user may, at times, need to create custom process requests that require multiple programs to perform parallel processing or that need to set specific, initial values in a state record. You might use the Application Engine process request page for one of these cases.

大多数用户使用PeopleSoft Process Scheduler从应用程序特定的请求页启动应用程序引擎程序。系统专家或高级用户有时可能需要创建自定义流程请求——需要多个程序执行并行处理,或者需要在状态记录中设置特定的初始值。对于其中的一种情况,您可以使用Application Engine进程请求页面。

Note: Generally, if seed data or other Application Engine request settings are required for a particular program, the application-specific request page has SQL executables that do the work that is transparent to the user. Typically, no user should invoke programs from the generic process request page. Use this page for internal testing and as a basis for designing program-specific request pages.

附注:通常,如果特定程序需要种子数据或其他应用程序引擎请求设置,则特定于应用程序的请求页具有执行对用户透明的工作的SQL可执行文件。通常,任何用户都不应该从通用进程请求页面调用程序。使用此页面进行内部测试,并作为设计特定于程序的请求页面的基础。

Tables Used in the Process Request Page

处理请求页中使用的表

The Application Engine process request page inserts values into the following tables:

应用程序引擎进程请求页面将值插入到以下表中:

  • AEREQUESTTBL

Contains all of the values that appear on the page except those in the Parameters group box.

包含页面上显示的所有值,但“参数”组框中的值除外。

  • AEREQUESTPARM

Includes only initial state record values specified in the Parameters group box, if needed.

如果需要,仅包括在“参数”组框中指定的初始状态记录值。

Note: Inserting a row in either of the Application Engine request tables is not required to run an Application Engine program. This change is a key difference between Application Engine versions prior to PeopleTools 8, where a row in Application Engine request tables is required to start a program, regardless of how it is invoked. The run control ID is available to your program using %RunControl, whether or not a row is inserted into the AEREQUESTTBL table.

附注:运行应用程序引擎程序不需要在任一应用程序引擎请求表中插入行。这个变化是PeopleTools 8之前的应用程序引擎版本之间的关键区别,在PeopleTools 8之前,应用程序引擎请求表中的一行是启动程序所必需的,而不管它是如何被调用的。无论是否将行插入AE REQUEST BL表中,程序都可以使用%RunControl使用运行控制ID。

You need to use the Application Engine Request page to invoke Application Engine and insert a row into the Application Engine request records only if you need to perform any of the following tasks:

仅当需要执行以下任何任务时,才需要使用“应用程序引擎请求”页调用应用程序引擎并将行插入到应用程序引擎请求记录中:

  • Insert initial values into the state records associated with a particular program.
  • 在与特定程序相关联的状态记录中插入初始值。
  • Set an as-of date for the Application Engine program to perform retroactive processing.
  • 设置应用程序引擎程序执行追溯处理的截止日期。
  • Set a non-default market for the program.
  • 为程序设置一个非默认市场。
  • Set up a temporary table image to use if you are submitting a PeopleSoft EPM process request that performs parallel processing. Refer to PeopleSoft EPM application documentation for details.
  • 如果您正在提交PeopleSoft EPM过程请求-执行并行处理,请设置一个临时表映像。详情请参阅PeopleSoft EPM应用文档。

Note: Entries in the AEREQUESTTBL table do not have any effect on Application Engine programs called from PeopleCode using the CallAppEngine function.

附注:AE REQUEST BL表中的项对使用CallAppEngine函数从PeopleCode调用的应用程序引擎程序没有任何影响。

Application Engine Requests

应用程序引擎请求

Select PeopleTools > Application Engine > Submit AE Process Requests to access the Application Engine Request page.

选择PeopleTools>应用程序引擎>提交AE处理请求 以访问应用程序引擎请求页面。

This example illustrates the fields and controls on the Application Engine Request page. You can find definitions for the fields and controls later on this page.

此示例说明“应用程序引擎请求”页上的字段和控件。您可以在本页稍后找到字段和控件的定义。

Field or Control

Description

Process Origin

Displays where the program was invoked, from PeopleSoft Process Scheduler, from the command line, and so on.

Process Instance

Displays the process instance assigned to the previous program run.

Status

Displays the status of the last program run, whether it is successful, pending, and so on.

Process Frequency

Specify how long a particular process request will remain active or valid:

  • Always: Select to run the process request as needed.
  • Once: Select if a process request is a one-time-only request.
  • Don’t: Select to disable a process request so that no one invokes it and potentially corrupts data.

As Of Date

If you are requesting retroactive processing, specify the appropriate as of date.

Bind Variable Name

Enter the appropriate field or bind variable for which you are inserting a value.

Value

Enter the initial value that you want to set for the specified field.

Using PeopleCode to Invoke Application Engine Programs

使用PeopleCode调用应用程序引擎程序

To call a specific Application Engine program from a page using PeopleCode, use the CallAppEngine function in SavePreChange or SavePostChange PeopleCode. The basic syntax for CallAppEngine is:

若要使用PeopleCode从页调用特定的应用程序引擎程序,请使用SavePreChange或SavePostChange PeopleCode中的CallAppEngine函数。CallAppEngine的基本语法为:

CallAppEngine(applid[, statereclist, processinstance, allowcommit]

Note: The RemoteCall function is no longer valid for invoking Application Engine programs in

PeopleCode. However, the RemoteCall function still applies to calling other COBOL functions. If you do not convert the RemoteCall PeopleCode that previously called an Application Engine program to use the new function, an error message appears.

附注:RemoteCall函数不再适用于调用PeopleCode中的应用程序引擎程序。但是,RemoteCall函数仍然适用于调用其他COBOL函数。如果不转换以前调用应用程序引擎程序的RemoteCall PeopleCode以使用新函数,则会出现错误消息。

Use CallAppEngine if the program you are invoking is a quick process. Because the process is synchronous, users must wait for any process invoked by CallAppEngine to complete before starting another process. If the called program causes an unreasonable delay, then use another alternative, such as the ScheduleProcess PeopleCode function.

如果您正在调用的程序是一个快速的进程,请使用CallAppEngine。由于进程是同步的,因此用户必须等待CallAppEngine调用的任何进程完成,然后才能启动另一个进程。如果被调用的程序导致了不合理的延迟,那么使用另一种替代方法,比如ScheduleProcess PeopleCode函数。

Use CallAppEngine when you have a complex, SQL-intensive business process that must run in batch and online, or the process requires the use of dedicated temporary tables. If this is not the case, you are usually better off writing the entire program in native PeopleCode. If you have written logic in PeopleCode, presumably for online execution, and you want to reuse it in a batch program, you may be forced into row-by-row processing. Design the batch logic first and then decide whether to have a separate online version or reuse the batch code using CallAppEngine. Consider the trade-off between code reuse and performance. It is inherently more difficult, but not impossible, to develop a common solution that performs adequately in both batch and online environments.

如果您有一个复杂的SQL密集型业务流程,且该流程必须以批处理方式联机运行,或者该流程需要使用专用的临时表,请使用CallAppEngine。如果不是这种情况,通常最好用本机PeopleCode编写整个程序。如果您已经用PeopleCode编写了逻辑,假设是为了在线执行,并且您希望在批处理程序中重用它,那么您可能会被迫进行逐行处理。首先设计批处理逻辑,然后决定是使用单独的联机版本还是使用CallAppEngine重用批处理代码。考虑代码重用和性能之间的权衡。开发一个在批处理和在线环境中都能充分执行的通用解决方案本质上更困难,但并非不可能。

If you use CallAppEngine within an Application Engine PeopleCode step, you must do so carefully and selectively. See the “Application Engine Considerations” section in “CallAppEngine” (PeopleCode Language Reference). If you need to call an Application Engine program from another Application Engine program, you can also use the Call Section action.

如果您在应用程序引擎PeopleCode步骤中使用CallAppEngine,则必须谨慎且有选择地这样做。请参阅"CallAppEngine"(PeopleCode Language Reference)中的"应用程序引擎注意事项"部分。如果需要从另一个应用程序引擎程序调用一个应用程序引擎程序,也可以使用Call Section操作。

Do not use CallAppEngine to control the commit operation. Programs called with CallAppEngine are embedded within a larger unit of work defined by the page trigger, such as a page save.

不要使用CallAppEngine来控制提交操作。使用CallAppEngine调用的程序嵌入在由页触发器定义的更大的工作单元中,如页保存。

However, the allowcommit option allows you to specify whether intermediate commits should be allowed in an online Application Engine program. Online Application Engine programs run in the context of application server. When the intermediate commits are enabled, the transactions that are in the context of the Application Engine program up to that commit are committed. None of the other transactions that are in the same Jolt request and are outside the context of the Application Engine program are committed. This is achieved by the use of a secondary connection to the database. Therefore, secondary connection must be enabled for this application server domain using the database flags (DbFlags) in the application server configuration file. Note that the secondary connections are enabled by default. If the secondary connection to the database is disabled and CallAppEngine is invoked with allowcommit set to True, the functionality will fall back to the default where all transactions are committed only at the end of an Application Engine program.

但是,allowcommit选项允许您指定在联机应用程序引擎程序中是否允许中间提交。在线应用程序引擎程序在应用程序服务器的上下文中运行。当启用中间提交时,将提交该提交之前应用程序引擎程序上下文中的事务。不会提交同一Jolt请求中以及Application Engine程序上下文之外的任何其他事务。这是通过使用到数据库的辅助连接来实现的。因此,必须使用应用服务器配置文件中的数据库标志(DbFlags)为此应用服务器域启用辅助连接。请注意,默认情况下启用辅助连接。如果禁用到数据库的辅助连接,并且在allowcommit设置为True的情况下调用CallAppEngine,则该功能将退回到默认状态,即仅在应用程序引擎程序结束时提交所有事务。

Important! There is no mechanism to rollback or clear the transactions that have been committed on behalf of online Application Engine programs. In case of an error or unexpected program termination, you are responsible for rolling back transactions if necessary.

重要的!没有机制来回滚或清除已代表联机应用程序引擎程序提交的事务。如果发生错误或意外的程序终止,您有责任在必要时回滚事务。

Note: Online PeopleCode that calls CallAppEngine should be set to run on the application server. You encounter performance issues if you run PeopleCode on the client in a three-tier configuration because every SQL statement that Application Engine issues must be serialized and then sent to the application server to be run.

注意:调用CallAppEngine的Online PeopleCode应设置为在应用服务器上运行。如果在三层配置的客户端上运行PeopleCode,则会遇到性能问题,因为Application Engine发出的每个SQL语句都必须序列化,然后发送到应用服务器上运行。

Related Links

“CallAppEngine” (PeopleCode Language Reference)

“DbFlags” (System and Server Administration)

相关链接"CallAppEngine""DbFlags"(系统和服务器管理)

Using the Command Line to Invoke Application Engine Programs
使用命令行调用应用程序引擎程序

You might invoke an Application Engine program through the command line to: 您可以通过命令行调用应用程序引擎程序以:

• Restart

重新启动


When a program abends, a system administrator might restart the program using the command line. If needed, you can locate all of the specific program and process information from Process Monitor in the Process Request Detail dialog box. Normally, users or system administrators perform a restart from the Process Monitor.

当程序中止时,系统管理员可能会使用命令行重新启动程序。如果需要,您可以在Process Request Detail对话框中的Process Monitor中找到所有特定程序和流程信息。通常,用户或系统管理员从进程监视器执行重新启动。

  • Develop or test
  • 开发或测试

Many developers include the command line in a batch file to launch a program they are developing or testing. This way, they can quickly execute the batch file as needed. This method also enables separation of development of the application program from its associated pages.

许多开发人员在批处理文件中包含命令行以启动他们正在开发或测试的程序。这样,他们就可以根据需要快速执行批处理文件。这种方法还使应用程序的开发与其相关的页面分离。

  • Debug
  • 调试

To debug a program running on the server, you can sign into the server (using telnet, for example) and invoke the program from the command line.

要调试服务器上运行的程序,可以登录到服务器(例如使用telnet)并从命令行调用程序。

To start an Application Engine program from the command line, you must specify the Application Engine executable (PSAE.EXE) followed by the required parameters, as shown in this example:

要从命令行启动应用程序引擎程序,您必须指定应用程序引擎可执行文件(PSAE.EXE),后跟必需的参数,如以下示例所示:

            psae -CT dbtype -CS server -CD database_name -CO oprid -CP oprpswd

 -R run_control_id -AI program_id -I process_instance -DEBUG (Y|N)

 -DR (Y|N) -TRACE <trace> value -DBFLAGS<flags> value -<TOOLSTRACESQL> value

 -TOOLSTRACEPC value -OT outtype -OF outformat -FP filepath

Or, if your command line options are stored in a text file, you can enter:

或者,如果您的命令行选项存储在文本文件中,您可以输入:

            psaeoptfilename


Note: For Microsoft Windows and UNIX servers, you must set the PS_SERVER_CFG environment variable before you invoke an Application Engine program from the command line. PS_SERVER_CFG must contain the fully qualified name of a correctly configured Process Scheduler PSPRCS.CFG file. When Application Engine runs from the command line, it resolves %PS_SERVDIR% to the value of the environment variable PS_SERVDIR instead of the parent directory of a Process Scheduler configuration.

附注:对于微软Windows和UNIX服务器,必须在从命令行调用应用程序引擎程序之前设置PS_SERVER_CFG环境变量。PS_SERVER_CFG必须包含正确配置的进程调度程序PSPRCS.CFG文件的完全限定名称。当应用程序引擎从命令行运行时,它将%PS_SERVDIR%解析为环境变量PS_SERVDIR的值,而不是Process Scheduler配置的父目录。

Command Line Options

Field or Control

Description

-CT

Specify the type of database to which you are connecting.  Values are ORACLE, MSSQL (Microsoft SQL Server), and DB2ODBC (Db2 for z/OS).

-CS

For platforms that require a server name as part of their signon, enter the appropriate server name. This option affects Microsoft SQL Server. However, for Microsoft SQL Server,  this option is valid but not required.

-CD

Enter the name of the database to which the program will connect.

-CO

Enter the user ID of the person who is running the program.

-CP

Enter the password associated with the specified user ID.

Note: Password may also be passed in encrypted form.

-R

Enter the run control ID to use for this run of the program.

-AI

Specify the Application Engine program to run.

-I

Required for restart, enter the process instance for the program run. The default is 0, which means Application Engine uses the next available process instance.

-DEBUG

This parameter controls the Debug utility. Enter Y to indicate that you want the program to run in debugging mode or enter N to indicate that you do not.

-DR

This parameter controls restart disabling. Enter Y to disable restart or enter N to enable restart.

-TRACE

To enable tracing from the command line, enter this parameter and a specific trace value. The value you enter is the sum of the specific traces that you want to enable. Traces and values are:

1: Initiates the Application Engine step trace.

2: Initiates the Application Engine SQL trace.

128:: Initiates the Application Engine timings file trace, which is similar to the COBOL timings trace.

256: Includes the PeopleCode detail timings in the 128 trace.

1024: Initiates the Application Engine timings table trace,  which stores the results in database tables.

2048: Initiates the database optimizer explain, writing the results to the trace file. This option is supported only on Oracle and Microsoft SQL Server.

4096: Initiates the database optimizer explain, storing the results in the Explain Plan table of the current database. This option is supported only on Oracle, Db2, and Microsoft SQL Server.

For example, to enable the 1, 2, and 128 traces, you would enter 131,the sum of 1, 2, and 128. To indicate that you do not want any traces, enter0. If you do not explicitly enter0,

 Application Engine uses the trace value set in PeopleSoft Configuration Manager.

8192: Sets a trace for PeopleSoft Integration Broker transform programs.

16384: Initiates the statement timings trace but stores the

results in the PS_AE_TIMINGS_LG and PS_AE_TIMINGS_ DT tables.

-DBFLAGS

To disable %UpdateStats meta-SQL construct, enter 1.

-TOOLSTRACESQL

Enable a SQL trace.

-TOOLSTRACEPC

Enable a PeopleCode trace.

Field or Control

Description

-OT

(Optional) Initialize the PeopleCode meta-variable %OutDestType (numeric).

PeopleCode example of %OutDestType:

&ProcessRqst.OutDestType = %OutDestType ⇒

;

-OF

(Optional) Initialize the PeopleCode meta-variable %OutDestFormat (numeric).

PeopleCode example of %OutDestFormat:

Query.RunToFile(Record QryPromptRecord, ⇒

%OutDestFormat);

-FP

(Optional) Initialize the PeopleCode meta-variable %FilePath (string).

PeopleCode example of %FilePath:

If All(%FilePath) Then

   &FILENAME = %FilePath | &FILENAME; &MYFILE = GetFile(&FILENAME, "E", %FileP⇒

ath_Absolute);

Else

  &MYFILE = GetFile(&FILENAME, "E", %Fil⇒

ePath_Relative);

End-If;

optfilename

If you submit a file to Application Engine as the first parameter in the command line, Application Engine reads the contents of the file and interprets the contents as if it were parameters entered on the command line. This option is intended mainly for the Microsoft Windows or UNIX Process Scheduler server environment. For example, you might enter psae $temp/myparmfile.txt.

Note: For security reasons, after Application Engine interprets the contents of the parameter file, it immediately deletes the file.

Field or Control

Description

–NOCOMMIT

(Optional) Set Y/N values for this parameter. If it is set to “Y” then it will not commit any changes to database.

Note: You can only use this parameter in a developer environment. Do not use it in a product environment.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1287334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你知道SBTM(会话式测试管理)的最佳实践吗?

看到题目是不是感觉很陌生&#xff1f;没关系&#xff0c;今天一文讲透会话式测试管理。 一&#xff1a;什么是SBTM&#xff1f; SBTMSession-based test management会话式测试管理&#xff08;简称SBTM&#xff09;。它是一种灵活的测试方法&#xff0c;强调测试人员的自主性…

Vue学习计划--Vue2(二)Vue代理方式

Vue data中的两种方式 对象式 data:{}函数式 data(){return {} }示例&#xff1a; <body><div id"app">{{ name }} {{ age}} {{$options}}<input type"text" v-model"value"></div><script>let vm new Vue({el: …

Windows下搭建私有的MQTT服务器实现多设备间实时图传

一、前言 在Windows下使用EMQX搭建自己私有的MQTT服务器,实现多设备间实时图传效果。 测试了两种场景: 【1】图像采集端:采集电脑自己的摄像,通过MQTT协议上传到MQTT服务器,图像显示端订阅采集端的主题,获取实时图像显示。 【2】设备端:ESP32 + OV2640 采集图像上传到…

华为手环 8 五款免费表盘已上线,请注意查收

华为手环 8&#xff0c;作为一款集时尚与实用于一体的智能手环&#xff0c;不仅具备强大的功能&#xff0c;还经常更新的表盘样式&#xff0c;让用户掌控时间与健康的同时&#xff0c;也能展现自己的时尚品味。这不&#xff0c;12 月官方免费表盘又上新了&#xff0c;推出了五款…

【面试】Java最新面试题资深开发-JVM第一弹

问题一&#xff1a;Java中的垃圾回收机制 在Java中&#xff0c;垃圾回收是如何工作的&#xff0c;可以简要描述一下垃圾回收的算法有哪些吗&#xff1f; 在Java中&#xff0c;垃圾回收是一种自动管理内存的机制&#xff0c;它负责识别不再被程序引用的对象并释放其占用的内存…

常见的DOS命令、Java开发环境搭建、配置Path环境变量

目录 一、常见的DOS&#xff08;Disk Operating System、磁盘操作系统&#xff09;命令 二、Java开发环境搭建 1、什么是JDK、JRE 2、JDK版本选择 3、JDK的下载 三、配置Path环境变量 1、理解path环境变量 2、为什么配置path 3、如何配置 一、常见的DOS&#xff08;Dis…

实力出圈,开源网安连续4年入选中国网络安全企业100强

近日&#xff0c;安全牛第十一版《中国网络安全企业100强》正式发布。开源网安突出的综合实力、技术创新能力&#xff0c;以及前沿技术的落地应用成果&#xff0c;再次受到权威认可&#xff0c;从数百家安全厂商中脱颖而出&#xff0c;连续多年上榜百强榜单。 《中国网络安全企…

葡萄酒中的各种化合物都起着什么重要作用?

葡萄酒中的单宁和香兰素等酚类化合物是可以从橡木酒桶中陈酿中提取的。儿茶素是类黄酮&#xff0c;有助于构建各种单宁&#xff0c;并有助于感知葡萄酒中的苦味。它们在葡萄籽中浓度最高&#xff0c;但也存在于葡萄皮和茎中。儿茶素在葡萄浆果的微生物会在防御中发挥作用&#…

新生报到管理系统

【摘要】 随着我国教育水平的提高和新生数量的增加&#xff0c;合理妥善高效的进行新生接待&#xff0c;不但成为各个学校亟待解决的问题&#xff0c;对于广大新生来说&#xff0c;也是最先让他们了解学校形象的一个好机会。但是许多学校没有采用通过高效的系统来操作解决新生…

容器安全是什么

容器安全是当前面临的重要挑战之一&#xff0c;但通过采取有效的应对策略&#xff0c;我们可以有效地保护容器的安全。在应对容器安全挑战时&#xff0c;我们需要综合考虑镜像安全、网络安全和数据安全等多个方面&#xff0c;并采取相应的措施来确保容器的安全性。 德迅蜂巢原…

使用cpolar内网穿透实现内网SeaFile私有云盘的公网访问

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4.公网访问测试5.结语 1. 前言 现在我们身边的只能设备越来越多&#xff0c…

SR锁存器—>带EN的SR锁存器—>D锁存器—>边沿触发式D触发器—>寄存器

其实选择与非门当做构成SR锁存器的基本逻辑电路是有漏洞的&#xff0c;所以才导致了后续的都为低电平的时候&#xff0c;Q和非Q都是亮起的。但是我们设计的初衷是&#xff1a;Q和非Q是互斥的&#xff0c;是不能同时亮起的&#xff0c;且为了达到这一点&#xff0c;要使得其中两…

一文介绍接口测试中的请求和响应

在测试工作中&#xff0c;我们经常要对web应用或者app进行接口测试&#xff0c;接口测试过程中最重要的就是掌握一个接口中的请求和响应。本文主要是为大家介绍一下接口中的请求和响应到底是什么&#xff0c;在前后端交互中主要起什么作用。 一&#xff1a;介绍一下HTTP 我们…

二维码智慧门牌管理系统升级:智能化制牌申请管理

文章目录 前言一、问题与解决方案&#xff1a;二、未来展望&#xff1a; 前言 二维码智慧门牌管理系统在城市管理中发挥重要作用&#xff0c;为解决传统门牌制作中繁琐、周期长和低效的问题&#xff0c;系统升级后的制牌申请管理功能带来更为便捷的解决方案。 一、问题与解决方…

Tkinter 面向对象框架《二》

一、说明 Tkinter 教程 开发完整的 Tkinter 面向对象应用程序开发完整的 Tkinter 面向对象应用程序。 即使OOP的高手&#xff0c;也未必对面向对象全部掌握。至于 Tkinter的OOP编程&#xff0c;其实高手们也是在摸索实践中。 为了面向对象和Tkinter参与本教程。如果你来这里纯…

【ArcGIS Pro】探索性插值无法覆盖所需shp范围

做个小记录自用&#xff0c;实际不准。 1 看看就行 pro插值 看看过程就行。有详细过程&#xff0c;类似tutorial https://learn.arcgis.com/zh-cn/projects/interpolate-temperatures-using-the-geostatistical-wizard/ 2 注意用投影坐标系 wgs84转投影坐标系 https://blog…

关于“你对SpringCloud的理解”

看看普通人和高手是如何回答这个问题的&#xff1f; 普通人 Spring Cloud 是一套微服务解决方案 它包括配置中心、RPC 通信、服务注册、服务熔断等组件 高手 Spring Cloud 是一套 分布式微服务的技术解决方案 它提供了快速构建分布式系统的 常用的一些组件 比如说配置…

腾讯云服务器上安装nginx部署前端

1.宝塔面板 安装nginx 2.配置nginx

使用激光雷达(LiDAR)和相机进行3D物体跟踪

使用相机和激光雷达进行时间到碰撞&#xff08;TTC&#xff09;计算 在我的先前文章中&#xff0c;我介绍了通过检测关键点和匹配描述符进行2D特征跟踪的主题。在本文中&#xff0c;我将利用这些文章中的概念&#xff0c;以及更多的内容&#xff0c;开发一个软件流水线&#xf…

【ArcGIS Pro微课1000例】0050:如何清除坐标系信息

文章目录 一、目的二、方法1. 使用【定义投影】工具2. 清除数据的投影信息3. 删除坐标文件 一、目的 地理信息数据的坐标系是将地理信息数据进行融合、叠加、分析的重要数学框架&#xff0c;而其描述信息是非常重要的元数据&#xff0c;涉及整个国家的测绘坐标系统&#xff0c…