一切福田,不離方寸,從心而覓,感無不通。

ES5 数组方法map

概述 map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。 语法 array.map(callback[, thisArg]) 参数 callback 原数组中的元素经过该方法后返回一个新的元素。 currentValue callback 的第一个参数,数组中当前被传递的元素。 index callback 的第二个参数,数组中当前被传递的元素的索引。 array callback 的第三个参数,调用 map 方法的数组。 thisArg 执行 callback 函数时 this 指向的对象。 例子:将数组中的单词转换成对应的复数形式. 下面的代码将一个数组中的所有单词转换成对应的复数形式.

例子:求数组中每个元素的平方根 下面的代码创建了一个新数组,值为原数组中对应数字的平方根。

例子:在字符串上使用 map 方法 下面的例子演示如在在一个 String  上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组:

使用技巧案例 通常情况下,map 方法中的 callback 函数只需要接受一个参数,就是正在被遍历的数组元素本身。但这并不意味着 map 只给 callback 传了一个参数。这个思维惯性可能会让我们犯一个很容易犯的错误。

兼容旧环境(Polyfill) map 是在最近的 ECMA-262 标准中新添加的方法;所以一些旧版本的浏览器可能没有实现该方法。在那些没有原生支持 map 方法的浏览器中,你可以使用下面的 Javascript 代码来实现它。所使用的算法正是 ECMA-262,第 5 版规定的。假定Object, TypeError, 和 Array 有他们的原始值。而且 callback.call 的原始值也是 Function.prototype.call

参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map   from:https://www.cnblogs.com/leejersey/p/5462427.html

龙生   31 Dec 2020
View Details

Microsoft store 被卸载了,在哪里能重新下载?

以管理员身份运行PowerShell

  from:https://www.zhihu.com/question/313709859/answer/808890592

龙生   29 Dec 2020
View Details

