V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xd314697475  ›  全部回复第 18 页 / 共 22 页
回复总数  433
1 ... 10  11  12  13  14  15  16  17  18  19 ... 22  
2018-03-03 10:10:11 +08:00
回复了 MageeHuang 创建的主题 程序员 求教:网站运行的原理及背后的逻辑架构
可以看子柳老师的《淘宝技术这十年》,讲淘宝是如何建立的。

下面是一个简单的科普文,《你刚才在淘宝上买了一件东西》(来自阿里员工卡特)

你发现快要过年了,于是想给你的女朋友买一件毛衣,你打开了 www.taobao.com 。这时你的浏览器首先查询 DNS 服务器,将 www.taobao.com 转换成 ip 地址。不过首先你会发现,你在不同的地区或者不同的网络(电信、联通、移动)的情况下,转换后的 IP 地址很可能是 不一样的,这首先涉及到负载均衡的第一步,通过 DNS 解析域名时将你的访问分配到不同的入口,同时尽可能保证你所访问的入口是所有入口中可能较快的一个 (这和后文的 CDN 不一样)。

  你通过这个入口成功的访问了 www.taobao.com 的实际的入口 IP 地址。这时你产生了一个 PV,即 Page View,页面访问。每日每个网站的总 PV 量是形容一个网站规模的重要指标。淘宝网全网在平日(非促销期间)的 PV 大概是 16-25 亿之间。同时作为一个独立的用户,你这次访问淘宝网的所有页面,均算作一个 UV ( Unique Visitor 用户访问)。最近臭名昭著的 12306.cn 的日 PV 量最高峰在 10 亿左右,而 UV 量却远小于淘宝网十余倍,这其中的原因我相信大家都会知道。

  因为同一时刻访问 www.taobao.com 的人数过于巨大,所以即便是生成淘宝首页页面的服务器,也不可能仅有一台。仅用于生成 www.taobao.com 首页的服务器就可能有成百上千台,那么你的一次访问时生成页面给你看的任务便会被分配给其中一台服务器完成。这个过程要保证公正、公平、平均(暨这成百上千台服务器每台负担的用户数要差不多),这一很复杂的过程是由几个系统配合完成,其中最关键的便是 LVS(Linux Virtual Server),世界上最流行的负载均衡系统之一,正是由目前在淘宝网供职的章文嵩博士开发的。

  经过一系列复杂的逻辑运算和数据处理,用于这次给你看的淘宝网首页的 HTML 内容便生成成功了。对 web 前端稍微有点常识的童鞋都应该知道,下一步浏览器会去加载页面中用到的 css、js、图片、脚本和资源文件。但是可能相对较少的同学才会知道,你的浏览器在同一个域名下并发加载的资源数量是有限制的,例如 IE6-7 是两个,IE8 是 6 个,Chrome 各版本不大一样,一般是 4-6 个。我刚刚看了一下,我访问淘宝网首页需要加载 126 个资源,那么如此小的并发连接数自然会加载很久。所以前端开发人员往往会将上述这些资源文件分布在好多个域名下,变相的绕过浏览器的这个限制,同时也为下文的 CDN 工作做准备。

  据不可靠消息,在双十一当天高峰,淘宝的访问流量最巅峰达到 871GB/S。这个数字意味着需要 178 万个 4Mb 带宽的家庭宽带才能负担的起,也完全有能力拖垮一个中小城市的全部互联网带宽。那么显然,这些访问流量不可能集中在一起。并且大家都知道,不同地区不同网络(电信、联通等)之间互访会非常缓慢,但是你却发现很少发现淘宝网访问缓慢。这便是 CDN(Content Delivery Network),即内容分发网络的作用。淘宝在全国各地建立了数十上百个 CDN 节点,利用一些手段保证你访问的(这里主要指 js、css、图片等)地方是离你最近的 CDN 节点,这样便保证了大流量分散在各地访问的加速节点上。

  这便出现了一个问题,那就是假若一个卖家发布了一个新的宝贝,上传了几张新的宝贝图片,那么淘宝网如何保证全国各地的 CDN 节点中都会同步的存在这几张图片供用户使用呢?这里边就涉及到了大量的内容分发与同步的相关技术。淘宝开发了分布式文件系统 TFS(Taobao File System)来处理这类问题。

  好了,这时你终于加载完了淘宝首页,那么你习惯性的在首页搜索框中输入了'毛衣'二字并敲回车,这时你又产生了一个 PV,然后,淘宝网的主搜索系统便开始为你服务了。它首先对你输入的内容基于一个分词库进行分词操作。众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子 I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道 student 是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。我是一个学生,分词的结果是:我 是 一个 学生。

  进行分词之后,还需要根据你输入的搜索词进行你的购物意图分析。用户进行搜索时常常有如下几类意图:( 1 )浏览型:没有明确的购物对象和意图,边看边买,用户比较随意和感性。Query 例如:” 2010 年 10 大香水排行”,” 2010 年流行毛衣”, “ zippo 有多少种类?”;( 2 )查询型:有一定的购物意图,体现在对属性的要求上。Query 例如:”适合老人用的手机”,” 500 元 手表”;( 3 )对比型:已经缩小了购物意图,具体到了某几个产品。Query 例如:”诺基亚 E71 E63 ″,” akg k450 px200 ″;( 4 )确定型:已经做了基本决定,重点考察某个对象。Query 例如:”诺基亚 N97 ″,” IBM T60 ″。通过对你的购物意图的分析,主搜索会呈现出完全不同的结果来。

  之后的数个步骤后,主搜索系统便根据上述以及更多复杂的条件列出了搜索结果,这一切是由一千多台搜索服务器完成。然后你开始逐一点击浏览搜索出的宝贝。你开始查看宝贝详情页面。经常网购的亲们会发现,当你买过了一个宝贝之后,即便是商家多次修改了宝贝详情页,你仍然能够通过‘已买到的宝贝’查看当时的快照。这是为了防止商家对在商品详情中承诺过的东西赖账不认。那么显然,对于每年数十上百亿比交易的商品详情快照进行保存和快速调用不是一个简单的事情。这 其中又涉及到数套系统的共同协作,其中较为重要的是 Tair,淘宝自行研发的分布式 KV 存储方案。

  然后无论你是否真正进行了交易,你的这些访问行为便忠实的被系统记录下来,用于后续的业务逻辑和数据分析。这些记录中访问日志记录便是最重要的记录之一, 但是前边我们得知,这些访问是分布在各个地区很多不同的服务器上的,并且由于用户众多,这些日志记录都非常庞大,达到 TB 级别非常正常。那么为了快速及时 传输同步这些日志数据,淘宝研发了 TimeTunnel,用于进行实时的数据传输,交给后端系统进行计算报表等操作。

  你的浏览数据、交易数据以及其它很多很多的数据记录均会被保留下来。使得淘宝存储的历史数据轻而易举的便达到了十数甚至更多个 PB(1PB=1024TB=1048576GB)。如此巨大的数据量经过淘宝系统 1:120 的极限压缩存储在淘宝的数据仓库中。并且通过一个叫做云梯的,由 2000 多台服务器组成的超大规模数据系统不断的进行分析和挖掘。

  从这些数据中淘宝能够知道小到你是谁,你喜欢什么,你的孩子几岁了,你是否在谈恋爱,喜欢玩魔兽世界的人喜欢什么样的饮料等,大到各行各业的零售情况、各类商品的兴衰消亡等等海量的信息。

  说了这么多,其实也只是叙述了淘宝上正在运行的成千上万个系统中的寥寥几个。即便是你仅仅访问一次淘宝的首页,所涉及到的技术和系统规模都是你完全无法想 象的,是淘宝 2000 多名顶级的工程师们的心血结晶,其中甚至包括长江学者、国家科学技术最高奖得主等众多大牛。同样,百度、腾讯等的业务系统也绝不比淘宝简单。你需要知道的是,你每天使用的互联网产品,看似简单易用,背后却凝聚着难以想象的智慧与劳动。
