Crack:GrapeCity Documents for Excel 6.0.1

news2024/10/7 14:24:06

v6 中 GrapeCity Documents for Excel 的新增功能

ocuments for Excel (GcExcel) v6 版本现已上线!该版本引入了新的基于 JavaScript 的数据查看器控件、功能和对 GcExcel .NET和Java API 的模板增强,以及更多与SpreadJS兼容的功能。看看下面的主要亮点。

 

引入 GrapeCity 文档数据查看器新

GrapeCity Documents引入了新的GrapeCity 文档数据查看器 (GcDataViewer)控件——一个基于 JavaScript 的客户端查看器,可以加载和预览与数据相关的文档,如XLSX、CSV 和SpreadJS .json 文件。它是一个只读的跨平台解决方案,用于查看具有许多 Excel 和 CSV 选项的数据文件。GcDataViewer 允许可以无缝集成到现有系统或新应用程序中的数据查看功能。查看器可以在任何数据驱动的业务或公司中找到它的用途,例如销售、电子商务、股票市场、医疗保健、咨询等,它们正在寻找以下解决方案:

  • 在现有系统中集成客户端查看器以查看数据文件
  • 为其客户/用户(例如,SaaS 公司)构建基于 Web 的数据查看器

开发人员可以使用它来寻找打开由其应用程序的服务器端生成的数据文件并查看数据的选项。

GcDataViewer可以轻松与 .NET 7、Java 或 JS 框架(如 NodeJS、AngularJS、React、Preact、Express 等)集成。除此之外,还可以在 Windows、Mac、Linux、iOS 和 Android 设备上查看数据文件,它适用于所有现代浏览器,包括 Edge、Chrome、Firefox、Opera 和 Safari。

主要亮点

  • 统一解决方案——它是一个统一的基于 Javascript 的客户端查看器,可以加载和预览任何与数据相关的文档。目前,它支持 Excel(.xlsx 和 .xlsm)、CSV 和 SSJSON。用户无需寻找不同/单独的工具来查看这些数据文件。GcDataViewer 允许在一个应用程序中查看它们,无需切换到多个工具来查看它们的内容
  • GcExcel 的 UI - 使用 GcExcel .NET或Java的客户可以有一个图形界面来查看由其服务器端 API 生成的数据文件
  • 跨平台 解决方案——作为 JS 产品,GcDataViewer 可以轻松与 .NET 7、Java 或 NodeJS、AngularJS、React、Preact、Express 等 JS 框架集成。除此之外,还可以在 Windows、Mac、Linux、iOS 和 Android 设备上查看数据文件,并且适用于所有现代浏览器,包括 Edge、Chrome、Firefox、Opera 和 Safari
  • 响应式 UI - GcDataViewer 的用户界面响应不同设备、屏幕方向和尺寸的查看
  • 轻量级数据查看器- 更少的服务器端依赖,简单的语法和语义使其成为轻量级应用程序的合适选择
  • 对 Excel 功能的广泛支持——GcDataViewer 支持大多数 Excel 功能的只读视图,例如表格、数据透视表、公式、条件格式、数据栏、图标、大纲组、过滤器等
  • CSV 选项:使用各种可用设置配置 CSV 文档的加载
  • Themes -支持内置主题,满足不同的UI外观需求
  • API 集成- 支持可用于在现有应用程序中集成和嵌入查看器的公共 API
  • 本地化以匹配您的市场- GcDataViewer 可以根据浏览器语言调整其显示。目前支持的语言有 - 英语、中文和韩语

GcDataViewer 可用于 GcExcel .NET和Java包,或者您可以从 npm 安装它。

npm install @grapecity/gcdataviewer

Excel 工作簿大小优化

您的 Excel 文件可能经常包含未使用的格式、定义的名称或空区域单元格。这些单元格最初可能具有数据和格式,但随着时间的推移不再使用,数据被删除但格式保留。工作簿中存在大量此类单元格会导致性能下降并增加工作簿的大小。使用 GcExcel,您现在可以排除此类单元格并在保存工作簿的同时减小工作簿的大小。GcExcel 在XLSXSaveOptions()类中提供了新选项,以使用 Workbook.Save(..) 方法优化您的工作簿。引入了三个新选项 -

  • XlsxSaveOptions.ExcludeUnusedStyles{ 得到; 放; } - 指示是否排除用户定义但从未使用过的单元格样式。默认值为 false
  • XlsxSaveOptions.ExcludeUnusedNames{ get; 放; } - 指示是否排除用户定义但从未使用过的定义名称。默认值为 false
  • XlsxSaveOptions.ExcludeEmptyRegionCells{ 得到; 放; } - 指示是否排除所用数据范围之外的任何空单元格(没有数据或只有样式的单元格)

