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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¾©¶«Ç°¶Ë£ºPhantomJS ºÍNodeJSÔÚÍøÕ¾Ç°¶Ë¼à¿ØÆ½Ì¨µÄ×î¼Ñʵ¼ù
 
×÷ÕߣºÖÜç÷Á¦ Íõ±¸ À´Ô´£ºInfoQ ·¢²¼ÓÚ 2016-12-22
  2533  次浏览      27
 

1. ΪʲôÐèÒªÒ»¸öǰ¶Ë¼à¿ØÏµÍ³

ͨ³£ÔÚÒ»¸ö´óÐ굀 Web ÏîÄ¿ÖÐÓкܶà¼à¿ØÏµÍ³£¬±ÈÈçºó¶ËµÄ·þÎñ API ¼à¿Ø£¬½Ó¿Ú´æ»î¡¢µ÷Óá¢ÑÓ³ÙµÈ¼à¿Ø£¬ÕâЩһ°ã¶¼ÓÃÀ´¼à¿Øºǫ́½Ó¿ÚÊý¾Ý²ãÃæµÄÐÅÏ¢¡£¶øÇÒ¶ÔÓÚ´óÐÍÍøÕ¾ÏµÍ³À´Ëµ£¬´Óºó¶Ë·þÎñµ½Ç°Ì¨Õ¹Ê¾»áÓкܶà²ã£ºÄÚÍø VIP¡¢CDN µÈ¡£

µ«ÊÇÕâЩ¼à¿Ø²¢²»ÄÜ׼ȷµØ·´Ó¦Óû§¿´µ½µÄǰ¶ËÒ³Ãæ×´Ì¬£¬±ÈÈç£ºÒ³ÃæµÚÈý·½ÏµÍ³Êý¾Ýµ÷ÓÃʧ°Ü£¬Ä£¿é¼ÓÔØÒì³££¬Êý¾Ý²»ÕýÈ·£¬¿Õ°×¿ªÌì´°µÈ¡£

Õâʱºò¾ÍÐèÒª´Óǰ¶Ë DOM չʾµÄ½Ç¶ÈÈ¥·ÖÎöºÍÊÕ¼¯Óû§ÕæÕý¿´µ½µÄ¶«Î÷£¬´Ó¶ø¼ì²â³öÒ³ÃæÊÇ·ñ³öÏÖÒì³£ÎÊÌâ¡£

2. ÐèÒª¼à¿ØÏµÍ³½â¾öµÄÎÊÌâ

Ò³ÃæÍ¨³£³öÏÖÒÔÏÂÎÊÌâʱÐèÒª¼°Ê±Óʼþ¡¢¶ÌÐÅÉϱ¨Í¨ÖªÏà¹ØÈËÔ±ÐÞ¸´ÎÊÌâ¡£

·µ»Ø´íÎó£¨50x, 40x£©ÎÞ·¨´ò¿ª

Ä£¿é¼ÓÔØÊ§°Ü

Ò³ÃæÂÒÂë

Êý¾ÝÕýÈ·ÐÔ

ÏÖ³¡¿ìÕÕ£¬¸´ÏÖÎÊÌâ

3. ¼¼ÊõÑ¡ÐÍ

¼à¿ØµÄÒâÒåºÍ²âÊÔµÄÒâÒåÔÚ±¾ÖÊÉÏÊÇÒ»Öµģ¬¶¼ÊǶÔÒÑÉÏÏß¹¦ÄܽøÐлعé²âÊÔ£¬µ«²»Í¬µÄÊÇ¼à¿ØÐèÒª×ö³¤ÆÚµÄ¿É³ÖÐø¿ÉÑ­»·µÄ»Ø¹é²âÊÔ£¬¶ø²âÊÔ½ö½öÐèÒªÔÚÉÏÏßÖ®ºó×öÒ»´Î»Ø¹é²âÊÔ¡£

