基于Yarn的分布式应用调度器Slider (codemacro.com)
Apache Hadoop Map-Reduce框架为了解决规模增长问题,发展出了yarn。而yarn不仅解决Map-Reduce调度问题,还成为了一个通用的分布式应用调度服务。yarn中的一个创新是把各种不同应用的调度逻辑拆分到了一个称为ApplicationManager(以下简称AM)的角色中,从而让yarn自己变得更通用,同时解决调度性能问题。ApacheSlider就是这其中的一个AM具体实现。但Slider进一步做了通用化,可以用于调度长运行(long-running)的分布式应用。

为了更好地理解Slider/Yarn,需要思考这样一个问题:在不用Slider/Yarn这种自动部署并管理应用的软件时,我们如何在一个网络环境中部署一个分布式应用?
by @技术头条 2019-08-10 22:38 分享 查看详情
Python协程greenlet实现原理 (codemacro.com)
实现协程主要是在协程切换时,将协程当前的执行上下文保存到协程关联的context中。在c/c++这种native程序中实现协程,需要将栈内容和CPU各个寄存器的内容保存起来。在Python这种VM中则有些不同。
by @技术头条 2019-08-10 22:37 分享 查看详情
kubernetes网络相关总结 (codemacro.com)
要理解kubernetes的网络模型涉及到的技术点比较多,网络上各个知识点讲得细的有很多,这里我就大概梳理下整个架构,方便顺着这个脉络深入。本文主要假设kubernetes使用docker+flannel实现。

整体上,了解kubernetes的网络模型,涉及到以下知识:
1、linux网络及网络基础
2、docker网络模型
3、kubernetes网络需求,及flannel网络实现

最后大家就可以结合实例对照着学习。
by @技术头条 2019-08-10 22:35 分享 查看详情
结合场景谈一谈微服务配置 (jm.taobao.org)
除了文中三个场景,其实还有更多更大胆的应用场景,如“大数据实时计算算法调整”、“异地容灾多活”、“应用业务场景动态推送”等等,可以参看 Nacos 的阿里云产品 ACM 的使用场景 。Nacos 配置管理模块,将敏感配置收拢管控起来,极大降低数据泄露等风险,并且提供如“动态推送”、“版本控制”、“快速回滚”等功能,保障了敏感配置的变更安全平稳的执行。

在限流与降级的场景,通过一个示例,为大家演示了如何通过 Nacos + Sentinel 实现流量的动态控制,这也是 Nacos 配置管理的一个十分典型的应用场景。降级也一样,大促高峰期间将某个非关键的系统组件进行关闭,在过了高峰期后再开启,这个也是可以通过 Nacos 的“动态推送”的功能来实现。

总之,只要系统涉及到了“敏感的配置”、“动态的配置”,都应该考虑将配置放入到 Nacos 中,让 Nacos 管控起来。
by @技术头条 2019-08-10 22:30 分享 查看详情
如何在优雅地Spring 中实现消息的发送和消费 (jm.taobao.org)
本文将对rocktmq-spring-boot的设计实现做一个简单的介绍,读者可以通过本文了解将RocketMQ Client端集成为spring-boot-starter框架的开发细节,然后通过一个简单的示例来一步一步的讲解如何使用这个spring-boot-starter工具包来配置,发送和消费RocketMQ消息。
by @技术头条 2019-08-10 22:29 分享 查看详情
基于servlet实现一个web框架 (codemacro.com)
servlet作为一个web规范,其本身就算做一个web开发框架,但是其web action (响应某个URI的实现)的实现都是基于类的,不是很方便,并且3.0之前的版本还必须通过web.xml配置来增加新的action。servlet中有一个filter的功能,可以配置所有URI的功能都经过filter。我们可以基于filter的功能来实现一个简单的web框架。
by @技术头条 2019-08-10 22:28 分享 查看详情
一次逆向网页内容加密 (codemacro.com)
最近写一个爬虫要从这个网页爬取内容。以往爬取网页内容复杂点的,一般就是处理下页面内容动态载入,动态载入的内容可能会要求复杂奇怪的参数,或者找到这个动态载入的HTTP接口在哪里麻烦点。但是这个网页不同。
by @技术头条 2019-08-10 22:27 分享 查看详情
使用 Ngrox 实现内网穿透 (www.kymjs.com)
最近在做 Server 开发,需要将一个内网的服务暴露出去,使其在家也能访问到。