下面的代码排除了工作簿中任何未使用的样式、名称或空区域单元格,从而减小了工作簿的大小。

//create a new workbook
var workbook = new GrapeCity.Documents.Excel.Workbook();
Stream fileStream = this.GetResourceStream("xlsx\\File needs to be optimized.xlsx");
workbook.Open(fileStream);

XlsxSaveOptions options = new XlsxSaveOptions
{
    ExcludeEmptyRegionCells = true,
    ExcludeUnusedStyles = true,
    ExcludeUnusedNames = true
};

using (MemoryStream outputStream = new MemoryStream())
{
    workbook.Save(outputStream, options);
    outputStream.Position = 0;
    workbook.Open(outputStream, OpenFileFormat.Xlsx);
}
        
// Save to an excel file
workbook.Save("OptionsToOptimizeFileSize.xlsx");
复制

GcExcel 模板增强功能

分页电子表格报告新的增强功能

在上一个版本中,GcExcel 模板引入了“ TemplateOptions.PaginationMode”CountPerPage 属性 (CP) 来管理工作簿分页到单独的工作表中,工作表布局中的行数固定。

在 v6 中,引入了一个新的 API 来完成额外的布局。借助分页模板功能,您可以使用新 API 创建以下类型的布局:

在分页电子表格中为页面或组配置页眉/页脚

添加了新的 API RepeatType NoRepeatAction 和 RepeatWithGroup以重复组内的单元格值或为每个页面配置页面/组页眉/页脚。

  • RepeatType 属性确定在设置 RepeatWithGroup 属性时如何在组内重复单元格值
  • NoRepeatAction 属性决定了普通内容不显示在当前页面时如何设置删除方式
  • RepeatWithGroup 属性指定模板中与生成的报告中的组重复的单元格引用

在以下快照中,RepeatType 设置为患者和标本信息的 FirstPage,RepeatWithGroup 设置为 D3,这意味着页眉范围 A6:I18 为 D3 中设置的每个新患者 ID 重复。

 

组的页码和页数

在固定行布局中,引入了新属性 - PageNumber用于设置当前页的页码,PageCount用于设置当前组的页数。这将有助于指示组的当前页码和组中的总页数。这两个属性可以使用语法定义 - PageNumber(string cell) 和 PageCount(string cell)。在下面的布局中,患者 ID P001 的信息被分页为四页,并且可以显示当前页码。

根据页面大小对电子表格进行分页

到目前为止,您一直在根据CountPerPage (CP) 属性对工作表进行分页,该属性在工作表布局中生成固定数量的行并分页到多个工作表中。但是,可以根据页面大小对报表进行分页,页面大小由 Excel 中的页面设置设置决定。在这种情况下,如果 CP 属性未设置或设置为 *,则TemplateOptions.PaginationMode为 true。该报告将根据页面大小分页到多个工作表中。

在这种类型的分页中,添加了新属性RepeatOutput、KeepTogether 和 AttachTo,它们有助于在每页的最大行数之后插入分页符,而不管组和每个组的小计。在这种情况下,最大行数取决于纸张大小。

  • RepeatOutput属性指定合并单元格的值是仅出现在报表的第一页还是每一页
  • KeepTogether属性确保单元格及其后代出现在同一页上。该属性允许您选择是否要将单元格与水平分页或垂直分页保持在一起
  • AttachTo属性允许将单元格模板与另一个单元格绑定,以确保它不会单独出现在页面上。您可以使用此属性来防止文档中出现孤立的页眉/页脚

下面的示例显示了一个根据页面大小分页的报告。根据 Excel 的页面设置设置,当行达到工作表中的最大行数时,无论模板组设置如何,报告都会分页到下一个工作表。在这里,'RepeatOutput' 设置在合并的单元格上,我们可以选择在每个工作表上重复或不重复。

保留原始模板或流程特定的模板工作表