¼ÈÈ»¼à¿ØºÍ²âÊԵı¾ÖÊÒ»Ö£¬ÄÇÎÒÃÇÊÇÍêÈ«¿ÉÒÔ²ÉÓòâÊԵķ½Ê½À´×ö¼à¿ØÏµÍ³µÄ¡£ÔÚ×Ô¶¯»¯²âÊÔ¼¼Êõ±éµØ¿ª»¨µÄʱ´ú£¬²»·¦ºÜ¶àºÃÓõÄ×Ô¶¯»¯¹¤¾ß£¬ÎÒÃǽö½öÐèÒª°ÑÕâЩ×Ô¶¯»¯¹¤¾ß½øÐÐÕûºÏΪÎÒÃÇËùÓü´¿É¡£

NodeJS - ÌØ±ðÊÊÓÃÓÚÍøÂçÃܼ¯ÐÍÈÎÎñ

PhantomJS - Ä£ÄâÎÞ½çÃæµÄä¯ÀÀÆ÷£¬Ìṩ·á¸»µÄÄں˽»»¥ API

NodeJS

NodeJS ÊÇÒ»¸ö JavaScript ÔËÐл·¾³£¬²¢ÇÒ NodeJS Ö§³Ö·Ç×éÈû I/O ºÍÒì²½¡¢Ê¼þÇý¶¯£¬Õâµã¶ÔÓÚÎÒÃǹ¹½¨»ùÓÚ DOM ÔªËØµÄ¼à¿ØÊDZȽÏÖØÒªµÄ¡£

PhantomJS

PhantomJS ÊÇÒ»¸ö»ùÓÚ webkit µÄ JavaScript API¡£ËüʹÓà QtWebKit ×÷ΪËüµÄºËÐÄä¯ÀÀÆ÷£¬Ê¹Óà webkit À´±àÒë½âÊÍÖ´ÐÐ JavaScript ´úÂë¡£ÈκÎÄã¿ÉÒÔÔÚ»ùÓÚ webkit ä¯ÀÀÆ÷×öµÄÊÂÇ飬Ëü¶¼ÄÜ×öµ½¡£

Ëü²»½öÊǸöÒþÐεÄä¯ÀÀÆ÷£¬ÌṩÁËÖîÈç CSS Ñ¡ÔñÆ÷¡¢Ö§³ÖWeb±ê×¼¡¢DOM²Ù×÷¡¢JSON¡¢HTML5¡¢Canvas¡¢SVG µÈ£¬Í¬Ê±Ò²ÌṩÁË´¦ÀíÎļþ I/O µÄ²Ù×÷£¬´Ó¶øÊ¹Äã¿ÉÒÔÏò²Ù×÷ϵͳ¶ÁдÎļþµÈ¡£PhantomJS µÄÓô¦¿Éν·Ç³£¹ã·º£¬ÖîÈçÍøÂç¼à²â¡¢ÍøÒ³½ØÆÁ¡¢ÎÞÐèä¯ÀÀÆ÷µÄ Web ²âÊÔ¡¢Ò³Ãæ·ÃÎÊ×Ô¶¯»¯µÈ¡£

Ϊʲô²»ÊÇ Selenium

×ö×Ô¶¯»¯²âÊÔµÄͬѧ¿Ï¶¨¶¼ÖªµÀ Selenium¡£¿ÉÒÔʹÓà Selenium ½«²âÊÔÓÃÀýÔÚä¯ÀÀÆ÷ÖÐÖ´ÐУ¬¶øÇÒ Selenium ¶Ô¸÷ÖÖÆ½Ì¨ºÍ³£¼ûä¯ÀÀÆ÷Ö§³Ö±È½ÏºÃ£¬µ«ÊÇ Selenium ÉÏÊÖÄѶÈϵÊýÂԸߣ¬¶øÇÒʹÓÃSelenium ÐèÒªÔÚ·þÎñÆ÷¶Ë°²×°ä¯ÀÀÆ÷¡£

¿¼Âǵ½¼à¿ØÖ÷ÒªÈÎÎñÔÚ¼à¿Ø²»ÔÚ²âÊÔ¡£ÏµÍ³²¢²»ÐèҪ̫¶à¿¼ÂǼæÈÝÐÔ£¬¶øÇÒ¼à¿Ø¹¦ÄÜÏà¶Ôµ¥Ò»£¬Ö÷Òª¶ÔÒ³Ãæ½øÐй¦ÄÜÉϵĻعé²âÊÔ£¬ËùÒÔÑ¡ÔñÁË PhantomJS¡£

