ORACLE EBS系统应用基础概述(1)
一、前言
有网友在论坛发帖惊呼:好不容易把EBS系统安装好了,进去一看傻眼了,不知道从哪儿下手?发出惊叹的这位网友所遇到的问题,实际上也是很多人曾经遇到或正在遇到的问题。长期以来,国内的非专业人士(例如媒体)提及SAP或ORACLE的时候,有不少人喜欢用“超级难懂”来形容。那么,国内专业人士的看法又如何呢?笔者所听到过的最“雷”的说法来自一位国内软件研发的高层主管:SAP/ORACLE太复杂了,其背后的东西、深层次的东西,我们永远不可能搞懂!
真是太不可思议。一方面,国内的业内人士几乎众口一词,我们与SAP/ORACLE相比,技术上没有多大差距,平台工具都是公开的,也没有什么奥秘可言。SAP/ORACLE由于产品做得早,我们在技术上甚至还有后发优势。另一方面,我们也常常听到国内有些人将SAP/ORACLE神秘化,认为其包含“复杂的、深刻的管理思想”,是德国人/美国人的东西,我们中国人的企业管理水平低,用不了是正常的。国情不同,模式不同,中国人应该寻找一条适合自己的道路!
真的是这样吗?SAP/ORACLE产品真的是那么神秘、高不可攀?今天专业从事ERP工作的人员,若从个人背景角度来看,通常可以划分为“技术出身”与“业务出身”两类。“技术出身”的人在学习熟悉系统方面可能有一定优势,但与用户沟通交流的过程中,在迅速准确把握业务本质要领方面可能存在一定困难;而“业务出身”的人,对于与用户的业务沟通交流可能感觉比较容易,但在研究掌握系统方面则可能相对困难一些。根据笔者曾经做过的调查统计,国内ERP从业人员中“技术出身”的人似乎占了绝大多数。
ORACLE EBS 作为一个有百多个业务应用模块、高度集成的企业管理软件系统,它是现代计算机技术与企业管理实践的高度融合。它不是模仿企业手工业务过程的“电算化”简单再现,或许正是让很多人感到其“难懂难用”的根本原因所在。因此,“从实践中来,再到实践中去”,或曰“从业务透视技术,再从技术回归业务”也许正是我们一步一步叩开ORACLE EBS的大门,徜徉其间并游刃有余的方法论。(这里的所谓“技术”意指“系统实现”)。
业内对于专业从事ERP工作的人员,大致有以下三种分类:一类是所谓“技术顾问”,对于这些人来说,掌握相应的软件开发技能是必要条件,其工作领域的重点一般主要是在系统后台,类似开发系统接口、业务报表,解决一些系统的技术问题等等;二类是所谓“功能顾问”,这些人对于系统的相关模块有不同程度的熟悉,通常是在指导企业使用系统,或努力地在把企业的业务要求变为系统的实现方案;三类是所谓“管理顾问”,这些人通常有比较丰富的企业管理实战经验积累,同时对ERP系统也有比较深刻的认识,能够从企业管理业务流程的整体高度给出咨询建议,最大限度地发掘出ERP系统对于企业管理水平提高的重要作用(这里的“管理顾问”是特指,有别于市面上众多不懂系统、只会“纸上谈兵”的忽悠型“管理顾问”)。
实际工作中,上述三类人员前后之间可能并无明确的划分界线,但大体上有一个随着系统认识水平的提高以及业务运作经验的积累,由低到高发展的过程。因此,如何实现“从业务角度去透视技术,从技术角度去回归业务”是业内人员所面对的永恒命题,能达到业务与技术的“融会贯通”则是追求的最高境界。为此,本篇将从博大精深的ORACLE EBS系统最基本的应用基础组成元素开始,从业务—技术—业务,探讨让有些人高深莫测、妄自菲薄的所谓“其背后的东西、深层次的东西”到底是些什么,以便能够最终寻找到帮助我们登堂入室的钥匙与途径。
二、表单与查询(Form and Summary)
企业在手工模式下的业务运作过程中,总有各种各样的用于记录业务数据或管理信息的纸面单据,例如“销售订单、采购订单、入库单、出库单”等等。随着业务量的增加,这些纸面单据的数量是如此之多,以致于企业不得不花费大量人力,将每张单据上的重要信息摘要出来(例如采购订单上的供应商、物料、数量、价格、金额、日期等),另外建立一个数据记录的“索引、清单或台账”等, 以方便能在需要时对它们进行查询或统计。
一个最简单的软件管理系统,就是把上述纸面单据“电子化”后放入系统,然后再提供一个在系统里查找这些单据的“查询”功能。如果你去研究一下目前国内的主流ERP产品,你就会发现这些主要用于中低端市场的国内ERP产品,其每个模块中的应用功能实际主要就是“单据新增与单据查询”这两项。其单据在系统中的格式和内容与纸面单据是如此近似相像,以致于大多数企业人员学习掌握它们不会感觉有多大困难。
在ORACLE EBS的每个模块中,同样也是要用到各种单据(Form)来录入或保存数据(对应于后台数据库中的“表”),并为之提供相应的查询功能,但ORACLE中的系统单据已经不是纸面单据的简单再现。系统的UI界面中可以见到各种“表单”(据统计约有3000多种),它们不仅不同于纸面单据,相互之间的性质及查询方式差别也可能很大。归纳起来,ORACLE各模块中的“表单”按性质与作用大体可分为三大类:
第一类是“业务流程”类表单,例如“销售订单SO、采购订单PO、制造工单WO、发票INVOICE”等等,它们有一个共同的特点是参与核心业务流程的运转,是核心业务流程的一个环节、不可或缺。这一点显然也是和实际的企业业务过程是高度相对应的。作为业务的原始凭据凭证,它们是如此重要,即使是IT系统化之后,大多数企业可能还是要将它们的纸面形态予以保存、归档。
在ORACLE EBS中,“业务流程”类表单种类其实很少(每个模块一般仅一、两个左右),但每种单据随时间日积月累,业务数据量可能很大。业务流程类表单是系统中最重要的表单,与纸面单据相比,内容更为丰富和复杂,格式也有很大的变化,它充分利用了数据库技术所提供的可容纳性、可扩展性以及使用便利性。它来源于业务实践,但经高度抽象并融入最新科技成就后,其功能与作用又远远高于原始的纸面单据。如图1的PO表单:

PO表单是一个典型的“业务流程”类表单,它有“表头与表体行”两大部分组成,这一点与纸面单据仍然类似。但不同的是系统表单的每一个“表体行”,还可以拥有属于自己的“二级子表行”;而每一个“二级子表行”,也可以拥有属于自己的“三级子表行”,如此类推。这种表单展现方式,纸面单据是无法实现的,它极大地扩充了单据可以包含的信息容量,具有高度的灵活性与便利性。在图1中,PO的第一行采购总数量为36,对应到“发运”二级子表拆分为数量分别为20与16的两行(表示发到两个不同收货地点或同一地点但两个不同发货时间);“发运”二级子表的第一行数量为20,对应到“分配”三级子表拆分为数量分别是10与10的两行(表示对应到两个不同的费用会计科目或费用由两个不同部门分别承担)。
第二类是“数据来源”类表单,例如“OM模块中的价目表、PO模块中的报价单、”以及“物料、供应商、客户”数据表单等等,它们的共同特点是不参与核心业务流程的构建,但它们为业务流程表单提供可以参考的数据来源,例如采购订单从物料表单取物料相关信息,从供应商表单取供应商信息、从报价单取价格相关信息等等;这类表单在手工业务模式下大多数都可能也存在,但手工状态下的实际使用与管理可能无法做到很严格规范;
在ORACLE EBS中,“数据来源”类表单在每个模块中种类可能很多,每种表单的内容与格式复杂程度,以及单据数量也差别很大。它们虽然并非不可或缺,但它们体现的专业化分工与协作的管理思想,对于企业的业务流程运作效率有重大影响。
下图2所示订单管理/定价模块中的“价目表”,就是一个典型的“数据来源类”表单,它也可有复杂的结构:

第三类是“业务控制”类表单,例如“销售的物料可订购性、采购的批准供应商列表、系统参数设定”等等,这类表单在手工业务模式下很少或根本不存在。事实上,手工方式下实际也很难使用它们对业务进行有效控制。
在ORACLE EBS中,“业务控制”类表单在各模块中的种类也比较少,单据数量也很有限,但它们体现的是企业管理的系统控制机制,对于业务管理控制的效率有重要影响。
如下图3所示采购的批准供应商列表(控制可向哪些供应商采购),就是一个比较典型的“业务控制类”表单,它也同样可有复杂的结构。

尽管在ORACLE EBS中,统计后台数据库中所用到的“表”(Table)数量有一万多个,前台UI中可见的表单也形形色色、数量繁多,乍看令人生畏,但在分析归纳划分为以上三大类之后, 事情就会变得简单很多,它使得我们可以把每个模块中种类很有限的“核心的业务流程表单”作为学习研究的“切入点”,通过对每种单据内部业务内涵与技术内涵的分析,以及各种单据之间业务逻辑与技术逻辑的研究,逐步扩展并掌握系统的其它功能与应用。
基于实际工作的需要以及系统设计的简洁方便,ORACLE针对上述三种不同类型的表单分别提供了可供选择使用的不同“查询”方法,归纳起来也可分为三类:功能查询方式、快捷查询方式、简便查询方式。
所谓“功能查询”方式,在系统中有“查询”功能菜单项(例如PO Summary,采购订单汇总),点击此菜单进入时,系统会首先弹出“查找条件”输入窗口(控件),如下图4所示采购订单功能查询菜单与查询条件控件:

然后根据输入的查询条件,给出查询结果LIST。作为查询功能扩展,系统还在UI界面工具栏进一步提供关联查询(如采购订单的上下游单据“采购申请”和“采购发票”)和细节查询功能,如下图5所示采购订单功能查询方式的输出结果视图:

功能查询方式通常只用于核心“业务流程”类单据的查询,查询功能强大。由于业务流程类表单(以及部分数据来源类表单)的重要性,系统在菜单项中提供了专门的“查询”功能。
所谓“快捷查询”方式即在打开单据界面后,只需点击UI界面工具栏内的查询“图标”(手电筒),查询条件输入方式有两种:一种是无专用的“查询条件”选择窗口,仅限于在查找界面的“查找栏”输入常用的那些字段(即所谓“模糊查询”),系统在查找界面直接给出所有符合条件的条目LIST,而详细情况需选定条目后,再进入单据界面查看,如下图6所示“采购订单”在单据界面进行“快捷查询”的情况:

另一种是在单据界面点击查询图标(手电筒)后,也会出现“查询条件”输入窗口,输入查询条件后,系统也可能会出现一个简单的结果清单LIST界面或视图(某些表单查询则可能没有),通过该LIST视图界面可以再选择打开相关条目的表单。同时,也可以直接在单据界面按“翻页”键(Page Down或Page Up),在已经查询出的不同条目间按顺序直接切换。如图7所示:物料快捷查询方式的查询条件控件与输出结果视图:

述(两种)快捷查询方式,适用于大多数业务数据量大的表单数据的查询。而后一种“快捷查询”方式与“功能查询”方式有些近似,只是其查询结果的输出视图的相关“功能”(如上查下查的追溯、汇总与明细的切换等)没有“功能查询”方式那么强大。但对于大多数“数据来源”类表单,由于它们不参与构建核心流程,信息也不如业务流程类表单那样复杂,故“快捷查询”方式已经基本能够满足实际工作需要。如按“功能查询”方式为所有表单设计“查询条件控件”与查询“输出结果视图”(象某些国内产品做的那样),则系统设计工作的复杂性将大大增加,后续系统维护也将十分麻烦,既不经济也无多大实际意义。
所谓“简便查询”方式,即在打开单据界面后直接把“单据”界面的所有字段作为“查找条件输入窗口”。要做到这一点,只需在打开单据界面后,于UI的工具栏“查看”中选择“查询标准-输入”(或按F11键),此时单据界面有关字段即“灰显”,允许输入具体查询值,再在“查看”中选择“查询标准-运行”(或按Ctrl+F11),则单据界面显示查询结果,按“翻页”键(Page Down或Page Up),在已经查询出的不同条目间按顺序直接切换。如下图8所示:物料清单BOM的简便查询方式示意图:

这种查询方式既不需要“查询条件”控件,也不需要查询结果输出视图,系统设计上十分简单节省,适用于几乎所有表单。要注意的是对于系统中某些数据量很少的表单,则有可能系统只提供“简便查询”作为唯一可使用的查询方式。
此外,EBS中的某些表单,在WEB下可能还有基于HTML的展现与查询方式。UI与HTML这两种展现与查询方式的优劣,一方面与使用场合有关,另一方面也与使用习惯有关。总之,了解系统中各类表单的使用并熟练掌握各种查询方式,是进一步学习研究系统的基础,尽管EBS各模块的表单展现与查询方式因不同业务、不同设计者的风格偏好而可能有所不同,但核心本质的东西还是共同一致的。
ORACLE EBS 系统应用基础概述
三、事务处理(Transaction)
四、并发流程(Current Process)
五、文件夹(Folder)
六、弹性域(Flex field)
七、值集与查找代码(Value Set and Lookup Code)
八、配置文件(Profile)
九、单据编号(Document Sequence)
十、工作流(Workflow)
十一、预警(Alert)
十二、应用开放接口(Open Interface and API)
十三、结语
(注:网站批量发图有问题,上传后显示不清楚。点击图片打开后,质量尚可)
如果说上述EBS的“表单与查询”的系统设计体现的正是“从业务到技术”,比较容易理解与掌握,那么,所谓“事务处理”则是体现系统“从技术再到业务”的一个典范,相对而言,理解起来要困难很多,原因是无法直接在手工业务模式下找到相对应的处理方式与过程。
以库房接收采购物料为例,假定公司规定必须严格按PO来接收,并且公司为了严格控制库存水平,接收必须小批量、多批次,则库房人员就可能需要针对同一个PO在短时期内开出N多张的“入库单”,工作量很大。为了减少工作量、提高效率,库房人员可能会在供应商每次送货时,仅在找出来的PO纸面单据上只简单地做一个数量标识,最后累积起来汇总开一张“入库单”。但这种“图省事”的做法显然是一种“很不规范”的处理方式,虽可以提高工作效率,却会因为容易带来很多其它管理问题而在实际工作中不被允许。
ORACLE 系统通过提供一个“事务处理”工作界面则很简单地解决了上述难题。如下图9所示采购接收的事务处理工作界面:

类似于“收货时直接在PO纸面单据上简单地做数量标识”,每次供应商送货来时,库存人员只需在系统中查找出对应的PO,简单地输入送货数量并保存,则系统会在后台自动生成“事务处理记录”(等同于是“入库单”)。对于系统来说,这种处理方式技术上实现非常容易,但却大大减少了操作人员的工作量,有效地解决了由于小批量、多批次所带来的效率问题。
ORACLE的各业务模块,大量地采用了上述类似的“事务处理”系统工作方式,不仅保证了系统高度的数据集成性,而且对于系统各业务环节的流程处理也保证了高度的连贯性与集成性。例如OM系统的发货处理、WIP系统的领料与入库处理等等。系统中所提供的事务处理工作界面,有些可能会以“××工作台”(Workbench)来命名之(这取决于不同模块系统设计人员的个人偏好)。
更进一步,系统对于某些“业务流程”类表单,例如“销售订单、发票”等,还在表单界面直接提供一个名曰“活动”(Action)的按钮(Button),该按钮包含丰富的业务处理功能(不仅仅是输入数据),以便用户(User)对表单内容作各种操作处理或获取相关信息。如下图10所示,销售订单界面的“活动”按钮:

此外,ORACLE EBS在某些业务流程单据之间,也提供了类似的事务处理工作界面,以帮助用户方便地实现业务单据的转换和业务流程的衔接。如下图11所示的采购申请PR到采购订单PO的所谓“自动创建”(Autocreate)功能。

对于企业的一个系统用户User(事务处理型用户)来说,掌握了与自己工作相关的表单、表单查询、事务处理,就基本上掌握了EBS的系统使用,系统就不再难懂难用。EBS中的“事务处理”在业务流程表单内部解决了“人与系统”的统一问题,在业务流程表单之间解决了“业务与业务、业务与系统”的统一问题。从“纯技术”的系统实现角度来看,它也没有什么高深莫测的地方。
很奇怪也很遗憾的是,迄今国内主流ERP产品的系统中,还很少看到这种系统实现方式。曾有一网友通过MSN向笔者发问:“EBS的WIP 事务处理界面是否要手工输入item?”看起来这个问题似乎很“幼稚”,但对于很多刚开始接触EBS或过去用惯国内产品的人来说,由于不了解或不习惯EBS的“事务处理”系统实现方式,会不自觉、想当然地将所有EBS的FORM界面都当成具有“实体”作用、通常可以对应纸面单据的“业务表单”来看待,才会发出这样的疑问。
从系统实现角度来看,“并发流程”或“并发处理”是较之“事务处理”技术味更浓的一个概念,它也是业务出身、不太懂“技术”的人学习掌握EBS系统的难点之一。但实际上,对于今天的计算机系统而言,“并发”其实是一个再普通不过的应用,例如我们边在电脑上写文章边听音乐等等。ORACLE 弄得有点学究气,相对于“联机事务”或“联机处理”方式,并发处理称为“后台事务”或“后台处理”似乎更好理解一些。
以企业的实际业务过程为例,在手工业务模式下,库房接收了物料并开具“入库单”后,库房人员后续必须还要做的一项工作是:“手工”将入库单上的物料接收信息逐份“过账”到“库存物料信息台账”上去,以更新库存物料的余额数量。在EBS系统中,这项枯燥、乏味的工作就完全由系统代劳了,系统通过后台运行的一个名为“接收事务处理处理器”的并发程序,联机立即或成批周期进行处理,在不影响用户做其它工作的同时,高度精确地完成着原本需要人工去做的“过账登记”任务,并且手工模式下过账之后为检查错漏而需经常进行的“对账”工作也变得根本就不再需要。
“并发处理”是EBS系统不可或缺的一个重要组成部分,上述“物料接收”的并发处理只是一个很简单的应用。在EBS中,“并发”按处理的对象主要可分为两类:一类是“流程事务”,一类是“报表事务”。系统统一以“提交请求(Request)”的方式提供人机交互。如下图12所示“查询或提交请求”:

对于每一个并发“请求”,系统都可以允许输入相关参数,并计划其是按某一周期运行,还是立即或预定在未来某一时刻运行。系统预置了大量的为业务流程服务的“流程事务”类后台事务处理程序,同时还提供了部分可供企业参考的“报表事务”类输出请求。用户使用系统提供的开发工具,也可以很容易地自定义某些“个性化”的后台程序或报表输出,其运行管理和使用方式与系统预置的并发程序几乎完全相同。
“并发处理”相对于用户来说,实际上是属于在系统后台运行的相关工作,刚刚开始接触的人可能会对之觉得陌生或使用不顺手,原因主要是手工业务或低档的管理软件根本没有这种工作处理方式。这就好比相对于交通主要还是靠骑车或步行的小城镇,今天对于生活在现代化大城市的人们来说,往来穿梭的地铁、周而复始的公交、招手即停的出租车已经成为全部生活不可或缺的一部分,它们就像城市的“血管”脉动一样,奔流不息,维持着城市生命的运转,生机勃勃。EBS的“并发处理”所承担的角色或所起的作用正与之基本类似。
EBS并发处理的另一项重要特性是其“系统级”的可计划、可管理、可控制特性,系统通过定义“并发管理器”、“请求集”等功能应用,对所有需要在后台运行的并发程序进行管理调度,以平衡系统负载,保证系统有高的使用性能。如下图13所示,定义“并发管理器”(包括运行规则、工作班次等等。这类似于城市里的交通调度与控制)

关于“流程事务”类的并发请求,因为涉及到系统各业务模块的具体功能应用问题,这里不便多讲。以下主要来谈一谈“报表事务”类的并发请求问题。有网友曾抱怨说,“ORACLE的报表功能不好用,出一个简单的报表都要到后台去提交一个请求,输出的是一个文本,太麻烦。系统提供的标准报表,内容不能满足企业要求,不符合国人的使用习惯”。这种说法可能是因为受某些国内产品的影响而产生的误解。目前国内的主流ERP系统,对于“报表”基本上采取的是类似“查询”的实现方式。这种“查询式报表”虽然方便了用户使用,但却惹出了无穷的麻烦。
首先,报表是一种极端“个性化”的东西,不同的企业由于管理层次不一样,关注的管理重点也不同,针对同样的问题所要求的报表也会不同。即使同一个企业在不同的发展阶段,所要求的报表内容也不会相同,因此即使已经使用ERP若干年的企业,不断地开发新的(管理)报表,也是很正常的事情。如果ERP系统将报表功能“显式化”,在系统标准功能中提供查询条件控件及输出结果视图,则意味着系统提供的这个所谓报表功能必须符合所有企业的使用要求,而实际这是不可能实现的。在这种情况下,企业就会理所当然地认为这是ERP厂商的责任,厂商必须负责解决。目前许多国内ERP厂商产品研发的一项重要内容就是穷于应付为企业开发各种查询式管理报表,这简直是等于自掘火坑,陷进去无法自拔,
其次,查询式报表如果内容复杂、耗用系统资源比较高,则用户随便自由使用, 而IT系统维护人员对“联机式”查询无法进行有效管理、干预,将可能严重影响系统整体性能,导致其他用户无法进行正常工作。从这个角度来看,目前国内的主流ERP产品实际上还没有真正系统意义上的“报表”功能,只有不加节制、扩大化了的“查询”功能。系统如此处理极不明智。
ORACLE 将“报表”功能以并发请求的形式放到后台去处理,不仅有效地解决了“报表”的个性化问题,分清了ERP厂商与企业的责任界面,而且也为企业IT系统维护人员提供了系统可管理、可干预的便利。这实际上正是ORACLE系统的灵活性与功能强大之处(SAP也类似)。有网友针对国内某些厂商声称自己的ERP是“高端”产品时,质疑“连并发都没有,能算高端吗?”实际上是说到了要害。一个连“电梯”都没有的高楼怎能算得上是现代化的大厦呢!
ORACLE系统大量使用后台“并发处理”程序,实现了系统用户的流程操作在“空间与时间”上的分离,免去了操作人员的无效等待时间。操作人员提交的并发请求在后台运行的同时,并不影响其处理其它系统事务,这样可以大大提高用户的工作效率以及使用的方便性。“并发”之于ORACLE EBS系统好比人体内的“心脏”一样重要,它是系统实现高度的数据集成与流程集成的核心工具,是企业依赖计算机系统实现业务运作与管理控制自动化的一个技术体现。
这又是一个ORACLE弄得有点学究气的概念(可能也有中文翻译不到位的原因)。所谓“文件夹”(Folder)功能,简单来说就是稍有点IT系统使用经验的人都明白的“用户自定义查询输出界面视图”功能。系统(可以)提供的查询条件控件或查询输出结果视图的字段是如此之多,其中有很多可能并不是用户希望显示出来的,每一个系统用户User可以根据个人的工作需要或偏好,使用文件夹功能自由地定义自己可见的UI界面。ORACLE 系统为几乎所有重要的表单、查询条件控件及查询结果输出视图都提供了文件夹功能,这也是ORACLE系统灵活性、易用性、方便性之所在。如下图14所示采购PR的查询:

相关文章:
ORACLE EBS系统应用基础概述(1)
一、前言 有网友在论坛发帖惊呼:好不容易把EBS系统安装好了,进去一看傻眼了,不知道从哪儿下手?发出惊叹的这位网友所遇到的问题,实际上也是很多人曾经遇到或正在遇到的问题。长期以来,国内的非专业人士&am…...
电子科技大学信息与通信工程学院2023考研复试总结
一、笔试 笔试主要考察数字逻辑(数电)的相关知识,满分200分,需要复习的内容不多且知识点比较集中。根据考场上实际感受,题目难度不大但是题量稍大,2h完成试卷几乎没有多少剩余时间。笔试的体型分为填空题、…...
神经网络激活函数
神经网络激活函数神经网络激活函数的定义为什么神经网络要用激活函数神经网络激活函数的求导Sigmoid激活函数Tanh激活函数Softmax激活函数神经网络激活函数的定义 所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数…...
2.C 语言基本语法
文章目录二、C 语言基本语法1.语句2.表达式3.语句块4.空格5.注释6.printf()函数基本用法7.占位符8.输出格式10.标准库,头文件提示:以下是本篇文章正文内容,下面案例可供参考 二、C 语言基本语法 1.语句 C语言的代码由一行行语句࿰…...
Qt 6.5 LTS 正式发布
Qt 6.5 LTS 已正式发布。此版本为图形和 UI 开发者以及应用程序后端引入了许多新功能,还包含许多修复和通用的改进。Qt 6.5 将成为商业许可证持有者的长期支持 (LTS) 版本。 部分更新亮点: 改进主题和样式 使用 Qt 6.5,应用程序能够便捷地支持…...
Linux权限提升—定时任务、环境变量、权限配置不当、数据库等提权
Linux权限提升—定时任务、环境变量、权限配置不当、数据库等提权1. 前言1.1. 如何找编译好的EXP2. 定时任务提权2.1. 查看定时任务2.2. 通配符注入提权2.2.1. 创建执行脚本2.2.2. 创建定时任务2.2.3. 查看效果2.2.4. 提权操作2.2.4.1. 切换普通用户2.2.4.2. 执行命令2.2.4.3. …...
Python爬虫——使用requests和beautifulsoup4库来爬取指定网页的信息
以下是一个简单的Python代码,使用requests和beautifulsoup4库来爬取指定网页的信息: import requests from bs4 import BeautifulSoupurl "https://example.com"# 发送GET请求,获取网页内容 response requests.get(url)# 将网页内…...
基于Java3D的网络三维技术的设计与实现
3D图形技术并不是一个新话题,在图形工作站以至于PC机上早已日臻成熟,并已应用到各个领域。然而互联网的出现,却使3D图形技术发生了和正在发生着微妙而深刻的变化。Web3D协会(前身是VRML协会)最先使用Web3D术语…...
python机器学习数据建模与分析——数据预测与预测建模
文章目录前言一、预测建模1.1 预测建模涉及的方面:1.2 预测建模的几何理解1.3 预测模型参数估计的基本策略1.4 有监督学习算法与损失函数:1.5 参数解空间和搜索策略1.6 预测模型的评价1.6.1 模型误差的评价指标1.6.2 模型的图形化评价工具1.6.3 训练误差…...
Flink系列-6、Flink DataSet的Transformation
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址:https://flink.apache.org/ 学习资料:https://flink-learning.org.cn/ 目录Flink 算子Ma…...
Java-类的知识进阶
Java类的知识进阶 类的继承(扩张类) Java类的继承是指一个类可以继承另一个类的属性和方法,从而使得子类可以重用父类的代码。继承是面向对象编程中的重要概念,它可以帮助我们避免重复编写代码,提高代码的复用性和可…...
C# | 上位机开发新手指南(六)摘要算法
C# | 上位机开发新手指南(六)摘要算法 文章目录C# | 上位机开发新手指南(六)摘要算法前言常见摘要算法源码MD5算法SHA-1算法SHA-256算法SHA-512算法BLAKE2算法RIPEMD算法Whirlpool算法前言 你知道摘要算法么?它在保障…...
测试工程师:“ 这锅我不背 ” ,面对灵魂三问,如何回怼?
前言 在一个周末的早餐我被同事小周叫出去跑步,本想睡个懒觉,但是看他情绪不太稳定的样子,无奈艰难爬起陪他去跑步。 只见她气冲冲的对着河边大喊:真是冤枉啊!!! 原来是在工作中被莫名其妙背锅࿰…...
【Java闭关修炼】SpringBoot-SpringMVC概述和入门
SpringMVC概述和入门 MVC概述 实体类Bean:专门 存储业务数据 Student User业务处理Bean:指的是Service或者Dao 专门用来处理业务逻辑或者数据访问 用户通过视图层发送请求到服务器,在服务器中请求被Controller接受,Controller调用相应的MOdel层处理请求…...
pdf转换器免费版哪种好用:Aiseesoft PDF Converter Ultimate | 无损转word转Excel转PPT转图片啥都行!!!
Aiseesoft PDF Converter Ultimate 是一款优秀且高效可靠的无损电脑免费版pdf转换器软件,凭借卓越高识别精度的强悍OCR识别技术,可精准识别英文、法文、中文、德文、日文、韩文、意大利文、土耳其文等190多个国家的语言以及各种公式和编程语言࿰…...
革新市场营销,突破瓶颈:关键词采集和市场调查的秘密武器
近年来,全球新兴行业不断涌现,其中一些行业甚至成为了热门话题。这些新兴行业的出现,不仅带来了新的商机和发展机遇,也对传统产业带来了冲击和挑战。对于那些想要进入新兴行业的人来说,了解这些行业的关键词和市场情况…...
3年测试经验只会“点点点”,不会自动化即将面临公司淘汰?沉淀100天继续做测试
前段时间一个朋友跟我吐槽,说自己做软件测试工作已经3年了,可这三年自己的能力并没有得到提升,反而随着互联网的发展,自己只会“点点点”的技能即将被淘汰。说自己很苦恼了,想要提升一下自己,可不知道该如何…...
python:异常处理与文件操作(知识点详解+代码展示)
文章目录一、异常处理1、try...except语句2、finally语句二、断言1、定义2、举例例一:例二:三、文件操作1、写文件操作2、读文件操作学习目标:1、掌握异常处理的方法2、掌握断言的使用3、掌握打开文件、读文件和写文件的方法一、异常处理 引…...
SpringBoot 过滤器和拦截器(三十八)
我喜欢你,可是你却并不知道. 上一章简单介绍了SpringBoot参数验证(三十七) ,如果没有看过,请观看上一章 关于过滤器和拦截器已经讲很多了, 这里老蝴蝶只说一下 SpringBoot 的用法。 可以看之前的文章: https://blog.csdn.net/yjltx1234csdn/article/d…...
Memcache论文总结——Lec16
文章目录一、相关名词1.mcrouter层2.GUTTER SERVER3.mcsqueal4.remote mark二、当流量增长了如何SCALE 你的网站?三、背景及业务特点1.读多写少2.FB需求:3.之前情况四、简介五、FaceBook的架构五、Cache Policy六、In a Cluster : Latency and Load(一&a…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
