服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

作为国内以Python驱动的知名网站之一,豆瓣的技术理念和模式是什么?

2021-01-04 16:51:09 阅读(239 评论(0)

python开发了所有豆瓣。网站后台的搜索引擎基于Twisted,GUI基于Quixote,celementtreee、MySQL和PIL,这是豆瓣技术的基础。除了纯粹的技术原理外,豆瓣技术还有三个核心原则:以用户为中心、简单的前台和复杂的后台,以及快速开发。以用户为中心的Web2.0改变了一些产品特性的优先级。原来产品会把功能放在第一位,可用性的优先级会放在后面。现在,要给普通用户使用,必须以用户为中心,必须从易用的角度出发。可以说,Ajax技术的流行首先解决了一个概念问题。虽然此时点击量无法增加,但它可以给用户带来更方便的网络访问。现在的网站开发不是为了追求点击量,而是为用户提供满足他们需求的功能。杨波认为,对于大多数人来说,书籍、音乐和电影有很多选择,所以豆瓣的方向是初步确定的,也就是说,需要找到和分享。每个人的口味都不一样,分享后就会产生口碑传递。“所以,一开始做豆瓣不是为了做网站,而是为了满足人们的需求。如果对用户没用,那就远远不够新鲜了。“现在同一类型的网站,技术水平对网站外观的影响不是特别明显,但只需要使用网站,就会理解很多差距。原因是创新来自于找到需求,细节来自于理解需求。 为了最大限度地满足用户的习惯,简单的前台界面并不代表系统的简单性。相反,在Web2.0系统中,后台需要做更多的工作。在一些看似简单的功能背后,需要大量的程序和计算支持。豆瓣是基于数学统计的推荐引擎,是最具代表性的例子。与大多数网站不同,最早开发的部分是基于数学统计的计算模型的推荐引擎。用户点击浏览后,该模型可以自动分析“兴趣相投的人”,并积极推荐用户最有可能喜欢的书籍、音乐或电影。豆瓣是一个功能强大但使用简单的管理工具的100%动态网站,没有静态页面。我们可以把它看作是一个个人管理书籍、音乐和光盘的工具,只是把它放在网上。如今,许多网站抄袭了豆瓣的模式和资源,但仅仅抄袭一个网站的表面是毫无价值的。Web越来越像一个计算平台。计算机可以通过各种Web应用连接起来,比如Flickr可以在需要相册的时候使用,GoogleMap的Api可以在需要地图的时候使用。随着许多服务提供商逐渐开放他们的服务,每个网站都可以被视为一个软件服务提供商,它们之间的联系使系统变得越来越复杂,而这个系统的复杂性不会带来繁琐的功能使用。Web2.0应用的必然趋势是功能强大,使用简单。通过豆瓣的应用,我们可以看到联系用户之间的关系,在后台建立引导用户功能的连接,方便地存储和查询数据量,这是网站技术的核心。 很难想象豆瓣有5000万注册用户,Alexa的流量排名在1000左右,但长期以来只有一台8000元的服务器和一两个人的开发团队维护。为了适应这一规模,需要改变开发模式。这体现在很多Web2.0网站上,有人称之为简单哲学。为了快速发展,系统设计也需要简化。杨勃说:“豆瓣网中间也做了一些变化,一开始还是受原企业制度的影响,结构设计过于复杂,甚至分为许多层次。后来简化了,因为太复杂后很难快速发展。“豆瓣现在采用了快速发展的模式,这是一个快速发展和快速变化的系统,平均每两天就会出现新的功能。Web2系统架构延展性强,更新升级快.0网站变化迅速,并非所有功能都在初始阶段得到充分实现。“这就要求系统结构的可扩展性做得很好,”杨勃说。未来规模可能带来的问题必须考虑。豆瓣网最初的架构设计可以支持数百万用户。同时,基于Web的开发节省了客户分发和维护的成本,因此可以实现“永恒的BETA”、随时更新升级服务。据说豆瓣学习对象Flickr的升级以小时为单位。经常与用户互动的Web2.0和用户互动也是网站快速完善的动力。网站运行后,听取用户反馈,指导下一步的应用开发。“豆瓣网有一个站务论坛,很多人经常发言提出自己的需求。比如豆瓣刚开张的时候,用户可能会同时参加几十个小组,因为每个人都可以自由创建小组或者参加小组。然而,由于许多小组的数量相对较少,可能需要很长时间才能有人发言,所以我们需要一个功能来聚集所有小组的最新发言。事实证明,杨勃很快就实现了这一功能,非常受欢迎。杨波认为,由于他是一个小团队,他的工作模式不能是一个经理和一群人,但每个人都需要参与编程。而且,对综合学习能力的要求相对较高。“由于技术变化迅速,无论你现在对任何技术有多熟悉和经验,新技术可能会在几个月后再次出现,所以最重要的是能够跟踪最新的知识。此外,由于最新的Web2.0模式和想法是从国外发起的,程序员应该有能力在英语环境中直接沟通,直接参与国外开源项目,而不是阅读翻译成中文的文档。杨勃说,自己学习Python也是从豆瓣网开始的。“Python非常适合快速开发。起初,我试图使用Ruby。后来,由于豆瓣网络需要大量的后台程序,Python更适合编写一些后台模型程序。最后,前台统一为一种语言。杨勃以前对MySQL知之甚少,但在做豆瓣网的过程中,很快就弥补了知识。“现在我们有几个数据库可以同步,我们也回馈了开源社区的一些内容。“豆瓣选择了许多开源产品,杨勃认为:“充分利用开源产品至关重要。以Linux为基础的豆瓣平台,数据库采用MySQL,除数据挖掘和搜索外,其它都是在开源产品上开发的。因为现在有很多非常成熟的产品和模块,所以没有必要从头开始。只要你有能力理解和获得这些知识,你就可以在他人的基础上快速开发自己的系统。“豆瓣是一个使用Python开发的网站。在开发框架方面,豆瓣主要使用Quixote(轻量级PythonWeb框架简单高效,代码简单);Web服务主要用于后台操作.py(web.Python的Web框架也是Python,简单强大)。豆瓣网可分为两部分:一部分是前端网络,即用户在浏览器访问时触发一系列操作,从数据库中提取数据,渲染成HTML页面反馈给用户,这是前端;另一部分是后端,在豆瓣有一个强大的数据挖掘团队,每天分析、组合用户生成的数据,然后生成用户推荐,然后放在数据库中,这些数据将在前端实时捕获并显示给用户。豆瓣(架构)设计主要用于WEB的一端:前端是nginx和lighttpd,中间是Quixote的Web框架,后面是MySQL和我们自己开发的Doubandb。豆瓣(架构)设计主要用于WEB的一端:前端是nginx和lighttpd,中间是Quixote的Web框架,后面是MySQL和我们自己开发的DoubandB。除了Quixote,这些都是流行的尖端技术。Quixote稍微老一点,如果要重新设计,可能会在这方面做一些考虑。比如Python社区Djangoo、Pylons等都可以考虑,所以在豆瓣内部,我们通常使用web.py,一个很轻的Web框架来做,也是一个很好的选择,它可能需要自己做更多的事情。豆瓣还没有达到数据库分片的程度。根据功能分区,最常见的方法是。我们将数据表分为几个独立的库,现在总共有四个库。每个表都是库的一部分,每个库都有两个主副。这样可以减轻数据库的压力。当然,这是目前的计划。在未来,表的行数将增加。在达到一定程度后,必须进行水平分割,这是肯定的。然后在我们目前的技术方面,在操作数据库之前,有一种方法可以获得数据库的游标。这种方法会做一切,我们会从这种方法中判断在哪里取东西。这个架构已经在那里了,但还没有这样做。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

udp端口号有哪些

udp源端口和目的端口怎么求?在一台机器上,一个进程对应一个端口。端口的作用就是用来唯一标识这个进程。源端口标识发起通信的那个进程,目的端口标识接受通信的那个进程。有了端口号,接受到报文后才能够知道将报文发送到哪个进程。通常我们所说的TCP…查看详情

网站建设公司哪家专业?判断标准是什么?

目前,中国是网民数量最多的国家之一也是电子信息的生产基地,互联网的快速发展改变了人们的生活方式和对整个社会乃至整个世界的认知。每一个省会城市都有着成百上千家网站建设公司,这些公司的规模大小不同、技术水平也不同,要想从众多的公司里准确判断出这…查看详情

苹果13和12的区别参数有哪些?

  优质答案(1)  更推荐iPhone12proMax毕竟是上一代的超大杯,整体表现还是要比标准版更好。iPhone12proMax与iPhone13相比较拥有运存、影像、屏幕尺寸,体验会更高。  与Phone13相比,iPhone12P…查看详情

万商云集董事长(王飞)简介

人物介绍王飞,万商云集董事长,万商云集创始人兼总经理,改革开放40周年中国互联网创新发展十大诚信人物,成都市锦江区优秀民营企业家。搭建了万商云集企业数字化选用平台,为众多中小企业特别是初创企业快速上云提供了便捷通道。作为主研人员参与研发的多…查看详情

*客服系统免费的有哪些?

51客服是什么?51客服是一款专业的网上*客服系统 51客服网上上客服是完全基于WEB实现的一款免费网页对话系统,简洁明快,无需安装任何插件。在提升服务质量的同时,也为使用者带来了新的客户来源和订单。免费客服系统有谁用过吗?用过很多,还是…查看详情

in域名是哪个国家的

  .in域名是印度的顶级域名。顶级域名是在域名系统中最高层次的域名,是由国际互联网域名分配机构(ICANN)管理的。在域名系统中,顶级域名是最高级别的域名,通常由国家、地区或组织来指定和管理。  .in域名于1989年由印度国家知识产权管…查看详情

小程序怎么修改手机号

  用手机号码申请的微信号,现在手机号码换了,该怎么办?  用手机号码申请的微信号,现在手机号码换了,可以在微信里更换绑定手机号,步骤如下:  一、打开手机,在桌面上找到“微信”一项。  二、进入微信后,点击右下角的“我”,然后找到“设置”…查看详情

ie浏览器打不开如何解决

  对于很多用户来说,IE浏览器是日常中经常使用的一款浏览器。然而,有时候我们会遇到IE浏览器无法打开的情况。这时候需要尽快找到解决方法,让IE浏览器能够正常运行。  IE浏览器无法打开的原因可能有很多,比如系统故障、网络问题或者IE浏览器…查看详情

开发一个小程序大概需要多少钱?定制开发1-10万,用模板最便宜

伴随着微信小程序越来越火,很多商家想借助微信小程序的风口,拓展新的流量渠道,通过不同的玩法存留住客户,从而宣传产生裂变。为了跟上这一波风口,商家就需要提前注册小程序,以免被别人抢去先机,尽快开发出属于自己的小程序,获取大量免费客户,迅速抢占…查看详情

怎么免费注册防水公司

  如何注册防水工程公司?  先到工商局注册公司,按照防水工程公司设立的资质标准规定的资金注册。  这时只需要提供股东名单、证件、房产证明(或租赁证明)以及注册资金就可以。  领取的营业执照后,应按照上述资质标准规定的人员、设备等到当地建设…查看详情

计算机的主机是指什么

主机是什么?广义上的计算机主机就是指CPU和内存。而在计算机装机中的主机是指包括机箱、主板、电源、CPU、内存、显卡、网卡、声卡、*盘、光驱和各种接口的机箱的合称。而一台完整的计算机包括显示器、鼠标和键盘、主机几部分。主机是什么?包括哪些?…查看详情

怎么办理商标注册?详细步骤指导你迅速学会商标注册

我国的商标注册制度允许注册商标与未注册商标同时在商业活动中使用,但唯有通过注册才能取得商标专用权,并获得法律的保护。许多人在问怎么办理商标注册,今天,*就来为大家总结了一下商标注册办理攻略。 图片来源于网络申请注册商标流程及时间介绍 1、注…查看详情

跨境电商erp软件有哪些? 好用的跨境电商ERP

  从跨境电商erp功能方面来看,主要功能还是集中在订单下载,打单发货,物流跟踪,库存管理,采购管理,产品管理,客服管理,数据分析等。下面万商云集*就给大家详细介绍下跨境电商erp软件有哪些、。  从服务质量层面来看,一个有客户及时响应的服…查看详情

金蝶与华为开展合作,发布金蝶EAS Cloud

金蝶的EASCloud是采用最新的混合云的技术架构研发的新一款云产品。可以很灵活的支持企业在公有云、私有云、混合云等上面的部署,帮助企业提供完整的人、财、物的数字化转型,EASCloud完全采用自己研发的技术,完全可以做到自主可控,EASC…查看详情

项目管理师证书怎么考

  项目管理师证书是经过国家认证的专业资格证书,在企业和行业中拥有较高的认可度和职业性价比。考取项目管理师证书不仅可以提高自己的职业竞争力,还可以加快自身的职业发展。下面就详细介绍一下如何考取项目管理师证书。一、报名参加考试首先要做的是报名…查看详情

最新文章