4. ¼Ü¹¹Éè¼Æ

¼Ü¹¹¸ÅÀÀ

¼Ü¹¹ÈçÏÂͼËùʾ¡£

¼Ü¹¹¼òÊö

¶ÔÓÚ DOM ¼à¿Ø·þÎñ£¬ÔÚÓ¦ÓòãÃæÉϽøÐÐÁË´¹Ö±»®·Ö£º

¹æÔò¹ÜÀíϵͳ¡£

¹æÔò¶ÓÁÐÉú³ÉÆ÷¡£

³¤Ê±³ÖÐø´¦ÀíÆ÷¡£

PhantomJS ·þÎñ¡£

·þÎñ»¯ API¡£

ÔÚÓ¦ÓòãÃæÉϽøÐеĴ¹Ö±»®·Ö¿ÉÒÔ¶ÔÓ¦ÓÃ×ö·Ö²¼Ê½²¿Êð£¬Ìá¸ß´¦ÀíÄÜÁ¦¡£ºóÆÚÔÙÐÔÄÜÓÅ»¯¡¢ÏµÍ³¸ÄÔìÀ©Õ¹µÈ·½ÃæÒ²ÄÜÌá¸ß¼òÒ×ÐÔ¡£

5. ½â¾ö·½°¸

£¨1£©Ç°Ì¨¹æÔò¼Èë

ÕâÊÇÒ»¸ö¶ÀÁ¢µÄ Web ϵͳ£¬ÏµÍ³Ö÷ÒªÓÃÀ´ÊÕ¼¯Óû§Â¼ÈëµÄÒ³ÃæÐÅÏ¢¡¢Ò³Ãæ¶ÔÓ¦µÄ¹æÔò¡¢Õ¹Ê¾´íÎóÐÅÏ¢¡£Í¨¹ýµ÷Óúó¶ËÒ³Ãæ×¥È¡·þÎñÀ´Íê³ÉÒ³Ãæ¼ì²âµÄÈÎÎñ£¬Í¨¹ýϵͳ¿ÉÒÔ´´½¨ÈýÖÖÀàÐ͵ļì²âÒ³Ãæ£º³£¹æ¼à¿Ø¡¢¸ß¼¶¼à¿Ø¡¢¿ÉÓÃÐÔ¼à¿Ø¡£

³£¹æ¼à¿Ø

¼ÈëÒ»¸öÒ³ÃæµØÖ·£¬ºÍÈô¸É¼ì²â¹æÔò¡£×¢ÒâÕâÀïµÄ¼ì²â¹æÔò£¬ÎÒÃǰѳ£ÓõÄһЩ¼ì²âµã³éÏó³ÉÁËÒ»ÌõÀàËÆ²âÊÔÓÃÀýµÄÓï¾ä¡£Ã¿Ìõ¹æÔòÓÃÀ´Æ¥ÅäÒ³ÃæÉϵÄÒ»¸ö DOM ÔªËØ£¬Óà DOM ÔªËØµÄÊôÐÔÀ´ºÍÔ¤ÆÚ×öÆ¥Å䣬Èç¹ûÆ¥Åäʧ°Üϵͳ¾Í»á²úÉúÒ»Ìõ´íÎóÐÅÏ¢£¬ºóÐø½»Óɱ¨¾¯ÏµÍ³´¦Àí

Æ¥ÅäÀàÐÍÒ»°ãÓÐÕ⼸ÖÖ£º³¤¶È¡¢Îı¾¡¢HTML¡¢ÊôÐÔ

´¦ÀíÆ÷ ÀàËÆ±à³ÌÓïÑÔÖеIJÙ×÷·û£º´óÓÚ¡¢´óÓÚµÈÓÚ¡¢Ð¡ÓÚ¡¢Ð¡ÓÚµÈÓÚ¡¢µÈÓÚ¡¢ÕýÔò¡£

