大家好,我是前端实验室的大师兄! 在 web 开发中,管理后台生成 excel 报表并且下载,一个很常用的功能,很多 Javascript 开发者也提供了很多的这方面的工具来实现这一功能。...前言 对于Javascript处理 Excel 文件来说,js-xlsx 库是目前 Github 上 star 数量最多的库了,功能非常强大,强大到入门时瑟瑟发抖。文档有些乱,不适合快速上手。...关于 node-xlsx Node-xlsx 是一个Node.js的扩展,通过名字应该能够猜到是干什么的,主要是用于解析和构建 Microsoft Excel 表格,这个插件基于 js-xlsx(也就是上面提到上手难度贼大的那个...node-xlsx 的技术特性 底层基于强大的 SheetJS 构建,对 xlsx 文档的格式兼容性足够好 支持导出和读取 xlsx 文档,一个工具库解决导入导出需求 只有少数几个 api ,使用非常简单...如果该文章对你有帮助,那么就点击右下角的 [点赞]「在看」,给一个小小的鼓励吧~
实例化Vue对象一些很重要的选项,Vue的所有数据都是放在data里面的,Vue的参数是个对象,对象里面的字段叫做data,data里面也是对象,data也可以写作是this.a,this.b来取到数据...2:methods是一个方法,这个方法打印出 了a的数值,取到data里面的数据 3:监听 我们监听了data数据里面的a, a对应的是一个方法,意思就是我们监听所有a的变化,a在dosomething...进行了一个加1 的操作,watch指定的这个方法就会去执行,所以val的值是2,oldval的值还是之前的1 4:那么Vue里面的东西和页面页面展示究竟有什么联系?...我们的数据源是这样的,items里面有一个对象的列表 我们在前端对数组进行渲染的话使用的就是v-for 命令,in后面的对象值得就是data数据源里面的列表 通过循环体里面对象的属性(banana...和apple)取得 7:事件的绑定 doThis是从methods里面取得的,不是从data里面取得,,简写的模式是@ 8:对dom元素属性的操作,简写的方式是: 假如里面是对象{},这个red指的是
一开始我以为数组转树是一个很复杂的事,因为你可能要写一个在树中寻找某个父节点的方法,还要判断哪个是最顶级节点。 但是利用下面这个方法,化繁为简。真是牛P。...最核心的是map[ownercn].children.push(item) 这句 ,这里的ownercn可以看做是父节点的id。...ownercn]) { map[ownercn].children.push(item) } else { console.log(`没有找到cn为${ownercn}的节点...result.push(item) } }) console.log(JSON.stringify(result)) 数据是一下, cn为id owner 中cn等号后面的值是父节点id 垃圾的后台
TensorFlow.js简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。...TensorFlow的数据流运作模型如下图: TensorFlow.js 是一个开源的用于开发机器学习项目的 WebGL-accelerated javascript 库。...器学习的模型算法有很多,但是比较常用的模型可以概括为三种: 基于网络的模型:最典型的就是神经网络,模型有若干层,每一层都有若干个节点,每两个节点之间都有一个可以改变的参数,通过大量非线性的神经元,神经网络就可以逼近任何函数...基于统计学习的模型:最简单的例子就是贝叶斯学习机,统计学习方法是利用数理统计的数学工具来实现学习机的训练,通常模型中的参数是一些均值方差等统计特征,最终使得预测正确概率的期望达到最大。...TensorFlow.js使用 1,创建神经网络 TensorFlow.js 给我们提供了一个简单的办法来创建神经网络。
先申明下,这里说的Faker和LOL的大魔王没有任何关系,只是恰好重名而已。 因为找不到图,借用下Faker。...故事由来 最近做一个项目时需要随机生成人的名字,百度之后,我是这样写的 def random_first_name(): """百家姓中选择一个""" name = ['赵',...,Python中有一个专门生成各类假数据的库:Faker,你去了解下。...fake-useragent这个库 fake.mac_platform_token() # 'Macintosh; Intel Mac OS X 10_12_1' fake.firefox()...,当然也有其他语言的,小伙伴可以去官网看看。
今天早上在开始讲零基础课的时候,我看了一眼旁边桌上的书,就跟我的学生们聊了一会,看书的必要性。有些前端和互联网方面的书,确实是垃圾,但也要看看,为啥呢?因为面试的时候,你没法保证每一句话都是干货。...就是大致的翻看一下,然后在脑子里有个印像也就算了。 写js这东西,其实并不能每个人都像我一样,在写JS中找到乐趣,就乐意写这东西直到50岁眼瞎为止。...那肯定有人要问,也许我不仅写JS写不到35,可能我连3、5年的时间都写不到。那我学JS的意义在哪里呢?直白的讲,也就是挣点钱儿。...要知道总有些事情是你必须要办,而且很可能它们的紧急程度是一样的,那你该怎么办呢? 或者你可以像你在写JS的时候那样,把相同的事情分类,然后sort()排序,然后把这些事情分解,按照相关度重新组合。...而这种思考方式,我觉得通过写JS会是一种很好的练习方式。确实也是因为我只会JS。
求数组中的最大值 function getMax(a) { let max = a[0] for (let i = 0; i <a.length ; i...min } let num = getMin([1,4,2,5,7,2,0]) document.write(num) 求任意两个数中的最大值
此外,用底层语言编写的库,例如用C或Fortran编写的库,可以在NumPy数组存储的数据上直接操作,而无须将数据复制到其他内存中后再操作。...由于数据操作、预处理、清洗在数据分析中是重要的技能,pandas将是重要主题。 介绍一点背景知识,早在2008年,我在一家量化投资企业——AQR资本管理公司供职时,便开始了pandas的开发。...matplotlib是最流行的用于制图及其他二维数据可视化的Python库。它由John D. Hunter创建,目前由一个大型开发者团队维护。matplotlib被设计为适合出版的制图工具。...IPython项目开始于2001年,由Fernando Pérez发起,旨在开发一个更具交互性的Python解释器。在过去的16年中,它成为Python数据技术栈中最重要的工具之一。...IPtyhon最古老、最简单的“模式”就是一个加强版的Python命令行,用于提高编写、测试、调试Python代码的速度。
一、 基本概念 1、 简介 requests 模块是 python 基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。...Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner 2、 获取 通过 pip install requests 安装 requests 库 导包...互联网上的每一个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它 URL 的一般语法格式为: protocol://host[:port]/path/[?...位置资源的响应消息报告,即获得资源的头部信息 POST 请求向URL位置的资源后附加新的消息 PUT 请求向URL位置存储一个资源,覆盖原URL位置的资源 PATCH 请求局部更新URL位置的资源,即改变该处资源的部分内容...通过URL和命令管理资源,操作独立无状态,网络通道及服务器成了黑盒子 二、 使用方法 1、 基本语法 requests 库中的方法 方法 说明 requsts.requst() 构造一个请求,最基本的方法
所有应用软件之中,数据库可能是最复杂的。 MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。...但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。...对于数据库来说,每进入一层,就要从硬盘读取一次数据,这非常致命,因为硬盘的读取时间远远大于数据处理时间,数据库读取硬盘的次数越少越好。 B树是对二叉查找树的改进。...它已经有多种实现(比如C-ISAM库和D-ISAM库),只要使用这些代码库,就能自己写一个最简单的数据库。 四、高级功能 部署了最基本的数据存取(包括索引)以后,还可以实现一些高级功能。...(1)SQL语言是数据库通用操作语言,所以需要一个SQL解析器,将SQL命令解析为对应的ISAM操作。 (2)数据库连接(join)是指数据库的两张表通过"外键",建立连接关系。
什么时候用懒加载 当页面中需要一次性载入很多图片的时候,往往都是需要用懒加载的。 懒加载原理 我们都知道HTML中的 标签是代表文档中的一个图像。。说了个废话。。...随着滚动条的向下滚动, bound.top会越来越小,也就是图片到可视区域顶部的距离越来越小,当 bound.top===clientHeight时,图片的上沿应该是位于可视区域下沿的位置的临界点,再滚动一点点...函数节流 在类似于滚动条滚动等频繁的DOM操作时,总会提到“函数节流、函数去抖”。 所谓的函数节流,也就是让一个函数不要执行的太频繁,减少一些过快的调用来节流。...,此时浏览器是这样 此时第二张图片完全显示了,而第三张图片显示了一点点,这时候我们看看请求情况 img3的请求发出来,而后面的请求还是没发出~ 全部载入时 当滚动条滚到最底下时,全部请求都应该是发出的...()方法的返回值一样boundingClientRect目标元素的矩形区域的信息intersectionRect目标元素与视口(或根元素)的交叉区域的信息intersectionRatio目标元素的可见比例
Axios 是一个基于 promise 的 HTTP 库,可以工作于浏览器中,也可以在 node.js 中使用,提供了一个API用来处理 XMLHttpRequests 和 node 的 http 接口...可能很多人会疑问:用 jquery 的 get/post 不就很好了,为什么要用 Axios?...原因主要有: (1)Axios 支持 node.js,jquery 不支持 (2)Axios 基于 promise 语法标准,jquery 在 3.0 版本中才全面支持 (3)Axios 是一个小巧而专业的...HTTP 库,jquery 是一个大而全的库,如果有些场景不需要使用jquery的其他功能,只需要HTTP相关功能,这时使用 Axios 会更适合 下面了解下 Axios 的具体使用方式 示例 基本操作.../bower_components/axios/dist/axios.js"> axios.get('https://api.github.com/xxx'); </
作为前端,数据提交到后台之前,重要的数据要进行加密一下,虽然已经有 https 等技术,但是增加一道前端的加密还是相对更安全的。虽然,前端的加密很容破解,但是有总比没有强。...比较流行的前端加密库 斯坦福大学的js 加密库 crypto-js md5 加密 md5 加密算法是一种哈希算法,虽然已经被王小云博士找到了碰撞破解的方法,但是如果进行几次 md5 加密,破解难度就很高...以下是单独的 md5 加密帮助文件的使用: 第一步: 下载 md5 的 js 文件 第二步:引入 js 文件 第三步: 调用加密方法 var hashHex = hex_md5("123dafd"); // 返回16...第一步:下载 sh1 加密 js 第二步:页面中引入 sha1.js,调用方法为 第三步: 编写代码 var shaHex = hex_sha1('mima123465'); // 07f804138ac308f552b17d7881105a9cb08758ca
,如上代码是在使用的时候来指定 type 的其实在 styled 当中就是提供了一种方式在创建之前就可以明确的知道需要创建的组件的类型,那么就是通过 attrs,然后博主这里就紧接着提供了通过 attrs...,通过 styled 如何来进行设置,在styled 当中提供了一个 ThemeProvider 可以通过它来进行传递全局主题的样式数据,然后在其它组件的 styled 当中进行使用即可如下:App.js... ); }}export default App;Home.js...StyleDiv> 我是Home段落 ) }}export default Home;About.js...,就是说如果两个组件之间有冗余的样式代码,这个时候就可以抽离出一个基础的样式组件,然后都统一继承这个基础的组件就可以了,具体的实现代码如下:import React from 'react';import
虽然这并不能成为引人入胜的电视节目,但软件也有同样的概念:溯源。 溯源的重要性 现代软件不仅仅是您编写的代码;它还包括您从供应商和开源项目中引入的依赖项集合。这个供应链对您软件的安全性有直接影响。...),或者他们可能会破坏软件存储库或更新机制(如 2017 年的NotPetya)。...当您知道谁开发了软件以及它是如何测试、构建和发布的——它的溯源——您就知道您可以信任它多少。 溯源如何被攻击 由于溯源对于保护软件供应链至关重要,因此操纵溯源是成功供应链攻击的关键。...将溯源数据存储在一次写入的存储库中。这使您能够在以后验证是否有任何溯源数据被修改。修改(无论是恶意还是意外)都是一个警告信号,表明您的依赖项以某种方式被篡改了。...保护您自己和任何下游用户生成的来源也很重要。实施严格的访问和身份验证控制,以确保只有授权用户可以修改来源记录。对生成来源数据的任何系统使用多因素身份验证,这可以降低未经授权访问的风险。
、xilihuasi Node.js 是最敏捷的服务端 web 应用平台,因为它为应用开发公司提供了构建可扩展的单一编程语言 web 平台的便利。...使用 Node.js 框架的收益 易扩展性 学习曲线低 JavaScript 全栈开发 庞大而活跃的社区 使用单一的代码库,以提高整体 web 性能。...2021 年最值得用的 Node.js 框架 我们已经介绍了 Node.js,并详细地了解了它的功能,现在我们可以讨论 2021 年最值得使用的 Node.js 框架啦。 1....Hapi.js 是众多开发者信赖的最简单、安全、可靠的框架之一。你可以使用 Hapi.js 来创建可扩展和健壮的应用程序,它具有最小的开销和开箱即用的功能。...它也是最直接的学习框架之一,因为它不遵循任何严格的结构规则。因此,Meteor.js 应该被任何希望以最少的学习曲线为多个平台创建应用程序的初级或中级开发人员使用。
问题描述 在使用JavaScript的时候,为了更加方便快捷的完成一些项目,通常会引用一些框架(库)。目前广受欢迎的库有:jQuery、Prototype、MooTools。...可以通过下面的标记把 jQuery 添加到网页中: 也可以使用...Google或Microsoft CDN引用它 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.<em>js</em>...Prototype 是一种<em>库</em>,提供用于执行常见 web 任务<em>的</em>简单 API。...API 是应用程序编程接口(Application Programming Interface)<em>的</em>缩写。它是包含属性和方法<em>的</em><em>库</em>,用于操作 HTML DOM。
使用场景 1、检查接口可用性 主要用于在没有引入 jQuery 等工具的页面上需要验证一些 api 能否调得通的时候,可以快速调出浏览器调试界面发请求。 这在判断是否存在跨域问题的场景下,特别好用。...2、验证接口用于爬虫 另外,因为在浏览器调试界面发起的请求跟页面自身的 js 发起的请求是一样的,所以可以不用关心登录状态等上下文环境的问题。...这在写爬虫的时候特别实用——抓到一个链接之后,直接在浏览器上进行验证,先调用一下试试好不好用再说。...3、减少依赖 因为可以直接使用原生 js,因此无需添加 jQuery、axios 等第三方工具就可以发送 http 就请求,可以减少应用的体积。
领取专属 10元无门槛券
手把手带您无忧上云