大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

论省略号...的4种写法

line-height: 20px;prg2 { display: -webkit-box;prg3的省略号,是目前比较合理的。javascript的方式,灵活简便,唯独增加了些许js的代码量。毕竟不是使用的css属性。 JavaScript 结构 // 立即执行函数,将shortLine函数挂到window上,这样就可以直接调用了 (function (w) { var shortLine = function (pragrafsClass, number) { // 获取需要展现省略号的那些段落的class元素 var prgs = document.getElementsByClassName(pragrafsClass);

为什么JS中eval处理JSON数据要加括号

为什么要加括号? 加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的: alert(eval("{}");

当时学会了,过后就忘,怎么办呢?

当时学会了,过后就忘,怎么办呢? 前有同学问过我这样一个问题,“总体来讲,都能听懂,但后面的学完,前面的都有些记不清楚了,怎么办呢?” 记得我当时是这样回复他的,“能听懂就好,因为肯定要忘,没有谁能把讲的东西全都从头到尾都记住。”人脑子不是机器,人能牢记一个东西,靠的是不断的重复,形成肌肉记忆,正所谓的,无它,唯手熟耳。 而你在学习的

每天一点算法-桶排序 (Day2)

//用于保存结果 //待排序数据依次放入桶,这里遍历n次 arr.forEach(function(item){ //一个桶可以装多个数,所以用数组装 if(buckets[item]) buckets[item].push(item); //将桶里从头到尾连起来输出,这里遍历n次 buckets.forEach(function(item){ if(item) result = result.concat(item); }) return result; } var arr = [77, 6, 37, 96, 34, 6, 14]; console.log(sort(arr));

Kotlin生态调查结果出炉:超过6成的开发者用过Kotlin了

Given all the support by both JetBrains and Google, and the almost universal love that Kotlin receives in the developer community, we are sure that the language is not going anywhere. The main question is: will it manage to seriously break into the communities outside of Android? JetBrains is heavily pushing the multi-platform dream, but will it see sufficient adoption in the following months and years?

让你的函数柯里化(函数接口)!

} @Data @NoArgsConstructor @ToString @AllArgsConstructor public class People { private List userDefineFields; 首先我们先看一段未优化的代码: // 获取每个userDefineFields中的fieldType为EN、SC、FC的value public class Test { public static void main(String[] args) { // init data .userDefineFields.isEmpty()) { for (UserDefineField userDefineField : userDefineFields) { if (Objects.equals(userDefineField.getFieldType(), fieldType)) { result = userDefineField.getVaule();

如何进行 GC 调优提升 Node 应用性能

如何进行 GC 调优提升 Node 应用性能 前情 用户项目上线进行压测时,CPU 100% 时单进程 QPS 在 100 上下浮动,想进行一些进一步的优化。经过接入 Node.js 性能平台 后,在压测试做 CPU Profile 观察系统 CPU 耗费在什么地方: 可以看到 _tickDomainCallback 和 garbage collector 在 CPU 的占比加起来高达 83%,而经过和用户沟通,发现 _tickDomainCallback内部的耗费 CPU 高的逻辑分别是 typeorm 和自己的 cont

你不知道的 eval

// return 'inside' 而间接调用时,eval 运行于全局作用域。 var context = 'outside'; Knockout, Vue 和 AvalonJS 等 MVVM 框架实现中是否用到 eval 或 Function? eval() isn’t evil, just misunderstood A new V8 is coming, Node.js performance is changing. V8: Behind the Scenes (February Edition feat. A tale of TurboFan)

IoT云需求简析

等也都可以 总结起来,客户拿到SDK,参考文档,在样例代码的基础上,很快可以完成基本功能调试. 每个云都在宣称这一点,不过实际测试起来,能达到这样的基本木有... 行业设备需要的CMS后台管理运维系统,当前几家涉及很少,对于用户来说还是个不小挑战. 每家都在宣称SDK是 Plug and Play 测试起来都是 Play and Pain

iOS实现真正实用的表格控件

主要就是创建对象,以及遵守代理 使用方法一 使用方法二 使用三(补充) 总结语: 目前就是个demo 封装到一半,如果有人需要,我就封装起来上传的cocoapods,有不好的地方也可以留言。 PS:cell 最好用原生控件 不要自己绘画,用不好有坑。这是当初写的demo,后来在项目中发现自己绘画边框等等合并单元上会多多少少出现问题。 github地址:https://github.com/sabersensen/ZSXChartDemo

领域驱动设计: 服务边界划分

png 寻找聚合 在DDD中,聚合是一组相关的领域对象,其目的是要确保业务规则在边界内的不变性,聚合根具有全局标识,所有对聚合根内对象的修改,都只能通过聚合根进行,聚合帮助我们简化了复杂的对象网络,逐步做到“高内聚,低耦合”。 在识别聚合的时候,我们可以通过对命令和事件的划分找到聚合边界,识别出分布在时间轴上面不同位置的相关命令和事件,e.

Linux 下安装 Docker

Linux 下安装 Docker Docker 安装 Docker 非常简单。任何一门编程语言,我们都是从 Hello World 开始,这里,我们的首要目标就是先把 Docker 跑起来。下面以 Ubuntu 为例看看我们是如何把 Docker 跑起来的。 安装 Ubuntu 下安装 Docker 执行: sudo apt-get install docker.io 安装后,执行 docker version 查看版本: Client: Version: 18.06.1-ce API version: 1.38 Go version: go1.10.4 Git commit: e68fc7a Built: Wed Sep 26 01:43:33 2018 OS

docker源码3-plugin的管理

docker源码3-plugin的管理 谢绝转载 序言 上篇看了plugin的存储和管理,打铁要趁热,那么看一下当docker运行时,执行plugin的相关命令是如何与PluginStore对应起来的. 注意事项: 1.本文共有四篇,每篇都有编号,编号类似1.2.1这种,其中1是文章编号,因为后面的调用关系需要去前面篇幅中找,所以我标注了这个方便寻找.= nil { os.RemoveAll(pdir) } }() if err := os.Rename(rootFSDir, filepath.Join(pdir, rootFSFileName));

傻姑娘,你要做自己的女王

傻姑娘,你要做自己的女王 我会一直等你,直到未来。 文/七月苏夏 快乐是要自己给的,无论生活怎样,你都要过成自己期望的样子,哪怕不能如愿以偿,也要向着期待靠近。 若说这个世上所有的相遇,与我最像之人,便是若兮了。 相识三年,我们认识的时间不长,短到这三年的时间里,我们已经有一年未联系。 若兮是个很心善的姑娘,我们相识在网络,性格相似,爱好

[结构赋值-01]数组的结构赋值

[结构赋值-01]数组的结构赋值 解构赋值语法是一个Javascript表达式,这使得可以将值从数组或属性从对象提取到不同的变量中 —— MDN 我们有这样一个数组 arr = [1,2,3,4]; //arr4 == [1, 2, 3, "a", "b", "zz", 1] //如果写成 const arr4 = [arr1, arr2, arr3]; //a=1 //b=null //c=undefined //d='aaa' 交换变量 以往的交换需要第三个变量 let a = 20; const [status, data, msg] = getUserInfo(123);

安利一款“黑客”编辑器Atom,用起来有恋爱的感觉。

安利一款“黑客”编辑器Atom,用起来有恋爱的感觉。 嘿嘿 Vim,VS,Light Table,Notpad++,Chocolat,Sublime等等。你用的哪个?对于程序员来说,编辑器就像一个妹子。刚认识的时候满是新鲜感,慢慢地相处多了,就开始跟你撒娇、闹;直到最后被你调教的服服帖帖很顺手啦。 A hackable text editor for the 21st Century 面向21世纪的一款可定制化文本编辑器。 Atom就像个装扮淡雅的女孩子。

Object.freeze( ) 阻止Vue无法实现 响应式系统

Object.freeze( ) 阻止Vue无法实现 响应式系统 做了一个vue项目,总是边百度边写,知识体系不能系统起来,准备在浏览下vue.js官网基础知识。 当一个 Vue 实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性。当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值。但是如果使用 Object.freeze(),这会阻止修改现有的属性,也意味着响

h5使用canvas画布实现手势解锁

} arr.push(lockCicle); 绘制连线 绘制连线的方法 var pointerArr = []; //是否解锁的标志 /** ** 绘制链接线的方法,将坐标数组中的点绘制在canvas画布中 **/ function drawLinePointer(x, y, flag) { ctx.clearRect(0, 0, width, height); startX = arr[i]. "touchstart" : "mousedown", tapmove = hastouch ? "touchmove" : "mousemove", tapend = hastouch ? "touchend" : "mouseup"; //绑定按下事件 lockCnavs.addEventListener(tapstart, function(e) { isMouseDown = true;