ÕâÑù×öµÄºÃ´¦¾ÍÊÇ£¬Â¼Èë¹æÔòµÄÈËÖ»ÒªÁ˽âÒ»µã DOM Ñ¡ÔñÆ÷µÄ֪ʶ¾Í¿ÉÒÔÉÏÊÖ²Ù×÷ÁË£¬ÔÚÎÒÃÇÄÚ²¿Í¨³£Êǽ»ÓɲâÊÔ¹¤³ÌʦͳһÍê³É¹æÔòµÄ¼Èë¡£

¸ß¼¶¼à¿Ø

Ö÷ÒªÓÃÀ´Ìṩ¸ß¼¶Ò³Ãæ²âÊԵŦÄÜ£¬Ò»°ãÓÉÓо­ÑéµÄ¹¤³ÌʦÀ´×«Ð´²âÊÔÓÃÀý¡£Õâ¸ö²âÊÔÓÃÀýдÆðÀ´»áÓÐһЩѧϰ³É±¾£¬µ«ÊÇ¿ÉÒÔÄ£Äâ Web Ò³Ãæ²Ù×÷£¬È磺µã»÷¡¢Êó±êÒÆ¶¯µÈʼþ¡£´Ó¶ø×öµ½¾«È·²¶×½Ò³ÃæÐÅÏ¢¡£

¿ÉÓÃÐÔ¼à¿Ø

¿ÉÓÃÐÔ¼à¿Ø²àÖØÓÚ¶ÔÒ³ÃæµÄ¿É·ÃÎÊÐÔ¡¢ÄÚÈÝÕýÈ·ÐÔµÈ±È ÑÏÖØµÄÎÊÌ⠵ļ´Ê±¼à¿Ø¡£Í¨³£ÕâÀàÒ³ÃæÎÒÃÇÖ»ÐèÒªÔÚ³ÌÐòÀïÃæÆôÒ»¸ö Worker ²»¶ÏµÄÈ¥»ñÈ¡Ò³Ãæ HTML ¾Í¿ÉÒÔ¶Ô½á¹û½øÐмì²âÆ¥ÅäÁË£¬ËùÒÔÎÒÃÇÑ¡ÔñÁË NodeJS À´×öÒì²½µÄÒ³Ãæ×¥È¡¶ÓÁУ¬¸ßЧ¿ìËÙµÄÍê³ÉÕâÖÖÍøÂçÃܼ¯ÐÍÈÎÎñ¡£

£¨2£©Ö÷¶¯´íÎóÉϱ¨

Ò³Ãæ½Å±¾Ö´ÐдíÎó¼à¿Ø

Ò³ÃæÒýÈëÒ»¶Î¼à¿Ø½Å±¾À´ÊÕ¼¯Ò³Ãæ²ú³É error ʼþµÄÐÅÏ¢£¬×Ô¶¯Éϱ¨¸øºó¶Ë·þÎñ£¬ÔÚϵͳÀïÃæ¿ÉÒÔ»ã×ÜËùÓб¨´íÐÅÏ¢£¬ÒÔ¼°¶ÔÓ¦µÄ¿Í»§¶Ëä¯ÀÀÆ÷°æ±¾¡¢²Ù×÷ϵͳ¡¢IP µØÖ·µÈ¡£

Ò³ÃæÖ÷¶¯Éϱ¨

Õâ¸ö¹¦ÄÜÐèÒª¶ÔÓ¦µÄǰ¶Ë¹¤³ÌʦÔÚ´úÂëÖе÷ÓôíÎóÉϱ¨ API£¬À´Ö÷¶¯Ìá½»´íÎóÐÅÏ¢¡£Ö÷ҪʹÓõij¡¾°ÓУ¬Ò³ÃæÒì²½·þÎñÑÓʱÎÞÏìÓ¦¡¢Ä£¿é½µ¼¶¶µµ×Ö÷¶¯Í¨ÖªµÈ¡£¼à¿Ø½Å±¾Ìṩ¼¸¸ö¼òµ¥µÄ API À´Íê³ÉÕâÏîÈÎÎñ¡£