2018-03-02 10:52:33 +08:00
回复了 Frank98 创建的主题 程序员 有没有什么工具可以将 html 文件的内容的英文翻译成中文?
chrome+google 翻译
edge+translator for Microsoft Edge
同不会玩
还记得当年被支配的恐惧
2018-02-27 09:10:51 +08:00
回复了 pkookp8 创建的主题 问与答 git 可以配置成一个个人博客,如何在本地预览这个博客
@pkookp8
你看这个教程吧,一步步检查
https://www.jianshu.com/p/e99ed60390a8
2018-02-27 08:24:42 +08:00
回复了 pkookp8 创建的主题 问与答 git 可以配置成一个个人博客,如何在本地预览这个博客
如果你使用了 hexo,且安装正确,localhost:4000 就可以访问吧
不如开个综合维修店
但是你都不懂装机,这就有点难办。
PC 市场处于下滑趋势,实体店受网店影响明显。
应该主动把定位转移到网店不擅长的面对面维护上来。

简单说就是 手机换电池,换屏幕,贴膜。。。。
PC 重装 xp,7,8,10 系统

但是利润不是很高,优势在于投资成本也低
@pierrec #87
R 5 1400 也可以,散热还得上,天气热了压不住,冬天还好点。

内存其实无所谓,我选这个是考虑以后扩展升级的。。。有钱继续加条条

电源还是酷冷吧,足够了,金蝶据说有过爆炸,而且他这线对走线要求高,容易给自己挖坑

ssd 玩游戏没必要这么好吧,而且 256 的 961 价格有点小贵,现在比双 12 时候涨了不少
@Liir #89
更新正式版以后 8G 也能玩了,以前得 16G


腾讯 pubg 国服配置

普通配置
(建议设置中等画质,
体验流畅画面)
系统:Windows7/Windows10 64 位
内存:8GB
CPU:Intel i5-6400/AMD R3-1300X
显卡:GTX 1050 / GTX 960 / GTX 1050TI / RX 570
硬盘:7200 转机械硬盘
稍微垫点吧
刚刚查的某宝,仔细看括号内的内容,大概 7000 刚出头