ngrok 是一个反向代理工具,官方有免费的可以使用,但是由于海外原因速度非常慢。好在这套服务都开源了,我们可以用开源代码搭建一个服务,自己使用。
by @技术头条 2019-08-06 22:28 分享 查看详情
KNN算法实战:验证码的识别 (www.biaodianfu.com)
识别验证码的方式很多,如tesseract、SVM等。前面的几篇文章介绍了KNN算法,今天主要学习的是如何使用KNN进行验证码的识别。
by @技术头条 2019-08-06 22:28 分享 查看详情
如何列出 Ubuntu 和 Debian 上已安装的软件包 (linux.cn)
当你安装了 Ubuntu 并想好好用一用。但在将来某个时候,你肯定会遇到忘记曾经安装了那些软件包。

这个是完全正常。没有人要求你把系统里所有已安装的软件包都记住。但是问题是,如何才能知道已经安装了哪些软件包?如何查看安装过的软件包呢?
列出 Ubuntu 和 Debian 上已安装的软件包

如果你经常用 apt 命令,你可能觉得会有个命令像 apt 一样可以列出已安装的软件包。不算全错。
by @技术头条 2019-06-28 13:40 分享 查看详情
SOCKS 代理协议漫谈 (sexywp.com)
SOCKS 代理协议是网络上使用非常普遍的一种协议,最近因为想要自己搭建一个穿透防火墙的代理,所以,顺便仔细学习了一下 SOCKS 的相关资料,还算有点意思,特此记录一下。
by @技术头条 2019-06-28 13:39 分享 查看详情
在 Linux 上创建文件的 10 个方法 (linux.cn)
我们都知道,在 Linux 上,包括设备在内的一切都是文件。Linux 管理员每天应该会多次执行文件创建活动(可能是 20 次,50 次,甚至是更多,这依赖于他们的环境)。如果你想 在Linux上创建一个特定大小的文件,查看前面的这个链接。

高效创建一个文件是非常重要的能力。为什么我说高效?如果你了解一些高效进行你当前活动的方式,你就可以事半功倍。这将会节省你很多的时间。你可以把这些有用的时间用到到其他重要的事情上。

我下面将会介绍多个在 Linux 上创建文件的方法。我建议你选择几个简单高效的来辅助你的工作。你不必安装下列的任何一个命令,因为它们已经作为 Linux 核心工具的一部分安装到你的系统上了。
by @技术头条 2019-06-28 13:33 分享 查看详情
Go 各种数据库连接字符串汇总 (colobu.com)
各种数据库的连接字符串的连接格式(一般叫做database source name, 简称DSN)是不同的,本文汇总了各个数据库驱动程序的字符串连接方式。
by @技术头条 2019-06-28 13:32 分享 查看详情
贝塞尔曲线学习笔记 (www.biaodianfu.com)
贝塞尔曲线的数学基础是早在 1912 年就广为人知的伯恩斯坦多项式。但直到 1959 年,当时就职于雪铁龙的法国数学家Paul de Casteljau才开始对它进行图形化应用的尝试,并提出了一种数值稳定的de Casteljau 算法。然而贝塞尔曲线的得名,却是由于1962年另一位就职于雷诺的法国工程师Pierre Bézier的广泛宣传。他使用这种只需要很少的控制点就能够生成复杂平滑曲线的方法,来辅助汽车车体的工业设计。

贝塞尔曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。因为控制简便却具有极强的描述能力,贝塞尔曲线在工业设计领域迅速得到了广泛的应用。不仅如此,在计算机图形学领域,尤其是矢量图形学,贝塞尔曲线也占有重要的地位。今天我们最常见的一些矢量绘图软件,如 Flash、Illustrator、CorelDraw 等,无一例外都提供了绘制贝塞尔曲线的功能。甚至像 Photoshop 这样的位图编辑软件,也把贝塞尔曲线作为仅有的矢量绘制工具(钢笔工具)包含其中。

贝塞尔曲线在 web 开发领域同样占有一席之地。CSS3 新增了transition-timing-function属性,它的取值就可以设置为一个三次贝塞尔曲线方程。在此之前,也有不少 JavaScript 动画库使用贝塞尔曲线来实现美观逼真的缓动效果。
by @技术头条 2019-06-28 13:31 分享 查看详情
使用document.scrollingElement控制窗体滚动高度 (www.zhangxinxu.com)
介绍一个更加兼容、更加标准的设置窗体滚动高度的方法,那就是document.scrollingElement,兼容性足矣在实际项目中应用。JS基础API,人人必须了解的特性,学到就是赚到。
by @技术头条 2019-06-28 13:30 分享 查看详情
如何在 Emacs 中使用 Magit 管理 Git 项目 (linux.cn)
Emacs 的 Magit 扩展插件使得使用 Git 进行版本控制变得简单起来。

