Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¾©¶«×îй¹½¨ÒÚ¼¶Ç°¶Ë¶Á·þÎñ½ÒÃØ£¬¿´ÈçºÎ¹¹½¨£¿
 
×÷Õߣº¿ªÌÎ À´Ô´£º 51CTO²©¿Í  ·¢²¼ÓÚ 2015-8-7
  2530  次浏览      61
 

´ÓÈëÖ°¾©¶«µ½ÏÖÔÚ£¬×ö¶Á·þÎñÒѾ­Ò»Äê¶àµÄʱ¼äÁË£¬¾­ÀúÁ˸÷ÖÖÒÚ¼¶µ½°ÙÒÚ¼¶µÄ¶Á·þÎñ£»Õâ¶Îʱ¼äÒ²½øÐÐÁËһЩеĶÁ·þÎñ¼Ü¹¹³¢ÊÔ£¬´Ó¼Ü¹¹µ½´úÂëµÄ±àд£¬¸÷¸ö»·½Ú¶¼½øÐÐÁË·´¸´³¢ÊÔ£¬Ñ¹²â²¢½øÐе÷ÓÅ£¬Ï£ÍûµÃµ½Ò»¸ö×Ô¼ºÂúÒâµÄ¶Á·þÎñ¼Ü¹¹¡£

¨‹Ò»Ð©Éè¼ÆÔ­Ôò

  • ÎÞ״̬

  • Êý¾Ý±Õ»·

  • »º´æÒøµ¯

  • ²¢·¢»¯

  • ½µ¼¶¿ª¹Ø

  • ÏÞÁ÷

  • ÇÐÁ÷Á¿

  • ÆäËû

¨‹ÎÞ״̬

Èç¹ûÉè¼ÆµÄÓ¦ÓÃÊÇÎÞ״̬µÄ£¬ÄÇôӦÓþͿÉÒÔˮƽÀ©Õ¹£¬µ±È»Êµ¼ÊÉú²ú»·¾³¿ÉÄÜÊÇÕâÑù×ӵģº Ó¦ÓÃÎÞ״̬£¬ÅäÖÃÎļþÓÐ״̬¡£±ÈÈ粻ͬµÄ»ú·¿ÐèÒª¶ÁÈ¡²»Í¬µÄÊý¾ÝÔ´£¬´Ëʱ¾ÍÐèҪͨ¹ýÅäÖÃÎļþÖ¸¶¨¡£

¨‹Êý¾Ý±Õ»·

Èç¹ûÒÀÀµµÄÊý¾ÝÀ´Ô´Ìرð¶à£¬´Ëʱ¾Í¿ÉÒÔ¿¼ÂÇʹÓÃÊý¾Ý±Õ»·£¬»ù±¾²½Ö裺

1¡¢Êý¾ÝÒì¹¹£ºÍ¨¹ýÈçMQ»úÖÆ½ÓÊÕÊý¾Ý±ä¸ü£¬È»ºóÔ­×Ó»¯´æ´¢µ½ºÏÊʵĴ洢ÒýÇæ£¬Èçredis»ò³Ö¾Ã»¯KV´æ´¢£»

2¡¢Êý¾Ý¾ÛºÏ£ºÕâ²½ÊÇ¿ÉÑ¡µÄ£¬Êý¾ÝÒì¹¹µÄÄ¿µÄÊǰÑÊý¾Ý´Ó¶à¸öÊý¾ÝÔ´ÄùýÀ´£¬Êý¾Ý¾ÛºÏÄ¿µÄÊǰÑÕâЩÊý¾Ý×ö¸ö¾ÛºÏ£¬ÕâÑùǰ¶Ë¾Í¿ÉÒÔÒ»¸öµ÷ÓÃÄõ½ËùÓÐÊý¾Ý£¬´Ë²½ÖèÒ»°ã´æ´¢µ½KV´æ´¢ÖУ»