// error ·½·¨µ÷ÓúóÁ¢¼´Éϱ¨´íÎóÐÅÏ¢²¢·¢³öÓʼþ¡¢¶ÌÐÅ֪ͨ
errorTracker.error('´íÎóÃèÊö')
// info ·½·¨µ÷ÓúóÁ¢¼´Éϱ¨ÐÅÏ¢£¬²¢ÔÚµ¥Î»Ê±¼äÄÚ½ö½ö²úÉúÒ»ÌõÓʼþ¡¢¶ÌÐÅ֪ͨ
errorTracker.info('ÐÅÏ¢ÃèÊö')
// log ·½·¨µ÷ÓúóÓɱ¨´í¼ì²âÊÇ·ñ´ïµ½ÉèÖ÷§Öµ£¬×îÖÕÈ·ÈÏÊÇ·ñ±¨´í
errorTracker.log('ÈÕÖ¾ÐÅÏ¢')

£¨3£©ºó¶ËÒ³Ãæ×¥È¡·þÎñ

ÓÉÓÚ¾©¶«ºÜ¶àÒ³ÃæÄÚÈÝÊÇÒì²½¼ÓÔØµÄ£¬ÏñÊ×Ò³¡¢µ¥Æ·µÈϵͳÓÐÐí¶àµÚÈý·½Òì²½½Ó¿Úµ÷Óã¬Ê¹Óúó¶Ë³ÌÐòץȡµ½µÄÒ³ÃæÊý¾ÝÊÇͬ²½µÄ£¬²¢²»ÄÜÈ¡µ½¶¯Ì¬µÄ JavaScript äÖȾµÄÊý¾Ý£¬ËùÒԾͱØÐëʹÓÃÏñ PhantomJS ÕâÖÖÄÜÄ£Äâä¯ÀÀÆ÷µÄ¹¤¾ß¡£

³£¹æ¼à¿ØÎÒÃÇʹÓà PhantomJS Ä£Äâä¯ÀÀÆ÷´ò¿ªÒ³Ãæ½øÐÐץȡ£¬È»ºó½«¼à¿Ø¹æÔò½âÎö³É JavaScript ´úÂëÆ¬¶ÎÖ´ÐÐÊÕ¼¯½á¹û¡£

¸ß¼¶¼à¿ØÎÒÃÇʹÓà PhantomJS ´ò¿ªÒ³ÃæºóÏòÒ³Ãæ×¢ÈëÏñ jasmine, Mocha µÈÀàËÆµÄǰ¶Ë JavaScript ²âÊÔ¿ò¼Ü£¬È»ºóÔÚÒ³ÃæÖ´ÐжÔÓ¦µÄ¼Èë²âÊÔÓÃÀý²¢·µ»Ø½á¹û¡£

¹æÔò¶ÓÁÐÉú³ÉÆ÷

¹æÔò¶ÓÁÐÉú³ÉÆ÷»á½«¹æÔòϵͳ²É¼¯µÄ¹æÔòת»¯Àà³ÉÏûÏ¢¶ÓÁУ¬È»ºó½»Óɳ¤Ê±³ÖÐø´¦ÀíÆ÷ÒÀ´Î´¦Àí¡£

Ϊʲô²ÉÓÃÀàÏûÏ¢¶ÓÁеĴ¦Àí·½Ê½£¿

ÕâºÍ PhantomJS µÄÐÔÄÜÊÇÃܲ»¿É·ÖµÄ£¬Óɶà´Îʵ¼ù·¢ÏÖ£¬PhantomJS ²¢²»ÄܺܺõؽøÐв¢·¢´¦Àí£¬µ±²¢·¢¹ý¶à£¬»áµ¼Ö CPU ¹ýÔØ£¬´Ó¶øµ¼Ö»úÆ÷å´»ú

ÔÚ±¾»ú»·¾³ÏµÄÐéÄâ»úÖнøÐв¢·¢²âÊÔ£¬Êý¾Ý²¢²»ÀíÏ룬¼«ÏÞ»ù±¾ÔÚ ab -n 100 -c 50 ×óÓÒ¡£ ËùÒÔΪÁË·ÀÖ¹²¢·¢µ¼ÖµÄÎÊÌ⣬¾ÍÑ¡ÔñÁËʹÓÃÀàÏûÏ¢¶ÓÁÐÀ´±ÜÃâÒòΪ²¢·¢¹ý¸ßµ¼ÖµķþÎñ²»¿ÉÓá£

