操作系统核心知识点 观察 这不是一篇教你如何创建一个操作系统的文章,相反,这是一篇指导性文章,教你从几个方面来理解操作系统。首先你需要知道你为什么要看这篇文章以及为什么要学习操作系统。 搞清楚几个问题 首先你要搞明白你学习操作系统的目的是什么?操作系统的重要性如何?学习操作系统会给我带来什么?下面我会从这几个方面为你回答下。 操作系统也是一种软件,但是操作系统是一种非常复杂的软件。操作系统提供了几种抽象模型 文件:对 I/O 设备的抽象 虚拟内存:对程序存储器的抽象 进程:对一个正在运行程序的抽象 虚拟机:对整个操作系统的抽象 这些抽象和我们的日常开发息息相关。搞清楚了操作系统是如何抽象的,才能培养我们的抽象性思维和开发思路。 很多问题都和操作系统相关,操作系统是解决这些问题的基础。如果你不学习操作系统,可能会想着从框架层面来解决,那是你了解的还不够深入,当你学习了操作系统后,能够培养你的全局性思维。 阅读更多 2021年6月10日/通过: 语嫣 https://cdn.xingyicdn.com/easenet/2021/06/2021060916382271.jpg 400 400 语嫣 https://cdn.xingyicdn.com/easenet/2017/11/2017112004353930.png 语嫣2021-06-10 00:38:322021-06-10 02:12:09操作系统核心知识点
网易严选的推荐系统实践 电商 推荐系统作用 有资料称亚马逊的推荐系统带来的GMV占其全站总量的20%-30%。这个数据会让人直觉地认为,电商网站只要一上好的推荐系统,就会带来相当高的GMV提升。甚至有产品会问:我们的推荐系统GMV占全站多少?为什么亚马逊能做到30%而我们做不到? 想象一下,亚马逊把推荐系统的位置全换成游戏广告,每次用户点击收取广告费等同于物品推荐时的单次点击价值。这时会有什么结果?合理的推荐是,如果游戏推荐做得足够精准,这个伪推荐系统的GMV占全站的比例可能越来越高,网站的用户流失率会显著增加,总体营收会趋于下降。 这个假设揭露了一个真相:推荐系统的位置本质上就是广告展现;对于任何一个有流量的站点来说,不断上升或者稳定的忠实用户是其最大价值;广告位的展现最好能够同时不损坏甚至提升用户体验。Facebook初上广告时就遇到一个问题:广告的投放影响了用户体验,会损失用户忠诚度,造成用户流失。而对于电商网站来说,为用户推荐物品,是一种能提升用户体验的方向投放,看起来像一种奇妙的巧合。 与搜索类似,推荐的本质就是提升用户体验 – 为此它们最主要的方式就是帮助用户快速的找到它需要的商品,其他的方式还包括给用户新颖感等。事实上,亚马逊宣称的20%的GMV,其中很多是“你不向用户推荐他也会购买的东西”,推荐系统在这方面的贡献是为用户提供了便利性点击,节约了用户的精力。如果没有推荐系统或者推荐系统很糟,用户流向竞品网站的可能性就会增大,这时造成的损害是在整体GMV上。至于推荐的GMV能占全站的比率是多少才合适,这个问题很难回答。只能说每个站点的基准值由产品的综合情况决定,不能一概而论。 阅读更多 2019年6月30日/通过: 语嫣 https://cdn.xingyicdn.com/easenet/2019/05/2019051820022153.jpg 200 200 语嫣 https://cdn.xingyicdn.com/easenet/2017/11/2017112004353930.png 语嫣2019-06-30 17:32:032019-06-30 17:32:03网易严选的推荐系统实践
高并发架构设计 设计 高并发架构设计是指设计一套比较合适的架构来应对请求、并发量很大的系统,使系统的稳定性、响应时间符合预期并且能在极端的情况下自动调整为相对合理的服务水平。 一般而言我们很难用通用的架构设计的手段来解决所有问题,在处理高并发架构的时候也需要根据系统的业务形态有针对性设计架构方案。 本文只是列出了大概可以想到的一些点,在设计各种方案的时候无非是拿着这些点组合考虑和应用。 有很多高并发架构相关的文章都是在介绍具体的技术点,本文尝试从根源来总结一些基本的方法,然后再引申出具体的实现方式或例子。 下面是本文会介绍的16个方面的大纲: 阅读更多 2019年6月14日/通过: 语嫣 https://cdn.xingyicdn.com/easenet/2019/06/2019061321102358.jpg 200 200 语嫣 https://cdn.xingyicdn.com/easenet/2017/11/2017112004353930.png 语嫣2019-06-14 05:10:582019-06-14 05:12:34高并发架构设计
工商银行基于 MySQL 分布式企业级解决方案实践 设计 一、数据库转型背景 1、传统IT架构的挑战 大型国有银行,整体核心的系统都是大机+DB2这样的传统架构;针对现在的互联网金融业务快速扩张的需求,传统的架构面临着比较大的挑战,主要集中在四个方面: 处理能力;因为工商银行这么大的体量,导致整体系统的规模比较庞大,这种垂直的单一的扩展模式,不具备横向处理能力,处理能力受到限制; 运行的风险;随着很多的业务从网点变成线上,新的业务提出了更高的业务连续性保障,包括7×24小时,传统的架构从架构设计上无法做到这样的支持; 快速交付;传统的开发模式应用内部模块、应用与应用之间的耦合度非常高,使得软件的开发和产品交付周期比较长; 成本控制;大型主机运营成本非常贵,买个机器帮你搞两下就几千万上亿的支出,再加上商业产品的License比较高,银行议价能力又比较低。 在这种情况下进行IT架构转型,整体的诉求是优化应用架构、数据架构、技术架构,建立灵活开放、高效协同、安全稳定的IT架构体系,强化对业务快速创新发展的科技支撑。 阅读更多 2019年5月30日/通过: 语嫣 https://cdn.xingyicdn.com/easenet/2019/05/2019053002483114.jpg 200 200 语嫣 https://cdn.xingyicdn.com/easenet/2017/11/2017112004353930.png 语嫣2019-05-30 10:03:532019-05-30 10:54:12工商银行基于 MySQL 分布式企业级解决方案实践
数据即金钱,中小企业如何搭建数据平台 设计 数据量日益增长的今天,尤其是由IT信息时代向DT数据时代的转型期中,数据越来越凸显重要,数据的价值越来越高,也愈加被重视。很多公司都将数据作为企业的核心竞争力,企业的DNA。那么什么是数据呢? IT时代的IT主要是信息技术,即企业的一切信息例如:企业员工信息,客户信息,产品信息等。信息主要用于描述企业员工、描述客户、产品等,通过信息可以大致了解员工,客户,产品等的基本情况。 DT时代的DT主要是指数据技术。数据是用来准确衡量信息的,例如公司有多少员工,本科以上占比,客户总量,区域客户量等。某种程度上可以这样理解:信息是一种概括的描述,通过信息可以描绘出企业的大概情况,而数据可以精准的描述信息,将信息量化以展示。 当然了,信息和数据的区别上述只是我个人的理解,在我看来,单纯区分二者的区别可能没太大的意义,将二者结合起来,迎合时代浪潮,做好向DT数据时代的过渡才是关键。 数据平台作为企业数据化的一个重要组成因素,必不可少。现在有很多互联网包括传统企业等都在搭建自己的企业数据平台,通过数据平台量化企业各项经营指标,深度剖析企业经营状况,为企业的科学经营提供帮助,进而实现持续盈利的目的。可以说,企业不管是做信息化还是做数据化,都是为了帮助企业科学管理,科学经营决策,都是以实现持续盈利,最大化盈利的目的。 什么是数据平台 我个人的理解是:数据平台是指将公司的所有数据以及关联数据(例如行业数据,竞争对手数据等)进行收集,按照规则处理,并根据特定的主题进行分析,展示,以便准确地剖析企业经营情况,达到指导公司科学经营和决策,并以实现企业持续盈利,最大盈利为目的。一句话,数据平台就是将企业的数据转化为盈利。数据就是金钱,已经越来越成为各个行业各企业的共识。 阅读更多 2019年5月27日/通过: 语嫣 https://cdn.xingyicdn.com/easenet/2019/05/2019052701454781.jpg 200 200 语嫣 https://cdn.xingyicdn.com/easenet/2017/11/2017112004353930.png 语嫣2019-05-27 09:57:212019-05-27 09:57:21数据即金钱,中小企业如何搭建数据平台
顶级互联网公司实践:十万节点下的Spark灰度发布 设计 顶级互联网公司数万节点下 Spark 的 CI 与 CD & CD 灰度发布实践。包含如何维护源代码,如何维护 Release 多版本,开发版与正式版,以及如何实现灰度发布,如何进行 hotfix 等。 因为保密协议,隐去了公司特有内容,只保留通用部分。 一、CI 介绍 持续集成是指及时地将最新开发的且经过测试的代码集成到主干分支中。 持续集成的优点: 快速发现错误:每次更新都及时集成到主干分支中,并进行测试,可以快速发现错误,方便定位错误 避免子分支大幅偏离主干分支:主干在不断更新,如果不经常集成,会产生后期集成难度变大,甚至难以集成,并造成不同开发人员间不必要的重复开发 为快速迭代提供保障:持续集成为后文介绍的持续发布与持续部署提供了保证 阅读更多 2019年5月23日/通过: 语嫣 https://cdn.xingyicdn.com/easenet/2019/05/2019052308260965.jpg 251 261 语嫣 https://cdn.xingyicdn.com/easenet/2017/11/2017112004353930.png 语嫣2019-05-23 16:26:372019-05-23 16:26:37顶级互联网公司实践:十万节点下的Spark灰度发布
操作系统核心知识点
观察这不是一篇教你如何创建一个操作系统的文章,相反,这是一篇指导性文章,教你从几个方面来理解操作系统。首先你需要知道你为什么要看这篇文章以及为什么要学习操作系统。
搞清楚几个问题
首先你要搞明白你学习操作系统的目的是什么?操作系统的重要性如何?学习操作系统会给我带来什么?下面我会从这几个方面为你回答下。
操作系统也是一种软件,但是操作系统是一种非常复杂的软件。操作系统提供了几种抽象模型
文件:对 I/O 设备的抽象
虚拟内存:对程序存储器的抽象
进程:对一个正在运行程序的抽象
虚拟机:对整个操作系统的抽象
这些抽象和我们的日常开发息息相关。搞清楚了操作系统是如何抽象的,才能培养我们的抽象性思维和开发思路。
很多问题都和操作系统相关,操作系统是解决这些问题的基础。如果你不学习操作系统,可能会想着从框架层面来解决,那是你了解的还不够深入,当你学习了操作系统后,能够培养你的全局性思维。
阅读更多
网易严选的推荐系统实践
电商推荐系统作用
有资料称亚马逊的推荐系统带来的GMV占其全站总量的20%-30%。这个数据会让人直觉地认为,电商网站只要一上好的推荐系统,就会带来相当高的GMV提升。甚至有产品会问:我们的推荐系统GMV占全站多少?为什么亚马逊能做到30%而我们做不到?
想象一下,亚马逊把推荐系统的位置全换成游戏广告,每次用户点击收取广告费等同于物品推荐时的单次点击价值。这时会有什么结果?合理的推荐是,如果游戏推荐做得足够精准,这个伪推荐系统的GMV占全站的比例可能越来越高,网站的用户流失率会显著增加,总体营收会趋于下降。
这个假设揭露了一个真相:推荐系统的位置本质上就是广告展现;对于任何一个有流量的站点来说,不断上升或者稳定的忠实用户是其最大价值;广告位的展现最好能够同时不损坏甚至提升用户体验。Facebook初上广告时就遇到一个问题:广告的投放影响了用户体验,会损失用户忠诚度,造成用户流失。而对于电商网站来说,为用户推荐物品,是一种能提升用户体验的方向投放,看起来像一种奇妙的巧合。
与搜索类似,推荐的本质就是提升用户体验 – 为此它们最主要的方式就是帮助用户快速的找到它需要的商品,其他的方式还包括给用户新颖感等。事实上,亚马逊宣称的20%的GMV,其中很多是“你不向用户推荐他也会购买的东西”,推荐系统在这方面的贡献是为用户提供了便利性点击,节约了用户的精力。如果没有推荐系统或者推荐系统很糟,用户流向竞品网站的可能性就会增大,这时造成的损害是在整体GMV上。至于推荐的GMV能占全站的比率是多少才合适,这个问题很难回答。只能说每个站点的基准值由产品的综合情况决定,不能一概而论。
阅读更多
高并发架构设计
设计高并发架构设计是指设计一套比较合适的架构来应对请求、并发量很大的系统,使系统的稳定性、响应时间符合预期并且能在极端的情况下自动调整为相对合理的服务水平。
一般而言我们很难用通用的架构设计的手段来解决所有问题,在处理高并发架构的时候也需要根据系统的业务形态有针对性设计架构方案。
本文只是列出了大概可以想到的一些点,在设计各种方案的时候无非是拿着这些点组合考虑和应用。
有很多高并发架构相关的文章都是在介绍具体的技术点,本文尝试从根源来总结一些基本的方法,然后再引申出具体的实现方式或例子。
下面是本文会介绍的16个方面的大纲:

阅读更多
工商银行基于 MySQL 分布式企业级解决方案实践
设计一、数据库转型背景
1、传统IT架构的挑战
大型国有银行,整体核心的系统都是大机+DB2这样的传统架构;针对现在的互联网金融业务快速扩张的需求,传统的架构面临着比较大的挑战,主要集中在四个方面:
处理能力;因为工商银行这么大的体量,导致整体系统的规模比较庞大,这种垂直的单一的扩展模式,不具备横向处理能力,处理能力受到限制;
运行的风险;随着很多的业务从网点变成线上,新的业务提出了更高的业务连续性保障,包括7×24小时,传统的架构从架构设计上无法做到这样的支持;
快速交付;传统的开发模式应用内部模块、应用与应用之间的耦合度非常高,使得软件的开发和产品交付周期比较长;
成本控制;大型主机运营成本非常贵,买个机器帮你搞两下就几千万上亿的支出,再加上商业产品的License比较高,银行议价能力又比较低。
在这种情况下进行IT架构转型,整体的诉求是优化应用架构、数据架构、技术架构,建立灵活开放、高效协同、安全稳定的IT架构体系,强化对业务快速创新发展的科技支撑。

阅读更多
数据即金钱,中小企业如何搭建数据平台
设计数据量日益增长的今天,尤其是由IT信息时代向DT数据时代的转型期中,数据越来越凸显重要,数据的价值越来越高,也愈加被重视。很多公司都将数据作为企业的核心竞争力,企业的DNA。那么什么是数据呢?
IT时代的IT主要是信息技术,即企业的一切信息例如:企业员工信息,客户信息,产品信息等。信息主要用于描述企业员工、描述客户、产品等,通过信息可以大致了解员工,客户,产品等的基本情况。
DT时代的DT主要是指数据技术。数据是用来准确衡量信息的,例如公司有多少员工,本科以上占比,客户总量,区域客户量等。某种程度上可以这样理解:信息是一种概括的描述,通过信息可以描绘出企业的大概情况,而数据可以精准的描述信息,将信息量化以展示。
当然了,信息和数据的区别上述只是我个人的理解,在我看来,单纯区分二者的区别可能没太大的意义,将二者结合起来,迎合时代浪潮,做好向DT数据时代的过渡才是关键。
数据平台作为企业数据化的一个重要组成因素,必不可少。现在有很多互联网包括传统企业等都在搭建自己的企业数据平台,通过数据平台量化企业各项经营指标,深度剖析企业经营状况,为企业的科学经营提供帮助,进而实现持续盈利的目的。可以说,企业不管是做信息化还是做数据化,都是为了帮助企业科学管理,科学经营决策,都是以实现持续盈利,最大化盈利的目的。
什么是数据平台
我个人的理解是:数据平台是指将公司的所有数据以及关联数据(例如行业数据,竞争对手数据等)进行收集,按照规则处理,并根据特定的主题进行分析,展示,以便准确地剖析企业经营情况,达到指导公司科学经营和决策,并以实现企业持续盈利,最大盈利为目的。一句话,数据平台就是将企业的数据转化为盈利。数据就是金钱,已经越来越成为各个行业各企业的共识。
阅读更多
顶级互联网公司实践:十万节点下的Spark灰度发布
设计顶级互联网公司数万节点下 Spark 的 CI 与 CD & CD 灰度发布实践。包含如何维护源代码,如何维护 Release 多版本,开发版与正式版,以及如何实现灰度发布,如何进行 hotfix 等。
因为保密协议,隐去了公司特有内容,只保留通用部分。
一、CI 介绍
持续集成是指及时地将最新开发的且经过测试的代码集成到主干分支中。

持续集成的优点:
快速发现错误:每次更新都及时集成到主干分支中,并进行测试,可以快速发现错误,方便定位错误
避免子分支大幅偏离主干分支:主干在不断更新,如果不经常集成,会产生后期集成难度变大,甚至难以集成,并造成不同开发人员间不必要的重复开发
为快速迭代提供保障:持续集成为后文介绍的持续发布与持续部署提供了保证
阅读更多