到现在为止,您可以将整个工作簿模板处理成一个报告。但是,GcExcel 现在引入了Workbook.GenerateTemplate()方法,该方法返回一个新的工作簿实例而不改变原始模板工作簿。

此外,您的工作簿可能有多个模板,您可能只需要处理一个特定的模板工作表。GcExcel 添加了一个条款来处理来自许多模板的特定模板工作表。您可以将这个特定的模板工作表传递给新的Workbook.GenerateTemplate()方法。请参阅下面的代码:

IWorkbook workbook = workbook.GenerateReport(new IWorksheet[] { sheet });
复制

该方法返回一个新的工作簿实例,仅处理作为参数传递的模板而不更改原始模板。如果未提供参数,GenerateTemplate() 方法将处理所有工作表。

在以下示例中,仅处理了三个工作表中的特定工作表“PurchaseOrder”。

// Add data source
workbook.AddDataSource("dt", salesData);
		
// Init template global settings
workbook.Names.Add("TemplateOptions.KeepLineSize", "true");
		
// Process the template and return the specified report
IWorkbook report = workbook.GenerateReport(workbook.Worksheets["PurchaseOrder"]);
		
// Save the report as xlsx to a stream
report.Save(outputStream);

 

获取所选区域的使用范围

GcExcel 在工作表中提供了UsedRange属性和GetUsedRange方法来获取工作表中所有已使用的范围。您可能还希望获取选定范围内的已用范围,而不是已用范围的整个工作表。GcExcel 将UsedRange属性和GetUsedRange方法添加到 IRange 接口。

以下代码在选定范围内查找使用范围并更改使用范围的单元格背景颜色。

// Init data.
IRange range = sheet.Range["B2:D4"];
range.Value = "Unused";

// Select range.
IRange selectedRange = sheet.Range["C3:E5"];
selectedRange.Select();

// Get the used range from selectedRange.
IRange usedRange = selectedRange.UsedRange;
usedRange.Value = "Used";
usedRange.Interior.Color = Color.LightBlue;
复制

添加具有范围参考或定义名称的形状文本

假设您有大量员工销售数据,并希望使用任何图形图像突出显示当月的总销售额。您可以将形状与数据绑定公式链接起来,这可以动态地表示所选形状中当月的销售额。在某些情况下,工作表中的形状可以包含引用范围或定义名称的文本。此文本可以根据范围内的数据或定义的名称进行更改。GcExcel 添加IShape.Formula属性来设置或删除当前形状的范围引用或定义的名称。您可以设置 IShape.Formula=”=A1”(到单元格/区域)或 IShape.Formula = “=refname”(到定义的名称)。

下面的代码将公式设置为一个形状,该形状使用一个公式引用单元格 G8:

// set shape formula to G8
IShape shapeResult = worksheet.Shapes.AddShape(AutoShapeType.Rectangle, worksheet.Range["B7:D8"]);
shapeResult.Formula = "=G8";

 

使用直接方法将形状/图片添加到单元格/单元格区域

为了简化将 IShape 添加到范围的过程,提供了一系列直接方法来将 IShape 添加到范围而无需获取其坐标。GcExcel 向 IShape 接口添加了五个新方法 -

  • AddPicture() - 根据当前工作表指定范围内的现有文件创建图片
  • AddShape() - 返回表示当前工作表指定范围内的新自选图形的对象
  • AddChart() - 在当前工作表的指定范围内创建图表
  • AddConnector() - 在当前工作表的指定范围内创建一个连接器
  • AddCameraPicture() - 在当前工作表上创建从参考范围到目标范围的图片

以下代码将图片与连接器一起直接添加到范围:

var workbook = new GrapeCity.Documents.Excel.Workbook();

IWorksheet worksheet = workbook.Worksheets[0];

// Place the same picture to two range
System.IO.Stream stream = this.GetResourceStream("puffins.jpg");
IShape smallPicture = worksheet.Shapes.AddPicture(stream, ImageType.JPG, worksheet.Range["B2:B4"]);
IShape bigPicture = worksheet.Shapes.AddPicture(stream, ImageType.JPG, worksheet.Range["D4:F12"]);

worksheet.Shapes.AddConnector(ConnectorType.Straight, worksheet.Range["C2:F3"]);
worksheet.Shapes.AddConnector(ConnectorType.Straight, worksheet.Range["B5:C12"]);
        