3¡¢Ç°¶Ëչʾ£ºÇ°¶Ëͨ¹ýÒ»´Î»òÉÙÁ¿¼¸´Îµ÷ÓÃÄõ½ËùÐèÒªµÄÊý¾Ý¡£

ÕâÖÖ·½Ê½µÄºÃ´¦¾ÍÊÇÊý¾ÝµÄ±Õ»·£¬ÈκÎÒÀÀµÏµÍ³³öÎÊÌâÁË£¬»¹ÊÇÄÜÕý³£¹¤×÷£¬Ö»ÊǸüлáÓлýѹ£¬µ«ÊDz»Ó°Ïìǰ¶Ëչʾ¡£

ÁíÍâ´Ë´¦Èç¹ûÒ»´ÎÐèÒª¶à¸öÊý¾Ý£¬¿ÉÒÔ¿¼ÂÇʹÓÃHash Tag»úÖÆ½«Ïà¹ØµÄÊý¾Ý¾ÛºÏµ½Ò»¸öʵÀý£¬ÈçÔÚչʾÉÌÆ·ÏêÇéҳʱÐèÒª£ºÉÌÆ·»ù±¾ÐÅÏ¢£ºp:123:£¬ ÉÌÆ·¹æ¸ñ²ÎÊý£ºd:123:£¬´Ëʱ¾Í¿ÉÒÔʹÓÃðºÅÖмäµÄ123×÷ΪÊý¾Ý·ÖƬkey£¬ÕâÑùÏàͬidµÄÉÌÆ·Ïà¹ØÊý¾Ý¾ÍÔÚÒ»¸öʵÀý¡£

¨‹»º´æÒøµ¯

»º´æ¶ÔÓÚ¶Á·þÎñÀ´Ëµ¿Éν¿¹Á÷Á¿µÄÒøµ¯¡£

¨‹ä¯ÀÀÆ÷¶Ë»º´æ

ÉèÖÃÇëÇóµÄ¹ýÆÚʱ¼ä£¬ÈçÏìӦͷExpires¡¢Cache-control½øÐпØÖÆ¡£ÕâÖÖ»úÖÆÊÊÓÃÓÚÈç¶ÔʵʱÐÔ²»Ì«Ãô¸ÐµÄÊý¾Ý£¬ÈçÉÌÆ·ÏêÇéÒ³¿ò¼Ü¡¢ÉÌ¼ÒÆÀ·Ö¡¢ÆÀ¼Û¡¢¹ã¸æ´ÊµÈ£»µ«¶ÔÓÚÈç¼Û¸ñ¡¢¿â´æµÈʵʱҪÇó±È½Ï¸ßµÄ£¬¾Í²»ÄÜ×öä¯ÀÀÆ÷¶Ë»º´æ¡£

¨‹CDN»º´æ

ÓÐÐ©Ò³Ãæ/»î¶¯Ò³/ͼƬµÈ·þÎñ¿ÉÒÔ¿¼Âǽ«Ò³Ãæ/»î¶¯Ò³/Í¼Æ¬ÍÆË͵½ÀëÓû§×î½üµÄCDN½ÚµãÈÃÓû§ÄÜÔÚÀëËû×î½üµÄ½ÚµãÕÒµ½ÏëÒªµÄÊý¾Ý¡£Ò»°ãÓÐÁ½ÖÖ»úÖÆ£ºÍÆËÍ»úÖÆ£¨µ±ÄÚÈݱä¸üºóÖ÷¶¯ÍÆË͵½CDN±ßÔµ½Úµã£©£¬À­È¡»úÖÆ£¨ÏÈ·ÃÎʱßÔµ½Úµã£¬µ±Ã»ÓÐÄÚÈÝʱ»ØÔ´µ½Ô´·þÎñÆ÷Äõ½ÄÚÈݲ¢´æ´¢µ½½ÚµãÉÏ£©£¬Á½ÖÖ·½Ê½¸÷ÓÐÀû±×¡£ ʹÓÃCDNʱҪ¿¼ÂÇURLµÄÉè¼Æ£¬±ÈÈçURLÖв»ÄÜÓÐËæ»úÊý£¬·ñÔòÿ´Î¶¼´©Í¸CDN£¬»ØÔ´µ½Ô´·þÎñÆ÷£¬Ï൱ÓÚCDNûÓÐÈκÎЧ¹û¡£¶ÔÓÚÅÀ³æ¿ÉÒÔ·µ»Ø¹ýÆÚÊý¾Ý¶øÑ¡Ôñ²»»ØÔ´¡£

