• 用图表和实例解释 Await 和 Async

    Posted by : lon.y@qq.com on 2018年8月13日

    简介 JavaScript ES7 中的 async / await 让多个异步 promise 协同工作起来更容易。如果要按一定顺序从多个数据库或者 API 异步获取数据,你可能会以一堆乱七八糟的 promise 和回调函数而告终。而 async / await 结构让我们能用可读性强、易维护的代码更加简洁地实现这些逻辑。 本教程用图表和简单示例讲解了 JavaScript 中 async / await 的语法和语义。 在深入之前,我们先简单回顾一下

    阅读全文...

  • 4 款酷炫的终端应用

    Posted by : lon.y@qq.com on 2018年8月12日

    许多 Linux 用户认为在终端中工作太复杂、无聊,并试图逃避它。但这里有个改善方法 —— 四款终端下很棒的开源程序。它们既有趣又易于使用,甚至可以在你需要在命令行中工作时照亮你的生活。 No More Secrets 这是一个简单的命令行工具,可以重现 1992 年电影 Sneakers 中所见的著名数据解密效果。该项目让你编译个 nms 命令,该命令与管道数据一起使用并以混乱字符的形式打印输出。开始后,你可以按任意键,并能在输出中看到很酷的好莱坞效果的

    阅读全文...

  • 滚动视差?CSS 不在话下

    Posted by : lon.y@qq.com on 2018年8月11日

    何为滚动视差 视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。 作为网页设计的热点趋势,越来越多的网站应用了这项技术。 通常而言,滚动视差在前端需要辅助 Javascript 才能实现。当然,其实 CSS 在实现滚动视差效果方面,也有着不俗的能力。下面就让我们来见识一二: 认识 background-attachment background-attachment 算是一个比较生僻

    阅读全文...

  • 组件、Prop 和 State

    Posted by : lon.y@qq.com on 2018年8月10日

    系列博客: 用通俗的语言和涂鸦来解释 React 术语 图解 React 图解 React Native 组件、Prop 和 State (本文) 深入理解 Props 和 State (待翻译) React Native vs. Cordova、PhoneGap、Ionic,等等 (待翻译) 今天我们来学习 React 里最重要的三个概念: 组件、prop 和 state ,以及 prop 和 state 之间的区别。 如同之前的文章,我还是会尝试用通俗

    阅读全文...

  • 回归树的原理及其 Python 实现

    Posted by : lon.y@qq.com on 2018年8月10日

    提到回归树,相信大家应该都不会觉得陌生(不陌生你点进来干嘛[捂脸]),大名鼎鼎的 GBDT 算法就是用回归树组合而成的。本文就回归树的基本原理进行讲解,并手把手、肩并肩地带您实现这一算法。 完整实现代码请参考 github: https://github.com/tushushu/Imylu/blob/master/regression_tree.py 1. 原理篇 我们用人话而不是大段的数学公式,来讲讲回归树是怎么一回事。 1.1 最简单的模型 如果预测

    阅读全文...

  • 神奇的选择器 :focus-within

    Posted by : lon.y@qq.com on 2018年8月9日

    CSS 的伪类选择器和伪元素选择器,让 CSS 有了更为强大的功能。 伪类大家听的多了,伪元素可能听到的不是那么频繁,其实 CSS 对这两个是有区分的。 有个错误有必要每次讲到伪类都提一下,有时你会发现伪类元素使用了两个冒号 (::) 而不是一个冒号 (:),这是 CSS3 规范中的一部分要求,目的是为了区分伪类和伪元素,大多数浏览器都支持下面这两种表示方式。 通常而言, #id:after{ ... } #id::after{ ... } 符合标准而言,

    阅读全文...

  • Linux 内核 Git 历史记录中,最大最奇怪的提交信息是这样的

    Posted by : lon.y@qq.com on 2018年8月9日

    我们通常认为 git merges 有两个父节点。例如,由我写的最新的 Linux 内核合并操作是提交2c5d955,这是 4.10-rc6 版本发行前准备工作的一部分。它有两个父节点: 2c5d955 Merge branch 'parisc-4.10-3' of ... | *- 2ad5d52 parisc: Don't use BITS_PER_LONG in use ... *- 53cd1ad Merge branch 'i2c/for-cur

    阅读全文...

  • Vue.js是如何做到数据响应的?

    Posted by : lon.y@qq.com on 2018年8月9日

    许多前端JavaScript框架(例如Angular,React和Vue)都有自己的数据相应引擎。通过了解相应性及其工作原理,您可以提高开发技能并更有效地使用JavaScript框架。在视频和下面的文章中,我们构建了您在Vue源代码中看到的相同类型的Reactivity。 如果您观看此视频而不是阅读文章,请观看系列中的下一个视频,与Vue的创建者Evan You讨论反应性和代理。 The Reactivity System 当你第一次看到它时,Vue的响应

    阅读全文...

  • 三款 Linux 下的 Git 图形客户端

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

    了解这三个 Git 图形客户端工具如何增强你的开发流程。 在 Linux 下工作的人们对 Git 非常熟悉。一个理所当然的原因是,Git 是我们这个星球上最广为人知也是使用最广泛的版本控制工具。不过大多数情况下,Git 需要学习繁杂的终端命令。毕竟,我们的大多数开发工作可能是基于命令行的,那么没理由不以同样的方式与 Git 交互。 但在某些情况下,使用带图形界面的工具可能使你的工作更高效一点(起码对那些更倾向于使用图形界面的人们来说)。那么,有哪些 Git

    阅读全文...

  • Linux 下 cut 命令的 4 个基础实用的示例

    Posted by : lon.y@qq.com on 2018年8月6日

    cut 命令是用来从文本文件中移除“某些列”的经典工具。在本文中的“一列”可以被定义为按照一行中位置区分的一系列字符串或者字节,或者是以某个分隔符为间隔的某些域。 先前我已经介绍了如何使用 AWK 命令。在本文中,我将解释 linux 下 cut 命令的 4 个本质且实用的例子,有时这些例子将帮你节省很多时间。 Linux 下 cut 命令的 4 个实用示例 假如你想,你可以观看下面的视频,视频中解释了本文中我列举的 cut 命令的使用例子。 https:

    阅读全文...