// Save to an excel file
workbook.Save("AddPictureToRange.xlsx");

 

支持新的 Lambda 函数,包括帮助函数

如果您的工作表包含复杂的计算,您必须详细了解它们。这可能容易出错并且难以维护。为什么不只添加一次复杂的计算,给它一个简单的名字,然后在你的工作表中重复使用它呢?GcExcel 支持以编程方式添加LAMBDA函数。它有助于将流程抽象为函数并创建自定义、可重用的函数,并使用熟悉的名称调用它们。语法很简单。只需将函数添加到 Workbook 的 Names 集合中即可。

=LAMBDA([参数 1, 参数 2, …,] 计算)

上面的语法添加了一个 LAMBDA 函数,其中包含要传递给该函数的参数,例如单元格引用、字符串或数字。您最多可以输入 253 个参数。此参数是可选的。另一个参数是作为函数结果执行和返回的公式。

下面的代码在 workbook.Names 集合中将 LAMBDA 函数命名为“CountWords”。LAMBDA 函数执行长时间计算以计算文本中的单词数。该函数被赋予了一个简单的名称,'CountWords',它可以在工作表中多次重复使用,而不是重复冗长的计算函数。

workbook.Names.Add("CountWords", "=LAMBDA(text,IF(LEN(TRIM(text))=0,0,LEN(TRIM(text))-LEN(SUBSTITUTE(TRIM(text),\" \",\"\"))+1))");
复制

GcExcel 中的 LAMBDA 函数支持包括对七个新的 Helper 函数的支持,这些函数有助于 LAMBDA 函数处理数组:

  • 拜罗
  • 比科
  • 扫描
  • 减少
  • 地图
  • 制作数组
  • 异化

新的文本和数组操作 Excel 函数

GcExcel 现在支持以下函数集:

文本操作函数

以前,为了提取文本的一部分,您必须使用多个函数。例如,要从文本中提取名字,比如单元格中的“Mark Taylor”,您必须使用FINDSEARCH函数来查找列表中第一个空格的位置,然后使用 LEFT、MID 或 RIGHT 结合LEN 来提取数据。但是,新的文本操作函数有助于提取或组合各种文本片段,并使用单个函数将结果溢出到其他单元格。支持以下新的文本操作功能。

  • TEXTSPLIT、TEXTBEFORE 和 TEXTAFTER

以下代码使用 TEXTBEFORE 函数查找句子中单词之前的文本:

sheetOfTEXTBEFORE.Range["A3"].Value = "Little red Riding Hood's red hood";

sheetOfTEXTBEFORE.Range["A4"].Value = "Formulas";
sheetOfTEXTBEFORE.Range["A4"].Font.Bold = true;
sheetOfTEXTBEFORE.Range["B4"].Value = "Results";
sheetOfTEXTBEFORE.Range["B4"].Font.Bold = true;
sheetOfTEXTBEFORE.Range["B5"].Formula2 = "=TEXTBEFORE(A2,\"Red\")";
sheetOfTEXTBEFORE.Range["A5"].Formula = "=FORMULATEXT(B5)";
sheetOfTEXTBEFORE.Range["B6"].Formula2 = "=TEXTBEFORE(A3,\"red\",2)";
sheetOfTEXTBEFORE.Range["A6"].Formula = "=FORMULATEXT(B6)";
sheetOfTEXTBEFORE.Range["B7"].Formula2 = "=TEXTBEFORE(A3,\"red\",-2)";
sheetOfTEXTBEFORE.Range["A7"].Formula = "=FORMULATEXT(B7)";
sheetOfTEXTBEFORE.Range["B8"].Formula2 = "=TEXTBEFORE(A3,\"Red\")";
sheetOfTEXTBEFORE.Range["A8"].Formula = "=FORMULATEXT(B8)";
sheetOfTEXTBEFORE.Range["B9"].Formula2 = "=TEXTBEFORE(A3,\"Red\",,1)";
sheetOfTEXTBEFORE.Range["A9"].Formula = "=FORMULATEXT(B9)";
sheetOfTEXTBEFORE.Range["B10"].Formula2 = "=TEXTBEFORE(A3,\"Riding\")";
sheetOfTEXTBEFORE.Range["A10"].Formula = "=FORMULATEXT(B10)";
复制

 

数组操作函数