ÀàÏûÏ¢¶ÓÁеÄʵÏÖ

ÎÒÃÇÕâÀïͨ¹ýµ÷ÓÃÄÚ²¿µÄ·Ö²¼Ê½»º´æÏµÍ³Éú³ÉÀàÏûÏ¢¶ÓÁУ¬¶ÓÁеÄÉú³ÉÆäʵ¿ÉÒԲο¼Êý¾Ý½Ó¿Ú¨C¶ÓÁС£×î»ù±¾µÄÄ£Ð;ÍÊÇÔÚ»º´æÖд´½¨Ò»¸ö KEY £¬È»ºó¸ù¾Ý¶ÓÁÐÊý¾Ý½á¹¹µÄģʽ½øÐÐÊý¾ÝµÄ²åÈëºÍÌáÈ¡¡£

µ±È»£¬ÀàÏûÏ¢¶ÓÁеÄÖмä½éÖʿɸù¾ÝÄãʵ¼ÊµÄÌõ¼þÀ´Ñ¡Ôñ£¬µ±È»ÄãÒ²¿ÉÒÔʹÓñ¾»úÄÚ´æÊµÏÖ¡£Õâ¿ÉÄܻᵼÖÂÓ¦ÓúÍÀàÏûÏ¢¶ÓÁоºÕùÄÚ´æ¡£

³¤Ê±³ÖÐø´¦ÀíÆ÷

³¤Ê±³ÖÐø´¦ÀíÆ÷ÊÇÒª¹¦ÄܾÍÊÇÏû·Ñ¹æÔò¶ÓÁÐÉú³ÉÆ÷Éú³ÉµÄÀàÏûÏ¢¶ÓÁС£

³¤Ê±³ÖÐø´¦ÀíʵÏÖ

ÔÚ³¤Ê±³ÖÐø´¦ÀíÆ÷µÄ¾ßÌåʵÏÖÖУ¬ÎÒÃdzä·ÖÀûÓÃÁË JavaScript µÄ setInterval ·½·¨À´³ÖÐø»ñÈ¡ÀÛÏûÏ¢¶ÓÁеÄÄÚÈÝÏ·¢¸ø¹æÔòת»¯Æ÷£¬È»ºóת·¢¸ø¸ºÔؾùºâµ÷¶ÈÆ÷¡£Ö®ºóÔÙ¶Ô·µ»ØµÄ½á¹û½øÐÐͳһ´¦Àí£¬±ÈÈçÓʼþ»òÕß¶ÌÐű¨¾¯¡£

API

PhantomJS ·þÎñ¿ÉÒÔ×öΪ¹«¹² API Ìṩ¸ø¿Í»§¶Ë½øÐвâÊÔÐèÇóµÄ´¦Àí£¬ API ͨ¹ý HTTP ·½Ê½µ÷Óá£ÔÚ API µÄ´¦ÀíÉÏÐèÒªÌṩ HTTP Êý¾Ýµ½¹æÔòºÍ PhantomJS µÄת»»¡£´Ó¶øÓÖÑÝ»¯³öÁË HTTP Êý¾Ýµ½¹æÔòת»»Æ÷¡£

PhantomJS ·þÎñ

PhantomJS ·þÎñÊÇÖ¸½« PhantomJS ½áºÏ HTTP ·þÎñºÍ×Ó½ø³Ì½øÐзþÎñ»¯µÄ´¦Àí

Ê×ÏÈ¡¢Æô¶¯ HTTP ·þÎñ£¬È»ºó½«³¤Ê±´¦ÀíÆ÷Ï·¢µÄ¹æÔò½øÐнøÒ»²½×ª»¯£¬×ª»¯ºóÆô¶¯×Ó½ø³Ì£¬HTTP ·þÎñ»á¼àÌý×Ó½ø³ÌµÄ´¦Àí½á¹û£¬²¢ÔÚ´¦ÀíÍê±ÏÖ®ºó·µ»Ø¡£

(4)±¨¾¯ÏµÍ³