具体清单如下,细节可以探讨。

内存 8g 新版吃鸡没问题。

CPU+主板
Ryzen 1600+B350M MORTAR | 1860 元

显卡
铭瑄 GTX1060 6G | 2699 元

散热器
镰刀赤兔马 STB120 (备注:AM4 扣具,amd 需要)| 100 元

内存
英睿达 ddr4 8g (注意 2666 ) | 680 元

机箱
先马坦克 | 200 元

电源
酷冷至尊 GX450 | 300 元

硬盘
西数 /希捷 1T | 300 元

ssd
三星 PM961 128G,(真假看能力) | 389 元

曲面显示器
TCL T24M6C 23.6 英寸 1080,1800R 曲率 | 1000 元

共计
加 ssd 7528 元
无 ssd 7139 元
2018-02-11 17:32:39 +08:00
回复了 youngxhui 创建的主题 LeetCode LeetCode 竟然有中文网站了
力扣信息科技 版权所有
这个翻译,666
2018-02-10 20:14:36 +08:00
回复了 baskice 创建的主题 问与答 目前最好用的下载器是?
FDM
2018-02-06 10:25:46 +08:00
回复了 codeeer 创建的主题 Bitcoin 比特币破 7000 刀了,韭菜们还好么
已经准备好抄底了,a 股,美股,btc 一锅烩
@qq976739120 django+1
体验确实很好
2018-01-31 11:00:42 +08:00
回复了 testcount 创建的主题 程序员 2018 年想学一门编程语言,哪个好?
1.考虑工作稳定
天下还是 java 的天下,java 现在还有 14.215%的江山( toibe 最新数据),多年( 20 年?)的第一名
未来即使走向没落,还是瘦死骆驼比马大

2.考虑前景
当然要说前景,Go 和 Kotlin 还是和有可能上位的。

Go
Go 现在排名 19 占比 1.569%,最好记录是 2017 年排名 9,
国际大厂 google 推出的开源语言,特色简洁、快速、安全,定位是取代 C++,发力高并发领域。最大优点是可直接编译成机器码。
案例:知乎,今日头条,微博,bilibili 都使用或者转型 Golang。

Kotlin
Kotlin 现在排名 39 占比 0.313%
国际 IDE 神企 JB,JetBrains 开发的 jvm 开源语言,用过 java 的人好处能说一大堆,缺点也不少,而 Kotlin 就是针对这些缺点的,Kotlin 写起来真的很爽,关键是可以和 java 混编,互相调用,google 在 2017 年也把其定为 Android 的官方语言,更是一剂强心剂,取代 java 的有利竞争者。
案例:豆瓣,知乎 app,花瓣
我是分母
2018-01-29 21:23:14 +08:00
回复了 frozenway 创建的主题 PHP win10 非常不适合编写 PHP 代码
@frozenway #16
你可以改输入法快捷键或者 DW 的快捷键
win10 默认输入法快捷键:ctrl+空格( space )
输入法快捷键修改看#86 楼,把《中英文模式切换》——选择为《无》,现在快捷键就只有 ctrl+空格( space )了。
还可以修改注册表
HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys 当前用户快捷键配置; HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys 默认快捷键配置;


DW 不熟悉,修改方法大概是:编辑——》快捷键
2018-01-29 21:09:55 +08:00
回复了 frozenway 创建的主题 PHP win10 非常不适合编写 PHP 代码
我来终结问题

设置——》时间和语言
左边栏——》区域和语言——》单击:语言(中文)
在语言栏目的选择:中文(中华人民共和国)(单击会出现隐藏选项)——》选项——》键盘 栏目——》微软拼音
点击”键盘栏目“中的“微软拼音”——》出现选项——》点击选项——》按键


里面可以改快捷键:
2018-01-29 11:02:41 +08:00
回复了 huanyingch01 创建的主题 程序员 这应该是几年程序员可以写出的代码?
别猜了,这是 lua
先做个小科普

# 1. lua 语法特征:
if ... end
for .... end

# 2. php 语法特征:
php 的特征符号是$(面向$编程)
变量前面带有$, eg. $a; $b;
注意结尾的;
语法整体上有 C 语言的感觉

# 3. java 语法特征:
类似 C 语言
作为面向对象语言的代表,就是对象多,注意结尾有;
new 关键字,public class,
eg. ObjectReference = new Constructor();

# 4. swift 语法特征:
;分号不是必要的
变量 var,常量用 let
条件语句 if 后面一般省略()


因为对 lua 编程不是很熟悉,而且程序员几年不是一段代码能表现出来的
最好放个项目出来,这样大家更容易了解
2018-01-29 10:40:08 +08:00
回复了 sloppysop 创建的主题 问与答 有没有屏幕比较好的中低端笔记本
小米 pro,联想小新,hp envy13
考虑二手

ps 最好带预算,每个人对中低端定义不同
1 ... 10  11  12  13  14  15  16  17  18  19 ... 22  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 19:40 · PVG 03:40 · LAX 11:40 · JFK 14:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.