数组操作函数将有助于合并和调整范围并溢出公式的范围。如果您的工作表有动态数组公式,这些新函数将使您的电子表格更具吸引力,并支持动态数组的高级和优化操作。添加了以下新功能:

  • HSTACK、VSTACK、TOROW、TOCOL、WRAPROWS、WRAPCOLS、TAKE、DROP、CHOOSEROWS、CHOOSECOLS 和 EXPAND

以下代码将数组的数据转换为一行:

sheetOfTOROW.Range["A7"].Value = "Result";
sheetOfTOROW.Range["A7"].Font.Bold = true;
sheetOfTOROW.Range["A8"].Formula2 = "=TOROW(A2:D4)";

 

范围交集、并集和偏移

GcExcel 一直支持 API 来查找两个范围的交集/联合/偏移量。在 v6 中,我们通过引入直接方法简化了这个操作:

  • IRange.Intersect(IRange range2) 或 IRange.Intersect(params IRange[] ranges)获取当前范围与一个或多个范围参数的交集
  • IRange.Union(IRange range2) 或 IRange.Union(params IRange[] ranges)获取当前范围和一个或多个范围参数的并集
  • IRange.Offset(int rowOffset, int columnOffset)获取当前范围的偏移量

下面的代码执行两个范围的交集和并集,分别为相交范围和并集范围设置内部颜色:

// Set the intersection of two range value and style.
var intersectRange = worksheet.Range["A2:E6"].Intersect(worksheet.Range["C4:G8"]);
intersectRange.Interior.Color = Color.FromArgb(56, 93, 171);

var firstUnionRange = worksheet.Range["A11:D13"];
firstUnionRange.Merge();
firstUnionRange.Interior.Color = Color.FromArgb(56, 93, 171);
firstUnionRange.HorizontalAlignment = HorizontalAlignment.Center;
firstUnionRange.VerticalAlignment = VerticalAlignment.Center;

var secondUnionRange = worksheet.Range["D14:G16"];
secondUnionRange.Merge();
secondUnionRange.Interior.Color = Color.FromArgb(145, 167, 214);
secondUnionRange.HorizontalAlignment = HorizontalAlignment.Center;
secondUnionRange.VerticalAlignment = VerticalAlignment.Center;
// Set the union of two range value and font style.
var unionRange = worksheet.Range["A11:D13"].Union(worksheet.Range["D14:G16"]);

控制自动调整的选项

GcExcel 已经支持在打开 Excel 文件时自动调整行/列。但是,在 v6 中,API 添加了一个新选项来控制此行为。GcExcel 现在支持XlsxOpenOptions.DoNotAutoFitAfterOpened属性来获取/设置是否在打开文件后自动调整行高。默认值为假。

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

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

相关文章

第07讲:Redis集群之cluster

一、什么是Cluster? redis的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台redis服务器都存储相同的数据,很浪费内存,所以在redis3.0上加入了cluster模式,实现的redis的分布式存储&#x…

pycharm运行显示未安装包,但其实已经安装

问题描述 在下载了专业版的pycharm后,在pycharm终端运行项目的时候,无论什么包,只要你下载,就是显示已经存在(当然存在了,我虚拟环境之前都下的有) REquirement already statisfied:…

【OpenCV-Python】教程:9-1 级联分类器

OpenCV Python 级联分类器 【目标】 Haar 级联目标检测器工作方式;Haar 级联分类器检测人脸和人眼 【理论】 基于Haar特征的级联分类器的目标检测是Paul Viola和Michael Jones在2001年的论文中提出的一种有效的目标检测方法。这是一种基于机器学习的方法&#x…

Swift 周报 第二十期

前言 本期是 Swift 编辑组自主整理周报的第十一期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。 在这个来去匆匆风云变幻的季节&…

工厂设备管理难点与解决方案

工厂设备管理中经常会遇到哪些问题? 设备是生产力的重要组成部分,是工厂从事生产经营的重要工具,生产设备无论从企业资产的占有率,还是从管理工作的内容上都占据相当大的比重,管好、用好设备,提高设备管理…

JS 之 对象、继承

