• Linux 系统中 sudo 命令的 10 个技巧

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

    概览 sudo 表示 “superuser do”。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升的权限来运行命令。 sudo 命令与安全策略配合使用,默认安全策略是 sudoers,可以通过文件 /etc/sudoers 来配置。其安全策略具有高度可拓展性。人们可以开发和分发他们自己的安全策略作为插件。 与 su 的区别 在 GNU/Linux 中,有两种方式可以用提升的权限来运行命令

    阅读全文...

  • 我曾误删了公司的数据库,但还是活下来了

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

    上周我与同事们进行了一次关于职业生涯中搞砸了一些事情的简短谈话。这确实会沦为他人笑柄,却更给我们带来了珍贵的教训。重要的是,我们应该分享那些曾经的错误,这样其他人就可以从其中学习。下文是最近在我身上发生的例子。 为什么有如此多误删生产数据库的事情发生? 几个月前,Reddit上有一篇文章,讲了一名初级开发人员在上班的第一天就删除了生产数据库的事。我们都很憷于读到这类犯了这类无法让人忘却的大错误的文章。因为我们离这些也不远,而大多数人都是“死里逃生”。 在我

    阅读全文...

  • 借助 webpack 对项目进行分析优化

    Posted by : lon.y@qq.com on 2018年4月21日

    进入公司之后,接手的便是前人留下来的一个大项目。庆幸的是整个项目拥有完善的产品功能文档,但是由于项目过于庞大,老旧。包含了打包过慢,冗余文件过多等诸多问题。想要快速的解决这些问题,想要完全把功能重构一遍的话,成本太高了。一个一个文件来过,时间成本也比较大。因此在此篇文章中,我们介绍一下我是如何配合webpack一步步进行分析,将项目进行优化的。 同时我针对思路封装了一个webpack-unused-files,用于查找项目中的冗余文件,欢迎试用并star

    阅读全文...

  • 面试题:你能写一个 Vue 的双向数据绑定吗

    Posted by : lon.y@qq.com on 2018年4月20日

    在目前的前端面试中,vue的双向数据绑定已经成为了一个非常容易考到的点,即使不能当场写出来,至少也要能说出原理。本篇文章中我将会仿照vue写一个双向数据绑定的实例,名字就叫myVue吧。结合注释,希望能让大家有所收获。 1、原理 Vue的双向数据绑定的原理相信大家也都十分了解了,主要是通过 Object对象的defineProperty属性,重写data的set和get函数来实现的,这里对原理不做过多描述,主要还是来实现一个实例。为了使代码更加的清晰,这里

    阅读全文...

  • 从setTimeout/setInterval看JS线程

    Posted by : lon.y@qq.com on 2018年4月20日

    最近项目中遇到了一个场景,其实很常见,就是定时获取接口刷新数据。那么问题来了,假设我设置的定时时间为1s,而数据接口返回大于1s,应该用同步阻塞还是异步?我们先整理下js中定时器的相关知识,再来看这个问题。 初识setTimeout 与 setInterval 先来简单认识,后面我们试试用setTimeout 实现 setInterval 的功能 setTimeout 延迟一段时间执行一次 (Only one) setTimeout(function, m

    阅读全文...

  • Python 数据处理库 pandas 进阶教程

    Posted by : lon.y@qq.com on 2018年4月19日

    在前面一篇文章中,我们对pandas做了一些入门介绍。本文是它的进阶篇。在这篇文章中,我们会讲解一些更深入的知识。 前言 本文紧接着前一篇的入门教程,会介绍一些关于pandas的进阶知识。建议读者在阅读本文之前先看完pandas入门教程。 同样的,本文的测试数据和源码可以在这里获取: Github:pandas_tutorial 。 数据访问 在入门教程中,我们已经使用过访问数据的方法。这里我们再集中看一下。 注:这里的数据访问方法既适用于Series,也

    阅读全文...

  • 可怕的万圣节 Linux 命令

    Posted by : lon.y@qq.com on 2018年4月19日

    虽然现在不是万圣节,也可以关注一下 Linux 可怕的一面。什么命令可能会显示鬼、巫婆和僵尸的图像?哪个会鼓励“不给糖果就捣蛋”的精神? crypt 好吧,我们一直看到 crypt。尽管名称不同,crypt 不是一个地窖,也不是垃圾文件的埋葬坑,而是一个加密文件内容的命令。现在,crypt 通常用一个脚本实现,通过调用一个名为 mcrypt 的二进制文件来模拟以前的 crypt 命令来完成它的工作。直接使用 mycrypt 命令是更好的选择。 $ mcry

    阅读全文...

  • Python 数据处理库 pandas 入门教程

    Posted by : lon.y@qq.com on 2018年4月18日

    pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。 pandas提供了快速,灵活和富有表现力的数据结构,目的是使“关系”或“标记”数据的工作既简单又直观。它旨在成为在Python中进行实际数据分析的高级构建块。 入门介绍 pandas适合于许多不同类型的数据,包括: 具有异构类型列的表格数据,例如SQL表格或Excel数据 有序和无序(不一定是固定频率)时间

    阅读全文...

  • 工程师如何在工作中提升自己?

    Posted by : lon.y@qq.com on 2018年4月18日

    引言 古人云:“活到老,学到老。”互联网算是最辛苦的行业之一,“加班”对工程师来说已是“家常便饭”,同时互联网技术又日新月异,很多工程师都疲于应付,叫苦不堪。以至于长期以来流传一个很广的误解:35岁是程序员工作的终点。 如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考的问题。本文是我自己的一些总结,试图从三个方面来解答: 第一部分阐述了一些学习的原则。任何时候,遵循一些经过检验的原则,都是影响效率的重要因素,正确的方法是成功

    阅读全文...

  • 精通 Linux 的 “kill” 命令

    Posted by : lon.y@qq.com on 2018年4月18日

    无论你使用哪种操作系统,你一定会遇到某个行为失常的应用,它把自己锁死并拒绝关闭。在Linux(还有Mac),你可以用一个”kill”命令强制终结它。在这个教程中,我们将展示给你多种方式使用”kill”命令终结应用。 Kill命令和信号 当你执行一个”kill”命令,你实际上发送了一个信号给系统,让它去终结不正常的应用。总共有60个你可以使用的信号,但是基本上你只需要知道SIGTERM(15)和SIGKILL(9)。 你可以用这个命令看到所有信号的列表: k

    阅读全文...