Alpha、Beta、RC、GA版本的区别

Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。 Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。 RC:(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错。 GA:General Availability,正式发布的版本,在国外都是用GA来说明release版本的。 RTM:(Release to Manufacture)是给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。但是和正式版本的主要程序代码都是一样的。 OEM:是给计算机厂商随着计算机贩卖的,也就是随机版。只能随机器出货,不能零售。只能全新安装,不能从旧有操作系统升级。包装不像零售版精美,通常只有一面CD和说明书(授权书)。 RVL:号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的。 EVAL:而流通在网络上的EVAL版,与“评估版”类似,功能上和零售版没有区别。 RTL:Retail(零售版)是真正的正式版,正式上架零售版。在安装盘的i386文件夹里有一个eula.txt,最后有一行EULAID,就是你的版本。比如简体中文正式版是EULAID:WX.4_PRO_RTL_CN,繁体中文正式版是WX.4_PRO_RTL_TW。其中:如果是WX.开头是正式版,WB.开头是测试版。_PRE,代表家庭版;_PRO,代表专业版。 α、β、λ常用来表示软件测试过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。   from:http://www.blogjava.net/RomulusW/archive/2008/05/04/197985.html

龙生   29 Dec 2020
View Details

Linus Torvalds 公开其最新 Linux 开发 PC 的所有配置

日前,Linus Torvalds 曾在 Linux Kernel 5.7-rc7 公告中透露,其已放弃 Intel,将其主 PC 升级为基于 AMD Threadripper 3970x 的快速处理器。而在与 ZDNet 的 Steven J. Vaughan-Nichols 的最新独家对话中,Linus 又进一步公开了他所有的 PC 硬件规格和 Linux desktop 信息。 Linus Torvalds PC 规格的完整列表如下: CPU — AMD RyzenThreadripper 3970X 主板 —技嘉 Aorus TRX40 Master Fan — Noctua NF-A14 PWM,高级静音风扇 CPU 散热片 — Noctua NH-U14S 和 Noctua NF-A15 Case — Be Quiet Dark Ba​​se 700 Extra Fan — Silent Wings 3 电源设备 — Seasonic Focus GX-850 Storage — 1TB SamsungEVO 970 Memory — 4x16GB DDR4-2666 Linux distro — Fedora 32 笔记本电脑 — Dell XPS 13 对于自己的笔记本电脑,Linus 称: “我通常不会透露具体的品牌名称,但 XPS 13 例外,只是因为我太喜欢它了,所以我最终在女儿上大学时还给女儿买了一个。“ 此外,Linus 还进一步透露,他最新的主机箱是由自己动手建造的。“如果你看完这个列表的感觉是:’Linus 的硬件太多了’,那么你是对的,一般来说,我的主机箱都是我自己做的。” 在价钱方面,综合算下来,这一系列设备的总成本约为 3500 美元。 光子:英文版:https://www.zdnet.com/article/look-whats-inside-linus-torvalds-latest-linux-development-pc/   from:https://www.oschina.net/news/116064/linus-torvalds-linux-development-pc

龙生   25 Dec 2020
View Details

访问win10的远程桌面(Remote Desktop)总是凭据或者用户密码错误

家里电脑是Win10的,原来可以在公司通过远程桌面访问,最近自动升级了一次补丁后,远程可以连接,但是输入正确的用户密码后总提示凭据错误 (Win10是被访问的一方,修改的也是被访问的机器) 修复方式为 命令:gpedit.msc 打开“本地组策略编辑器” Windows设置->安全设置->本地策略->安全选项->网络访问: 本地帐户的共享和安全模型 从“仅来宾”修改为“经典”即可,win10无需重启,远程即刻恢复   网络访问: 本地帐户的共享和安全模型 此安全设置确定如何对使用本地帐户的网络登录进行身份验证。如果将此设置设为“经典”,使用本地帐户凭据的网络登录通过这些凭据进行身份验证。“经典”模型能够对资源的访问权限进行精细的控制。通过使用“经典”模型,你可以针对同一个资源为不同用户授予不同类型的访问权限。 如果将此设置设为“仅来宾”,使用本地帐户的网络登录会自动映射到来宾帐户。使用“仅来宾”模型,所有用户都可得到平等对待。所有用户都以来宾身份进行验证,并且都获得相同的访问权限级别来访问指定的资源,这些权限可以为只读或修改。 在域计算机上的默认值: 经典。 在独立计算机上的默认值: 仅来宾。 重要信息 使用“仅来宾”模型时,所有可以通过网络访问计算机的用户(包括匿名 Internet 用户)都可以访问共享资源。你必须使用 Windows 防火墙或其他类似设备来防止对计算机进行未经授权的访问。同样,使用“经典”模型时,本地帐户必须受密码保护;否则,这些用户帐户可以被任何人用来访问共享的系统资源。 注意: 此设置不会影响通过使用如 Telnet 或远程桌面服务等服务远程执行的交互式登录。 在以前版本的 Windows Server 中,远程桌面服务称为终端服务。 此策略将不会影响运行 Windows 2000 的计算机。 计算机未加入域时,此设置也会将文件资源管理器中的“共享和安全”选项卡修改为与正在使用的共享和安全模型对应的设置。   from:https://www.cnblogs.com/wormday/p/6987243.html

龙生   24 Dec 2020
View Details

mysql实现动态行转列

需求背景:在任务管理系统中,有任务详情表,每个任务下又分子任务节点,每个任务节点都有具体的跟进日期,包括开始时间结束时间,每天的任务完成进度。 有这样一个需求:在任务管理系统中根据任务节点id,展示每天的进度情况。 因为每个任务的时间范围不一样,所以需要用到动态的行转列,将时间周期作为动态的列,进度做为列的值。 任务节点表: quest_node_id:任务子节点id,follow_date:跟进日期 ,grade:进度百分比。 在mysql中创建存储过程:

  注意:我发现follow_date的日期格式(如2018-08-10)会报错,存储过程执行不了,并且数字开头也不可以,所以我把日期改成了varchar类型,并在值里加了前缀。 执行结果如下: 某个节点在某天没有值则补零。 参考文档:mysql 动态行转列   from:https://blog.csdn.net/xiaoxiangzi520/article/details/81480477

龙生   22 Dec 2020
View Details

mysql行列转换

创建数据库、表

  添加数据

  方式一:使用if

  方式二:使用case

  方法三: with rollup

from:https://www.cnblogs.com/weibanggang/p/9679301.html

龙生   22 Dec 2020
View Details

elementUI中el-table 如何动态生成列

from:https://blog.csdn.net/baidu_34692401/article/details/83348130

龙生   22 Dec 2020
View Details

IIS最大并发连接数 = 队列长度 + IIS最大并发工作线程数

深入理解IIS的多线程工作机制 首先让我们来看看IIS里面的这2个数字:最大并发连接数,队列长度。先说这2个数字在哪里看。   最大并发连接数:在IIS中选中一个网站,右键网站名称,在右键菜单中找到并点击【管理网站】->【高级设置】。打开对话框如下图:   队列长度:在IIS中选中【应用程序池】,在应用程序池列表中,右键你想查看的,在右键菜单中选择【高级设置】。打开如下对话框:   这两个数字表面上看是影响我们站点的并发处理能力的,但是具体是如何影响一个网站的并发处理能力的呢?要完全理解IIS的并发处理能力,除了这2个数字,实际上还有一个非常关键的数字:IIS最大并发工作线程数。   1. IIS最大并发工作线程数 在以前很长一段时间,我一直以为IIS的【最大并发连接数】就是影响IIS最大并发工作线程数。我以为将【最大并发连接数】设置为1万,那么当1万个请求同时到来的时候,IIS会开启1万个线程进行处理,如果同时到来2万个请求,由于最大并发连接数只有1万,那么剩余1万个请求就会放在队列里面,当前面的1万个线程中某个完成了请求之后,再从队列里面取一个请求。但,这个理解是完全错误的,相信很多朋友也跟我有同样的理解。   现在,首先让我们来理解什么是【IIS最大并发工作线程数】。这个数字在IIS里面是没有界面进行设置的,我以前根本就不知道有这个数字。这个数字跟操作系统相关,我的win7系统的IIS的值是10,VS2012自带的IIS Express的值是80。对于windows服务器版本的系统的具体值是多少没有测试过,但我猜应该也是有限制的。   这个数字到底是什么意思呢?回到上面举的例子,当1万个请求同时进入IIS的时候,由于win7系统的IIS只有10个工作线程,那么这时1万请求中只有10个请求会在第一时间被处理,剩余9990个请求都需要排队。也就是说,IIS最多能够安排10个线程同时处理请求(win7版本的IIS,有的可能是20)。   所以,如果你用自己的win7系统测试IIS的性能的时候,你可能发现,不管你怎么设置【最大并发连接数】,你的IIS处理能力都很有限。   2. 最大并发连接数 上面讲的IIS最大并发工作线程数,看上去就是IIS的并发处理能力,如果是这样,那么【最大并发连接数】有什么意义呢?   还是上面的例子,如果1万个请求同时到来,而我们的win7系统的IIS最大并发工作线程数只有10,这时如果将【最大并发连接数】设置为100,会有什么效果呢?答案是:只有100个请求会收到正常响应,剩余9900个请求直接返回503(服务不可用)的错误。这时,实际上进入排队等待的只有90个请求。   再换下测试参数,如果将【最大并发连接数】设置为5000,又会有什么效果?答案你可能已经知道了,那就是一开始就有5000个请求直接返回503,剩下5000个请求慢慢正常返回。   这里你看明白了吧,【最大并发连接数】在我们的测试例子中,影响到了排队的数量。这样的话,看上去【队列长度】又不知道什么意思了?   3. 队列长度 在上面的例子中,如果1万个请求同时到来,【最大并发连接数】设置为100。这时我们知道,IIS首先会安排那10个线程去处理10个请求,剩下90个请求都需要排队。这时如果我们将【队列长度】设置为50,那会出现什么情况?答案是,40个请求会直接返回503服务不可用的错误(因为队列只有50个的长度,剩下的40个就无法排队了),最终只有60个请求会被正确处理。   读到这里,你明白了吗?   结论 当很多请求同时到来的时候,IIS会根据【最大并发连接数】来判断是否有多余的请求,多余的请求直接返回503,然后再根据【队列长度】来判断是否有多余的请求排不了队,排不了队的也直接返回503。所以,如何设置【最大并发连接数】和【队列长度】,实际上是有公式可以计算的:   最大并发连接数 = 队列长度 + IIS最大并发工作线程数   最后再说说IIS的默认值对我们网站并发处理能力的影响。IIS默认的【最大并发连接数】为4294967295(42亿多),而【队列长度】默认值为1000。对于windows server版本的IIS,最大并发工作线程数可能几百(猜测,可能没有限制),按照这个默认值,那么IIS同时处理的请求数也就1000多。1000多这个数字才是IIS真正的并发处理能力,而这个能力跟我们的代码没有关系。那么哪些指标是评判我们网站的处理能力的呢?最重要的指标可能莫过于【每秒处理请求数】吧(在性能分析器里面可以查看),这个数字也叫吞吐率。如果每个请求处理速度非常快,那么那么网站吞吐率就大,吞吐率大那么支持的同时在线人数就大。如果要做秒杀,那就看你的秒杀相关的URL支持多大的吞吐率吧。了解了这么多指标,还没有涉及到CPU的计算能力。CPU的计算能力是如何影响网站的处理能力的呢?还是那么多请求,如果CPU很强大,能够缩减每个请求的处理时间,那必然会提高吞吐率。还有很多的请求,如果花在网络传输或者到数据库的传输时间比较多,这部分等待时间CPU是闲置的,如果能够提高CPU的利用率,也可能提高网站的处理能力,最充分的利用服务器的资源。如果不想改代码而想提高CPU利用率,可以在IIS的应用程序池中设置最大工作进程数(默认值为1),可以设置为10如果当前CPU利用率只有百分之几的话,调整这个数值需要特别注意每一个工作进程是独立的应用程序,全局静态变量不共享。原文:你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数 吗?   IIS连接数   一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,这边先从普通不懂代码用户角度理解IIS连接数 顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫“IIS限制连接数” 这边客户请求的连接内容包括: 1、网站html请求,html中的图片资源,html中的脚本资源,其他需要连接下载的资源等等,任何一个资源的请求即一次连接(虽然有的资源请求连接响应很快) 2、如果网页采用框架(框架内部嵌套网页请求),那么一个框架即一次连接 3、如果网页弹出窗口(窗口内部嵌套网页请求),那么一个窗口一个连接   虚拟主机供应商在IIS(6.2版本,以下所有截图均此版本)中  “点击网站”->“右击切换到功能视图”->“点击界面右侧的‘限制’链接”->“编辑网站限制”   限制连接数即为虚拟主机供应公开的IIS连接数标准,如果购买的IIS连接数为50,那么我们不得不考虑网站的内容框架和访问量 如果网站图片够多,弹窗窗口随意(可能连时间选择框、简单条件筛选框也用弹出新窗口),加上不得已的打开新页面浏览内容,那么仅仅能容忍10个人同时操作也很正常,我不会把这个操作描述为很多网站说的“10同时在线”,这很容易让人误解,在用户的一次请求(表面上可能是刷新一次网页,实际上内部请求不止一次,事实上很少只有一次)都完成得到服务器响应完毕之后,连接全部会被释放,当然在你看到展示的页面之前,内部嵌套如果有请求图片等连接请求,连接会早早的被释放 事实上,很多企业门户网站访问量低的惊人,IIS连接数为50也是绰绰有余了 这边给出更加详细参考链接:http://www.west263.com/info/html/IDCzixun/zhujizuyong/20080221/1677.html   IIS并发连接数   “管理网站”->“高级设置”->"限制"->"最大并发连接数" 其实,普通用户常说的“IIS链接数”就是这边的“最大并发连接数”,如果PC端有IIS的朋友,可以测试上面两个图片的设置,是相互影响的 这边默认最大并发连接数为:4294967295,这是一个很惊人的数字,难道这代表着网站能具有并发执行连接数为4294967295的能力? 这边我做几个假设: 1、很多虚拟主机供应商所说的无并发连接数限制真的成立吗? 2、每个连接的处理,IIS都会开启一个线程去处理,假设这个处理方式成立,那么4294967295个并发连接请求来了是否IIS会立即启动4294967295个线程去处理?   对于1:很显然不成立,最大并发连接数的设置绝对有上限 对于2:这是很多朋友的误区,假设4294967295并发连接同时来了,IIS不会立即启动4294967295个线程去处理,因为这不现实,对于处理连接,IIS是有“最大并发工作线程数”限制的,这是我下面要介绍的,我从一些资料上查阅到,该数字跟操作系统相关,win7系统的IIS的值是10(或者其他不确定),VS2012自带的IIS Express的值是80。对于windows服务器版本的系统的具体值不清楚,即4294967295个并发连接来了后,(这边以win7下的10为例),iis第一时间只能启动10个工作线程去处理,那么其他4294967285必须排队,排队对用户的体验来说就是网页正在加载,但是什么都不显示,然后此时购买了据虚拟主机供应商所说的无并发连接数限制的客户就要开始狂暴了,为何购买了所谓的“无限并发连接数”,还是会一直在加载的情况,我只能说这就是IIS处理能力有限的问题了   当然服务器没有直接返回“HTTP Error 503. The service is unavailable.”应该也算是一些你花更多钱的安慰吧,因为你只购买了IIS连接数为50的话,那么第50+1个连接请求操作得到的就直接是“HTTP Error 503. […]

龙生   18 Dec 2020
View Details
1 2 5