µ±Ç°Î»ÖÃ: Ê×Ò³ > ÐÂÎÅ > ÐÅÏ¢ÜöÝÍ
񅧏:3736
ÂëÅ©´ÓPython¿ªÊ¼.pdf
http://www.100md.com 2020Äê3ÔÂ12ÈÕ
µÚ1Ò³
µÚ10Ò³
µÚ19Ò³
µÚ26Ò³
µÚ42Ò³
µÚ83Ò³

    ²Î¼û¸½¼þ(10871KB£¬129Ò³)¡£

     ÂëÅ©´ÓPython¿ªÊ¼ÊÇ×÷ÕßÂÞ³¿Ð´µÄ¹ØÓÚpythonµÄÊé¼®£¬Ö÷Òª¶ÔpythonÕâÃűà³ÌÓïÑÔ×öÁË»ù´¡ÓÖÏêϸµÄ½éÉÜ£¬Ñ§Ï°python¾ÍÓ¦¸ÃÒÔ³ÌÐòÔ±µÄͳ¼ÆË¼Î¬½øÐÐÁ·Ï°¡£

    ÂëÅ©´ÓPython¿ªÊ¼ÄÚÈÝÌáÒª

    Pythonµ½µ×ΪʲôҪ½Ð×öPython(òþÉß)ÄØ£¿PythonµÄ·¢Ã÷ÈËGuido van Rossum˵£¬ÄÇÊÇÒòΪËûÐèÒªÒ»¸ö¼ò¶Ì¡¢¶ÀÌØ£¬»¹ÂÔ´øÓÐÉñÃØ¸ÐµÄÃû×Ö¡£(¸ÕÇÉÄÇʱËûÕýÔÚ¿´Ò»¸ö70Äê´úµÄBBCϲ¾çÐ㣬½Ð×ö¡°¾Þòþ¾çÍŵķÉÏèÂíÏ·ÍÅ¡±¡£) Python×÷ΪһÃűà³ÌÓïÑÔ£¬¿ÉÄÜ×îǷȱµÄ¾ÍÊÇ¡°ÉñÃØ¸Ð¡±ÁË¡£Ëü¿ÉÒÔÊÇ¡°ºÃÍæµÄ(Playful Programming)¡±£¬Ò²¿ÉÒÔÊÇ¡°ºÃѧµÄ¡±(PythonÉõÖÁ¿ÉÒÔÓÃÀ´½ÌÊÚ¸øÐ¡Ñ§Éú)¡£ÍêÈ«²»¶®±à³ÌµÄÈË¿ÉÒÔ°ÑPython×÷Ϊ×Ô¼ºµÄµÚÒ»Ãűà³ÌÓïÑÔ£¬µ«ÊÇ£¬Õâ²¢²»Òâζ×ÅËü²»¹»Ç¿´ó¡£

    ÂëÅ©´ÓPython¿ªÊ¼×÷Õß¼ò½é

    ±¾ÆÚµÄÂëÅ©ÈËÎïÂÞ³¿£¬ËäÈ»²»ÊÇPython³ÌÐòÔ±£¬µ«ÊÇËûÉíÌåÁ¦ÐеØÊµ¼ùÁË¡°¼òµ¥¡±Õâ¼þÊ¡£ËûÒÔǰ¶Ë¹¤³ÌʦΪĿ±ê£¬³É¹¦µØ³ÉΪÁËÒ»ÃûÔÚÅ©³¡ÎñÅ©µÄ¶ÀÁ¢¿ª·¢Õß¡£³çÉмòÔ¼µÄMarkdown±à¼­Æ÷Mou£¬¾ÍÊÇËûµÄ×÷Æ·Ö®Ò»¡£Ï£ÍûËûµÄÉú»î¾­Àú£¬»á¸øÄãÒ»¸öеĽǶȺÍһЩ²»Í¬µÄÆôʾ¡£ÈÃÎÒÃÇ´ÓÒ»³É²»±äµÄÉú»îÖÐÕÒµ½Ò»Ð©ÐÂÏÊÔªËØ°É!ѧһÃÅеÄÓïÑÔ£¬½ÌÒ»¸öÅóÓÑѧ»á±à³Ì£¬»òÕßΪÄãµÄ¼ÒÈ˱àдµãʲô¡£¿ÉÄÜ£¬¾Í´ÓPython¿ªÊ¼¡£

    ÂëÅ©´ÓPython¿ªÊ¼Ä¿Â¼

    ×¨Ì⣺´ÓPython¿ªÊ¼

    PPPÊÇʲô£¿ºÃÍæµÄPython±à³Ì!

    ÎªÊ²Ã´ÒªÓÃPythonʵÏÖ»úÆ÷ѧϰËã·¨?

    µÚÒ»¸öº¢×ӵijöÉúʱ¼äÑо¿£º³ÌÐòÔ±µÄͳ¼ÆË¼Î¬Á·Ï°

    ºÍº¢×ÓÒ»Æð×öÒ»Ö»µç×Ó³èÎï°É!

    ´ÓPython3µÄbytes/strÖ®±ðѧ±àÂëUnicode

    ÈçºÎ¹¹ÔìÍŶÓPython¿ª·¢»·¾³

    ÈËÎï

    ÂÞ³¿£ºÃÎÏëÕÕ½øÏÖʵ£¬Ò»¸ö¶ÀÁ¢¿ª·¢ÕßµÄÌïÔ°Ê«

    ¶Á¡¶ÂëÅ©¡·ÍÂͲۻ¹ÄÜ×¬Òø×Ó!

    ÈçºÎ½Ì±à³Ì£¬µ±ÄãÃæ¶Ôһ˫¿ÊÍûµÄÑÛ¾¦

    ÏÊÔÄ

    Î´À´µÄ±à³ÌÓïÑÔ¾¿¾¹ÊÇʲôÑù?

    °Ë++

    Puppet¡ª¡ªLuke KaniesµÄ¸ÖÌúÏÀ

    ³ö°æµÄδÀ´

    Ê±´ú¿ÉÒÔÀ´µÃ¸ü¿ì

    Êé°ñ

    ´ó¼Ò¶¼ÔÚ¶Áʲô?

    ³ÉÊéÊÖ¼Ç

    ACM-ICPC¹Ú¾ü̸¡¶ÌôÕ½³ÌÐòÉè¼Æ¾ºÈü¡·¼°Ïà¹ØËã·¨Êé

    ÉçÇø¶¯Ì¬

    ÀÖÒ뿪·ÅÊ飺Python for Software Design

    Í¼Áé·Ã̸£º¶Ô»°Peter Harrington

    ÌýÊ鼯»®£º¡¶³ÌÐòÔ±µÄ˼άÐÞÁ¶¡·

    ÉçÇø½éÉÜ

    ÂëÅ©´ÓPython¿ªÊ¼½ØÍ¼

    ÊéÃû£ºÂëÅ©¡¤´ÓPython¿ªÊ¼(µÚ7ÆÚ)

    ×÷ÕߣºÍ¼ÁéÉçÇø³öÆ·

    ±¾ÊéÓɱ±¾©Í¼ÁéÎÄ»¯·¢Õ¹ÓÐÏÞ¹«Ë¾·¢ÐÐÊý×Ö°æ¡£°æÈ¨ËùÓУ¬ÇÖȨ±Ø

    ¾¿¡£

    Äú¹ºÂòµÄͼÁéµç×ÓÊé½ö¹©Äú¸öÈËʹÓã¬Î´¾­ÊÚȨ£¬²»µÃÒÔÈκη½Ê½¸´ÖÆ

    ºÍ´«²¥±¾ÊéÄÚÈÝ¡£

    ÎÒÃÇÔ¸ÒâÏàÐŶÁÕß¾ßÓÐÕâÑùµÄÁ¼ÖªºÍ¾õÎò£¬ÓëÎÒÃǹ²Í¬±£»¤ÖªÊ¶²úȨ¡£

    Èç¹û¹ºÂòÕßÓÐÇÖȨÐÐΪ£¬ÎÒÃÇ¿ÉÄܶԸÃÓû§ÊµÊ©°üÀ¨µ«²»ÏÞÓڹرոÃÕÊ

    ºÅµÈάȨ´ëÊ©£¬²¢¿ÉÄÜ×·¾¿·¨ÂÉÔðÈΡ£Ä¿Â¼

    ±àÕߵϰ

    ×¨Ì⣺´ÓPython¿ªÊ¼

    PPPÊÇʲô£¿ºÃÍæµÄPython±à³Ì!

    ÎªÊ²Ã´ÒªÓÃPythonʵÏÖ»úÆ÷ѧϰËã·¨£¿

    µÚÒ»¸öº¢×ӵijöÉúʱ¼äÑо¿£º³ÌÐòÔ±µÄͳ¼ÆË¼Î¬Á·Ï°

    ºÍº¢×ÓÒ»Æð×öÒ»Ö»µç×Ó³èÎï°É!

    ´ÓPython 3µÄbytesstrÖ®±ðѧ±àÂëUnicode

    ÈçºÎ¹¹ÔìÍŶÓPython¿ª·¢»·¾³

    ÈËÎï

    ÂÞ³¿£ºÃÎÏëÕÕ½øÏÖʵ£¬Ò»¸ö¶ÀÁ¢¿ª·¢ÕßµÄÌïÔ°Ê«

    ¶Á¡¶ÂëÅ©¡· ÍÂÍÂ²Û »¹ÄÜ×¬Òø×Ó!

    ¼ùÐÐ

    ÈçºÎ½Ì±à³Ì£¬µ±ÄãÃæ¶Ôһ˫¿ÊÍûµÄÑÛ¾¦

    ÏÊÔÄ

    Î´À´µÄ±à³ÌÓïÑÔ¾¿¾¹ÊÇʲôÑù£¿

    °Ë++

    Puppet¡ª¡ªLuke Kanies µÄ¸ÖÌúÏÀ

    ³ö°æµÄδÀ´

    µç×ÓÊéʱ´ú¿ÉÒÔÀ´µÃ¸ü¿ì

    Êé°ñ

    ´ó¼Ò¶¼ÔÚ¶Áʲô£¿

    ³ÉÊéÊÖ¼Ç

    ACM-ICPC¹Ú¾ü̸¡¶ÌôÕ½³ÌÐòÉè¼Æ¾ºÈü¡·¼°Ïà¹ØËã·¨Êé

    ÉçÇø¶¯Ì¬

    ÀÖÒ뿪·ÅÊ飺Python for Software Design

    Í¼Áé·Ã̸£º¶Ô»°Peter Harrington

    ÌýÊ鼯»®£º¡¶³ÌÐòÔ±µÄ˼άÐÞÁ¶¡·

    ÉçÇø½éÉÜ

    ·âµ×

    ±àÕߵϰ

    ´ÓPython¿ªÊ¼

    ±àÕß ÀîÅÎ

    ¶ÔÓÚÒ»ÖÖ±à³ÌÓïÑÔÀ´Ëµ£¬×îÖØÒªµÄ¾ÍÊÇÃû×ÖÁË¡£Ã»ÓкÃÃû×ÖµÄÓïÑÔÊÇ

    ÎÞÂÛÈçºÎÒ²ÎÞ·¨³É¹¦µÄ¡£ÎÒ×î½ü·¢Ã÷ÁËÒ»¸ö·Ç³£°ôµÄÃû×Ö£¬ÏÖÔÚÕýÔÚ

    ÕÒÄǸöºÏÊʵÄÓïÑÔ¡£

    ¡ª¡ªDonald Knuth(¸ßµÂÄÉ)

    Python µ½µ×ΪʲôҪ½Ð×öPython(òþÉß)ÄØ£¿ PythonµÄ·¢Ã÷ÈË Guido

    van Rossum˵£¬ÄÇÊÇÒòΪËûÐèÒªÒ»¸ö¼ò¶Ì¡¢¶ÀÌØ£¬»¹ÂÔ´øÓÐÉñÃØ¸ÐµÄÃû

    ×Ö¡£(¸ÕÇÉÄÇʱËûÕýÔÚ¿´Ò»¸ö70Äê´úµÄBBCϲ¾çÐ㣬½Ð×ö¡°¾Þòþ¾çÍŵÄ

    ·ÉÏèÂíÏ·ÍÅ¡±¡£)Python×÷ΪһÃűà³ÌÓïÑÔ£¬¿ÉÄÜ×îǷȱµÄ¾ÍÊÇ¡°ÉñÃØ

    ¸Ð¡±ÁË¡£Ëü¿ÉÒÔÊÇ¡°ºÃÍæµÄ(Playful Programming)¡±£¬Ò²¿ÉÒÔÊÇ¡°ºÃѧ

    µÄ¡±(PythonÉõÖÁ¿ÉÒÔÓÃÀ´½ÌÊÚ¸øÐ¡Ñ§Éú)¡£ÍêÈ«²»¶®±à³ÌµÄÈË¿ÉÒÔ°Ñ

    Python×÷Ϊ×Ô¼ºµÄµÚÒ»Ãűà³ÌÓïÑÔ£¬µ«ÊÇ£¬Õâ²¢²»Òâζ×ÅËü²»¹»Ç¿´ó¡£

    ¶ÔÓÚ¶®µÃPythonµÄÈËÀ´Ëµ£¬PythonicÊÇÒ»ÖÖ±à³Ì·ç¸ñ¡£Ëü³çÉÐÓÅÑÅ¡¢Ã÷

    È·¡¢¼òµ¥£¬¡°Èç¹ûÄÜÓÃͬһÖÖ·½·¨À´×öÒ»¼þÊÂÇ飬ΪʲôҪ±äÀ´±äÈ¥

    ÄØ£¿¡±ÕýÊÇÕâÖÖ×î´ó³Ì¶È¼ò»¯×ÔÉíµÄ˼ÏëÈÿÆÑ§½çÕÅ¿ªË«±Û»¶Ó­

    Python£¬ÉõÖÁ³ÆËüΪ¡°¿ÆÑ§µÄÓïÑÔ¡±¡£NumPy¡¢SciPy¡¢Matplotlib¿ÉÒÔÈÃ

    Python³ÌÐòÔ±±àд¿ÆÑ§¼ÆËã³ÌÐò¡£ÖÚ¶àPythonistÒ²¿ÉÒÔ½è´Ë¿ªÆô¸ü¼ÓÓÐȤµÄѧϰÂọ́ºÊý¾Ýͳ¼Æ¡¢»úÆ÷ѧϰ¡¢¼ÆËã»ú¿ÆÑ§£¬ÉõÖÁ×ÔÈ»¿ÆÑ§¡£

    ¼òµ¥»á¼¤·¢³ö¸üÇ¿´óµÄ´´ÔìÁ¦Â𣿱¾ÆÚµÄÂëÅ©ÈËÎïÂÞ³¿£¬ËäÈ»²»ÊÇ

    Python³ÌÐòÔ±£¬µ«ÊÇËûÉíÌåÁ¦ÐеØÊµ¼ùÁË¡°¼òµ¥¡±Õâ¼þÊ¡£ËûÒÔǰ¶Ë¹¤³Ì

    Ê¦ÎªÄ¿±ê£¬³É¹¦µØ³ÉΪÁËÒ»ÃûÔÚÅ©³¡ÎñÅ©µÄ¶ÀÁ¢¿ª·¢ Õß¡£³çÉмòÔ¼µÄ

    Markdown±à¼­Æ÷Mou£¬¾ÍÊÇËûµÄ×÷Æ·Ö®Ò»¡£Ï£ÍûËûµÄÉú»î¾­Àú£¬»á¸ø

    ÄãÒ»¸öеĽǶȺÍһЩ²»Í¬µÄÆôʾ¡£

    ÈÃÎÒÃÇ´ÓÒ»³É²»±äµÄÉú»îÖÐÕÒµ½Ò»Ð©ÐÂÏÊÔªËØ°É!ѧһÃÅеÄÓïÑÔ£¬½Ì

    Ò»¸öÅóÓÑѧ»á±à³Ì£¬»òÕßΪÄãµÄ¼ÒÈ˱àдµãʲô¡£¿ÉÄÜ£¬¾Í´ÓPython¿ª

    Ê¼¡£×¨Ì⣺´ÓPython¿ªÊ¼PPPÊÇʲô£¿ºÃÍæµÄPython±à³Ì!

    ×÷Õß Magnus Lie Hetland

    Å²Íþ¿Æ¼¼´óѧ¼ÆËã»ú¿ÆÑ§×¨Òµ¸±½ÌÊÚ¡£×î½üÔÚÑо¿ÏàËÆÐÔËÑË÷ºÍ¶ÈÁ¿

    Ë÷Òý¡£ÖøÓС¶Python»ù´¡½Ì³Ì¡·¡¢¡¶PythonËã·¨¡·µÈ¡£ÒµÓàʱ¼ä×ö¼æ

    Ö°ÑÝÔ±¡£¾­³£ÊÕµ½ºÚ¿Í¹ØÓÚÇд輼ÊõµÄÓʼþ£¬´Ó²»»Ø¸´¡£

    ÒëÕß˾ά

    ¸öÈËÈÏΪPythonµÄÇ¿´ó¹¦ÄÜÖ®Ò»£¬¾ÍÊÇËüÈñà³Ì±äµÃºÃÍæ¡ª¡ªÖÁÉÙ¶ÔÎÒ

    À´ËµÊÇÕâÑù¡£Ö»Óие½±à³ÌÊÇÓÐȤµÄʱºò£¬²ÅÈÝÒ׸»ÓгÉЧ¡£Python×î

    ÓÐÒâ˼µÄµØ·½Ö®Ò»¾ÍÊÇËüÄÜÈÃÄãµÄ¹¤×÷±äµÃ·Ç³£¸»ÓгÉЧ¡£ÕâÊǸöÁ¼ÐÔ

    Ñ­»·£¬ÔÚÉú»îÖУ¬ÕâÖÖÑ­»·¿É²»¶à¡£

    ºÃÍæµÄ±à³Ì(Playful Programming)ÊÇÎÒ·¢Ã÷µÄ´Ê£¬ÊǼ«ÏÞ±à³Ì

    (Extreme Programming£¬Òà³ÆXP)µÄ·Ç¼«ÏÞ°æ±¾¡£XPµÄ´ó¶àÊýµã×ÓÎÒ

    ¶¼Ï²»¶£¬µ«ÊÇÎÒÌ«ÀÁÁË£¬²»ÄÜÍêÈ«×ñÊØËüµÄÔ­Ôò¡£ËùÒÔÏÖÔÚÌôÁËһЩҪ

    µã³öÀ´£¬½«ËüÃÇÓëPython³ÌÐò¿ª·¢µÄ×ÔÈ»·½Ê½×éºÏÆðÀ´¡£

    ³ÌÐòÉè¼ÆµÄÈáÊõ

    ¸÷λÌý˵¹ýÈáÊõÂð£¿ÕâÊÇÒ»ÖÖÈÕ±¾ÎäÊõ£¬ËüºÍËüÑÜÉú³öÀ´µÄÈáµÀÒÔ¼°ºÏ

    ÆøµÀÒ»Ñù£¬¶¼×¢ÖØ·´Ó¦µÄÁéÃôÐÔ£¬»òÕß˵¡°Íä¶ø²»¶Ï¡±¡£±ÈÈüʱ£¬²»Ó¦¸Ã

    ÊÔͼʹÓÃÔ¤ÏÈÉè¼ÆºÃµÄÒÆ¶¯ÃÉÆ­¶ÔÊÖ£¬¶øÒªË³Æä×ÔÈ»£¬ÒÔ¶ÔÊֵ͝×÷»¹

    ÖÎÆäÉí¡£ÕâÖÖ·½Ê½(ÔÚÀíÂÛÉϽ²)¿ÉÒÔ»÷°Ü±ÈÄã¸ß´ó¡¢Ç¿×³ºÍ¹îÚܵĶÔ

    ÊÖ¡£ÄÇôÔõÑù½«ÈáÊõÓ¦Óõ½³ÌÐòÉè¼ÆÖÐÄØ£¿¹Ø¼üÔÚÓÚ¡°Èᡱ×Ö£¬Ò²¾ÍÊÇÁé»î

    ÐÔ¡£ÔÚ±à³ÌÓöµ½Âé·³µÄʱºò(×Ü»áÓöµ½µÄ)£¬¾Í²»Ó¦¸Ã¹ÌÊØÓÚÔ­À´µÄÉè

    ¼ÆºÍÏë·¨£¬¶øÒªÁé»î±äͨ£¬ÒÔÈá¿Ë¸Õ¡£Òª×¼±¸ºÃÈ¥Ó¦¶ÔºÍÊÊÓ¦±ä»¯¡£²»

    Òª½«Ã»ÓÐÔ¤Áϵ½µÄʼþ¿´×öÈÃÈ˾ÚÉ¥µÄÒâÍ⣬¶øÒª½«ËüÃÇ×÷Ϊ̽Ë÷еÄ

    Ñ¡ÔñºÍ¿ÉÄÜÐÔµÄÆðµã¡£

    ÒªËµµÄÊÇ£¬µ±´ó¼Ò×øÏ²¢¼Æ»®Ó¦¸ÃÈçºÎ×éÖ¯³ÌÐòµÄʱºò£¬¶ÔÓÚÕâ¸ö¾ßÌå

    µÄ³ÌÐò£¬Ä㻹ûÓÐÈκεľ­Ñé¡£Ôõô¿ÉÄÜ»áÓо­Ñ飿±Ï¾¹Ëü»¹²»´æÔÚ

    ÄØ¡£ÔÚʵÏÖ¹¦ÄܵÄʱºò£¬»áÖð½¥µØÑ§µ½¶ÔԭʼÉè¼ÆÓÐÓõÄÐÂ֪ʶ¡£²»Ó¦

    ¸ÃÎÞÊÓһ·×ßÀ´ËùÎüÈ¡µÄ½Ìѵ£¬¶øÓ¦¸Ã½«ËüÃÇÓÃÓÚÈí¼þµÄÖØÐÂÉè¼Æ(»ò

    ÕßÖØ¹¹)ÖС£Õâ²»ÊÇ˵Ӧ¸ÃÏñÎÞÍ·²ÔÓ¬Ò»Ñù£¬ÂíÉϾͿªÊ¼×ÅÊÖ¹¤×÷¡ª¡ª

    ¶øÊÇ˵Ӧ¸ÃΪ¸Ä±ä¶ø×öºÃ×¼±¸£¬²¢ÇÒ½ÓÊÜ¡°×î³õµÄÉè¼Æ»áÐèÒª¸Ä½ø¡±ÕâÑù

    Ò»¸ö¸ÅÄî¡£¾ÍÏñÒÔǰһλ×÷¼Ò˵µÄ¡°×«Ð´¼´ÖØÐ´¡±¡£

    Áé»îÐÔµÄʵÏÖ°üÀ¨Ðí¶à·½Ã棬ÏÂÃæÊÇÆäÖеÄÁ½¸ö£º

    Ô­ÐÍÉè¼Æ¡£Python×î°ôµÄ¹¦ÄÜÖ®Ò»¾ÍÊÇ¿ÉÒÔ¿ìËٵرàд³ÌÐò¡£±àд

    Ô­ÐͳÌÐòÊǸü³ä·ÖµØÁ˽âÎÊÌâµÄÒ»Öֺܺõķ½·¨¡£

    ÅäÖá£Áé»îÐÔÓкܶàÖÖ´æÔÚÐÎʽ¡£ÅäÖõÄÄ¿µÄ¾ÍÊÇÈóÌÐòij²¿·ÖµÄ

    ¸Ä±ä¸ü¼òµ¥£¬¶ÔÓÚÄãºÍÓû§À´Ëµ¶¼ÊÇÕâÑù¡£µÚÈýµãÊÇ×Ô¶¯»¯²âÊÔ¡£Èç¹ûÏ£ÍûÇáËɸıä³ÌÐòµÄ»°£¬ÄÇô×Ô¶¯»¯²âÊÔ¾ø

    ¶ÔÊDZز»¿ÉÉٵġ£Ê¹ÓÃÔ­µØ²âÊÔ£¬¾ÍÄܱ£Ö¤ÄãµÄ³ÌÐòÔÚ½øÐÐÐ޸ĺó»¹ÄÜ

    ¹¤×÷¡£Ô­ÐÍÉè¼ÆºÍÅäÖö¼»áÔÚÏÂÃæµÄ¼¸½ÚÖÐÌÖÂÛ¡£

    Ô­ÐÍÉè¼Æ

    Ò»°ãÀ´Ëµ£¬Èç¹û¶ÔÓÚPythonµÄij¸öµØ·½²»Ã÷°×µÄ»°£¬ÄÇô³¢ÊÔһϾͺÃ

    ÁË¡£Ê×ÏÈ£¬²»ÐèÒª½øÐÐ¶à·½ÃæµÄÔ¤´¦Àí¡ª¡ª±ÈÈç±àÒë»òÕßÁ´½Ó£¬¶øÕâÊÇ

    ÆäËûºÜ¶àÓïÑÔËù±ØÐèµÄ¡£¿ÉÒÔÖ±½ÓÔËÐÐÄãµÄ´úÂë¡£²»Ö¹Èç´Ë¡ª¡ª»¹ÄÜÔÚ

    ½»»¥Ê½½âÊÍÆ÷ÀïÃæÖð¸öµØÔËÐУ¬É¨Çåÿ¸ö½ÇÂ䣬ֱµ½×Ô¼ºÍêÈ«Ã÷°×ÁËËü

    µÄ¹¤×÷·½Ê½¡£

    ÕâÀà̽Ë÷¹¤×÷²¢²»Ö»ÏÞÓÚÓïÑÔÌØÐÔºÍÄÚ½¨º¯Êý¡£µ±È»£¬Õâ¶ÔÓÚÁ˽âÀàËÆ

    iterÕâÑùµÄº¯ÊýµÄ¹¤×÷·½Ê½ºÜÓÐÓ㬵«¸üÖØÒªµÄÊÇÇáËɵØÎªÄã×¼±¸±àд

    µÄ³ÌÐò´´½¨Ô­Ð͵ÄÄÜÁ¦£¬¿´¿´ËüÊÇÔõô¹¤×÷µÄ¡£

    ×¢Òâ ÔÚËù̸¼°ÎÊÌâµÄ±³¾°ÖУ¬Ô­ÐÍ(prototype)Õâ¸ö´ÊÒâζ×ÅʵÑé

    ÐÔµÄʵÏÖ£¬¼´ÊµÏÖ×îÖÕ³ÌÐòÖ÷Òª¹¦ÄܵĴó¸ÅÄ£ÐÍ(mock-up)£¬µ«ÊÇ

    ÔÚÒÔºóµÄ½×¶Î¿ÉÒÔÍêÈ«ÖØÐ´»ò²»ÖØÐ´Ô­ÓгÌÐò¡£Ò»°ãÀ´Ëµ¿ªÊ¼µÄÔ­ÐÍ

    ×îºó¶¼»á±»¸Äд³ÉʵÓõijÌÐò¡£

    ÔÚ½«Ò»Ð©Ë¼ÏëÈÚÈëµ½³ÌÐòµÄ½á¹¹Öкó(±ÈÈçÐèÒªÄÄЩÀàºÍº¯Êý)£¬½¨Òé

    ÊµÏÖÒ»¸ö¼òµ¥µÄ°æ±¾£¬Õâ¸ö°æ±¾µÄ¹¦ÄÜ¿ÉÄܷdz£ÓÐÏÞ¡£ÊµÏÖÁËÒ»¸ö¿ÉÔË

    ÐеijÌÐòºó£¬¾ÍÄÜ·¢ÏÖÕâ¸ö¹ý³ÌÊǶàô¼òµ¥¡£È»ºó¿ÉÒÔÔö¼ÓÌØÐÔ¡¢¸Ä±ä

    ²»Ï²»¶µÄµØ·½£¬µÈµÈ¡£Ò²¿ÉÒÔ¿´¿´ËüÊÇÈçºÎ¹¤×÷µÄ£¬¶ø²»ÊÇÖ½ÉÏ̸±ø»­

    »­Í¼±í¶øÒÑ¡£

    »¹ÄÜÔÚÈκγÌÐòÉè¼ÆÓïÑÔÖÐʹÓÃÔ­ÐÍÉè¼Æ£¬µ«ÊÇPythonµÄÇ¿´óÖ®´¦¾ÍÔÚ

    ÓÚ±àдһ¸öÄ£ÐÍÖ»ÐèÒªºÜÉÙµÄͶÈ룬¶ø²»Óô󶯸ɸꡣÈç¹û·¢ÏÖµÄÉè¼Æ

    ²¢²»ÏñÔ¤ÆÚµÄÒ»ÑùºÃÓ㬾ͿÉÒÔÈÓµôÔ­ÐÍ´ÓÍ·ÔÙÀ´¡£Õâ¸ö¹ý³Ì¿ÉÄÜÒª»¨

    Éϼ¸¸öСʱ¡¢Ò»Ìì»òÕßÁ½Ìì¡£Èç¹ûÓÃC++±à³ÌµÄ»°£¬Òª°Ñij²¿·Ö×éÖ¯ºÃ

    ÔËÐÐÆðÀ´µÄ»°¿ÉÄÜÐèÒª¸ü¶àµÄ¾«Á¦£¬¶ø·ñ¾öÔ­ÐÍÒ²»á³ÉΪһ¸öÖØÒªµÄ¾ö

    ¶¨¡£¹ÌÊØÒ»¸ö°æ±¾£¬Ò²¾ÍʧȥÁËÁé»îÐÔ¡ª¡ª×¢¶¨±»ÔçÏȵľö¶¨½ûïÀס£¬¶øÔÚÕæÕýʵÏÖ³ÌÐòµÄʱºòËù»ñµÃµÄʵ¼Ê¾­Ñ飬¿ÉÄÜ»áÖ¤ÊµÖØÐ´³ÌÐòµÄ¾ö

    ¶¨ÊÇ´íÎóµÄ¡£

    Ã¿¸öÏîÄ¿¶¼»á·ÖΪÁ½¸ö½×¶ÎµÄʵÏÖ¡£µÚÒ»¸öʵÏÖÖ»ÊǸöÃþË÷ÐÔÖʵÄÊÔ

    Ñ飬ÔÚÕâ¸ö½×¶Î»áÆ´´Õ³öÒ»¸öÄܽâ¾öÎÊÌâ(»òÕßÊÇÎÊÌâµÄÒ»²¿·Ö)µÄ³ÌÐò£¬ÒÔ±ãÁ˽âËùÐèÒªµÄ×é¼þºÍÓÅÐã½â¾ö·½°¸µÄÐèÇó¡£ÄÜËæÊ±¿´µ½³ÌÐòµÄ

    ËùÓÐç¢Â©£¬ÊÇѧϰ±à³ÌµÄ×îºÃÒ»¿Î¡£ÀûÓÃÐÂѧµ½µÄ֪ʶ£¬»á¶ÔµÚÒ»´Îʵ

    ÏֵijÌÐòÒÔ¸ü¼ÓÕýʽµÄ·½Ê½½øÐÐÖØ½¨¡£µ±È»£¬´ó¼ÒÓ¦¸Ã°´×Ô¼ºµÄÏë·¨ÔÙ

    ¸Ä½ø´úÂ룬ÉõÖÁ¿ªÊ¼µÚÈý´ÎµÄʵÏÖ¡£Ò»°ãÀ´Ëµ£¬´ÓÍ·¿ªÊ¼Éè¼ÆËù»¨·ÑµÄ

    Ê±¼ä²¢Ã»Óдó¼ÒÏëµÃÄÇô¶à¡£Èç¹ûÒѾ­³¹µ×ÏëͨÁ˳ÌÐòµÄʵÓÃÐԵϰ£¬ÄÇôÇôúÂëµÄʱ¼äÓ¦¸Ã²»»áÌ«³¤¡£

    ¶Ô´úÂëÖØÐ´Ëµ²»

    ¾¡¹ÜÕâÀïÍÆ¼ö´ó¼ÒʹÓÃÔ­ÐÍ£¬µ«ÔÚÈκÎʱºò¶ÔÓÚ´ÓÍ·¿ªÊ¼ÖØÐ´ÏîÄ¿¸ø

    ³öһЩ¾¯¸æÒ²ÊÇʳöÓÐÒò£¬ÓÈÆäÊǶÔÓÚÔ­ÐÍÏÂÁ˺ܴ󹦷òµÄʱºò¡£¾Í

    ¶à·½ÃæÀ´½²£¬»¹ÊÇÍÆ¼ö´ó¼Ò¶ÔÔ­ÐͽøÐÐÖØ¹¹ºÍÐ޸쬽«ÆäÍêÉÆÎª¹¦ÄÜ

    ÐÔ¸üºÃµÄϵͳ¡£Ò»¸ö³£¼ûÎÊÌâ¾ÍÊÇ¡°µÚ¶þϵͳ×ÛºÏÖ¢¡±¡£ÄãÏ£ÍûµÚ¶þ¸ö

    °æ±¾±äµÃ¸üºÃ£¬½á¹ûÈ´ÓÀÔ¶ÎÞ·¨Íê³É¡£

    ¶ø¡°³ÖÐøÖØÐ´×ÛºÏÕ÷¡±Ò²ÊÇÎÄѧ½çµÄÊõÓÖ÷Òª±íÏÖΪ¶Ô³ÌÐò½øÐÐһЩ

    ÎÞÓõÄÐ޸쬳ÌÐòÔ±¿ÉÄÜ»áÒ»´ÎÓÖÒ»´ÎµØ´ÓÍ·¿ªÊ¼ÖØÐÂÉè¼Æ¡£´ÓijЩ

    ·½ÃæÀ´¿´£¬ÊʿɶøÖ¹¿ÉÄÜÊÇ×î¼Ñ²ßÂÔ¡ª¡ªÄܹ¤×÷×ãÒÓ¡£

    È»ºó¡°´úÂëÆ£ÀÍ¡±ÏÖÏó¾Í³öÏÖÁË¡£³ÌÐòÔ±»áÑá·³´úÂ롣ʹÓÃÁ˺ܳ¤Ê±¼ä

    Ö®ºó£¬¾Í»á¾õµÃ´úÂë³óªµÃ²»¿°ÈëÄ¿¡£ºÜÒź¶£¬ÓÉÓÚÐèҪǨ¾ÍºÜ¶àÌØ

    ÊâÇé¿ö£¬´úÂë»á±äµÃ±¿ÖØ£¬ÆäÖл¹ÓдóÁ¿²»Í¬¸ñʽµÄ´íÎó´¦Àí´úÂë¡£

    µ«ÕâЩ¶¼ÊÇа汾ÖбØÐëÒªÖØÐÂÒýÈëµÄ£¬¶øÇÒÒªºÄ·ÑÄãµÄ´óÁ¿¾«Á¦

    (²»ÊÇÒÔµ÷ÊÔµÄÐÎʽ)À´Ê×ÏÈʵÏÖ¡£

    »»¾ä»°Ëµ£¬Èç¹ûÈÏΪԭÐͳÌÐòÄÜÍêÉÆÎª¿ÉÒÔ¹¤×÷µÄϵͳ£¬ÄDz»¹ÜÔõô

    Ëµ¶¼Òª¼á³ÖÏÂÈ¥£¬¶ø²»ÊÇÍÆµ¹ÖØÀ´¡£ÏÂÃæµÄ¼¸ÕÂÀïÃæ£¬³ÌÐòµÄ¿ª·¢±»

    Ã÷È··ÖΪÁ½¸ö°æ±¾£ºÔ­ÐͺÍ×îÖÕ°æ±¾¡£Õâô×ö¼ÈÊÇΪÁËÇåÎú£¬Ò²ÊÇΪ

    ÁËÇ¿µ÷±àдµÚÒ»°æÈí¼þµÄʱºòËù»ñµÃµÄ¾­ÑéºÍ¶´²ìÁ¦¡£ÔÚÏÖʵÊÀ½ç

    ÖУ¬ÒÔÔ­Ðͺ͡°Öع¹×ÔÉí¡±×÷Ϊ×îÖÕϵͳµÄÖ¸µ¼Ë¼Ï뻹ÊǺܿ¿Æ×µÄ¡£

    ¶ÔÓÚ´ÓÍ·¿ªÊ¼µÄ¿ÉÅÂÖ®´¦£¬Çë²Î¼ûJoel SpolskyµÄÎÄÕ¡°Things You

    Should Never Do£¬Part 1¡±(ÄãÓÀ²»¸Ã×öµÄÊ£¬µÚÒ»²¿·Ö)(¿ÉÒÔÔÚËû

    µÄÍøÕ¾http:joelonsoftware.comÉÏÕÒµ½)¡£¸ù¾ÝSpolskyµÄ˵·¨£¬´ÓÍ·

    Ð´´úÂëÊÇÈκÎÈí¼þ¹«Ë¾¶¼»á·¸ÏµÄ×îÔã¸âµÄ¾ö²ßÐÔ´íÎó¡£

    ÅäÖóéÏóµÄÖØÒªÔ­Ôò£ºÒ»ÖÖ¸ü¼Ó¼òµ¥µÄÔÚ³ÌÐòÖÐÒýÈë³éÏóµÄ·½·¨£º´Ó´úÂëÖÐ

    ÌáÈ¡·ûºÅ»¯³£Á¿(symbolic constant)¡£

    ÌáÈ¡³£Á¿

    Ç°ÃæËù˵µÄ³£Á¿(constant)Ö¸µÄÊÇÄÚ½¨µÄ×ÖÃæÁ¿£¬ÀýÈçÊý×Ö¡¢×Ö·û´®

    ºÍÁÐ±í¡£ÔÚ³ÌÐòÖÐÕâЩ³£Á¿²»ÓÃÖØ¸´±àд£¬·ÅÖÃÔÚÈ«¾Ö±äÁ¿Öм´¿É¡£Ëä

    È»Ö®Ç°µÄÕ½ÚÌÖÂÛ¹ýʹÓÃÈ«¾Ö±äÁ¿µÄ»µ´¦£¬µ«ÊÇÕâÖÖ»µ´¦Ò»°ãÖ»ÓÐÔÚÈ«

    ¾Ö±äÁ¿±»¸Ä±äµÄʱºò²Å»áÌåÏÖ³öÀ´£¬ÒòΪ³ÌÐòÔ±¿ÉÄÜÄÑÒÔ×·×ÙÄĶδúÂë

    ÒýÆðÁËÄĸö¸Ä±ä¡£ÎÒ²»»á´¦ÀíÕâЩ±äÁ¿£¬ÔÚʹÓÃʱ°ÑËüÃǵ±×ö³£Á¿(Ò²

    ¾ÍÊÇÊõÓï·ûºÅ»¯³£Á¿)¾Í¿ÉÒÔÁË¡£ÎªÁ˱êʶ±äÁ¿ÊÇ×÷Ϊ·ûºÅ»¯³£Á¿¶Ô´ý

    µÄ£¬¿ÉÒÔʹÓÃÌØÊâµÄÃüÃû¹æÔò¡ª¡ªÃû×ÖÖ»Óôóд×Öĸ£¬²¢ÇÒÓÃÏ»®Ïß·Ö

    ¸ôÿ¸öµ¥´Ê¡£

    ÏÈÀ´¿´¸öÀý×Ó¡£ÔÚ¼ÆËãÔ²Ãæ»ýºÍÖܳ¤µÄ³ÌÐòÖУ¬Ã¿´ÎÐèÒª¦ÐÖµµÄʱºò¶¼

    µÃдһ±é3.14¡£ÄÇôÈç¹ûºóÀ´ÐèÒª¸ü¾«È·µÄÖµ£¬±ÈÈç3.14159ʱ£¬ÓÖÔõô

    °ìÄØ£¿¹À¼Æ¾ÍµÃËÑË÷Õû¸ö´úÂ룬ȻºóÓÃеÄÖµÌæ»»¾ÉµÄ¡£Õâô×ö²»ÄÑ£¬¶øÇҺܶàÓÅÐãµÄÎı¾±à¼­Æ÷»¹ÄÜ×Ô¶¯Ìæ»»¡£µ«ÊÇÈç¹û¿ªÊ¼ÓõÄÖµÊÇ3Ôõ

    Ã´°ì£¿×ܲ»ÄܰÑËùÓÐÓë3Æ¥ÅäµÄÊý×Ö¶¼Ìæ»»³É3.14159°É£¿µ±È»²»ÄÜ¡£´¦

    ÀíÕâ¸öÎÊÌâ¸üºÃµÄ·½·¨ÊÇÓÃÏÂÃæÕâÐдúÂ뿪ʼ³ÌÐò£ºPI = 3.14£¬È»ºóʹ

    ÓÃÃû×ÖPIÌæ´úÊý×Ö±¾Éí¡£ÕâÑùÒ»À´Èç¹ûÔÚÒÔºóÒª¸ü¾«È·µÄֵʱ£¬¸Ä¶¯Õâ

    Ò»ÐоͿÉÒÔÁË¡£¼ÇסÕâÒ»µã£ºËùдµÄ³£Á¿(±ÈÈçÊý×Ö42»òÕß×Ö·û

    ´®¡°Hello, world!¡±)³öÏÖ´ÎÊý¶àÓÚÒ»´ÎµÄʱºò£¬¾ÍÓ¦¸Ã¿¼Âǽ«Ëü·ÅÈëÈ«

    ¾Ö±äÁ¿ÖС£

    ×¢Òâ ÊÂʵÉÏ£¬¦ÐµÄÖµ¿ÉÒÔÔÚmathÄ£¿éÖÐÕÒµ½£¬Ê¹ÓÃmath.pi¼´¿É£º

    >> from math import pi

    >> pi

    3.1415926535897931

    ÕâÒ»µã¿´ÆðÀ´ºÜÈÝÒ×Àí½â¡ª¡ªÃ»ÎÊÌâ¡£ÕæÕýµÄÄ¿µÄÔÚÏÂÃæ£ºÅäÖÃÎļþ¡£

    ÅäÖÃÎļþ

    Îª×Ô¼ºÊ¹Ó÷½±ãÌáÈ¡³£Á¿ÊÇÒ»ÂëÊ£¬»¹Òª¿¼ÂÇÓÐЩ³£Á¿ÊÇÒª¹«¿ª¸øÓû§

    µÄ¡£±ÈÈçÓû§²»Ï²»¶GUI³ÌÐòµÄ±³¾°É«£¬Äã¾ÍÓ¦¸ÃÔÊÐíËûÃÇ»»ÁíÍâÒ»ÖÖ

    ÑÕÉ«¡£»òÕß¿ÉÒÔÈÃÓû§ÔÚÆô¶¯ÄǺÃÍæµÄÓÎϷʱ£¬¿´µ½ËûÃÇ×Ô¼ºÉ趨µÄÎʺòÓÒÖ»òÊÇ¿ÉÒÔÔÚ¸Õ¸ÕʵÏÖµÄä¯ÀÀÆ÷Öиü¸ÄĬÈÏÆô¶¯Ò³¡£

    ÕâÀï²»Êǽ«ÕâЩÅäÖñäÁ¿·ÅÔÚÄ£¿éµÄ¿ªÍ·£¬¶øÊǽ«ËüÃÇ·ÅÔÚµ¥¶ÀµÄÎļþ

    ÖС£ÊµÏÖÕâ¸ö¹¦ÄܵÄ×î¼òµ¥·½·¨¾ÍÊÇΪÅäÖô´½¨µ¥¶ÀµÄÄ£¿é¡£ÀýÈ磬Èç

    ¹ûPIÔÚÄ£¿éÎļþconfig.pyÖÐÉ趨£¬Äã¿ÉÒÔ(ÔÚÖ÷³ÌÐòÄÚ)ÕâÑù×ö£º

    from config import PI

    Èç¹ûÓû§Ïë¸Ä±äPIµÄÖµ£¬ÄÇôËû¾ÍÖ»ÒªÐÞ¸Äconfig.py¾ÍÐУ¬¶ø²»Óÿ´Íê

    ËùÓдúÂë¡£

    ¾¯¸æ ʹÓÃÅäÖÃÎļþ¾ßÓÐÁ½ÃæÐÔ¡£Ò»·½Ã棬ÅäÖù¦ÄܺÜÓÐÓ㬵«¶ÔÕû

    ¸öÏîĿʹÓü¯ÖС¢¹²ÏíµÄ±äÁ¿¿â»áÈÃÏîÄ¿µÄÄ£¿éÐÔϽµ¡¢ÕûÌåÐÔÉÏ

    Éý¡£Ò»¶¨ÒªÈ·±£Ã»ÓÐÆÆ»µ³éÏó(±ÈÈç·â×°)¹æÔò¡£

    ÁíÍâÒ»ÖÖ·½·¨ÊÇʹÓñê×¼¿âÄ£¿éConfigParser£¬ËüµÄ×÷ÓÃÊǶÔÅäÖÃÎļþ

    Ê¹ÓÃÊʵ±µÄ±ê×¼¸ñʽ¡£Ëü½ÓÊܱê×¼µÄPython¸³ÖµÓï·¨£¬±ÈÈçÈçÏÂÐÎʽ£º

    greeting = 'Hello, world!'

    (ÕâÑùÓï¾ä»áÔÚµÄ×Ö·û´®ÖмÓÉÏÁ½¸ö¶àÓàµÄË«ÒýºÅ)ÁíÍâÒ»ÖÖÔںܶà³Ì

    ÐòÖÐʹÓõÄÅäÖøñʽÈçÏ£º

    greeting: Hello, world!

    ÐèҪʹÓÃ[files]»òÕß[colors]ÕâÑùµÄÊý¾ÝÍ·½«ÅäÖÃÎļþ»®·ÖΪ¼¸¸öÇø¶Î

    (section)¡£Ãû³Æ¿ÉÒÔËæÒâÉ趨£¬µ«ÊÇÐèÒª½«ËüÃÇÓ÷½À¨ºÅÀ¨ÆðÀ´¡£´ú

    ÂëÇåµ¥1ÊÇÒ»¸ö¼òµ¥µÄÅäÖÃÎļþʾÀý£¬Ê¹ÓÃËüµÄ³ÌÐòÈç´úÂëÇåµ¥2Ëùʾ¡£

    ÓйØConfigParserÄ£¿éÌØÐԵĸü¶àÐÅÏ¢£¬¿ÉÒÔ²éÔÄ¿âÎĵµ¡£

    ´úÂëÇåµ¥1 ¼òµ¥µÄÅäÖÃÎļþ

    [numbers]

    pi: 3.1415926535897931

    [messages]`

    greeting: Welcome to the area calculation program!

    question: Please enter the radius:

    result_message: The area is´úÂëÇåµ¥2 ʹÓÃConfigParserµÄ³ÌÐò from ConfigParser import

    ConfigParser

    CONFIGFILE = python.txt

    config = ConfigParser

    ¶ÁÈ¡ÅäÖÃÎļþ£º

    config.read(CONFIGFILE)

    ´òÓ¡³õʼµÄÎʺòÓ

    Òª²é¿´µÄÇø¶ÎÊÇ'messages'

    print config.get('messages', 'greeting')

    Ê¹ÓÃÅäÖÃÎļþµÄÒ»¸öÎÊÌâ¶ÁÈ¡°ë¾¶£º

    radius = input(config.get('messages', 'question') + ' ')

    ´òÓ¡ÅäÖÃÎļþÖеĽá¹ûÐÅÏ¢¡£

    ÒÔ¶ººÅ½áÊø£¬ÒÔÔÚͬһÐÐÏÔʾ£º

    print config.get('messages', 'result_message'), getfloat½«configֵת»»ÎªfloatÀàÐÍ£º

    print config.getfloat('numbers', 'pi') radius2

    ¶ÔÓÚ½ÓÏÂÀ´¼¸¸öÏîÄ¿µÄÅäÖò»ÔÙ׸Êö£¬µ«Êǽ¨Òé¶ÁÕßÈÃ×Ô¼ºµÄ³ÌÐò¾ßÓÐ

    ¸ßÅäÖÃÐÔ¡£ÕâÑùÒ»À´£¬Óû§¾Í¿ÉÒÔ°´ÕÕ×Ô¼ºµÄϰ¹ßʹÓóÌÐò£¬Ê¹ÓÃʱҲ

    »áÐÄÇéÓäÔᣱϾ¹Ê¹ÓÃÈí¼þ¹ý³ÌÖÐ×î´óµÄ´ìÕÛÖ®Ò»¾ÍÊDz»ÄÜÈÃÈí¼þ°´×Ô

    ¼ºÏëÒªµÄ·½Ê½¹¤×÷¡£

    ¡¶Python»ù´¡½Ì³Ì(µÚ2°æ)¡·Ç°¼¸Õ¶¼ÔÚ½éÉÜ×î»ù±¾µÄ³ÌÐòÉè¼ÆÀí

    ÄÀýÈ缫ÏÞ±à³Ì¡¢ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ£¬¶ÔÓÚûÓжàÉÙ¿ª·¢¾­Ñé»òÕß×¼±¸ÒÔPython½øÐбà³ÌÈëÃŵÄÐÂÊÖÀ´Ëµ£¬ÕâЩÕ½ÚÔòÊDz»ÈÝ´í¹ýµÄ¡£×÷Õß

    ¶ÔPythonÓïÑԵĸ÷¸ö·½ÃæµÄÆÊÎö׼ȷ¶øµ½Î»£¬¸÷²¿·Ö»á»¨Éϲ»Í¬Æª·ùÈ·

    ±£¶ÁÕßÀí½â¶øÓÖ²»»áÀË·Ñʱ¼ä¡£±¾Êé×îºóµÄ10¸öÏîÄ¿¶¼ÊÇÄѵõÄÁ·ÊÖ»ú

    »á¡ª¡ªÕâÒ²ÊDZ¾Ê鲻ͬÓÚÆäËûPython½Ì³ÌµÄÌØÉ«Ö®Ò»¡£Õâ10¸öÏîÄ¿»ù±¾

    ¸²¸ÇÁËÇ°ÃæÕ½ÚËùÌáµ½µÄ¸÷ÖÖ֪ʶµã£¬Í¬Ê±ÓÖ²»·¦È¤Î¶ÐÔºÍʵÓÃÐÔ¡£±¾

    ÎÄÕª×Ô¡¶Python»ù´¡½Ì³Ì(µÚ2°æ)¡·¡£ÎªÊ²Ã´ÒªÓÃPythonʵÏÖ»úÆ÷ѧϰËã·¨£¿

    ×÷Õß Peter Harrington

    ÓµÓÐµçÆø¹¤³ÌѧʿºÍ˶ʿѧ룬ËûÔø¾­ÔÚÃÀ¹ú¼ÓÖݺÍÖйúµÄÓ¢ÌØ¶û¹«

    Ë¾¹¤×÷7Äê¡£PeterÓµÓÐ5ÏîÃÀ¹úרÀû£¬ÔÚÈýÖÖѧÊõÆÚ¿¯ÉÏ·¢±í¹ýÎÄÕ¡£

    ËûÏÖÔÚÊÇZillabyte¹«Ë¾µÄÊ×ϯ¿ÆÑ§¼Ò£¬ÔÚ¼ÓÈë¸Ã¹«Ë¾Ö®Ç°£¬ËûÔøµ£ÈÎ2

    ÄêµÄ»úÆ÷ѧϰÈí¼þ¹ËÎÊ¡£PeterÔÚÒµÓàʱ¼ä»¹²Î¼Ó±à³Ì¾ºÈüºÍ½¨Ôì3D

    ´òÓ¡»ú¡£

    ÒëÕßÇúÑǶ«

    ÔÚд×÷¡¶»úÆ÷ѧϰʵս¡·Ê±£¬ÎÒΪʲôҪѡÔñPython×÷ΪʵÏÖ»úÆ÷ѧϰ

    Ëã·¨µÄ±à³ÌÓïÑÔÄØ£¿ÆäÔ­ÒòÖ÷Òª¿ÉÒÔ¹éÄÉΪÒÔÏÂÈýÌõ£º(1) PythonµÄÓï

    ·¨ÇåÎú£»(2) Ò×ÓÚ²Ù×÷´¿Îı¾Îļþ£»(3) ʹÓù㷺£¬´æÔÚ´óÁ¿µÄ¿ª·¢ÎÄ

    µµ¡£

    ¿ÉÖ´ÐÐα´úÂë

    Python¾ßÓÐÇåÎúµÄÓï·¨½á¹¹£¬´ó¼ÒÒ²°ÑËü³Æ×÷¿ÉÖ´ÐÐα´úÂë

    (executable pseudo-code)¡£Ä¬Èϰ²×°µÄPython¿ª·¢»·¾³ÒѾ­¸½´øÁ˺Ü

    ¶à¸ß¼¶Êý¾ÝÀàÐÍ£¬ÈçÁÐ±í¡¢Ôª×é¡¢×ֵ䡢¼¯ºÏ¡¢¶ÓÁеȣ¬ÎÞÐè½øÒ»²½±à

    ³Ì¾Í¿ÉÒÔʹÓÃÕâЩÊý¾ÝÀàÐ͵IJÙ×÷¡£Ê¹ÓÃÕâЩÊý¾ÝÀàÐÍʹµÃʵÏÖ³éÏóµÄ

    Êýѧ¸ÅÄî·Ç³£¼òµ¥¡£´ËÍ⣬¶ÁÕß»¹¿ÉÒÔʹÓÃ×Ô¼ºÊìϤµÄ±à³Ì·ç¸ñ£¬ÈçÃæ

    Ïò¶ÔÏó±à³Ì¡¢ÃæÏò¹ý³Ì±à³Ì¡¢»òÕߺ¯Êýʽ±à³Ì¡£²»ÊìϤPythonµÄ¶ÁÕß¿É

    ÒÔ²ÎÔĸ½Â¼A£¬¸Ã¸½Â¼Ïêϸ½éÉÜÁËPythonÓïÑÔ¡¢PythonʹÓõÄÊý¾ÝÀàÐÍ

    ÒÔ¼°°²×°Ö¸ÄÏ¡£PythonÓïÑÔ´¦ÀíºÍ²Ù×÷Îı¾Îļþ·Ç³£¼òµ¥£¬·Ç³£Ò×ÓÚ´¦Àí·ÇÊýÖµÐÍÊý

    ¾Ý¡£PythonÓïÑÔÌṩÁ˷ḻµÄÕýÔò±í´ïʽº¯ÊýÒÔ¼°ºÜ¶à·ÃÎÊWebÒ³ÃæµÄ

    º¯Êý¿â£¬Ê¹µÃ´ÓHTMLÖÐÌáÈ¡Êý¾Ý±äµÃ·Ç³£¼òµ¥Ö±¹Û¡£

    Python±È½ÏÁ÷ÐÐ

    PythonÓïÑÔʹÓù㷺£¬´úÂë·¶ÀýÒ²ºÜ¶à£¬±ãÓÚ¶ÁÕß¿ìËÙѧϰºÍÕÆÎÕ¡£´Ë

    Í⣬ÔÚ¿ª·¢Êµ¼ÊÓ¦ÓóÌÐòʱ£¬Ò²¿ÉÒÔÀûÓ÷ḻµÄÄ£¿é¿âËõ¶Ì¿ª·¢ÖÜÆÚ¡£

    ÔÚ¿ÆÑ§ºÍ½ðÈÚÁìÓò£¬PythonÓïÑԵõ½Á˹㷺ӦÓá£SciPyºÍNumPyµÈÐí

    ¶à¿ÆÑ§º¯Êý¿â¶¼ÊµÏÖÁËÏòÁ¿ºÍ¾ØÕó²Ù×÷£¬ÕâЩº¯Êý¿âÔö¼ÓÁË´úÂëµÄ¿É¶Á

    ÐÔ£¬Ñ§¹ýÏßÐÔ´úÊýµÄÈ˶¼¿ÉÒÔ¿´¶®´úÂëµÄʵ¼Ê¹¦ÄÜ¡£ÁíÍ⣬¿ÆÑ§º¯Êý¿â

    SciPyºÍNumPyʹÓõײãÓïÑÔ(CºÍFortran)±àд£¬Ìá¸ßÁËÏà¹ØÓ¦ÓóÌÐò

    µÄ¼ÆËãÐÔÄÜ¡£

    PythonµÄ¿ÆÑ§¹¤¾ß¿ÉÒÔÓë»æÍ¼¹¤¾ßMatplotlibЭͬ¹¤×÷¡£Matplotlib¿ÉÒÔ

    »æÖÆ2D¡¢3DͼÐΣ¬Ò²¿ÉÒÔ´¦Àí¿ÆÑ§Ñо¿Öо­³£Ê¹Óõ½µÄͼÐΡ£

    Python¿ª·¢»·¾³»¹ÌṩÁ˽»»¥Ê½shell»·¾³£¬ÔÊÐíÓû§¿ª·¢³ÌÐòʱ²é¿´ºÍ

    ¼ì²â³ÌÐòÄÚÈÝ¡£

    Python¿ª·¢»·¾³½«À´»¹»á¼¯³ÉPylabÄ£¿é£¬Ëü½«NumPy¡¢SciPyºÍ

    MatplotlibºÏ²¢ÎªÒ»¸ö¿ª·¢»·¾³¡£ÔÚ±¾ÎÄд×÷ʱ£¬Pylab»¹Ã»Óв¢Èë

    Python»·¾³£¬µ«ÊDz»Ô¶µÄ½«À´ÎÒÃǿ϶¨¿ÉÒÔÔÚPython¿ª·¢»·¾³ÕÒµ½Ëü¡£

    PythonÓïÑÔµÄÌØÉ«

    ÖîÈçMATLABºÍMathematicaµÈ¸ß¼¶³ÌÐòÓïÑÔÒ²ÔÊÐíÓû§Ö´ÐоØÕó²Ù

    ×÷£¬MATLABÉõÖÁ»¹ÓÐÐí¶àÄÚǶµÄÌØÕ÷¿ÉÒÔÇáËɵع¹Ôì»úÆ÷ѧϰӦ

    Ó㬶øÇÒMATLABµÄÔËËãËÙ¶ÈÒ²ºÜ¿ì¡£È»¶øMATLABµÄ²»×ãÖ®´¦ÊÇÈí

    ¼þ·ÑÓÃÌ«¸ß£¬µ¥¸öÈí¼þÊÚȨ¾ÍÒª»¨·ÑÊýǧÃÀÔª¡£ËäȻҲÓÐÊʺÏ

    MATLABµÄµÚÈý·½²å¼þ£¬µ«ÊÇûÓÐÒ»¸öÓÐÓ°ÏìÁ¦µÄ´óÐÍ¿ªÔ´ÏîÄ¿¡£

    JavaºÍCµÈÇ¿ÀàÐͳÌÐòÉè¼ÆÓïÑÔÒ²ÓоØÕóÊýѧ¿â£¬È»¶ø¶ÔÓÚÕâЩ³ÌÐòÉè

    ¼ÆÓïÑÔÀ´Ëµ£¬×î´óµÄÎÊÌâÊǼ´Ê¹Íê³É¼òµ¥µÄ²Ù×÷Ò²Òª±àд´óÁ¿µÄ´úÂë¡£

    ³ÌÐòÔ±Ê×ÏÈÐèÒª¶¨Òå±äÁ¿µÄÀàÐÍ£¬¶ÔÓÚJavaÀ´Ëµ£¬Ã¿´Î·â×°ÊôÐÔʱ»¹Ðè

    ÒªÊµÏÖgetterºÍsetter·½·¨¡£ÁíÍ⻹Ҫ¼Ç×ÅʵÏÖ×ÓÀ࣬¼´Ê¹²¢²»ÏëʹÓÃ×ÓÀ࣬Ҳ±ØÐëʵÏÖ×ÓÀà·½·¨¡£ÎªÁËÍê³ÉÒ»¸ö¼òµ¥µÄ¹¤×÷£¬ÎÒÃDZØÐ뻨·Ñ´ó

    Á¿Ê±¼ä±àдÁ˺ܶàÎÞÓÃÈß³¤µÄ´úÂë¡£PythonÓïÑÔÔòÓëJavaºÍCÍêÈ«²»

    Í¬£¬ËüÇåÎú¼òÁ·£¬¶øÇÒÒ×ÓÚÀí½â£¬¼´Ê¹²»ÊDZà³ÌÈËÔ±Ò²Äܹ»Àí½â³ÌÐòµÄ

    º¬Ò壬¶øJavaºÍC¶ÔÓڷDZà³ÌÈËÔ±ÔòÏñÌìÊéÒ»ÑùÄÑÓÚÀí½â¡£

    ËùÓÐÈËÔÚСѧ¶þÄê¼¶ÒѾ­Ñ§»áÁËд×÷£¬È»¶ø´ó¶àÊýÈ˱ØÐë´ÓÊÂÆäËû¸ü

    ÖØÒªµÄ¹¤×÷¡£

    ¡ª¡ª±«±È¡¤ÄÎÌØ

    Ò²ÐíijһÌ죬ÎÒÃÇ¿ÉÒÔÔÚÕâ¾ä»°Öн«¡°Ð´×÷¡±Ìæ´úΪ¡°±àд´úÂ롱£¬ËäÈ»ÓÐ

    Ð©È˶ÔÓÚ±àд´úÂëºÜ¸ÐÐËȤ£¬µ«ÊǶÔÓÚ´ó¶àÊýÈËÀ´Ëµ£¬±à³Ì½öÊÇÍê³ÉÆä

    ËûÈÎÎñµÄ¹¤¾ß¶øÒÑ¡£PythonÓïÑÔÊǸ߼¶±à³ÌÓïÑÔ£¬ÎÒÃÇ¿ÉÒÔ»¨·Ñ¸ü¶àµÄ

    Ê±¼ä´¦ÀíÊý¾ÝµÄÄÚÔÚº¬Ò壬¶øÎÞÐ뻨·ÑÌ«¶à¾«Á¦½â¾ö¼ÆËã»úÈçºÎµÃµ½Êý

    ¾Ý½á¹û¡£PythonÓïÑÔʹµÃÎÒÃǺÜÈÝÒ×±í´ï×Ô¼ºµÄÄ¿µÄ¡£

    PythonÓïÑÔµÄȱµã

    PythonÓïÑÔΨһµÄ²»×ãÊÇÐÔÄÜÎÊÌâ¡£Python³ÌÐòÔËÐеÄЧÂʲ»ÈçJava»ò

    ÕßC´úÂë¸ß£¬µ«ÊÇÎÒÃÇ¿ÉÒÔʹÓÃPythonµ÷ÓÃC±àÒëµÄ´úÂë¡£ÕâÑù£¬ÎÒÃǾÍ

    ¿ÉÒÔͬʱÀûÓÃCºÍPythonµÄÓŵ㣬Ö𲽵ؿª·¢»úÆ÷ѧϰӦÓóÌÐò¡£ÎÒÃÇ

    ¿ÉÒÔÊ×ÏÈʹÓÃPython±àдʵÑé³ÌÐò£¬Èç¹û½øÒ»²½ÏëÒªÔÚ²úÆ·ÖÐʵÏÖ»úÆ÷

    Ñ§Ï°£¬×ª»»³ÉC´úÂëÒ²²»À§ÄÑ¡£Èç¹û³ÌÐòÊǰ´ÕÕÄ£¿é»¯Ô­Ôò×éÖ¯µÄ£¬ÎÒ

    ÃÇ¿ÉÒÔÏȹ¹Ôì¿ÉÔËÐеÄPython³ÌÐò£¬È»ºóÔÙÖð²½Ê¹ÓÃC´úÂëÌæ»»ºËÐÄ´ú

    ÂëÒԸĽø³ÌÐòµÄÐÔÄÜ¡£C++ Boost¿â¾ÍÊʺÏÍê³ÉÕâ¸öÈÎÎñ£¬ÆäËûÀàËÆÓÚ

    CythonºÍPyPyµÄ¹¤¾ßÒ²¿ÉÒÔ±àдǿÀàÐ͵ÄPython´úÂ룬¸Ä½øÒ»°ãPython

    ³ÌÐòµÄÐÔÄÜ¡£

    Èç¹û³ÌÐòµÄËã·¨»òÕß˼ÏëÓÐȱÏÝ£¬ÔòÎÞÂÛ³ÌÐòµÄÐÔÄÜÈçºÎ£¬¶¼ÎÞ·¨µÃµ½

    ÕýÈ·µÄ½á¹û¡£Èç¹û½â¾öÎÊÌâµÄ˼Ïë´æÔÚÎÊÌ⣬ÄÇôµ¥´¿Í¨¹ýÌá¸ß³ÌÐòµÄ

    ÔËÐÐЧÂÊ£¬À©Õ¹Óû§¹æÄ£¶¼ÎÞ·¨½â¾öÕâ¸öºËÐÄÎÊÌâ¡£´ÓÕâ¸ö½Ç¶ÈÀ´¿´£¬Python¿ìËÙʵÏÖϵͳµÄÓÅÊÆ¾Í¸ü¼ÓÃ÷ÏÔÁË£¬ÎÒÃÇ¿ÉÒÔ¿ìËٵؼìÑéËã·¨»ò

    Õß˼ÏëÊÇ·ñÕýÈ·£¬Èç¹ûÐèÒª£¬ÔÙ½øÒ»²½ÓÅ»¯´úÂë¡£

    ¡¶»úÆ÷ѧϰʵս¡·ÔÚamazon.comµÄ»úÆ÷ѧϰƷÀàÖÐÅÅÃû16£¬Êý¾ÝÍÚ¾òÆ·

    ÀàÖÐÅÅÃû24¡£×÷ÕßPeter HarringtonÊÇÓ¢ÌØ¶ûǰÈ餳Ìʦ£¬ÓµÓÐ5ÏîÃÀ¹úר

    ÀûȨ£¬ÔøÔÚѧÊõ¿¯ÎïÉÏ·¢±í¹ý¶àƪÎÄÕ¡£±¾Êé¹²ËIJ¿·Ö£¬½²Êö¼à¶½Ñ§Ï°

    ºÍÎ޼ලѧϰ£¬Éæ¼°k½üÁÚËã·¨¡¢¾ö²ßÊ÷¡¢ÆÓËØ±´Ò¶Ë¹Ëã·¨¡¢Ö§³ÖÏòÁ¿

    »ú¡¢AdaBoostËã·¨¡¢k¾ùÖµ¡¢·ÖÀà»Ø¹éÊ÷µÈÊ®¼¸ÖÖËã·¨£¬½²ÊöÿÖÖËã·¨

    Ê±¶¼ÅäÓоßÌåʾÀý¡£±¾ÎÄÕª×Ô¡¶»úÆ÷ѧϰʵս¡·¡£µÚÒ»¸öº¢×ӵijöÉúʱ¼äÑо¿£º³ÌÐòÔ±µÄͳ¼ÆË¼Î¬

    Á·Ï°

    ×÷Õß Allen Downey

    Allen B. DowneyÊǸ»À¼¿ËÁÖÅ·ÁÖ¹¤³ÌѧԺµÄ¼ÆËã»ú¿ÆÑ§¸±½ÌÊÚ£¬ÔøÖ´

    ½ÌÓÚΤ¶û˹ÀûѧԺ¡¢¿Æ¶û±ÈѧԺºÍ¼ÓÖÝ´óѧ²®¿ËÀû·ÖУ¡£ËûÏȺó»ñÂé

    Ê¡Àí¹¤Ñ§Ôº¼ÆËã»ú¿ÆÑ§Ë¶Ê¿Ñ§Î»ºÍ¼ÓÖÝ´óѧ²®¿ËÀû·ÖУ¼ÆËã»ú¿ÆÑ§²©

    Ê¿Ñ§Î»¡£DowneyÒѳö°æÊ®Óà±¾¼¼ÊõÊ飬ÄÚÈÝÉæ¼°Java¡¢Python¡¢C++¡¢¸ÅÂÊͳ¼ÆµÈ¡£ËûÊÇ×ÔÓÉÊé¼®µÄ³«µ¼Õߣ¬Ò²ÊÇGoogle¹«Ë¾Ç°¿Í×ù

    ¿ÆÑ§¼Ò¡£ËûµÄ×îÐÂThinkϵÁÐÊ黹ÓÐThink Complexity, Think Python

    µÈ¡£

    ÒëÕß ÕŽ£·æ¡¢³Â¸Ö

    Èç¹ûÔÚGoogleÉÏËÑË÷Õâ¸öÎÊÌ⣬Äã»á¿´µ½´óÁ¿µÄÏà¹ØÌÖÂÛ¡£ÓÐЩÈË˵ȷ

    ÊµÈç´Ë£¬Ò²ÓÐÈË˵Õâû¸ù¾Ý£¬»¹ÓÐÈ˳ÖÍêÈ«Ïà·´µÄ¹Ûµã£ºµÚÒ»¸öº¢×Ó»á

    ÔÚÔ¤²úÆÚ֮ǰ³öÉú¡£

    ÔÚÕâÀàÌÖÂÛÖУ¬ÈËÃÇ»áÓø÷ÖÖÊý¾ÝÀ´Ö¤Ã÷×Ô¼ºµÄ˵·¨£¬³£¼ûµÄÀý×ÓÈç

    Ï¡£

    ¡°ÎÒÓÐÁ½¸öÅóÓÑ×î½ü¶¼¸ÕÉúÁ˵ÚÒ»¸öº¢×Ó£¬Á½¸ö±¦±¦µÄ³öÉúʱ¼ä¶¼±È

    Ô¤²úÆÚÍíÁ˲¶àÁ½ÖÜ¡£¡±

    ¡°ÎҵĵÚÒ»¸öº¢×ÓÍíÁËÁ½ÖܲųöÉú£¬ÎÒÏëÎҵĵڶþ¸öº¢×Ó»áÌáǰÁ½

    ÖÜ¡£¡±

    ¡°ÎÒ¾õµÃÕâûµÀÀí£¬ÒòΪÎÒ½ã½ãÊÇÎÒÂèÂèµÄµÚÒ»¸öº¢×Ó£¬Ëý¾ÍÌáǰ³öÉúÁË£¬Îҵö±í½ãÒ²Ò»Ñù¡£¡±

    ÖîÈç´ËÀàµÄ´«ÎųÆÎª¾­Ñé̸֮(anecdotal evidence)£¬ÒòΪËüÃÇ»ùÓÚ·Ç

    ¹«¿ª·¢±íµÄÊý¾Ý£¬¶øÇÒͨ³£ÊǸöÈ˸ÐÊÜ¡£ÔÚ·ÇÕýʽ³¡ºÏ£¬ÕâÀà˵´ÇûÎÊ

    Ì⣬ËùÒÔÕâÀï²¢²»ÊÇ˵ÉÏÊö¹Ûµã²»¶Ô¡£ÎÊÌâÔÚÓÚ£¬ÎÒÃÇÐèÒª¸üÓÐ˵·þÁ¦

    µÄÖ¤¾ÝºÍ¸ü¿É¿¿µÄ½áÂÛ¡£µ«ÕâЩ¾­Ñé̸֮ÏÔÈ»×ö²»µ½ÕâÒ»µã£¬Ô­ÒòÈç

    Ï¡£

    ¹Û²ìµÄÊýÁ¿Ì«ÉÙ

    µÚһ̥±¦±¦µÄÈÑÉïÆÚ±È½Ï³¤£¬µ«ÕâÖÖ²îÒì¿ÉÄÜÔÚ×ÔÈ»²¨¶¯·¶Î§ÄÚ¡£

    ÕâÖÖÇé¿öÏ£¬ÎÒÃÇÐèÒª±È½Ï´óÁ¿Ôи¾µÄÈÑÉïÆÚÊý¾Ý²ÅÄÜÅжÏÕâÖÖ²î

    ÒìÊÇ·ñÕæµÄ´æÔÚ¡£

    Ñ¡ÔñÆ«²î

    µÚһ̥±¦±¦³öÉú±È½ÏÍíµÄ¸¸Ä¸»á¸üÓÐÐËȤ¼ÓÈëÕâÑùµÄÌÖÂÛ¡£ÕâÖÖ¶Ô

    Êý¾Ý½øÐÐÑ¡ÔñµÄ¹ý³Ì¾Í»áµ¼Ö½á¹û²»×¼È·¡£

    È·ÈÏÆ«²î

    ÏàÐÅÕâÖÖ˵·¨µÄÈË»áÌṩ֧³ÖʾÀý£¬¶ø»³ÒÉÕâÖÖ˵·¨µÄÈËÔò»áÒýÓÃ

    ·´Àý¡£

    ²»×¼È·

    ´«ÎÅͨ³£¶¼ÊǸöÈ˵ľ­Àú£¬ÔÚ¼ÇÒä¡¢±íÊöºÍ¸´ÊöµÈ·½Ãæ¶¼»á²»×¼

    È·¡£

    ÄÇô£¬¸üºÃµÄ×ö·¨ÊÇÊ²Ã´ÄØ£¿

    Í³¼Æ·½·¨

    ÎªÁ˽â¾öÉÏÊö¾­Ñé̸֮µÄÖÖÖÖ²»×㣬ÎÒÃÇ»áÔËÓÃÒÔÏÂͳ¼ÆÑ§ÊֶΡ£

    ÊÕ¼¯Êý¾Ý

    Ê¹ÓôóÐÍÈ«¹úÐÔµ÷²éµÄÊý¾Ý£¬ÕâЩÊý¾ÝÊÇΪµÃ³öÃÀ¹úÈ˿ڷ½Ãæ¿É¿¿

    µÄͳ¼ÆÍƶ϶ø×¨ÃÅÊÕ¼¯µÄ¡£ÃèÊöÐÔͳ¼Æ

    ¼ÆËãÄÜ×ܽáÊý¾ÝµÄͳ¼ÆÁ¿£¬²¢ÆÀ²â¸÷ÖÖÊý¾Ý¿ÉÊÓ»¯µÄ·½·¨¡£

    Ì½Ë÷ÐÔÊý¾Ý·ÖÎö

    Ñ°ÕÒģʽ¡¢²îÒìºÍÆäËûÄܽâ´ðÎÒÃÇÎÊÌâµÄÌØÕ÷¡£Í¬Ê±£¬ÎÒÃÇ»á¼ì²é

    ²»Ò»ÖÂÐÔ£¬²¢È·ÈÏÆä¾ÖÏÞÐÔ¡£

    ¼ÙÉè¼ìÑé

    ÔÚ·¢ÏÖÃ÷ÏÔµÄÓ°Ïìʱ(±ÈÈçÁ½¸ö×åȺ¼äµÄ²îÒì)£¬ÎÒÃÇÐèÒªÆÀÅÐÕâ

    ÖÖÓ°ÏìÊÇ·ñÕæÊµ£¬Ò²¾ÍÊÇ˵ÊÇ·ñÊÇÒòÎªËæ»úÒòËØÔì³ÉµÄ¡£

    ¹À¼Æ

    ÎÒÃÇ»áÓÃÑù±¾Êý¾ÝÍÆ¶ÏÈ«²¿È˿ڵÄÌØÕ÷¡£

    Í¨¹ýÕâЩ²½Öè£¬ÈÆ¹ý¸÷ÖÖÏÝÚ壬ÎÒÃǾÍÄܵõ½¸ü¼ÓºÏÀíÒ²¸ü¿ÉÄÜÕýÈ·µÄ

    ½áÂÛ¡£

    È«¹ú¼ÒÍ¥³É³¤µ÷²é

    ÃÀ¹ú¼²²¡¿ØÖÆÓëÔ¤·ÀÖÐÐÄ(CDC)´Ó1973Äê¿ªÊ¼ÍÆÐÐÈ«¹ú¼ÒÍ¥³É³¤µ÷²é

    (NSFG)£¬Ä¿µÄÊÇÊÕ¼¯(ÃÀ¹ú)¡°¼ÒÍ¥µÄÉú»î¡¢»éÒö×´¿ö¡¢ÉúÓý¡¢±ÜÔÐ

    ºÍÄÐÅ®½¡¿µÐÅÏ¢¡£µ÷²éµÄ½á¹ûÓÃÓÚ¡­¡­Öƶ¨½¡¿µ·þÎñºÍ½¡¿µ½ÌÓý¼Æ»®£¬ÒÔ¼°¶Ô¼ÒÍ¥¡¢ÉúÓýºÍ½¡¿µµÄͳ¼ÆÑо¿¡±¡£1

    1 ²Î¼û http:cdc.govnchsnsfg.htm¡£

    ÎÒÃÇ»áÀûÓõ÷²éÊÕ¼¯µÄÊý¾ÝÀ´Ñо¿ÖîÈç¡°µÚÒ»¸öСº¢ÊÇ·ñ³öÉúµÃ½ÏÍí¡±Ö®

    ÀàµÄÎÊÌ⡣ΪÁËÓÐЧʹÓÃÕâЩÊý¾Ý£¬ÎÒÃÇÐèÒªÀí½âÕâ¸öµ÷²éÊÇÔõôÉè¼Æ

    µÄ¡£

    NSFGÊÇÒ»¸öºá¶ÏÃæÑо¿(cross-sectional study)£¬Òâ˼¾ÍÊÇËüµÄÊý¾ÝÊÇ

    Ò»ÈºÈËÔÚij¸öʱ¼äµãµÄÇé¿ö¡£ÁíÒ»ÖÖ³£¼û·½·¨ÊÇ×ݹáÑо¿(longitudinal

    study)£¬¾ÍÊÇÔÚÒ»¶Îʱ¼äÄÚ·´¸´¹Û²ìͬһȺÈË¡£

    NSFGÒѾ­½øÐÐÁË7´Î£¬Ã¿´Î³ÆÎªÒ»¸öÖÜÆÚ(cycle)¡£ÎÒÃÇ»áʹÓÃÀ´×ÔCycle 6µÄÊý¾Ý£¬ÕâЩÊý¾ÝÊÇÔÚ2002Äê1Ôµ½2003Äê3Ô¼äÊÕ¼¯µÄ¡£

    NSFGµÄÄ¿µÄÊǵõ½¹ØÓÚÈË¿ÚÇé¿öµÄһЩ½áÂÛ£¬µ÷²é¶ÔÏóÊÇ15µ½44ËêµÄ

    ÃÀ¹úÈË¡£

    ²ÎÓëµ÷²éµÄÈ˳ÆÎª±»µ÷²éÕß(respondent)£¬Ò»×é±»µ÷²éÕ߾ͳÆÎª¶ÓÁÐ

    (cohort)¡£Í¨³££¬ºá¶ÏÃæÑо¿ÒâζמßÓдú±íÐÔ£¬¼´Ä¿±êÈËȺÖеÄÿ

    Ò»¸öÈ˶¼ÓÐͬµÈµÄ¼¸ÂʲÎÓëµ÷²é¡£µ±È»£¬Êµ¼ÊºÜÄÑʵÏÖÕâÖÖÀíÏë×´¿ö£¬µ«Ö´Ðе÷²éµÄÈ˻ᾡ¿ÉÄܵØ×öµ½ÕâÒ»µã¡£

    NSFG²»¾ßÓдú±íÐÔ£¬¶øÊÇÓÐÒâ½øÐÐÁ˹ý²ÉÑù(oversample)¡£Éè¼ÆÕß

    Ëùµ÷²éµÄÎ÷°àÑÀÒá¡¢·ÇÒáÃÀ¹úÈ˺ÍÇàÉÙÄêµÄ±ÈÀý¶¼¸ßÓÚËûÃÇÔÚÃÀ¹úÈË¿Ú

    ÖеıÈÀý¡£¹ý²ÉÑùÕâЩÈËȺÊÇΪÁËÈ·±£ÆäÖеı»µ÷²éÕßÊýÁ¿¹»´ó£¬´Ó¶ø

    µÃµ½ÓÐЧµÄͳ¼ÆÍƶϡ£

    µ±È»£¬¹ý²ÉÑùÔö´óÁ˸ù¾Ýµ÷²é½á¹ûÍÆ¶ÏÈ«ÌåÈ˿ڽáÂÛµÄÄѶȡ£ÉÔºòÎÒÃÇ

    »á¼ÌÐøÌÖÂÛÕâÒ»µã¡£

    Ï°Ìâ1

    ¾¡¹ÜNSFGÒѾ­½øÐÐÁË7´Î£¬µ«Ëü²¢²»ÊÇ×ݹáÑо¿¡£ÔĶÁά»ù°Ù¿ÆÒ³Ãæ¹Ø

    ÓÚºá¶ÏÃæÑо¿ºÍ×ÝÏòÑо¿¿ÉÒÔŪÇå³þÔ­Òò¡£

    Ï°Ìâ2

    Õâ¸öÁ·Ï°ÐèÒª´ÓNSFGÏÂÔØÊý¾Ý¡£

    1. ´ò¿ªhttp:thinkstats.comnsfg.html£¬ÔĶÁÊý¾ÝµÄʹÓÃЭÒ飬Ȼºóµã

    »÷¡°I accept these terms¡±(¼ÙÉèÄãȷʵͬÒâ)¡£

    2. ÏÂÔØ2002FemResp.dat.gzºÍ2002FemPreg.dat.gzÁ½¸öÎļþ¡£Ç°ÕßÊDZ»

    µ÷²éÕßÎļþ£¬Ã¿Ò»Ðдú±íÒ»¸ö±»µ÷²éÕߣ¬×ܹ²7643¸öÅ®ÐÔ±»µ÷²é

    Õß¡£ºóÕßÊǸ÷¸ö±»µ÷²éÕߵϳÔÐÇé¿ö¡£

    3. µ÷²éµÄÔÚÏß×ÊÁϵØÖ·£ºhttp:www.icpsr.umich.edunsfg6¡£ä¯ÀÀ×ó²à

    µ¼º½À¸Öе÷²éµÄ¸÷²¿·Ö£¬´óÖÂÁ˽âÒ»ÏÂÆäÖеÄÄÚÈÝ¡£»¹¿ÉÒÔ

    ÔÚhttp:www.cdc.govnchsdatansfgnsfg_2002_questionnaires.htmÉÏ

    ÔĶÁµ÷²éÎʾíµÄÄÚÈÝ¡£4. ÅäÌ×ÍøÕ¾ÌṩÁË´¦ÀíNSFGÊý¾ÝÎļþµÄ´úÂë¡£´Ó

    http:thinkstats.comsurvey.pyÏÂÔØ£¬È»ºóÔÚ·ÅÖÃÊý¾ÝÎļþµÄĿ¼ÖÐ

    ÔËÐС£³ÌÐò»á¶ÁÈ¡Êý¾ÝÎļþ£¬È»ºó»áÏÔʾÿ¸öÎļþµÄÐÐÊý£º

    Number of respondents 7643

    Number of pregnancies 13593

    5. ä¯ÀÀһϴúÂ룬´óÖÂÁ˽âÒ»ÏÂÆä¹¦ÄÜ¡£ÏÂÒ»½Ú»áÏêϸ½éÉÜ¡£

    ±íºÍ¼Ç¼

    Ê«ÈË¡¢ÕÜѧ¼ÒSteve MartinÔøËµ£º

    ¡°Oeuf¡±¾ÍÊÇegg£¬¡°chapeau¡±¾ÍÊÇhat¡£ºÃÏñËùÓеĶ«Î÷ÔÚ·¨ÓïÖж¼¸úÔÚ

    Ó¢ÓïÖеĽз¨²»Ò»Ñù¡£

    ¸ú·¨ÓïÒ»Ñù£¬Êý¾Ý¿â³ÌÐòÔ±µÄÓïÑÔÒ²¸úÎÒÃǵÄÈÕ³£ÓïÑÔÉÔÓв»Í¬¡£ÒòΪ

    ÎÒÃÇҪ̸µ½Êý¾Ý¿â£¬ËùÒÔÓбØÒªÑ§Ï°Ò»Ð©×¨ÒµÊõÓï¡£

    ±»µ÷²éÕßÎļþÖеÄÿһÐж¼±íʾһ¸ö±»µ÷²éÕß¡£ÕâÐÐÐÅÏ¢³ÆÎªÒ»Ìõ¼Ç¼

    (record)£¬×é³É¼Ç¼µÄ±äÁ¿³ÆÎª×Ö¶Î(field)£¬Èô¸É¼Ç¼µÄ¼¯ºÏ¾Í×é

    ³ÉÁËÒ»¸ö±í(table)¡£

    ¿´Ò»ÏÂsurvey.pyÖеĴúÂ룬¾Í»á¿´µ½RecordºÍTableÕâÁ½¸öÀàµÄ¶¨Ò壬ǰ

    ÕßÊÇ´ú±í¼Ç¼µÄ¶ÔÏ󣬺óÕßÔòÊDZíʾ±íµÄ¶ÔÏó¡£

    RecordÓÐÁ½¸ö×ÓÀ࣬·Ö±ðÊÇRespondentºÍPregnancy£¬Á½Õß·Ö±ðÊDZ»µ÷²é

    Õߺͻ³ÔеļǼ¡£Ä¿Ç°ÕâЩÀàÔÝʱ»¹Êǿյ쬯äÖл¹Ã»ÓÐÓÃÓÚ³õʼ»¯Æä

    ÊôÐÔµÄinit·½·¨¡£ÎÒÃÇ»áÓÃTable.MakeRecord·½·¨½«Ò»ÐÐÎı¾×ª»»³ÉÒ»¸ö

    Record¶ÔÏó¡£

    TableÒ²ÓÐÁ½¸ö×ÓÀàRespondentsºÍPregnancies¡£ÕâÁ½¸öÀàµÄinit·½·¨ÉèÖÃ

    ÁËÊý¾ÝÎļþµÄĬÈÏÃû³ÆºÍÒª´´½¨µÄ¼Ç¼µÄÀàÐÍ¡£Ã¿¸öTable¶ÔÏó¶¼ÓÐÒ»

    ¸örecordsÊôÐÔ£¬ÊÇÒ»¸öRecord¶ÔÏóµÄÁÐ±í¡£

    Ã¿¸öTableµÄGetFields·½·¨·µ»ØÒ»¸öÖ¸¶¨¼Ç¼×ֶεÄÔª×é(tuple)ÁÐ±í£¬ÕâЩ×ֶξÍÊÇRecord¶ÔÏóµÄÊôÐÔ¡£

    ÀýÈ磬ÏÂÃæÊÇPregnancies.GetFields£ºdef GetFields(self):

    return [

    ('caseid', 1, 12, int),('prglength', 275, 276, int),('outcome', 277, 277, int),('birthord', 278, 279, int),('finalwgt', 423, 440, float),]

    µÚÒ»¸öÔª×éµÄÒâ˼´ÓµÚ1Áе½µÚ12ÁÐÊÇcaseid×ֶΣ¬ÇÒÀàÐÍΪÕûÊý¡£Ã¿¸ö

    Ôª×é°üº¬ÈçÏÂÐÅÏ¢¡£

    field

    ±£´æ¸Ã×ֶεÄÊôÐÔµÄÃû³Æ¡£´ó²¿·ÖÇé¿öÏ£¬ÎÒʹÓÃNSFG±àÂëÊÖ²á

    ÖеÄÃû³Æ£¬È«²¿ÓÃСд¡£

    start

    ¸Ã×Ö¶ÎµÄÆðʼÁбàºÅ¡£ÀýÈ磬caseidµÄÆðʼ±àºÅÊÇ1¡£¿ÉÒÔÔÚNSFG

    ±àÂëÊÖ²áÖвéѯÕâЩ±àºÅ£ºhttp:www.icpsr.umich.edunsfg6¡£

    end

    ¸Ã×ֶεĽáÊøÁбàºÅ¡£ÀýÈ磬caseidµÄ½áÊøÁбàºÅÊÇ12¡£¸úPython

    Öв»Ò»Ñù£¬ÕâÀïµÄ½áÊøÁÐÒ²ÊǸÃ×ֶεÄÒ»²¿·Ö¡£

    ×ª»»º¯Êý

    ½«×Ö·û´®×ª»»³ÉÆäËûÀàÐ͵ĺ¯Êý¡£¿ÉÒÔÓÃÄÚÖõĺ¯Êý£¬±ÈÈçintºÍ

    float£¬Ò²¿ÉÒÔʹÓÃÓû§×Ô¶¨ÒåµÄº¯Êý¡£Èç¹ûת»»Ê§°Ü£¬ÊôÐÔµÄÖµ¾Í

    »áÊÇ×Ö·û´®'NA'¡£Èç¹ûij¸ö×ֶβ»ÐèҪת»»£¬¿ÉÒÔʹÓÃidentityº¯Êý

    »òÊÇstrº¯Êý¡£

    ´Ópregnancy¼Ç¼ÖпÉÒԵõ½ÒÔϱäÁ¿¡£

    caseid

    ±»µ÷²éÕßµÄÕûÊýID¡£prglength

    »³ÔÐÖÜÆÚ£¬µ¥Î»ÊÇÖÜ¡£

    outcome

    »³Ôнá¹ûµÄÕûÊý´úÂë¡£´úÂë1±íʾ»îÓ¤¡£

    birthord

    Õý³£³öÉúµÄÓ¤¶ùµÄ˳Ðò¡£ÀýÈ磬µÚһ̥Ӥ¶ùµÄ±àºÅÊÇ1¡£Èç¹ûûÓÐ

    Õý³£³öÉú£¬¸Ã×Ö¶ÎΪ¿Õ¡£

    finalwgt

    ±»µ÷²éÕßµÄͳ¼ÆÈ¨ÖØ¡£ÕâÊÇÒ»¸ö¸¡µãÖµ£¬±íʾÕâÃû±»µ÷²éÕßËù´ú±í

    µÄÈËȺÔÚÃÀ¹ú×ÜÈË¿ÚÖеıÈÀý¡£¹ý²ÉÑùÈËȺµÄÈ¨ÖØÆ«µÍ¡£

    Èç¹ûÄã×ÐϸÔĶÁ±àÂëÊֲᣬ¾Í»á·¢ÏÖÕâЩ±äÁ¿´ó²¿·Ö¶¼¾­¹ýÁËÖØ±à

    Âë(recode)£¬Ò²¾ÍÊÇ˵Õâ²¢²»Êǵ÷²éËù²É¼¯µÄԭʼÊý¾Ý£¬¶øÊǸù

    ¾ÝԭʼÊý¾Ý¼ÆËã³öÀ´µÄ¡£

    ÀýÈ磬µÚһ̥»îÓ¤µÄprglengthÔÚԭʼÊý¾ÝÖÐÓбäÁ¿wksgest(ÈÑÉïÖÜÊý)

    Ê±¾ÍµÈÓڸñäÁ¿µÄÖµ£¬·ñÔò¾Í»áÓÃmosgest 4.33(ÈÑÉïÔÂÊý³ËÒÔÿ¸öÔÂ

    µÄƽ¾ùÖÜÊý)¹À¼Æ³öÀ´¡£

    ÖرàÂëͨ³£×ñÑ­Êý¾ÝÒ»ÖÂÐÔºÍ׼ȷÐÔÔ­Ôò¡£³ý·ÇÓÐÌØ±ðÔ­ÒòÒ»¶¨ÒªÊ¹ÓÃ

    Ô­Ê¼Êý¾Ý£¬·ñÔò¾ÍÓ¦¸ÃÖ±½ÓʹÓÃÖØ±àÂëºóµÄÊý¾Ý¡£

    Äã¿ÉÄÜ»¹·¢ÏÖÁËPregnanciesÓÐRecode·½·¨£¬ÓÃÀ´×öһЩÆäËûµÄ¼ì²éºÍÖØ

    ±àÂ빤×÷¡£

    Ï°Ìâ3

    ÔÚÕâ¸öÁ·Ï°ÖУ¬ÎÒÃÇ»á±àдһ¸ö³ÌÐòÀ´¿´¿´Pregnancies±íÖеÄÊý¾Ý¡£

    1. ÔÚsurvey.pyºÍÊý¾ÝÎļþµÄĿ¼Öд´½¨Ò»¸öfirst.pyÎļþ£¬È»ºó½«ÏÂÃæ

    µÄ´úÂëÊäÈë»ò¸´ÖƵ½ÎļþÖУº

    import surveytable = survey.Pregnancies

    table.ReadRecords

    print 'Number of pregnancies', len(table.records)

    ½á¹ûÓ¦¸ÃÊÇ13 593Ìõ»³ÔмǼ¡£

    2. ±àдһ¸öÑ­»·±éÀú±í(table)£¬¼ÆËãÆäÖлîÓ¤µÄÊýÁ¿¡£²éÔÄÁÙ´²½á

    ¹û(outcome)µÄÎĵµ£¬È·ÈÏÄãµÄ½á¹û¸úÎĵµÖеÄ×ܽáÒ»Ö¡£

    3. ÐÞ¸ÄÕâ¸öÑ­»·£¬½«»îÓ¤µÄ¼Ç¼·Ö³ÉÁ½×飺һ×éÊǵÚһ̥³öÉú£»ÁíÒ»

    ×éÊÇÆäËûÇé¿ö¡£ÔÙ¿´Ò»Ð©³öÉú˳Ðò(birthord)µÄÎĵµ£¬¿´¿´ÄãµÄ

    ½á¹û¸úÎĵµÖеĽá¹ûÊÇ·ñÒ»Ö¡£

    ÔÚ´¦ÀíеÄÊý¾Ý¼¯Ê±£¬ÕâÖÖ¼ì²é¶ÔÓÚ·¢ÏÖÊý¾ÝÖеĴíÎóºÍ²»Ò»ÖÂ

    ÐÔ¡¢¼ì²é³ÌÐòÖеĴíÎóÒÔ¼°¼ìÑé¶Ô×ֶαàÂ뷽ʽµÄÀí½âÊÇ·ñÕýÈ·µÈ

    ¶¼ÊǺÜÓÐÓõġ£

    4. ·Ö±ð¼ÆËãµÚһ̥±¦±¦ºÍÆäËû±¦±¦µÄƽ¾ù»³ÔÐÖÜÆÚ(µ¥Î»ÊÇÖÜ)¡£Á½

    ×éÖ®¼äÓвîÒìÂ𣿲îÒìÓжà´ó£¿

    ´Óhttp:thinkstats.comfirst.py¿ÉÏÂÔØÕâ¸öÁ·Ï°µÄ´ð°¸¡£

    ÏÔÖøÐÔ

    ÔÚÇ°ÃæµÄÁ·Ï°ÖУ¬ÎÒÃDZȽÏÁ˵Úһ̥±¦±¦ºÍÆäËû±¦±¦µÄÈÑÉïÆÚ¡£Èç¹ûÒ»

    ÇÐ˳Àû£¬¶ÁÕ߻ᷢÏÖµÚһ̥±¦±¦µÄ³öÉúʱ¼ä±ÈÆäËû±¦±¦µÄ³öÉúʱ¼äƽ¾ù

    Íí13¸öСʱ¡£

    ÀàËÆÕâÑùµÄ²îÒì³ÆÎªÖ±¹ÛЧӦ(apparent effect)£¬Òâ˼¾ÍÊÇËÆºõ·¢ÉúÁË

    ÓÐÒâ˼µÄÊÂÇ飬µ«»¹²»È·¶¨¡£ÎÒÃÇ»¹ÐèÒª¿¼ÂÇÒÔÏÂÎÊÌâ¡£

    Èç¹ûÁ½×éµÄ¾ùÖµ²»Ò»Ñù£¬ÆäËû»ã×Üͳ¼ÆÁ¿ÈçºÎ£¬±ÈÈçÖÐÖµºÍ·½²î£¿

    ÎÒÃÇÄܸü¾«È·µØÃèÊöËüÃÇÖ®¼äµÄ²îÒìÂð£¿

    ÓÐûÓпÉÄÜÕâÁ½×éʵ¼ÊÉÏÊÇÒ»ÑùµÄ£¬¶øÎÒÃÇËù¹Û²ìµ½µÄÕâÖÖ²îÒìÖ»

    ÊÇËæ»ú²úÉúµÄ£¿Èç¹ûÊÇ£¬ÄÇÕâ¸ö½áÂ۾Ͳ»ÊÇͳ¼ÆÏÔÖøµÄ¡£

    ÕâÖÖÖ±¹ÛЧӦÓÐûÓпÉÄÜÊÇÒòΪѡÔñÆ«²î»òÊÇʵÑéÉèÖÃÖеĴíÎóµ¼

    Öµģ¿Èç¹ûÊÇ£¬ÄÇôÕâÖÖÖ±¹ÛЧӦ¾ÍÊÇÈËΪµÄ£¬Ò²¾ÍÊÇÎÒÃÇÒâÍâ´´

    ÔìµÄ£¬¶ø²¢·Ç·¢ÏÖÁËÊÂʵ¡£Ï°Ìâ4

    Ñ§Ï°Í³¼ÆÑ§µÄ×îºÃ·½·¨¾ÍÊÇ´ÓÒ»¸ö×Ô¼º¸ÐÐËȤµÄÏîÄ¿¿ªÊ¼¡£ÓÐûÓС°µÚ

    Ò»Ì¥±¦±¦³öÉú½ÏÍí¡±ÕâÀàÎüÒýÄãµÄÎÊÌâÀ´Ñо¿£¿

    Ë¼¿¼×Ô¼º¸ÐÐËȤµÄÎÊÌ⣬ÀýÈ紫ͳ¹ÛÄî¡¢ÓÐÕùÒéµÄ»°Ìâ»òÊÇÓÐÉç»áÓ°Ïì

    µÄÎÊÌ⣬¿´¿´ÄãÄÜ·ñ½«ÕâЩÎÊÌâת»»³Éͳ¼ÆÑ§ÎÊÌâ¡£

    Ñ°ÕÒÄܽâ¾ö¸ÃÎÊÌâµÄÊý¾Ý¡£¹úÍâÕþ¸®ÊǺܺõÄÊý¾ÝÀ´Ô´£¬ÒòΪ¹«¹²Ñо¿

    µÄÊý¾Ýͨ³£¶¼ÊÇÃâ·ÑµÄ2¡£ÁíÒ»¸ö²éÕÒÊý¾ÝµÄºÃÈ¥´¦ÊÇWolfram Alpha£¬ÆäÖÐÊÕ¼¯Á˺ܶྭ¹ýÑéÖ¤µÄ¸ßÖÊÁ¿µÄÊý¾Ý¼¯£¬ÍøÖ·

    ÊÇhttp:wolframalpha.com¡£Wolfram AlphaµÄËÑË÷½á¹ûÊÇÓаæÈ¨ÏÞÖÆ

    µÄ£¬ÔÚʹÓÃ֮ǰӦ¸ÃÔĶÁÒ»ÏÂЭÒé¡£

    2 ÔÚ׫дÕâ¶ÎÄÚÈݵÄʱºò£¬Ó¢¹úij·¨Ôº¹æ¶¨¡°ÐÅÏ¢×ÔÓÉ·¨°¸¡±(Freedom of Information Act)Ò²ÊÊ

    ÓÃÓÚ¿ÆÑ§Ñо¿Êý¾Ý¡£

    GoogleºÍÆäËûµÄһЩËÑË÷ÒýÇæÒ²ÄܰïÄãѰÕÒÊý¾Ý£¬µ«ÍøÂçÉϸ÷ÖÖ×ÊÔ´µÄ

    ÖÊÁ¿¸ßµÍ²»Ò»£¬ÅÐ¶ÏÆðÀ´²»ÈÝÒס£

    Èç¹û·¢ÏÖÒѾ­ÓÐÈ˻شðÁËÄãµÄÎÊÌ⣬Ҫ×Ðϸ¿´¿´»Ø´ðÊÇ·ñºÏÀí¡£Êý¾ÝºÍ

    ·ÖÎöÖеÄȱÏÝ¿ÉÄܻᵼÖ½áÂÛ²»¿É¿¿¡£Èç¹ûÊÇÕâÑù£¬ÄãÓ¦¸Ã²ÉÓò»Í¬µÄ

    ·½·¨À´·ÖÎöÊý¾Ý£¬»òÕßÊÇѰÕÒÆäËû¸üºÃµÄÊý¾ÝÀ´Ô´¡£

    Èç¹ûÒÑ·¢±íµÄÂÛÎĻشðÁËÄãµÄÎÊÌ⣬ÄǾÍÓ¦¸ÃÄÜŪµ½Ô­Ê¼Êý¾Ý£¬ºÜ¶à×÷

    Õß¶¼»áÔÚÍøÉÏÌṩ¡£µ«Èç¹ûÊý¾ÝÉæ¼°¸öÈËÒþ˽£¬×îºÃÁªÏµÒ»ÏÂ×÷Õߣ¬¸æ

    ËßËûÄãÒªÈçºÎʹÓÃÊý¾Ý£¬»òÊǽÓÊÜÌØ¶¨µÄʹÓÃЭÒé¡£¼á³Öµ½µ×!

    ¡¶Í³¼ÆË¼Î¬£º³ÌÐòÔ±Êýѧ֮¸ÅÂÊͳ¼Æ¡·ÊÇÒ»±¾ÒÔÈ«ÐÂÊӽǽ²½â¸ÅÂÊͳ¼Æ

    µÄÈëÃÅͼÊé¡£Å׿ª¾­µäµÄÊýѧ·ÖÎö£¬DowneyÊÖ°ÑÊÖ½ÌÄãÓñà³ÌÀí½âͳ

    ¼ÆÑ§¡£¸ÅÂÊ¡¢·Ö²¼¡¢¼ÙÉè¼ìÑé¡¢±´Ò¶Ë¹¹À¼Æ¡¢Ïà¹ØÐԵȣ¬Ã¿¸öÖ÷Ìâ¶¼³ä

    ÂúȤζÐÔ£¬¾­±à³Ì½âÊͺó±äµÃ¸üΪÇåÎúÒ×¶®¡£

    ±¾ÊéÑо¿Êý¾ÝÖ÷ÒªÀ´Ô´ÓÚÃÀ¹úÈ«¹ú¼ÒÍ¥³É³¤µ÷²é(NSFG)ÓëÐÐΪ·çÏÕ

    ÒòËØ¼à²âϵͳ(BRFSS)£¬Êý¾ÝÔ´¼°½â¾ö·½°¸µÄÏà¹Ø´úÂëÈ«²¿¿ª·Å£¬¾ß

    ÌåÕ½ÚÁгöÁË´óÁ¿Ñ§Ï°ºÍ½ø½××ÊÁÏ£¬·½±ã¶ÁÕ߲ο¼¡£±¾ÎÄÑ¡×Ô¡¶Í³¼ÆË¼

    Î¬£º³ÌÐòÔ±Êýѧ֮¸ÅÂÊͳ¼Æ¡·¡£ºÍº¢×ÓÒ»Æð×öÒ»Ö»µç×Ó³èÎï°É!

    ×÷Õß Warren Sande, Carter Sande

    Warren(¸¸Ç×)±ÏÒµÓÚ¼ÓÄôóÀï¼ÖÄÇ´óѧµçÆø¹¤³Ìϵ¡£Ò»Ö±ÔÚÃæÏò¼Æ

    Ëã»ú³õѧÕß½ÌÊÚÈí¼þ»ù´¡¿Î³Ì£¬±àд¹ý´óÁ¿¹ãÊÜ»¶Ó­µÄ¼¼ÊõÎĵµ¡£

    Carter¡ª¡ªWarrenÖ®×Ó£¬Ò»¸ö´ÏÃ÷¡¢ÈÈÇé¡¢ºÃÆæÐÄÇ¿¡¢Ï²»¶Ë¼¿¼ÎÊÌâ

    µÄСÄк¢£¬ÈȰ®¼ÆËã»ú£¬Ï²»¶µ¯¸ÖÇÙºÍÍæ³¬¼¶ÂêÀö¡£ºÜСµÄʱºò¾Í¿ª

    Ê¼¸úן¸Ç×Íæ±à³Ì¡£

    ÒëÕß ËÕ½ð¹úÎÒÃǽ«Òª½¨Á¢Ò»¸ö¼ò»¯Á˵ĵç×Ó³èÎï³ÌÐò£¬ÕýÈçÇ°ÃæËù˵µÄÒ»Ñù£¬ÕâÊÇ

    Ò»ÖÖ·ÂÕæ¡£Äã¿ÉÒÔ¹ºÂòµç×Ó³èÎïÍæ¾ß(±ÈÈçÓÐÒ»¸öСÆÁÄ»µÄÔ¿³×Á´)£¬ÏÂÔØµç×Ó³èÎïÈí¼þ£¬»¹ÓÐÒ»Ð©ÍøÕ¾(Èç Neopets ºÍ Webkinz)£¬¾Í²ÉÓÃ

    Á˵ç×Ó³èÎïµÄÐÎʽ¡£µ±È»£¬ËùÓÐÕâЩҲ¶¼ÊÇ·ÂÕæ¡£ËüÃÇ»áÄ£·ÂÒ»Ð©ÕæÊµ

    ¶¯ÎïµÄÐÐΪ£¬»á¶ö£¬»á¸Ðµ½¹Âµ¥£¬»á¾õµÃÀÛ¡£ÒªÈÃËüÃÇ¿ìÀÖ½¡¿µ£¬Äã±Ø

    Ðë¸øËüÃÇιʳ£¬ºÍËüÃÇÍæ£¬»¹Òª´øËüÃÇ¿´²¡¡£

    ÎÒÃǵĵç×Ó³èÎï»á¼òµ¥µÃ¶à£¬ÓëÄ㹺Âò»òÏÂÔØµÄµç×Ó³èÎïÏà±ÈûÓÐÄÇô

    ÕæÊµ£¬ÒòΪÎÒÖ»ÊÇÏëÈÃÄãÓÐһЩ»ù±¾ÈÏʶ£¬¶øÇÒÎÒ²»Ï£Íû´úÂëÌ«¹ý¸´

    ÔÓ¡£²»¹ýÄã¿ÉÒÔÔÚÕâ¸ö¼ò»¯°æ±¾µÄ»ù´¡ÉÏ£¬¸ù¾ÝÄãµÄÏë·¨½øÐÐÀ©Õ¹»ò¸Ä

    ½ø¡£

    ÎÒÃǵijÌÐòÒª¾ß±¸ÒÔÏÂÌØÐÔ¡£

    ¶ÔÕâ¸ö³èÎï¿ÉÒÔÓÐ 4 Öֻ£º¸øËüιʳ¡¢´øËüÉ¢²½¡¢ºÍËüÍæ»òÕß´ø

    Ëü¿´²¡¡£¿ÉÒÔ¼à²âÕâ¸ö³èÎïµÄ 3 ÖÖͳ¼ÆÐÅÏ¢£º¼¢¶ö¸Ð¡¢¿ìÀֶȺͽ¡¿µ¶È¡£

    ³èÎï¿ÉÒÔÐÑ×Å»òÕß˯¾õ¡£

    ¼¢¶ö¸Ð»áËæÊ±¼äÔö¼Ó¡£¿ÉÒÔͨ¹ýιʳ¼õÉÙ¼¢¶ö¸Ð¡£

    ³èÎï˯¾õʱ¼¢¶ö¸ÐµÄÔö¼Ó»á¼õÂý¡£

    Èç¹û³èÎïÔÚ˯¾õ£¬Äã×öÈκλ¶¼»áÈÃËüÐѹýÀ´¡£

    Èç¹û³èÎïÌ«¶öÁË£¬ËüµÄ¿ìÀÖ¶È»á¼õÉÙ¡£

    Èç¹û³èÎïʵÔÚÌ«¶öÁË£¬ËüµÄ½¡¿µ¶È»á¼õÉÙ¡£

    ´ø³èÎïÉ¢²½»áͬʱÔö¼ÓËüµÄ¿ìÀֶȺͽ¡¿µ¶È¡£

    Óë³èÎïÍæ»áÈÃËüµÄ¿ìÀÖ¶ÈÔö¼Ó¡£

    ´ø³èÎï¿´²¡»áÈÃËüµÄ½¡¿µ¶ÈÔö¼Ó¡£

    ³èÎïÓÐ 6 ¸ö²»Í¬µÄͼƬ£º

    Ò»¸ö˯¾õµÄͼƬ£»

    Ò»¸öÐÑ×ŵ«Ê²Ã´Ò²²»×öµÄͼƬ£»

    Ò»¸öÉ¢²½µÄͼƬ£»

    Ò»¸öÍæË£µÄͼƬ£»Ò»¸ö½øÊ³µÄͼƬ£»

    Ò»¸ö¿´²¡µÄͼƬ¡£

    Í¼Æ¬¿ÉÒÔʹÓÃһЩ¼òµ¥µÄ¶¯»­¡£ºóÃæ¼¸½ÚÎÒÃǽ«¿´µ½ÈçºÎ°ÑËùÓÐÕâЩÕû

    ºÏÔÚÒ»Æð¹¹³ÉÒ»¸ö³ÌÐò¡£

    GUI

    Carter ºÍÎÒΪÎÒÃǵĵç×Ó³èÎï³ÌÐò´´½¨ÁËÒ»¸ö PythonCard GUI¡£ÆäÖÐÓÐ

    Ò»Ð©°´Å¥ÓÃÀ´Íê³É»î¶¯£¬»¹ÓÐһЩ¼ÆÁ¿Æ÷ÏÔÊ¾ÖØÒªµÄͳ¼ÆÐÅÏ¢¡£ÁíÍ⻹

    ÁôÓÐÒ»¸öλÖÃÏÔʾ³èÎïµÄͼƬ(³èÎïÕýÔÚ×öʲô)¡£¿´ÆðÀ´¾ÍÏñÓÒͼÕâ

    Ñù£º

    ¶ÔÓ¦»î¶¯µÄ°´Å¥ÊÇÒ»ÖÖ ImageButton ÀàÐ굀 PythonCard ×é¼þ¡£ÀûÓÃÕâÖÖ

    ×é¼þ¿ÉÒÔ´´½¨´øÍ¼Æ¬µÄ°´Å¥£¬¶ø²»Ö»ÊÇÎı¾¡£¸÷¸ö¼ÆÁ¿Æ÷µÄ×é¼þÀàÐÍÊÇ

    Gauge¡£Ö÷ͼƬÊÇÒ»¸ö Image ×é¼þ¡£±êÇ©ÊÇ StaticText ×é¼þ¡£

    Äã¿ÉÒÔʹÓà PythonCard ×ÊÔ´±à¼­Æ÷´´½¨ÕâÑùµÄ GUI¡£

    Ë㷨ҪΪµç×Ó³èÎï³ÌÐòд´úÂ룬ÐèÒª¸üÃ÷È·µØÁ˽â³èÎïµÄÐÐΪ¡£ÒÔÏÂÊÇÎÒÃÇ

    ÒªÊ¹ÓõÄËã·¨¡£

    ÎÒÃǰѳèÎïµÄÒ»¡°Ì족·ÖΪ 60 ¸ö²¿·Ö£¬Ã¿Ò»²¿·Ö³ÆÎªÒ»¸ö¡°µÎ´ð¡±¡£

    Ã¿¸öµÎ´ðµÄʵ¼Êʱ¼äÊÇ 5 ÃëÖÓ£¬ËùÒÔ³èÎïµÄ¡°Ò»Ì족¾ÍÊÇÎÒÃÇʵ¼Êʱ

    ¼äµÄ 5 ·ÖÖÓ¡£

    ³èÎïÔÚ 48 ¸öµÎ´ðÖж¼ÐÑ×Å£¬È»ºóËüÏë˯ 12 ¸öµÎ´ð¡£Äã¿ÉÒÔ°ÑËü½Ð

    ÐÑ£¬²»¹ýÕâÑù»áÈÃËüºÜ²»¸ßÐË!

    ¼¢¶ö¸Ð¡¢¿ìÀֶȺͽ¡¿µ¶ÈµÄ·¶Î§¶¼ÊÇ 0 µ½ 8¡£

    ÐÑ×Åʱ£¬¼¢¶ö¸Ðÿ¸öµÎ´ð»áÔö¼Ó 1 ¸öµ¥Î»£¬¿ìÀÖ¶Èÿ 2 ¸öµÎ´ð¼õÉÙ

    1 ¸öµ¥Î»(³ý·ÇÔÚÉ¢²½»òÕßÍæ)¡£

    Ë¯¾õʱ£¬¼¢¶ö¸Ðÿ 3 ¸öµÎ´ðÔö¼Ó 1 ¸öµ¥Î»¡£

    ½øÊ³Ê±£¬¼¢¶ö¸Ðÿ¸öµÎ´ð¼õÉÙ 1 ¸öµ¥Î»¡£

    ÍæÊ±£¬¿ìÀÖ¶Èÿ¸öµÎ´ðÔö¼Ó 1 ¸öµ¥Î»¡£

    É¢²½Ê±£¬¿ìÀֶȺͽ¡¿µ¶Èÿ 2 ¸öµÎ´ðÔö¼Ó 1 ¸öµ¥Î»¡£

    ¿´²¡Ê±£¬½¡¿µ¶Èÿ¸öµÎ´ðÔö¼Ó 1 ¸öµ¥Î»¡£

    Èç¹û¼¢¶ö¸Ð´ïµ½ 7£¬½¡¿µ¶Èÿ 2 ¸öµÎ´ð¼õÉÙ 1 ¸öµ¥Î»¡£

    Èç¹û¼¢¶ö¸Ð´ïµ½ 8£¬½¡¿µ¶Èÿ¸öµÎ´ð¼õÉÙ 1 ¸öµ¥Î»¡£

    Èç¹û˯¾õʱ±»½ÐÐÑ£¬¿ìÀֶȼõÉÙ 4 ¸öµ¥Î»¡£

    Èç¹û³ÌÐò²»ÔÚÔËÐУ¬³èÎï¿ÉÄÜÐÑ×Å(ʲôҲ²»×ö)£¬Ò²¿ÉÄÜÔÚ˯

    ¾õ¡£

    ³ÌÐòÖØÆôʱ£¬ÎÒÃÇ»áͳ¼Æ¹ýÈ¥Á˶àÉٵδ𣬲¢¶ÔÓ¦¹ýÈ¥µÄÿ¸öµÎ´ð

    ¸üÐÂͳ¼ÆÐÅÏ¢¡£

    ¿´ÆðÀ´ºÃÏñ¹æÔòºÜ¶à£¬²»¹ý±àд´úÂëÆäʵºÜÈÝÒס£Êµ¼ÊÉÏ£¬Äã¿ÉÄÜ»¹Ïë

    Ôö¼Ó¸ü¶àµÄÐÐΪ£¬ÈÃËü¸ü¼ÓÓÐȤ¡£ÉÔºó¾Í»á¸ø³ö´úÂë(»¹»á×öһЩ½âÊÍ)¡£

    ¼òµ¥¶¯»­

    ²¢²»×ÜÊÇÐèÒª Pygame ²ÅÄÜÍê³É¶¯»­¡£ÎÒÃÇ¿ÉÒÔÔÚ PythonCard ÖÐͨ¹ýʹ

    Óö¨Ê±Æ÷Íê³É¼òµ¥µÄ¶¯»­¡£¶¨Ê±Æ÷ÿ¸ôÒ»¶Îʱ¼ä»á´´½¨Ò»¸öʼþ¡£¿ÉÒÔ

    ±àдһ¸öʼþ´¦ÀíÆ÷£¬ÔÚ¶¨Ê±Æ÷µ½Ê±¼äʱÈÃij¸öÊÂÇé·¢Éú¡£Õâ¾ÍÀàËÆÓÚ

    ÎªÒ»¸öÓû§¶¯×÷±àдʼþ´¦ÀíÆ÷£¬±ÈÈç˵µã»÷Ò»¸ö°´Å¥£¬Ö»²»¹ý¶¨Ê±Æ÷

    Ê¼þÊÇÓɳÌÐò(¶ø²»ÊÇÓû§)Éú³ÉµÄ¡£

    ÎÒÃǵĵç×Ó³èÎï GUI ½«Ê¹ÓÃÁ½¸ö¶¨Ê±Æ÷£ºÒ»¸öÓÃÓÚ¶¯»­£¬ÁíÒ»¸öÓÃÓÚ

    µÎ´ð¡£¶¯»­Ã¿°ëÃë(0.5 Ãë)¸üÐÂÒ»´Î£¬µÎ´ðÿ 5 Ãë·¢ÉúÒ»´Î¡£

    ¶¯»­¶¨Ê±Æ÷ʱ¼äµ½Ê±£¬ÎÒÃÇ»áËùÏÔʾ³èÎïµÄͼÏñ¡£Ã¿¸ö»î¶¯(½øÊ³¡¢Íæ

    µÈ)¶¼ÓÐ×Ô¼ºµÄÒ»×éͼÏñÀ´ÊµÏÖ¶¯»­£¬Ã¿×éͼÏñ½«´æ´¢ÔÚÒ»¸öÁбíÖС£

    ¶¯»­»áÑ­»·ÏÔʾÕâ¸öÁбíÖеÄËùÓÐͼÏñ¡£³ÌÐò½«¸ù¾ÝÕýÔÚ½øÐеĻÀ´

    È·¶¨Ê¹ÓÃÄĸöÁÐ±í¡£

    ÊÔÒ»ÊÔ£¬ÔÙÊÔÒ»ÊÔ

    Õâ¸ö³ÌÐòÖл¹ÒªÊ¹ÓÃÒ»¸öÐÂÄÚÈÝ£¬Õâ³ÆÎª try-except ¿é¡£

    Èç¹û³ÌÐòÒª×öÒ»¼þÊÂÇ飬¶øÇÒÕâ¸öÊÂÇéÓпÉÄܵ¼Ö´íÎó£¬ÄÇô×îºÃÌṩ

    Ò»ÖÖ°ì·¨À´ÊÕ¼¯´íÎóÏûÏ¢²¢½øÐд¦Àí£¬¶ø²»ÊÇÈóÌÐòÖ±½ÓÍ£Ö¹¡£Õâ¿ÉÒÔ

    ÀûÓà try-except ¿éÀ´×öµ½¡£

    ÀýÈ磬Èç¹ûÏë´ò¿ªÒ»¸öÎļþ£¬µ«ÊÇÕâ¸öÎļþ²¢²»´æÔÚ£¬Äã¾Í»áµÃµ½Ò»Ìõ

    ´íÎóÏûÏ¢¡£Èç¹ûÄãûÓд¦ÀíÕâ¸ö´íÎ󣬳ÌÐò»áÔÚÕâÀïÍ£Ö¹¡£²»¹ý£¬Ò²Ðí

    ÄãÏëÈÃÓû§ÖØÐÂÊäÈëÎļþÃû(û׼ËýÖ»ÊÇÇôíÁË)¡£ÀûÓà try-except

    ¿é£¬Äã¿ÉÒÔ»ñÈ¡µ½´íÎóÐÅÏ¢²¢¼ÌÐøÖ´ÐС£

    ¶ÔÓÚ´ò¿ªÎļþµÄÀý×Ó£¬try-except ¿éÈçÏÂËùʾ£º

    try:

    file = open(somefile.txt, r)

    except:

    print Couldn't open the file. Do you want to reenter the filename?

    ÄãÏë³¢ÊԵIJ¿·Ö(¿ÉÄܵ¼ÖÂÒ»¸ö´íÎó)Òª·ÅÔÚ try ¿éÖС£ÔÚÕâ¸öÀý×ÓÖоÍÊdz¢ÊÔ´ò¿ªÒ»¸öÎļþ¡£Èç¹û¿ÉÒÔ´ò¿ªÎļþ¶ø²»»áµ¼Ö´íÎ󣬾ͻáÌø¹ý

    except ²¿·Ö¡£

    Èç¹û try ¿éÖеĴúÂëȷʵµ¼ÖÂÒ»¸ö´íÎ󣬾ͻáÔËÐÐ except ¿éÖеĴúÂë

    except ¿éÖеĴúÂë¸æËß³ÌÐòÒ»µ©³öÏÖ´íÎó¸Ã×öЩʲô¡£Äã¿ÉÒÔÕâÑùÀ´

    ¿¼ÂÇ£º

    try:

    ×öÕâ¼þÊ ( ²»×öÆäËûÊÂÇé...)

    except:

    Èç¹ûÓдíÎ󣬾Í×öÕâ¼þÊÂ

    try-except Óï¾äÊÇ Python ´¦Àí´íÎóËù²ÉÓõķ½·¨£¬Õâͨ³£³ÆÎª´íÎó´¦

    Àí(error handling)¡£´íÎó´¦ÀíÔÊÐíÄã±àд¿ÉÄܳö´íµÄ´úÂë(ÉõÖÁÊǺÜ

    ÑÏÖØµÄ´íÎó£¬ÌÈÈôûÓдíÎó´¦Àí£¬ÕâЩ´íÎóÔÚÕý³£Çé¿öÏÂÉõÖÁ»áÈÃÄãµÄ

    ³ÌÐòÍ£Ö¹)£¬Ê¹³ÌÐòÈÔÄܼÌÐøÔËÐС£ÎÒÃDz»´òËãÔÚÕâ±¾ÎÄÀï¸üÏêϸµØÌÖ

    ÂÛ´íÎó´¦Àí£¬²»¹ýÎÒÏ£ÍûÄãÄÜÁ˽âһЩ»ù´¡ÖªÊ¶£¬ÒòΪÔÚµç×Ó³èÎï´úÂë

    Öоͻῴµ½´íÎó´¦Àí¡£

    ÏÂÃæÀ´¿´Õâ¸ö´úÂ룬¼û´úÂëÇåµ¥¡£ÕâÀïµÄ˵Ã÷ÒѾ­¶Ô´ó²¿·Ö¹¤×÷×öÁ˽â

    ÊÍ¡£Õâ¸ö´úÂëÓе㳤£¬ËùÒÔÈç¹ûÄã²»Ïë×Ô¼º¼üÈ룬Ҳ¿ÉÒÔ´ÓÕâ¸öÍøÕ¾

    (www.helloworldbook.com)ÏÂÔØ¡£PythonCard ×ÊÔ´ÎļþºÍËùÓÐͼƬҲ

    ¶¼ÒѾ­Ìṩ¡£ÊÔ×ÅÔËÐÐÕâ¸ö³ÌÐò£¬È»ºóÔÙ¿´´úÂ룬ȷ±£ÄãÄÜÀí½âËüÊÇÈç

    ºÎ¹¤×÷µÄ¡£

    ´úÂëÇåµ¥ VirtualPet.pysleeptest º¯ÊýʹÓÃÁËÒ»¸ö PythonCard ¶Ô»°¿ò£¬²»¹ýÉÔ×öÁ˵÷Õû¡£Äã¿É

    Äܼǵã¬PythonCard Òª»ùÓÚÁíÒ»¸öÃûΪ wxPython µÄ Python Ä£¿é¡£ÕýÊÇ

    ÒòΪÕâ¸öÔ­Òò£¬°²×° PythonCard ʱҪ°²×° wxPython¡£ÓÐʱ¿ÉÒÔʹÓÃÌØ

    ÊâµÄ wxPython ²ÎÊýÀ´¸Ä±ä PythonCard µÄÐÐΪ¡£ÔÚÕâÀÎÒÃǸıäÁ˱ê

    ×¼ PythonCard ÏûÏ¢¿ò£¬ÈçÓÒͼËùʾ¡£

    ÎÒÃǰÑËü±ä³ÉÒ»¸öÓиÐ̾ºÅµÄ¶Ô»°¿ò£¬»¹ÓÐ Yes ºÍ No °´Å¥£¬¾ÍÏñÓÒͼ

    ÕâÑù¡£

    ¼´Ê¹Äã²»ÄÜÍêÈ«¶Á¶®Õâ¸ö´úÂëÒ²²»Óõ£ÐÄ¡£Èç¹ûÄãÏ£Íûѧϰ¸ü¶àÓйØ

    PythonCard ºÍ wxPython µÄÄÚÈÝ£¬¿ÉÒÔÏÈ¿´¿´ PythonCard Íø

    Õ¾£ºhttp:pythoncard.sourceforge.net¡£

    ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÖ»ÊÇÉÔÉÔÁ˽âÁ˼ÆËã»ú·ÂÕæµÄÒ»µãƤ룬֪µÀÁËÄ£ÄâÕæ

    ÊµÊÀ½çÖÐһЩ·½ÃæµÄ»ù±¾Ë¼Ï룬±ÈÈçÖØÁ¦ºÍʱ¼ä¡£Êµ¼ÊÉÏ£¬¼ÆËã»ú·ÂÕæ

    ÔÚ¿ÆÑ§¡¢¹¤³Ì¡¢Ò½Ò©ºÍºÜ¶àÆäËûÁìÓò¶¼µÃµ½Á˹㷺ʹÓá£ÆäÖкܶà·ÂÕæ

    ·Ç³£¸´ÔÓ£¬¼´Ê¹ÓÃ×î¿ìµÄ³¬¼¶¼ÆËã»úÔËÐÐÒ²ÐèÒª»¨·Ñ¼¸ÌìÉõÖÁ¼¸¸öÐÇ

    ÆÚ¡£²»¹ýÔ¿³×Á´ÉϵÄСµç×Ó³èÎïÒ²ÊÇÒ»ÖÖ·ÂÕæ£¬ÓÐʱ×î¼òµ¥µÄ·ÂÕæÒ²ÊÇ×îÓÐÒâ˼µÄ¡£

    ¶¯ÊÖÊÔÒ»ÊÔ

    Îªµç×Ó³èÎï GUI Ôö¼ÓÒ»¸ö Pause °´Å¥¡£Õâ»áÈóèÎïµÄʱ¼äÍ£Ö¹£¬²»ÂÛ³Ì

    ÐòÊÇ·ñÔÚÔËÐС£(Ìáʾ£ºÕâ˵Ã÷¿ÉÄÜÐèÒªÔÚ pickle ÎļþÖб£´æ¡°ÔÝÍ£¡±×´

    Ì¬¡£)

    ¡¶Ó뺢×ÓÒ»Æðѧ±à³Ì¡·Ò»±¾ÀÏÉÙÏÌÒ˵ıà³ÌÈëÃÅÆæÊé!Ò»²áÔÚÊÖ£¬ÄãÍê

    È«¿ÉÒÔ´ø×Å×Ô¼ºµÄº¢×Ó£¬¸úËæSande¸¸×Ó×éºÏÔÚÇáËɵķÕΧÖÐÊìϤÄÇЩ

    ±à³Ì¸ÅÄÈçÄڴ桢ѭ»·¡¢ÊäÈëºÍÊä³ö¡¢Êý¾Ý½á¹¹ºÍͼÐÎÓû§½çÃæµÈ¡£

    ÕâЩ֪ʶһµã¶ùÒ²²»¸ßÉÌýÆðÀ´±¸¸ÐÇ×ÇУ¬ÊéÖÐÑÔÓïÓÄĬ·çȤ¶ø²»Ê§

    ÕæÒ壬ÈÃѧϰ¹ý³Ì³äÂúÀÖȤ¡£Ï¸ÐĵÄ×÷Õß»¹ÅäÉÏÁ˺¢×ÓÃǶ¼Ï²»¶µÄ¿É°®

    Âþ»­ºÍ¾­¹ýÔËÐвâÊԵijÌÐòʾÀý£¬½ÌÄãÓÃ×îÒ×±àдºÍ×îÒ×Àí½âµÄPython

    ÓïÑÔ£¬Ð´³öÄãÃÎÏëÖеÄÓÎÏ·³ÌÐò¡£±¾ÎÄÑ¡×Ô¡¶Ó뺢×ÓÒ»Æðѧ±à³Ì¡·¡£´ÓPython 3µÄbytesstrÖ®±ðѧ±àÂëUnicode

    ×÷Õß Eli Bendersky, Steve Ferg

    Eli Bendersky¿ª·¢Èí¼þ³¤´ï15ÄêÖ®¾Ã¡£ÔÚ2008Ä꿪ʼʹÓÃPython,²¢ÇÒ

    ÊÇÕâÃÅÓïÑÔµÄÖ÷Òª¹±Ï×ÕßÖ®Ò»¡£ËûʹÓùýºÜ¶àÓïÑÔ£¬µ«ÊÇ×î°®µÄ»¹ÊÇ

    CºÍPython£¬ÒµÓàʱ¼ä°®ºÃ±à³Ì¡£ËûµÄ²©¿Íhttp:eli.thegreenplace.net

    Steve FergÊÇһλ³ÌÐòÔ±ºÍϵͳ·ÖÎöʦ£¬Í¬Ê±Ëû»¹ÊÇ¿µÄζû´óѧÕÜѧ

    ÏµµÄ²©Ê¿¡£ËûµÄ²©¿Íhttps:pythonconquerstheuniverse.wordpress.com

    ÒëÕß ÀîÁÕæç

    ÒëÖøÓС¶±à³Ì´óʦ·Ã̸¼¡·¡¢¡¶±à³ÌÈËÉú¡·µÈ¡£ÏÖÕýÔÚ·­ÒëCoding

    Interview(³ÌÐòÔ±ÃæÊÔÌâ½âÃÜ)¡£

    Òý×Ó£ºbytesstrÖ®±ð

    Python 3×îÖØÒªµÄÐÂÌØÐÔ´ó¸ÅÒªËãÊǶÔÎı¾ºÍ¶þ½øÖÆÊý¾Ý×÷Á˸üΪÇåÎú

    µÄÇø·Ö¡£Îı¾×ÜÊÇUnicode£¬ÓÉstrÀàÐͱíʾ£¬¶þ½øÖÆÊý¾ÝÔòÓÉbytesÀàÐÍ

    ±íʾ¡£Python 3²»»áÒÔÈÎÒâÒþʽµÄ·½Ê½»ìÓÃstrºÍbytes£¬ÕýÊÇÕâʹµÃÁ½Õß

    µÄÇø·ÖÌØ±ðÇåÎú¡£Äã²»ÄÜÆ´½Ó×Ö·û´®ºÍ×Ö½Ú°ü£¬Ò²ÎÞ·¨ÔÚ×Ö½Ú°üÀïËÑË÷

    ×Ö·û´®(·´Ö®ÒàÈ»)£¬Ò²²»Äܽ«×Ö·û´®´«Èë²ÎÊýΪ×Ö½Ú°üµÄº¯Êý(·´Ö®

    ÒàÈ»)¡£ÕâÊǼþºÃÊ¡£

    ²»¹ÜÔõÑù£¬×Ö·û´®ºÍ×Ö½Ú°üÖ®¼äµÄ½çÏßÊDZØÈ»µÄ£¬ÏÂÃæµÄͼ½â·Ç³£ÖØ

    Òª£¬ÎñÇëÀμÇÓÚÐÄ£º×Ö·û´®¿ÉÒÔ±àÂë³É×Ö½Ú°ü£¬¶ø×Ö½Ú°ü¿ÉÒÔ½âÂë³É×Ö·û´®¡£

    >>> '€20'.encode('utf-8')

    b'\xe2\x82\xac20'

    >>> b'\xe2\x82\xac20'.decode('utf-8')

    '€20'

    Õâ¸öÎÊÌâÒªÕâôÀ´¿´£º×Ö·û´®ÊÇÎı¾µÄ³éÏó±íʾ¡£×Ö·û´®ÓÉ×Ö·û×é³É£¬×Ö·ûÔòÊÇÓëÈκÎÌØ¶¨¶þ½øÖƱíʾÎ޹صijéÏóʵÌå¡£ÔÚ²Ù×÷×Ö·û´®Ê±£¬ÎÒ

    ÃÇÉú»îÔÚÐÒ¸£µÄÎÞÖªÖ®ÖС£ÎÒÃÇ¿ÉÒÔ¶Ô×Ö·û´®½øÐзָîºÍ·ÖƬ£¬¿ÉÒÔÆ´

    ½ÓºÍËÑË÷×Ö·û´®¡£ÎÒÃDz¢²»¹ØÐÄËüÃÇÄÚ²¿ÊÇÔõô±íʾµÄ£¬×Ö·û´®ÀïµÄÿ

    ¸ö×Ö·ûÒªÓü¸¸ö×Ö½Ú±£´æ¡£Ö»ÓÐÔÚ½«×Ö·û´®±àÂë³É×Ö½Ú°ü(ÀýÈ磬ΪÁË

    ÔÚÐŵÀÉÏ·¢ËÍËüÃÇ)»ò´Ó×Ö½Ú°ü½âÂë×Ö·û´®(·´Ïò²Ù×÷)ʱ£¬ÎÒÃDzŻá

    ¿ªÊ¼¹Ø×¢Õâµã¡£

    ´«ÈëencodeºÍdecodeµÄ²ÎÊýÊDZàÂë(»òcodec)¡£±àÂëÊÇÒ»ÖÖÓöþ½ø

    ÖÆÊý¾Ý±íʾ³éÏó×Ö·ûµÄ·½Ê½¡£Ä¿Ç°ÓкܶàÖÖ±àÂë¡£ÉÏÃæ¸ø³öµÄUTF-8ÊÇ

    ÆäÖÐÒ»ÖÖ£¬ÏÂÃæÊÇÁíÒ»ÖÖ£º

    >>> '€20'.encode('iso-8859-15')

    b'\xa420'

    >>> b'\xa420'.decode('iso-8859-15')

    '€20'

    ±àÂëÊÇÕâ¸öת»»¹ý³ÌÖÐÖÁ¹ØÖØÒªµÄÒ»²¿·Ö¡£ÀëÁ˱àÂ룬bytes¶Ô

    Ïób'\xa420'Ö»ÊÇÒ»¶Ñ±ÈÌØÎ»¶øÒÑ¡£±àÂ븳ÓèÆäº¬Òå¡£²ÉÓò»Í¬µÄ±à

    Â룬Õâ¶Ñ±ÈÌØÎ»µÄº¬Òå¾Í»á´ó²»Í¬£º

    >>> b'\xa420'.decode('windows-1255')

    '?20'

    ¾Ý˵°Ù·ÖÖ®°ËÊ®µÄ½ðÇ®Ëðʧ½ÔÒòʹÓôíÎóµÄ±àÂëµ¼Ö£¬Òò´ËÎñ±ØÐ¡ÐĽ÷É÷¡£

    Ê²Ã´ÊDZàÂ룿

    »ù±¾¸ÅÄîºÜ¼òµ¥¡£Ê×ÏÈ£¬ÎÒÃÇ´ÓÒ»¶ÎÐÅÏ¢¼´ÏûϢ˵Æð£¬ÏûÏ¢ÒÔÈËÀà¿ÉÒÔ

    Àí½â¡¢Ò×¶®µÄ±íʾ´æÔÚ¡£ÎÒ´òË㽫ÕâÖÖ±íʾ³ÆÎª¡°Ã÷ÎÄ¡±(plain text)¡£

    ¶ÔÓÚ˵ӢÓïµÄÈË£¬Ö½ÕÅÉÏ´òÓ¡µÄ»òÆÁÄ»ÉÏÏÔʾµÄÓ¢Îĵ¥´Ê¶¼Ëã×÷Ã÷ÎÄ¡£

    Æä´Î£¬(Ô­ÒòÉÔºòÔÙÊö)ÎÒÃÇÐèÒªÄܽ«Ã÷ÎıíʾµÄÏûϢת³ÉÁíÍâijÖÖ±í

    Ê¾(²»·Á³ÆÖ®Îª¡°±àÂëÎı¾¡±£¬encoded text)£¬ÎÒÃÇ»¹ÐèÒªÄܽ«±àÂë

    Îı¾×ª»Ø³ÉÃ÷ÎÄ¡£´ÓÃ÷Îĵ½±àÂëÎı¾µÄת»»³ÆÎª¡°±àÂ롱£¬´Ó±àÂëÎı¾ÓÖ

    ×ª»Ø³ÉÃ÷ÎÄÔòΪ¡°½âÂ롱¡£

    Õâ¸ö¹ý³ÌÓÐÈýµãºÜÖØÒª¡£

    µÚÒ»µãÊÇÔÚ±àÂë»ò½âÂë¹ý³ÌÖв»µÃ¶ªÊ§ÈκÎÐÅÏ¢¡£ÎÒÃDZØÐëÄÜ×öµ½À´»Ø

    ´«µÝÏûÏ¢£¬´ÓÃ÷Îĵ½±àÂëÎı¾£¬È»ºóÓÖ´Ó±àÂëÎı¾»Øµ½Ã÷ÎÄ£¬È¡µÃµÄÃ÷

    ÎĸúÎÒÃÇÒ»¿ªÊ¼ÓµÓеÄÍêȫһÑù¡£¾ÙÀýÀ´Ëµ£¬ÕâÕýÊÇΪʲôÎÒÃÇÎÞ·¨ÓÃ

    Ò»ÖÖ×ÔÈ»ÓïÑÔ(¶íÓï¡¢ººÓï¡¢·¨Óï¡¢ÄÉÍß»ôÓïµÈ)À´±àÂëÁíÒ»ÖÖ×ÔÈ»Óï

    ÑÔ(Ó¢Óï¡¢Ó¡µØÓ˹ÍßÎ÷ÀïÓïµÈ)¡£×ÔÈ»ÓïÑÔÖ®¼äµÄÓ³Éä¹ØÏµÌ«¹ýËÉ

    É¢£¬ÎÞ·¨±£Ö¤Ò»ÌõÐÅÏ¢ÄÜÔÚÀ´»ØµÄת»»Öв»Ê§Õæ¡£

    ÒªÇóÀ´»Ø×ª»»²»Ê§Õ棬Ҳ¾ÍÒâζ×ÅÃ÷ÎĺͱàÂëÎı¾Ö®¼äµÄÓ³É䱨ÐëÓÖ½ô

    ÃÜÓÖ¾«È·¡£Õâ¾ÍÒý³öÁ˵ڶþµã¡£

    ÎªÈ·±£Ã÷ÎĺͱàÂëÎı¾Ö®¼äµÄÓ³Éä·Ç³£½ôÃÜ£¬Ò²¼´£¬ÎªÁËÄܷdz£¾«È·µØ

    ¹æ¶¨±àÂëºÍ½âÂë¹ý³ÌÊÇÔõô»ØÊ£¬ÎÒÃDZØÐë·Ç³£¾«È·µØ¹æ¶¨Ã÷Îĵıíʾ

    ÊÇʲôÑùµÄ¡£

    ÀýÈ磬¼Ù¶¨ÎÒÃǵÄÃ÷ÎÄÊÇÕâÑùµÄ£ºÓ¢ÃÀ×Öĸ±íµÄ26¸ö´óд×Öĸ£¬¼ÓÉÏ¿Õ

    ¸ñ£¬¼°3¸ö±êµã·ûºÅ£º¾äµã(¾äºÅ)¡¢ÎʺźͶ̻®Ïß(Á¬×Ö·û)¡£Õâ¾Í

    ÐγÉÁË30¸ö×Ö·ûµÄÃ÷ÎÄ×Öĸ±í¡£ÐèÒªÊý×Öʱ£¬ÎÒÃÇ¿ÉÒÔÖ±½Óƴд³öÀ´£¬±ÈÈ磺six thousand seven hundred forty-three(ÁùǧÆß°ÙËÄÊ®Èý)¡£ÁíÒ»·½Ã棬ÎÒÃÇ¿ÉÄÜÏ£ÍûÃ÷ÎÄÊÇÕâÑùµÄ£º26¸ö´óд×Öĸ£¬26¸öСд×Ö

    Ä¸£¬10¸öÊý×Ö£¬¿Õ¸ñ·û£¬¼°Ê®¼¸ÖÖ±êµã·ûºÅ£¬°üÀ¨¾äµã¡¢¶ººÅ¡¢Ë«Òý

    ºÅ¡¢×óÀ¨ºÅ¡¢ÓÒÀ¨ºÅµÈµÈ¡£ÓÚÊÇÎÒÃÇÓֵõ½Ò»ÕÅ75¸ö×Ö·ûµÄÃ÷ÎÄ×Öĸ

    ±í¡£

    Ò»µ©¾«È·µØ¹æ¶¨ÁËÏûÏ¢µÄÃ÷ÎıíʾÊÇʲôÑùµÄ£¬±ÈÈçÉÏÃæµÄ30¸ö×Ö·ûµÄ

    ×Öĸ±í£¬Ò²ÐíÊÇ75¸ö×Ö·ûµÄ×Öĸ±íÖÐÓÐÏÞµÄ×Ö·ûÐòÁУ¬ÎÒÃǾͿÉÒÔÉè¼Æ

    Ò»Ì×ϵͳ(±àÂ룬code)£¬ÄܶÔÓÃÕâÕÅ×Öĸ±íд³ÉµÄÃ÷ÎÄÏûÏ¢½øÐпɿ¿

    µÄ±àÂëºÍ½âÂë¡£ÕâÀàϵͳ×î¼òµ¥µÄÒ»ÖÖÊÇÃ÷ÎÄ×Öĸ±íÀïµÄÿ¸ö×Ö·ûÔÚ±à

    ÂëÎı¾ÖÐÓÐÒ»¸öÇÒÖ»ÓÐÒ»¸ö¶ÔÓ¦µÄ±íʾ¡£¾Ù¸ö´ó¼Ò¶¼ÊìϤµÄĦ¶û˹µçÂë

    µÄÀý×Ó£¬ÆäÖÐÃ÷ÎÄ¡°SOS¡±¶ÔÓ¦µÄ±àÂëÎı¾Îª... --- ...¡£

    µ±È»£¬ÔÚÏÖʵÉú»îÖУ¬Ã÷ÎÄ×Öĸ±íÖÐ×Ö·ûµÄÑ¡ÔñÊܵ½±àÂëÎı¾Éϼ¼ÊõÏÞ

    ÖƵÄÓ°Ïì¡£¼Ù¶¨´æ´¢±àÂëÏûÏ¢ÓÐÈçϼ¸ÖÖ¼¼Êõ¿É¹©Ñ¡Ôñ£ºÒ»ÖÖ¼¼ÊõÖ§³Ö

    256¸ö×Ö·ûµÄ±àÂë×Öĸ±í£¬ÁíÒ»ÖÖ¼¼ÊõÖ»Ö§³Ö128¸ö±àÂë×Ö·û£¬µÚÈýÖÖ¼¼

    ÊõÖ»Ö§³Ö64¸ö±àÂë×Ö·û¡£Èç¹ûÎÒÃÇÇå³þ×Ô¼º¿ÉÒÔʹÓÃÖ§³Ö¸ü´ó±àÂëÎı¾

    ×Öĸ±íµÄ¼¼Êõ£¬ÎÒÃÇ×ÔÈ»¶øÈ»¾ÍÄܽ«Ã÷ÎÄ×Öĸ±íÀ©Õ¹µÃ±ÈÒÔÍù´óµÃ¶à¡£

    ·´Ö®ÒàÈ»¡£Èç¹ûÈ·¶¨Ã÷ÎÄ×Öĸ±íÒ»¶¨Òª·Ç³£´ó£¬ÎÒÃǾͻáÃ÷°×±ØÐëÕÒµ½

    »òÉè¼ÆÒ»ÖÖÄÜ´æ´¢´óÁ¿±àÂë×Ö·ûµÄ¼¼Êõ¡£

    Õâ¾ÍÒý³öÁËÏÂÃæµÄ»°Ì⣬Unicode¡£

    Unicode

    UnicodeµÄÉè¼Æ³õÖÔÊdzÉΪһÌ×ϵͳ£¬¿ÉÒÔ´æ´¢ÏÖ´æËùÓÐÈËÀàÓïÑÔµÄËù

    ÓÐÃ÷ÎÄ×Ö·ûµÄ±àÂë±íʾ¡£Ó¢Óï¡¢·¨Óï¡¢Î÷°àÑÀÓϣÀ°Óï¡¢°¢À­²®Óï¡¢Ó¡µØÓï¡¢ººÓïºÍÑÇÊöÓï(ШÐÎÎÄ×Ö)µÈ¡£

    ÕâЩ×Ö·ûÊýÁ¿ÅÓ´ó¡£

    Òò´Ë£¬Unicode¼Æ»®µÄÊ×ÒªÈÎÎñ¾ÍÊǰÑËùÓÐÕâЩ×Ö·ûÂÞÁгöÀ´£¬Êý¸ö

    Êý¡£Õâ¾ÍÊÇUnicodeµÄǰ°ë²¿·Ö£¬Í¨ÓÃ×Ö·û¼¯(Universal Character

    Set)¡£(ÕæÕý̸¼°Unicodeʱ£¬²»Òª°ÑÃ÷ÎÄ×Ö·û½Ð×ö¡°×Ö·û¡±£¬³ÆÖ®Îª¡°Âë

    µã¡±(code points)¡£)

    Íê³ÉÇ°ÃæµÄ¹¤×÷ºó£¬Ä㻹µÃÏë³öÒ»ÖÖ¼¼Êõ£¬ÒÔ´¢´æÈ«²¿¶ÔÓ¦µÄ±àÂëÎı¾

    ×Ö·û¡£(ÓÃUnicodeµÄ»°À´Ëµ£¬±àÂëÎı¾×Ö·û±»³Æ×÷¡°ÂëÖµ¡±(codevalues)¡£)

    Êµ¼ÊÉÏ£¬Unicode¶¨ÒåÁ˲»Ö¹Ò»ÖÖ·½·¨£¬½«ÂëµãÓ³Éäµ½ÂëÖµ¡£ÕâЩ·½·¨

    ¶¼ÓÐ×Ô¼ºµÄÃû×Ö¡£ÆäÖв¿·ÖÃû×ÖÒÔ¡°UTF¡±¿ªÍ·£¬ÆäËûÒÔ¡°UCS¡±¿ªÍ·£º

    UTF-8¡¢UTF-16¡¢UTF-32¡¢UCS-2¡¢UCS-4µÈµÈ¡£ÃüÃû¹æ·¶ÊÇ¡°UTF-<Âë

    ÖµµÄ±ÈÌØÊý>¡±ºÍ¡°UCS-<ÂëÖµµÄ×Ö½ÚÊý>¡±¡£ÓÐЩ·½·¨(ÈçUCS-4ºÍUTF-

    32)¹¦ÄÜÏàÈô¡£²Î¿´Î¬»ù°Ù¿ÆUnicodeÏà¹ØÒ³Ãæ¡£

    ¹ØÓÚÕâЩ·½·¨×îÖØÒªµÄÒ»µãÊÇ£¬ÓÐЩ·½·¨ÊǶ¨³¤±àÂ룬ÓÐЩÔòÊDZ䳤±à

    Âë¡£»ù±¾Ë¼ÏëÊǶ¨³¤±àÂë¶¼ºÜ³¤£¬ÈçUCS-4ºÍUTF-32¶¼ÓÐ4×Ö½Ú(32±È

    ÌØ)³¤£¬³¤µ½×ãÒÔholdסδÀ´¿ÉÆÚµÄ×î´óÂëÖµ¡£

    Ïà±È¶øÑÔ£¬±ä³¤±àÂëÔòÉè¼Æ³É¼ò¶Ìµ«¿ÉÀ©Õ¹¡£ÀýÈ磬UTF-8¿ÉÒÔʹÓÃÉÙ

    ÖÁ8±ÈÌØ(1×Ö½Ú)À´´¢´æLatinºÍASCIIÂëµã¡£²»¹ý£¬Ëü»¹ÓÐÒ»ÖÖ¡°½ÓÏÂÒ»

    ¸ö×Ö½Ú¡±»úÖÆ£¬ÒÔ±ãÔÚ±ØÒªÊ±(ÓпÉÄÜÓÃÀ´±íʾÖÐÎÄ×Ö·û)¿ÉÒÔʹÓÃ2¸ö

    ×Ö½ÚÉõ»ò4¸ö×Ö½Ú¡£¶ÔÓÚÎ÷·½¹ú¼ÒµÄ³ÌÐòÔ±£¬Õâ¾ÍÒâζ×ÅUTF-8¼È¸ßЧ

    ÓÖÁé»î£¬UTF-8Ö®ËùÒÔ³ÉΪ½»»»UnicodeÎı¾ÊÂʵÉϵıê×¼±àÂ룬ԭÒòÕý

    ÔÚÓÚ´Ë¡£

    ×ÜÖ®£¬²»´æÔÚËùνµ¥Ò»µÄUnicode±àÂëϵͳ»ò·½·¨£¬¶øÊÇÓкü¸ÖÖ±àÂë

    ·½·¨£»´òËã¸ú±ðÈ˽»»»Îı¾Ê±£¬ÄãÐèÒªÃ÷È·Ö¸¶¨×Ô¼º²ÉÓÃÁËÄÄÖÖ±àÂë·½

    ·¨¡£

    ±ÈÈ磬ÊDz»ÊÇÕâÑù£º

    »òÕßÕâÑù£º

    »òÕ߯äËû±àÂë·½·¨¡£

    ÕâÓֻص½ÎÒÇ°ÃæÌá¹ýµÄ»°Ì⡣ΪʲôҪÓÃUnicodeÀ´±àÂ룿

    Ç°ÎÄÌáµ½£º

    Ê×ÏÈ£¬ÎÒÃÇ´ÓÒ»ÌõÐÅÏ¢¼´ÏûϢ˵Æð£¬ÏûÏ¢ÒÔÈËÀà¿ÉÒÔÀí½â¡¢Ò×¶®µÄ±í

    Ê¾´æÔÚ¡£

    Æä´Î£¬(Ô­ÒòÉÔºòÔÙÊö)ÎÒÃÇÐèÒªÄܽ«Ã÷ÎıíʾµÄÏûϢת³ÉÁíÍâijÖÖ

    ±íʾ(²»·Á³ÆÖ®Îª¡°±àÂëÎı¾¡±)£¬ÎÒÃÇ»¹ÐèÒªÄܽ«±àÂëÎı¾×ª»Ø³ÉÃ÷

    ÎÄ¡£´ÓÃ÷Îĵ½±àÂëÎı¾µÄת»»³ÆÎª¡°±àÂ롱£¬´Ó±àÂëÎı¾ÓÖת»Ø³ÉÃ÷ÎÄ

    ÔòΪ¡°½âÂ롱¡£

    ºÃµÄ¡£ÏÖÔÚÊÇʱºò̽ÌÖÕâЩԭÒòÁË¡£ÎªÊ²Ã´ÎÒÃÇ»áÏë׎«Ã÷ÎıíʾµÄÏû

    Ï¢×ª»»³ÉÁíÒ»ÖÖ±íÊ¾ÄØ£¿

    Ò»¸öÔ­Òòµ±È»ÊÇÎÒÃÇÏëÒª±£ÃÜ¡£ÎÒÃÇÏëͨ¹ý¼ÓÃÜ(encrypting)ºÍ½âÃÜ

    (decrypting)À´Òþ²ØÏûÏ¢µÄÃ÷ÎÄ£¬»ù±¾ÉϱàÂëºÍ½âÂëµÄËã·¨ÒªÇó±£ÃÜ

    ºÍ²»À©É¢¡£

    ²»¹ý£¬ÕâÊǸö½ØÈ»²»Í¬µÄÖ÷Ìâ¡£ÑÛÏ£¬ÎÒÃǶԱ£Ãܲ»¸ÐÐËȤ£»ÉíΪ

    Python³ÌÐòÔ±£¬ÎÒÃǸÐÐËȤµÄÊÇUnicode¡£Òò´Ë£º

    ÉíΪPython³ÌÐòÔ±£¬ÎªÊ²Ã´ÎÒ»áÐèÒªÄܽ«Ã÷ÎÄÏûϢת»»³ÉijÖÖ±àÂë±í

    Ê¾¡­¡­±ÈÈçUTF-8Ö®ÀàµÄUnicode±íʾ£¿

    ¼Ù¶¨ÄãÕýÊæÊæ·þ·þµØ×øÔÚµçÄÔǰ£¬ÓÃÄã×îϲ»¶µÄÎı¾±à¼­Æ÷£¬ÓÃ

    Python(ÌØ±ðÊÇÓÃPython 3+)±àд±ê×¼µÄHello World³ÌÐò¡£ÄãµÄÕû¸ö³Ì

    ÐòÖ»ÓÐÏÂÃæÕâÒ»ÐдúÂë¡£

    print(Hello, world!)

    ÕâÀïµÄ¡°Hello, world!¡±¾ÍÊÇÃ÷ÎÄ¡£ÄãÔÚÆÁÄ»ÉÏ¿´µÃ¼ûËü¡£Äã¿ÉÒÔÔĶÁ£¬Ã÷°×ËüµÄº¬Òå¡£Ëü¾ÍÊÇÒ»×Ö·û´®£¬Äã¿ÉÒÔ¶ÔËüÖ´ÐÐ×Ö·û´®ÀàÐ͵ıê×¼²Ù

    ×÷£¬±ÈÈç½ØÈ¡Ò»¸ö×Ó´®(ÇÐÆ¬)¡£

    ²»¹ýÏÖÔÚ¼Ù¶¨Äã×¼±¸½«Õâ¸ö×Ö·û´®¡°Hello, world!¡±·Åµ½Ò»¸öÎļþÖУ¬²¢

    ½«¸ÃÎļþ±£´æµ½Ó²ÅÌÉÏ¡£Ò²ÐíÄã´òË㽫Õâ¸öÎļþ·¢Ë͸øÅóÓÑ¡£

    ÕâÒâζ×ÅÄã±ØÐ뽫ÄÇ¿ÉÁ¯ÊÝСµÄ×Ö·û´®Öð³öPython³ÌÐòÖÐÎÂů¡¢ºÍÄÀ¡¢°²È«µÄ¼Ò£¬ÄÇÀïËü¾ÍÒÔÃ÷ÎÄ×Ö·ûµÄÐÎʽ´æÔÚ¡£Äã±ØÐë°ÑËüÍÆÈëÎļþϵͳ

    ÄÇÒõÀ䡢ûÓÐÈËÇéζµÄÍⲿÊÀ½ç¡£ÄÇÀïËü²»»áÒÔ×Ö·ûµÄÐÎʽ´æÔÚ£¬Ö»ÓÐ

    1ºÍ0£¬Ò»¶ÑÔÓÂҵĵãµãµÎµÎ£¬³äµçºÍδ³äµçµÄ΢Á£¡£¶øÕâÒâζ×ÅÔ­±¾ÐÒ

    ¸£ÊÝСµÄÃ÷ÎÄ×Ö·û´®±ØÐëÒÔ1ºÍ0µÄijÖÖÌØ¶¨ÅäÖÃÀ´±íʾ£¬ÕâÑùÒ»À´£¬ÓÐ

    ÈËÏëÒª»ñÈ¡ÄÇ×é1ºÍ0£¬½«Ëüת»»»Ø¿É¶ÁµÄÃ÷ÎÄ£¬ÍêÈ«¿ÉÒÔ°ìµ½¡£

    ½«Ã÷ÎÄת»»³É1ºÍ0µÄÌØ¶¨ÅäÖõĹý³Ì¾ÍÊDZàÂëµÄ¹ý³Ì¡£ÎªÁ˽«×Ö·û´®Ð´

    ÈëÎļþÖУ¬Äã±ØÐë²ÉÓÃijÖÖ±àÂëϵͳ(±ÈÈçUTF-8)¶Ô×Ö·û´®½øÐбà

    Âë¡£Òª´ÓÎļþÖÐÈ¡»Ø×Ö·û´®£¬ÄãÓÖ±ØÐë¶ÁÈëÎļþ£¬¶ÔÕâ×é1ºÍ0½øÐнâ

    Â룬ת»Ø³ÉÃ÷ÎÄ¡£

    ´ÓÎļþ¶Áд×Ö·û´®Ê±ÐèÒª¶ÔËü½øÐбàÂëºÍ½âÂë²¢²»ÊÇÐÂÏÊÊ£¬Õâ²»ÊÇ

    Python 3¶ÔUnicodeµÄÐÂÖ§³ÖÒýÈëµÄ¶îÍ⸺µ£¡£ÆäʵÄãÒ»Ö±ÔÚ×öÕâ¼þÊ¡£

    ²»¹ý¾ÍÊDz»ÔõôÃ÷ÏÔ¶øÒÑ¡£½ÏÔç°æ±¾µÄPython²ÉÓÃASCII±àÂë·½°¸¡£Òò

    ÎªÔÚÄÇЩ¾ÃÔ¶µÄÄê´ú£¬Ò²Ö»ÓÐASCIIÕâÖÖ±àÂë·½°¸£¬Äã²»ÐèÒªÖ¸¶¨×Ô¼º

    ÏëÒª¶ÁдASCII±àÂëµÄÎļþ¡£PythonÖ±½Ó¼Ù¶¨ÎļþĬÈϾͲÉÓÃASCII£¬×Ô

    ¶¯½øÐбàÂëºÍ½çÃæ¡£µ«ÊÇ£¬ÎÞÂÛÄãÊÇ·ñÒâʶµ½Õâµã£¬ÎÞÂÛºÎʱ£¬Ö»ÒªÄã

    µÄ³ÌÐò´ÓÎļþ¶Áд×Ö·û´®£¬Python¶¼»áÔÚÄ»ºóæµ£¬ÎªÄãÍê³É±àÂëºÍ½â

    Â빤×÷¡£

    ×ÛÉÏ£¬Õâ¾ÍÊÇΪʲôÉíΪPython³ÌÐòÔ±µÄÄãÐèÒªÄܽ«Îı¾±àÂë³ÉUTF-

    8(»òÆäËûijÖÖ±àÂ룺UTF-16¡¢ASCIIµÈ)£¬»ò½«UTF-8ת»Øµ½Îı¾¡£Äã

    ÐèÒª½«×Ö·û´®±àÂë³ÉÒ»×é1ºÍ0£¬ÕâÑù²ÅÄܽ«ÕâЩ1ºÍ0·Å½øÎļþ£¬È»ºó½«

    Îļþ·¢Ë͸øÆäËûÈË¡£

    Ê²Ã´ÊÇÃ÷ÎÄ£¿

    Ç°ÃæÌáµ½±àÂë½âÂë¹ý³ÌÓÐÈýµãÐèҪעÒ⣬ÎÒ̽ÌÖÁËÇ°ÃæÁ½µã¡£ÏÂÃæÊÇ

    µÚÈýµã¡£

    Ã÷ÎĺͱàÂëÎı¾Ö®¼äµÄ²î±ðÊÇÏà¶ÔµÄ£¬ÇÒÒÀÀµÓï¾³¡£

    ×÷Ϊ³ÌÐòÔ±£¬ÎÒÃÇ»á°ÑÊéÃæÎı¾µ±×÷Ã÷ÎÄ¡£µ«Ò²Òª´ÓÆäËû½Ç¶È·ÖÎöÊÂ

    Îï¡£ÀýÈ磬ÎÒÃÇ¿ÉÒÔ°Ñ¿ÚÍ·Îı¾¿´×÷Ã÷ÎÄ£¬¶øÊéÃæÎı¾¿´×÷±àÂëÎı¾¡£

    ´ÓÕâ¸ö½Ç¶ÈÀ´¿´£¬ÊéÃæÓïÊDZàÂë¹ýµÄ¿ÚÓï¡£ÊÀ½çÉÏÓкܶàÖÖ²»Í¬µÄ±à

    Â룬½«¿ÚÓï±àÂë³ÉÊéÃæÓï¡£¾ÙÀýÀ´Ëµ£¬ÓйŰ£¼°ÏóÐÎÎÄ×Ö¡¢ÂêÑÅÏóÐÎÎÄ

    ×Ö¡¢À­¶¡×Öĸ¡¢Ï£À°×Öĸ¡¢°¢À­²®ÎÄ¡¢ÖйúµÄ±íÒâÎÄ×Ö£¬»¹Óзdz£Æ½»¬

    µÄÌì³ÇÎÄ(Devanagari)£¬¼´Ê¹ÊǼòдÌåÒ²³Ê·æÀû¼âÈñµÄШÐΡ£ÕâЩ¶¼ÊÇ¿ÚÓï´ÊµÄÊéд±àÂë¡£ÕýÈçÓ¢¹úÕþÖÎÕÜѧ¼ÒÍÐÂí˹¡¤»ô²¼Ë¹(Thomas

    Hobbes)ËùÑÔ£¬ËüÃǶ¼ÊÇ¡°ÎÒÃÇÒ²ÐíÀµÒÔ¼ÇסÎÒÃÇ˼ÏëµÄ¼ÇºÅ¡±¡£

    ÕâÓÖÌáÐÑÎÒÃÇ£¬ÔÚ²»Í¬µÄÓï¾³ÖУ¬¼´Ê¹ÑÔÓï±¾Éí¡ª¡ªÓïÑÔ¡ª¡ªÒ²¿ÉÄܱ»

    ¿´×÷ÊÇÒ»ÖÖ±àÂëÐÎʽ¡£Ôڴ󲿷ÖÔçÆÚÏÖ´úÕÜѧÖÐ(ÏëÏë»ô²¼Ë¹ºÍÂå

    ¿Ë)£¬ÑÔÓï(»òÓïÑÔ)»ù±¾Éϱ»ÈÏΪÊÇ˼ÏëºÍÀíÄîµÄ±àÂë¡£µ±ÎÒ½«ÎÒµÄ

    Ïë·¨±àÂë³ÉÓïÑÔ˵³ö¿Ú²¢¶ÔÄã˵µÄʱºò£¬¹µÍ¨¾Í·¢ÉúÁË¡£ÄãÌýµ½ÎÒÑÔÓï

    µÄÉùÒô£¬½«Æä½âÂë³ÉÏë·¨¡£µ±ÎÒ¾­ÓÉÓïÑԳɹ¦µØ½«×Ô¼ºÐÄÀïµÄÏë·¨´«µÝ

    µ½ÄãÐÄÀïµÄʱºò£¬ÎÒÃǵĹµÍ¨Ò²¾Í³É¹¦ÁË¡£ÓÉÓÚÎÒµÄÑÔÓÄãÐÄÀïµÄÏë

    ·¨¸úÎÒÐÄÀïµÄ´ï³ÉÒ»ÖÂʱ£¬Äã±ãÀí½âÁËÎÒ¡£(²Î¿´Ian HackingµÄWhy

    Does Language Matter to Philosophy?)

    ×îºó£¬×¢ÒâÔÚÆäËûÓï¾³ÖУ¬¡°Ã÷ÎÄ¡±ÉõÖÁ²»ÊÇÎı¾¡£Ã÷ÎÄÊÇÉù²¨µÄ(±ÈÈç

    ÒôÀÖ)£¬¿ÉÒÔ±àÂë³Émp3Îļþ¡£Ã÷ÎÄÊÇͼÏñµÄ£¬¿ÉÒÔ±àÂëΪgif¡¢png»ò

    jpgÎļþ¡£Ã÷ÎÄÊǵçÓ°µÄ£¬¿ÉÒÔ±àÂë³ÉwmvÎļþ¡£²»Ò»¶ø×ã¡£

    ±àÂëºÍ½âÂëÎÞËù²»ÔÚ¡£

    Ó¢ÎÄÔ­ÎÄ£ºThe bytesstr dichotomy in Python 3

    Unicode for dummies ¡ª EncodingÈçºÎ¹¹ÔìÍŶÓPython¿ª·¢»·¾³

    ×÷Õß BePROUD¹«Ë¾×ÊÉ³Ìʦ

    BePROUDÊÇÒ»¼ÒרעÓÚPython¿ª·¢µÄ¹«Ë¾£¬ÒòÔÆ¼¯ÁËÖÚ¶àÐÐÒµ¾«Ó¢

    ¶øÎÅÃûÓÚÈÕ±¾¹úÄÚ¡£

    ÒëÕß Ê¢ÈÙ

    Ôø¾ÍÖ°ÓÚ°®Á¢ÐÅÖйú£¬³¤ÆÚ´ÓÊÂͨÐÅ¡¢ITÉ豸µÄÑз¢¡¢²âÊÔµÈÏà¹Ø¹¤

    ×÷¡£Ï²°®½Å±¾ÓïÑÔ£¬ÌرðÊÇPython¡£Ï£Íû½«PythonµÈ½Å±¾ÓïÑÔ¸üºÃµØ

    Ó¦ÓÃÓÚ×Ô¶¯»¯²âÊÔµÈÁìÓòÖ®ÖС£

    ÔÚ¸öÈË¿ª·¢»·¾³ÖУ¬¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄϲºÃ½øÐÐÔ´´úÂë¹ÜÀí£¬Ò»Ð©Ïë·¨ÒÔ

    ¼°ÐÅÏ¢Ò²¿ÉÒÔ×ÔÐмǼ¡£

    ÄÇôÓɶàÈ˹²Í¬¿ª·¢Ò»¸öÏîÄ¿ÓÖÊÇÔõÑùµÄÇéÐÎÄØ£¿Ê×ÏÈ£¬¿ª·¢µÄ³É¹ûÐè

    ÒªÔÚÍŶӳÉÔ±Öй²Ïí¡£Æä´Î£¬²âÊÔ¿ª·¢³É¹ûµÄ²âÊÔ»·¾³Ò²ÐèҪͳһ½¨

    Á¢¡£½Ó×Å£¬¿ª·¢µÄ·½·¨ÓëÐÅÏ¢Ò²ÒªÔÚÍŶӳÉÔ±Öй²Ïí¡£¿É¼ûÍŶӳÉÔ±Ö®

    ¼äµÄ¹µÍ¨±Ø²»¿ÉÉÙ¡£ÄÇô£¬ÈçºÎʹÍŶӿª·¢¸ßЧ½øÐУ¿ÈçºÎ¹¹½¨ÍŶӿª·¢»·¾³£¿±¾ÎľÍÕâЩ

    ÎÊÌâµÄÏà¹Ø·½·¨ºÍÓÐÓõŤ¾ß½øÐнéÉÜ¡£

    ÔÚ¹«¹²·þÎñÆ÷ÉϽ¨Á¢Óû§¡¤ÉèÖÃȨÏÞ

    Ê×ÏÈ£¬ÎÒÃǽéÉÜÒ»ÏÂÔÚÍŶӹ«¹²·þÎñÆ÷ÉϽ¨Á¢Óû§²¢ÉèÖÃȨÏ޵IJÙ×÷²½

    Öè¡£

    Óû§ÓëÓû§×éµÄ½¨Á¢

    ½¨Á¢¿ª·¢ÍŶӵÄÓû§ºÍÓû§×é¡£ÔÚ¿ª·¢Ê±Ê¹ÓõķþÎñÆ÷ÉÏÔËÐÐן÷ÖÖ¸÷

    ÑùµÄÓ¦ÓóÌÐò£¬Èç¹û¶¼Ê¹ÓÃrootÓû§µÄ»°£¬ÔÚ°²È«ÐÔÉÏ»á´æÔںܴóÒþ

    »¼£¬ÎÒÃÇÒ²²»ÆÚÍûÄÇÑù¡£ÔÚ¹«¹²·þÎñÆ÷ÉÏ£¬½¨ÒéʹÓÃÆÕͨÓû§È¨ÏÞÔËÐÐ

    ¿ª·¢³ÌÐò¡£

    Ê×ÏȽ¨Á¢Ò»¸ö¿ª·¢Óû§×顣ȻºóÈçÏÂËùʾ£¬²ÉÓÃrootȨÏÞºÍgroupaddÃü

    Á½¨Á¢ÃûΪdevµÄÓû§×é¡£

    sudo groupadd dev

    ½Ó׎¨Á¢Óû§¡£Ê¹ÓÃadduserÃüÁ´´½¨bpbookÓû§×飬²¢ÔÚÃüÁîÐÐÖÐ

    Ê¹ÓÃ--ingroupÑ¡ÏÆäÌí¼Óµ½Ö®Ç°½¨Á¢µÄdevÓû§×éÖС£

    sudo adduser bpbook --ingroup dev

    ÕâÑùÒ»À´¾ÍÔÚϵͳÖн¨Á¢ÁËÒ»¸öÃûΪbpbookµÄÓû§¡£Èç¹ûҪɾ³ýÓÃ

    »§£¬¿ÉÒÔÖ±½ÓʹÓÃuserdelÃüÁî½øÐÐɾ³ý¡£

    sudo userdel ¨Cr bpbook

    Sudoers

    ÆÕͨÓû§ÓÐʱ»áÐèҪʹÓ󬼶Óû§(root)µÄȨÏÞÈ¥Ö´ÐÐһЩÃüÁî¡£Õâ

    Ê±¿ÉÒÔͨ¹ýetcsudoersÎļþÖеÄÉ趨¸øÓèÆÕͨÓû§Ö´ÐÐÌØ¶¨rootÃüÁîµÄ

    È¨ÏÞ¡£½ÓÏÂÀ´£¬ÎÒÃÇͨ¹ý±à¼­¸ÃÎļþ£¬¸³Óè֮ǰ½¨Á¢µÄbpbookÓû§Ò»¶¨

    µÄȨÏÞ¡£±à¼­sudoerÎļþÐèÒªÖ´ÐÐvisudoÃüÁî¡£

    sudo visudoÉÏÃæÃüÁîÖ´Ðк󣬽«»á´ò¿ªetcsudoersÎļþ¡£ÏÂÃæÊÇͨ¹ýetcsudoersÎÄ

    ¼þ¸³ÓèbpbookÓû§È¨ÏÞµÄÒ»¶ÎÑùÀý£º

    %dev ALL=(ALL) ALL

    bpbook ALL=(ALL) ALL

    ÉÏÃæµÄÉ趨º¬Òå¾ÍÊǸ³ÓèdevÓû§×éÒÔ¼°ÏÂÃæµÄÓû§bpbookʹÓÃsudoÃü

    ÁîµÄȨÏÞ¡£µÚÒ»ÐÐÊǸ³ÓèÓû§×飬µÚ¶þÐÐÊǸ³ÓèÓû§È¨ÏÞ£¬Á¬ÔÚÒ»Æð±í

    Ê¾¸³Óè¶þÕß¿ÉÒÔÖ´ÐÐrootȨÏÞµÄËùÓÐÃüÁî¡£

    sudoersÎļþµÄȨÏÞÅäÖøñʽÈçÏÂËùʾ£º

    %Óû§×éÃû Ö÷»úÃû=(ȨÏÞ)ÃüÁî

    Óû§Ãû Ö÷»úÃû=(ȨÏÞ)ÃüÁî

    virtualenv

    µ±¶àÊýÈ˹²Í¬¿ª·¢ÏîĿʱ£¬²»ÄÜÒòΪij¸ö×éÔ±Ìí¼ÓÁËij¸ö¿â»òÕß±ä¸üij

    ¸ö°æ±¾£¬¶øÓ°ÏìÕû¸öÍŶӵĿª·¢»·¾³¡£ÔÚʹÓÃPython¿ª·¢Ê±£¬ÍƼöʹÓÃ

    virtualenv¡£ÒòΪʹÓÃÁËvirtualenv£¬ÄÜʹ¿ª·¢»·¾³µÄ±ä¸ü(È簲װеĿâ

    »òÕß°æ±¾Éý¼¶)½ö½ö¶ÔÐÐΪÕß±¾ÉíµÄ¿ª·¢»·¾³ÓÐЧ¡£Òò´Ë£¬ÎÒÃDZØÐëÓÐ

    Ð§Ê¹ÓÃvirtualenv¹¹½¨¶àÈË¿ª·¢»·¾³¡£

    ÈÎÎñ¹ÜÀíϵͳ

    ÎªÍƽøÍŶӿª·¢µÄ˳Àû½øÐУ¬Ê×ÒªÈÎÎñ¾ÍÊÇÄܹ»×¼È·°ÑÎÕÿ¸ö¿ª·¢ÈÎÎñ

    µÄ¸ºÔðÈ˼°Æä¿ª·¢½ø¶ÈµÄ×´¿öÐÅÏ¢£¬²¢¼ÓÒÔÊáÀí¡£ÔÚÕâÀ¹ÜÀíÈÎÎñ¾Í

    ÐèÒªÓõ½ÈÎÎñ¹ÜÀíϵͳ(Issue Tracking System :ITS)¡£

    ITSÊÇÔÚ¿ª·¢¹ý³ÌÖд´½¨ÈÎÎñ¡¢×·×Ù״̬¡¢¹ÜÀíÈÎÎñµÄϵͳ¡£TracºÍ

    RedmineÊÇÒÔticketΪµ¥Î»½øÐÐÈÎÎñ¹ÜÀíµÄϵͳ¡£Ê¹ÓÃITSʱ£¬²»½ö¿ÉÒÔ

    ¹ÜÀíÈÎÎñ£¬»¹¾­³£×÷Ϊ´´½¨ticketÐÅÏ¢²¢Â¼È빤×÷ÈÎÎñµÄÈë¿Ú¡£

    ITSÖлá¸ù¾Ý²»Í¬Çé¿ö¸ø´´½¨µÄticket·ÖÅ䲻ͬµÄ״̬(Èçн¨¡¢½øÐÐ

    ÖС¢½â¾ö¡¢ÒÑÑéÖ¤¡¢¹Ø±Õ¡¢±£ÁôµÈ)¡¢¸øÓ費ͬµÄÓÅÏȼ¶ÊôÐÔ(½ô¼±¡¢¸ß¡¢ÆÕͨ¡¢µÍ)¡¢Î¬»¤ÔðÈÎÈËÐÅÏ¢¡¢ÁгöÍê³ÉÆÚÏÞ£¬»¹¿ÉÒÔ²éѯÉÏÊöËù

    ÓÐÐÅÏ¢¡£Òò´Ë£¬¶ÔÓÚÕû¸öÏîĿ״¿öµÄ°ÑÎÕÊǷdz£ÓÐÀûµÄ¡£Í¬Ê±£¬½«¿ª·¢½øÐÐÈÎÎñ·Ö¸î£¬Í¨¹ýticketµÄÐÎʽ·ÖÅ䏸ÏîÄ¿×é³ÉÔ±£¬Õâ

    Ò²ÊÇÒ»ÖÖÏîÄ¿¿ª·¢µÄÊֶΣ¬³Æ×÷ticketÇý¶¯¿ª·¢¡£ÓÉÓÚͬAgile¿ª·¢ÓÐ×Å

    ºÜºÃµÄÆ¥Åä¹ØÏµ£¬Òò´ËÎÒÃÇÒ²½«ÆäͶÈëµ½×î½üµÄ¿ª·¢ÖнøÐÐʹÓá£

    °æ±¾¹ÜÀíϵͳ

    ÔÚÍŶӿª·¢µÄ¹ý³ÌÖУ¬ÐèÒªÓÐÒ»¸öµØ·½¼¯ÖйÜÀíÿλ³ÉÔ±¿ª·¢µÄ´úÂë³É

    ¹û¡£ÁíÍâ£¬Ëæ×Å¿ª·¢µÄ²»¶ÏÍÆ½ø£¬Ò²»á²úÉú¸÷ÖÖ¸÷ÑùµÄBUG£¬ÔÚÕâ¸öʱ

    ºò£¬ÎªÁËÁ˽âBUGÊÇÔÚʲôʱºò»ì½øÀ´µÄ£¬ÐèÒªÄܶԿª·¢µÄ´úÂë½øÐÐÀú

    Ê·×·×Ù¡£

    ÓÚ´Ë£¬°æ±¾¿ØÖƹÜÀíϵͳ(Version Control System£ºVCS)¾ÍÄÜ·¢»Ó×÷

    ÓÃÁË¡£°æ±¾¹ÜÀíϵͳ£¬ÈçÆäÃû×ÖËùʾ£¬ÊǹÜÀíÔ´´úÂë¼°Æä±ä¸üÀúÊ·µÄϵ

    Í³¡£VCSÖ÷Òª´ú±íSubversionÕâÑù¼¯ÖÐÐ͵ĹÜÀí¹¤¾ß£¬ºÍMercurial¡¢Git

    ÕâÑùµÄ·Ö²¼Ê½°æ±¾¹ÜÀí¹¤¾ß¡£±¾ÎÄʹÓõÄÊÇMercurial¡£

    MercurialÓëTracÁª¶¯°ó¶¨

    ½«ITSÓëVCS½øÐÐϵͳ°ó¶¨£¬¾Í¿ÉÒÔʹµÃÏîÄ¿ÖÐticketºÍÔ´´úÂë±ä¸ü¹ý³Ì

    ¸ü¼ÓÇåÎú¡£±¾½Ú¶ÔMercurialºÍTracµÄϵͳ°ó¶¨·½·¨½øÐÐ˵Ã÷¡£TracÓë

    Mercurial½øÐÐϵͳ°ó¶¨ÐèÒª°²×°TracµÄmercurial-plugin²å¼þ¡£¶ø

    mercurial-plugin²å¼þÓÉSubversion½øÐйÜÀí£¬ËùÒÔÊ×ÏÈÐèÒª°²×°

    Subversion¡£

    sudo aptitude install subversion

    Subversion°²×°Íê±ÏÖ®ºó£¬¾Í¿ÉÒÔÏÂÔØTracµÄmercurial-plugin²å¼þÁË1 ¡£

    1 ÆäʵÕâÊÇsvn checkoutµÄÃüÁ¶ø²»Êǵ¥´¿ÒâÒåµÄÏÂÔØ¡£¡ª¡ªÒëÕß×¢

    svn co http:svn.edgewall.comrepostracplugins0.12mercurial-plugin

    ÏÂÔØÍê³Éºó¾Í¿ÉÒÔ°²×°¸Ã²å¼þÁË¡£

    cd mercurial-plugin

    python setup.py install

    mercurial-plugin²å¼þ°²×°Íê³ÉÖ®ºó£¬ÐèҪͨ¹ý±à¼­trac.iniÎļþ2°ó¶¨MercurialºÍTrac¡£Ê×ÏÈ£¬Ìí¼Óʹmercurial-plugin²å¼þÉúЧµÄcomponentes

    ¶Î£¬ÈçÏÂËùʾ£º

    [components]

    tracext.hg. = enabled

    2 ¸ÃÎļþÊÇÔÚtrac½¨Á¢µÄ¹¤³ÌconfĿ¼Ï£¬Èçhomeeronshebpbookconf¡£¡ª¡ªÒëÕß×¢

    ½Ó×ÅÖ¸¶¨´úÂë¿âµÄÀàÐͺʹúÂë¿âµÄĿ¼¡£ÔÚtrac¶ÎÖеÄrepository_typeÖ¸

    ¶¨±íʾMercurialµÄhg£¬ÔÚrepository_dirÖÐÖ¸¶¨´úÂë¿âµÄ·¾¶(±¾ÀýÖÐ

    ÊÇvarhgbpbook)

    [trac]

    repository_type = hg

    repository_dir = varhgbpbook

    ¾­¹ýÒÔÉÏÉ趨£¬¾Í¿ÉÒÔʹTracÓëMercurial°ó¶¨£¬MercurialÖеĸüÐÂÈÕÖ¾

    Ò²»á·´Ó¦ÔÚTracÖС£

    Ð¡½á

    ±¾ÎĽéÉÜÁËÍŶӿª·¢µÄ»·¾³¹¹½¨£¬¸ø³öÁ˹«¹²·þÎñÆ÷ÉϵÄÓû§ÓëÓû§×é

    ½¨Á¢²¢ÉèÖÃȨÏ޵IJÙ×÷Á÷³Ì£¬ÒÔ¼°ITS¡¢VCSµÈÔÚÍŶӿª·¢ÖÐÊÊÓõĸ÷

    ÖÖ¹¤¾ß¡£

    Áé»îÔËÓÃMercurial¡¢TracÕâÀ๤¾ß£¬Ê¹¿ª·¢³É¹û¿ÉÒÔÔÚÍŶӳÉÔ±Öй²

    Ïí£¬Õ⽫»á´ó´óÍÆ½øÍŶӿª·¢µÄЧÂÊ¡£ÁíÒ»·½Ã棬Skype¡¢DropBox¡¢Google DocsµÈ¹¤¾ßµÄʹÓã¬ÓÖ¿ÉÒÔ½¨Á¢Í¨¹ýÍøÂç½øÐйµÍ¨²¢¹²Ïí¿ª·¢

    ÐÅÏ¢ÓëÊý¾ÝµÄÇÅÁº£¬Ê¹µÃ¿ª·¢¿ÉÒÔËæÊ±ËæµØ½øÐУ¬´ó·ù½µµÍÁ˲îÂúÍͨ

    Ðŵijɱ¾¡£

    ÍŶӿª·¢Öи´ÔÓµÄÇéÐÎÓкܶࡣֻÓÐÁé»îÔËÓø÷ÖÖ¹¤¾ß£¬Ìá¸ßЧÂÊ£¬²Å

    ÄÜÈ¡µÃÒ»¶¨³É¹û¡£Ê¹Óø÷À๤¾ßÌá¸ß¿ª·¢Ð§ÂÊÎÞÒÉÊÇÒ»ÖÖÀÖȤ£¬´ó¼ÒÒ²

    ¿ÉÒÔ³¢ÊÔ½«±¾ÎĽéÉܵŤ¾ßͶÈëµ½¸÷×ÔµÄÍŶӿª·¢ÏîÄ¿ÖÐʹÓÃÒ»ÏÂŶ¡£

    ¡¶Python¿ª·¢ÊµÕ½¡·À´×ÔÓÚÕæÕýµÄ¿ª·¢ÏÖ³¡£¬ÓÉBePROUD¹«Ë¾µÄ×ÊÉî

    Ô±¹¤Ö´±Ê£¬Äý½áÁËÀÏÅÆ³ÌÐòÔ±ÔÚÈÕ³£¹¤×÷ÖлýÀ۵Ŀª·¢¾­Ñ飬ÊÇÒ»±¾ÄÑ

    µÃµÄºÃÊé¡£±¾ÎÄÑ¡×Ô¡¶Python¿ª·¢ÊµÕ½¡·ÈËÎïÂÞ³¿£ºÃÎÏëÕÕ½øÏÖʵ£¬Ò»¸ö¶ÀÁ¢¿ª·¢ÕßµÄÌïÔ°Ê«ËûÖÖÓлúÊ߲ˡ¢Ëû¸ãÈ«¾°ÉãÓ°¡¢Ëû×Ô¼ºÉè¼ÆÖÆ×÷Ó²¼þ²úÆ·£¬Ëû»¹ÊǸö

    ³ÌÐòÔ±£¬²¢ÒÔ´ËΪÉú¡£ÂÞ³¿£¬ËûÊÇMarkdown±à¼­Æ÷MouµÄ×÷Õߣ¬Ëû

    ¾ÍÊÇһλÉú»îÔÚÅ©³¡ÉϵĶÀÁ¢¿ª·¢Õß¡£ÌáÆðÎÒÃÇÕâ¸öʱ´úµÄÂëÅ©ÃÇ£¬ÈËÃÇÁªÏëµ½×î¶àµÄÊÇ¡°¼Ó°à¡±¡¢¡±¸Ï½ø¶È¡°¡¢¡°²»½¡¿µµÄÉú»î·½Ê½¡±¡­¡­ºÃ

    ÏñÕâЩÊǺͱà³ÌÃܲ»¿É·ÖµÄÑÜÉúÆ·¡£È»¶ø£¬ÔÚÂÞ³¿ÉíÉÏÎÒÃÇ¿´µ½ÁíÍâ

    Ò»ÖÖ¿ÉÄÜÐÔ£¬ÎÒÃÇ¿ÉÒÔ£¬»î³ö×Ô¼ºÏëÒªµÄÏÖʵ

    MouStand¡ª¡ªÈÃÃÎÏë±ä³ÉÏÖʵ

    ÎÒÊ®·Öϲ»¶ Mou µÄ logo£¬Õâ¸öÐÎ×´ÊÇÏëÏó³öÀ´µÄ£¬Ö®Ç°ËüÔÚÏÖʵÖÐ

    ²¢²»´æÔÚ¡£µ«ÊÇÎÒ°ÑËü±ä³ÉÁËÏÖʵ¡£

    ÎªÊ²Ã´Òª×Ô¼º×öÒ»¸ö Markdown ±à¼­Æ÷?

    ÎÒ¸Õ¿ªÊ¼ÖªµÀ Markdown Õâ¸öÓïÑÔ£¬¾Í¾õµÃͦÓÐÒâ˼£¬ÏëÕÒÒ»¸ö

    Markdown µÄ±à¼­Æ÷¡£µ±Ê±ÓÐÁ½¸öÊշѵı༭Æ÷¡£ÆäÖÐÒ»¸öÖÐÎÄÖ§³Ö²»

    Ì«ºÃ£¬ÀÏÌø£¬Ò»´òÖÐÎĵÄʱºòÄǸö¼üÉÏÏÂÌø¡£ÁíÍâÒ»¸öÔ¤ÀÀ½çÃæºÍ±à¼­½çÃæÊÇ·Ö¿ªµÄ¡£ÒªÏëÔ¤ÀÀ¾ÍµÃµãÒ»ÏÂÔ¤ÀÀµÄÃüÁ²»ÄÜͬʱÏÔʾ¡£ÎÒÏë

    Òª×ó±ß±à¼­ÓÒ±ßÔ¤ÀÀ£¬ÕâÑù¾Í¿ÉÒÔʵʱԤÀÀ£¬Ò»±ß±à¼­£¬Ò»±ßÏÔʾµÄ£¬¿ÉÊÇûÓС£ÄÇû°ì·¨£¬ÊÐÃæÉÏûÓÐÖ»ÄÜ×Ô¼º×ö¡£È»ºóÎÒ¾Í×öÁË¡£

    Mou µÄͬ²½¹ö¶¯»¹²»¾«È·¡£ÒòΪÎÒÕâ¸öÊǰ´ÕÕ×óÓÒÁ½¸ö´°¿ÚµÄ³¤¶È£¬°Ù

    ·Ö±ÈÀ´Ë㡣ͬ²½±È½ÏÄÑ×ö¡£Èç¹ûÒª¾«È·Æ¥ÅäÖ»Äܰ´ÔªËØ¡£±ÈÈç×ó±ßÊǶþ

    ¼¶±êÌ⣬µÚÒ»¸ö¶þ¼¶±êÌâ¶ÔÓұߵĶþ¼¶±êÌ⣬ÕâÑùÀ´Ë㶨λ²Å×¼¡£µ«ÊÇ

    ÎÒÏÖÔÚ»¹²»ÖªµÀÔõô×ö¡£

    ÄãºÜϲ»¶Õâ¸ö Mou µÄÕâ¸ö logo?

    Êǵģ¬Mou ÏÖÔÚµÄ logo ÊÇ·½³ÙÉè¼ÆµÄ£¬Îҷdz£Ï²»¶¡£µÚÒ»¸ö°æ±¾µÄ

    logo ÊÇÎÒ»­µÄ£¬µ«»­µÄ²»ºÃ¡£ºóÀ´ÔÚ¶¡Ò»µÄ½éÉÜÏÂÄܹ»ÓÐÐÒÇëµ½·½³ÙΪ

    Mou ÖØÐÂÉè¼Æ logo¡£ÎÒµ±Ê±µÄÒªÇó¾ÍÊǼò½à£¬Í»³ö M¡£ÎÒ¾õµÃËûÉè¼Æ

    µÄ·Ç³£°ô£¬ÕâÖÖÔìÐÍÊÇ·½³ÙÏëÏó³öÀ´µÄ£¬Ö®Ç°ÏÖʵÖв¢Ã»ÓÐÕâÖÖÐÎ×´µÄ

    ÎïÌå¡£Îҷdz£Ï²»¶Õâ¸öÔìÐÍ£¬ÒÔÖÁÓÚÎÒÏë°ÑËü±ä³ÉʵÎï¡£µ«Éè¼Æ logo

    ºÍ°ÑËü±ä³ÉʵÎïÊÇÁ½ÂëÊ¡£µ±³õÉè¼Æ logo µÄʱºò²¢Ã»Óп¼Âǵ½Òª×ö³É

    ÊµÎï¡£

    Mou ×î³õ(µÚÒ»¸ö¹«¿ª²âÊÔ°æ Mou 0.6.0)µÄ logo£¬2011 Äê 9 Ô£¬ÂÞ³¿

    Éè¼Æ£º

    Mou 0.6.4 µÄ logo£¬2011 Äê 10 Ô£¬·½³ÙÉè¼Æ£ºMou 0.7.2 µÄ logo£¬2012 Äê 8 Ô£¬·½³ÙÉè¼Æ¸Ä½ø£¬ÑØÓÃÖÁ½ñ£º

    ¼ÈÈ»¹ØÓÚ MouStand Õâ¸öʵÎïËùÓеÄÒ»Çж¼ÊÇÄã×Ô¼ºÉè¼ÆµÄ£¬ÄǾʹӰü

    ×°½²Æð°É¡£

    °ü×°ÎÒ¿¼ÂǹýÖ½ºÐ£¬µ«ÊDz»Ì«½áʵ¡£ÍßÀãÖ½ÊÇÈáÐԵģ¬ÈáÐÔµÄһѹ¾Íѹ

    »µÁË£¬Ôõô°ì£¿ÏÖÔÚ¿ìµÝ¶¼±È½Ï±©Á¦£¬ËùÒÔÎÒÃÇÐèÒª¸ÕÐԵİü×°¡£Õâ¸ö

    Ä¾Öưü×°ºÐÊÇÖ¸½Ó½á¹¹¡£ËüÓÐÒ»¸öÓŵã¾ÍÊÇÎȹ̡¢Ìرð½áʵ£¬¿ÉÒÔ±£Ö¤

    ³¤Í¾µÄÔËÊäµ±ÖÐÀïÃæµÄ¶«Î÷²»ÊÜË𺦡£²ÄÁϵ±È»ÊÇÔ½ÇáÔ½ºÃ£¬Çáµã¿ÉÒÔ

    Ê¡ÓÊ·Ñ£¬µ«ÊDz»ÄÜÌ«ÇᣬÒòΪ»¹Òª¿¼Âǵ½Ç¿¶È¡£µ±Ê±ÎҾͿ¼ÂÇÁ½ÖÖ²Ä

    ÁÏ£¬Ò»ÖÖÊÇͩľ£¬·Ç³£Çá¡£µÚ¶þÖÖÊÇËÉľ¡£µ«ÊÇͩľҪÊÇÕâ¸öºñ¶È²»½á

    Êµ¡£Ò»²ÈÉÏÈ¥¾ÍËéÁË¡£ËÉľµÄ²ÈÉÏȥûʲôÎÊÌâ¡£

    ·¢»õµÄʱºòľºÐµÄÍâÃæ»¹ÒªÌ×Ò»¸öÍßÀãÖ½ÏäµÄ£¬¸ÕÈá²¢¼Ã£¬¶àÒ»²ã±£

    »¤¡£Äã¿´ÉϸÇÖ»²ÉÓÃÕâÁ½¸ùľÌõ£¬¶øÕâ±ßûÓС£ÕâÊÇÎªÊ²Ã´ÄØ£¿Õâ¸ö¸ÕºÃ¿É

    ÒÔ¿Ûס£¬Èç¹ûÕâ±ßÔÙ¼ÓÁ½¸ùľÌõ£¬¾Í¿Û²»×¡ÁË£¬»á¶¥×¡ MouStand Éϱß

    ÕâÁ½¸öÍÈ£¬¾ÍÐèÒª°ÑÕâ¸öºÐ×ÓÔÙ¸ßÒ»µã£¬ÄÇÑù¾ÍÀ˷ѲÄÁÏÁË¡£¿¼Âǵ½Ç¿

    ¶È¡¢Ò²¿¼Âǵ½½ÚÊ¡²ÄÁÏ¡£³ß´ç¶¼ÊÇÆ¥ÅäµÄ£¬ÎªµÄÊÇ×î´óÏ޶ȵĽÚÊ¡²Ä

    ÁÏ¡£

    °ü×°ÉϵıêǩҲÊÇÎÒ×Ô¼ºÉè¼Æ¡£Îҵķç¸ñÊÇÊôÓÚ¼ò½àËØÑŵķç¸ñ¡£´óÃæ

    »ýÁô°×£¬ÉÏÃæÒ»ÌõÊǺڵװ××Ö£¬ÆäÓàÊǰ׵׺Ú×Ö¡£¸Ç×ÓÀïÃæµÄ±êǩעÃ÷

    ËüµÄÏêϸ¹æ¸ñ¡£Ã¿¸ö MouStand ÖØ 36 ¿Ë(Ò»¸ö Color Packs Ì××°°üº¬ 4¸ö MouStand£¬Ä¾ºÐÖØ 200 ¿Ë¡£µ«ÊÇÓÐÎó²î£¬Îó²îÎÒ¹ÊÒâдµÄ´óһЩ¡£

    ±ÈÈçľͷÀïÃæÓÐË®·Ö£¬Ë®¸ÉÁËÖ®ºó»á±äÇᣬʪ¶È´ó»¹ÓпÉÄܱäÖØ¡£

    ÕâЩ¶«Î÷¼ÓÆðÀ´£¬ÔÙ¼ÓÍâÃæÌ×Ò»¸öÖ½Ï䳬²»¹ý 500 ¿Ë¡£ÎªÊ²Ã´ 500 ¿Ë£¿

    ÒòΪ·¢»õÎÒ²ÉÓÃÓÊÕþ£¬EMS Êǰ´ 500 ¿ËÀ´Ë㣬500 ¿ËÒÔÄÚÊÇÒ»¸ö¼Û¸ñ£¬501 ¿ËÓÖ¼ÓÇ®¾Í²»»®ËãÁË£¬ËùÒÔ±£Ö¤ 500 ¿ËÒÔÄÚ¡£

    ÔÙ˵˵²úÆ·±¾Éí¡£

    ÎÒÈ¥ÄêÓÃÒø×Ó£¬´¸×ÓÔä³öÀ´Ò»¸ö±ÈÕâ¸öСµÄÐÎ×´¡£ÓÃÒø×ÓÇóÉÒøË¿¡£ÔÙ

    ÕÛһϡ£Ò²ÊÇÓô¸×ÓÇÃһϣ¬ÕÛÈý´Î³ÉÕâÑù£¬±ÈÕâ¸öС¡£

    È¥Äê(2012 Äê 7 ÔÂ)ÓÃÒø×ÓÔä³öÀ´µÄ Mou µÄ logo£º

    Ôٻص½ MouStand£¬¿ªÊ¼Ê±£¬ÎÒÏë×ö logo ÄÇÖÖÑÕÉ«£¬µ«Êǵ÷²»³öÀ´¡£Õâ

    ¸ö¼Ó¹¤²½ÖèÊÇÕâÑùµÄ£¬ÏȰÑÒ»¿éÆ½ÃæµÄÂÁ°åÇиî³ÉÆ½ÃæÐÎ×´£¬ÇиîºÃÒÔ

    ºó£¬Ôٰѱ߽ǽøÐÐÊÖ¹¤´òÄ¥£¬ÒòΪ»úÆ÷´òÄ¥ºÃÖ®ºóÓÐë´Ì¡£´òÄ¥ºÃÖ®

    ºó£¬µÚ¶þ²½½øÐÐÕÛÍ䣬°ÑÆ½ÃæµÄͼÐÎÕÛÈý´Î£¬È»ºó¾Í³ÉÐÎÁË¡£±ä³ÉÒ»¸ö

    »ù±¾µÄÐÎ×´Ö®ºó£¬ÔÚ½øÐÐÅçɰ´¦Àí£¬Ê¹±íÃæÐγÉÒ»ÖÖÅçɰµÄЧ¹û¡£Ëµ°×

    ÁËÕâ¸öÅçɰ¾ÍÊÇÓÃÅçǹÅçϸɰ¡£ÓÃϸɰÁ£×²»÷ËüµÄ±íÃæ£¬×²³öÎÞÊýµÄС

    ¿Ó£¬¾ÍÐγÉÁËÅçɰЧ¹û¡£ÅçɰµÄ¹¦Ð§Ò»¸öÊÇÃÀ¹Û¡£ÁíÍ⣬ÕÛÍäÁËÖ®»áÓÐѹºÛ(ÕÛÍäºÛ)£¬Åçɰ¿ÉÒ԰Ѻۼ£¼õÈõ¡£Õ⻹ÓеÚËIJ½£¬Ñô¼«Ñõ»¯´¦

    Àí¡£ÅçÍêɰ֮ºó±íÃæ¶¼ÊÇÂÁ£¬½øÐÐÑô¼«Ñõ»¯£¬Ê¹±íÃæÉú³ÉÒ»²ãÈýÑõ»¯¶þ

    ÂÁ¡£ÈýÑõ»¯¶þÂÁºÜÓ²£¬ÄªÊÏÓ²¶È´ïµ½8¡£ÏñÀ¶±¦Ê¯¡¢ºì±¦Ê¯¡¢Ä¥µ¶Ê¯Ö÷

    Òª³É·Ö¶¼ÊÇÈýÑõ»¯¶þÂÁ¡£Ñõ»¯³ÉÈýÑõ»¯¶þÂÁÊǶÔËü±íÃæ½øÐÐÒ»ÖÖ±£»¤¡£

    ÏÖÔÚµÄЧ¹û¾ÍºÜÓ²£¬²»ÈÝÒ×»®ÉË¡£Ò²±È½Ï¹â»¬¡£

    È»ºóÔÙ½øÐÐȾɫ¡£Äã¿´µ½µÄÕâ¸öÑÕɫʵ¼ÊÉϲ»ÊÇÓÍÆá£¬¶øÊÇīˮ¡£Ñõ»¯

    ºó£¬ÈýÑõ»¯¶þÂÁµÄ½á¹¹ÊÇ͸Ã÷µÄ¿××´½á¹¹£¬ÓÃīˮһȾµÄ»°¾ÍÉøÍ¸½ø

    È¥¡£×îºóÒ»²½½øÐзâ¿×£¬ÓÿªË®Ö󣬰ÑÑÕÁÏ·âÔÚÀïÃæ¡£(ÑÕÁÏ)ÒѾ­Éø

    Í¸½øÈ¥ÁË£¬±ÈÓÍÆáÒªºÃÓá£MacBook ±íÃæÒ²ÊÇÕâÖÖ¹¤ÒÕ£¬Ö»²»¹ýÄÇÖÖÅç

    É°ÅçµÃ±È½Ïϸ¡£ÎÒÃÇÕâ¸öÅçɰ¿ÅÁ£´óһЩ¡£¿ÅÁ£´óÊÇÒòΪÊܵ½¼Ó¹¤¹¤ÒÕ

    µÄÏÞÖÆ£¬¹¤ÒÕ´ï²»µ½ÄÇô¸ß¡£ÁíÍ⣬ÕÛÍäµÄʱºò£¬ºÛ¼£ºÜÃ÷ÏÔ£¬Èç¹ûÓÃ

    Ï¸É°ÅçºÛ¼£·Ç³£Ã÷ÏÔ£¬ÑڸDz»µô£¬ËùÒÔÖ»ÄÜÓÃÖеȿÅÁ£µÄ£¬¸ÕºÃ°ÑÕÛºÛ

    Ñڸǵô¡£ÕÛµÄʱºò»úÆ÷ÓÐÁ½¸ö¼âһѹ£¬Ã¿¸öÕÛÍä´¦¶¼ÓÐÒ»ÌõµÀ£¬ÏÖÔÚ²»

    ÈÝÒ׿´³öÀ´£¬ÊÇÓÃÅçɰ¸ø´¦ÀíµôÁË¡£ÕâÒ»¿é»¹Óнŵæ(ÈÞ²¼Ìù)£¬¶ÔÏÂ

    Ãæ½øÐб£»¤¡£

    ¸Õ²ÅÎʵ½ºóÃæµÄ¿×ÊǸÉʲôµÄ£¿×îºóµÄÑô¼«Ñõ»¯Òª°Ñ¹¤¼þ×÷Ϊµç¼«½þµ½

    ÈÜÒºÀï¡£Õâ¸öÊǵ¼µçµÄ£¬±ØÐëÓиö´¥µã£¬ËùÒÔÔÚÕ⿪Á˸ö¿×£¬ÈÃÕâ¸öµØ

    ·½Ò»Ö±µ¼µç¡£½øµ½ÈÜÒºÀïÑõ»¯£¬Ò»Í¨µç£¬±íÃæÉú³ÉÑõ»¯Ä¤¡£¸Õ¿ªÊ¼×öÑùÆ·µÄʱºòûÓпªÕâ¸ö¿×£¬ÊÇÔÚÕâÁ½¸öλÖÃ(MÉÏÃæµÄÁ½¸ö

    ¼â)¼Ð×ŵġ£¼Ð×ŵÄʱºò±íÃæ³öÏּкۣ¬¼ÐºÛ·Ç³£ÄÑ¿´¡£ËùÒÔÕýʽÉú²ú

    µÄʱºò¾ÍÔÚºóÃæ¿ªÁ˸ö¿×£¬ÈÃËü°Ñ¼ÐºÛÒþ²Øµ½ÀïÃæ£¬¸üÃÀ¹ÛÒ»µã¡£

    MouStand ³ß´çΪʲôÕâô¶¨£¿

    ³ß´ç»¹ÓнǶȣ¬Òª¼æ¹Ë(iPhone ºÍ iPad)ˮƽģʽºÍ´¹Ö±Ä£Ê½£¬¶¼ÄÜ

    ·Å¡£Õâ¸öˮƽ·ÅÖÃûÎÊÌ⣬Êú×Å·ÅҲûÎÊÌâ¡£Á½ÖÖģʽ¶¼Ö§³ÖµÄÇé¿ö

    Ï£¬±£Ö¤ËüÌå»ý×îС£¬¾ÍÕÒµ½Õâôһ¸öƽºâ£¬ÔÙ´óÁËÀË·Ñ¡£Õâ¸öÔìÐÍ¿É

    ÒÔÁ½±ß·Å¡£Õâ±ß·ÅÒ»¸ö£¬±ÈÈçÁ½¸öÈË£¬ÄãÔÚÕâ±ßÍæÊÖ»ú£¬ÎÒÔÚÕâ±ßÍæÕâ

    ¸ö¡£Á½¸öÍÈÖ®¼äµÄ¼ä¾àÒ²ÊÇ¿¼ÂǹýµÄ£¬Èç¹û¼ä¾àÔÙ´óµã¶ùÊÖ»úÊú×ŷžÍ

    Íϲ»×¡ÁË£¬Â©ÏÂÈ¥ÁË¡£Ô­ÐÍÉè¼ÆµÄʱºò£¬ÎÒÊÇÓÃÖ½×öµÄ£¬ÓõÄÊÇÒ»°ÙÎåÊ®¿Ë¿¨Ö½¡£³ÐÖØÃ»·¨

    ²â£¬Ö»ÊDzâ½Ç¶È£¬Óà iPad ±È»®Õâ°Ñ½Ç¶È¹À¼Æ³öÀ´£¬¿´Ê²Ã´½Ç¶Èµ¹²»

    ÁË¡£Ç°Ãæ½ÅµÄ³¤¶È£¬²Î¿¼Ò»Ï iPhone¡¢iPad µÄºñ¶È£¬³¤Ò»µã£¬ÕâÑù¾Í·­

    ²»¹ýÈ¥¡£

    MouStand µÄÔ­ÐÍÊÇÓÃÖ½×öµÄ£º

    ¾ßÌå¼Ó¹¤ÊÇÔõôÍê³ÉµÄ?ÎÒÊǰÑÉè¼ÆÍ¼Ö½×öºÃ£¬È»ºó¼Ó¹¤¹¤ÒÕÈ·¶¨£¬ÔÙÁªÏµ´ú¹¤³§¡£Õâ¸öľºÐÊÇ

    É½¶«²ÜÏØ´ú¹¤¡£×öÁËÁ½°Ù¸ö£¬»¹ÊǺÃ˵´õ˵È˼ҲŸø×ö¡£Õâ¸öÊôÓÚÏÞÁ¿

    Éú²ú£¬²»ÏñÈ˼Ҵ󹤳§ÅúÁ¿Éú²ú£¬ÄÇÑù³É±¾·Ç³£µÍ¡£ÂÁºÏ½ð¼Ó¹¤ÊÇÔÚ¹ã

    ÖÝ¡£±êÇ©»¹ÓÐÄ¾Í·Íæ¾ßµÄÖ½ºÐÊÇÎÒ×Ô¼ºÂòµÄ´òÓ¡Ö½£¬´òÓ¡»ú¡¢ÇÐÖ½»ú£¬ÍêÈ«ÊÇ×Ô¼º×ö¡£Ä¾Í·Íæ¾ßÖ½ºÐÉϵÄͼÐκÍͼ½âÊÇÎÒÓà Silo ½¨Ä£Èí¼þ½¨³öÄ£ÐÍ£¬½ØÍ¼ºóÔÙ

    µ¼Èë Illustrator ÀïÃè³öÀ´Ïß¿òͼ£¬°ü×°Ò²ÊÇÎÒ×Ô¼º×öµÄ¡£Õâ¸öÊÇÈý¸ùľ

    Ìõ¡£ÕâÊǸ½ÔùµÄÍæ¾ß¡£Õâ¸öÍæ¾ßÊÇÏÖÓеģ¬ÎÒÖ»²»¹ýŪÁËÒ»¸ö°ü×°¡£Õâ

    ¸öÍæ¾ß½Ð¿×Ã÷Ëø£¬¾Ý˵ÔÚ¿×Ã÷µÄʱºò¾ÍÓÐÁË¡£

    Ä¾Í·Íæ¾ß°ü×°ºÐÉϵÄͼÐÎÊÇÏÈÓà Silo ½¨Ä££¬ÔÙÓà Illustrator Ãè³öÀ´µÄ£ºÕâ¸öÌùÖ½Ò²ÊÇÎÒ×Ô¼º×öµÄ¡£ÏëÌùÄľÍÌùÔÚÄÄ¡£Äã°ÑºóÃæµÄÄDzãֽ˺ÏÂ

    À´¡£Õâ¸öÏñ GitHub ѧϰ£¬GitHub ²»ÊÇÒ²ÊÇÓÐÒ»¸ö shop£¬Ò²ÂôÌùÖ½µÄ¡¢Âô±­×Ó£¬ËüÒ²ÊÇÒÔËüµÄ logo ·¢Õ¹µÄÖܱ߲úÆ·£¬ÎÒÕâÒ²ÊÇÒÔ logo ·¢Õ¹µÄ

    Öܱ߲úÆ·¡£ÄãµÄÍøÕ¾×öµÄͦºÃ¿´µÄ£¬¼ò½àƯÁÁ¡£

    ¾ÍÊǼ¸ÕŽØÍ¼ÍùÉÏÒ»¶Ñ¡£¸Õ¿ªÊ¼Ñ§ÉãÓ°µÄʱºòѧ¹ý Photoshop£¬Õâ¶¼ÊÇ

    Ö®Ç°»ýÀ۵Ļù´¡£¬ÕâЩ֪ʶȫÓÃÉÏ¡£×ö MouStand Íøµê£¬ÒªÉãÓ°£¬°Ñ²ú

    Æ·ÅÄÏÂÀ´£¬ÔõôÅĺÿ´£¬Åª¸öÉãӰСÅï×Ó£¬²¼ºÃµÆ¹â¡¢½Ç¶È¡¢Ö§¼ÜŪ

    ºÃ£¬Åĺã¬ÔÙµ÷µ÷ÁÁ¶È¡£°ÑÕÕÆ¬ÅªµÄºÃÒ»µã¡£ÅÄÕÕÆ¬´ó¸ÅŪÁËÁ½Ìì¡£

    Ä㶨¼ÛÊÇÔõô¶¨µÄ£¿ÂôÁ˶àÉÙÁË£¿

    ¼Û¸ñ¾ÍÊdzɱ¾¼ÓÉÏÅÜÍȵÄ··Ñ£¬´ÓÎÒסµÄÅ©³¡µ½ÓʾÖÀ´»ØÆï×ÔÐгµÒª

    20 ¹«Àï¡£Õâ¸öÎÒ¶¨µÄÊÇÿһ¸ö¶þÊ®¾Åµ¶¡£°´Õâ¸ö¼Û¸ñÀ´Ëã¡£²Î¿¼ÁËÒ»

    Ï¹úÍâÊг¡ iPad Ö§¼ÜµÄ¼Û¸ñ¡£Ò»°ãÈýÊ®µ¶£¬ÎÒµÄÊǶþÊ®¾Åµ¶¡£Ö»²»¹ý

    ÎÒÃÇÊÇËĸöÒ»ÆðÂô£¬Á½¸öÒ»ÆðÂô£¬¾ÍÏÔµÃ±È½Ï¹ó¡£Æäʵһ¸öÄóöÀ´£¬¶þ

    Ê®¾Åµ¶£¬ÔÚ¹úÍâÀ´ËµÊǺÜÕý³£µÄÒ»¸ö¼Û¸ñ¡£µ«ÊÇľºÐÖ»ÓÐÁ½°Ù¸ö£¬Ì«¶à

    ÁËľºÐ̫ռµØ·½£¬¼ÒÀïÒ²·Å²»Ï¡£

    ²Êɫһ°ÙÌ×£¬ºÚ°×µÄÒ»°ÙÌ×£¬Ò»¹²Á½°ÙÌס£ÏÖÔÚÂôÁ˶þÈýÊ®Ìס£¶¼ÂôÁË

    Ò²Õõ²»Á˶àÉÙÇ®¡£Ö÷ÒªÊÇ×Ô¼º×ö×ÅÍæ£¬ÓÐÕâ¸öÀÖȤ¡£ÎÒÃæÏòµÄ¿Í»§Ö÷Òª

    ÊǹúÍâµÄ£¬¹úÄÚµÄÉÙ¡£ÒªÊÇŪ¸öÌÔ±¦µêÆÌ£¬ÎҸоõÓеãÂé·³¡£¹úÄÚĿǰ

    ÂôÁ˰ËÌס£

    ÒÔºó»¹Ïë¼ÌÐø×öʵÎïÓ²¼þÂð£¿

    ²»ÏëÔÙ×öʵÎïµÄ¶«Î÷£¬Âé·³¡£ÒòΪ×öÒ»Ì×¶«Î÷¿¼ÂǵĶ«Î÷Ì«¶àÁË£¬·½·½

    ÃæÃæ¶¼Òª¿¼ÂÇ¡£»¹Òª´æ»õ»¹Òª·¢»õ¡£×öÈí¼þ¶àʡʡ£Íæ¹ýÈ¥¾Í¹ýÁË¡£Íæ

    ¹ý¾Í²»ºÃÍæÁË¡£

    ÎóÈëÆç;²ÅÄÜ·¢ÏÖÌÒ»¨Ô´

    ÎÒÏë×öµã¹¤¾ß£¬ÎªÎÒÒÔºóǰ¶Ë¹¤³ÌʦµÄÖ°Òµ×öºÃÆÌµæ£¬µ«ÊÇдµ½×îºó

    ·¢ÏÖдÈí¼þÒѾ­ÓÐÊÕÈëÁË£¬¿ÉÒÔ²»ÕÒ¹¤×÷ÁË¡£

    ÄãÔÚÄÄÉϵĴóѧ£¿

    ÎÒ´óѧÉϵÄ̫ԭ¿Æ¼¼´óѧ¡£ÎÒÊÇ 2005 ¿ªÊ¼£¬ 2009 Äê±ÏÒµµÄ¡£µ±Ê±Ñ§µÄ

    ÊÇͨÐŹ¤³Ì£¬ÎÒÒÔΪ×Ô¼º»á¸ÐÐËȤ£¬ÆäʵûÓС£ÏÖÔÚÕâ¸öרҵ±ÏÒµµÄÓÐÒ»°ë¶¼²»ÊÇ×ö±¾×¨Òµ¹¤×÷µÄ¡£ÓеÄÈË×öͨПãÐźŻùÕ¾£¬Òª²»¾ÍÊÇÂ¥µÀ

    ÀïÃæ°²¸öÎÞÏßÍø¡£ÎÒ¾õµÃ²»ºÃÍæ£¬ËùÒÔºóÀ´¾ÍÍæÆðÁËÈ«¾°ÉãÓ°¡£

    ÎÒÔÚÄãµÄÍøÕ¾ÉÏÄÜ¿´¼ûÒ»¸ö½Ð 86vt µÄÍøÒ³£¬ÀïÃæÓÐÄãÃÇ´óѧµÄµØÍ¼ºÍ

    ºÜ¶àµØµãµÄÈ«¾°ÕÕÆ¬£¬¸Ð¾õ¾ÍÏñ×Ô¼ºÔÚУ԰ÀïÃæÐÐ×ßÒ»Ñù¡£

    86vt ÊÇÎÒ×öµÄÎÒÃÇѧУµÄ(È«¾°ÉãÓ°)ÐéÄâÐ£Ô°ÍøÕ¾¡£ÎÒ¿¼´óѧ֮ǰ£¬¿´Õâ¸öÑ§Ð£ÍøÕ¾Í¦Àõģ¬Ö»ÓÐÁ½ÈýÕÅͼƬ£¬¾õµÃºÜÆÆ¡£ÈëÁËѧÒÔºó¾õµÃ

    »¹Í¦Æ¯ÁÁµÄ£¬ÊÇÑ§Ð£ÍøÕ¾Ã»ÓÐÌåÏÖ³öÀ´£¬ºóÀ´ÎÒ¾ÍÏëÓÃÒ»ÖÖ·½·¨°ÑѧУ

    ·ç¸ñÌåÏÖ³öÀ´¡£ÎÒÃÇѧУÐéÄâУ԰ 86vt ÊÇÉÏѧµÄʱºòÍê³ÉµÄÒ»¸öÏî

    Ä¿¡£

    Õâ¸öÏîĿʵ¼ÊÉÏÒ»¸öÔ¾Í×öÍêÁË¡£µ«ÊÇǰÆÚ×¼±¸Ñ§ÖªÊ¶Ñ§µÄʱ¼ä±È½Ï

    ³¤¡£ÎÒ 2007 Ä꿪ʼѧȫ¾°ÉãÓ°·½ÃæµÄ֪ʶ£¬Ñ§ÍêÖ®ºó 2008 Äê 4 Ô·ݲÅ

    ¿ªÊ¼×öÕâ¸öÏîÄ¿¡£ÕâÀïÃæÓÐÈýÊ®¶à¸ö³¡¾°¡£ÅĵÄʱºò¶¼ÒªÑ¡ÈËÉÙµÄʱ

    ºò£¬È˶àÁËͼƬƴ½ÓµÄ±È½ÏÄÑ´¦Àí£¬È«¾°²»ÊÇÅÄÒ»ÕžÍÍêÁË£¬ÊÇÅĺܶà

    ÕÅÆ´ÆðÀ´²ÅÄÜÐγÉÒ»ÕÅ¡£Èç¹ûÄãÊÇ×ß¶¯µÄ£¬ÔÚÕâÅÄÁËÒ»ÕÅ£¬ÓÖÅܵ½ÄÇÁË£¬ÄÇÕÅÅÄÉÏÄãÁË£¬ÄÇ¾Í°ë½Ø°ë½ØµÄ¡£

    Õâ¸öÈ«¾°ÉãÓ°¾ßÌåÔõôÅÄ£¿

    ÎÒÓÃµÄ 8 ºÁÃ×ÓãÑÛ¾µÍ·£¬ÔÆÌ¨¡¢Èý½Å¼Ü¡£ÔÆÌ¨¾ÍÊDZ£Ö¤ÐýתµÄ½Úµã¾«

    È·£¬Ã»ÓÐÊӲ²ÅºÃÆ´½Ó¡£ÔÆÌ¨ÉÏÃæÓп̶ȡ£ÏÖÔÚºÃÒ»µã¶ùµÄÔÆÌ¨¶¼ÊÇ

    ´øËøµÄ¡£±ÈÈç 90 ¶ÈÒ»¸öËø£¬ÕâôһתÏìһϣ¬¾ÅÊ®¶Èµ½ÁË£¬·Ç³£·½

    ±ã¡£ÏÖÔÚÎÒÒªÅÄÄÇÑùÒ»·ùÕÕÆ¬µÄ»°Ö»Òª°ë·ÖÖÓ×óÓÒ¡£ÐèÒªÅÄËÄÕÅ£¬¾ÅÊ®

    ¶ÈÅÄÒ»ÕžÍÐС£ÅÄÍêÖ®ºó»ØÈ¥Æ´½Ó¡£±È½ÏϸµÄ´¦ÀíÒ»¸öÆ´½ÓÕÕÆ¬ÒªÒ»¸ö

    Ð¡Ê±¡£ÒªÊÇ×ö¸ö´ó¸Å£¬¼¸·ÖÖӾͺÃÁË¡£

    Äã´Óʲôʱºò¿ªÊ¼Ð´´úÂëµÄ£¿

    ÔÚѧУµÄʱºò¸ãÉãÓ°£¬Òª°ÑÕÕÆ¬·ÅÔÚÍøÉÏ£¬È»ºó¿ªÊ¼Ñо¿ÍøÂçÏà¹ØµÄÖª

    Ê¶¡£ÍøÒ³¡¢¿Õ¼ä¡¢ÓòÃû¡£ÒòΪ¸Õ¿ªÊ¼Ïë°ÑÕÕÆ¬·Åµ½ÍøÉÏ£¬²Å½Ó´¥µ½»¥Áª

    ÍøÖªÊ¶(¼¼Êõ·½Ãæ)¡£Èç¹ûÎÒ²»ÉãÓ°£¬¿ÉÄÜÎҾͽӴ¥²»µ½»¥ÁªÍø(¼¼Êõ

    ·½Ãæ)¡£

    Óиöѧ³¤(ÊæÎÄÁÁ)£¬±ÈÎÒ´óÒ»¼¶£¬»¹Ã»±ÏÒµ¾ÍÔÚÑÅ»¢ÉϰàÁË¡£ÎÒÃǾõ

    µÃËûºÜÀ÷º¦¡£ÎÒ×öÕâ¸ö 86vt ÍøÕ¾µÄʱºò£¬Ò²ÏòËûÇë½ÌÁ˲»ÉÙÎÊÌ⣬ÄÇ

    ¸öʱºòËû¾ÍÊÇÎÒµÄżÏñ¡£Ëûµ±Ê±ÒѾ­ÊÇǰ¶Ë¹¤³ÌʦÁË£¬Ò²ÊÇתÁ˺ü¸

    È¦£¬È»ºóÓֻص½Ç°¶Ë£¬ËûÏÖÔÚÔÚ°¢Àï°Í°Í´øÍŶӡ£ÎÒµ±Ê±¾ÍÏ룬ÎÒÒ²Ïë

    ÏñËûÄÇÑùÀ÷º¦£¬ÎÒҲҪѧÕâ¸ö£¬ÎÒÒ²Òªµ±Ç°¶Ë¹¤³Ìʦ!ʵ¼ÊÉÏÔÚ´óѧÎÒ

    ¶Ô»¥ÁªÍø»¹²»ÔõôÁ˽⣬±ÏÒµÒÔºóÏëÕÒÕâôһ¸ö¹¤×÷Ôõô°ì£¿ÄǾÍѧ

    ß¡£Ñ§Ö»ÄÜÔÚ¼Òѧ£¬µÈʲôʱºò°Ñǰ¶Ë¹¤³ÌʦÏà¹ØµÄ֪ʶѧÍêÖ®ºó£¬ÔÙ

    ÕÒ¸öǰ¶ËµÄ¹¤×÷×ö¡£ËùÒÔ±ÏÁËÒµÖ®ºóҪѡÔñÕÒ¹¤×÷»¹ÊǻؼҴý×Å£¬ÎÒ¾Í

    Ïë»Ø¼Ò´ý×Å£¬¼ÒÀïÒ²Ö§³Ö£¬ÔÚ¼Ò¾ÍÔÚ¼Ò°É£¬Ò²²»Ö¸×ÅÎÒ¹¤×÷¡£

    È»ºóÄã¾ÍÔÚ¼Òѧϰǰ¶Ë֪ʶ£¿

    ±ÏÒµºó»Øµ½¼ÒÏÈ¿ªÊ¼Ñ§µÄ HTML£¬CSS ºÍ JavaScript¡£Ñ§Á˼¸¸öÔºó×ö

    ³öÁË resizeMyBrowser£¬½Ó×ÅÓÖÔÚ resizeMyBrowser µÄ»ù´¡ÉÏ×öÁ˸ö

    Safari ä¯ÀÀÆ÷²å¼þ Resize¡£

    Ö®ºóÓÖÁ˽⵽ǰ¶ËÓÅ»¯·½ÃæµÄ֪ʶ£¬Í¨¹ýѹËõ CSS£¬JavaScript µÈÎļþ

    Äܹ»Ìá¸ßÒ³Ãæ³õ´ÎÏÂÔØËÙ¶È£¬ÎÒ¾ÍÏëÕÒ¸öºÃÓõÄѹËõ¹¤¾ß£¬µ±Ê±¶¼ÊÇÃüÁîÐе쬾ÍÊÇÔÚ Mac ƽ̨¶¼ÊÇÃüÁîÐеŤ¾ß¡£ÎÒ¾õµÃÌ«Âé·³£¬ÏëÒªÒ»

    ¸öͼÐνçÃæ£¬µ«ÊÇÊÐÃæÉÏûÓС£Ã»°ì·¨Ö»ÄÜÑ¡Ôñ×Ô¼º×ö¡£´ÓÄǸöʱºò¿ª

    Ê¼Ñ§ Objective-C£¬Ïë×Å×öÒ»¸ö YUI Compressor µÄͼÐνçÃæ£¬·½±ãÅúѹ

    Ëõ CSS¡¢JS Îļþ¡£ÓÚÊÇ×öÁËÎҵĵÚÒ»¸ö Mac Ó¦Óà Smaller¡£

    ÔÙºóÀ´Á˽⵽ Markdown£¬ÓÖдÁË Mou¡£

    ÆäʵÎÒ×öµÄÕâЩ¸ö¹¤¾ß»ù±¾É϶¼ÊǸúǰ¶Ë¹¤³ÌʦÕâ¸öÖ°ÒµÏà¹ØµÄ¡£Êµ¼Ê

    ÉÏ×÷Ϊһ¸öǰ¶Ë¹¤³ÌʦÐèÒª×öÕâЩ¹¤×÷£¬ÓÃÕâЩ¹¤¾ß¿ÉÒÔÌá¸ßÎҵŤ×÷

    Ð§ÂÊ£¬ÎÒÏë×öµãÕâЩ¹¤¾ß£¬ÎªÎÒÒÔºóǰ¶Ë¹¤³ÌʦµÄÖ°Òµ×öºÃÆÌµæ¡£¹¤×÷

    µÄʱºòЧÂÊ»á¸ßÒ»µã¡£

    ¿ÉÊÇдµ½×îºó·¢ÏÖдÈí¼þÒѾ­ÓÐÊÕÈëÁË£¬ÕÒǰ¶Ë¹¤³ÌʦµÄ¹¤×÷²»ÊDZØÒª

    µÄÁË¡£ÎÒÊÇ´ÓÉãӰתµ½Ñ§ Web µÄ֪ʶ£¬Ïë³ÉΪ Web ǰ¶Ë¹¤³Ìʦ£¬È´ÔÚ

    Ñ§Ï° Web ǰ¶Ë·½ÃæÖªÊ¶µÄ¹ý³ÌÖв»Öª²»¾õµÄת³ÉÁË¿ª·¢Èí¼þ¡£ÉÏ´ÎÔÚ

    QCon ÈÏʶ¸öÒ»ÌÔµÄÅóÓÑ(¸ð²Ó»Ô)£¬Ëû˵ÎÒ¸üÏñÒ»¸ö²úÆ·¾­Àí£¬²»Ïñ

    ³ÌÐòÔ±¡£

    ÄãÏÖÔÚÓ¦¸Ã¿ÉÒÔÕÒµ½Ç°¶ËµÄ¹¤×÷Á˰ɡ£

    ÆäʵÒѾ­Óкܶ๫˾ÕÒ¹ýÎÒÁË£¬Mac Èí¼þ¿ª·¢·½ÃæµÄ¾Ó¶à£¬Web ǰ¶ËÒ²

    ÓС£ÓÐÒ»¸öµÂ¹úµÄ¹«Ë¾ Wunderlist£¬ÑûÎÒÈ¥×ö Objective-C ¿ª·¢¡£µ«ÊÇÎÒ

    ¼ÒÈ˶¼ÔÚÕ⣬³ö¹úÌ«Âé·³ÁË¡£°¢ÀïµÄ Mac ¿ª·¢ÍŶÓÑûÇë¹ýÎÒÁ½´Î£¬Ö»ÊǵÚÒ»´ÎµÄʱºò»¹Ã»ÓÐÈ¥¹¤×÷µÄ´òË㣬µÚ¶þ´ÎµÄʱºòÎÒÕý´òËã×öÓ²¼þ£¬×öÕâ¸öÖ§¼Ü£¬Ò²³é²»¿ªÉí¡£ÏÖÔÚÒ²ÔÝʱ»¹Ã»ÓÐÈ¥¹«Ë¾¹¤×÷µÄ´òË㣬ÔÚ¼Ò

    ×ÔÓɹßÁË£¬È¥¹«Ë¾»á²»Ì«Ï°¹ß°É¡£»¹ÓÐÌÚѶҲÑûÇë¹ý£¬×öǰ¶Ë¹¤³Ìʦ¡£

    ËûÃÇ˵ÎÒÍøÕ¾Éè¼ÆµÄºÃ£¬ÆäʵÎÒ¾õµÃ×öµÄºÜ¼òµ¥£¬¾ÍÊǼ¸ÕŽØÍ¼¶øÒÑ¡£

    ÄãÄÜÓÐÕâÑùµÄ˼·£¬×ö³öÏÖÔÚÕâЩ²úÆ·ºÍÄãÓгä×ãµÄÏÐϾʱ¼äÓйØÏµ

    °É£¿

    ¿Ï¶¨ÓйØÏµ¡£ÎÒÔÚÈí¼þ¿ª·¢Ç°ÆÚµÄʱºò·Ç³£¿àÄÕ¡£ÓÐʱºòÒ»¸öÎÊÌâÁ¬×Å

    Ò»Á½¸öÐÇÆÚûÓÐ˼·£¬¾ÍÕûÌìÔÚÄÇÏ룬˯¾õµÄʱºò»¹Ï룬һÌìµ½Íí²»Í£

    µØÏ룬ÄDzÅÄÜÏë³öÀ´¡£¿ÉÄÜÔÚ¹«Ë¾Ã»ÓÐÄÇô¶àµÄʱ¼äÏëÁË¡£

    ÎÒ×öµÄºÜ¶à¶«Î÷¶¼ÊÇÒÔÍæÎªÖ÷¡£¿ÉÄܸúСʱºò¾­³£²ð¶«Î÷Óйء£ÎÒ¸¸Ä¸

    ¸øÎұȽϴóµÄ×ÔÓÉ¡£ÉÏѧѧϰ·½Ãæ²»»á±Æ×ÅÎÒ¡£µ«ÊÇÎÒ×Ô¼ºÖªµÀѧ¡£¿¼

    ¸ßÖС¢´óѧ£¬±¨Ö¾Ô¸µÄʱºòËûÃÇÒ²²»»á¸ÉÉæ£¬¶¼ÊÇÎÒ×Ô¼º¾ö¶¨¡£ËûÃÇÏà

    ÐÅÎÒ¡£

    ÄãÏÖÔÚÉú»îÔÚÅ©³¡ÉÏÂð£¿ÔÚ¼Ò¶¼¸ÉЩʲô£¿

    ÔڼұȽÏÏУ¬ÏÐ×ÅûÊ¡£Èí¼þ¿ª·¢Ç°ÆÚ±È½Ï棬ºóÆÚ¾ÍÊÇά»¤ÁË¡£Î¬»¤

    Ã¿Ìì»Ø»ØÓʼþ£¬¿Í»§Ö§³Ö¡£ÊµÔÚÏÐ×ÅûÊÂÁË×ö×öй¦ÄÜ£¬²»ÏñǰÆÚÄÇô

    ½ô¡£

    ÎÒ¼ÒÔÚÌì½òºº¹ÁÇø¸½½üµÄºº¹ÁÅ©³¡£¬ÄǸöµØ·½ÊôÓÚºÓ±±£¬ÊǺӱ±Ê¡ÔÚÌì

    ½òµÄ·ÉµØ¡£ËµÊÇÅ©³¡£¬Êµ¼ÊÉϾÍÊǺܶàÅ©´åÁ¬ÔÚÒ»¿é¡£Õâ¿éµØÊÇÔÚÌì½ò

    Êо³ÄÚ£¬µ«ÊÇÊôÓÚºÓ±±Ê¡¹Ü¡£

    ÎÒÏÖÔÚÿÌìÔçÉϾÍÔÚÔ°×ÓºóÃæ½½½½µØ£¬ÖÖÖֲˡ£¾ÍÔÚÎÒ¼Ò·¿ºóÃæÄÇôһ

    ¿é¡£ÎÒÖÖÁËÊ®¿ÅÈ˲ξͻîÁËÎå¿Å¡£»¹ÖÖÁËÒ»¿ÅÀ¶Ý®Ê÷£¬À¶Ý®ÊôÓÚ¹àľ£¬ºÜ°«£¬¾ÍÏñÖÜΧÂí·±ßµÄ¹àľ£¬ÉÏÃæ½áССµÄÀ¶Ý®¹û¡£ÎÒ¶¼ÊÇÔÚÌÔ±¦ÉÏ

    ÂòµÄÖÖ×Ó¡£ÎÒ¾­³£»á¸ø´ÐÃÇ£¬»¹ÓÐÀ¶Ý®Åçµã¶ùË®£¬²»´òÒ©£¬´¿ÌìÈ»ÂÌÉ«

    Ê³Æ·¡£ÏеÄûʶùÎÒ»á´ò´òɳ´ü£¬¶ÍÁ¶ÉíÌå¡£ÓʾÖÀëÎÒ¼Ò10¹«Àÿ´ÎÆï³µÈ¥

    Óʾַ¢»õ(Moustand)Íù·µ¾ÍÒªÁ½¸öСʱ¡£Í¾ÖУ¬»á¾­¹ýÏç¼äС·£¬Ìì

    ÆøºÃµÄʱºò£¬¾°É«»¹ÊDz»´íµÄ¡£ÄãÒÔºóÓÐʲô´òË㣿

    ÔÚ¼Ò´ý×ÅÄåÁË£¬ÔÙÈ¥¹¤×÷£¬Õҷݹ¤×÷£¬ÌåÑéÒ»ÏÂÉϰàµÄ¸Ð¾õ£¬ÎÒ»¹Ã»ÉÏ

    ¹ý°àÄØ£¬²»ÖªµÀÉϰàʲô¸Ð¾õ¡£¶Á¡¶ÂëÅ©¡· ÍÂÍÂ²Û »¹ÄÜ×¬Òø×Ó!»î¶¯¹æÔò£ºÔÚͲÛÌùÖÐÁôÑÔ£¬Ñ¡³öÈκÎÒ»ÆÚÖÐÄã×îϲ»¶µÄÎÄÕºÍ×ϲ

    »¶µÄÎÄÕ£¬¼´¿É»ñµÃͼÁéÉçÇøÒø×Ó 2 Á½!·²Í²Û͵ÃÖÀµØÓÐÉùÕߣ¬¼ÓÔù

    Òø×Ó 3 Á½(¹² 5 Á½)!(ÔõÑùʹÓÃÒø×Ó¶Ò»»Í¼Êé)

    »î¶¯Ê±¼ä£º±¾»î¶¯³¤ÆÚÓÐЧ¡£¼ùÐÐÈçºÎ½Ì±à³Ì£¬µ±ÄãÃæ¶Ôһ˫¿ÊÍûµÄÑÛ¾¦

    ×÷Õß Philip Guo

    Ë¹Ì¹¸£´óѧ¼ÆËã»ú¿ÆÑ§²©Ê¿¡£Ñо¿ÁìÓòÖ÷񻃾¼°ÈË»ú½»»¥¡¢ÔÚÏß½Ì

    Óý¡¢Èí¼þ¹¤³ÌµÈ¡£ËûÔÚ2010Äê×Ô¼º¹¹½¨ÁËÒ»¸ö»ùÓÚ×ÔÓÉÍøÂçµÄ±à³Ìѧ

    Ï°¹¤¾ß½Ð×öOnline Python Tutor(pythontutor.com)£¬Ä¿Ç°ÒÑÓг¬¹ý20Íò

    ÈËʹÓÃÁËÕâ¸ö¹¤¾ß¡£

    ¹ýÈ¥µÄÒ»ÄêÖУ¬Ðí¶à¼ÆËã»úרҵµÄ½ÌÊںͽÌÓýר¼Ò¶¼Ð´Á˹ØÓÚ MOOCÈçºÎÀ©´ó¼ÆËã»ú½ÌÓý·þÎñµÄ¹æÄ££¬Ê¹µÃ³ÉǧÉÏÍòµÄѧÉú¶¼ÄÜÏíÊܵ½¡£¶ø

    ÎÒÏë´ÓÁíÍâÒ»¸ö½Ç¶È£¬ËµÒ»ËµÎÒÊÇÈçºÎÔÚ9¸öÔµÄʱ¼äÀïÏò1λѧÉú½ÌÊÚ

    ¼ÆËã»ú±à³ÌµÄ¡£

    2011Äê7Ôµ½2012Äê3ÔÂÖ®¼ä£¬ÎÒ¸øBrian Goler½ÌÊÚ»ù±¾µÄ±à³Ì֪ʶ£»Ëû

    ÊǾɽðɽÍåÇøÒ»Î»Óо­ÑéµÄÆóÒµ¼Ò£¬ÔÚÊг¡¡¢ÏúÊۺͲúÆ·¿ª·¢µÈ·½Ãæ¶¼

    Óй㷺µÄ¾­Ñé¡£Brian֮ǰûÓбà³Ì¾­Ñ飬µ«ÔÚ¼¸¸öÔµÄʱ¼äÀËû¾Í

    ×ö³öÁËSwearBuy£¬Ò»¸öÈÃÈËÃǶÔϲ°®µÄ²úÆ··¢±íÆÀÂÛµÄÃâ·Ñ webÓ¦ÓóÌ

    Ðò¡£¸üÖØÒªµÄÊÇ£¬Brian»ñµÃÁË×ÔѧµÄÄÜÁ¦£¬Äܹ»½ÓÏÂÀ´×Ô¼ºËÑѰ¡¢Ñ§

    Ï°¸ü¸ß½×µÄ¼¼ÊõÄÚÈÝ¡£ÎÒµÄÖ÷Òª¹±Ï×£¬ÊÇÖ¸µ¼Ëû¿Ë·þһЩͨ³£»á´ò»÷³õ

    Ñ§ÕßµÄÕϰ­¡£

    ±³¾°

    Brianͨ¹ýÎҵĸöÈËÍøÕ¾ÉÏÖªµÀÁËÎÒ£¬ÒòΪÀï±ßÓм¸Æª¼ÆËã»ú¿ÆÑ§½ÌÓý

    µÄÎÄÕ¡£ÏÂÃæÕªÂ¼ËûÔÚ 2011Äê7Ô¸øÎÒ·¢µÄµÚÒ»·âÓʼþÀïµÄÒ»¶ÎÄÚÈÝ£º

    ÎÒÃÇû¼û¹ýÃæ£¬µ«ÎÒÏëÊÔÊÔ¿´ÄÜ·ñ´ÓÄúÕâ¶ùµÃµ½Ð©½¨Òé¡£

    ÎÒÔÚÍøÉÏËÑѰÄܰïÎÒѧϰ±à³ÌµÄµ¼Ê¦µÄʱºò·¢ÏÖÁËÄãµÄÍøÕ¾¡£¸ü׼ȷ

    µØËµ£¬ÎÒÔÚÉÏÒ»ÃżÆËã»ú¿Î³Ì£¬ÎÒÏ£ÍûÕÒÒ»¸öµ¼Ê¦£¬Ã¿ÖÜÄܵ±Ã渨µ¼

    ÎÒ1-2 ´Î£¬Ã¿´Î1Сʱ×óÓÒ¡£

    ÎÒÕýÔÚÉÏMITµÄOCW6.00¿Î³Ì¡£¾¡¹ÜOCWºÍÆäËûµÄÔÚÏ߿γ̶¼ºÜ

    °ô£¬µ«ÎÒ¾õµÃÈç¹ûÓиöÈË¿ÉÒÔÇë½Ì¡¢»¹Äܼì²éÎÒµÄ×÷Òµ£¬²¢¸øÓë·´

    À¡£¬ÄÇÎҵĽø¶ÈÓ¦¸Ã»á¸ü¿ìЩ£¬¶Ô¸ÅÄîµÄÀí½âÒ²»á¸üÉîÈë¡£

    ÄúÔÚMITºÍStanford¶¼´ý¹ý£¬Ó¦¸ÃÈÏʶһЩºÏÊʵÄÈ˰ɣ¿»òÕߣ¬¿ÉÒÔ

    ¸øÎÒÍÆ¼öÏÂÈ¥ÄĶùÕÒºÏÊʵÄÈË£¿µ±È»£¬ÎÒ»áÏò¸¨µ¼µÄÈ˸¶Ç®µÄ¡£

    ÒòΪÄÇ»á¶ùÎҸպò»Ã¦£¬ÓÚÊÇÎÒ¾ÍÇ××Ô¸¨µ¼Brian¡£ÎÒÃǵÚÒ»´ÎµÄһС

    Ê±»áÃæÊÇÔÚËû¼Ò£¬µÚ¶þ´ÎÊÇÔÚ¸½½üµÄÒ»¼Ò¿§·È¹Ý¡£Ö®ºóÎÒÈ¥²Î¼Óij¸öѧ

    Êõ»áÒ飬ÓÚÊǵÚÈý´ÎµÄ¸¨µ¼ÎÒÃǾÍͨ¹ýSkypeÔÚÏßÊÓÆµµç»°½øÐС£ÎÒÃÇ

    ÓÃÁËSkypeµÄÆÁÄ»¹²Ïí¹¦ÄÜ£¬ÕâÑùÔÚÁÄÌìµÄʱºòÎÒ¾ÍÄÜͬʱ¿´µ½ËûµÄµç

    ÄÔÆÁÄ»¡£ÕâÖÖÐÎʽ·Ç³£Êʺϸ¨µ¼£¬ÓÚÊÇÎÒÃǾö¶¨½ÓÏÂÀ´µÄËùÓи¨µ¼¶¼Í¨

    ¹ýSkype½øÐС£ÎÒÖ»µ±Ã渨µ¼¹ýBrianÁ½´Î£¬¶øÎÒÃǵÄSkypeÊÓÆµÍ¨»°Ê±

    ³¤¸ß´ï 50 Сʱ(´óÔ¼ 40 ´Î)¡£ÔÚSkypeÉϵÄÔÚÏ߸¨µ¼½øÐеÄÈç´Ë˳³©£¬ÎÒÃǶ¼¸Ðµ½ºÜ¾ªÏ²¡£ÕâÉõÖÁ±È

    ÎÒÃǵ±ÃæÁÄÌì¸üÓÐЧ£¬ÄÇÑù»¹»áÊÜÀ§ÓÚàÐÔӵĿ§·ÈÌüºÍÏÁСµÄ±Ê¼Ç±¾µç

    ÄÔÆÁÄ»¡£½èÖúSkypeµÄÆÁÄ»¹²Ïí¹¦ÄÜ£¬ÎÒÄÜÔÚÎÒ×Ô¼ºµÄ¹«Ô¢Àï±ßÊæ·þµØ

    ¿´µ½BrianµÄµçÄÔÆÁÄ»£¬²¢ÇÒÓëËûʵʱ»¥¶¯¡£Èç¹ûÎÒÐèÒª»­Ð©²ÝͼÀ´Ëµ

    Ã÷£¬ÄÇÎÒÖ»ÐèÒª¹²ÏíÆÁÄ»£¬È»ºóÓûæÍ¼°åÀ´»­¾ÍÐÐÁË¡£(Salman Khan

    ¾ÍÊÇÓÃÀàËÆµÄ°ì·¨½ÌËûµÄ±íµÜ£¬ÓÚÊǾÍÓÐÁËÏÖÔÚÖªÃûµÄ¿Éº¹Ñ§Ôº½ÌÓýÊÓ

    Æµ¡£)

    »ùÓÚÏîÄ¿µÄѧϰ

    BrianµÄÄ¿±êÊÇѧϰ»ù±¾µÄ±à³Ì¼¼ÇÉ£¬Ìá¸ß×Ô¼º£»¶ø²»ÊÇÒª»ñµÃÒ»·Ý³Ì

    ÐòÔ±µÄ¹¤×÷£¬»òÊdzÉΪһÃûÑо¿ÈËÔ±¡£ÔÚ¼ûÎÒ֮ǰ£¬BrianÒѾ­Í¨¹ýÉÏ

    MIT¿ª·Å¿Î³ÌÖеġ°¼ÆËã»ú¿ÆÑ§Óë±à³Ì»ù´¡¡±£¬×ÔѧÁ˼¸ÖÜ Python ±à³Ì¡£

    ¿ªÊ¼µÄ¼¸´Î¸¨µ¼ÖУ¬ÎÒÃÇͨ¹ý¿Î³Ì½²ÒåºÍ×÷Òµ£¬¸´Ï°ÁË»ù±¾µÄ±à³Ì¸Å

    Äî¡£

    È»¶ø£¬ÎҺܿì¾ÍÒâʶµ½£¬½ö½öͨ¹ýѧԺʽµÄ¿Î³Ì×ÊÁÏÀ´Ñ§Ï°£¬ÎÞ·¨ÈÃ

    Brian ×㹻ͶÈ룬ÓÈÆä¿¼Âǵ½ËûÒѾ­´óѧ±ÏÒµ20ÄêÕâ¸öÏÖʵ¡£Ëû¿´ÆðÀ´

    ²¢²»Âú×ãÓÚֻѧϰһЩ¼ÆËã»úѧ¿ÆµÄÊõÓï¡¢×öһЩÕë¶Ô´óѧÉúµÄÊýѧÏà

    ¹ØµÄСÁ·Ï°¡£

    Òò´Ë£¬ÎÒ¾ö¶¨½ÌBrian³ÉΪһ¸öʵÓÃÖ÷ÒåµÄÒµÓà³ÌÐòÔ±£¬¶ø²»ÊÇÒ»¸ö±¥

    Ñ§µÄ¼ÆËã»ú¿ÆÑ§×¨¼Ò¡£ÎÒ¹ÄÀøËûÏë³öÒ»¸ö¸ø×Ô¼º»òÅóÓÑÓá¢×Ô¼ºÒ²Ô¸Òâ

    ×öµÄÈí¼þ¡£ÏàÓ¦µØ£¬ÎÒ½«Ö¸µ¼ËûÍê³ÉÕâ¸öÈí¼þÏîÄ¿¡£Õâ¸öÏë·¨Èç´Ë¼ò

    µ¥£¬µ«Ð§¹ûÈ´Òì³£ºÃ¡£

    BrianÌá³öÁËһЩidea£¬²¢×îÖÕ¾ö¶¨ÊµÏÖÆäÖеÄÒ»¸ö£¬Ò²¾ÍÊǺóÀ´µÄ

    SwearBuy¡£ÔÚ½ÓÏÂÀ´µÄ9¸öÔÂÀËûÿÖܶ¼Í¶ÈëÊ®¼¸¸öСʱµÄʱ¼ä±àд

    SwearBuy£¬³£³£¸Éµ½ÉîÒ¹¡£ÎÒÃÇÿÖܶ¼ÓÐÒ»µ½Á½´ÎµÄSkype¸¨µ¼£¬Ã¿´Î

    ³ÖÐøÒ»µ½Á½¸öСʱ¡£¸¨µ¼ÖеĴ󲿷Öʱ¼ä£¬ÎÒ¶¼ÓÃÀ´»Ø´ðBrianµÄÎÊ

    Ì⣬°ïËûµ÷ÊÔbug£¬ÓÐʱ»¹¸úËû½á¶Ô±à³Ì£¬Ò»Æðдµã¶ù´úÂë¡£ÎÒÿ´Î½²

    µÄʱ¼ä¶¼Ö»Óм¸·ÖÖÓ¡£³ýÁËÄÜÈÃËûµÄ×¢ÒâÁ¦¸ß¶È¼¯ÖÐÍ⣬ÕâÖÖ»ùÓÚÎÊ´ð

    µÄÐÎʽ¶ÔÎÒÀ´ËµÒ²ºÜ²»´í£¬ÒòΪÎÒ¼¸ºõ²»±Ø»¨Ê±¼äÌáǰ×öʲô׼±¸¡£

    »ùÓÚÏîÄ¿µÄѧϰʮ·Ö¸ßЧ£¬ÒòΪBrianÊ®·ÖÖØÊÓËû×Ô¼ºµÄµÚÒ»¸öÏîÄ¿¡£

    ËûµÄѧϰ±»ÐèÇóÇ£×Å×ߣ¬¶ø²»ÊÇһЩԤÏÈÉèÖúõĵÄѧÊõ¿Î³Ì¡£ÒòΪËû

    ¶ÔSwearbuyµÄÈÈÇé·Ç³£¸ß£¬ËùÒÔ³£³£»áÏë³öºÜ¶àй¦Äܵĵã×Ó¡£ÎªÁËʵÏÖÕâЩ¹¦ÄÜ£¬Ëû±ØÈ»ÒªÑ§Ï°Ò»Ð©Ðµıà³Ì¼¼Êõ¡£Òò´Ë£¬ÎҵĽÇÉ«¾Í±ä³É

    ÁË£º

    ÆÀ¹ÀËûÏëʵÏֵŦÄܵĿÉÐÐÐÔ£¬Èç¹ûÐèÒªµÄ»°£¬Ö¸µ¼ËûÍê³ÉÒ»¸ö¼ò

    µ¥°æ±¾£»

    ÌôÑ¡×îÊʺÏËûÐèÒªµÄ±à³Ì¹¤¾ß¡¢·ç¸ñÒÔ¼°¼¼ÇÉ£»

    ¸øËûÕÒµ½ºÏÊʵÄ×Ôѧ×ÊÁÏ(±ÈÈç´úÂëʾÀý¡¢²©¿Í¡¢ÔÚÏ̡߽̳¢Êé

    µÈ)£»

    ÔÚËûŬÁ¦Àí½âºÍÓ¦ÓÃ×ÔѧµÄÄÚÈÝʱ£¬»Ø´ðËûµÄÒÉÎÊ¡£

    ±à³ÌʵÏÖÒ»¸öÈÎÎñ£¬³£³£Óм¸Ê®ÖÖÉõÖÁÉϰÙÖÖ·½Ê½£»ÕâÖÖÑ¡ÔñµÄ¶àÑù

    ÐÔ³£³£ÈóõѧÕßÊÖ×ãÎÞ´ë¡£ÒòΪѡÔñÌ«¶à£¬ËûÃÇ·´¶ø²»Öª´ÓºÎÈëÊÖ¡£

    ÎÒÒª×öµÄ£¬Ö÷Òª¾ÍÊǰïËû½«Ñ¡Ôñ·¶Î§ËõСµ½Ò»¸ö¿É¿ØµÄ·¶³ë£¬ÊʺÏËû¸÷

    ¸ö½×¶ÎµÄѧϰ£»È»ºóÈÃËûÈ¥×Ôѧ£¬Óöµ½ÎÊÌâʱÎÒÔÙ½â´ðËûµÄÒÉÎÊ¡£

    ÎÒÊ®¶àÄêµÄ±à³ÌºÍ½ÌÊÚ±à³ÌµÄ¾­Ñ飬ʹµÃÎÒÔÚÿ¸öÐèҪѡÔñµÄµãÉÏ£¬¶¼

    Äܽ«Ñ¡Ôñ·¶Î§ËõСµ½ÎÒÈÏΪ×îÊʺÏBrianѧϰµÄ³Ì¶È¡£±ÈÈ磬ÎÒÑ¡ÔñÈÃ

    ËûÓÃ×î»ù±¾µÄ±à³ÌÓïÑÔ(±ÈÈç Python£¬JavaScript£¬SQL)¹¦ÄÜÀ´¡°´Ó

    Í·¡±´î½¨ SwearBuy£¬¶ø²»ÊÇÔÚÒÑÓеÄһЩ¸´Ô web Ó¦Óÿª·¢¿ò¼ÜÉÏ¿ª

    Ê¼¡£¾¡¹ÜΪ´Ë Brian ²»µÃ²»Ð´¸ü¶àµÄ´úÂëÀ´¡°´ÓÍ·¡±(Õâ¸ö´Ê¶ù¿ÉÄÜÓÐЩ

    ²»×¼È·£¬ÒòΪ²»¿ÉÄÜÍêÈ«´ÓÁ㿪ʼ)¿ªÊ¼ÊµÏÖÆÚÍûµÄ¹¦ÄÜ£¬µ«Ëûͨ¹ýÕâ

    ¸ö¹ý³Ì£¬Äܹ»ÉîÈëµ½ÄÚ²¿Ô­Àí£¬ÉîÈëÀí½â¸÷¸ö²¿·ÖÊÇÈçºÎ×éºÏµ½Ò»Æð

    µÄ¡£

    BrianµÄÏîÄ¿ÊÇÎÒÃÇSkype»á»°µÄ¾øºÃµÄ»ù´¡£¬ÒòΪÎÒÄܽ«×Ô¼ºÒª½ÌÊÚµÄ

    Ð¸ÅÄîÈÚÈëµ½ËûÏëʵÏÖµÄй¦ÄÜÖÐÈ¥¡£ÄÄŸü¶àµÄ¿ÎºóÁ·Ï°Ëù·¢»ÓµÄ×÷

    Óã¬Ò²±È²»ÉÏÒ»¸öÊôÓÚѧÉú×Ô¼ºµÄµÄÓ¦ÓóÌÐò¡£

    ÔÚÕõÔúÖÐѧϰ

    ÔÚÎÒÃÇÿ´Î1-2СʱµÄSkype¸¨µ¼¿ªÊ¼Ç°£¬Brianͨ³£»á±à³Ì10-15¸öС

    Ê±£¬ËùÒÔËû×ÜÊÇÓôóÁ¿¼±ÇеÄÎÊÌâÒªÎÊ£¬ÓкܶàÐÂдµÄ´úÂëÐèÒªÎÒ°ïËû

    À´µ÷ÊÔºÍÓÅ»¯¡£Èç¹ûÎÒÖ»ÊǸøËû½²¿Î£¬¶ø²»»ùÓÚÈκα³¾°£¬ÄÇËû²»¿ÉÄÜ

    Ïû»¯µÄÕâô³¹µ×£¬ºÜ¿ÉÄÜÖ»ÊǵãµãÍ·£¬È»ºó˵¡°àÅ£¬ºÃ°É£¬ºÃÏñÊÇÕâô

    »ØÊ¶ù¡­¡­²»´í£¬È»ºóÄØ£¿¡±Ïà·´£¬ÒòΪËûÔÚÿ´Î¸¨µ¼Ö®Ç°£¬¶¼Ò»Ö±ÔÚ

    ºÍ¾ßÌåµÄ´úÂëÏà¹ØµÄÎÊÌâ¾À²ø¡ª¡ªÉõÖÁ¾­³£Òò´Ë¶øÊÜ´ìºÍ¾ÚÉ¥¡ª¡ªËùÒÔ

    Ã¿µ±ÎÒ¸øËû½âÊÍÇå³þÁËʲô֮ǰ¿´ÆðÀ´ºÃÏñ²»¿ÉÓâÔ½µÄÎÊÌâʱ£¬ËûµÄ·´Ó¦ÍùÍùÊÇ¡°ÍÛŶ!ÏÖÔÚÎÒËãÊdz¹µ×Ã÷°×ÁË!¡±¡£ËûµÄϲÔúÍÊÍȻÿ´Î¶¼ÄÇ

    Ã´Ã÷ÏÔ¡£ÎÒ¾õµÃ¶ÔÏû»¯ÖªÊ¶À´Ëµ£¬Ã»ÓбÈÕâ¸üºÃµÄ·½Ê½ÁË£ºÏÈ»¨Éϼ¸

    ¸öСʱŬÁ¦½â¾öÎÊÌ⣬²»¶Ï»ýÀÛÐÄÖз³ÔêµÄÇéÐ÷£¬È»ºóÔÙ½ÓÊܵ¼Ê¦µÄ

    Ö¸µ¼¡£

    ÎªÁ˼õÉÙBrianµÄÍ´¿à£¬ÎÒ°ïËû´î½¨ÁË¿ª·¢»·¾³£¬×öÁËһЩ·¦Î¶µÄ¹¤

    ×÷£¬ÒòΪÕâЩ¶«Î÷²»»áÖ±½Ó´Ù½øËûµÄѧϰ¡£ÎÒÏ£ÍûËû°Ñ¾«Á¦»¨·ÑÔÚ±à³Ì

    ºÍ´îSwearBuyÉÏ£¬¶ø²»ÒªÀË·Ñʱ¼ä×öЩ²»Ïà¹ØµÄÊÂÇ飬±ÈÈç´î½¨·þÎñÆ÷

    »òÊǰ汾¿ØÖÆÏµÍ³¡£(µ±È»ÁË£¬Èç¹ûËûµÄÄ¿±êÊdzÉΪһ¸öϵͳ¹ÜÀíÔ±£¬ÄÇÎÒ¾¡¿ÉÒÔÈÃËûÈ¥¾À½áÄÇЩϸ½Ú¡£)

    Óкܶàʱ÷ÖµÄÊé¡¢ÔÚÏ߽̳ÌÒÔ¼°Ö±²¥½ÚÄ¿£¬¶¼Ðû³ÆÄÜÈÃÄãÔÚ7Ìì»òÊÇ3ÖÜ

    Ê±¼äÀïѧ»á±à³Ì(»òÕß±ðµÄʲô¼¼ÄÜ)¡£ºÜÃ÷ÏÔ£¬Äã²»¿ÉÄÜÔÚ¼¸ÖÜÀï¾Í

    ÕÆÎÕÒ»ÃÅм¼ÄÜ£¬¶øÇÒÎÒ¾õµÃҲû¼¸¸öÈËÕæµÄÏàÐÅ¡£ÕâЩ¡°¿ìËÙ»ñÈ¡¼¼

    ÄÜ¡±¼Æ»®µÄÕæÕýÎÊÌâÔÚÓÚ£¬ËûÃǺöÊÓÁ˿ɳÖÐøÐÔ¡£ÕâЩ¿Î³Ì¾ÍºÃÏñ¼õ·Ê

    Ê³Æ×Ò»Ñù£¬¿ÉÄÜ»áÈÃÄãÂíÉϼõµô 10 °õÌåÖØ£¬µ«È´ÎÞ·¨ÈÃÄã±£³Öס£¬³ý

    ·ÇÄãÕæÕýµØÑø³ÉÁ˺õÄϰ¹ß¡£ÀàËÆµÄ£¬³ý·ÇÄã²»¶ÏŬÁ¦ºÜ¶àÄ꣬·ñÔòÒ²

    ÎÞ·¨¾«Í¨±à³Ì£»ÎªÁ˼¤Àø×Ô¼º²»¶ÏŬÁ¦£¬Äã±ØÐëÊÇÔÚ×ö×Ô¼ºÓÐÈÈÇéµÄÊÂ

    Ç顣ŬÁ¦ÕõÔú¿É²»ÊÇʲôÓÐȤµÄʶù£¬Èç¹ûûÓÐÊʵ±µÄ¼¤Àø£¬Ì«ÈÝÒ×Ôç

    ÔçµØ·ÅÆúÁË¡£

    µ±BrianÒâʶµ½Ëû²»ÔÙÐèÒªÎҵĸ¨µ¼Ê±£¬ÎÒÖªµÀÎҳɹ¦ÁË¡£¾¡¹ÜËûÒ²³Ð

    ÈÏÒª³ÉΪһÃû¼¼ÒÕ¾«Õ¿µÄ³ÌÐòÔ±£¬×Ô¼º»¹ÐèҪŬÁ¦ºÃ¼¸Ä꣬µ«ËûÒѾ­Öª

    µÀÔÚÏÖÓеÄˮƽÏ£¬ÈçºÎŬÁ¦²ÅÄܵ½´ïÄǸö¸ß¶È¡£ÔÚ¹ýÈ¥µÄ¾Å¸öÔÂÀËûѧµ½ÁË×ã¹»¶àµÄ¶«Î÷£¬Äܹ»Ö§³ÖËû¼ÌÐø×ÔѧÏÂÈ¥¡£ÎÒ¸øÁËËû×ã¹»µÄ·½

    ·¨ºÍÖÇ»ÛÀ´¼ÌÐø×Ôѧ£¬¶ø²»ÊÇÌîѼʽµØÓ¦¸¶Ò»¸öѧÉú£¬ÎҸе½ºÜ×ÔºÀ¡£

    ×îºóµÄ˼¿¼

    ÔÚÎÒÃǵĸ¨µ¼½áÊøÖ®ºó£¬Brian·´Ó³Ëµ£¬¾¡¹ÜËûÊÜÒæÓÚÕâÖÖ¡°Í¨¹ý×öÀ´Ñ§

    Ï°¡±µÄ·½·¨£¬µ«ËûÈÔÈ»ÈÏΪ£¬½«»ùÓÚÏîÄ¿µÄѧϰºÍ´«Í³µÄ¼ÆËã»ú¿Î³Ìѧ

    Ï°½áºÏÆðÀ´£¬ÓкܴóµÄ¼ÛÖµ¡£ÔÚ¹¹½¨SwearBuyµÄ¹ý³ÌÖУ¬Ëû¾­³£Í¨¹ý

    Google¡¢ÔĶÁ¼¼Êõ²©¿Í¡¢´ÓStackOverflowÉÏ¿½±´´úÂëµÈ·½Ê½£¬À´ÁÙʱ½â

    ¾ö×Ô¼ºµÄÎÊÌâ¡£½á¹û£¬Ëû·¢ÏÖ×Ô¼º¾­³£µÃ³ö²¢·Ç×îÓŵķ½°¸£¬¶øÇÒÓõÄ

    ¶«Î÷×Ô¼º¶¼ÎÞ·¨ÍêÈ«Àí½â¡£BrianµÄһЩ¾Þ´óµÄ½ø²½£¬À´×ÔÓÚËû´ÓÏîÄ¿

    ÖгéÉí³öÀ´£¬×ª¶øÈ¥¿´Êé»òÌý¿Îʱѧµ½µÄеĸÅÄȻºóÏë×ÅÈçºÎ½«Æä

    Óõ½SwearBuyÖС£×Ô´ÓÎÒÃÇ2012Äê3Ô½áÊø×îºóÒ»´ÎµÄ¸¨µ¼ÒÔÀ´£¬ÎÒ6¸öÔÂûÓÐÊÕµ½Brian

    µÄÏûÏ¢ÁË¡£×î½üËû¸øÎÒ·¢µÄµç×ÓÓʼþÖÐÌáµ½£¬Ëû¸Õ¸ÕдÁ˸öPython½Å

    ±¾£¬°ï×Ô¼º¸ø¸öÈË¹ÉÆ±Í¶×ʽ¨Á¢Ä£ÐÍ£º¡°¶ÔÕâ¸ö½Å±¾ÎҸе½ºÜ×ÔºÀ£¬Òò

    ÎªÕâÊÇÎÒ×öµÄµÚÒ»¸öʵÓõÄ×ÔÓù¤¾ß¡£ÎÒ¹ýÈ¥Ò»Ö±¶¼ÔÚÆÀ¹À¹ÉƱͶ×ÊÏî

    Ä¿£¬Ò»Ö±ÏëÄ£Äâ¸÷ÖÖ³¡¾°£»Ò»¿ªÊ¼ÎÒÓõÄÊÇExcel£¬µ«ºóÀ´ÖÕÓÚ·¢ÏÖ

    Python²ÅÊÇ×öÕâ¼þʶùµÄ²»¶þ֮ѡ¡£¡±

    ÎÒºÜϲ»¶Õâ·âÓʼþ£¬ÒòΪËüչʾÁ˱à³Ì¼¼ÄܵÄ×÷Óã¬ÈÃÔ­±¾ÎÞÁÄÇÒÀ§ÄÑ

    µÄÈÎÎñÄܹ»ÇáËÉÍê³É¡£ÎÒÏ£Íûÿ¸öѧϰ±à³ÌµÄÈ˶¼ÄÜÓÐÂõ¹ýÄǵÀ¿²¶ùµÄ

    Ê±¿Ì£¬´ÓÄÇÒÔºó¾Í²»½öÊÇΪѧУ»ò¹«Ë¾µÄ»î¶ù¶ø±à³Ì£¬¶ø¸ü¶àµÄÊÇΪ×Ô

    ¼º¶ø±à³Ì¡£

    ÎÒ»¹Ïë˵һ±éÄǾäÀÏ»°£¬»ý¼«ÐÔÒâζ×ÅÒ»ÇС£BrianµÄ»ý¼«ÐÔÀ´×Ô×Ô¼º

    µÄÏîÄ¿£¬ËùÒÔʵ¼ÊÉÏËûÊÇ×ÔѧµÄ¡£ÎÒÒª×öµÄ½ö½öÊǶ¨ÆÚÖ¸µ¼Ò»ÏÂËû£¬°ï

    Ëû×îÓÐЧµØ½ø²½£¬ÈÃËûµÄŬÁ¦±äΪÓÐЧµÄѧϰ¡£

    ÎÒµÄÕâЩ¾­ÑéÈçºÎ²ÅÄÜÍÆ¹ãµ½½ÌÊÚ´óÅúµÄ×ÔÎÒ¼¤ÀøµÄ³Ì¶ÈÔ¶²»¼°Brian

    µÄѧÉúµÄ½Ìѧʵ¼ùÖÐÈ¥£¿ÎÒÃþË÷³öµÄÕâЩ¼¼ÇÉÈçºÎÄܲ»ÔÙ¾ÖÏÞÓÚÒ»¶ÔÒ»

    µÄ¸¨µ¼ÕâÖÖÐÎʽ£¿ÎÒÒ²²»ÖªµÀ¡£ÎÒÖ»ÖªµÀ£¬Èç¹ûÄãÄÜÈÃѧÉú²úÉúÕæÕýµÄ

    »ý¼«ÐÔ£¬°ïËûÃÇÒÆ³ýѧϰÖÐһЩ²»±ØÒªµÄÕϰ­£¬¶øÇÒÔÚÊʵ±µÄʱºòÀ­Ëû

    ÃÇÒ»°Ñ£¬ÄÇôʵ¼ÊÉÏËûÃǾÍÍêÈ«¿ÉÒÔ×Ôѧ¡£

    Ó¢ÎÄÔ­ÎÄ£ºTeaching Programming To A Highly Motivated Beginner

    ÒëÕß ÕÅÖØæë

    ±±ÓÊÈË¡£Ñ§¹ýÉè¼Æ£¬¼¼ÊõÔÚѧ£»Ç°²úÆ·Éè¼ÆÊ¦£¬ÏÖÈοª·¢¹¤³Ìʦ¡£ÈÈ

    °®ÃÀºÃ£¬Å¬Á¦³ÉΪ´´ÔìÃÀºÃµÄÈË¡£Í¼ÁéÉçÇøID: zhongqiÏÊÔÄδÀ´µÄ±à³ÌÓïÑÔ¾¿¾¹ÊÇʲôÑù£¿

    ×÷Õß Ëɱ¾Ðкë

    RubyÓïÑÔ·¢Ã÷Õߣ¬ÒàÊÇÑÇÖÞÊ×ÇüÒ»Ö¸µÄ±à³ÌÓïÑÔ·¢Ã÷Õß¡£ÏÖ¼æÈÎÍøÂç

    Ó¦ÓÃͨÐÅÑо¿Ëù(NaCl)Ñо¿Ô±¡¢ÀÖÌì¼¼ÊõÑо¿ËùÑо¿Ô±¡¢HerokuÊ×

    Ï¯¼Ü¹¹Ê¦µÈ¡£êdzơ°Matz¡±¡£ÌÖÑá¶«¾©£¬Ï²»¶ÎÂȪ¡£

    ÒëÕß ÖÜ×Óºã

    IT¡¢±à³Ì°®ºÃÕߣ¬¼¼ÊõÕ¬£¬³õÖÐÊ±ÔøÔÚNOI(¹ú¼ÒÐÅϢѧ°ÂÈü)Ìì½ò

    ÈüÇø»ñÒ»µÈ½±£¬´óѧ±ÏÒµºóÔøÈÎIT×Éѯ¹ËÎÊ£¬¾«Í¨Ó¢ÓïºÍÈÕÓÒëÖø

    ÓС¶30Ìì×ÔÖÆ²Ù×÷ϵͳ¡·¡¢¡¶´óÊý¾ÝµÄ³å»÷¡·¡¢¡¶AndroidÓ¦Óÿª·¢

    ÈëÃÅ¡·¡£

    ´Ó¹ýÈ¥±à³ÌÓïÑÔµÄÀúÊ·ÖУ¬ÎÒÃÇ¿ÉÒÔ¿´³ö±à³ÌÓïÑÔÊÇÔÚ²»¶ÏÊÔ´íµÄ¹ý³Ì

    Öз¢Õ¹ÆðÀ´µÄ¡£Óкܶà±à³ÌÓïÑÔÒѾ­ÏûÍö£¬½ö½öÔÚÀúÊ·ÖÐÁôÏÂÁËËüÃǵÄ

    Ãû×Ö£¬µ«ÆäÖÐËù°üº¬µÄ˼Ï룬ȴ±»ºóÀ´µÄ ÓïÑÔÒÔ²»Í¬µÄÐÎʽÎüÈ¡ºÍ½è

    ¼ø¡£

    ÀýÈ磬SNOBOL µÄ×Ö·û´®´¦Àí¹¦ÄÜ£¬¿ÉÒÔ˵ÊÇÏÖ´ú½Å±¾ÓïÑÔ»ù±¾¹¦ÄÜ

    µÄ׿ÏÈ¡£´ËÍ⣬20ÊÀ ¼Í70Äê´úÓÉÃÀ¹úÂéÊ¡Àí¹¤Ñ§Ôº(MIT)¿ª·¢µÄÒ»ÖÖ

    ÃûΪCLU

    1µÄÓïÑÔÖеü´úÆ÷(Iterator)µÄ¸ÅÄҲ±»RubyÒÔ´úÂë¿é

    (Block)µÄÐÎʽ¼Ì³ÐÁËÏÂÀ´¡£

    1 CLU ÊÇÓÉMITµÄ°Å°ÅÀ­? Àû˹¿Æ·ò(Barbara Liskov£¬1939¡ª )Ëù¿ª·¢µÄÓïÑÔ£¬Àû˹¿Æ·òÓÚ

    2008 Äê»ñµÃͼÁé½±¡£(Ô­Êé×¢)

    ´Ó±à³ÌÓïÑԵĽø»¯¹ý³ÌÀ´¿´£¬Ò»¸öÏÔÖøµÄ¹Ø¼ü´Ê¾ÍÊÇ¡°³éÏ󻯡±¡£³éÏ󻯾ÍÊÇÌṩһ¸ö³éÏóµÄ¸ÅÄʹÓÃÕß¼´±ã²»¾ß±¸¹ØÓÚÆäÄÚ²¿ÏêϸÇé¿öµÄÖª

    Ê¶£¬Ò²Äܹ»¶ÔÆä½øÐÐÔËÓá£ÓÉÓÚ²»±ØÁ˽âÆäÄÚ²¿µÄÇé¿ö£¬Òò´ËÒ²±»³Æ

    Îª¡°ºÚÏ仯¡±¡£

    Ò»Ð©¹ÅÀϵıà³ÌÓïÑÔ£¬ÀýÈçBASIC ¾ÍûÓÐʵÏÖ³ä·ÖµÄ³éÏ󻯡£ËäÈ»ËüÌá

    ¹©ÁËÓÃÓÚ¹ý³Ì¹²ÏíµÄ×Ó³ÌÐòÕâ¸ö¸ÅÄµ«ÊÇ×Ó³ÌÐòÖ»ÄÜͨ¹ý±àºÅÀ´µ÷

    Ó㬶øÇÒ²»ÄÜ´«µÝ²ÎÊý¡£ÓÉÓÚ¡°¸³ÓèÃû³Æ¡±ÊdzéÏ󻯵ÄÖØÒª²¿·Ö£¬ËùÒÔ˵

    ËüµÄ³éÏó»¯ÊDz»³ä·ÖµÄ¡£½ü´úµÄ±à³ÌÓïÑÔÖУ¬¶¼¿ÉÒÔΪһϵÁйý³Ì(³Ì

    Ðò)¸³ÓèÏàÓ¦µÄÃû³Æ¡£

    È»¶ø£¬½ö½ö½«¹ý³Ì½øÐгéÏ󻯻¹Ô¶Ô¶²»¹»¡£¼¸ºõËùÓеĹý³Ì¶¼ÐèÒª½øÐÐ

    Ò»¶¨µÄÊäÈëÊä³ö²Ù×÷£¬¶ø²¢²»ÊÇÓëÊý¾ÝÎ޹صġ£Òò´Ë£¬ÔÚÏÂÒ»¸ö½×¶Î

    ÖУ¬¶ÔÊý¾Ý½øÐкÚÏ仯¾ÍÏԵ÷dz£ÖØÒª¡£¸Õ²ÅÎÒÃÇÌáµ½µÄCLU£¬¾ÍÊÇÊý

    ¾Ý³éÏ󻯳öÏÖÔçÆÚµÄÒ»ÖÖÓïÑÔ¡£

    ÔÚÊý¾Ý³éÏ󻯵ÄÑÓ³¤ÏßÉÏ£¬¾Í×ÔÈ»¶øÈ»²úÉúÁËÃæÏò¶ÔÏó±à³ÌµÄ¸ÅÄî¡£Ëù

    Î½¶ÔÏ󣬾ÍÊdzéÏ󻯵ÄÊý¾Ý±¾Éí£¬Òò´ËÃæÏò¶ÔÏóºÍÊý¾Ý³éÏó»¯Ö®¼ä½ö½ö

    ¸ôÁ˱¡±¡µÄÒ»ÕÅÖ½¡£ÔÚÏÖÔÚµÄ21 ÊÀ¼Í±à³ÌÓïÑÔÖУ¬ÃæÏò¶ÔÏóÒѾ­Êdz£

    Ê¶ÁË£¬×î½ü¼¸ºõËùÓеÄÓïÑÔ¶¼»ò¶à»òÉÙµØÌṩÁËÃæÏò¶ÔÏóµÄÄÜÁ¦¡£ µ±

    È»£¬ÆäÖÐÒ²ÓÐһЩÓïÑÔ¹ÊÒâ²»Ìṩ¶ÔÃæÏò¶ÔÏóµÄÖ§³Ö2¡£

    2 ÀýÈ磬ÏÂÒ»½ÚÖн«Òª½éÉܵÄÓɱ£ÂÞ ? ¸ñÀ×¶òÄ·ËùÉè¼ÆµÄArc ÓïÑÔ£¬¾Í(ÖÁÉÙÔÚÆäÄÚÖù¦ÄÜÖÐ)

    ²»Ö§³ÖÃæÏò¶ÔÏ󣬾ݱ£ÂÞ˵£¬ÊÇÓÐÒâÕâÑùÉè¼ÆµÄ¡£(Ô­Êé×¢)

    Ëæ×ųéÏ󻯵IJ»¶ÏÉîÈ룬³ÌÐòÔ±¼´±ã²»È¥¹ØÐÄÄÚ²¿µÄÏêϸÇé¿ö£¬Ò²¿ÉÒÔ

    ±àд³ö³ÌÐò¡£ÈËÀàÒ»´ÎËùÄÜÕÆÎյĸÅÄîÊýÁ¿ÊÇÓÐÏ޵ģ¬ÓÐ˵·¨³Æ£¬´ó²¿

    ·ÖÈËÒ»´ÎÖ»ÄܼÝÔ¦7¡À2¸ö×óÓҵĸÅÄî¡£ÕâÑùÒ»À´£¬Èç¹ûÄܹ»ÈÃÎÊÌâµÄ´¦

    Àí·½Ê½¸ü¼Ó³éÏó£¬Ò²¾Í¿ÉÒÔ½â¾ö¸ü¸´ÔÓµÄÎÊÌâ¡£

    ÊÜĦ¶û¶¨ÂɵÄÓ°Ï죬Éç»á¶ÔÓÚÈí¼þÒ²Ìá³öÁËÔ½À´Ô½¸ßµÄÒªÇó¡£ÈËÀàÉç»á

    Ô½À´Ô½ÒÀÀµ¼ÆËã»ú£¬Òò´Ë¾ÍÐèÒª¿ª·¢³ö¸ü¶à¸ü¿É¿¿¡¢¸ü±ãÒ˵ÄÈí¼þ¡£

    ÔÚ½²ÊöÈí¼þ¿ª·¢µÄÒ»±¾ÃûÖø¡¶ÈËÔÂÉñ»°¡·ÖУ¬×÷Õ߸¥À×µÂÀï¿Ë¡¤²¼Â³¿Ë

    Ë¹Ð´µÀ£º3 ÎÞÂÛʹÓÃʲô±à³ÌÓïÑÔ£¬Éú²úÒ»Ìõ»ù±¾Óï¾äËùÐèÒªµÄ¹¤Êý¼¸

    ºõÊÇÒ»¶¨µÄ¡£

    3 ¡¶ÈËÔÂÉñ»°¡ª¡ªÈí¼þÏîÄ¿¹ÜÀíÖ®µÀ¡·(The Mythical Man-Month: Essays on Software

    Engineering)Ê״γö°æÓÚ1975Ä꣬²¢ÓÚ1995 Äê½øÐÐÁËÀ©³äºÍÔÙ°æ¡£¸¥À×µÂÀï¿Ë¡£²¼Â³¿Ë˹

    (Frederick P. Brooks, Jr.£¬1931¡ª )ÊÇÃÀ¹úµÄÈí¼þ¹¤³Ìʦ£¬ÔøÖ÷³Ö¿ª·¢ÁËIBMµÄOS360²Ù×÷ϵͳ£¬ÓÚ1999Äê»ñµÃͼÁé½±¡£

    Ò²¾ÍÊÇ˵£¬Èç¹ûÒªÃèÊöͬÑùµÄËã·¨£¬AÓïÑÔÐèÒª1000ÐУ¬BÓïÑÔÖ»ÐèÒª

    10Ðеϰ£¬Ö»Òª²ÉÓÃBÓïÑÔÉú²úЧÂʾͿÉÒÔÌá¸ß100±¶¡£

    ¿ÉÄÜÓÐÈË»á¾õµÃ¡°ÕâÌ«³¶Á˰ɡ±¡£´ò¸ö±È·½£¬ÓÃJavaºÍRubyÃèÊöͬÑùµÄËã

    ·¨£¬Óï¾äÐÐÊýÏà²î2±¶¶àÒ²²»Ï¡Ææ£¬Èç¹ûÊÇ»ã±àÓïÑÔºÍRubyÏà±ÈµÄ»°£¬Ò²ÐíÄܲúÉú100±¶ÉõÖÁ1000±¶µÄ²î¾à¡£

    ÄܲúÉúÕâÑùµÄÉú²úЧÂʲîÒ죬ÕýÊdzéÏ󻯵ÄÁ¦Á¿¡£³éÏó¶È¸ßµÄ±à³ÌÓïÑÔ

    ²»±ØÃèÊöÏêϸ¹ý³Ì£¬´Ó¶ø¿ÉÒÔÓüò¶ÌµÄ´úÂë´ïµ½Ä¿µÄ¡£ºÍ³éÏ󻯳̶ȵÄ

    ²îÒìÏà±È£¬±äÁ¿Ãû³Æ¡¢ÓÐûÓÐÖ¸¶¨Êý¾ÝÀàÐÍÖ®ÀàµÄ¶¼Ö»ÄÜËãÊÇÎó²î¼¶±ð

    µÄ²îÒì¶øÒÑ¡£

    100ÄêºóµÄ±à³ÌÓïÑÔ

    ´Ó±à³ÌÓïÑԵĽø»¯Õâ¸öÊÓ½ÇÀ´¿´£¬Æäʵ×î½ü²¢Ã»ÓÐʲô´óµÄ¶¯×÷¡£ÏÖÔÚ

    Ê¹ÓÃ×î¹ã·ºµÄ±à³ÌÓïÑÔ¼¸ºõ¶¼ÊÇ10 ¶àÄêǰ³öÏֵ쬼´±ãÊDZȽÏеÄJava

    ºÍRuby Ò²Êǵ®ÉúÓÚ20 ÊÀ¼Í90 Äê´úºó°ë£¬¾àÀëÏÖÔÚÒ²ÒѾ­ÊÇ15Äê֮ǰµÄ

    ÊÂÁË¡£Ò²Ðí¿ÉÒÔ˵£¬ÏÖÔÚÕýÊDZà³ÌÓïÑÔ½ø»¯µÄºÃʱ»ú°É¡£

    ×î½ü£¬Êܵ½CPU¶àºË»¯µÈÒòËØµÄÓ°Ï죬Erlang4ÕâÖÖ²¢Ðд¦ÀíÓïÑÔÊܵ½ÁË

    ²»ÉÙ¹Ø×¢¡£²»¹ýErlangÔçÔÚ1987Äê¾Íµ®ÉúÁË£¬Ò²²¢²»ÊÇʲôж«Î÷£¬ÓÐ

    µãʧÍûѽ¡£

    4 ErlangÊÇÓÉÈðµäµçÐŹ«Ë¾°®Á¢ÐÅ(Ericsson)ÆìϼÆËã»ú¿ÆÑ§Ñо¿ÊÒËù¿ª·¢µÄÒ»ÖÖ±à³ÌÓïÑÔ£¬·¢²¼ÓÚ1987Ä꣬²¢ÓÚ1998 ÄêʵÏÖ¿ªÔ´¡£

    ÄÇô£¬Î´À´µÄ±à³ÌÓïÑÔ¾¿¾¹»á±ä³ÉʲôÑùÄØ£¿

    ÃÀ¹ú·çÏÕͶ×ʼҡ¢Lisp ÆôÃɼҡ¢×÷¼Ò±£ÂÞ¡¤¸ñÀ×¶òÄ·ÔÚÆä¡¶Ò»°ÙÄêºóµÄ

    ±à³ÌÓïÑÔ¡·5Ò»ÎÄÖÐÏëÏóÁË100 Äêºó¿ÉÄÜ»á³öÏֵıà³ÌÓïÑÔ£¬²¢ÌáÒ齫Ëû

    µÄ¹ÛµãÓ¦Óõ½ÏÖÔڵıà³ÌÓïÑÔÖС£

    5 ±£ÂÞ ? ¸ñÀ×¶òÄ·(Paul Graham£¬1964¡ª )ÊÇÃÀ¹ú·çÏÕͶ×ʼҡ¢¼ÆËã»ú¿ÆÑ§×÷¼Ò¡£¡¶Ò»°ÙÄê

    ºóµÄ±à³ÌÓïÑÔ¡·(The Hundred-Year Language)Ò»ÎÄÊÕ¼ÓÚ±£ÂÞ ? ¸ñÀ×¶òÄ·µÄÎ¶ºÚ¿ÍÓë»­

    ¼Ò¡·Ò»ÊéÖУ¬ÈËÃñÓʵç³ö°æÉç2011Äê4Ô³ö°æ£¬ÈîÒ»·åÒë¡£

    ËûÖ÷ÕÅ£¬100ÄêºóµÄ±à³ÌÓïÑÔ½ø»¯µÄÖ÷Ïߣ¬Ó¦¸ÃÒÔÉÙÁ¿¹«ÀíΪ»ù´¡µÄ¡°Óµ

    ÓÐ×îС×î¼ò½àºËÐĵÄÓïÑÔ¡±¡£ÔÚÏÖÓбà³ÌÓïÑÔÖУ¬×î¾ßÓÐÕâÒ»ÌØÕ÷µÄĪ

    ¹ýÓÚËû×îϲ»¶µÄLispÁË¡£ËùÒÔ˵£¬ËûµÄÖ÷ÕÅʵ¼ÊÉϾÍÊÇ˵£¬Lisp²ÅÊÇ100

    Äêºó±à³ÌÓïÑԵĽø»¯·½Ïò¡£

    ßí£¬ÏñÎÒÕâÑùµÄСÈËÎïÒª¸úËû½Ð°åºÃÏñҲͦ²»×ÔÁ¿Á¦µÄ£¬²»¹ýÎÒ»¹ÊÇÈÏ

    Îª£¬¶ÔÓÚδÀ´£¬Ó¦¸Ã»ùÓÚ´Ó¹ýÈ¥µ½ÏÖÔڵı仯·½Ïò£¬²¢ÔÚÆäÑÓ³¤ÏßÉÏ×ö

    ³öÔ¤²â¡£µ±È»£¬½«À´Ò²Ðí»á·¢ÉúһЩÎÞ·¨Ô¤ÁϵÄ×´¿ö£¬´Ó¶ø´ó·ùŤת֮

    Ç°µÄǰ½ø·½Ïò£¬²»¹ýÕâÑùµÄÊÂÇé´Ó¶¨ÒåÀ´Ëµ±¾À´¾ÍÊÇÎÞ·¨Ô¤²âµÄ£¬Äã·Ç

    ÒªÔ¤²âËü£¬±¾ÖÊÉÏÒ²ÊǺÁÎÞÒâÒåµÄ¡£

    ×÷Ϊһ¸ö±à³ÌÓïÑÔÓùÕ¬×壬ͨ¹ý·´¹Û¹ýÈ¥°ë¸öÊÀ¼ÍÒÔÀ´±à³ÌÓïÑԵĽø»¯

    ·½Ïò£¬ÎÒÈÏΪ±à³ÌÓïÑÔ¾ø¶Ô²»»á°´ÕÕ±£ÂÞ¡¤¸ñÀ×¶òÄ·Ëù˵£¬Ïò×Å¡°Ð¡¶ø¸É

    ¾»¡±µÄ·½ÏòÀ´½ø»¯¡£ÏÖÔڵıà³ÌÓïÑÔ£¬ÎÞÂÛÊǹ¦ÄÜÉÏ»¹ÊÇÓï·¨É϶¼ÒѾ­

    ²»ÊÇÄÇÑùµ¥´¿ÁË£¬ËäÈ»Ò²Ôø¾­ÓÐÈËŬÁ¦³¢ÊÔ½«ÕâЩÓïÑÔ±äµÃ¸üС¸ü¼ò

    µ¥£¬µ«°üÀ¨±£ÂÞ¡¤¸ñÀ×¶òÄ·×Ô¼ºËùÉè¼ÆµÄArc

    6ÔÚÄÚ£¬¶¼¾ö²»ÄÜËãÊdzɹ¦

    µÄ³¢ÊÔ¡£

    6 Arc ÓïÑÔÊÇLisp µÄ·½ÑÔÖ®Ò»£¬Óɱ£ÂÞ ? ¸ñÀ×¶òÄ·ÓëÂÞ²®ÌØ ? Ì©ÅË? ĪÀï˹(Robert Tappan

    Morris£¬1965¡ª )¹²Í¬Éè¼Æ£¬ÓÚ2008 ÄêÊ״η¢²¼¡£

    ÔÚÎÒ¿´À´£¬±à³ÌÓïÑԵĽø»¯¶¯»ú£¬²»Êǹ¤¾ßºÍÓïÑÔ±¾ÉíµÄ¼ò»¯£¬¶øÊǽ«

    Í¨¹ýÕâЩ¹¤¾ßºÍÓïÑÔËùµÃµ½µÄ½á¹û(½â¾ö·½°¸)¸ü¼ò½àµØ±í´ï³öÀ´¡£½ü

    °ë¸öÊÀ¼ÍÒÔÀ´£¬±à³ÌÓïÑÔ²»¶ÏÌṩÓú·¢¸ß¶ÈµÄ³éÏó»¯ÌØÐÔ£¬Ò²ÕýÊÇΪÁË

    ´ïµ½Õâ¸öÄ¿µÄ¡£Òò´ËÎÒÃÇ¿ÉÒÔºÜ×ÔÈ»µØÈÏΪ£¬ÕâÖÖÇ÷ÊÆÔÚ½«À´Ò²Ó¦¸Ã»á

    ¼ÌÐø±£³Ö¡£»ùÓÚÉÏÊö¹Ûµã£¬Èç¹ûÒªÎÒÀ´Ô¤²â100 Äêºó±à³ÌÓïÑÔµÄÑù×Ó£¬ÎÒÈÏΪӦ¸Ã

    »áÊÇÏÂÃæÈýÖÖÇé¿öµÄÆäÖÐÖ®Ò»£º

    1. ±ä»¯²»´ó¡£±à³ÌÓïÑÔµÄд·¨´Ó20 ÊÀ¼Í80 Äê´ú¿ªÊ¼¾Í¼¸ºõûÓÐʲô

    ½ø»¯£¬½ñºó¼´±ã³öÏÖеÄд·¨£¬Ò²Ö»ÊÇÏÖÓÐд·¨µÄ±äÐζøÒÑ¡£(´Ó

    ·¢Õ¹ÉÏÀ´¿´£¬ÊDZȽϱ¯¹ÛµÄδÀ´)

    2. ʹÓñà³ÌÓïÑÔÀ´±à³ÌÕâ¸öÐÐΪ±¾Éí²»´æÔÚÁË¡£ÈËÀà¿ÉÒÔͨ¹ýºÍ¼ÆËã

    »ú¶Ô»°(´ó¸ÅÊÇÓÃ×ÔÈ»ÓïÑÔ)À´²éѯºÍ´¦ÀíÐÅÏ¢¡£(ÀàËÆ¡¶ÐǼÊÃÔ

    º½¡·ÖеÄÊÀ½ç£¬¶ÔÓÚ±à³ÌÓïÑÔ¼ÒÀ´ËµÊDZȽÏʧÂäµÄδÀ´)

    3. ·¢Ã÷Á˲ÉÓøü¸ß³éÏó¶Èд·¨µÄ±à³ÌÓïÑÔ¡£ÕâÖÖÓïÑÔÔÚÏÖÔÚºÜÄÑÏë

    Ï󣬲»¹ýÓ¦¸ÃÊDZÈÏÖÔÚ¸ü¼ÓÇ¿µ÷What£¬¶ø¶ÔÓÚÈçºÎ½â¾öÎÊÌâµÄHow

    ²¿·ÖµÄϸ½Ú£¬Ôò²»ÔÙÐèÒªÈËÀàÈ¥¹ýÎÊ¡£(ÄÑÒÔÔ¤²âµÄδÀ´)

    µ±È»£¬ÉÏÃæµÄÔ¤²âÒ²Ö»²»¹ý½ö½öÊÇÔ¤²â¶øÒÑ£¬ÓпÉÄÜÓëδÀ´µÄʵ¼ÊÇé¿ö

    ´óÏྶͥ£¬»òÕß˵£¬Óëʵ¼Ê´óÏྶͥµÄ¿ÉÄÜÐԱȽϴó°É¡£²»¹ý»°Ëµ»Ø

    À´£¬100 ÄêºóÎÒÒ²ÒѾ­²»ÔÚÕâ¸öÊÀÉÏÁË£¬Õâ²»ÊǰײÙÐÄÂï¡£

    20ÄêºóµÄ±à³ÌÓïÑÔ

    Í¨¹ý¶Ô100ÄêºóµÄÔ¤²â£¬ÎÒÃÇÃ÷°×ÁË¡°Ô¤²â100 ÄêºóµÄÊÂÇéÊǷdz£À§ÄÑ

    µÄ¡±¡£ÏëÏë¿´£¬100ÄêǰÁ¬·É»ú»¹Ã»ÓÐÃñÓû¯ÄØ£¬100ÄêºóÎÒÒѾ­¿ÉÒÔ×ø

    ÔÚ·É»úÉÏÊæÊæ·þ·þµØÐ´ÕâÆª¸å×ÓÁË£¬Õâ×ãÒÔ˵Ã÷£¬ÒªÏëÏóÉç»áµÄ±ä»¯ÊÇ

    Ï൱À§Äѵġ£

    ÄÇô£¬¸ü½üÒ»µãµÄδÀ´ÓÖÔõôÑùÄØ£¿±ÈÈç˵20 Äêºó¡£20 Äêǰ£¬ÈÕ±¾¸Õ

    ¸Õ¸ÄÄêºÅΪƽ³É7£¬ÏÖÔÚºÍÄǸöʱºòÏà±È£¬Ó¡ÏóÖÐÉç»áÓ¦¸ÃûÓз¢Éú·Ç

    ³£¼«¶ËµÄ±ä»¯¡£¼ÆËã»úµÄÐÔÄܵȷ½ÃæÈ·ÊµÓÐÁ˳¤×ãµÄ½ø²½£¬²»¹ý·¢Õ¹Ç÷

    ÊÆ»¹ÊÇÁ¬ÐøµÄ£¬²¢·ÇÎÞ·¨Ô¤²â¡£¶ÔÓÚ20 ÄêºóµÄδÀ´£¬ÎÒÏëÓ¦¸Ã¿ÉÒÔ¸ù

    ¾ÝÏÖÔڵķ¢Õ¹Ç÷ÊÆÀ´×ö³öÅжϡ£

    7 ³ýÁ˹«Ôª¼ÍÄêÍ⣬ÈÕ±¾ÈË»¹ÆÕ±éϰ¹ßʹÓÃÄêºÅ¼ÍÄê¡£ºÍÖйú·â½¨Íõ³¯Ê±ÆÚÒ»Ñù£¬ÄêºÅÒ»°ãÊÇ

    ËæÌì»ÊµÄ¸ü»»¶ø½øÐиüµü¡£1989 Ä꣬Ã÷ÈÊÌì»Ê¼´Î»£¬¸ÄÄêºÅΪƽ³É£¬Òò´Ë 2012 ÄêÊÇÆ½³É 24

    Äê¡£ÔÚÆ½³É֮ǰµÄÉÏÒ»¸öÄêºÅÊÇÕѺ͡£

    ¸öÈËÈÏΪ£¬Õâô¶ÌµÄʱ¼äÄÚ£¬±à³ÌÓïÑÔ±¾ÉíÓ¦¸Ã²»»á·¢Éú¶à´óµÄ±ä»¯¡£

    Êµ¼ÊÉÏ£¬ÏÖÔÚʹÓõĺܶàÓïÑÔ£¬ÔÚ20 Äêǰ¾ÍÒѾ­´æÔڵġ£Òò´ËÎÒÔ¤

    ¼Æ£¬20 ÄêºóµÄÓïÑÔ£¬Ó¦¸ÃÊÇÔÚ·Ö²¼´¦Àí(¶ą̀¼ÆËã»úЭ×÷´¦Àí)ºÍ²¢

    Ðд¦Àí(¶à¸öCPU Э×÷´¦Àí)¹¦ÄÜÉϽøÐÐÇ¿»¯£¬Ê¹µÃ¿ª·¢Õß²»ÐèÒªÌØ±ð»¨ÐÄ˼¾ÍÄܹ»Ê¹ÓÃÕâЩ¹¦ÄÜ¡£

    Ö®ËùÒÔÒª¹Ø×¢·Ö²¼´¦ÀíºÍ²¢Ðд¦Àí£¬ÊÇÒòΪ½ñºó¸öÈËÒ²¿ÉÒÔͨ¹ýÔÆ¼ÆËã

    µÄÐÎʽʹÓõ½±ÈÏÖÔÚ¸ü¶àµÄ¼ÆËã»ú£¬¶øËæ×Åÿ̨¼ÆËã»úµÄCPU ¶àºË»¯£¬¾ÍÏ൱ÓÚ°²×°Á˸ü¶àµÄCPU£¬ÕâЩÇéÐζ¼ÊǺÜÈÝÒ×ÏëÏóµÄ¡£

    ²»¹ý£¬ÎÒÈÏΪÏÖÔÚµÄÏ̡߳¢RPC(Remote Procedure Call£¬Ô¶³Ì¹ý³Ìµ÷

    ÓÃ)µÈÏÔʽµØÊ¹Ó÷ֲ¼´¦ÀíºÍ²¢Ðд¦ÀíµÄÐÎʽ£¬ÔçÍí»áÓöµ½Æ¿¾±¡£µ±ºË

    ÐÄÊýÁ¿³¬¹ýÊýǧ¸öµÄʱºò£¬ÏÔʽָ¶¨¾Í±äµÃºÁÎÞÒâÒåÁË£¬µ÷ÊÔÆðÀ´Ò²»á

    ±äµÃ·Ç³£Í´¿à¡£ÎÒÆÚ´ýÔÚ20 Äêºó£¬Äܹ»³öÏÖÍ»ÆÆÕâÖÖ¾ÖÏ޵ļ¼Êõ£¬¼´

    ÎÞÐèÏÔʽ²Ù×÷¾Í¿ÉÒÔʵÏÖ·Ö²¼´¦ÀíºÍ²¢Ðд¦Àí¡£

    Ñ§ÉúÃǵÄÏëÏó

    ¼¸Äêǰ£¬ÎÒÔø¾­ÔÚĸУÖþ²¨´óѧ¿ªÕ¹¹ýÒ»´Î¹ØÓÚ±à³ÌÓïÑԵļ¯Öн²×ù¡£

    ÔÚ½²×ùÖÐÎÒ¸øÑ§ÉúÃdzöÁË¡°ÏëÏóÒ»ÏÂ20ÄêºóµÄ±à³ÌÓïÑÔ¡±ÕâÑùÒ»¸öÌâÄ¿£¬²¢ÔÚ½²×ù×îºóÒ»ÌìÌá½»±¨¸æ¡£ºÜÓÐÒâ˼µÄÊÇ£¬´ó¶àÊýѧÉú²¢Ã»ÓÐ×ö³öÎÒ

    ÉÏÃæËù˵µÄ¹ØÓÚ·Ö²¼´¦ÀíºÍ²¢Ðд¦ÀíÖ®ÀàµÄ¼¼ÊõÐÔÔ¤²â£¬¶øÊÇÌá³öÁËÖî

    Èç¡°Èñà³Ì±äµÃ¸ü¼òµ¥µÄÓïÑÔ¡±¡¢¡°Ï£ÍûÓÃ×ÔÈ»ÓïÑÔÀ´¿ØÖƼÆËã»ú¡±Ö®ÀàµÄ

    ÏëÏó¡£Í¨¹ýÕâЩ´ð°¸£¬Ëƺõ¿ÉÒÔ¿´³öËûÃÇÆ½³£ÎªÁËÍê³É±à³Ì×÷Òµ¶ø±»ÕÛ

    Ä¥µÃºÎµÈÍ´¿à¡£

    ²»¹ý£¬ÕâÑùµÄ´ð°¸ÖУ¬Ò²ÐíÒ²Ô̺¬×ÅÕæÀí¡£½üÄêÀ´£¬±à³ÌÓïÑÔËÆºõÔ½À´

    Ô½ÄÑÒÔÍÑÀëIDE(Integrated Development Environment£¬¼¯³É¿ª·¢»·¾³)

    ¶øµ¥¶ÀÄóöÀ´ËµÁË¡£¶ÔÓÚRubyÒ²×ÜÓÐÈËÎÊ¡°Ã»ÓÐIDEÂ𣿡±Ö®ÀàµÄÎÊÌ⣬µ±È»£¬ºÃÏûÏ¢ÊÇ×î½üEclipse ºÍNetBeans ÒѾ­Ö§³ÖRubyÁË¡£

    ÓеãÅÜÌâÁË¡£×ÜÖ®£¬Î´À´µÄ±à³ÌÓïÑÔ¿ÉÄܲ»»áÏñ¹ýÈ¥µÄ±à³ÌÓïÑÔÄÇÑù£¬ÈÃÓïÑÔ±¾Éíµ¥¶À´æÔÚ£¬¶øÊǺͱ༭Æ÷¡¢µ÷ÊÔÆ÷¡¢ÐÔÄÜ·ÖÎöÆ÷µÈ¿ª·¢¹¤¾ß

    Ï໥ÅäºÏ£¬ÒÔ´ïµ½Ìá¸ßÕûÌåÉú²úЧÂʵÄÄ¿µÄ¡£»°Ëµ£¬ÄDz»¾ÍÊÇ Smalltalk

    Âð8£¿

    8 Smalltalk ÕýÊÇÒ»ÖÖ¿¼ÂÇÁË¡°Óë±à¼­Æ÷¡¢µ÷ÊÔÆ÷¡¢ÐÔÄÜ·ÖÎöÆ÷µÈ¿ª·¢¹¤¾ßÏ໥ÅäºÏ¡±¶øÉè¼ÆµÄÓï

    ÑÔ¡£¹ýÈ¥Ëü²¢²»ÄÜËãÊdzɹ¦µÄ£¬µ«Ëæ×ż¼ÊõµÄ½ø²½£¬ÆäÀíÄî»ñµÃÁËÔ½À´Ô½¶àµÄÓÃÎäÖ®µØ£¬»òÐí

    ÕæÄܾíÍÁÖØÀ´Ò²Î´¿ÉÖª¡£

    ßí£¬ÀúÊ·ÊÇ·ñ»áÖØÑÝÄØ£¿

    ¡¶´úÂëµÄδÀ´¡·ÊÇ Ruby Ö®¸¸Ëɱ¾ÐкëµÄÓÖÒ»Á¦×÷¡£×÷Õß¶ÔÔÆ¼ÆËã¡¢´ó

    Êý¾Ýʱ´úϵĸ÷ÖÖ±à³ÌÓïÑÔÒÔ¼°Ïà¹Ø¼¼Êõ½øÐÐÁËÆÊÎö£¬²¢¶Ô±à³ÌÓïÑÔµÄ

    Î´À´·¢Õ¹Ç÷ÊÆ×ö³öÔ¤²â£¬ÄÚÈÝÉæ¼°Go¡¢VoltDB¡¢node.js¡¢CoffeeScript¡¢Dart¡¢MongoDB¡¢Ä¦¶û¶¨ÂÉ¡¢¶àºË¡¢NoSQL µÈµ±½ñ±¸ÊÜ

    ¹Ø×¢µÄ»°Ìâ¡£°Ë++Puppet¡ª¡ªLuke Kanies µÄ¸ÖÌúÏÀ

    ×÷Õß ÓàÐ˳¬

    Ç°ÐÂÀËÔÆ¼ÆËãϵͳ¿ª·¢¹¤³Ìʦ£¬ÏÖÔÚUnitedStack¸ºÔðDevopsÏà¹ØÊÂ

    Îñ¡£ÈÈÖÔÓÚ¿ªÔ´ÉçÇø£¬³£ÓÃID Newptone£¬ÖÐÎÄÒë×÷ţƤÌÇ¡£ËûºÍËû

    µÄС»ï°éÃÇ(һֻèºÍÒ»Ö»ÍÃ×Ó)ÏÖ¾ÓסÔÚ±±¾©³Çijһ°²¾²µÄ½ÇÂ䡣ͼ

    ÁéÉçÇøID:ţƤÌÇ

    Puppet¶ÔÓÚ×öDevOpsµÄͬѧÀ´Ëµ£¬ÊǸö·Ç³£ÊìϤµÄÃû×Ö£¬µ«ÈÔÓÐÈË»¹²»

    Á˽âËü¡£ÄÇôÎÒÏÈÀ´¼òµ¥½éÉÜһϣºPuppetÊÇÓÉPuppetlabs¹«Ë¾¿ª·¢µÄϵ

    Í³¹ÜÀí¿ò¼ÜºÍ¹¤¾ß¼¯£¬±»ÓÃÓÚIT·þÎñµÄ×Ô¶¯»¯¹ÜÀí¡£ÓÉÓÚÁ¼ºÃµÄÉùÃ÷ʽÓïÑÔºÍÒ×ÓÚÀ©Õ¹µÄ¿ò¼ÜÉè¼ÆÒÔ¼°¿ÉÖØÓÿɹ²ÏíµÄÄ£¿é£¬Ê¹µÃGoogle¡¢Cisco¡¢Twitter¡¢RedHat¡¢New York Stock ExchangeµÈÖڶ๫˾ºÍ»ú¹¹ÔÚ

    ÆäÊý¾ÝÖÐÐĵÄ×Ô¶¯»¯¹ÜÀíÖÐÓõ½ÁËPuppet¡£°ëÄêÒ»¶ÈµÄPuppetConf´ó»á

    Ò²õÒÉíÓÚÖØÒª¼¼Êõ»áÒéÖ®ÁС£AWSµÄCloudFormationÎĵµÖÐÓÐÒ»¶Î¹ØÓÚ

    PuppetµÄ½éÉÜ£¬Æä¿ªÍ·ÊÇÕâô˵µÄ: Puppet has become the de facto

    industry standard for IT automation¡£

    Í¬Ê±£¬PuppetÔÚOpenStackÖÐÒ²·¢»Ó×ÅÖØÒªµÄ×÷ÓãºOpenStack-ciÉçÇø½«

    ÆäÓÃÓÚOpenStack wikiϵͳ,³ÖÐø¼¯³ÉϵͳµÈµÈµÄÔËά¹ÜÀí£»´ËÍâÉçÇøµÄ

    puppet-openstackÏîÄ¿ÓÃÓÚÍê³ÉOpenStack·þÎñµÄ×Ô¶¯»¯²¿ÊðºÍ¹ÜÀí£¬Ä¿

    Ç°ÒѾ­ÔÚstackforgeÖÐÍйܲ¢Í¨¹ýOpenStackµÄGerritϵͳÀ´¹ÜÀí´úÂëÌá

    ½»£»´ËÍ⣬Cisco,RedHat,MiriantisµÈ¶à¼Ò¹«Ë¾µÄOpenStack·¢Ðаæ»ò²¿Êð

    ¹¤¾ßÖоùʹÓõ½ÁËpuppet-openstack¡£Ä¿Ç°£¬PuppetÔÚUnitedStackµÄÈÕ³£

    ÔËά¹ÜÀíºÍ²úÆ·µÄ×Ô¶¯»¯²¿ÊðÖÐÒ²Æðµ½ÁËÖØÒª×÷Óá£

    ºÃÁË£¬¸Õ¸Õ»¹²»Á˽âPuppetµÄ¶ÁÕßÃÇÏÖÔÚÒѾ­ÖªµÀPuppetÊÇÒ»¸öÅ£±Æºå

    ºåµÄ×Ô¶¯»¯ÔËά¹ÜÀí¹¤¾ß¡£¿ÉÄÜÓÐÈËÒѾ­ÏÂÍêÁËÈí¼þ°üÔ¾Ô¾ÓûÊÔÁË£¬ÏÈ

    ±ð¼±£¬ÓйØPuppetµÄʹÓÃ×ÊÁÏÔÚÍøÉÏ¿ÉÒÔËѵ½Ò»´ó¶Ñ£¬¹Ù·½µÄÎĵµÒ²Ïê

    Ï¸µ½ÁË¡°ÁîÈË·¢Ö¸¡±¡£¹ØÓÚPuppetµÄʹÓþ­Ñé·ÖÏíºÍ¸÷ÖÖÌØÐÔµÄÉîÈë̽ÌÖ

    ÒÔ¼°ÈçºÎʹÓÃPuppet¹ÜÀíOpenStack²¿ÊðµÄ·½°¸·ÖÎö£¬Å¶£¬¶¼²»ÔÚ±¾ÎĵÄ

    ÌÖÂÛ·¶Î§Ö®ÄÚ¡£

    ±¾ÎĵÄÖØµãÊÇ°ËØÔÒ»ÏÂPuppetΪʲô¿ÉÒÔÕâô³É¹¦¡£Í¬Ê±£¬Îª±ÜÃâÒýÆð

    ·ÇPuppet³ÌÐòÔ±¸Ð¹ÙÉϵIJ»ÊÊ£¬ÎÒÆÁ±ÎÁ˸÷ÖÖ´úÂë¼¶±ðµÄչʾºÍ¶Ôϸ½Ú

    µÄ̽ÌÖ¡£

    Luke KaniesµÄ¼¼Êõ֮·

    ¹ÊÊÂÒª´ÓLuke Kanies£¬ÕâλtwitterêdzÆÓëPuppetµÄ·þÎñÆ÷¶Ë½ø³ÌÃûͬÃû

    µÄ¸çÃÇ˵Æð£¬ÔںܾúܾÃÒÔǰ...³É³¤£º¿à±ÆµÄѧÉúʱ´ú

    ÔÚ1992ÄêµÄʱºò£¬Luke½øÈëŵ˼À¼Ñ§Ôº³ÉΪÁËÒ»Ãû»¯Ñ§×¨ÒµµÄѧÉú£¬Õâ

    ÊÇÒ»ËùλÓÚÍþ˹¿µÐÁÖݵÄСѧУ£¬È«ÃÀÅÅÃûÔÚ178×óÓÒÅÇ»²¡£

    Ð¡»ï×ÓºÜÕùÆøÖ»´ôÁËÒ»Äê¾ÍÅܵ½ÁË´óÃû¶¦¶¦µÄÀïµÂѧԺ£¬³ÉΪÁËÇDz¼Ë¹

    µÄУÓÑ¡£²»¹ýµ¹Ã¹µÄÊÇÀïµÂѧԺ±»ÆÀΪȫÃÀÊ®´ó¿à±ÆÑ§Ð£Ö®Ò»£¬6Äê±Ï

    ÒµÂʽöΪ75%£¬Ò²¾ÍÊÇÓÐ14µÄͬѧÄò»µ½±ÏÒµÖ¤¡£ÓбðÓںܶàÎÄÀíѧԺ

    ×ÔÓÉÑ¡¿ÎµÄģʽ£¬ÀïµÂµÄ´óһѧÉú±ØÐëÍê³É¹æ¶¨µÄÈËÎıØÐ޿γ̣¬Ñ§Ï°

    Ï£À°¼°ÂÞÂíµÄ¹ÅµäÎÄ»¯¡£ÕâÃſγÌÒѾ­Óг¬¹ý50ÄêµÄÀúÊ·£¬ÀïµÂ¶¯ÓÃÁË

    Ñ§Ð£×îΪǿ´óµÄʦ×ÊÁ¦Á¿À´ÎªÑ§Éúµì¶¨ÎÄ»¯»ù´¡¡£Õ⻹ûÍêÄØ£¬Ö®ºóѧ

    Éú»¹±ØÐëÔÚËĸöÍØÕ¹ÁìÓòÑ¡¿Î£ºÎÄѧ¡¢ÕÜѧ¡¢×ڽ̡¢ÒÕÊõ·½Ãæ;ÀúÊ·¡¢Éç¿Æ¡¢ÐÄÀíѧ·½Ãæ;×ÔÈ»¿ÆÑ§·½Ãæ;»¹ÓÐÊýѧ¡¢Âß¼­¡¢ÓïÑÔѧ»òÍâÓï¡£´ó

    ÈýѧÉú±ØÐëͨ¹ýרҵ²âÊÔ£¬´óËÄѧÉúÔò±ØÐëÍê³ÉרÌâ±ÏÒµÂÛÎIJÅÄܱÏ

    Òµ¡£±ÏÒµÂÛÎIJ¢²»¿ÉÅ£¬¿ÉŵÄÊÇÀïµÂѧԺµÄ±ÏÒµÂÛÎĵÄѧʱÊÇÒ»Ä꣬ËùÒÔÓÐÏë³ö¹úÁôѧµÄͬѧ£¬ÇëÃÜÇйØ×¢ÁíÍâ¾ÅËù´óѧµÄÃû×Ö¡­

    ¸ÃÀ´µÄ»¹ÊÇ»áÀ´µÄ£¬1996Ä꣬Luke´óËÄÁË¡£ÒªÏë˳Àû±ÏÒµµÄ»°£¬Ëû±ØÐë

    µÃÐÞÍêÕⳤ´ïÒ»ÄêµÄÂÛÎÄÏîÄ¿£¬ÕâÒâζ×ÅÔÚÕâÒ»ÄêÄÚËû±ØÐëÒª¶¯ÊÖÉè¼Æ

    ºÍʵÏÖ£¬²¢ÓÃʵÑéÊý¾ÝÖ¤Ã÷£¬×îÖÕ×éÖ¯³ÉÂÛÎÄÀ´Íê³É¿ÎÌâ¡£LukeµÄÂÛÎÄ

    ÌâÄ¿ÊÇSite-directed Mutagenesis in Soy Cytosolic Ascorbate Peroxidase£¬ÎÒÍÆÇÃÁ˰ëÌ죬ÖÐÎÄ·­Òë´óÖÂÊÇ£º´ó¶¹¿¹»µÑªËáÑιýÑõ»¯Îïø°ûÖʵ͍

    µãÓձ䡣

    ´ò¹¤£ºÆ¯²´ºÍ»ýÀÛÍòÐÒµÄÊÇ£¬ÎÒÃDz»ÓÃÈ¥Ñо¿Ò»¿ÚÆø¶¼Äî²»ÍêÃû×ÖµÄÂÛÎÄ¡£³¶Ô¶ÁË£¬Luke

    ±ÏÒµºóûȥÕÒÒ»·ÝºÍ»¯Ñ§Ïà¹ØµÄ¹¤×÷¶øÊÇÈ¥ÁËCypersiteµ±ÆðÁËMacϵͳ

    ¹ÜÀíÔ±¡£ÔÚCypersiteµÄÈÕ×ÓÀLukeʹÓÃAppleScript¸É×ÅÐÐMacOSµÄ¹Ü

    Àí¹¤×÷£¬²»¹ý¸ÉÁ˲»µ½Ò»Ä껹ûתÕýµÄʱºò£¬Ëû±ãÅÜ·ÁË¡£

    ÒòΪÔÚ97ÄêµÄ12Ô·ݣ¬ËûÔÚMetro One TelecommunicationsÕÒµ½ÁËÒ»·Ýϵ

    Í³¹ÜÀíÔ±µÄ»î¶ù¡£Metro One Telecommunicationsµ±Äê¿ÉÊÇÄÉ˹´ï¿ËÉÏÊÐ

    ¹«Ë¾£¬Ö÷ÒªÒµÎñÊÇÌṩµç»°ºÅÂë²éѯ·þÎñ¡£ÔÚÆäáÛ·åʱ£¬¹«Ë¾ÔÚÈ«ÃÀÓµ

    ÓÐ7000Ãû¹ÍÔ±£¬È»¶øÔÚ2009Äê³õ£¬ÔÚÊÛÍê×îºóÒ»²¿·ÖµÄ¾­ÓªÒµÎñºó£¬¸Ã

    ¹«Ë¾»¹Ê£Óà3ÈË¡£ÃéÁËÒ»ÑÛMetro One½ñÌìµÄ¹É¼Û£º0.01ÃÀÔª¡£Í¨ÐÅÐÐÒµ

    ÔçÒÑÊÇ×òÈջƻ¨ÁË£¬Îâ¾ü²©Ê¿ÒѾ­ÔÚ¡¶À˳±Ö®áÛ¡·Öн«ÕâЩÀúÊ·ÃèÊöµÃ

    ¾¡ÖÂÁÜÀì¡£

    ÓÖ³¶Ô¶ÁË£¬ÔÚMetro OneµÄ1ÄêÁã9¸öÔÂÀLukeµÄÖ÷Òª¹¤×÷ÊǹÜÀí·ÖÉ¢

    ÔÚÈ«ÃÀµÄ30¸öºô½ÐÖÐÐÄ£¬°üÀ¨Á˺ô½ÐÖÐÐļÆËãÉ豸µÄ²¿ÊðºÍÉèÖã¬Íâ¼Ó

    ´Ó×ܲ¿¶ÔÆä½øÐв»¼ä¶ÏµÄά»¤¡£¿´µ½ÕâÀÎÒͻȻÏ뵽ij¼ÒstartupµÄ´´

    Ê¼ÈË֮ǰÔÚµçÐŲ¿ÃÅ×ö¹ýÏàͬµÄ¹¤×÷£¬ºóÀ´ËûÈ¥×öÁËÒ»¸öºÜìŵĿÉÊÓ»¯

    ²¿Ê𹤾ߣ¬ÎҲ²âͨÐÅÐÐÒµµÄ²¿Êð¹¤×÷³äÂúÁËÖØ¸´µÄ»úеÀͶ¯£¬ÓÐÒ»ÖÖ

    ×Ô¶¯»¯µÄÇ¿ÁÒÐèÇó¡£ÕâÀïÌáһϣ¬provisionÔøÊǵçÐÅÐÐÒµÖеÄÒ»¸öÊõ

    Óרָ°²×°Í¨ÐÅÉ豸ǰµÄ×¼±¸¹¤×÷£¬¶øÔÚdevopsÖг£ËµÌáÆðµÄbare-

    metal provisionÊÇÖ¸ÔÚ¼ÆËã»úÉϰ²×°²Ù×÷ϵͳ»òÕßhypervisorµÄ¹ý³Ì¡£

    ÔÚ1999Ä꣬LukeÀ뿪ÁËÕâ¼Òµç»°¹«Ë¾£¬ÔÚBlueStarµ£ÈÎϵͳ¹¤³Ìʦ£¬BlueStarÊÇÒ»¼ÒÂô½â¾ö·½°¸µÄ¾­ÏúÉÌ£¬Ö÷ÓªÒµÎñÓУºRFID, Auto ID, POS,Mobility products¡£LukeÖ÷Òª¸ºÔðÒ»¼ÒDSL ISP·þÎñÆ÷¶Ë»ù´¡¼Ü¹¹µÄÉè¼Æ

    ºÍʵÏÖ¡£Ëû¹¹½¨ÁËÒ»Ì××Ô¶¯»¯Çҿɼ¯ÖйÜÀíµÄϵͳ£¬²¢¸ºÔð»ù´¡¼Ü¹¹Ïî

    Ä¿µÄ³ÖÐø¿ª·¢ÒÔ¼°ÊµÊ©ºÍά»¤¡£

    LukeÔÚ¡°À¶Ï衱¸ÉÁË»¹Ã»µ½Á½Ä꣬ÓÖÅÜÈ¥ÁË¿¨ÌرËÀÕÈÚ×Ê·þÎñ¹«Ë¾µ£ÈιË

    ÎÊ£¬Ìṩϵͳ×Ô¶¯»¯¹ÜÀíÏà¹ØµÄ×Éѯ¡£ÎÒ²éÁËÏ£¬¿¨ÌرËÀÕ¹«Ë¾Î»ÁÐÊÀ

    ½ç500Ç¿£¬³ÉÁ¢ÓÚ1925Ä꣬ÊÇÊÀ½çÉÏ×î´óµÄ¹¤³Ì»úеºÍ¿óɽÉ豸Éú²ú³§

    ¼Ò¡¢È¼Æø·¢¶¯»úºÍ¹¤ÒµÓÃÈ¼ÆøÂÖ»úÉú²ú³§¼ÒÖ®Ò»£¬Ò²ÊÇÊÀ½çÉÏ×î´óµÄ²ñ

    ÓÍ»ú³§¼ÒÖ®Ò»¡£ÎÒÔÚÍøÉÏûÓв鵽LukeÔÚÕâ¶Îʱ¼ä¾ßÌå¸ÉÁËЩʲô£¬Ö»

    ÄܸÐ̾Luke×÷Ϊһ¸öϵͳ¹ÜÀíÔ±ÊÇÔõô»ì½øÒ»¸ö¸ß˧¸»µÄÈÚ×ʹ«Ë¾µ£ÈÎ

    ¹ËÎʵġ£

    ´´ÒµÒÁʼ£º¶ÔÂÖ×ÓµÄÐÞÐÞ²¹²¹ÔÚ¿¨ÌرËÀÕ´ýÁËÁ½Äêºó£¬Luke¿ªÊ¼µ¥·É£¬ÕÒÈ˺ϻﴴ½¨ÁËReductive

    Consulting(2010Äê¸ÄÃûΪPuppetlabs)£¬Í·ÏÎÊǶÀÁ¢¹ËÎÊ£¬×¨ÃÅ´ÓÊÂ

    Unix»ù´¡ÉèÊ©×Ô¶¯»¯Ïà¹ØµÄ×Éѯ¡£Ëû×ÅÊÖÑо¿µ±Ç°¿ªÔ´µÄϵͳ¹ÜÀíºÍ¼à

    ¿Ø¹¤¾ßÈçCFEngine,ISconf,NagiosµÈµÈ£¬²¢ÇÒͨ¹ý¶þ´Î¿ª·¢°ÑÕâЩ¹¤¾ßÁª

    ½á³ÉÒ»Ì×Âú×ã¿Í»§ÐèÇóµÄ½â¾ö·½°¸¡£ÕâÊÇÒ»¸öÖØÒªµÄ½×¶Î£¬Luke¿ªÊ¼½«

    »ýÀÛ¶àÄêµÄ¾­ÑéºÍ˼¿¼×ª±äΪ¶Ô¹¤¾ßµÄ¸Äд£¬ÕâÆÚ¼äËûµÄÖ÷Òª¹¤×÷°üÀ¨

    ÖØÐ´ÁËCFEngineµÄ½âÎöÆ÷ºÍ¿ª·¢ÁËISConf3£¬Õâ¶ÔºóÀ´µÄPuppet¿ª·¢¹¤

    ×÷²úÉúÁËÖØÒªÓ°Ïì¡£

    CFEngine¼ò½é

    Ê×ÏÈ£¬À´ËµÒ»Ï´óÃû¶¦¶¦µÄCFEngine£¬ÕâÊÇÒ»¿î³öÉúÓÚ1993ÄêµÄÀÏÅÆ

    ÏµÍ³ÅäÖùÜÀí¹¤¾ß£¬CFEngineµÄ×÷ÕßMark BurgessÏ£Íû¿ÉÒÔʹ¼òµ¥µÄ

    ¹ÜÀíÈÎÎñ×Ô¶¯»¯£¬Ê¹À§ÄѵÄÈÎÎñ±äµÃ½ÏÈÝÒס£ËüµÄºËÐÄÀíÄîÊÇʹϵͳ

    ´ÓÈκÎ״̬¶¼ÄÜÊÕÁ²µ½Ò»ÖÖÀíÏë״̬¡£

    ÕâÑùµÄ¹¤¾ß¶Ôµ±Ê±»¹ÔÚʹÓÃÁãÁãɢɢµÄ½Å±¾À´¹ÜÀí»úÆ÷µÄϵͳ¹ÜÀíÔ±

    À´Ëµ¼òÖ±¾ÍÊǶ¬ÌìµÄÃÞ°À£¬ÏÄÌìµÄÑ©¸â£¬ºÚ°µÖеĵÆÅÝ£¬¼¢¶öÖеÄÃæ

    °ü¡£Ö®ºó£¬CFEngine×ÔÈ»¶øÈ»µØ³ÉΪÁËϵͳÅäÖùÜÀí¹¤¾ßÖеıê¸Ë¡£

    CFEngineÓÐÁ½ÖÖ¹¤×÷ģʽ£º¼È¿ÉÒÔʹÓÃstandaloneģʽ¼´Í¨¹ýcfagent

    À´Íê³Éµ¥Ì¨·þÎñÆ÷µÄÅäÖùÜÀí¹¤×÷£¬Ò²¿ÉÒÔͨ¹ýCS¼Ü¹¹(cfservdºÍ

    cfagent)À´¹ÜÀíÕû¸ö¼¯ÈºµÄÅäÖùÜÀíµÄ·Ö·¢¹¤×÷¡£

    CFEngineµÄ¹¤×÷·½Ê½ÊÇ»ùÓڽű¾·Ö·¢£ºÔÚÅäÖÃÎļþÖÐÓÐÒ»¸ö²ÎÊý³ÆÎª

    shellcommands£¬ÓÃÓÚÅäÖÃÒªÖ´ÐеÄÃüÁî»ò½Å±¾£¬actionsequenceÔòÓÃ

    ÓÚÉèÖÃshellcommandsµÄÖ´ÐÐ˳Ðò¡£

    ÔÙÀ´¿´¿´CFEngineµÄ°æ±¾¸üУº1993Ä꣬CFEngine1·¢²¼£»1998Ä꣬CFEngine2·¢²¼£¬¶øÊ®Äêºó£¬Ö±µ½2008Ä꣬CFEngine3æ©æ©À´³Ù£¬µÚÈý

    °æ·¢ÉúÁ˾޴ó¸Ä±ä£¬¿ÉÒÔͨ¹ýʹÓÃDSLÀ´¶¨Òåϵͳ״̬£¬ÒÔÖÁÓÚÆä²»

    ÄÜÔÙ¼æÈݾɰ汾CFEngine2µÄÅäÖÃÓïÑÔ¡£±¾ÎÄ̸µ½CFEnigneʱ£¬ÊÇÖ¸

    CFEngine2¡£

    ISconf¼ò½éISconfÔòÊÇÁíÍâÒ»¿îÅäÖùÜÀí¹¤¾ß£¬ËüµÄºËÐÄÀíÄîÊÇϵͳµÄ×îÖÕ״̬

    ÊÇÒ»Öµģ¬¼´Ê¹±»¹ÜÀíµÄ»úÆ÷Êǹػú״̬£¬µ±ËüÃÇÍê³ÉÆô¶¯Ö®ºó£¬Ïà

    ¹ØÃüÁî¾Í»á±»Ö´ÐУ¬µ½´ïÒ»ÖµÄ״̬¡£Í¬Ê±Õû¸öϵͳÎÞÐèÖÐÐĽڵ㣬ÃüÁî¿ÉÒÔÔÚÈκÎһ̨½ÚµãÉÏÖ´Ðв¢¸´ÖƵ½ËùÓнڵãÉÏ¡£ISconf×ܹ²¾­

    ÀúÁË4´úµÄÑÝ»¯¡£ISconf1ºÍ2ÊÇÓÉshell½Å±¾±àд£¬LukeÔÚ2002ÄêµÄʱºò

    ¿ª·¢ºÍÉè¼ÆÁËISconf3£¬²¢Ê¹ÓÃPerlÔÚ2µÄ»ù´¡ÉϽøÐÐÁËÖØÐ´¡£ISconf3

    ÓÐÈý¸öºËÐÄÌØÐÔ£º

    È·¶¨ÐÔµÄÖ´ÐÐ˳Ðò

    Ö´ÐÐÖÐÓÐʧ°ÜʱÁ¢¼´Í˳ö

    ×´Ì¬Î¬»¤

    ´ÓÉÏÃæµÄÌØÐÔÀ´¿´£¬ÊÇÒ»¸öͦ¿áµÄ²úÆ·¡£LukeÔÚ02ÄêµÄʱºòÍê³ÉÁË¿ª

    ·¢£¬²¢ÔÚ03ÄêµÄLISA(Large Installation Systems Administration)»áÒé

    ÉÏ·¢±íһƪÃûΪ'ISconf: Theory, Practice, and Beyond'µÄpaper£¬Ì¸µ½ÁË

    ISconfµÄÌØÐÔ£¬¿ª·¢ISconfÖлñµÃµÄ¾­ÑéºÍ½Ìѵ£¬ÒÔ¼°ºÍCFengineµÄ

    ¼¯³É£¬·ÖÎöISconf 3µÄÊÊÓó¡¾°µÈµÈ¡£²»¹ýISconfÉçÇøÔÚ½éÉÜISconf3

    µÄÀúʷʱ¶ÔLukeµÄÂÛÎÄÆÄÓÐ΢´Ê£¬Äã¿ÉÒÔÔÚISconfµÄ¹ÙÍø¶Áµ½ÕâÆªÎÄ

    Õ¡£²»¹ý£¬ISconfÖ¹²½ÓÚµÚËİ棬×îºóµÄ°æ±¾·¢²¼Ê±¼äÍ£ÁôÔÚ06Äê8ÔÂ

    13ÈÕ£¬Ô­Òòδ֪¡£

    ×ÔÔìÂÖ×Ó

    Ëæ×ÅLukeµÄÃÎÏëÔ½À´Ô½´ó£¬ÕâЩ¹¤¾ß¼¯Ò²±äµÃÔ½À´Ô½ÅÓ´ó¡£¶ø´Ëʱ¶ÔÕâ

    Ð©ÏÖÓеĿªÔ´¹¤¾ßµÄÐÞÐÞ²¹²¹ÒѾ­²»ÄÜÂú×ãËûµÄÐèÇóÁË¡£×îÖÕ£¬ËûÒâʶ

    µ½Ö»ÓÐËû×Ô¼º£¬²ÅÄÜÈ¥´´Ôì×Ô¼ºÏëÒªµÄ¹¤¾ß¡£×÷Ϊһ¸ö¶àÄêµÄÔËάÈË

    Ô±£¬ËûÉîÉî¸ÐÊܵ½ÁË¿à±ÆµÄϵͳ¹ÜÀíÔ±ÃÇÐèÒªÓÐÒ»¸öÕ¸ÐµĹ¤¾ßÀ´Ê¹µÃ

    ËûÃǵŤ×÷¸ü¸ßЧ£¬¸ü±ã½Ý¡£Òò´Ë£¬Ëû¿ªÊ¼¿¼ÂÇÈ¥¿ª·¢Ò»¸öй¤¾ß£¬Ê×

    ÏÈÕâ¸ö¹¤¾ßÊÇΪϵͳ¹ÜÀíÔ±¶øÉè¼ÆµÄ¡£ÄÇôÔõô²ÅÄܳÆÎªµÃÉÏÊÇΪϵͳ

    ¹ÜÀíÔ±Éè¼ÆµÄÄØ£¿

    ÏÈÀ´¼òµ¥Ë¼¿¼Ò»ÏÂϵͳ¹ÜÀíÔ±¶ÔÓÚÅäÖùÜÀí¹¤¾ßµÄÖ÷ÒªÐèÇó£ºÑ§Ï°³É±¾

    µÍ£¬¿ª·¢¸ßЧ£¬¿çƽ̨£¬´úÂë¿É¸´Ó㬰²È«£¬¿ÉÀ©Õ¹ÐԸߵȵȡ£

    ×îºÃµÄÇé¿ö¾ÍÊÇϵͳ¹ÜÀíÔ±Ö»Ðè¹ØÐÄij¸ö·þÎñ»òÕßÈí¼þ°üµÄ״̬£¬ÀýÈç

    ÎÒÏ£Íû²¿ÊðÒ»¸öApache Web·þÎñÆ÷£¬ÎÒÖ»¹ØÐÄApacheµÄ°üÊÇÒѰ²×°µÄ

    ×´Ì¬£¬·þÎñÊÇÔËÐеÄ״̬£¬¶ø²»ÒªÈÃÎÒÈ¥²ÙÐÄÕâ¸öApache°üÊÇ×°ÔÚUbuntuÏµĻ¹ÊÇRedhatÏ£¬È»ºóµ½µ×ÊÇÒªÖ´ÐÐyum install»¹ÊÇapt-get

    install£¬È»ºó»¹Òª²ÙÐÄÕâ¸öapache½ø³Ìµ½µ×ÊÇÓÃinit»¹ÊÇupstart¹ÜÀíµÄ¡£

    ´ËÍ⣬»¹ÓÐÈçºÎ¶ÔÒÀÀµ¹ØÏµ½øÐд¦Àí¡£ÏÈǰµÄÅäÖùÜÀí¹¤¾ß¶¼ÊǹØ×¢ÔÚ

    ÈçºÎÈ¥Íê³ÉÿһÏÏà¶ÀÁ¢µÄ¹¤×÷£¬ÀýÈçÅäÖÃApache·þÎñ¾ÍÊÇÒ»¶Îshell

    ½Å±¾¶øÒÑ£¬¶øÃ»ÓÐÈ¥¿¼ÂÇËüÃÇÖ®¼äÊÇ´æÔÚ¹ØÁªµÄ£¬ÀýÈçµ±ApacheµÄÅäÖÃ

    Îļþ·¢Éú±ä¸üʱ£¬ÊÇÓ¦¸ÃÖØÆôApache·þÎñÀ´Ê¹Ö®ÉúЧ£¬¶øÖØÆôApache·þ

    ÎñµÄǰÌáÊÇϵͳÒѾ­°²×°ÁËApache¡£

    Õâ¶ÔÓÚµ±Ê±Õ¼¾ÝÖ÷Á÷µÄÒÔ·Ö·¢shellperl½Å±¾µÄÅäÖùÜÀíÈí¼þÀ´Ëµ£¬¼òÖ±

    ÊÇÌ췽ҹ̷¡£²»¹ýLuke¾ÍÊÇÕâôÉèÏëµÄ£¬ËûÔÚ¹¹Ë¼PuppetµÄÉè¼ÆÊ±£¬¾Í

    Ï£Íû½«ÏµÍ³³éÏó³É×ÊÔ´£º²ÉÓÃÃæÏò¶ÔÏóµÄ¸ÅÄ½«Ã¿¸ö×ÊÔ´ÀàÐÍ×é³ÉΪ

    Ò»×éÊôÐԵļ¯ºÏ£¬Ã¿¸öÊôÐÔ¶¼ÓÐÏàÓ¦µÄÐÐΪ£¬²¢½«×ÊÔ´ÀàÐͺÍÊôÐÔ¹¹Ôì

    ³ÉÀ࣬×îÖÕʹÓÃÕâЩÊôÐÔÀ´Ê¹µÃ×ÊÔ´µ½´ïÆÚÍûµÄ״̬£¬¶ø²»ÊÇÓÃ×ÊÔ´±¾

    ÉíÀ´Íê³ÉÕâЩ¹¤×÷¡£Í¬Ê±£¬½«ËùÓÐ×ÊÔ´µÄÒÀÀµ¹ØÏµ¹¹½¨³ÉÒ»ÕÅÓÐÏòͼ£¬Í¨¹ýÕâÖÖÒÀÀµÃèÊö£¬ÏµÍ³¹ÜÀíÔ±ÃÇ¿ÉÒÔʵÏÖ¸´ÔÓµÄÒµÎñÂß¼­µÄ¹ÜÀí¡£

    Ô½ÏëÔ½ÐË·Ü£¬ÓÚÊÇLuke¿ªÊ¼¶¯ÊÖcodingÁË¡£PuppetµÄµÚÒ»¸öÔ­ÐÍдÓÚ04

    ÄêÏÄÌ죬µ«Ëû²¢Ã»ÓаѴËÊ·ÅÔÚ×îÖØÒªµÄλÖÃÉÏ¡£ÓÚÊÇÔÚ9Ô·ݵÄʱ

    ºò£¬Luke¾ÓÈ»ÅÜÈ¥ÁËBladeLogicµ£ÈβúÆ·Éè¼Æ£¬ÕâÊÇÒ»¼ÒרÃÅ×öÉÌÒµÅä

    ÖùÜÀíÈí¼þµÄ¹«Ë¾£¬ËüµÄ²úÆ·ÔÚµ±Ê±ÒѾ­È¡µÃÁ˳ɹ¦£¬È»¶øLuke·¢ÏÖ

    BladeLogicµÄƷζ½ö½öÊÇÏëÂôÈí¼þ¸ø´ó¹«Ë¾¶ø²»ÊÇÁ¢Ö¾ÎªÏµÍ³¹ÜÀíÔ±Éè

    ¼ÆÎ°´óµÄ¹¤¾ß¡£ÔÚ05ÄêµÄ2Ô·ݣ¬LukeϾöÐļÌÐø¸ãPuppetµÄ¿ª·¢¹¤

    ×÷¡£ÓÚÊÇ£¬ÔÚBladeLogic´ô¹»ÁË7¸öÔºó£¬LukeÑ¡ÔñÁËÀ뿪¡£BladeLogic

    Ò²ÖÕÓÚÈçÔ¸ÒÔ³¥£º±»BMCÊÕ¹ºÁË£¬µ±È»ÕâÊǺ󻰡£

    ¼èÄѾñÔñ:¿ª·¢ÓïÑÔºÍÉè¼ÆÕÜѧ

    ËæºóLuke»Øµ½ÁËReductive Consulting£¬Ò²¾ÍÊÇPuppetLabs µÄǰÉí£¬¿ªÊ¼

    ÁËPuppetµÄȫְ¿ª·¢¡£²»¹ýËûÓöµ½ÁËÒ»¸ö¼¬Êֵļ¼ÊõÎÊÌ⣺ÉíΪһ¸öPerl³ÌÐòÔ±£¬LukeÍ´¿àµØ

    ·¢ÏÖ£¬Perl¾ÓÈ»ÎÞ·¨´¦ÀíÄÇЩPuppetÀàÖ®¼äµÄ¹ØÏµ¡£ÄÇʱPython±»ÈÏΪ

    ÊÇϵͳ¿ª·¢µÄ×î¼ÑÑ¡Ôñ£¬µ«ÊÇLukeͬѧ½ÓÊܲ»Á˵IJ»ÊÇPythonµÄËõ½øÎÊ

    Ì⣬¶øÊÇprintÊÇÒ»¸öÓï¾ä¶ø²»ÊǺ¯Êý£¬lenÊÇÒ»¸öº¯Êý¶ø²»ÊÇ·½·¨µÄÊÂ

    Êµ£¬ÈÃËû¸Ð¾õ¡°ÑÛ¾¦ÔÚÁ÷Ѫ¡±¡£Õâʱºò£¬ÓиöÅóÓѸæËßËûRubyºÜ¿á£¬ÓÚÊÇ

    ËûÔÚ³¢ÊÔÁË4¸öСʱºó£¬¾Íд³öÁËÒ»¸ö¹¦ÄÜÔ­ÐÍ£¬´Ó´Ë²»¿É×԰Ρ£²»¹ý

    ËûÒ²Óе㵣ÐÄ£¬ÒòΪÔÚµ±Ê±Ruby»¹ÊôÓÚ·ÇÖ÷Á÷£¬ÒòΪROR(Rails on

    Ruby)¶¼»¹Ã»ÓгöÉú£¬²»¹ý¼øÓÚËûµÄÌåÑ飬¾õµÃʹÓÃRubyµÄ¿ª·¢Ð§ÂÊ

    ·Ç³£¸ß£¬Òò´ËËû¾ö¶¨Ã°Ò»´ÎÏÕ¡£

    ÔÚÕâ¸öÎÊÌâ½â¾öÖ®ºó£¬LukeÓÖÃæÁÙÁíÍâÒ»¸öÄÑÌ⣺ËäÈ»ÔÚ´Ë֮ǰËûÒѾ­

    Ð´Á˲»ÉÙµÄС¹¤¾ß£¬»ýÔÜÁ˷ḻµÄ¾­Ñ飬²»¹ýÕâЩ¹¤¾ßûÓÐÒ»¸öµÄ´úÂë

    Á¿Êdz¬¹ý1ÍòÐеġ£ÕâÒ²Òâζ×ÅÔÚÉè¼ÆPuppetµÄ¼Ü¹¹µÄ¹ý³ÌÖУ¬¿Ï¶¨µÃ

    Ë¤²»ÉٵĿӡ£Òò´Ë£¬LukeÔÚ¿ª·¢PuppetµÄ¹ý³ÌÖÐʼÖÕÒªÇó×Ô¼ººÍ¿ª·¢ÍÅ

    ¶Ó×ñÊØÁ½¸öÖ¸µ¼Ë¼Ï룺Ê×ÏÈÉè¼Æ¾¡¿ÉÄܵØ×öµ½¼ò½à£¬³ÌÐòµÄ¿ÉÓÃÐÔ×ÜÊÇ

    ¸ßÓÚÐÂÌØÐÔ£»´ËÍâPuppetÊ×ÏÈÊǸö¿ò¼ÜÆä´Î²ÅÊÇÒ»¸öÓ¦Óá£ÔÚ½â¾öÁËÓï

    ÑÔÑ¡ÐͺÍÉè¼ÆÕÜѧµÄÎÊÌâºó£¬Luke¿ªÊ¼Ç±ÐÄÓÚPuppetµÄ¿ª·¢¡£

    È»ºóÄØ

    È»ºó¾ÍûÓÐÈ»ºóÁË£¬Ëæ×ÅPuppetµÄ·¢²¼ºÍ°æ±¾µÄ¿ìËÙµü´ú£¬ÒÔ¼°ÉçÇøµÄ

    »ðÈÈ·¢Õ¹£¬Puppet×ÔÈ»¶øÈ»µØ¾Í·¢Õ¹³ÉÁ˽ñÌìµÄÄ£Ñù¡£±¾À´ÊÇÒª¿ªÊ¼ÉîÈë¼¼Êõϸ½ÚÕ¹¿ª½éÉÜ£¬µ«ÊÇÓ¦¹ã´óȺÖÚÒªÇó±£³Ö´¿°ËØÔ·ç¸ñµÄºôÉù£¬ÏÂ

    °ë²¿·ÖÔÚÄÚ²¿ÉóÅúʱ±»²ÒÎÞÈ˵ÀµØ¿³µô¡£¶ÔÓÚPuppetºÍLukeµÄ½éÉܵ½´Ë

    ¸æÒ»¶ÎÂ䣬ÔÛÃÇÔÙÀ´°ËÒ»ÏÂȺÖÚÃÇϲÎÅÀÖ¼ûµÄÈȵãʼþ¡£

    Í¶×Ê·çÔÆ

    ÊÂÇéÔ´ÓÚÁ½Äêǰ£¬VMWare×÷ΪPuppetLabsµÄ6¼ÒͶ×ʹ«Ë¾Ö®Ò»£¬Ïò

    PuppetlabsͶÁË850ÍòÃÀµ¶¡£ÔÚ½ñÄêµÄ2Ô·ݣ¬VMWareÐû²¼Ìá¸ß¶Ô

    PuppetLabsµÄͶ×Ê£º3000Íò¡£´ËÍ⣬VMware¸ºÔðÔÆ¼Ü¹¹ºÍ¹ÜÀíµÄÖ´ÐÐ

    ¸±×ܲÃRaghu Raghuram½«½øÈëPuppet Labs¶­Ê»ᡣ

    Õâ´Ó×ʱ¾Êг¡µÄ½Ç¶È˵Ã÷ÁËLukeºÍPuppetµÄ³É¹¦£¬½ÐºÃÓÖ½Ð×ù¡£µ«ÊÇÒ²

    Òý·¢ÁËÈËÃǵĵ£ÓÇ£ºÒ»Ð©ÈËÈÏΪPuppetµÄ¶ÀÁ¢ÐÔÊǷdz£ÖØÒªµÄ£¬ÀíÓÉÊÇ

    DevOpsµÄ³É¹¦·Ç³£ÒÀÀµÓÚÕâ¸ö×é֯ѡÔñʲôÑùµÄ¹¤¾ßÓÃÓÚÆóÒµ»ù´¡Éè

    Ê©¹ÜÀí£¬PuppetLabs×÷ΪIT×Ô¶¯»¯¹ÜÀíÁìÓòÀïµÄÁìÍ·Ñò£¬È»¶øVMware

    ¶ÔPuppet´æÔÚÇ¿´óµÄ»°ÓïȨ£¬Ä¿Ç°PuppetLabs»¨Á˺ܴóµÄ¾«Á¦ÔÚPuppet

    ÆóÒµ°æ±¾µÄ¿ª·¢ÉÏ(Puppet PE)£¬ÓÃÓÚºÍVMWare vCloud Automation

    CenterµÈ²úÆ·µÄ¼¯³É¡£Õâ²¢²»ÊÇÒ»¼þºÃÊ£¬¿ÉÄÜ»áʹµÃÉçÇø°æ±¾ºÍÉÌÒµ

    °æ±¾²úÉú¾Þ´óµÄ²î¾à£¬ÉõÖÁ¿ÉÄܻᷢÉúOracleºÍMySQLÄÇÑùµÄ¹ÊÊ¡£

    ÔÙ¿´¿´VMWareµÄÀ϶ÔÊÖAmazonµÄ·´Ó¦£¬¼´Ê¹AmazonÔÚ¿ªÍ·Ìá¼°µÄÎÄ

    µµÀï³ÐÈÏPuppetÊÇÊÂʵÉϵÄÐÐÒµ±ê×¼£¬µ«¿¼Âǵ½ËüµÄÀÏÅóÓÑVMWareÊÖ

    ÎÕ¶ÔPuppetlabs 23µÄͶ×Ê£¬ÔÚÆäÐÂÍÆ³öµÄOpsWork·þÎñÖÐÇåһɫµØÊ¹ÓÃ

    ÁËChefÓÃÓÚϵͳµÄÅäÖùÜÀí£¬ÕâÊǵ®ÉúÓÚPuppetÖ®ºóµÄÁíÍâÒ»¿î¿ªÔ´µÄ

    ÅäÖùÜÀí¹¤¾ß¡£

    ÔÙÀ´ÌýÌýÆäËûÈ˵ÄÉùÒô¡£Matt AsayÓëLukeÊǶàÄêµÄºÃÓÑ£¬ÔÚLukesÓë

    Andrew Shafer´´Á¢Puppet Labsºó£¬Matt Ôø¾­Ìá³öÁËÐí¶àÉÌÒµ»¯½¨Ò飬°ü

    À¨½øÐÐÈÚ×Ê£¬µ«Luke¸üÏ£Íû¹«Ë¾±£³Ö¶ÀÁ¢¡£Mattµ­¶¨µØ»Ø´ð¼ÇÕߣºÈç¹û

    ÄãÁ˽âLuke KaniesÕâ¸ö¼Ò»ï£¬Äã¾ÍÖªµÀ±£³Ö¶ÀÁ¢¶ÔÓÚËû¶øÑÔÊÇÎÞ±ÈÖØÒª

    µÄÊ¡£ËûÔÚÌïÄÉÎ÷Öݳ¤´ó£¬²»ÊÇÄÇÖÖ³öÂôÁé»êµÄÈË¡£LukeÔÚIMÉϺÍMatt±í´ïÁË×Ô¼ºµÄ¿´·¨£º¡°ÏòÔÆ¶Ëת»»µÄÇ÷ÊÆ½«¸øÏÂÒ»´ú

    ÏµÍ³Æ½Ì¨¹ÜÀí¹¤¾ß´øÀ´ÎÞÏ޵Ļú»á£¬¶ÔVMwareÈç´Ë£¬¶ÔPuppetLabsÒà

    ÊÇÈç´Ë¡£¼´±ãPuppetLabs±»VMwareÕÆ¿Ø£¬µ«ÕâЩϵͳÈÔ¹¹½¨ÔÚ¿ªÔ´µÄ

    »ù´¡ÉÏ£¬²¢¸³ÓèËüÃÇÒ»¶¨µÄ×ÔÖÎȨ¡£PuppetÓµÓлîÔ¾µÄ¿ªÔ´Éú̬Ȧ£¬¾Í

    ÏñOpenStackÒ»Ñù£¬ÊǶÔͶ×ʺܺõIJ¹³ä¡£¡±

    ×îºó̸̸ÎҵĿ´·¨£¬Ê×ÏÈPuppetÌìÉú¾ÍÊÇ¿ªÔ´ÑªÍ³£¬ÆäÉçÇø·Ç³£»îÔ¾£¬¶øÇÒ´Ó2.7¿ªÊ¼±äΪ¸üΪÓѺõÄApacheÐí¿ÉÖ¤(֮ǰÊÇÑϸñµÄGPL)¡£Òò

    ´Ë£¬¼´Ê¹·¢ÉúÏñMySQLÄÇÑùµÄÊÂÇ飬ÕÕÑù»áÓÐÁíÒ»¼ÒMariaDB³öÏÖ£¬¸ü

    ºÎ¿ö»¹ÓкóÆðÖ®ÐãChefÔÚÒ»ÅÔ»¢ÊÓíñíñ£¬VMWareÀíÓ¦²»»áÏÂÕâ²½»è

    Æå¡£Í¬Ê±£¬¶ÔÓÚÖ¸ÔðPuppetÖ»¹Ø×¢ÓÚÓëVMware²úÆ·µÄ¼¯³ÉÊÇÓÐʧƫÆÄ

    µÄ£¬ËäÈ»×î½üPEµÄ¶¯¾²ºÜ´ó£¬µ«ÊÇPuppetLabsÒ²»¨·ÑÁ˺ܴóµÄ¾«Á¦Í¶Èë

    µ½Puppet-OpenstackÉçÇøÖУ¬ÔÚÖ®ºóµÄPuppetϵÁв©ÎÄÖлá¶Ô´Ë½øÐвû

    Êö¡£ËùÒÔ£¬ÎÒ²¢²»µ£ÐÄPuppetÊÇ·ñ»á³ÉΪÏÂÒ»¸öMySQL¡£ÎÒÃÇѧµ½ÁËʲô£¿

    ÔÚÇ°ÃæÑóÑóÈ÷È÷µÄÒ»¶Ñ°ËØÔÖУ¬ÎÒ¼òµ¥µØÌ¸ÁËһЩ¹ØÓÚLukeºÍPuppetµÄ

    ¹ÊÊ¡£Ã¿¸öÈË¿ÉÄܶ¼»á´ÓÖп´µ½²»Í¬µÄ¶«Î÷¡£¶ÔÎÒ¶øÑÔ£¬PuppetÖ®ËùÒÔ

    ÄÜÈ¡µÃ³É¹¦£¬ÎÒÈÏΪÓУº

    ×ö×Ô¼º×îÉó¤µÄÊ£ºLukeÓµÓзḻµÄÔËά¾­ÑéºÍÅäÖùÜÀí¹¤¾ßµÄ¿ª·¢¾­

    Ñ飬ÔÚ´Ë»ù´¡ÉÏÈ¥¿ª·¢PuppetÊÇ»ñµÃ³É¹¦µÄ»ù´¡Ö®Ò»£»

    È¡Æä¾«»ª£ºÔÚµ÷ÑÐͬÀ๤¾ßºÍ²úƷʱ£¬Luke²»Ö»¿´µ½ÁËÆäÖеIJ»×㣬»¹

    ÎüÊÕÁËËüÃǵÄÓŵ㣻

    Ö¾´æ¸ßÔ¶£ºLuke¿ª·¢PuppetʱºòµÄ¶¯»úÊÇΪϵͳ¹ÜÀíÔ±Ìṩ×î°ôµÄCMS

    ¹¤¾ß£¬¶ø²»½öΪÁËÕõÇ®£¬±»ÊÕ¹º£¬ÉÏÊС£¶¯»úÔ½µ¥´¿£¬³É¹¦µÄ¸ÅÂÊÔ½

    ´ó£»¸ÒÏë¸Ò×ö£ºÏÖÔÚÈ¥ÌôÑ¡ÊÖ»ú£¬ÎÒÃǼ¸ºõ²»»áÈ¥¿¼ÂÇÊÖ»úÊDz»ÊÇ´¥Ãþ

    ÆÁµÄ¶øÊÇÈ¥¿´ÆÁÄ»Óжà´ó£¬PPI¶à¸ß£¬ÒòΪÊÖ»úÊÇ´¥ÃþÆÁÕâÊÇÀíËùµ±È»

    µÄ£¬È»¶øÔÚiPhone֮ǰ£¬´¥ÃþÆÁÊÖ»ú»¹ÊǺÜÏ¡ÓеĶ«Î÷£¬´ó¼Ò¶¼ÔÚÍù¹¦

    Äܸü¶àµÄ·½ÏòÔ½×ßÔ½Ô¶£»Í¬Ñù£¬ÏÖÔÚÔÚʹÓÃPuppetʱ£¬»á¾õµÃʹÓÃÉùÃ÷

    Ê½ÅäÖÃÓïÑÔÊÇÀíËùµ±È»µÄÊÂÇ飬Êâ²»ÖªÔÚPuppetµ®ÉúµÄͬʱ´úÖУ¬¶¼ÊÇ

    ÇåһɫµÄÃüÁîʽ»òÕß¹ý³ÌʽµÄÅäÖÃÓïÑÔ¡£

    ÃâÔðÉùÃ÷

    ±¾ÎĵÄËùÓÐÇé½ÚÀ´×Ô±¾ÈË»¨·ÑÒ»ÖܵÄÒ¹Éú»îʱ¼ä£¬ÔĶÁÁ˸÷ʽ¸÷ÑùµÄ²©

    ¿Í£¬ÐÂÎÅ£¬ÆÀÂÛ£¬´úÂ룬Ããǿƴ´Õ¶ø³É£¬ÈôÓÐÓëʵ¼Ê²»·ûÖ®´¦£¬ÇëһЦ

    ¶ø¹ý¡£³ö°æµÄδÀ´µç×ÓÊéʱ´ú¿ÉÒÔÀ´µÃ¸ü¿ì

    ×÷Õß ¶­ÃçÃç

    Í¼Áé²ß»®±à¼­¡£¹Ø×¢ITÈËÎÄ¡¢Ç°¶Ë¼¼Êõ¡£¹Ø×¢Êý×Ö³ö°æºÍÐÂýÌ塣ϣ

    Íû×Ô¼ºÄܹ»³ÖÐø»ýÀÛºÍÌá¸ß¡£

    ¹úÄÚ»·¾³Ïµĵç×ÓÊéºÍÖ½ÖÊÊé¹ØÏµµÄÕùÂÛºÍ̽ÌÖÒѾ­³ÖÐøºÜ¾ÃÁË£¬×÷Ϊ

    ³ö°æÐÐÒµ¸ÕÈëÃÅËÄÄêµÄС×Ö±²£¬ÎÒ²»¸ÒÔì´Î£¬²»¹ý»¹ÊǺÜÏë̸̸×Ô¼ºµÄ

    Ïë·¨¡£

    ÎÒ°ÑÔĶÁÐÔͼÊé´óÖµض¨ÒåΪÇáÔĶÁºÍÖØÔĶÁÁ½ÀࡣС˵¡¢ÔÓÖ¾¡¢Âþ»­

    µÈÊÇÇáÔĶÁ£¬½Ì²Ä¡¢¿Æ¼¼Ê顢רҵÊéµÈÎªÖØÔĶÁ¡£ÓÉÓÚ´«Í³Ï°¹ß£¬ÖØÔÄ

    ¶Á¿ÉÄÜ»¹ÊÇ±È½ÏÆ«ÏòÖ½ÖÊÊ飬ÓÈÆäÊǺܶàÈËϲ»¶ÔÚÊéÉÏдд»­»­£¬µ«ÊÇ

    ÓÉÓÚÒÆ¶¯ÖÇÄÜÖÕ¶ËµÄÆÕ¼°£¬ÇáÔĶÁµÄµç×ÓÊéµÄ·¢Õ¹²»¿ÉСêï¡£

    ÎÒÉí±ßÓÐǰ±²Ëµ£¬Ö½ÖÊÊéÍêÁË£¬µç×ÓÊé»áÍêÈ«Ìæ´úÖ½ÖÊÊé!ÎÒÍêȫͬÒâÕâ¸ö¹Ûµã¡£²»¹ýÔÚÕâÖ®ºóµÄ¼¸ÄêÖУ¬ÔÚÖйú£¬¿ÖÅÂÊDz»»áʵÏֵġ£³ý·Ç

    ¡ª¡ª

    µç×ÓÊéÏúÁ¿Ïë¹²Ó®£¿¸÷ÖÖÔĶÁÈí¼þÖ®¼äÄܹ»ÊµÏÖÔĶÁ¼æÈݲÅ

    ºÃ

    ÎÒÒÔǰÊǼᶨµÄÖ½ÖÊÊéÓµ»¤Õߣ¬2013Äê³õÎÒ×Ô¼ºÒ²×ªÍ¶µç×ÓÊéÕóÓª£¬Ô­

    ÒòºÜ¼òµ¥£¬Èû°à¡±ËÀ¡±ÁË£¬ÎÒ»»ÁËһ̨½«½ü5´çµÄ°²×¿ÖÇÄÜÊÖ»ú£¬´Ó´ËÎÒ

    ÕæÇеظÐÊܵ½Á˵ç×ÓÊéµÄÓÅÊÆ£¬¿ªÊ¼×ßÉÏѰÃÙ¡°×î¼Ñ¡±ÔĶÁÌåÑéµÄµÀ·¡£

    ¿ÉÊÇÄÄÀïÓÐ×î¼Ñѽ£¬¸÷Óи÷µÄÓÅÊÆ£¬¿ÉÓû§(±ÈÈçÎÒ)ÊÇÄÇôµØÌôÌÞ£¬ÄÇôµØ½ÏÕæ£¬ÉõÖÁÊÇÄÇôµØ²»½²µÀÀí£¬¾ÍÏëÕÒ¸ö×îºÃµÄÔĶÁÈí¼þ£¬Ôõô

    °ì£¿ÈòúÆ·¾­ÀíȥץͷƤ°É!

    ÏÖÔÚÓÐÄÇô¶àµçÉ̺ÍÊý²»ÇåµÄ¸÷ÖÖÔĶÁÓ¦Óã¬È´²»ÍêÈ«¼æÈÝ£¿!

    (ÕâÀïÔÝÇÒ²»Ìá¡°Ãâ·Ñµç×ÓÊ顱)

    Ã÷Ã÷ϲ»¶Õâ¼Òµç×ÓÊéÉ̵ÄÅŰæ·ç¸ñ£¬È´Ã»ÓÐ×Ô¼ºÏ²»¶µÄÊ飿

    ÎªÊ²Ã´Í¬Ò»±¾Êéÿ¼ÒµÄ¼Û¸ñ²îÄÇô¶à£¿

    ÎªÊ²Ã´¸ÕÂòÍê¾Í½µ¼ÛÁË£¬ÍæÄÅ£¿

    ÔÚÒ»¼ÒÂòµÄµç×ÓÊ飬Ã÷Ã÷ÊÇÕý°æ£¬¿É±ðµÄÔĶÁÈí¼þ¾ÍÊÇÓò»ÁË£¬ÓÐ

    µÄ¼Û¸ñ»¹¡°²»·Æ¡±£¬ÕæÕæ²»ÈçÖ±½Ó³Ã´òÕÛµÄʱºòÂòÖ½ÖÊÊéµÄºÃ!

    ¸÷¼Ò¶¼Ïë±£»¤×Ô¼ºÔĶÁÈí¼þµÄÓû§Ê¹ÓÃÕ¼ÓÐÁ¿£¬±£Ö¤×Ô¼ºµÄÊг¡ÓªÏúÕ¼

    ÓÐÁ¿¡£¿ÉÓû§ÕæµÄ²»ÊÇÀ¹½ØµÃסµÄ£¬µç×ÓÊéÉ̲»ÊÇÒª±äÉíͭǽÌú±Ú£¬¶ø

    ÇÒÒª±ä³ÉÒ»ÕÅð¤ºýºýµÄÍø£¬¾ßÓÐÓÅÖʵÄÓû§ÌåÑé²ÅÊǵõ½ÁËÕæÕýµÄÌú·¹

    Íë¡£

    ÒªÖªµÀ¡ª¡ª

    Óû§¶¼ÊÇÍç¹ÌÅÉ£¬Ï²»¶Ò»¸ö£¬Ï°¹ßÒ»¸ö£¬¾Í²»Ïë»»ÔĶÁÈí¼þÁË¡£

    Óû§¶¼ÊÇÀÁºº£¬¾ÍÏ£ÍûÂòÒ»´ÎÕý°æµç×ÓÊ飬»»Ë­¼ÒµÄä¯ÀÀÆ÷¶¼ÄÜ

    ¿´£¬²»ÐèҪת»»À´×ª»»È¥¡£

    Óû§¶¼ÊÇ̰ÐÄ¹í£¬¾¡¹ÜÒ»´ÎÒ²ÐíÖ»»áÂòÒ»±¾Ê飬µ«ÊÇÒªÇó¡°É̳ǡ±Àï

    ÌṩµÄµç×ÓÊéÖÖÀà¿°±ÈͼÊé¹Ý¡£

    Óû§¶¼ÊÇ̰С±ãÒ˵ÄÈË£¬Í¬ÑùµÄÊ飬²î²»¶àµÄÅŰ棬±ØÈ»Ñ¡Ôñ×î±ã

    Ò˵ġ£°®ÊéµÄÈËÂòÊé²»»á¿ÙÃÅ£¬µ«ÊÇʡϵÄÇ®¶àÂò¼¸±¾£¬Õâ²ÅÊÇÕý

    µÀ¡£

    Óû§¶¼²»ÊÇɵÈË£¬Ã¿¼Ò¼Û¸ñ¶¨µÃÌì²îµØ±ð£¬ÓеϹ¶¯éü¼õ¼Û£¬ÄÇÎÒË­¼ÒµÄ¶¼²»Âò£¬¡°ÎÒµÈ×Å!¡±

    Èç´Ë£¬ÎÒ¸ø×öÈí¼þ¿ª·¢µÄÅóÓѳö¸öÖ÷Ò⣺×öÒ»¸öͼÊé±È¼ÛÈí¼þ¡£¹¦Äܰü

    À¨£º

    1. ËÑË÷ÊéÃû£¬Á¢¼´³öÏÖ¼¸¼Òµç×ÓÊéÉ̵ļ۸ñ¶Ô±È(Ò²¿ÉÒÔ½øÐÐÖ½ÖÊÊé

    ¼Û¸ñ¶Ô±È£¬Ö½ÖÊÊé¡¢µç×ÓÊé¼Û¸ñ¶Ô±È)¡£

    2. ÏÔʾºÍ¸ÃÊéÓйصÄÓªÏú»î¶¯¡£Óû§¿ÉÒÔÖ±½ÓÕÒµ½×î»®ËãµÄ;¾¶¹ºÂò

    µç×ÓÊé¡£ÏàÐźܶàÓû§¾ÍÊÇÕâô×öµÄ£¬²»¹ýǰÎÄ˵¹ýÁËÓû§¶¼ÊÇÀÁ

    ºº£¬×ÔÈ»ÓÐÈË´úÀÍ£¬»òÕßÒ»ÀÍÓÀÒݲźá£

    3. ÊéÆÀ¡¢´ò·Ö¡¢»¥¶¯¡¢Ïà¹ØÐÅÏ¢µÈÆäËûÀ©Õ¹¹¦ÄÜ¡£

    Èç´ËÒ»À´£¬¼Û¸ñÖ»»áÇ÷ͬ£¬´ó´ò¼Û¸ñÕ½£¬È«ÊÇÊä¼Òѽ!ÄÇ´ó¼ÒÆ´µÄÊÇʲ

    Ã´£¿Èç¹ûÕâ¸öÎÊÌâ»Ø´ð²»³öÀ´£¬°×°×³ÆÎª¡°µçÉÌ¡±ÁË¡£Æ´µÄÊÇÓû§ÌåÑé

    Ñ½!Îݸ±à¼­¡¢ÃÀ±àÅŰ桢ÏßÉÏÏßÏ»¡¢×÷Õß¶ÁÕߵĻ¥¶¯¡£

    ÓеÄÈËÎÊÁË£¬³¤´ËÒÔÍù£¬ÄDz»¾ÍÊÇÓÖÇ÷ͬÁËÂð£¿ÎÒ¾ÍÊÇÏëÔÚµ±½ñÉç»á¶À

    Ê÷Ò»ÖÄ!ÄúÔÚ¿ªÍæÐ¦Â𣿵ØÇòÉÏÄĸöÐÐÒµ¡¢ÄĸöÉÌҵģʽÊǶÀÊ÷Ò»ÖÄ

    µÄ£¿ÏëÒª³£¿ª³£ÑÞ£¬Æ´µÄ¾ÍÊÇÓÅÖʵÄÓû§ÌåÑ飬³ÖÐøµÄ·þÎñ£¬Ä;õÄÐÐ

    Òµ×·ÖðÁ¦£¬ÒÔ¼°¾ö¶¨ÐԵĴ´ÐÂÄÜÁ¦ÁË¡£´´ÐÂÊǼӷÖÌ⣬¶¼Ïë¼Ó·Ö£¬¿ÉÏÈ

    ²»Òª¶ª·Ö²ÅÐС£

    (δÍê)ÏÂÎÄÌáʾ£º

    µç×ÓÊéʱ´ú¿ÉÒÔÀ´µÃ¸ü¿ì(¶þ)

    µç×ÓÊé¼Û¸ñÕ½ËðÈ˲»Àû¼º£¬¼Û»¹µÃÊdzö°æ·½¶¨

    µç×ÓÊéʱ´ú¿ÉÒÔÀ´µÃ¸ü¿ì(Èý)

    ÖØÔĶÁҲҪͶ¿¿µç×ÓÊ飿ÍêÃÀʵÏÖ¡°µç×ÓÊéͼÊé±Ê¼Ç¡±¹¦ÄܲÅÐÐÊé°ñ´ó¼Ò¶¼ÔÚ¶Áʲô£¿

    ÌôÕ½³ÌÐòÉè¼Æ¾ºÈü(µÚ2°æ)

    ×÷ÕߣºÇïÒ¶ÍØÔÕ ÑÒÌïÑôÒ» ±±´¨ÒËïþ

    ÒëÕߣºÎ×Ôó¿¡ ×¯¿¡Ôª Àî½òÓð

    ÊéºÅ£º978-7-115-32010-0

    Í¼ÁéÉçÇøÍÆ¼ö£º

    ÊÀ½ç¶¥¼¶³ÌÐòÉè¼Æ¸ßÊֵľ­Ñé×ܽᣬACM-ICPCÈ«Çò×ܹھüÎ×Ôó¿¡Ö÷

    Ò룬ÈÕ±¾ACM-ICPC²ÎÈüÕßÈËÊÖÒ»²á¡£

    ±¾Êé¶Ô³ÌÐòÉè¼Æ¾ºÈüÖеĻù´¡Ëã·¨ºÍ¾­µäÎÊÌâ½øÐÐÁË»ã×Ü£¬·ÖΪ׼±¸

    Æª¡¢³õ¼¶Æª¡¢Öм¶ÆªÓë¸ß¼¶Æª4Õ¡£×÷Õß½áºÏ×Ô¼º·á¸»µÄ²ÎÈü¾­Ñ飬¶Ô

    ÑϸñɸѡµÄ110 ¶àµÀ¸÷ÀàÊÔÌâ½øÐÐÁËÓÉdzÈëÉî¡¢ÓÉÒ×¼°ÄѵÄϸÖ½²½â£¬²¢½éÉÜÁËÐí¶àʵÓü¼ÇÉ¡£Ã¿Õºó¸½ÓÐϰÌ⣬¹©¶ÁÕßÁ·Ï°£¬¹®¹ÌËùѧ¡£

    »úÆ÷ѧϰʵս

    ×÷ÕߣºPeter Harrington

    ÒëÕߣºÀîÈñ ÀîÅô ÇúÑǶ« Íõ±ó

    ÊéºÅ£º978-7-115-31795-7

    Í¼ÁéÉçÇøÍÆ¼ö£º

    È«Êéͨ¹ý¾«ÐıàÅŵÄʵÀý£¬ÇÐÈëÈÕ³£¹¤×÷ÈÎÎñ£¬ÞðÆúѧÊõ»¯ÓïÑÔ£¬ÀûÓÃ

    ¸ßЧµÄ¿É¸´ÓÃPython´úÂëÀ´²ûÊÍÈçºÎ´¦Àíͳ¼ÆÊý¾Ý£¬½øÐÐÊý¾Ý·ÖÎö¼°¿É

    ÊÓ»¯¡£Í¨¹ý¸÷ÖÖʵÀý£¬¶ÁÕ߿ɴÓÖÐѧ»á»úÆ÷ѧϰµÄºËÐÄËã·¨£¬²¢Äܽ«Æä

    ÔËÓÃÓÚһЩ²ßÂÔÐÔÈÎÎñÖУ¬Èç·ÖÀà¡¢Ô¤²â¡¢ÍƼö¡£

    Í¼½âTCPIP(µÚ5°æ)

    ×÷ÕߣºÖñÏ¡ʷ ´åɽ¹«±£ »Ä¾®Í¸ ÆiÌïÐÒÐÛ

    ÒëÕߣºÎÚÄáÈÕÆäÆä¸ñ

    ÊéºÅ£º978-7-115-31897-8

    Í¼ÁéÉçÇøÍÆ¼ö£º

    ÕâÊÇÒ»±¾Í¼ÎIJ¢Ã¯µÄÍøÂç¹ÜÀí¼¼ÊõÊé¼®£¬Ö¼ÔÚÈùã´ó¶ÁÕßÀí½âTCPIPµÄ

    »ù±¾ÖªÊ¶¡¢ÕÆÎÕTCPIPµÄ»ù±¾¼¼ÄÜ¡£±¾ÊéÒýµ¼¶ÁÕßÁ˽âºÍÕÆÎÕTCPIP£¬ÓªÔìÒ»¸ö°²È«µÄ¡¢Ê¹Ó÷ÅÐĵÄÍøÂç»·¾³¡£

    ÍƼöϵͳ

    ×÷ÕߣºDietmar Jannach£¬ Markus Zanker£¬ Alexander Felfernig£¬ Gerhard

    Friedrich

    ÒëÕߣº½¯·²

    ÊéºÅ£º978-7-115-31069-9

    Í¼ÁéÉçÇøÍÆ¼ö£º

    ±¾ÊéÈ«Ãæ²ûÊöÁË¿ª·¢×îÐÂË®Æ½ÍÆ¼öϵͳµÄ·½·¨£¬ÆäÖгÊÏÖÁËÐí¶à¾­µäËã

    ·¨£¬²¢ÌÖÂÛÁËÈçºÎºâÁ¿ÍƼöϵͳµÄÓÐЧÐÔ¡£ÊéÖÐÄÚÈݰüÀ¨»ù±¾¸ÅÄîºÍ×î

    Ð½øÕ¹Á½²¿·Ö¡£´ËÍ⣬±¾Ê黹°üº¬´óÁ¿µÄͼ¡¢±íºÍʾÀý£¬ÓÐÖúÓÚ¶ÁÕß¶Ô

    ÓÚ֪ʶµÄÀí½âºÍ°ÑÎÕ¡£

    Cocos2d-x¸ß¼¶¿ª·¢½Ì³Ì£ºÖÆ×÷×Ô¼ºµÄ

    ¡¶²¶Óã´ïÈË¡·

    ×÷Õߣº»ðÁÒÄñÍøÂç¿Æ¼¼

    ÊéºÅ£º978-7-115-31796-4

    Í¼ÁéÉçÇøÍÆ¼ö£º

    ´úÂëµÄδÀ´

    ×÷ÕߣºËɱ¾Ðкë

    ÒëÕߣºÖÜ×Ôºã

    ÊéºÅ£º978-7-115-31751-3

    Í¼ÁéÉçÇøÍÆ¼ö£º

    ÌùÐÄÉè¼Æ£º´òÔì¸ß¿ÉÓÃÐÔµÄÒÆ¶¯²úÆ·

    ×÷ÕߣºJakob Nielsen, Raluca Budiu

    ÒëÕߣºÅ£»¯³É

    ÊéºÅ£º978-7-115-31879-4

    Í¼ÁéÉçÇøÍÆ¼ö£º

    ´óÊý¾ÝµÄ³å»÷

    ×÷Õߣº³ÇÌïÕæÇÙ

    ÒëÕߣºÖÜ×Ôºã

    ÊéºÅ£º978-7-115-31787-2

    Í¼ÁéÉçÇøÍÆ¼ö£º

    JavaScriptÒì²½±à³Ì£ºÉè¼Æ¿ìËÙÏìÓ¦µÄÍø

    ÂçÓ¦ÓÃ

    ×÷ÕߣºTrevor Burnham

    ÒëÕߣºÐíÇàËÉ

    ÊéºÅ£º978-7-115-31657-8

    Í¼ÁéÉçÇøÍÆ¼ö£º

    Objective-C¸ß¼¶±à³Ì£ºiOSÓëOS X¶àÏß

    ³ÌºÍÄÚ´æ¹ÜÀí

    ×÷ÕߣºKazuki Sakamoto, Tomohiko

    Furumoto

    ÒëÕߣºÀ軪

    ÊéºÅ£º978-7-115-31809-1

    Í¼ÁéÉçÇøÍÆ¼ö£º³ÉÊéÊÖ¼ÇACM-ICPC¹Ú¾ü̸¡¶ÌôÕ½³ÌÐòÉè¼Æ¾ºÈü¡·¼°Ïà¹Ø

    Ëã·¨Êé

    ×÷ÕßÎ×Ôó¿¡

    Õã½­´óѧ2010½ìÊýѧϵ±¾¿ÆÉú£¬2013½ì¼ÆËã»ú˶ʿÉú¡£Ôø´ú±íÕã½­´ó

    Ñ§»ñµÃ2009ÄêACM-ICPC World FinalsµÚ6Ãû£¬2011ÄêACM-ICPC

    World Finals¹Ú¾ü¡£ÔÚÏß±ÈÈüÖг£ÓÃwatashiºÍrejudgeµÈid¡£

    Ç°¼¸Ì죬ÇïÒ¶ÍØÔÕ(iwi)¡¢ÑÒÌïÑôÒ»(wata)ºÍ±±´¨ÒËïþ

    (kita_masa)ËùÖø£¬ÎÒ(watashi)¡¢×¯¿¡Ôª(navi)ºÍÀî½òÓð

    (itsuhane)·­ÒëµÄ¡¶ÌôÕ½³ÌÐòÉè¼Æ¾ºÈü¡·£¬ÖÕÓÚͨ¹ýÈËÃñÓʵç³ö°æÉç

    Õýʽ³ö°æÁË¡£¿Éϲ¿ÉºØ£¬¿Éϲ¿ÉºØ¡£ÕâÀïÎÒÖ÷ÒªÏë˵һÏÂ×Ô¼ºÎªÊ²Ã´Òª

    ·­ÒëºÍÍÆ¼ö±¾Ê飬»¹ÓжԳÌÐòÉè¼Æ¾ºÈüѧϰ×ÊÁϵÄһЩ¿´·¨¡£Ò²¸½´øÒ»

    Ð©¶ÔÒëÕßÐòºÍµÚ1ÕµIJ¹³ä˵Ã÷¡£

    ÔÚÒëÕßÐòÖÐÎÒÒ²ÂÔ̸µ½ÁË×Ô¼º·­Òë´ËÊéµÄ¶¯»ú¡£ºÍºÜ¶à¶ÁÕßÒ»Ñù£¬×

    Ê¼µ±È»ÊDZ¼×Å×÷ÕßµÄÃûÍ·È¥µÄ£¬Èýλ×÷Õß²»µ«Êǹú¼ÊÖªÃûµÄÑ¡ÊÖ£¬¶øÇÒ

    TopCoderµÄ×î¸ßrating¼ÓÆðÀ´¶¼ÆÆ9kÁË¡£¶¥¼âʵÁ¦µÄ×÷ÕßÍùÍù¿ÉÒÔÕ¾ÔÚ

    ¸ü¸ßµÄ¸ß¶ÈÖ¸µã½­É½£¬Ò²¾Í¸ü¿ÉÄÜд³öÒ»±¾ºÃÊé¡£Ëæºó¾ÍÊǶÁµ½ÊéÖеÄ

    ÄÚÈÝÁË£¬ÊéÖеľø´ó¶àÊý¶«Î÷£¬ÎÒ´ó¸Å¶¼ÔÚ¹ýÈ¥ËÄÎåÄêʱ¼äµÄÃþÅÀ¹ö´ò

    ÖУ¬Öð²½Í¨¹ý¸÷ÖÖÊé¼®¡¢ÍøÂç¡¢µÀÌý;˵¡¢½âÌâ¾­ÑéºÍ×ܽáÌå»áÕÆÎÕ

    ÁË¡£²»¹ý»¹ÊÇÓÐһЩ¶úĿһеÄÄÚÈÝ£¬ÆäÖÐÓÐÒ»Á½¸öÎÊÌ⻹ÊÇͨ¹ýÓʼþ

    µÃµ½ÁËÔ­×÷ÕߵĽâ´ð£¬ÕÇÁË֪ʶ¡£µ«ÈÔÓÐÒ»ÖÖÏà¼ûºÞÍíµÄ¸Ð¾õ£¬¼ÙÈç×Ô

    ¼ºÔçÁ½Äê¶Áµ½´ËÊ飬Ïë±ØÄÜÉٷѲ»ÉÙ¾¢¡£´ÓÎÒ¸öÈ˵ľ­ÀúºÍ¶ÔÖÜΧͬѧ

    µÄÁ˽âÀ´¿´£¬ÕâÊÇÒ»±¾·Ç³£ÖµµÃÒý½øºÍÍÆ¼öµÄÊé¡£

    µ±È»£¬ÔÚ´Ë֮ǰ¹úÄÚÒѾ­³ö°æÓв»ÉÙËã·¨¾ºÈüÏà¹ØµÄÊé¼®ÁË£¬ºÜ¶àÈËÏë±ØÏ£ÍûÖªµÀÕâ±¾ÊéÓÐÊ²Ã´ÌØ±ðÖ®´¦¡£Ëã·¨¾ºÈüÏà¹ØµÄÊé¼®´óÖÂÓÐÁ½À࣬һÀàÊÇËã·¨ºÍÊýѧÀàµÄÊé¼®£¬±ÈÈç¸÷ÖÖÊý¾Ý½á¹¹½Ì²Ä¡¢ÀëÉ¢Êýѧ½Ì²Ä¡¢¡¶Ëã·¨µ¼ÂÛ¡·¡¢¡¶¾ßÌåÊýѧ¡·µÈ£¬Ò»ÀàÊÇרÃÅÕë¶ÔËã·¨¾ºÈüµÄÊé¼®£¬Æä

    ÖеĴú±í¾ÍÊÇÁõÈê¼ÑËùÖøµÄ¼¸±¾Ê飬¶ø¡¶Ëã·¨ÒÕÊõÓëÐÅϢѧ¾ºÈü¡·(ºÚ

    Êé)ÓÖÊÇÆäÖеĴú±í¡£×÷ÕßÖ®Ò»µÄiwiÔÚMSRAʵϰÆÚ¼äÒ²µÃÖªÁ˺ÚÊéµÄ

    ´óÃû¡£

    Ê×ÏÈ£¬¸öÈ˾õµÃÕâЩÊé¼®´óÖ¿ÉÒÔ·ÖΪÁ½Àࣺ½Ì¿ÆÊéºÍ¹¤¾ßÊé¡£ÖîÈç

    ¡¶Êý¾Ý½á¹¹ÓëËã·¨·ÖÎö¡·(DSAA)Ö®ÀàµÄÊé¿ÉÒÔ×÷Ϊ½Ì¿ÆÊéµÄ´ú±í£¬¶øÖîÈç¡¶¼ÆËã»ú³ÌÐòÉè¼ÆÒÕÊõ¡·(´óÃû¶¦¶¦µÄTAOCP)ÔòºÁÎÞÒÉÎÊÊÇ

    ¹¤¾ßÊéµÄ´ú±í¡£´óÖµØËµ£¬Ç°Õß¼òµ¥Ò×¶®£¬ÊÊÓÚѧϰ£¬ºóÕ߸ßÉîÈ«Ãæ£¬ÊÊÓڲο¼¡£¶þÕß²¢Ã»ÓÐÃ÷ÏԵķֽçÏߣ¬ºÜ¶àʱºòȫƾÖ÷¹Û£¬ÒòÈ˶øÒì¡£

    ±ÈÈç˵£¬¿´¶®ÁË£¬Õâ¾ÍÊǽ̿ÆÊ飬¿´¶®Ä¿Â¼ÁË£¬Õâ¾ÍÊǹ¤¾ßÊé¡£µ±È»£¬ºÍÊýѧմ±ßÔ½¶àµÄÊ飬×ÜÊÇÔ½Äѿеģ¬ËùÒÔ¾ÍÄѶȶøÑÔ£¬ÕâÀàÊé¼®ºÍ±à

    ³ÌÓïÑÔÀàÊé¼®×ÔÈ»ÊÇûÓпɱÈÐÔ¡£

    Ðí¶àÊé¶¼×÷Ϊ³ÌÐòÉè¼Æ¾ºÈüµÄѧϰ×ÊÁϱ»·´¸´ÍƼö£¬µ«ÊÂʵÉÏ£¬ÎÒÃÇ´ó

    ¸Å¿ÉÒÔ·ÂÕÕ¡¶×î³£±»³ÌÐòÔ±ÃǻѳƶÁ¹ýµÄ¼ÆËã»úÊé¼®¡·Ð´Ò»Æª¡¶×î³£±»

    ACMerÃǻѳƶÁ¹ýµÄÊé¼®¡·µÄͲÛÎÄ¡£ÀïÍ·ÓÐÒ»¾ä»°ºÜÖØÒª£¬ËùÒÔÎÒÔÙ

    ³­Ò»±é£º¡°Èç¹ûÄã×Ô¼ºÃ»ÓжÁ¹ýÕâЩ¼ÆËã»úÊé¼®£¬Çë²»ÒªÍÆ¼ö¸ø±ðÈË¡±¡£

    µ±È»£¬Ïñ¡¶Ëã·¨µ¼ÂÛ¡·ÕâÑùµÄÊé¸öÈ˾õµÃ»¹ÊÇÖµµÃÒ»¶ÁµÄ£¬¶àÊýµÄÕ½Ú

    ²¢²»ÄÑ£¬¿ÉÒÔµ±×÷½Ì¿ÆÊ飬ºóÃæµÄһЩÄÚÈÝ¿ÉÒÔ×÷Ϊ¹¤¾ßÊéÐèҪʱÔÙ²Î

    ¿¼£¬ÀïÃæºÜ¶à¶«Î÷½²µÃºÜϸ£¬ÈÝÒ××öµ½ÕæÕýµÄÀí½âÎüÊÕ£¬±ÈÈç´Ó×Ô¶¯»ú

    Òý³öKMP£¬µÈµÈ¡£¶øTAOCPÔòÎÞÒÉÊÇ×î³£ÌÉǹµÄ×°±ÆÉñÆ÷¡£ÓÐÒ»Ì죬ÎÒÔÚͬѧµÄ×ÀÉÏ¿´µ½Ò»±¾TAOCPµÚÒ»¾í£¬´ò¿ªÒ»¿´ºÜ»ÆºÜ±©Á¦£¬ÎÒ¸Ï

    ½ô¾Í°ÑËü¸ÇÉÏÁË¡£TAOCPºÜÀ÷º¦£¬¿´exponentiation by squaringÄÜÒýÓõ½

    Ëü£¬¿´permanentÒ²ÄÜÒýÓõ½Ëü£¬Á¬¿´Êý¤¨ÉϤ²¤ªŠ—¤µ¤ó¶¼ÄÜÒýÓõ½

    Ëü¡£¶ÁÍêTAOCPÄDZØÐëÄܱäµÃ³¬À÷º¦ÁË£¬¿ÉÄǵÃÊÇÄܶÁÍê°¡£¬¶Á²»Íê

    ËµÉ¶¶¼°×´î¡£ËùÒÔÍÆ¼öѧϰ×ÊÁϲ»Äܹ⿴ÊéºÃ²»ºÃ£¬»¹µÃ¿´¶ÔÄ¿±êÈËȺ

    ºÏ²»ºÏÊÊ¡£¶øÒ»±¾ºÃµÄ½Ì¿ÆÊ飬²»Ó¦¸ÃÊǾ¡¿ÉÄÜÌåÏÖ×÷ÕßÓжàÅ££¬¶øÊÇ

    ÒªÄܹ»¾¡¿ÉÄܼòµ¥µØ°ïÖú¶ÁÕß±äµÃ¸üÅ£¡£Èç¹û¿´ÍêÁË£¬¶®µÄ»¹ÊǶ®£¬²»

    ¶®µÄ»¹ÊDz»¶®£¬ÄÇÊÇûÓÐÒâÒåµÄ¡£

    °´ÕÕÕâ¸ö·ÖÀà±ê×¼£¬¸öÈ˾õµÃ¡¶ÌôÕ½³ÌÐòÉè¼Æ¾ºÈü¡·ÊÇÒ»±¾ºÜºÃµÄ½Ì¿Æ

    Êé¡£Ëü·Ç³£ÊʺÏ×÷ΪÓÐÖ¾²Î¼Ó³Ì ......

ÄúÏÖÔڲ鿴ÊÇÕªÒª½éÉÜÒ³£¬ Ïê¼ûPDF¸½¼þ(10871KB£¬129Ò³)¡£