目录 JS对象 1.通过new Object()创建 2.工厂模式 3.构造函数模式 4.原型模式 5.组合使用构造函数与原型对象 6.动态原型模式 7. 寄生构造函数模式 8.稳妥构造函数模式 原型对象 原型链 继承 1.原型链继承 2.借用构造函数(经典继承 | 伪造函数&#xff…

CTF之密码学题目-classical coding

CTF系列文章 第一篇 CTF之密码学题目-classical && coding 文章目录CTF系列文章前言一、题目是什么?二、解题步骤1.下载文件,解压2.解码Unicode3.ASCII码解码4.BrainFunk解码5.莫斯码解码6.字频解密总结前言 在CTF比赛中,有关密码学…

Memtiter-benchmark源码解析2--shared_connection

shard_connection.h class shad_connection private members Line 161 行 bufferevent* m_bev;重要的bufferevent_event important methods setup_event shard_connection.cpp bufferevent_setcb 设置了 m_bev 的读事件的函数回调,没有设置写事件的函…

如何策划一场银行校招线上笔试?

策划一场银行校园招聘线上笔试,只需要4步。 牛客基于服务的上千家企业现状发现,银行业大多数企业在校园招聘的笔试环节会面临这些核心问题: 缺乏出题专业度:大多数企业出题者为业务部门员工,技能水平不一&#xff0c…

Educational Codeforces Round 97 (Rated for Div. 2) D. Minimal Height Tree

Problem - D - Codeforces 翻译: Monocarp有一棵树,它由𝑛个顶点组成,并以顶点1为根。他决定研究BFS(宽度优先搜索),所以他在他的树上运行BFS,从根开始。BFS可以用下面的伪代码描述: A [] #处理顶点的顺序…

欧几里得空间

文章目录1 欧几里得范数2 距离3 标准内积4 柯西-施瓦茨不等式5 正交6 叉乘7 平行四边形法则8 欧几里得运动线性空间里最重要的就是欧几里得空间了,这是线性代数学习绕不过去的槛。欧几里得空间,学习起来我觉得吧,主要是三个点:内积…

Golang面试宝典——Go语言实现排序算法之快速排序

关于Golang面试宝典 最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如…

无人驾驶(四)---远程桌面控制工具: NoMachine踩坑记录

NoMachine for mac是一款免费的远程桌面访问工具,这款软件的连接到远程桌面后延迟可以非常低,NX协议在高延迟低带宽的链路上提供了近乎本地速度的响应能力,打破空间和时间的障碍,让您的桌面环游世界。 1.环境配置 服务端&#x…

西门子PLC各类通信协议差异对比

西门子PLC有4大类,几十个型号类型,PLC不同所支持的通讯协议也不相同。 S7-200系列支持的协议有:PPI、MPI、PROFIBUS、以太网、S7协议、AS-INTERFACE、USS、MODBUS、自由口。 S7-300\400系列支持的协议有:MPI、PROFIBUS、ETHERNE…

陌陌综合案例

注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hbase Hive Flume等…

【python3】10.python高阶内容:装饰器

10.python高阶内容:装饰器 2022.12.28 装饰器装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。参数可以是函数,返回值也可以是函数。 10.1 形式 def decorator(fn):def wrapper(name):print(name&…

【Linux进程】进程的基本概念,fork的使用,各种状态的含义,孤儿和僵尸进程的含义

目录 1.进程的基本概念 2.描述进程-PCB 3.fork创建子进程 4.各种状态对应的含义及进程大概的运行原理 5.僵尸进程 ​6.孤儿进程 7.进程的优先级 1.进程的基本概念 2.描述进程-PCB PCB概念:进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集…

ChatGPT注册教程

ChatGPT是最近很火的AI智能对话聊天软件。我们是能够去用来进行更加自由的智能内容讨论和聊天。有的小伙伴还不知道怎么注册。 官方地址:chat.openai.com/chat 注册步骤 1、进入官网后,点击注册按钮。 2、点击创建账号。 3、输入自己的邮箱账号。 4、…

整合Kafka

Main Concepts 一些服务器形成了存储层,被称为broker,其他服务器运行kafka连接去不断地导入和导出数据作为事件流,将kafka和关系型数据库等存在的系统集成。 Servers: Kafka is run as a cluster of one or more servers that can span mult…

高手不用Redis内存数据库一

不是说Redis不好,不用Redis用别的(比如:Memcached 2、VoltDB 3、MongoDB 4、Hazelcast 5、Aerospike) No! No! No!!! Redis 很好,我不拦着您用…… 而是说,我们的水平更高了以后,您一定会感受到 内存数据库 不够用、不够灵活、不…