¨‹½ÓÈë²ã»º´æ

¶ÔÓÚûÓÐCDN»º´æµÄÓ¦ÓÃÀ´Ëµ£¬¿ÉÒÔ¿¼ÂÇʹÓÃÈçNginx´î½¨Ò»²ã½ÓÈë²ã£¬¸Ã½ÓÈë²ã¿ÉÒÔ¿¼ÂÇÈçÏ»úÖÆÊµÏÖ£º

1¡¢URLÖØÐ´£º½«URL°´ÕÕÖ¸¶¨µÄ˳Ðò»òÕ߸ñÊ½ÖØÐ´£¬È¥³ýËæ»úÊý£»

2¡¢Ò»ÖÂÐÔ¹þÏ££º°´ÕÕÖ¸¶¨µÄ²ÎÊý£¨Èç·ÖÀà/ÉÌÆ·±àºÅ£©×öÒ»ÖÂÐÔHash£¬´Ó¶ø±£Ö¤ÏàͬÊý¾ÝÂ䵽һ̨·þÎñÆ÷ÉÏ£»

3¡¢proxy_cache£ºÊ¹ÓÃÄÚ´æ¼¶/SSD¼¶´úÀí»º´æÀ´»º´æÄÚÈÝ£»

4¡¢proxy_cache_lock£ºÊ¹ÓÃlock»úÖÆ£¬½«¶à¸ö»ØÔ´ºÏ²¢ÎªÒ»¸ö£¬¼õÉÙ»ØÔ´Á¿£¬²¢ÉèÖÃÏàÓ¦µÄlock³¬Ê±Ê±¼ä£»

5¡¢shared_dict£º´Ë´¦Èç¹û¼Ü¹¹Ê¹ÓÃÁËnginx+luaʵÏÖ£¬¿ÉÒÔ¿¼ÂÇʹÓÃlua shared_dict½øÐÐcache£¬×î´óµÄºÃ´¦¾ÍÊÇreload»º´æ²»¶ªÊ§¡£

´Ë´¦Òª×¢Ò⣬¶ÔÓÚÍе×/Òì³£Êý¾Ý²»Ó¦¸ÃÈÃÆä»º´æ£¬·ñÔòÓû§»áÔںܳ¤Ò»¶Îʱ¼ä¿´µ½ÕâЩÊý¾Ý¡£

¨‹Ó¦Óò㻺´æ

ÈçÎÒÃÇʹÓÃTomcatʱ¿ÉÒÔʹÓöÑÄÚ»º´æ/¶ÑÍ⻺´æ£¬¶ÑÄÚ»º´æµÄ×î´óÎÊÌâ¾ÍÊÇÖØÆôʱÄÚ´æÖеĻº´æ¶ªÊ§£¬Èç¹û´ËʱÁ÷Á¿·ç±©À´ÁÙ¿ÉÄܳå¿åÓ¦Óã»»¹¿ÉÒÔ¿¼ÂÇʹÓÃlocal redis cacheÀ´´úÌæ¶ÑÍâÄڴ棻»òÕßÔÚ½ÓÈë²ãʹÓÃshared_dictÀ´½«»º´æÇ°Ö㬼õÉٷ籩¡£

¨‹·Ö²¼Ê½»º´æ

