• 学习React之前你需要知道的的JavaScript基础知识

    Posted by : lon.y@qq.com on 2018年7月26日

    在我的研讨会期间,更多的材料是关于JavaScript而不是React。其中大部分归结为JavaScript ES6以及功能和语法,但也包括三元运算符,语言中的简写版本,此对象,JavaScript内置函数(map,reduce,filter)或更常识性的概念,如:可组合性,可重用性,不变性或高阶函数。这些是基础知识,在开始使用React之前你不需要掌握这些基础知识,但在学习或实践它时肯定会出现这些基础知识。 以下演练是我尝试为您提供一个几乎广泛但简明的列

    阅读全文...

  • Linux 的内存分页管理

    Posted by : lon.y@qq.com on 2018年7月25日

    内存是计算机的主存储器。内存为进程开辟出进程空间,让进程在其中保存数据。我将从内存的物理特性出发,深入到内存管理的细节,特别是了解虚拟内存和内存分页的概念。 内存 简单地说,内存就是一个数据货架。内存有一个最小的存储单位,大多数都是一个字节。内存用内存地址(memory address)来为每个字节的数据顺序编号。因此,内存地址说明了数据在内存中的位置。内存地址从0开始,每次增加1。这种线性增加的存储器地址称为线性地址(linear address)。为了

    阅读全文...

  • 数据科学领域,你该选 Python 还是 R ?

    Posted by : lon.y@qq.com on 2018年7月25日

    根据需求,为了那些希望知道在数据科学方面选择 Python 还是 R 编程语言的人,我发布了这篇指导文章。你可能在数据科学方面是个新手,或者你需要在一个项目中选出一个语言,这篇文章可能会帮助到你。 非免责声明:在最大的数据科学家雇主之一(Deloitte)中,我是一个数据科学家的管理者。我也对 R 和 Python 有几十年的了解。我是个语言不可知论者,但是参与到 Python 社区已经有15年左右了。 还会有第三种选择 Hadley Wickham, R

    阅读全文...

  • 什么情况下不应该使用 Windows Linux 子系统

    Posted by : lon.y@qq.com on 2018年7月24日

    在我上个月的专栏文章中,我讨论了应该使用Windows Linux子系统(Windows Subsystem for Linux,WSL)的原因,该系统允许你在Windows 10和Windows 2016上运行Linux发行版。不过,仅仅因为你能够做什么并不意味这你应该这么做。相比于先前的文章着眼于勾勒WSL的好处,在此我会站在相反的角度讲述五个不应运行WSL的原因。 原因1 微软并未基于生产环境负载设计或构建WSL。如果你的应用或作业流程需要达到特定服

    阅读全文...

  • 5 分钟撸一个前端性能监控工具

    Posted by : lon.y@qq.com on 2018年7月22日

    编者按:本文作者是来自360奇舞团的前端开发工程师刘宇晨,同时也是W3C 性能工作组成员。跟着他一起学习一下前端性能监控吧~ 用(上)户(帝)说,这个页面怎么这么慢,还有没有人管了?! 为什么监控 简单而言,有三点原因: 关注性能是工程师的本性 + 本分; 页面性能对用户体验而言十分关键。每次重构对页面性能的提升,仅靠工程师开发设备的测试数据是没有说服力的,需要有大量的真实数据用于验证; 资源挂了、加载出现异常,不能总靠用户投诉才后知后觉,需要主动报警。

    阅读全文...

  • 移除注释的完善思路:真的可以用正则实现?

    Posted by : lon.y@qq.com on 2018年7月22日

    导语 网上有很多自称能实现移除JS注释的正则表达式,实际上存在种种缺陷。这使人多少有些愕然,也不禁疑惑到:真的可以用正则实现吗?而本篇文章以使用正则移除JS注释为目标,通过实践,由浅及深,遇到问题解决问题,一步步看看到底能否用正则实现! 移除注释的完善思路:真的可以用正则实现? 1 单行注释 单行注释要么占据一整行,要么处于某一行的最后。 正常情况下不难,直接通过正则匹配,再用replace方法移除便可。 let codes = ` let name =

    阅读全文...

  • 数据压缩算法:LZ77 算法的分析与实现

    Posted by : lon.y@qq.com on 2018年7月22日

    LZ77简介 Ziv和Lempel于1977年发表题为“顺序数据压缩的一个通用算法(A Universal Algorithm for Sequential Data Compression )”的论文,论文中描述的算法被后人称为LZ77算法。值得说的是,LZ77严格意义上来说不是一种算法,而是一种编码理论。同Huffman编码一样,只定义了原理,并没有定义如何实现。基于这种理论来实现的算法才称为LZ77算法,或者人们更愿意称为LZ77变种。实际上这类算法

    阅读全文...

  • Javascript 将html转成pdf,下载,支持多页哦(html2canv…

    Posted by : lon.y@qq.com on 2018年7月22日

    最近碰到个需求,需要把当前页面生成pdf,并下载。弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :) 项目源码地址:https://github.com/linwalker/… html2canvas 简介 我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行‘截图’。但这并不是真的截图,而是通过遍历页面DOM结构,收集所有元素信息及相应样式,渲染出canvas image。 由于html2canvas只能将它能处理的生成can

    阅读全文...

  • 关于 Vue.js:那些好的,不怎么样的和糟糕的

    Posted by : lon.y@qq.com on 2018年7月22日

    使用新的框架和库总是会让人兴奋,但也有压力。即使经过一些评估,你也永远不会知道你将会碰到什么样的意外情况。 在几乎每天使用 Vue 大约两年后,我和它的蜜月期结束了,我终于可以从一些角度来写点什么了。 Tips:以下纯属个人观点。 好的方面 响应性(Reactivity) 数据绑定在前端领域是个大问题。现在我们更专注于数据,而不像使用 jQuery 一样对 DOM 进行微观管理。Vue 通过双向响应数据绑定系统巧妙地处理这个问题。 为实现这种响应性,Vue

    阅读全文...

  • 在 Linux 上如何得到一个段错误的核心转储

    Posted by : lon.y@qq.com on 2018年7月22日

    本周工作中,我花了整整一周的时间来尝试调试一个段错误。我以前从来没有这样做过,我花了很长时间才弄清楚其中涉及的一些基本事情(获得核心转储、找到导致段错误的行号)。于是便有了这篇博客来解释如何做那些事情! 在看完这篇博客后,你应该知道如何从“哦,我的程序出现段错误,但我不知道正在发生什么”到“我知道它出现段错误时的堆栈、行号了! ”。 什么是段错误? “段错误segmentation fault”是指你的程序尝试访问不允许访问的内存地址的情况。这可能是由于:

    阅读全文...