• 从0到1,开发一个动画库(1)

    Posted by : lon.y@qq.com on 2018年1月30日

    传送门:从0到1,开发一个动画库(2) 如今市面上关于动画的开源库多得数不胜数,有关于CSS、js甚至是canvas渲染的,百花齐放,效果炫酷。但你是否曾想过,自己亲手去实现(封装)一个简单的动画库? 本文将从零开始,讲授如何搭建一个简单的动画库,它将具备以下几个特征: 从实际动画中抽象出来,根据给定的动画速度曲线,完成“由帧到值”的计算过程,而实际渲染则交给开发者决定,更具拓展性 支持基本的事件监听,如onPlay、onStop、onReset 、onE

    阅读全文...

  • 15 分钟用 ML 破解一个验证码系统

    Posted by : lon.y@qq.com on 2018年1月30日

    人人都恨验证码——那些恼人的图片,显示着你在登陆某网站前得输入的文本。设计验证码的目的是,通过验证你是真实的人来避免电脑自动填充表格。但是随着深度学习和计算机视觉的兴起,现在验证码常常易被攻破。 我拜读了 Adrian Rosebrock 写的《Deep Learning for Computer Vision with Python》。在书中,Adrian 描述了他是怎样用机器学习绕过纽约 E-ZPass 网站上的验证码: Adrian 无法接触到该应用

    阅读全文...

  • Nginx 教程 (1):基本概念

    Posted by : lon.y@qq.com on 2018年1月30日

    简介 嗨!分享就是关心!所以,我们愿意再跟你分享一点点知识。我们准备了这个划分为三节的《Nginx教程》。如果你对 Nginx 已经有所了解,或者你希望了解更多,这个教程将会对你非常有帮助。 我们会告诉你 Nginx 是如何工作的,其背后的概念有哪些,以及如何优化它以提升应用程序的性能。还会告诉你如何安装,如何启动、运行。 这个教程包括三节: 基础概念——你可以了解命令(directive)与环境(context)的区别、继承模式,以及 Nginx 选择服

    阅读全文...

  • 堆和堆的应用:堆排序和优先队列

    Posted by : lon.y@qq.com on 2018年1月30日

    1.堆 堆(Heap))是一种重要的数据结构,是实现优先队列(Priority Queues)首选的数据结构。由于堆有很多种变体,包括二项式堆、斐波那契堆等,但是这里只考虑最常见的就是二叉堆(以下简称堆)。 堆是一棵满足一定性质的二叉树,具体的讲堆具有如下性质:父节点的键值总是不大于它的孩子节点的键值(小顶堆), 堆可以分为小顶堆和大顶堆,这里以小顶堆为例,其主要包含的操作有: insert() extractMin peek(findMin) delet

    阅读全文...

  • 分析了 7500w+ GitHub 代码仓库 哪门语言热度最高?

    Posted by : lon.y@qq.com on 2018年1月30日

    近日,有开发者在 reddit 发布了一个帖子,内容是通过对 GitHub 用户的数据进行分析得到的编程语言排序榜。作者认为,通过计算 GitHub 上有多少人使用每种语言来对所有的编程语言进行排序会很有趣。 下面我们不妨看看这份数据源“独特”的排行榜有哪些值得关注的东西。 首先,作者表示这次分析的数据主要来源于 GitHub Archive 和 GHTorrent。他通过分析 GitHub Archive 上 7500w+ 个不同的仓库中超过 12.5

    阅读全文...

  • 三款简单而优秀的 Linux 网络监视工具

    Posted by : lon.y@qq.com on 2018年1月30日

    通过 iftop、 nethogs 和 vnstat 详细了解你的网络连接状态。 你可以通过这三个 Linux 命令了解当前网络的大量信息。iftop 通过进程号跟踪网络连接,nethogs 快速告知你哪些进程在占用你的带宽,而 vnstat 以一个良好的轻量级守护进程在后台运行,并实时记录你的网络使用情况。 iftop 令人称赞的 iftop 可以监听您指定的网络接口,并以 top 的样式呈现。 这是一个不错的小工具,可以用于找出网络拥塞,测速和维持网络

    阅读全文...

  • 与 C 语言长别离

    Posted by : lon.y@qq.com on 2018年1月30日

     这几天来,我在思考那些正在挑战 C 语言的系统编程语言领袖地位的新潮语言,尤其是 Go 和 Rust。思考的过程中,我意识到了一个让我震惊的事实 —— 我有着 35 年的 C 语言经验。每周我都要写很多 C 代码,但是我已经记不清楚上一次我 创建一个新的 C 语言项目 是在什么时候了。 如果你完全不认为这种情况令人震惊,那你很可能不是一个系统程序员。我知道有很多程序员使用更高级的语言工作。但是我把大部分时间都花在了深入打磨像 NTPsec、 GPSD 以

    阅读全文...

  • Javascript 调试命令——你只会 Console.log() ?

    Posted by : lon.y@qq.com on 2018年1月30日

    Console 对象提供对浏览器控制台的接入(如:Firefox 的 Web Console)。不同浏览器上它的工作方式是不一样的,但这里会介绍一些大都会提供的接口特性。 Console对象可以在任何全局对象中访问,如 Window,WorkerGlobalScope 以及通过属性工作台提供的特殊定义。 它被浏览器定义为 Window.Console,也可被简单的 Console 调用。 最常用的方法就是Console.log(),就是在控制台输出内容。刚

    阅读全文...

  • 2017 年崛起的 JS 项目

    Posted by : lon.y@qq.com on 2018年1月30日

    共 4741 字,读完需 8 分钟,速读 2 分钟。我有幸参与了该项目的部分中文版翻译、校对工作,感谢 Sacha Grief,Micheal Ramberu 的统计整理,以及 Frank Xu 的翻译工作,完整版本请猛击阅读原文。 和 2016年 一样,又到了我们回顾 2017年 Javascript 领域发展与变化的时候。 通过对比各项目过去 12 个月在 GitHub 上新增 star 数量,来评估其在 2017 年度的受关注程度,进而选出 2017

    阅读全文...

  • 2017年 JavaScript 框架回顾 — React生态系统

    Posted by : lon.y@qq.com on 2018年1月30日

      首先看看与 React 有关的软件包的生态系统。在 Facebook 构建 React 之初,就有许多来自于开源社区第三方库的软件包。这些软件包使用 React 补充其它功能,以便提供完整的应用程序解决方案。当然,安装包中也存在着提供相似功能的彼此竞争关系。 React Router   丰富的 Web 应用程序具有的一个共同特点就是:提供了多个“路由”。这些“路由”本质上是不同的功能块,在浏览器中表现为单独的 URL。React 不需要为简单的应用程

    阅读全文...