Ò»ÖÖ»úÖÆ¾ÍÊÇ·ÏÆú·Ö²¼Ê½»º´æ£¬¸Ä³ÉÓ¦ÓÃlocal redis cache£¬¼´ÔÚÓ¦ÓÃËùÔÚ·þÎñÆ÷Öв¿ÊðÒ»¸öredis£¬È»ºóʹÓÃÖ÷´Ó»úÖÆÍ¬²½Êý¾Ý¡£Èç¹ûÊý¾ÝÁ¿²»´óÕâÖּܹ¹ÊÇ×îÓŵģ»Èç¹ûÊý¾ÝÁ¿Ì«´ó£¬µ¥·þÎñÆ÷´æ´¢²»ÁË£¬»¹¿ÉÒÔ¿¼ÂÇ·ÖÆ¬»úÖÆ½«Á÷Á¿·ÖÉ¢µ½¶ą̀£»»òÕßÖ±½Ó¾ÍÊÇ·Ö²¼Ê½»º´æÊµÏÖ¡£³£¼ûµÄ·ÖƬ¹æÔò¾ÍÊÇÒ»ÖÂÐÔ¹þÏ£ÁË¡£


ÈçÉÏͼ¾ÍÊÇÎÒÃÇÒ»¸öÓ¦Óõļܹ¹£º

1¡¢Ê×ÏȽÓÈë²ã¶ÁÈ¡±¾µØproxy cache / local cache£»

2¡¢Èç¹û²»ÃüÖУ¬»á¶ÁÈ¡·Ö²¼Ê½redis¼¯Èº£»

3¡¢Èç¹û»¹²»ÃüÖУ¬»á»ØÔ´µ½tomcat£¬È»ºó¶ÁÈ¡¶ÑÄÚcache£»Èç¹ûûÓУ¬ÔòÖ±½Óµ÷ÓÃÒÀÀµÒµÎñ»ñÈ¡Êý¾Ý£»È»ºóÒì²½»¯Ð´µ½redis¼¯Èº£»

ÒòΪÎÒÃÇʹÓÃÁËnginx+lua£¬µÚ¶þ¡¢Èý²½¿ÉÒÔʹÓÃlua-resty-lock·Ç×èÈûËø¼õÉÙ·åֵʱµÄ»ØÔ´Á¿£»Èç¹ûÄãµÄ·þÎñÊÇÓû§Î¬¶ÈµÄ£¬ÕâÖÖ·Ç×èÈûËø²»»áÓÐʲô´ó×÷Óá£

¨‹²¢·¢»¯

¼ÙÉèÒ»¸ö¶Á·þÎñÊÇÐèÒªÈçÏÂÊý¾Ý£º

1¡¢Êý¾ÝA 10ms

2¡¢Êý¾ÝB 15ms

3¡¢Êý¾ÝC 20ms

4¡¢Êý¾ÝD 5ms

5¡¢Êý¾ÝE 10ms

ÄÇôÈç¹û´®ÐлñÈ¡ÄÇôÐèÒª£º60ms£»

¶øÈç¹ûÊý¾ÝCÒÀÀµÊý¾ÝAºÍÊý¾ÝB¡¢Êý¾ÝDË­Ò²²»ÒÀÀµ¡¢Êý¾ÝEÒÀÀµÊý¾ÝC£»ÄÇôÎÒÃÇ¿ÉÒÔÕâÑù×ÓÀ´»ñÈ¡Êý¾Ý£º

ÄÇôÈç¹û²¢·¢»¯»ñÈ¡ÄÇôÐèÒª£º30ms£»ÄÜÌáÉýÒ»±¶µÄÐÔÄÜ¡£

¼ÙÉèÊý¾ÝE»¹ÒÀÀµÊý¾ÝF(5ms)£¬¶øÊý¾ÝFÊÇÔÚÊý¾ÝE·þÎñÖлñÈ¡µÄ£¬´Ëʱ¾Í¿ÉÒÔ¿¼ÂÇÔÚ´Ë·þÎñÖÐÔÚÈ¡Êý¾ÝA/B/DʱԤȡÊý¾ÝF£¬ÄÇôÕûÌåÐÔÄܾͱäΪÁË£º25ms¡£

¨‹½µ¼¶¿ª¹Ø