±¨¾¯ÏµÍ³ÎÒÃÇĿǰʹÓõÄÊǾ©¶«ÄÚ²¿×ÔµÄͳһ¼à¿ØÆ½Ì¨ UMP£¬Í¨¹ýµ÷ÓÃÆ½Ì¨ÌṩµÄһЩ API À´ÊµÏÖ±¨¾¯ÓʼþÓë¶ÌÐÅ֪ͨ¡£

ÈçºÎ¸ù¾Ý±¨¾¯µ½¾ßÌåÒ³Ãæ£¿

ÔÚÓû§Í¨¹ý¼à¿Ø¹ÜÀíϵͳ¼Èë¹æÔòºó£¬¼à¿ØÏµÍ³»á¸ù¾Ý UMP ¹æÔòÕë¶ÔÓû§Â¼ÈëµÄÒ³ÃæÉú³É UMP ʹÓÃµÄ key¡£µ±³¤Ê±³ÖÐø´¦ÀíÆ÷·¢ÏÖ PhantomJS ·þÎñ·µ»ØµÄ½á¹û±êʾΪÒì³£ºó£¬¾Í»áʹÓà key À´½øÐÐÈÕÖ¾¼Ç¼¡£

ºÎʱ³ö·¢±¨¾¯£¿

±¨¾¯Ö÷Òª·ÖΪÁ˶ÌÐźÍÓʼþ±¨¾¯¡£Óʼþ±¨¾¯ÊÇÔÚÿÌõÒì³£Ö®ºó¾Í»á·¢¸øÖ¸¶¨ÏµÍ³Óû§¡£¶ÌÐÅÔòÊǸù¾ÝÒì³£´ÎÊýÀ´½øÐд¦ÀíµÄ£¬µ±Òì³£´ÎÊý¹ý´ó£¬¾Í»áÏ·¢¶ÌÐÅ֪ͨ¡£

(5)²¿Êð

¶ÔÓÚ´Ëϵͳ²¿ÊðÊÇ·ÖΪÁ½´ó¿é½øÐеġ£ÒòΪ»úÆ÷×ÊÔ´ÊýÁ¿ÓÐÏÞ£¬Ã»Óн«ËùÓв¿·Ö¶¼µ¥¶À²¿Êð¡£

¹æÔò¹ÜÀíϵͳÒÔ¼°¹æÔò¶ÓÁÐÉú³ÉÆ÷ºÍ³ÖÐø´¦ÀíÆ÷ÕûºÏ²¿ÊðÔÚһ̨»úÆ÷ÉÏ£¬PhantomJS·þÎñ²¿ÊðÔÚÁËÆäËûµÄ»úÆ÷ÉÏ¡£½ø³Ì¹ÜÀíʹÓÃÁËÖøÃûµÄPM2¡£ÕâÑù¾Í¿ÉÒÔ±ÜÃâ×Ô¼ºÔÚ¿ª·¢ÀàËÆµÄ²¿Êð¹¦ÄÜ¡£PM2 ÊÇÒ»¸ö´øÓиºÔؾùºâ¹¦ÄܵÄNodeJSÓ¦ÓõĽø³Ì¹ÜÀíÆ÷¡£¿É³ä·ÖÀûÓÃCPU£¬²¢±£Ö¤½ø³ÌÓÀÔ¶¶¼´æ»î¡£

PM2 ÌØÐÔ£º

ÄÚ½¨¸ºÔؾùºâ£¨Ê¹Óà Node cluster ¼¯ÈºÄ£¿é£©¡£

ÎÞ·ìÖØÆôÀàËÆ nginx reload¡£

¾ßÓÐ Ubuntu ºÍ CentOS µÄ¿ª»úÆô¶¯½Å±¾¡£

¿ØÖÆÌ¨¼ì²â¡£

²»¹ýÔڴ˴β¿ÊðÖУ¬²¢Ã»ÓÐʹÓÃÄÚ½¨¸ºÔؾùºâµÄÌØÐÔ£¬Ã»ÓÃͨ¹ý¼¯ÈºµÄ·½Ê½²¿Êð´úÀí¡£½ö½öʹÓÃÁ˺ǫ́ÔËÐÐºÍ 0 ÃëÍ£»úÖØÔØµÄÌØÐÔ

6. ×ܽáÓëÕ¹Íû

