-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

¾÷¾¹¾Ç²ß§YªA°È¡G±NPython¾÷¾¹¾Ç²ß³Ð·N§Ö³tÂàÅܬ°¤ªºÝWebÀ³¥Îµ{§Ç

( ²Åé ¦r)
§@ªÌ¡G[¬ü]°Ò¯Ãº¸¡Pªü¦Ì¯Ç¯S¦N¡]Manuel Amunategui¡^ÁÚ»®­}¡P¬¥¨Ø¥ìÃþ§O¡G1. -> µ{¦¡³]­p -> Python
¡@¡@¡@2. -> µ{¦¡³]­p -> ¾÷¾¹¾Ç²ß
ĶªÌ¡G
¥Xª©ªÀ¡G¾÷±ñ¤u·~¥Xª©ªÀ¾÷¾¹¾Ç²ß§YªA°È¡G±NPython¾÷¾¹¾Ç²ß³Ð·N§Ö³tÂàÅܬ°¤ªºÝWebÀ³¥Îµ{§Ç 3dWoo®Ñ¸¹¡G 51318
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 495 ¤¸

¥Xª©¤é¡G6/10/2019
­¶¼Æ¡G343
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787111627036
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

¤º®e²¤¶¡G

¥Ø¿ý¡G

ĶªÌ§Ç1
ĶªÌ§Ç2
ĶªÌ§Ç3
Ãö¤_§@ªÌ
Ãö¤_§Þ³N¼f®ÕªÌ
«e¨¥
²Ä1³¹¡@µLªA°È¾¹­pºâ¤¶²Ð1
1.1¡@¤@­Ó²³æªº¥»¦aFlaskÀ³¥Îµ{§Ç1
1.2¡@¦b·L³nAzure¤W¨Ï¥ÎµLªA°È¾¹­pºâ4
1.2.1¡@¾Þ§@¨BÆJ5
1.2.2¡@µ²½×©Mªþ¥[«H®§12
1.3¡@¦b¨¦ºq¤ª¤W¨Ï¥ÎµLªA°È¾¹­pºâ12
1.3.1¡@¾Þ§@¨BÆJ13
1.3.2¡@µ²½×©Mªþ¥[«H®§18
1.4¡@¦bAmazon AWS¤W¨Ï¥ÎµLªA°È¾¹­pºâ19
1.4.1¡@¾Þ§@¨BÆJ19
1.4.2¡@µ²½×©Mªþ¥[«H®§24
1.5¡@¦bPythonAnywhere¤W¦«ºÞÀ³¥Îµ{§Ç24
1.5.1¡@¾Þ§@¨BÆJ25
1.5.2¡@µ²½×©Mªþ¥[«H®§26
1.6¡@¥»³¹¤pµ²26
²Ä2³¹¡@¦bAzure¤W¶i¦æ¦@¨É³æ¨®¦^Âk¼Ò«¬´¼¯à¹w´ú27
2.1¡@¦@¨É³æ¨®¯²¸î»Ý¨D¦^Âk¨t¼Æ¤ÀªR28
2.2¡@±´¯Á¦@¨É³æ¨®­ì©l¼Æ¾Ú¶°28
2.2.1¡@¤U¸üUCI¾÷¾¹¾Ç²ß®w¼Æ¾Ú¶°29
2.2.2¡@Jupyter Notebook°t¸m¨Ï¥Î29
2.2.3¡@¼Æ¾Ú¶°±´¯Á31
2.2.4¡@¹w´úµ²ªGÅܶq¤ÀªR33
2.2.5¡@¶q¤Æ¯S©º»P¯²¸î²Î­p34
2.2.6¡@¤ÀÃþ¯S©º¬ã¨s35
2.3¡@¼Æ¾Ú«Ø¼Ò·Ç³Æ¤u§@36
2.3.1¡@¦^Âk«Ø¼Ò37
2.3.2¡@²³æ½u©Ê¦^Âk37
2.3.3¡@²³æ½u©Ê¦^Âk¼Ò«¬37
2.4¡@¯S©º¤uµ{¸ÕÅç39
2.4.1¡@¦h¶µ¦¡«Ø¼Ò39
2.4.2¡@³Ð«Ø¤ÀÃþ¼Æ¾ÚµêÀÀ¯S©º40
2.4.3¡@«D½u©Ê¼Ò«¬¸ÕÅç41
2.4.4¡@¨Ï¥Î®É¶¡§Ç¦C´_Âø¯S©º42
2.5¡@²¬ù¼Ò«¬44
2.5.1¡@²³æ¼Ò«¬¤¤ªº¦^Âk¨t¼Æ´£¨ú44
2.5.2¡@R-Squared44
2.5.3¡@°ò¤_¦^Âk¨t¼Æªº·s¼Æ¾Ú¹w´ú46
2.6¡@¦@¨É³æ¨®¯²¸î»Ý¨D¥æ¤¬¦¡WebÀ³¥Î³]­p48
2.6.1¡@¥N½X¥iŪ©Ê»PÂX®i©ÊºK­n48
2.6.2¡@ºc«Ø¥»¦aFlaskÀ³¥Î49
2.6.3¡@¤U¸ü¹B¦æGitHub¦@¨É³æ¨®¥N½X50
2.6.4¡@WebÀ³¥Îµ{§Ç½Õ¸Õ³Ì¨Î¹ê½î51
2.7¡@¦b·L³nAzure¤W¹B¦æWebÀ³¥Îµ{§Ç54
2.7.1¡@¨Ï¥ÎGit¦«ºÞ¶µ¥Ø¥N½X54
2.7.2¡@·L³nAzure©R¥O¦æ±µ¤f¤u¨ã¨Ï¥Î56
2.7.3¡@¸ê·½²M²z59
2.7.4¡@¬G»Ù±Æ¬d60
2.7.5¡@¨BÆJ¦^ÅU62
2.8¡@WebÀ³¥Îµ{§Ç¸}¥»¤Î§Þ³N¤ÀªR62
2.8.1¡@main.py¤å¥ó¤ÀªR63
2.8.2¡@/static/¤å¥ó§¨¤ÀªR64
2.8.3¡@/templates/index.html¤å¥ó¤Î¸}¥»¤ÀªR64
2.9¡@¥»³¹¤pµ²66
2.10¡@ªþ¥[¸ê·½66
²Ä3³¹¡@¦bGCP¤W°ò¤_ÅÞ¿è¦^Âk¹ê²{¹ê®É´¼¯à67
3.1¡@³W¹ºWebÀ³¥Î68
3.2¡@¼Æ¾Ú³B²z68
3.2.1¡@³B²z¤ÀÃþ«¬¼Æ¾Ú71
3.2.2¡@±q¤ÀÃþ«¬¼Æ¾Ú³Ð«ØµêÀÀ¯S©º75
3.3¡@«Ø¼Ò75
3.3.1¡@°V½m©M´ú¸Õ¼Æ¾Ú¶°©î¤À76
3.3.2¡@ÅÞ¿è¦^Âk77
3.3.3¡@¹w´ú©¯¦s²v78
3.4¡@·Ç³Æ¤W¤ª78
3.4.1¡@¨ç¼Æstartup()79
3.4.2¡@¨ç¼Æsubmit_new_profile()79
3.4.3¡@¨Ï¥ÎHTMLªí³æ¹ê²{¥æ¤¬79
3.4.4¡@³Ð«Ø°ÊºA¹Ï¹³80
3.4.5¡@¤U¸üTitanic¥N½X81
3.5¡@³¡¸p¨ì¨¦ºq¤ª¤W82
3.5.1¡@Google App Engine82
3.5.2¡@¦bGoogle App Engine¤W¶i¦æ³¡¸p83
3.5.3¡@°ÝÃD±Æ¬d86
3.5.4¡@¦¬§À¤u§@87
3.6¡@¥N½X¦^ÅU87
3.6.1¡@main.py87
3.6.2¡@app.yaml88
3.6.3¡@appengine_config.py¤å¥ó»Plib¤å¥ó§¨89
3.6.4¡@requirements.txt89
3.7¡@¨BÆJ¦^ÅU90
3.8¡@¥»³¹¤pµ²90
²Ä4³¹¡@¦bAWS¤W¨Ï¥ÎGradient Boosting Machine¶i¦æ¹w°V½m91
4.1¡@WebÀ³¥Îµ{§Ç³W¹º92
4.2¡@±´¯Á¸²µå°s«~½è¼Æ¾Ú¶°92
4.3¡@³B²z¤£¥­¿ÅªºÃþ§O95
4.4¡@¨Ï¥ÎGradient Boosting Classifier97
4.4.1¡@µû¦ô¼Ò«¬98
4.4.2¡@«ù¤[¤Æ¼Ò«¬101
4.4.3¡@·s¼Æ¾Ú¹w´ú101
4.5¡@³]­pWebÀ³¥Îµ{§Ç¥H¥æ¤¬µû¦ô¸²µå°s«~½è103
4.6¡@Ajax¡XªA°È¾¹ºÝ°ÊºAWeb´è¬V104
4.7¡@¦bµêÀÀÀô¹Ò¤¤¤u§@¡G¤@­Ó¤è«K¹êÅç¡B§ó¥[¦w¥þ©M¯ÂÐ䪺¨F½c104
4.8¡@AWS Elastic Beanstalk105
4.8.1¡@¬°Elastic Beanstalk³Ð«Ø¤@­Ó³X°Ý½ã¤á106
4.8.2¡@Elastic Beanstalk108
4.8.3¡@EB Command Line Interface108
4.8.4¡@­×´_WSGIApplication-Group110
4.8.5¡@³Ð«ØEBÀ³¥Îµ{§Ç111
4.8.6¡@¬d¬ÝÀ³¥Îµ{§Ç111
4.9¡@¸ê·½²M²z112
4.10¡@¨BÆJ¦^ÅU114
4.11¡@¬G»Ù±Æ¬d115
4.11.1¡@¬d¬Ý¤é§Ó115
4.11.2¡@SSHµn¿ý¨ì¹ê¨Ò115
4.12¡@¥»³¹¤pµ²116
²Ä5³¹¡@®×¨Ò¬ã¨s1¡G¦bWeb©M²¾°ÊÂsÄý¾¹¤W¹w´úªÑ²¼¥«³õ117
5.1¡@°t¹ï¥æ©öµ¦²¤118
5.2¡@¤U¸ü©M·Ç³Æ¼Æ¾Ú119
5.2.1¡@·Ç³Æ¼Æ¾Ú120
5.2.2¡@ªÑ²¼¥N½X³zµø121
5.3¡@»ù®æ¥«³õ¼Æ¾ÚÂX®i121
5.4¡@ø¨î»ù®t122
5.5¡@¥æ©ö²z©À123
5.5.1¡@´M§ä·¥ºÝ®×¨Ò123
5.5.2¡@´£¨Ñ¥æ©ö«Øij124
5.6¡@­pºâ¥æ©öªÑ¼Æ125
5.7¡@³]­p¤@­Ó²¾°Ê¤Í¦nªºWebÀ³¥Îµ{§Ç´£¨Ñ¥æ©ö«Øij127
5.8¡@¹B¦æ¥»¦aFlaskÀ³¥Îµ{§Ç128
5.9¡@ªí³æÅçÃÒ130
5.10¡@¦bPythonAnywhere¤W¹B¦æÀ³¥Îµ{§Ç130
5.11¡@­×´_WSGI¤å¥ó133
5.11.1¡@·½¥N½X133
5.11.2¡@WSGI°t¸m133
5.11.3¡@­«·s¥[¸üºô¯¸134
5.12¡@PythonAnywhere¬G»Ù±Æ¬d135
5.13¡@¥»³¹¤pµ²136
²Ä6³¹¡@°ò¤_Azure©MGoogle¦a¹Ïªº¥Ç¸o¦æ¬°¹w´ú137
6.1¡@WebÀ³¥Îµ{§Ç³W¹º138
6.2¡@±´¯Áª÷¤s¥Ç¸o¼ö¹Ï¼Æ¾Ú¶°138
6.2.1¡@¼Æ¾Ú²M¬~139
6.2.2¡@¼Æ¾Ú­«¤À¥¬140
6.2.3¡@©P¼Æ¾Ú±´¯Á142
6.3¡@¼Æ¾Ú¯S©º¤uµ{142
6.3.1¡@³Ð«Ø¦~«×¤ë¥÷¶×Á`¼Æ¾Ú¯S©º143
6.3.2¡@³Ð«Ø®É¬q¼Æ¾Ú¯S©º144
6.3.3¡@®É¬q¯S©º¼Æ¾Ú¶°±´¯Á145
6.4¡@¦a²z¼Æ¾Ú¥iµø¤Æ146
6.4.1¡@¦a²z§¤¼Ð¦ì¸mø¨î146
6.4.2¡@¦a²z§¤¼Ðªñ¦ü­È°Ï¶ô³Ð«Ø147
6.5¡@°ò¤_¾ú¥v¼Æ¾Úªº¥Ç¸o¹w´ú149
6.6¡@Google¦a¹Ï152
6.7¡@¼ö¤O¹Ï¼h153
6.8¡@¥Ç¸o¼Æ¾Ú¦bGoogle¦a¹Ï¤WªºÀ³¥Î154
6.9¡@¥Ç¸o¹w´ú¼Æ¾Ú¦Û©w¸q´£¨ú155
6.10¡@³]­pWebÀ³¥Îµ{§Ç156
6.10.1¡@²K¥[Google API±KÆ_157
6.10.2¡@¥»¦a¹B¦æWebÀ³¥Îµ{§Ç157
6.10.3¡@Azure¤½¦³¤ªGit·Ç³Æ157
6.10.4¡@Azure©R¥O¦æ±µ¤f¤u¨ã160
6.10.5¡@¬G»Ù±Æ¬d164
6.10.6¡@¸ê·½²M²z166
6.11¡@¥»³¹¤pµ²166
²Ä7³¹¡@¦bAWS¤W¨Ï¥Î¾ë¯À¨©¸­´µ©MOpenWeather¶i¦æ¹w´ú167
7.1¡@±´¯Á¼Æ¾Ú¶°167
7.2¡@¾ë¯À¨©¸­´µ169
7.3¡@Sklearn¤¤ªºGaussianNB170
7.4¡@¹ê®É¤Ñ®ð¹w³øOpenWeatherMap171
7.4.1¡@¨Ï¥Î¤Ñ®ð¹w´úªA°È173
7.4.2¡@¼Æ¾ÚÂà´«174
7.5¡@³]­pWebÀ³¥Îµ{§Ç177
7.6¡@¦bAWS Elastic Beanstalk¤W¹B¦æÀ³¥Îµ{§Ç179
7.6.1¡@­×´_WSGIApplication-Group180
7.6.2¡@¬d¬ÝÀ³¥Îµ{§Ç181
7.6.3¡@°O±o²×¤î¹ê¨Ò182
7.7¡@¥»³¹¤pµ²184
7.7.1¡@³X°ÝOpenWeatherMap¼Æ¾Ú184
7.7.2¡@®·Àò²§±`184
7.7.3¡@³B²z¥Î¤á¿é¤Jªº¼Æ¾Ú185
²Ä8³¹¡@¦bGCP¤W°ò¤_TensorFlow¹ê²{¥æ¤¬¦¡Ã¸µe©M¼Æ¦r¹w´ú186
8.1¡@MNIST¼Æ¾Ú¶°186
8.2¡@TensorFlow189
8.3¡@¨Ï¥ÎTensorFlow©M¨÷¿nºôµ¸«Ø¼Ò189
8.3.1¡@ºc«Ø«Ø¼Ò¼h190
8.3.2¡@·l¯q¨ç¼Æ191
8.3.3¡@¹ê¨Ò¤Æ·|¸Ü191
8.3.4¡@°V½m191
8.3.5¡@·Ç½T«×191
8.3.6¡@¹B¦æ¸}¥»192
8.4¡@·Ç³Æ¤W¤ª193
8.4.1¡@¹B¦æ¤@­Ó«O¦sªºTensorFlow¼Ò«¬193
8.4.2¡@«O¦s¼Ò«¬194
8.4.3¡@µe¥¬194
8.4.4¡@±qµe¥¬¨ìTensorFlow195
8.4.5¡@´ú¸Õ·sªº¤â¼g¼Æ¦r195
8.4.6¡@³]­pWebÀ³¥Îµ{§Ç196
8.4.7¡@¤U¸üWebÀ³¥Îµ{§Ç197
8.5¡@³¡¸p¨ì¨¦ºq¤ª¤W198
8.5.1¡@¨¦ºq¤ªFlexible App Engine198
8.5.2¡@¦bGoogle App Engine¤W³¡¸p199
8.5.3¡@°ÝÃD±Æ¬d201
8.5.4¡@¦¬§À¤u§@202
8.6¡@¥»³¹¤pµ²203
8.6.1¡@HTML5 canvas¼Ðñ203
8.6.2¡@TensorFlow203
8.6.3¡@³]­p203
²Ä9³¹ ¡@®×¨Ò¬ã¨s2¡G°ÊºAªÑ²¼¹ÏªíÅã¥Ü205
9.1¡@¨Ï¥ÎMatplotlib³Ð«ØªÑ²¼¹Ïªí205
9.2¡@±´¯Á°t¹ï¥æ©ö¹Ïªí207
9.3¡@³]­pWebÀ³¥Îµ{§Ç210
9.4¡@¨ã¦³²¾°Ê¤Í¦n©Êªºªí®æ211
9.5¡@¤W¶ÇWebÀ³¥Îµ{§Ç¨ìPythonAnywhere213
9.6¡@¥»³¹¤pµ²215
²Ä10³¹¡@¦bGCP¤W¨Ï¥Î©_²§­È¤À¸Ñ¹ê²{±ÀÂ˨t²Î216
10.1¡@³W¹ºWebÀ³¥Î216
10.2¡@±ÀÂ˨t²Î²¤¶217
10.3¡@±´¯ÁMovieLens¼Æ¾Ú¶°217
10.3.1¡@MovieLens¼Æ¾Ú¶°·§ªp218
10.3.2¡@±´¯Áratings.csv©Mmovies.csv219
10.3.3¡@²z¸Ñµû¯Å©Mµû¯Å¤å¤Æ221
10.3.4¡@µ¹¥X±ÀÂË224
10.4¡@¨ó¦P¹LÂo226
10.4.1¡@¬Û¦ü©Ê©M¶ZÂ÷´ú¶q¤u¨ã227
10.4.2¡@¼Ú´X¨½±o¶ZÂ÷227
10.4.3¡@§E©¶¬Û¦ü¶ZÂ÷228
10.5¡@©_²§­È¤À¸Ñ228
10.5.1¡@±N¹q¼vµû¯Å¶°¤¤¨ì¹s©P³ò229
10.5.2¡@Æ[¹îSVDªº¦æ¬°229
10.6¡@·Ç³Æ¤W¤ª232
10.6.1¡@¤U¸ü¦}¦b¥»¦a¹B¦æ¡§¤U¤@³¡¹q¼v¬Ý¤°¤\¡H¡¨232
10.6.2¡@¥N½X¸ÑÄÀ234
10.7¡@³¡¸p¨ì¨¦ºq¤ª¤W236
10.7.1¡@¦bGoogle App Engine¤W³¡¸p236
10.7.2¡@°ÝÃD±Æ¬d240
10.7.3¡@¦¬§À¤u§@240
10.8¡@¥»³¹¤pµ²241
²Ä11³¹¡@¦bAzure¤W¨Ï¥ÎNLP©M¥iµø¤Æ§Þ³N²¤Æ´_Âø·§©À242
11.1¡@WebÀ³¥Î³W¹º242
11.2¡@¼Æ¾Ú±´¯Á243
11.3¡@¤å¥»²M²z244
11.4¡@°ò¤_¤å¥»ªº¯S©º¤uµ{245
11.5¡@TFIDF¤å¥»¼Æ¾Ú²M²z247
11.6¡@NLP»P¥¿«hªí¹F¦¡247
11.7¡@¨Ï¥Î¥~³¡©U§£¶l¥óÃöÁä¦r¦Cªí248
11.8¡@¨Ï¥ÎSklearn®wTfidfVectorizer´£¨ú¯S©º250
11.9¡@¿é¥XÅܶq·Ç³Æ250
11.10¡@¨Ï¥ÎSklearn®wÀH¾÷´ËªL¤ÀÃþ¾¹«Ø¼Ò251
11.10.1¡@¼Ò«¬©Ê¯à´ú¶q252
11.10.2¡@¼Ò«¬ìH­È¥æ¤¬255
11.11¡@Web¹Ï§Î¤Æ¥æ¤¬256
11.12¡@ºc«Ø¥»¦aFlask WebÀ³¥Î257
11.13¡@±NÀ³¥Îµ{§Ç³¡¸p¨ìAzure¤½¦³¤ª259
11.13.1¡@¦bAzure¤W³¡¸pGit259
11.13.2¡@Azure©R¥O¦æ±µ¤f¤u¨ã262
11.13.3¡@¸ê·½²M²z265
11.13.4¡@¬G»Ù±Æ¬d266
11.14¡@¥»³¹¤pµ²»Pªþ¥[¸ê·½268
²Ä12³¹¡@®×¨Ò¬ã¨s3¡G¨Ï¥Î°ò¦°]°È«H®§¨Ï¤º®e§óÂ×´I269
12.1¡@³X°ÝªÑ²¼¤W¥«¤½¥q¦W³æ269
12.2¡@¨Ï¥Îºû°ò¦Ê¬ìAPIÀò¨ú¤½¥q«H®§271
12.3¡@ºc«Ø°ÊºAFinVizÃì±µ272
12.4¡@°ò¦®ø®§±´¯Á273
12.5¡@³]­pWebÀ³¥Îµ{§Ç274
12.6¡@¤W¶ÇWebÀ³¥Îµ{§Ç¨ìPythonAnywhere276
12.7¡@¥»³¹¤pµ²281
²Ä13³¹¡@¨Ï¥ÎGoogle Analytics282
13.1¡@³Ð«ØGoogle Analytics½ã¤á282
13.2¡@JavaScript¸òÂܾ¹283
13.3¡@¾\Ū¤ÀªR³ø§i284
13.4¡@¬y¶q¨Ó·½286
13.5¡@­¶­±286
13.6¡@¥»³¹¤pµ²»Pªþ¥[¸ê·½287
²Ä14³¹¡@¦bPythonAnywhere¤W¨Ï¥ÎA/B´ú¸Õ©MMySQL¼Æ¾Ú®w288
14.1¡@A/B´ú¸Õ289
14.1.1¡@¥Î¤á¸òÂÜ290
14.1.2¡@³q¥Î°ß¤@¼ÐÃѲÅ290
14.2¡@MySQL290
14.2.1¡@¨Ï¥Î©R¥O¦æ±Ò°Ê©M°±¤îªA°È292
14.2.2¡@MySQL©R¥O¦æºÊµø¾¹293
14.2.3¡@³Ð«Ø¼Æ¾Ú®w293
14.2.4¡@³Ð«Ø¼Æ¾Úªí294
14.2.5¡@³Ð«Ø¼Æ¾Ú®w¥Î¤á295
14.3¡@Python®w¡Gmysql.connector295
14.3.1¡@SELECT SQL»y¥y296
14.3.2¡@INSERT SQL»y¥y296
14.3.3¡@UPDATE SQL»y¥y297
14.4¡@±N¥N½X©â¶H¬°¨ç¼Æ298
14.5¡@³]­pWebÀ³¥Îµ{§Ç300
14.6¡@¦bPythonAnywhere¤W³]¸mMySQL300
14.7¡@¦bPythonAnywhere¤W¶i¦æA/B´ú¸Õ302
14.8¡@A/B´ú¸Õµ²ªG304
14.9¡@¥»³¹¤pµ²304
²Ä15³¹¡@±q³X°ÝªÌ¨ì­q¾\ªÌ306
15.1¡@°ò¤_¤å¥»ªº¨­¥÷ÅçÃÒ306
15.1.1¡@Flask-HTTPAuthµw½s½X½ã¤á307
15.1.2¡@ºK­n¦¡¨­¥÷ÅçÃҥܨÒ308
15.1.3¡@¨Ï¥Î¥~³¡¤å¥»¤å¥óªººK­n¦¡¨­¥÷ÅçÃҥܨÒ309
15.2¡@²³æ­q¾\´¡¥ó¨t²Î311
15.2.1¡@¥ÎMemberful¶i¦æ¾P°â311
15.2.2¡@¥ÎPayPal¶i¦æ®½ÃØ315
15.2.3¡@¥ÎStripe¶i¦æÁʶR317
15.3¡@¥»³¹¤pµ²321
²Ä16³¹¡@®×¨Ò¬ã¨s4¡G¨Ï¥ÎMemberfulºc«Ø­q¾\¥I¶OùÙ322
16.1¡@¤É¯ÅMemberful©MPython-Anywhere¤ä¥I½ã¤á323
16.1.1¡@¤É¯ÅMemberful323
16.1.2¡@¤É¯ÅPythonAnywhere326
16.1.3¡@¨Ï¥Îpip¦w¸ËFlask-SSLify326
16.2¡@Memberful¥Î¤áÅçÃÒ327
16.2.1¡@¨â¨B¬yµ{©MFlask·|¸Ü¾÷¨î327
16.2.2¡@¨­¥÷ÅçÃÒ²Ä1¨B328
16.2.3¡@¨­¥÷ÅçÃÒ²Ä2¨B328
16.2.4¡@½Õ¥ÎMemberful¨ç¼Æ330
16.3¡@³]­pWebÀ³¥Îµ{§Ç331
16.3.1¡@¦bMemberful.com¤W³]­p¤@­Ó­q¾\­p¹º331
16.3.2¡@±NWebÀ³¥Îµ{§Ç¤W¶Ç¨ìPythonAnywhere333
16.3.3¡@¦bMemberful©MMySQL¤¤´À´«§A¦Û¤vªº¾Ì¾Ú335
16.4¡@¥N½X¸ÑÄÀ336
16.4.1¡@main.py336
16.4.2¡@welcome.html336
16.4.3¡@index.html337
16.5¡@¥»³¹¤pµ²338
²Ä17³¹¡@Ãö³¬©Ò¦³¸ê·½339
§Ç¡G