¶ÔÓÚÒ»¸ö¶Á·þÎñ£¬ºÜÖØÒªµÄÒ»¸öÉè¼Æ¾ÍÊǽµ¼¶¿ª¹Ø£¬ÔÚÉè¼Æ½µ¼¶¿ª¹ØÊ±Ö÷ÒªÈçÏÂ˼·£º

1¡¢¿ª¹Ø¼¯Öл¯¹ÜÀí£ºÍ¨¹ýÍÆËÍ»úÖÆ°Ñ¿ª¹ØÍÆË͵½¸÷¸öÓ¦Óã»

2¡¢¿É½µ¼¶µÄ¶à¼¶¶Á·þÎñ£º±ÈÈçÖ»¶Á±¾µØ»º´æ¡¢Ö»¶Á·Ö²¼Ê½»º´æ¡¢»òÕßÖ»¶ÁÒ»¸öĬÈϵĽµ¼¶Êý¾Ý£»

3¡¢¿ª¹ØÇ°Öû¯£ºÈç¼Ü¹¹ÊÇnginx--->tomcat£¬¿ÉÒÔ½«¿ª¹ØÇ°Öõ½nginx½ÓÈë²ã£¬ÔÚnginx²ã×ö¿ª¹Ø£¬ÇëÇó²»´òµ½ºó¶ËÓ¦Óá£

¨‹ÏÞÁ÷

Ä¿µÄÊÇ·ÀÖ¹¶ñÒâÁ÷Á¿£¬¶ñÒâ¹¥»÷£¬¿ÉÒÔ¿¼ÂÇÈçÏÂ˼·£º

1¡¢¶ñÒâÁ÷Á¿Ö»·ÃÎÊcache£»

2¡¢¶ÔÓÚ´©Í¸µ½ºó¶ËÓ¦ÓõĿÉÒÔ¿¼ÂÇʹÓÃnginxµÄlimitÄ£¿é´¦Àí£»

3¡¢¶ÔÓÚ¶ñÒâip¿ÉÒÔʹÓÃÈçnginx deny½øÐÐÆÁ±Î¡£

´ó²¿·ÖʱºòÊDz»½øÐнÓÈë²ãÏÞÁ÷µÄ£¬¶øÊÇÏÞÖÆÁ÷Á¿´©Í¸µ½ºó¶Ë±¡ÈõµÄÓ¦Óò㡣

¨‹ÇÐÁ÷Á¿

¶ÔÓÚÒ»¸ö´óÐÍÓ¦Óã¬ÇÐÁ÷Á¿ÊǷdz£ÖØÒªµÄ£¬±ÈÈç¶à»ú·¿Óлú·¿¹ÒÁË¡¢»òÕßÓлú¼Ü¹ÒÁË¡¢»òÕßÓзþÎñÆ÷¹ÒÁ˵ȶ¼ÐèÒªÇÐÁ÷Á¿£¬¿ÉÒÔʹÓÃÈçÏÂÊֶνøÐÐÇл»£º

1¡¢DNS£ºÇл»»ú·¿Èë¿Ú£»

2¡¢LVS/HaProxy£ºÇл»¹ÊÕϵÄnginx½ÓÈë²ã£»

3¡¢Nginx£ºÇл»¹ÊÕϵÄÓ¦Óò㣻

ÁíÍâÎÒÃÇÓÐЩӦÓÃΪÁ˸ü·½±ãÇл»£¬»¹¿ÉÒÔÔÚnginx½ÓÈë²ã×öÇл»£¬Í¨¹ýnginx½øÐÐһЩÁ÷Á¿Çл»£¬¶øÃ»ÓÐͨ¹ýÈçLVS/HaProxy×öÇл»¡£

¨‹ÆäËû

²»ÐèÒªcookieµÄÓ¦ÓÃʹÓÃÎÞ״̬ÓòÃû£¬Èç3.cn£»

½ÓÈë²ãÇëÇóÍ·¹ýÂË£¬Ö»×ª·¢ÓÐÓõÄÇëÇóÍ·µ½ºó¶ËÓ¦Óã»