Git 是一个很棒的用于项目管理的 版本控制 工具,就是新人学习起来太难。Git 的命令行工具很难用,你不仅需要熟悉它的标志和选项,还需要知道什么环境下使用它们。这使人望而生畏,因此不少人只会非常有限的几个用法。

好在,现今大多数的集成开发环境 (IDE) 都包含了 Git 扩展,大大地简化了使用使用的难度。Emacs 中就有这么一款 Git 扩展名叫 Magit。

Magit 项目成立有差不多 10 年了,它将自己定义为 “一件 Emacs 内的 Git 瓷器”。也就是说,它是一个操作界面,每个操作都能一键完成。本文会带你领略一下 Magit 的操作界面并告诉你如何使用它来管理 Git 项目。

若你还没有做,请在开始本教程之前先 安装 Emacs,再 安装 Magit。
by @技术头条 2019-06-28 13:28 分享 查看详情
机器学习算法之线性回归 (www.biaodianfu.com)
线性回归是统计学总最常用的算法之一。从根本上来说,当你想表示两个变量间数学关系时,就可以使用线性回归。当你使用它时,你首先假设输出变量(有时称为响应变量、因变量或标签)和预测变量(有时称为自变量、解释变量或特征)之间存在线性关系。当然这种线性关系也可能存在于一个输出变量和数个预测变量之间。输出变量于预测变量之间存在线性关系是一个大胆的假设,同时也是一个最简单的假设。从数学表示形式来看,线性函数比非线性函数更加简单。线性模型作为最简单的参数化方法,始终值得关注。这是因为很多问题,甚至本质是非线性的问题,也可以采用线性模型解决。
by @技术头条 2019-06-28 13:27 分享 查看详情
网站服务性能优化实践 (xuexb.com)
首先这里的服务性能优化不是指代码层面,也不是规范相关,只是对于网站运行的服务、请求、响应做的一些优化。当然这里的优化是我个人理解的,很可能事倍功半。

由于我多年(2005)前看过了 @心梦无痕 的【七界传说】,至今也在追他的【神武天帝】小说,更新频率是每天下午更新两章,而在看小说时的体验可为是极差,很多小说站都会有一个透明蒙层的广告,并且还把一章分成了多页以来提高 PV 量,但想看时还不得不点。于是很早我就想搞个小说站,正好手里有一个 xiaoshuo.io 域名,再结合我的服务已经 使用 Docker 部署 了,正好拿这个小说站练习下优化。
by @技术头条 2019-06-28 13:26 分享 查看详情
RadonDB架构解析 (wubx.net)
做为一个MySQL从业人员,从我对RadonDB关注到使用,将近有半年多时间,这次RadonDB开源,基本也全程参与,在这里开源计划到最终在DTCC展现,也深深感受为开源,公司也需要付出很多很多。

这里了为了能快速的让大家了解RadonDB,我这里对RadonDB架构做一个简单的梳理,本着更容易大家理的态度不夸大,更利于接近于实质, 同时也方便大家深入去学习RadonDB。
by @技术头条 2019-06-27 13:53 分享 查看详情
价格歧视在酒店收益管理中的运用 (www.biaodianfu.com)
一次旅行,我们在登机后,可能会发现邻座乘客的价格与自己都不相同;一场电影,我们在进场后,可能会发现旁边的观众票价和自己全都不一样;一家酒店,我们在经营时,可能每天每间房的价格都会出现变化。

在酒店管理中,正是这些不同的价格、出租率变化,呈现了我们的经营结果和最终利润,也变现成为我们考核、岗位价值和收入。那么,导致我们酒店客房价格变化的原因是什么,这其中有些什么样的规律,相信每一个经营者都有自己丰富的管理经验用来回答,通过归纳整理,这些因素被归类为五个板块:
Right time(对的时间)
Right price(对的价格)
Right production(对的产品)
Right channel(对的渠道)
Right guest(对的客源)

而正是这五个核心因素,组成了酒店收益管理的核心概念,那就是:在合适的时间、以合适的价格、将合适的产品、通过合适的渠道、销售给合适的顾客。因此收益管理又称价格弹性管理,亦称“效益管理”或“实时定价”,它主要通过预测行为和需求分析,确定最佳的销售或服务价格。而其主要手段,就是价格细分,也就是价格歧视(price discrimination),大意是根据客户不同的需求特征和价格弹性向客户执行不同的价格标准。

因此,价格歧视(price discrimination)不仅仅是经济学概念和普遍的生产经营方法,也是收益管理的概念的起源和衍生,那么,今天我们先从价格歧视这个基础的经济学概念说起,接下来,我们再讨论中档酒店收益管理环境下的价格歧视手段,是如何运用和落地的。
by @技术头条 2019-05-01 20:04 分享 查看详情