ÆäʵÎÒÃÇÏÖÔÚ¿ª·¢µÄÕâÌ×¼à¿ØÏµÍ³²¢²»¸´ÔÓ£¬Ö»ÊǺÏÀíµÄÔËÓÃÁËһЩÏÖÓеļ¼Êõ¿ò¼Ü¡£³éÏó³öÀ´ÎÒÃÇ×Ô¼ºÐèÒªµÄһЩ¹¦ÄÜ¡£µ«È´ÓÐЧµÄ´ïµ½ÁËÎÒÃǵÄÔ¤ÆÚ¹¦ÄÜ£¬²¢ÇÒ½ÚÊ¡Á˺ܶà֮ǰÐèÒªÈËÈâ²âÊÔµÄʱ¼ä³É±¾¡£ÏµÍ³±¾Éí»¹ÓкܶàÎÊÌâÔÚ´ý½â¾ö״̬£¬±ÈÈ籨¾¯ÏµÍ³µÄ¹æÔò´¦ÀíÓë·§ÖµÉ趨£¬JavaScript±¨´íµÄ׼ȷ¹ýÂË»úÖÆµÈ£¬ÕâЩÎÊÌâÎÒÃǶ¼»áÒ»Ò»½â¾ö£¬²¢ÇÒδÀ´µÄǰ¶Ë¼à¿ØÏµÍ³»á³ÉΪһ¸öƽ̨£¬ºËÐÄ·þÎñÔÚºó¶ËÅÀÈ¡Ò³Ãæ·þÎñ£¬Ó¦Óö˿ÉÒÔÓжàÖÖÐÎʽ£¬±ÈÈç¼à¿Ø¡¢²âÊÔ¹¤¾ßµÈ¡£

һЩ¿ÉÒÔ³ÖÐøÓÅ»¯µã£º

¼à¿ØÏµÍ³ËäÈ»ÔÚÓ¦ÓòãÃæ½øÐÐÁË´¹Ö±»®·Ö£¬µ«ÊÇÓÉÓÚ»úÆ÷×ÊÔ´µÈÏÞÖÆ£¬²¢Ã»ÓнøÐе¥¶À¹¦ÄܵIJ¿Êð¡£Õâµã¿ÉÄÜ»áÔÚºóÆÚµÄʹÓÃÖнøÐÐÓÅ»¯¡£ÒòΪÏÖÔÚ½ö½öÌṩ¸ø±¾²¿ÃÅʹÓá£

PhantomJS·þÎñ»¹ÐèÒª½øÒ»²½ÓÅ»¯£¬ÒÔ³ÐÔØ´ó²¢·¢£¬´ó´¦ÀíÁ¿¡£Ìṩ³ÉÎȶ¨µÄ·þÎñ¡£Ð­Í¬¿ª·¢ÒµÎñÏߺͲâÊÔÒµÎñÏßÖÆ¶¨Í³Ò»µÄ¹æ·¶£¬ÒÔ´ïµ½ÓÅ»¯µÄ¼à¿Ø¡£

±¨¾¯ÓÉÓÚÒÀÀµÓÚ¹«Ë¾ÄÚ²¿µÄUMPϵͳ£¬ËùÒÔ²¢²»ÊÇÌØ±ðÁé»î£¬Ã¿´Îϵͳ½ÓÈë¶¼ÐèÒªÓû§È¥UMPϵͳ½ÓÈë¡£

 

   
2533 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕ Ïà¹ØÎĵµ Ïà¹Ø¿Î³Ì



Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Àí½âJavascript
·ÇµäÐÍajaxʵ¼ù
³¹µ×µÄAjax
javascript ʹÓÃCookies
ʹÓà jQuery ¼ò»¯ Ajax ¿ª·¢

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

ijº½¿Õ¹«Ë¾IT²¿ JavaScriptʵ¼ù
ijµçÊÓÈí¼þ HTML5ºÍJavaScript
Öк½ÐÅ JavaScript¸ß¼¶Ó¦Óÿª·¢
´óÇìÓÍÌï web½çÃæAjax¿ª·¢¼¼Êõ
ºÍÀûʱ ʹÓÃAJAX½øÐÐWEBÓ¦Óÿª·¢