1.å¦ä½åä¸ä»½å¥½ç个人ç®å
2.洪强宁洪强宁-关于豆瓣
3.豆瓣为什么用python?
å¦ä½åä¸ä»½å¥½ç个人ç®å
å¦ä½åä¸ä»½å¥½ç个人ç®åããå¦ä½åä¸ä»½å¥½ç个人ç®åï¼å¯¹è®¸å¤æ±èè æ¥è¯´ï¼å¥¹ä»¬å¯¹å好ä¸ä»½ç®åæ¯ä¸äºè§£çï¼ä¹ä¸ç¥éæä¹åç®åç®æ¯å¥½çç®åãè好çç®åè½è®©ä½ é¢è¯æºä¼æ´å¤ï¼ä¸é¢æ¯å¦ä½åä¸ä»½å¥½ç个人ç®åæ¹æ³ï¼
ããå¦ä½åä¸ä»½å¥½ç个人ç®å1ããæç§ç¨åº¦ä¸ä»å¨æä½ å¨æï¼ä»äºè§£çä¿¡æ¯æ´å¤ï¼ä¿¡æ¯é常ä¸å¯¹ç§°ï¼åºèè å¤äºå£å¿ãä»å¯ä»¥çå°å¾å¤å¾å¤ç±»ä¼¼çç®åï¼ ä»ä¼æä¸ç§âé«é¢è¯éº»æ¨âçç¹å¾ãä½ åå«äººé½ä¸æ ·æ¾ç¶ä¸è½å¼èµ·ä»çå ´è¶£ã
ããèä¸çä½ ç®åç人ï¼æ¯å¦è¯´æï¼é½ä¼æç§èªæè¨å¤§çæè§ï¼å欢寻æ¾å½å¹´çèªå·±ï¼å¸æ åç°å 满ä¹è¶£ï¼ç§¯æåä¸ç人ã
ããè¿å®é ä¸æ¯çç®åç人çä¸ç§èªæçæ³æ³ï¼è§å¾èªå·±å½å¹´å¦ä½å¦ä½ï¼å ¶å®å°±åæå½å¹´ä¹æ¯ä¸å¡ç³æ¶ï¼ä½ä¹ä¼è§å¾èªå·±å½å¹´ä¼å æ£ãæ 以表ç°åºæ¥ä¹è§ç§¯ææ¯é常讨åçã
ããä¸ç¯å æ¥çæ æ°âé«é¢è¯âçç®åï¼æ¾ç¶ä¸è½ä¼ è¾¾è¿ç§ä¿¡æ¯ã
ãã1ã没æå¿ è¦æè°
ããå个人ç®åæå·®ççç¥å°±æ¯æè°äºãè¿ç§æ¬ºéªæ¬èº«å°±èªç¸çç¾ãä½ å°åºå¸æåèªæäººå ±äºå¢ï¼è¿æ¯ç¬¨äººå¢ï¼å¤§å¤æ°äººå¸æåèªæäººå ±äºï¼ä½æ¯èªæäººä½ éªå¾äºä¹ï¼ æè è¯´è¢«ä½ éªäºçç®æ¯ä½ 认为çèªæ人ä¹ï¼
ããä½ è¦åæ³æ¾å¥½å·¥ä½ï¼åºæ¬å设就æ¯å¤§å®¶é½æ¯æç½äººä¸å¥½éªçãçç®åç人ä¹ä¸è¿å¦ï¼ä¹åè¿ç®åï¼æ´æ¸ æ¥å ¶ä¸ç注水æ 段ï¼ä»¥ä¸ºèªå·±è½å¹çè¿å ³ï¼å¤§é¨åé½æ¯èªåå ¶è¾±ã
ããå³ä¾¿ä½ è¿äºç®åçéä¸å ³ï¼ä¹æ²¡é£ä¹å®¹æï¼é¢è¯æ¶åè¯å®ä¼é®ä½ é£äºä½ åçä¸è¥¿ï¼ä½ çä¸ä¸æ¥ï¼é¢è¯å®è¿ä¼è§å¾ä½ 人åæé®é¢ã
ããæçåå¦è¯´å¤åå å 次é¢è¯ä¸å¥½ä¹ï¼å¥½ï¼ä½ä¸è½ç¨è¿ç§æ¹å¼ï¼è¿å®å ¨å°±æ¯èªæ¯åç¨ã
ãã2ãéè¿°äºå®
ããæè§å¾å¹³ç½é述就好äºï¼ä¸è¦æ个人è²å½©ãä½ è§å¾æ¯ç²¾éï¼æå¯è½è§å¾å°±æ¯äºè§£ï¼ä½ è§å¾æ¯ææ¡ï¼æå¯è½è§å¾å°±æ¯æ¸ æ¥ æ¦å¿µã
ããæ以ä¸è¦æè¿ç±»è¯æ±ãä½ åâç¨Rubyåäºèªå·±ç个人ç«ç¹âè¿ä¸ªæ²¡æä»ä¹å¯ä»¥è¾©é©³çï¼ä¹é常好è¯å®ã
ããæ¯ä¸æ¯ä½ åçï¼æä¹åçï¼éå°ä»ä¹å°é¾é½è½å¾å®¹ æç¥éãâç¨Cåäºæ°ç¬è§£ç®å¨âå°±å¾å¹³å®ï¼æç¥éä½ åäºä»ä¹ï¼ä¼åä»ä¹ã
ããâ读äºSICPâï¼âåäºéãç®æ³å¯¼è®ºãçä¹ é¢âï¼âçäºnginxçä¸é¨åæºä»£ç âï¼âèªå·±åäºwcâé½æ¯âç²¾éâï¼âææ¡âä¹ç±»ç强å¤äºãéè¿°å°±å¯ä»¥äºï¼ä¸è¦æç»ã
ãã3ãä½ çä½å
ããæå 为ç®åçä¸å¥è¯é¢è¯äºå¥½å¤åå¦ãæ个åå¦åâç¨C++å®ç°äºPython解éå¨âï¼è¿ä¸ªäºæ æåä¸å°ï¼æ以æç¹å«æ³æ¾ä»æ¥èä¸èï¼æææç¼è¯åçç äºæ ãå¾å¤è®¡ç®æºç³»çåå¦é½å¦è¿ãç¼è¯åçãï¼ä½ç»å¤§é¨å人ä»ä¹ä¹æ²¡åè¿ã
ããæ以åªè¦æè¿ç¹ï¼æå°±è§å¾ä»æ¯ä¸ªå¾ç¹å«ç人ï¼æå¾å欢ãæ个åå¦åâå¨spoj æ积åXXXXâï¼æç«å»è§å¾åºè¯¥æ¾æ¥èèï¼å 为ä»ç积åæ¯æå¤ã
ããä»ä¸å®æ¯ä¸ªç±åé¢ï¼åäºåé¢ï¼å¹¶ä¸åäºç¨è®¡ç®æºè§£é¢ç家ä¼ï¼ä»é常å¯è½ä¼çµæ´»è¿ç¨åç§ç® æ³ã
ããæ个åå¦åâåäºå°è¿ä¸ªå°æ¸¸æï¼å æ¬ä¿ç½æ¯æ¹åï¼åè±åï¼é»ç½æ£çâï¼æè§å¾çæ¯å¤ªæ£äºï¼è¿ä¸ªå®¶ä¼ä¸å®ç¹å«è½ä¸ç ï¼ç¹å«ä¹äºå¨±ä¹èªå·±ï¼æè¦è§ä¸è§ã
ããæ个åå¦åâ使ç¨Pythonåäºä¸ªåè¯å°å·¥å ·âï¼å¾å¥½åï¼è¿ä¸ªè¯´æäºä¸¤ç¹ï¼ä½ ä¼ç¨Python解å³é®é¢ï¼ä½ ç¥éåè¯æ¯ä»ä¹ä¸è¥¿ï¼æ们å¯ä»¥èèåã
ããæä¼å 为ç®åéé¢çéªå ç¹èæ³è§è§è¿ä¸ªäººï¼èä¸æ¯ç®åçé¿åº¦ãä½ çä½åæ¯ä½ æ好çæ ç¾ã
ãã4ãä½ çç书ï¼ä½ 读ç代ç
ããæä½ çè¿ç书ååºæ¥ï¼æä½ çè¿ç代ç ååºæ¥ã没çå®å°±åä¸æ²¡çå®ãä¹å¯ä»¥åä¸ä¸ªè±ç£ä¸»é¡µçé¾æ¥ã
ããæäºå°ç½ççæ¯ ä½ è®©ä»å¯å²ç¼é½è¯´ä¸åºæ¥å 个书åï¼ç¶åè¿å·ç§°âç²¾éâãä½ çè¿åªäºå¼æºé¡¹ç®ç代ç å¢ï¼ä»ä¹ä¹æ²¡çè¿ï¼ï¼
ããé£ææä¹ç¥éä½ åçä¸è¥¿é è°±å¢ï¼è¦ç¥éè¿äºè¯»ä¹¦çè®° å½ï¼è¯»ä»£ç çè®°å½ï¼æ¯é常é¾äºä¼ªé çï¼æ以ä¹æ¯åä½çå®æéè§çãä½ è½é便伪é çä¸è¥¿å«äººä¹è½ï¼è¿ç§è¿ç¡¬çè®°å½ææ¯åºå度æ大çã
ãã没æå®é ç项ç®ç»éªä¸å¯ æï¼ä½æ¯æ»è¯¥çè¿å æ¬ä¹¦å§ï¼æ»è¯¥çè¿ä¸äºä»£ç å§ãä»ä¹é½æ²¡è§è¿ç人æä¸å¤ªç¸ä¿¡å¯¹è®¡ç®æºæçæ ï¼ææå¨è¿ä¸ªè¡ä¸ä¹å¾é¾ææåå±ã
ãã5ãä½ çå¦ä¹ 路线
ããä½ æä¹è·åç¥è¯ï¼ä½ æ¯ç»´åºç¾ç§ï¼stackoverflowçç¨æ·ä¹ï¼ä½ æGitHubè´¦å·ä¹ï¼å ³æ³¨èªå·±æå ´è¶£ç项ç®äºä¹ï¼ä½ é 读è°çblogï¼å å ¥ä»ä¹é®ä»¶å表ï¼åå äºä»ä¹çº¿ä¸äº¤æµæ´»å¨ï¼
ããä½ æ³æ为ä»ä¹æ ·çç¨åºåï¼ä½ ç¥éè°æ¯è¿æ ·çç¨åºåï¼ä½ æ··å¼æºç¤¾åºä¸ï¼ä½ 对èªå·±çå¦ä¹ ç¶åµæ»¡æä¸ï¼ä½ è¿å¸æå¦ä¹ ä»ä¹ï¼
ãã6ãä½ çç½é¡µ
ããä½ æ²¡æç½é¡µï¼ä½ æ¯ç¨åºåä¹ï¼ä½ ççè¦å½ç¨åºåï¼æ个女å©åå个äºèªå·±çç½ç«ï¼è¿å»åå æ¯ä¸ä¸ªæ°ç¬é¢ç®ï¼ç对äºæè½çå°ä¸ªäººä¿¡æ¯ãåæ¥åç°è¿ä¸ªå¥³å©å è¿ä¼è¯´å æè´¡è¯ï¼ç¨åºåå¾é常好ã
ãã她å±ç°åºå¥¹æ¯ä¸ªå¾æ趣ç人ï¼ä½ ä¹è¦è¿æ ·ãä½ è±ä¸å¤©æ¶é´å¨herokuä¹ç±»çç½ç«å个èªå·±çä»ç»é¡µé¢ã
ããå°ä½ ç个人信æ¯é½æ¾ ä¸å»ï¼æå¾å¤å¾å¤é¾æ¥ï¼é½æ¯å ³äºä½ ç项ç®ï¼ä½ çä½åï¼ä½ çæèï¼ä½ çå¿å¾ãæ人ç»æçç®åå°±æ¯ä¸ä¸ªå¤§å¤§äºç»´ç ï¼æ«æä¹åå°±æ¯ä¸ªäººä¸»é¡µç.é¾æ¥ï¼æçå¾è¯¦ç»çä»ç»ï¼ççé常æ£ï¼
ããå¦ä½åä¸ä»½å¥½ç个人ç®å2ãã1ãä¸ä»½æ åçæ±èç®åæ¯è¿æ ·çï¼
ããæ±èè 个人信æ¯å§åãæ§å«ï¼æäºå ¬å¸ä¸è¦æ±ï¼ãåºçå¹´æï¼æäºå ¬å¸ä¸è¦æ±ï¼ãå©å§»ç¶åµï¼æäºå ¬å¸ä¸è¦æ±ï¼ã详ç»èç³»æ¹æ³ãä½åãèç³»çµè¯ãæ·å£ç¶åµï¼ä¸æ¯å¿ è¦çï¼ã
ããæè²åå¹è®èæ¯ä¸å¿ æå°å¦ãä¸å¦ãåºè½è¯æä½ ç¥è¯æ°´åãææ¥ææè½åè½åçä¸åç¸å ³ä¿¡æ¯ãè¿å æ¬æ£è§ãéæ£è§çæ人æè²åä¸ä¸å¹è®ã
ããå·¥ä½ç»åå æ¬éä½£åçå·¥ä½ï¼ä¹å æ¬å®ä¹ ãä¹å¡æ§å社å¢ã社åºæ§çå·¥ä½ã
ããææ¯åæè½çµèæè½ãè¯è¨æè½ãæ§æ ¼åè½åãæ§æ ¼ç¹ç¹ãå¾ éè½åã人é è½åãå¢éç²¾ç¥ãå ´è¶£ç±å¥½ã
ãã2ã人äºç»çè¿æ ·çéç®å
ããå¤ä¼äººäºç»çæ¯å â以è²å人âï¼å³ä½ ç®ååå¾å¦ä½ï¼åçåºæ¬æ¡ä»¶å¦å¦åãç»åï¼æåæ¯è½åãæ½è½åæ§æ ¼ãå两è æ¯åºæ¬ï¼æåæ¯å³å®æ§çå ç´ ãè±é¢èåºçå ³é®æ¯å±ç°ä½ ç丰éã
ãã3ãç®ååæ±è信并è¡
ãã好çæ±èä¿¡å¿ é¡»åç®å并è¡ï¼ç®çæ¯è®©ç®åæ´æé对æ§ï¼å¦å¤æ±èä¿¡è¦æåææ人æ å³å¿ã
ãã4ãè®©ä½ çç®åè¿ç¦»âåå¾æ¡¶â
ããå½äººäºç»çåé主å¨ä»¥åçé¢è¯æå·¥ä½ä¸åç°ç®åä¸æ¾æä¸çå®çæåæ¶ï¼ä½ çåæä¼è¿è¿å¤§äºä½ 没æå¾å°ä¸ä»½å·¥ä½ï¼è¦å¤åå¤å 份ä¸åçç®åï¼ä»¥åºä»ä¸åè¡ä¸çä¸åèä½ã
ãã5ãç®åä¸è¦åèªé ¬è¦æ±
ããä¸è¦éç §çåå¦åå¤å°ä»¶ï¼ç»å¤ä¼çç®åè¦æ³¨æï¼å¤ä¼é常ä¼çµæ¯å°è¯è¨æè½ï¼å æ¤æ ¹æ®æèä¼ä¸çå¤è¯è¦æ±åå¤å¤æç®åæ¯å¿ è¦çã
洪强宁洪强宁-关于豆瓣
在构建豆瓣系统架构时,码豆首先需要对Web服务器进行划分,码豆将网站内容分为动态内容与静态内容。码豆动态内容,码豆如网站上的码豆HTML页面,通过使用Nginx和Lighttpd的码豆ewebeditor tm源码混合方案进行优化,其中Nginx负责负载均衡,码豆而Lighttpd通过SCGi接口与应用服务器连接,码豆应用服务器基于Quixote框架编写。码豆请求由外部资源处理,码豆数据库与Quixote框架协作,码豆生成HTML页面并返回。码豆为减少数据库的码豆mallplus源码IO压力,使用了分布式内存缓存Memcached,码豆用户请求中还可能包含搜索需求,码豆此时会利用Xapian搜索引擎。豆瓣网的数据库采用了Master-Slave架构,两个MySQL数据库组成一对,以减少负载并实现数据备份。printwindow源码静态内容则通过Nginx进行处理,支持用户上传,采用Mogile FS分布式文件系统以实现备份与高可用性,同时优化了IO性能。应用服务器使用Python语言编写,采用MVC设计模式,viewml源码其中Controller层使用Quixote框架接收并解析用户请求,根据URL定位Model的特定函数执行,处理用户权限等逻辑,最终传递给View层进行渲染,形成网页。View层的ukafu源码模版技术由PTL转为Mako,Mako提供更易于维护的代码结构,同时,针对Mako的使用,豆瓣团队还进行了优化工作。Python的Web开发框架主要有Django、Pylons、TurboGears,Pylons的默认模版引擎即为Mako,体现了其在豆瓣系统中的重要地位。扩展资料
洪强宁,豆瓣网站的技术总监。豆瓣是一个非常著名的Web2.0网站,具有动态语言的优点,比如开发特别迅速。做的是一个Web2.0的网站,这种网站的特点就是always beta,用户的需求在随时发生变化,也不断发现新的价值。所以网站的结构和程序会不断变化,如果用Java做,你的开发量比较大,你就难以做出迅速地改变。Python的特点就是开发迅速,你可以在一两个小时,就做出一个功能。豆瓣为什么用python?
1.不同编程语言的运行效率虽然有不同,但是没有你想象的那么大的差异。
2.大型架构要想提高运行效率,关键在于提高伸缩性和吞吐量,而不是考虑单一程序的效率。高级的...
3.人家只是在应用层用某种语言,在大型架构中,这只是占到程序的一部分,特别是瓶颈不在这里。
4.Python也有高性能优化的方案,比如二次编译,JIT和runtime的优化