首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

使用node+puppeteer+express搭建截图服务

一开始我们的需求是打开报表的某个页面然后把图截出来,然后调用企业微信发送给业务群 这中间我尝试了多种技术,比如html2image,pdf2image、selenium这些,这其中截图 比体验较好的也就selenium了,不过我们有些页面加载的时间较长,selenium似乎对html互操作性 也不是很完美(通过Thread.sleep并不能完美的兼容绝大多数报表),另外还有一个比较要命的 是Chromium渲染出来的页面似乎也有不同程度的问题(就是不好看),当然后面一个偶然的机会在 某不知名网站看到有网友用puppeteer来实现截图,遂~,一通骚操作就搭了一套出来(虽然最终方案并不是这个 ,当然这是后话哈~),这里就拿出来说说哈~

02

Linux中查看系统CPU、内存、磁盘、网卡、硬件槽信息的命令

linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。 查看系统信息 uname -a 显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号 cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~$ lscpu Architecture:          i686            #cpu架构 CPU op-mode(s):        32-bit, 64-bit Byte Order:            Little Endian   #小尾序 CPU(s):                4               #总共有4核 On-line CPU(s) list:   0-3 Thread(s) per core:    1               #每个cpu核,只能支持一个线程,即不支持超线程 Core(s) per socket:    4               #每个cpu,有4个核 Socket(s):             1               #总共有1一个cpu Vendor ID:             GenuineIntel    #cpu产商 intel CPU family:            6 Model:                 42 Stepping:              7 CPU MHz:               1600.000 BogoMIPS:              5986.12 Virtualization:        VT-x            #支持cpu虚拟化技术 L1d cache:             32K L1i cache:             32K L2 cache:              256K L3 cache:              6144K 查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。 #cat /proc/cpuinfo processor    : 0 vendor_id    : GenuineIntel cpu family    : 6 model        : 42 model name    : Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz ..... 上面输出的是第一个cpu部分信息,还有3个cpu信息省略了。 内存 概要查看内存情况 free -m              total       used       free     shared    buffers     cached Mem:          3926       3651        274          0         12        404 -/+ buffers/cache:       3235        691 Swap:         9536         31       9505 这里的单位是MB,总共的内存是3926MB。 查看内存详细使用 # cat /proc/meminfo MemTotal:        4020868 kB MemFree:          230884 kB Buffers:            7600 kB Cached:           454772 kB SwapCached:          836 kB ..... 查看内存硬件信息 dmidecode -t memory # dmidecode 2.11 SMBIOS 2.7 present. Handle 0x0008, DMI type 16, 23 bytes Physical Memory Array     Location: System Board Or Motherboard ....     Maximum Capacity: 32 GB .... Handle 0x000A, DMI type 17, 34 bytes .... Memory Device     Array Handle: 0x0008     Error Information Handle: Not Provided     Total Width: 64 bits     Data Width: 64 bits     Size: 4096 MB ..... 磁盘 查看硬

03

多维数据库概述之一---多维数据库的选择

1. 多维数据库简介 多维数据库(Multi Dimesional Database,MDD)可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。MDD的信息是以数组形式存放的,所以它可以在不影响索引的情况下更新数据。因此MDD非常适合于读写应用。 1.1. 关系数据库存在的问题 利用SQL进行关系数据库查询的局限性: 1) 查询因需要“join”多个表而变得比较烦琐 ,查询语句(SQL) 不好编程; 2) 数据处理的开销往往因关系型数据库要访问复杂数据而变得很大。 关系型数据库管理系统本身局限性: 1) 数据模型上的限制 关系数据库所采用的两维表数据模型,不能有效地处理在大多数事务处理应用中,典型存在的多维数据。其不可避免的结果是,在复杂方式下,相互作用表的数量激增,而且还不能很好地提供模拟现实数据关系的模型。关系数据库由于其所用数据模型较多,还可能造成存储空间的海量增加和大量浪费,并且会导致系统的响应性能不断下降。而且,在现实数据中,有许多类型是关系数据库不能较好地处理的 。 2) 性能上的限制 为静态应用例如报表生成,而设计的关系型数据库管理系统,并没有经过针对高效事务处理而进行的优化过程。其结果往往是某些关系型数据库产品,在对GUI和Web的事务处理过程中,没有达到预期的效果。除非增加更多的硬件投资,但这并不能从根本上解决问题。 用关系数据库的两维表数据模型,可以处理在大多数事务处理应用中的典型多维数据,但其结果往往是建立和使用大量的数据表格,仍很难建立起能模拟现实世界的数据模型。并且在数据需要作报表输出时,又要反过来将已分散设置的大量的两维数据表,再利用索引等技术进行表的连接后,才能找到全部所需的数据,而这又势必影响到应用系统的响应速度。 3) 扩展伸缩性上的限制 关系数据库技术在有效支持应用和数据复杂性上的能力是受限制的。关系数据库原先依据的规范化设计方法,对于复杂事务处理数据库系统的设计和性能优化来说,已经无能为力。此外,高昂的开发和维护费用也让企业难以承受。 4) 关系数据库的检索策略,如复合索引和并发锁定技术,在使用上会造成复杂性和局限性。 1.2. 多维数据库的相关定义 维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。 维的层次(Level):人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。 维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。 度量(Measure):多维数组的取值。(2000年1月,上海,笔记本电脑,0000)。 OLAP的基本多维分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。 钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。 切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。 旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。 1.3. 多维数据库的特点 后关系型数据库的主要特征是将多维处理和面向对象技术结合到关系数据库上。这种数据库使用强大而灵活的对象技术,将经过处理的多维数据模型的速度和可调整性结合起来。由于它独有的可兼容性,对于开发高性能的交换处理应用程序来说,后关系型数据库非常理想.在后关系型数据库管理系统中,采用了更现代化的多维模型,作为数据库引擎。并且,这种以稀疏数组 为基础的独特的多维数据库架构,是从已成为国际标准的数据库语言基础上继承和发展的,是已积累了实践经验的先进而可靠的技术。 多维数据模型能使数据建模更加简单,因为开发人员能够方便地用它来描述出复杂的现实世界结构,而不必忽略现实世界的问题,或把问题强行表现成技术上能够处理的形态,而且多维数据模型使执行复杂处理的时间大大缩短。例如开发一个服装连锁店信息管理系统时,如果用关系数据库,就需要建立许多表,一张表用来说明每种款式所具有的颜色和尺寸,另一张表用来建立服装和供应商之间的映射,并表示它是否已被卖出,此外还需要建一些表来表示价格变化、各店的库存等等。每成交一笔生意,所有这些表都需要修改,很快这些关系数据库就会变得笨重而

02
领券