Êý¾Ý¹ýÂËÂß¼­Ç°Ö㬱ÈÈçÔÚ½ÓÈë²ã½øÐÐÇëÇó²ÎÊýµÄºÏ·¨ÐÔ¹ýÂË£»

ÄÚÍøÉèÖúÏÀíµÄÁ¬½Ó¡¢¶Á¡¢Ð´³¬Ê±Ê±¼ä£»

¸ù¾ÝÐèÒª¿ªÆôgzipѹËõ¼õÉÙÁ÷Á¿£»

ʹÓÃunix domain socket¼õÉÙ±¾»úÁ¬½ÓÊý£»

ÄÚÍø¿¼ÂÇʹÓÃhttp³¤Á¬½Ó£»

ÏìÓ¦ÇëÇóʱ£¬¿¼ÂÇÏìӦͷ¼ÓÉÏ·þÎñÆ÷ipµÈÐÅÏ¢£¬·½±ãµ÷ÊÔ¡£

ÎÒÃÇ´¦ÀíµÄ¶Á·þÎñ´ó²¿·Ö¶¼ÊÇKVµÄ£¬Òò´Ë¿¹Á÷Á¿µÄ˼·¾ÍÊÇ´óÁ¿»º´æ£»¶øÇÒÔõôÈûº´æÔõô¸ü½Ó½üÓû§£¬ÀëÓû§Ô½½üËٶȾÍÔ½¿ì¡£ÔÙÒ»¸öµã¾ÍÊÇÒª¿¼ÂǺýµ¼¶·½°¸£¬ÔÚÒì³£Çé¿öÏÂÓ¦Óò»±»ÍÏ¿åÍÏËÀ¡£ÎÒÃÇϵͳ´óÁ¿Ê¹ÓÃÁËÈçnginx+lua+redis¼¼Êõ£¬Ê¹ÓÃÕâЩ¼¼Êõ½â¾öÁËÎÒÃǺܶà¶Á·þÎñÎÊÌâ¡£

   
2530 ´Îä¯ÀÀ       61
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ
×îл¼Æ»®
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 12-11[±±¾©]
LLM´óÄ£ÐÍÓëÖÇÄÜÌ忪·¢ÊµÕ½ 12-18[±±¾©]
ǶÈëʽÈí¼þ²âÊÔ 12-25[±±¾©]
AIÔ­ÉúÓ¦ÓõÄ΢·þÎñ¼Ü¹¹ 1-9[±±¾©]
AI´óÄ£Ðͱàд¸ßÖÊÁ¿´úÂë 1-14[±±¾©]
ÐèÇó·ÖÎöÓë¹ÜÀí 1-22[±±¾©]

¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
ÏîÄ¿¹ÜÀí:MavenÈÃÊÂÇé±äµÃ¼òµ¥
³ÖÐø¼¯³É¹¤¾ßhudson
³ÖÐø¼¯³É
MavenȨÍþÖ¸ÄÏ
³ÌÐò¼¯(UMLÖеİü)Ö®¼äÑ­»·


²úÆ··¢²¼¹ÜÀí
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ß
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
ʹÓÃCCÓëCQ½øÐÐÏîĿʵ¼ù
CVSÓëÅäÖùÜÀí
Subversion¹ÜÀíÔ±


º£º½¹É·Ý ÖØ¹¹¼°³ÖÐø¼¯³É
µçÑлªÔ´ Éè¼ÆÔ­Àí¡¢½¨Ä£ÓëÖØ¹¹
Èí¼þÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
ÖйúÈí¼þÑз¢ÖÐÐÄ µ¥Ôª²âÊÔÓëÖØ¹¹
µ¥Ôª²âÊÔ¡¢Öع¹ºÍ³ÖÐø¼¯³Éʵ¼ù
ÂÞ¿ËΤ¶û C++µ¥Ôª²âÊÔ+ÖØ¹¹+Gtest