0

dynamic programming without semirings

Báo cáo khoa học:

Báo cáo khoa học: "Cube Summing, Approximate Inference with Non-Local Features, and Dynamic Programming without Semirings" doc

Báo cáo khoa học

... commonly-used semirings in dynamic programming (§6).2 BackgroundIn this section, we discuss dynamic programming algorithms as semiring-weighted logic programs.We then review the definition of semirings ... programs.2.1 Dynamic Programming Many algorithms in NLP involve dynamic pro-gramming (e.g., the Viterbi, forward-backward,318probabilistic Earley’s, and minimum edit distancealgorithms). Dynamic programming ... Computational LinguisticsCube Summing, Approximate Inference with Non-Local Features,and Dynamic Programming without Semirings Kevin Gimpel and Noah A. SmithLanguage Technologies InstituteCarnegie...
  • 9
  • 382
  • 0
Đánh giá độ phúc tạp : Dynamic programming 01

Đánh giá độ phúc tạp : Dynamic programming 01

Kỹ thuật lập trình

... Dynamic programming can be thought of as being the reverse of recursion. Recursion is a top-down mechanism we take a problem, split it up, and solve the smaller problems that are created. Dynamic ... University of California, Irvine, CA 92697-3425 dan at ics.uci.eduLast modified: Oct 28, 2003 Dynamic programming From the D&C Theorem, we can see that a recursive algorithm is likely to be ... using recursion, it is possible that we may solve the same small subproblem many times. Using dynamic programming, we solve it once. Evaluation of the product of n matrices We wish to determine...
  • 4
  • 494
  • 1
A dynamic programming algorithm for RNA structure

A dynamic programming algorithm for RNA structure

Kiến trúc - Xây dựng

... S.,SjoÈlander, K., Underwood, R. C. & Haussler, D.2064 RNA Pseudoknot Prediction by Dynamic Programming A Dynamic Programming Algorithm for RNA StructurePrediction Including PseudoknotsElenaRivasandSeanR.Eddy*Department ... RNAs with the accepted RNA thermodynamicmodel.# 1999 Academic PressKeywords: RNA; secondary structure prediction; pseudoknots; dynamic programming; thermodynamic stability*Corresponding authorIntroductionMany ... polynomial com-plexity (although admittedly high). Having anoptimal dynamic programming algorithm willenable extending other dynamic programming based methods that rigorously explore the confor-mationalspaceforRNAfolding(McCaskill,1990;Bonhoefferetal.,1993)topseudoknottedstruc-tures.Apart...
  • 16
  • 688
  • 0
Tài liệu Programming Without a Call Stack – Event-driven Architectures ppt

Tài liệu Programming Without a Call Stack – Event-driven Architectures ppt

Tổ chức sự kiện

... Programming Without a Call Stack - Event-driven Architectures © 2006 Gregor Hohpe. All rights reserved ... CreditServiceACreditServiceVerifyCreditCardCreditServiceACreditServiceAOrderReceived Programming Without a Call Stack - Event-driven Architectures © 2006 Gregor Hohpe. All rights reserved ... communications • Timeliness • Asynchrony • Fine Grained • Ontology • Complex Event Processing Programming Without a Call Stack - Event-driven Architectures © 2006 Gregor Hohpe. All rights reserved...
  • 10
  • 406
  • 0
Báo cáo khoa học:

Báo cáo khoa học: "Dynamic Programming for Linear-Time Incremental Parsing" pptx

Báo cáo khoa học

... track. Dynamic programming turns out to be a great fit for earlyupdating (see Section 4.3 for details).3 Dynamic Programming (DP)3.1 Merging Equivalent StatesThe key observation for dynamic programming is ... fraction of the wholespace (even with beam search) as op-posed to dynamic programming. We showthat, surprisingly, dynamic programming is in fact possible for many shift-reduceparsers, by merging ... exception: the MSTalgorithm is exact search but not dynamic programming. that runs in (almost) linear-time, yet searches overa huge space with dynamic programming? Theoretically, the answer is negative,...
  • 10
  • 362
  • 0
Báo cáo khoa học:

Báo cáo khoa học: "Adding Syntax to Dynamic Programming for Aligning Comparable Texts for the Generation of Paraphrases" potx

Báo cáo khoa học

... and Nrespectively. This matrix is constructed through dynamic programming as shown in Figure 3.ififmax otherwiseFigure 3: Dynamic programming in computingMLED of two sentences of length ... 747–754,Sydney, July 2006.c2006 Association for Computational LinguisticsAdding Syntax to Dynamic Programming for Aligning Comparable Textsfor the Generation of ParaphrasesSiwei Shen, Dragomir ... the matrix entry from which thevalue of the current cell is derived in the recursionof the dynamic programming. Call the current en-try. If it gets its value from ,theword in Sentence 1 and...
  • 8
  • 430
  • 0
PHP programming dynamic web for everybody

PHP programming dynamic web for everybody

Kỹ thuật lập trình

... PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology25252525Dormitory204.B518:20PMApril7,2006mộtnhómthưtín,haytrongmộtkhomãnguồnnàođó).Tuynhiên,mộtbiểuthứcchínhquykhôngđủnếubạnmuốncókếtquảchínhxác.Cóvàicáchantoànhơnmàbạncóthểdùng:2.1.2.1.2.1.2.1.KiKiKiKiểểểểmmmmtratratratrakkkkếếếếttttnnnnốốốốiiii(socket(socket(socket(socketvalidation)validation)validation)validation)Mộtcáchđểkiểmđịnhđịachỉe-mailmàkhôngquấyrầytrựctiếpđếnngườidùnglàtạomộtkếtnốiđếnservernhậnđượctrongđịachỉe-mail,sauđótìmtênđăngkícủahọ.2.1.1.2.1.1.2.1.1.2.1.1.ƯƯƯƯuuuuđđđđiiiiểểểểmmmmKhônggâybấttiệnchongườidùngvìnóđượctiếnhànhtrongsuốt.Pháthiệnnhiềuđịachỉmamàbiểuthứcchínhquykhôngbiết(nhưlàjoe@fgsdh.com).2.1.2.2.1.2.2.1.2.2.1.2.KhuyKhuyKhuyKhuyếếếếttttđđđđiiiiểểểểmmmmKhôngpháthiệnđượcđịachỉbịđánhcắp.Thídụ,nếuJohnDoeđưađịachỉe-mailcủatôi(phanthanhkieu@php.net),mọithứvẫntiếnhànhbìnhthường,dùnólàđịachỉcủatôichứkhôngphảicủahắnta.Kiểmtrachậmhơnbiểuthứcchínhquy.Mailservercủangườidùngcóthểtạmngưnghoạtđộngtrongthờigianngắn,làmchomộtđịachỉe-mailhợplệbịtừchối2.2.2.2.2.2.2.2.KiKiKiKiểểểểmmmmtratratratrattttươươươươngngngngttttááááccccMộtcáchkhácđểkiểmđịnhđịachỉe-maillàgửimộtkhoáđặcbiệtđếnhộpthưngườidùng,vàbắthọnhậpkhoáđóđểtiếptục.Điềunàyđảmbảorằngkhôngnhữngđịachỉe-maillàhợplệ,màngườidùngcóquyềntruyxuấtvàođịachỉđó.2.2.1.2.2.1.2.2.1.2.2.1.ƯƯƯƯuuuuđđđđiiiiểểểểmmmmLàcáchtốtnhấtđểkiểmtrangườidùngcómộtđịachỉe-mailhợplệ2.2.2.2.2.2.2.2.2.2.2.2.KhuyKhuyKhuyKhuyếếếếttttđđđđiiiiểểểểmmmmĐòihỏingườidùngphảitiếnhànhthêmbướcphụ.Điềunàyquấyrầymấyngườicóýđịnhlàmphiềnbạn.Giốngnhưmọicáchkhác,nókhôngđảmbảođượcchống-đánh-lừa.NgườidùngcóthểtạomộtđịachỉtạmởHotmailhayNetaddressvàsauPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology11111111Dormitory204.B518:20PMApril7,20061.5.1.5.1.5.1.5.ThThThThóóóóiiiiquenquenquenquenxxxxấấấấuuuuDướiđâylànhữngthídụ(phóngđại)vềnhữngtênbiếntồi$username_cua_csdl='SINHVIEN';$guMbi='bimat';//forthe$password$tentruocdo_cua_giaovien=array('Sadlon','Lane','Patterson','Perry','Sandler','Mendick','Zung');foreach($tentruocdo_cua_giaovienas$TeaChER);2.2.2.2.ĐặĐặĐặĐặttttttttêêêênnnnhhhhààààmmmmMọikháiniệmápdụngchotênbiếncũngápdụngchođặttênhàm.Tuynhiên,ngữphápđóngvaitròđặcbiệttrongcáchàm.CáchàmPHP,địnhnghĩasẵnhoặcdongườidùngđịnhnghĩa,làkhông-phân-biệt-cách-viết(notcasesensitive)2.1.2.1.2.1.2.1.DDDDùùùùngngngngđộđộđộđộngngngngttttừừừừHàmcủaPHPtươngđươngvớimộtđộngtừkhinói.Tênhàm,dođó,nênđượchướnghànhđộng(actionoriented).Nócũngnênđượcdùngởthìhiệntại.Thídụ,bạncómộthàmtạomộtsốngẫunhiênvớiphânbốGausse(agaussianrandomnumber),bạnnênđặttênnólàgenerate_gaussian_rand().Chúýcácsửdụngđộngtừhànhđộngtrongtênhàm.Nósẽđặthàmvàongữcảnhthíchhợp<?phplist($num1,$num2)=generate_gaussian_rand();list($num3,$num4)=generate_gaussian_rand();?>Đểsosánh,hãyxemthídụ:<?phplist($num1,$num2)=gaussian_rand_generator();list($num1,$num2)=gaussian_rand_generator();?>Bạncóthấysựkhácbiệt?Thídụthứhaisửdụngdanhtừ,mặcdùvẫnchuyểntảiđượcmụctiêucủahàm,nhưngnóngănngườitađọcmộtcáchtrôichảy.Hãysửdụngđộngtừ!13.13.13.13.KhKhKhKhôôôôngngngngsuysuysuysuynghnghnghnghĩĩĩĩththththấấấấuuuuđáđáđáđáo:o:o:o:CSDLCSDLCSDLCSDL&&&&SQLSQLSQLSQLSốcáchngườitatruycậpcơsởdữliệu(CSDL-database)vàlấykếtquảnhiềuđếnmứcthựcsựngạcnhiên.Nhữngthídụtôiđãgặpbaogồmnhữngtổhợplệnhifvàvònglặpdo ... PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology25252525Dormitory204.B518:20PMApril7,2006mộtnhómthưtín,haytrongmộtkhomãnguồnnàođó).Tuynhiên,mộtbiểuthứcchínhquykhôngđủnếubạnmuốncókếtquảchínhxác.Cóvàicáchantoànhơnmàbạncóthểdùng:2.1.2.1.2.1.2.1.KiKiKiKiểểểểmmmmtratratratrakkkkếếếếttttnnnnốốốốiiii(socket(socket(socket(socketvalidation)validation)validation)validation)Mộtcáchđểkiểmđịnhđịachỉe-mailmàkhôngquấyrầytrựctiếpđếnngườidùnglàtạomộtkếtnốiđếnservernhậnđượctrongđịachỉe-mail,sauđótìmtênđăngkícủahọ.2.1.1.2.1.1.2.1.1.2.1.1.ƯƯƯƯuuuuđđđđiiiiểểểểmmmmKhônggâybấttiệnchongườidùngvìnóđượctiếnhànhtrongsuốt.Pháthiệnnhiềuđịachỉmamàbiểuthứcchínhquykhôngbiết(nhưlàjoe@fgsdh.com).2.1.2.2.1.2.2.1.2.2.1.2.KhuyKhuyKhuyKhuyếếếếttttđđđđiiiiểểểểmmmmKhôngpháthiệnđượcđịachỉbịđánhcắp.Thídụ,nếuJohnDoeđưađịachỉe-mailcủatôi(phanthanhkieu@php.net),mọithứvẫntiếnhànhbìnhthường,dùnólàđịachỉcủatôichứkhôngphảicủahắnta.Kiểmtrachậmhơnbiểuthứcchínhquy.Mailservercủangườidùngcóthểtạmngưnghoạtđộngtrongthờigianngắn,làmchomộtđịachỉe-mailhợplệbịtừchối2.2.2.2.2.2.2.2.KiKiKiKiểểểểmmmmtratratratrattttươươươươngngngngttttááááccccMộtcáchkhácđểkiểmđịnhđịachỉe-maillàgửimộtkhoáđặcbiệtđếnhộpthưngườidùng,vàbắthọnhậpkhoáđóđểtiếptục.Điềunàyđảmbảorằngkhôngnhữngđịachỉe-maillàhợplệ,màngườidùngcóquyềntruyxuấtvàođịachỉđó.2.2.1.2.2.1.2.2.1.2.2.1.ƯƯƯƯuuuuđđđđiiiiểểểểmmmmLàcáchtốtnhấtđểkiểmtrangườidùngcómộtđịachỉe-mailhợplệ2.2.2.2.2.2.2.2.2.2.2.2.KhuyKhuyKhuyKhuyếếếếttttđđđđiiiiểểểểmmmmĐòihỏingườidùngphảitiếnhànhthêmbướcphụ.Điềunàyquấyrầymấyngườicóýđịnhlàmphiềnbạn.Giốngnhưmọicáchkhác,nókhôngđảmbảođượcchống-đánh-lừa.NgườidùngcóthểtạomộtđịachỉtạmởHotmailhayNetaddressvàsauPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology11111111Dormitory204.B518:20PMApril7,20061.5.1.5.1.5.1.5.ThThThThóóóóiiiiquenquenquenquenxxxxấấấấuuuuDướiđâylànhữngthídụ(phóngđại)vềnhữngtênbiếntồi$username_cua_csdl='SINHVIEN';$guMbi='bimat';//forthe$password$tentruocdo_cua_giaovien=array('Sadlon','Lane','Patterson','Perry','Sandler','Mendick','Zung');foreach($tentruocdo_cua_giaovienas$TeaChER);2.2.2.2.ĐặĐặĐặĐặttttttttêêêênnnnhhhhààààmmmmMọikháiniệmápdụngchotênbiếncũngápdụngchođặttênhàm.Tuynhiên,ngữphápđóngvaitròđặcbiệttrongcáchàm.CáchàmPHP,địnhnghĩasẵnhoặcdongườidùngđịnhnghĩa,làkhông-phân-biệt-cách-viết(notcasesensitive)2.1.2.1.2.1.2.1.DDDDùùùùngngngngđộđộđộđộngngngngttttừừừừHàmcủaPHPtươngđươngvớimộtđộngtừkhinói.Tênhàm,dođó,nênđượchướnghànhđộng(actionoriented).Nócũngnênđượcdùngởthìhiệntại.Thídụ,bạncómộthàmtạomộtsốngẫunhiênvớiphânbốGausse(agaussianrandomnumber),bạnnênđặttênnólàgenerate_gaussian_rand().Chúýcácsửdụngđộngtừhànhđộngtrongtênhàm.Nósẽđặthàmvàongữcảnhthíchhợp<?phplist($num1,$num2)=generate_gaussian_rand();list($num3,$num4)=generate_gaussian_rand();?>Đểsosánh,hãyxemthídụ:<?phplist($num1,$num2)=gaussian_rand_generator();list($num1,$num2)=gaussian_rand_generator();?>Bạncóthấysựkhácbiệt?Thídụthứhaisửdụngdanhtừ,mặcdùvẫnchuyểntảiđượcmụctiêucủahàm,nhưngnóngănngườitađọcmộtcáchtrôichảy.Hãysửdụngđộngtừ!13.13.13.13.KhKhKhKhôôôôngngngngsuysuysuysuynghnghnghnghĩĩĩĩththththấấấấuuuuđáđáđáđáo:o:o:o:CSDLCSDLCSDLCSDL&&&&SQLSQLSQLSQLSốcáchngườitatruycậpcơsởdữliệu(CSDL-database)vàlấykếtquảnhiềuđếnmứcthựcsựngạcnhiên.Nhữngthídụtôiđãgặpbaogồmnhữngtổhợplệnhifvàvònglặpdo ... while,cáccâugọinhiềulần,vàcáchàmsql_result()trongvòngfor.Nhữngngườinàycónghĩhọđanglàmgìkhông?Việcviếtcácmãtrật-hoặc-trúng(hit-or-misscode)chứngminhsựthiếutậptrung.Nhữngcánhânđóxácđịnhnỗlựccủahọdùngđểhoànthànhcôngviệchơnlàđểhoànthànhđúngcôngviệc,kếtquảlàlàmchocácôngchủquăngthờigianvàtiềnbạcrađường.PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology26262626Dormitory204.B518:20PMApril7,2006PHẦN3:7LỖICHẾTNGƯỜI7.7.7.7.ChChChChééééppppvvvvààààddddáááán:n:n:n:khkhkhkhôôôôngngngngphphphphảảảảiiiihhhhướướướướngngngngđđđđiiiittttốốốốttttTôiđãgặpnhiềutaylậptrìnhmớivàonghềđichépnhữngđoạnmã(thídụnhưlàkiểmtrađịachỉe-mail,gửie-mail,lấygiátrịtừformđểsoạne-mail).Họthườngdánchúngvàochươngtrìnhcủamìnhvàrồikếtquảlàmộtđốngnhữngcâulệnhgửiformkhôngantoàn.Dùrằngmộtđoạnmãchạyđượctrongnhữngđiềukiệntốiưu,nóthườnggặplỗitrongbấtkìsựkiểmtra"mãtốt"nàoCôngviệcchắpvásẽkhkhkhkhôôôôngngngngcócácưuđiểmsau:MMMMởởởởrrrrộộộộngngngngđượđượđượđược:c:c:c:đoạnmãtrôngnhưcácmảnhriêngrẽrápvávàonhau.Nếunhờmộtlậptrìnhviêncókinhnghiệmsửachươngtrìnhcủabạn,họthườngthíchviếtlạitoànbộĐoạnmãkhôngđọcđượcsẽkhôngmởrộngđược.AnAnAnAntotototoààààn:n:n:n:bạncóthểđangchépmãcủangườikhácvàochươngtrìnhcủamìnhmàlạikhônghiểurõràngđoạnmãđó.Hãytưởngtưởngxem.NếuđoạnmãđócómộtlỗilàmxoátoànbộđĩacủabạnHơnnữa,cùngmộtđoạnmãthìtínhantoànkhônggiốngnhautrêncáchệthốngkhácnhau.Cuốicùng,chươngtrìnhcủabạnsẽkếthừalỗicủangườikhác.Nhanh:Nhanh:Nhanh:Nhanh:khicắtdáncácđoạnmã,kếtquảthườngsẽchạykhôngnhanh,vìchúngkhôngcómộttiếntrìnhchunghợplí(đâylàđiềuquantrọngnhấtkhiviếtcácchươngtrìnhnhanh)1.1.1.1.LLLLààààmmmmđúđúđúđúngngngngphphphphươươươươngngngngphphphphááááp:p:p:p:ttttììììmmmmhihihihiểểểểuuuutrtrtrtrướướướước,c,c,c,saosaosaosaochchchchééééppppsausausausauNghiêncứumãcủangườikháckĩlưỡngtrướckhisaochép.Phântíchxemnólàmgì.Chỉkhinàođoạnmãấyđọcđược,nhấtquánvớilogicchươngtrìnhcủabạn,vàkhôngcólỗi,thìmớinênsaochépnó.Tiếnhànhlúcnàysẽgiúpbạnchỉnhsửanóphùhợpvớicácphầncònlạicủachươngtrìnhmộtcáchthoảimáihơn.2.2.2.2.CCCCááááccccththththưưưưviviviviệệệệnnnnrrrrấấấấttttttttốốốốttttChỉdùngcácthưviệnPHPtừcácnguồntincậynhưPEARhoặckhocáclớpcủaPHP(PHPClassesRepository).VớicácgóiAPIcósẵn,việcdùngcáchàmcủanócũngkhôngthànhvấnđề.Thựcra,nếubạntìmđượcmộtthưviệnviếtsẵnbởimộtnguồntincậy,thìthườngnósẽlàmộtlựachọntốtđểdùngchochươngtrình(thayvìtựviếtlấy).6.6.6.6.KhKhKhKhôôôôngngngngccccóóóóđườđườđườđườngngngngllllốốốốiiii((((guidelines))))chochochochođồđồđồđồáááánnnnMộtlầnkhitôimớibắtđầulậptrình,tôilàmviệctrênmộtđồánkhácơbản(vớiPerl)cùng3lậptìnhviênkhác.Vìtôicòntrẻ(vàkhôngphảitrưởngnhóm),chúngtôikhôngcóđườnglốiviếtmãchođồán.Mỗingườiđượcgiaomộtphầncôngviệc,vàlàmriêngrẽ.Khichúngtôinhậpchunglạiđểchạychươngtrìnhcuốicùng,mỗiphầncủađồánnhìnkháchẳnnhauPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology2222Dormitory204.B518:20PMApril7,2006printprintprintprint"Tencuatuila:$name\n\n\n\n<br>\n\n\n\nHiendangla:$nghenghiep,$diachi\n\n\n\n<br>\n\n\n\nLienhevoitoiquaEmail:$email\n\n\n\n<br>\n\n\n\n";;;;Khikhôngcầnđịnhdạngsửliệu,dùngprint()thaychoprintf()cónhữnglợiíchsau:ThiThiThiThihhhhàààànhnhnhnhnhanhnhanhnhanhnhanhhhhhơơơơn:n:n:n:hàmprintf()địnhdạngdữliệucủabạntrướckhihiểnthị,nósẽchậmhơnprint()hoặcecho()MMMMããããssssáááángngngngssssủủủủa:a:a:a:hãyxem,dùnghàmprintf()sẽlàmchongườiđọchơibịlẫnlộn(tấtnhiêntrừkhihọcónềntảngC).Nóđòihỏikiếnthứcvềcúphápprintf()(thídụ,%sthaychochuỗicòn%dlàsố)vàvềkiểubiến2.2.2.2.DDDDùùùùngngngngprintf()printf()printf()printf()đểđểđểđểxuxuxuxuấấấấttttddddữữữữlilililiệệệệuuuutrtrtrtrảảảảvvvvềềềềttttừừừừggggọọọọiiiihhhhààààmmmmMộtlỗithườnggặpkháclàdùnprintf()đểxuấtdữliệutrảvềtừgọihàm,thídụnhưhàmđếmdướiđây:Khixuấtgiátrịdohàmtrảvề,toántử.nêndùngđểnốitrongprint(),nhưdướiđây:Dùngtoántử.nhanhhơnviệcdùngprintf()20.20.20.20.ÁÁÁÁppppddddụụụụngngngngsaisaisaisaingngngngữữữữnghnghnghnghĩĩĩĩaaaa(semantics)(semantics)(semantics)(semantics)NhiềulậptrìnhviênsửdụngPHPmàkhôngbiếtđếnnhữngđiểmtinhtếcủangônngữnày.Mộttrongnhữngđiểmđólàsựkhácnhaugiữacúpháp(syntax)vàngữnghĩa(semantics).CCCCúúúúphphphphááááp:p:p:p:nhữngquytắcđịnhnghĩamộtphầntử.Thídụ:dấu$đểtrướcdùngđịnhnghĩabiến,dùngdấu()vàcácthamsốđịnhnghĩamộthàm...
  • 27
  • 302
  • 0
Tài liệu PHP programming dynamic web for ewreybody pptx

Tài liệu PHP programming dynamic web for ewreybody pptx

Quản trị Web

... PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology26262626Dormitory204.B518:20PMApril7,2006PHẦN3:7LỖICHẾTNGƯỜI7.7.7.7.ChChChChééééppppvvvvààààddddáááán:n:n:n:khkhkhkhôôôôngngngngphphphphảảảảiiiihhhhướướướướngngngngđđđđiiiittttốốốốttttTôiđãgặpnhiềutaylậptrìnhmớivàonghềđichépnhữngđoạnmã(thídụnhưlàkiểmtrađịachỉe-mail,gửie-mail,lấygiátrịtừformđểsoạne-mail).Họthườngdánchúngvàochươngtrìnhcủamìnhvàrồikếtquảlàmộtđốngnhữngcâulệnhgửiformkhôngantoàn.Dùrằngmộtđoạnmãchạyđượctrongnhữngđiềukiệntốiưu,nóthườnggặplỗitrongbấtkìsựkiểmtra"mãtốt"nàoCôngviệcchắpvásẽkhkhkhkhôôôôngngngngcócácưuđiểmsau:MMMMởởởởrrrrộộộộngngngngđượđượđượđược:c:c:c:đoạnmãtrôngnhưcácmảnhriêngrẽrápvávàonhau.Nếunhờmộtlậptrìnhviêncókinhnghiệmsửachươngtrìnhcủabạn,họthườngthíchviếtlạitoànbộĐoạnmãkhôngđọcđượcsẽkhôngmởrộngđược.AnAnAnAntotototoààààn:n:n:n:bạncóthểđangchépmãcủangườikhácvàochươngtrìnhcủamìnhmàlạikhônghiểurõràngđoạnmãđó.Hãytưởngtưởngxem.NếuđoạnmãđócómộtlỗilàmxoátoànbộđĩacủabạnHơnnữa,cùngmộtđoạnmãthìtínhantoànkhônggiốngnhautrêncáchệthốngkhácnhau.Cuốicùng,chươngtrìnhcủabạnsẽkếthừalỗicủangườikhác.Nhanh:Nhanh:Nhanh:Nhanh:khicắtdáncácđoạnmã,kếtquảthườngsẽchạykhôngnhanh,vìchúngkhôngcómộttiếntrìnhchunghợplí(đâylàđiềuquantrọngnhấtkhiviếtcácchươngtrìnhnhanh)1.1.1.1.LLLLààààmmmmđúđúđúđúngngngngphphphphươươươươngngngngphphphphááááp:p:p:p:ttttììììmmmmhihihihiểểểểuuuutrtrtrtrướướướước,c,c,c,saosaosaosaochchchchééééppppsausausausauNghiêncứumãcủangườikháckĩlưỡngtrướckhisaochép.Phântíchxemnólàmgì.Chỉkhinàođoạnmãấyđọcđược,nhấtquánvớilogicchươngtrìnhcủabạn,vàkhôngcólỗi,thìmớinênsaochépnó.Tiếnhànhlúcnàysẽgiúpbạnchỉnhsửanóphùhợpvớicácphầncònlạicủachươngtrìnhmộtcáchthoảimáihơn.2.2.2.2.CCCCááááccccththththưưưưviviviviệệệệnnnnrrrrấấấấttttttttốốốốttttChỉdùngcácthưviệnPHPtừcácnguồntincậynhưPEARhoặckhocáclớpcủaPHP(PHPClassesRepository).VớicácgóiAPIcósẵn,việcdùngcáchàmcủanócũngkhôngthànhvấnđề.Thựcra,nếubạntìmđượcmộtthưviệnviếtsẵnbởimộtnguồntincậy,thìthườngnósẽlàmộtlựachọntốtđểdùngchochươngtrình(thayvìtựviếtlấy).6.6.6.6.KhKhKhKhôôôôngngngngccccóóóóđườđườđườđườngngngngllllốốốốiiii((((guidelines))))chochochochođồđồđồđồáááánnnnMộtlầnkhitôimớibắtđầulậptrình,tôilàmviệctrênmộtđồánkhácơbản(vớiPerl)cùng3lậptìnhviênkhác.Vìtôicòntrẻ(vàkhôngphảitrưởngnhóm),chúngtôikhôngcóđườnglốiviếtmãchođồán.Mỗingườiđượcgiaomộtphầncôngviệc,vàlàmriêngrẽ.Khichúngtôinhậpchunglạiđểchạychươngtrìnhcuốicùng,mỗiphầncủađồánnhìnkháchẳnnhauPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology27272727Dormitory204.B518:20PMApril7,20061.1.1.1.MMMMộộộộttttththththííííddddụụụụmmmmẫẫẫẫuuuuvvvvềềềềđườđườđườđườngngngngllllốốốốiiii5.5.5.5.KhKhKhKhôôôôngngngngxemxemxemxemxxxxééééttttllllạạạạiiiimmmmãããã4.4.4.4.VVVVáááállllỗỗỗỗiiiikhikhikhikhithithithithiếếếếttttkkkkếếếế3.3.3.3.KhKhKhKhôôôôngngngngquanquanquanquanttttââââmmmmđếđếđếđếnnnnngngngngườườườườiiiiddddùùùùngngngngkhikhikhikhithithithithiếếếếttttkkkkếếếế2.2.2.2.KhKhKhKhôôôôngngngngtheotheotheotheossssááááttttkkkkếếếếhohohohoạạạạchchchchccccủủủủaaaađồđồđồđồáááánnnn1.1.1.1.PhPhPhPhííííththththờờờờiiiigiangiangiangianPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology9999Dormitory204.B518:20PMApril7,2006ĐâylàmộtthóiquenxấuvìNókhôngđượcdùngrộngrãi,chonênnhiềungườihọcsẽbịlẫnlộngiữahaicúphápNókhôngtươngthíchvớingônngữkhác,nghĩalànótrởnênkhóđọcđốivớinhữngngườitronggiaiđoạnquáđộ(mớichuyểntừmộtngônngữnàođósangPHP)Quantrọngnhất,làmộtngàynàođótínhnăngnàysẽbịxoáxổ,bắtbuộcbạnphảiviếtlạitoànbộmãcódùngnó.DấungoặcnhọnluônluônlàmộtphầncủangônngữPHP.Ởtrênchỉlàmộtthídụvềcấutrúclỗithời.Nócònnhiềunữa.Nhưmộtquytắc,bạnnêntheonhữngcácviếttrongtàiliệuPHP.Hầuhếtnóđượccậpnhậtmới.NócũngdùngcáchàmmớinhấtcủaPHPtrongthídụcủamình.NênthườngxuyênkiểmtratàiliệukhibạncóýmuốnmởrộngtínhnăngnàođócủaPHP.Theocáchnày,bạnsẽkhôngphảiviếtlạicáchàmcósẵn.TTTTổổổổngngngngkkkkếếếếttttTrongbàinàybạnđãđiqua7trêntổngsố21lỗimàlậptrìnhviênPHPmắcphải.Nhữnglỗigiáokhoanàybaogồm:SSSSửửửửddddụụụụngngngngsaisaisaisaihhhhààààmmmmprintf()printf()printf()printf()ÁÁÁÁppppddddụụụụngngngngsaisaisaisaingngngngữữữữnghnghnghnghĩĩĩĩaaaaThiThiThiThiếếếếuuuuttttààààiiiililililiệệệệuuuutrongtrongtrongtrongmmmmããããngungungunguồồồồnnnnDDDDùùùùngngngngququququáááánhinhinhinhiềềềềuuuubibibibiếếếếnnnnttttạạạạmmmmViViViViếếếếttttllllạạạạiiiiccccáááácccchhhhààààmmmmccccóóóóssssẵẵẵẵnnnnKhKhKhKhôôôôngngngngttttááááchchchchbibibibiệệệệttttphphphphầầầầnnnnkhkhkhkháááách/chch/chch/chch/chủủủủDDDDùùùùngngngngccccááááccccccccấấấấuuuutrtrtrtrúúúúccccllllỗỗỗỗiiiiththththờờờờiiii//Bad/OutdatedPracticewhile(1):print"5";if($idx++==5):break;endif;endwhile;//BetterPractice//(thecodecouldbeoptimizedthough)while(1){print"5";if($idx++==5){break;}}?>PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology17171717Dormitory204.B518:20PMApril7,2006KiểmtrakếtquảlờigọihàmKiểmtrakếtquảlờigọihệthốngĐặtmứcerror_reportinglàE_ALLtrongtậptinphp.ini1.1.1.1.1.1.1.1.KiKiKiKiểểểểmmmmtratratratrakkkkếếếếttttququququảảảảllllờờờờiiiiggggọọọọiiiihhhhààààmmmmMỗikhibạngọimộthàmlàmthayđổinhiềudữliệu,luônkiểmtrađểđảmbảorằngkếtquảtrảvềtrongphạmvigiátrịđượcchấpnhận(arangeofallowablevalues).Trongthídụdướiđây,mộtlỗiillegaldivisionbyzerosinhratronglầnlặpthứ6củavòngfor($iđượctănglên1trongkhi$jbịgiảmđi1).Vàolầnthứ6,khiđó$i=$j=0.<?phpmt_srand((double)microtime()*10000000);functiondo_math($a,$b){return(($a-$b)*2)/mt_rand();}for($i=5,$j=-5;$i>-5;$i ... PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology26262626Dormitory204.B518:20PMApril7,2006PHẦN3:7LỖICHẾTNGƯỜI7.7.7.7.ChChChChééééppppvvvvààààddddáááán:n:n:n:khkhkhkhôôôôngngngngphphphphảảảảiiiihhhhướướướướngngngngđđđđiiiittttốốốốttttTôiđãgặpnhiềutaylậptrìnhmớivàonghềđichépnhữngđoạnmã(thídụnhưlàkiểmtrađịachỉe-mail,gửie-mail,lấygiátrịtừformđểsoạne-mail).Họthườngdánchúngvàochươngtrìnhcủamìnhvàrồikếtquảlàmộtđốngnhữngcâulệnhgửiformkhôngantoàn.Dùrằngmộtđoạnmãchạyđượctrongnhữngđiềukiệntốiưu,nóthườnggặplỗitrongbấtkìsựkiểmtra"mãtốt"nàoCôngviệcchắpvásẽkhkhkhkhôôôôngngngngcócácưuđiểmsau:MMMMởởởởrrrrộộộộngngngngđượđượđượđược:c:c:c:đoạnmãtrôngnhưcácmảnhriêngrẽrápvávàonhau.Nếunhờmộtlậptrìnhviêncókinhnghiệmsửachươngtrìnhcủabạn,họthườngthíchviếtlạitoànbộĐoạnmãkhôngđọcđượcsẽkhôngmởrộngđược.AnAnAnAntotototoààààn:n:n:n:bạncóthểđangchépmãcủangườikhácvàochươngtrìnhcủamìnhmàlạikhônghiểurõràngđoạnmãđó.Hãytưởngtưởngxem.NếuđoạnmãđócómộtlỗilàmxoátoànbộđĩacủabạnHơnnữa,cùngmộtđoạnmãthìtínhantoànkhônggiốngnhautrêncáchệthốngkhácnhau.Cuốicùng,chươngtrìnhcủabạnsẽkếthừalỗicủangườikhác.Nhanh:Nhanh:Nhanh:Nhanh:khicắtdáncácđoạnmã,kếtquảthườngsẽchạykhôngnhanh,vìchúngkhôngcómộttiếntrìnhchunghợplí(đâylàđiềuquantrọngnhấtkhiviếtcácchươngtrìnhnhanh)1.1.1.1.LLLLààààmmmmđúđúđúđúngngngngphphphphươươươươngngngngphphphphááááp:p:p:p:ttttììììmmmmhihihihiểểểểuuuutrtrtrtrướướướước,c,c,c,saosaosaosaochchchchééééppppsausausausauNghiêncứumãcủangườikháckĩlưỡngtrướckhisaochép.Phântíchxemnólàmgì.Chỉkhinàođoạnmãấyđọcđược,nhấtquánvớilogicchươngtrìnhcủabạn,vàkhôngcólỗi,thìmớinênsaochépnó.Tiếnhànhlúcnàysẽgiúpbạnchỉnhsửanóphùhợpvớicácphầncònlạicủachươngtrìnhmộtcáchthoảimáihơn.2.2.2.2.CCCCááááccccththththưưưưviviviviệệệệnnnnrrrrấấấấttttttttốốốốttttChỉdùngcácthưviệnPHPtừcácnguồntincậynhưPEARhoặckhocáclớpcủaPHP(PHPClassesRepository).VớicácgóiAPIcósẵn,việcdùngcáchàmcủanócũngkhôngthànhvấnđề.Thựcra,nếubạntìmđượcmộtthưviệnviếtsẵnbởimộtnguồntincậy,thìthườngnósẽlàmộtlựachọntốtđểdùngchochươngtrình(thayvìtựviếtlấy).6.6.6.6.KhKhKhKhôôôôngngngngccccóóóóđườđườđườđườngngngngllllốốốốiiii((((guidelines))))chochochochođồđồđồđồáááánnnnMộtlầnkhitôimớibắtđầulậptrình,tôilàmviệctrênmộtđồánkhácơbản(vớiPerl)cùng3lậptìnhviênkhác.Vìtôicòntrẻ(vàkhôngphảitrưởngnhóm),chúngtôikhôngcóđườnglốiviếtmãchođồán.Mỗingườiđượcgiaomộtphầncôngviệc,vàlàmriêngrẽ.Khichúngtôinhậpchunglạiđểchạychươngtrìnhcuốicùng,mỗiphầncủađồánnhìnkháchẳnnhauPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology27272727Dormitory204.B518:20PMApril7,20061.1.1.1.MMMMộộộộttttththththííííddddụụụụmmmmẫẫẫẫuuuuvvvvềềềềđườđườđườđườngngngngllllốốốốiiii5.5.5.5.KhKhKhKhôôôôngngngngxemxemxemxemxxxxééééttttllllạạạạiiiimmmmãããã4.4.4.4.VVVVáááállllỗỗỗỗiiiikhikhikhikhithithithithiếếếếttttkkkkếếếế3.3.3.3.KhKhKhKhôôôôngngngngquanquanquanquanttttââââmmmmđếđếđếđếnnnnngngngngườườườườiiiiddddùùùùngngngngkhikhikhikhithithithithiếếếếttttkkkkếếếế2.2.2.2.KhKhKhKhôôôôngngngngtheotheotheotheossssááááttttkkkkếếếếhohohohoạạạạchchchchccccủủủủaaaađồđồđồđồáááánnnn1.1.1.1.PhPhPhPhííííththththờờờờiiiigiangiangiangianPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology9999Dormitory204.B518:20PMApril7,2006ĐâylàmộtthóiquenxấuvìNókhôngđượcdùngrộngrãi,chonênnhiềungườihọcsẽbịlẫnlộngiữahaicúphápNókhôngtươngthíchvớingônngữkhác,nghĩalànótrởnênkhóđọcđốivớinhữngngườitronggiaiđoạnquáđộ(mớichuyểntừmộtngônngữnàođósangPHP)Quantrọngnhất,làmộtngàynàođótínhnăngnàysẽbịxoáxổ,bắtbuộcbạnphảiviếtlạitoànbộmãcódùngnó.DấungoặcnhọnluônluônlàmộtphầncủangônngữPHP.Ởtrênchỉlàmộtthídụvềcấutrúclỗithời.Nócònnhiềunữa.Nhưmộtquytắc,bạnnêntheonhữngcácviếttrongtàiliệuPHP.Hầuhếtnóđượccậpnhậtmới.NócũngdùngcáchàmmớinhấtcủaPHPtrongthídụcủamình.NênthườngxuyênkiểmtratàiliệukhibạncóýmuốnmởrộngtínhnăngnàođócủaPHP.Theocáchnày,bạnsẽkhôngphảiviếtlạicáchàmcósẵn.TTTTổổổổngngngngkkkkếếếếttttTrongbàinàybạnđãđiqua7trêntổngsố21lỗimàlậptrìnhviênPHPmắcphải.Nhữnglỗigiáokhoanàybaogồm:SSSSửửửửddddụụụụngngngngsaisaisaisaihhhhààààmmmmprintf()printf()printf()printf()ÁÁÁÁppppddddụụụụngngngngsaisaisaisaingngngngữữữữnghnghnghnghĩĩĩĩaaaaThiThiThiThiếếếếuuuuttttààààiiiililililiệệệệuuuutrongtrongtrongtrongmmmmããããngungungunguồồồồnnnnDDDDùùùùngngngngququququáááánhinhinhinhiềềềềuuuubibibibiếếếếnnnnttttạạạạmmmmViViViViếếếếttttllllạạạạiiiiccccáááácccchhhhààààmmmmccccóóóóssssẵẵẵẵnnnnKhKhKhKhôôôôngngngngttttááááchchchchbibibibiệệệệttttphphphphầầầầnnnnkhkhkhkháááách/chch/chch/chch/chủủủủDDDDùùùùngngngngccccááááccccccccấấấấuuuutrtrtrtrúúúúccccllllỗỗỗỗiiiiththththờờờờiiii//Bad/OutdatedPracticewhile(1):print"5";if($idx++==5):break;endif;endwhile;//BetterPractice//(thecodecouldbeoptimizedthough)while(1){print"5";if($idx++==5){break;}}?>PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology17171717Dormitory204.B518:20PMApril7,2006KiểmtrakếtquảlờigọihàmKiểmtrakếtquảlờigọihệthốngĐặtmứcerror_reportinglàE_ALLtrongtậptinphp.ini1.1.1.1.1.1.1.1.KiKiKiKiểểểểmmmmtratratratrakkkkếếếếttttququququảảảảllllờờờờiiiiggggọọọọiiiihhhhààààmmmmMỗikhibạngọimộthàmlàmthayđổinhiềudữliệu,luônkiểmtrađểđảmbảorằngkếtquảtrảvềtrongphạmvigiátrịđượcchấpnhận(arangeofallowablevalues).Trongthídụdướiđây,mộtlỗiillegaldivisionbyzerosinhratronglầnlặpthứ6củavòngfor($iđượctănglên1trongkhi$jbịgiảmđi1).Vàolầnthứ6,khiđó$i=$j=0.<?phpmt_srand((double)microtime()*10000000);functiondo_math($a,$b){return(($a-$b)*2)/mt_rand();}for($i=5,$j=-5;$i>-5;$i ... PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology26262626Dormitory204.B518:20PMApril7,2006PHẦN3:7LỖICHẾTNGƯỜI7.7.7.7.ChChChChééééppppvvvvààààddddáááán:n:n:n:khkhkhkhôôôôngngngngphphphphảảảảiiiihhhhướướướướngngngngđđđđiiiittttốốốốttttTôiđãgặpnhiềutaylậptrìnhmớivàonghềđichépnhữngđoạnmã(thídụnhưlàkiểmtrađịachỉe-mail,gửie-mail,lấygiátrịtừformđểsoạne-mail).Họthườngdánchúngvàochươngtrìnhcủamìnhvàrồikếtquảlàmộtđốngnhữngcâulệnhgửiformkhôngantoàn.Dùrằngmộtđoạnmãchạyđượctrongnhữngđiềukiệntốiưu,nóthườnggặplỗitrongbấtkìsựkiểmtra"mãtốt"nàoCôngviệcchắpvásẽkhkhkhkhôôôôngngngngcócácưuđiểmsau:MMMMởởởởrrrrộộộộngngngngđượđượđượđược:c:c:c:đoạnmãtrôngnhưcácmảnhriêngrẽrápvávàonhau.Nếunhờmộtlậptrìnhviêncókinhnghiệmsửachươngtrìnhcủabạn,họthườngthíchviếtlạitoànbộĐoạnmãkhôngđọcđượcsẽkhôngmởrộngđược.AnAnAnAntotototoààààn:n:n:n:bạncóthểđangchépmãcủangườikhácvàochươngtrìnhcủamìnhmàlạikhônghiểurõràngđoạnmãđó.Hãytưởngtưởngxem.NếuđoạnmãđócómộtlỗilàmxoátoànbộđĩacủabạnHơnnữa,cùngmộtđoạnmãthìtínhantoànkhônggiốngnhautrêncáchệthốngkhácnhau.Cuốicùng,chươngtrìnhcủabạnsẽkếthừalỗicủangườikhác.Nhanh:Nhanh:Nhanh:Nhanh:khicắtdáncácđoạnmã,kếtquảthườngsẽchạykhôngnhanh,vìchúngkhôngcómộttiếntrìnhchunghợplí(đâylàđiềuquantrọngnhấtkhiviếtcácchươngtrìnhnhanh)1.1.1.1.LLLLààààmmmmđúđúđúđúngngngngphphphphươươươươngngngngphphphphááááp:p:p:p:ttttììììmmmmhihihihiểểểểuuuutrtrtrtrướướướước,c,c,c,saosaosaosaochchchchééééppppsausausausauNghiêncứumãcủangườikháckĩlưỡngtrướckhisaochép.Phântíchxemnólàmgì.Chỉkhinàođoạnmãấyđọcđược,nhấtquánvớilogicchươngtrìnhcủabạn,vàkhôngcólỗi,thìmớinênsaochépnó.Tiếnhànhlúcnàysẽgiúpbạnchỉnhsửanóphùhợpvớicácphầncònlạicủachươngtrìnhmộtcáchthoảimáihơn.2.2.2.2.CCCCááááccccththththưưưưviviviviệệệệnnnnrrrrấấấấttttttttốốốốttttChỉdùngcácthưviệnPHPtừcácnguồntincậynhưPEARhoặckhocáclớpcủaPHP(PHPClassesRepository).VớicácgóiAPIcósẵn,việcdùngcáchàmcủanócũngkhôngthànhvấnđề.Thựcra,nếubạntìmđượcmộtthưviệnviếtsẵnbởimộtnguồntincậy,thìthườngnósẽlàmộtlựachọntốtđểdùngchochươngtrình(thayvìtựviếtlấy).6.6.6.6.KhKhKhKhôôôôngngngngccccóóóóđườđườđườđườngngngngllllốốốốiiii((((guidelines))))chochochochođồđồđồđồáááánnnnMộtlầnkhitôimớibắtđầulậptrình,tôilàmviệctrênmộtđồánkhácơbản(vớiPerl)cùng3lậptìnhviênkhác.Vìtôicòntrẻ(vàkhôngphảitrưởngnhóm),chúngtôikhôngcóđườnglốiviếtmãchođồán.Mỗingườiđượcgiaomộtphầncôngviệc,vàlàmriêngrẽ.Khichúngtôinhậpchunglạiđểchạychươngtrìnhcuốicùng,mỗiphầncủađồánnhìnkháchẳnnhauPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology27272727Dormitory204.B518:20PMApril7,20061.1.1.1.MMMMộộộộttttththththííííddddụụụụmmmmẫẫẫẫuuuuvvvvềềềềđườđườđườđườngngngngllllốốốốiiii5.5.5.5.KhKhKhKhôôôôngngngngxemxemxemxemxxxxééééttttllllạạạạiiiimmmmãããã4.4.4.4.VVVVáááállllỗỗỗỗiiiikhikhikhikhithithithithiếếếếttttkkkkếếếế3.3.3.3.KhKhKhKhôôôôngngngngquanquanquanquanttttââââmmmmđếđếđếđếnnnnngngngngườườườườiiiiddddùùùùngngngngkhikhikhikhithithithithiếếếếttttkkkkếếếế2.2.2.2.KhKhKhKhôôôôngngngngtheotheotheotheossssááááttttkkkkếếếếhohohohoạạạạchchchchccccủủủủaaaađồđồđồđồáááánnnn1.1.1.1.PhPhPhPhííííththththờờờờiiiigiangiangiangianPHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology9999Dormitory204.B518:20PMApril7,2006ĐâylàmộtthóiquenxấuvìNókhôngđượcdùngrộngrãi,chonênnhiềungườihọcsẽbịlẫnlộngiữahaicúphápNókhôngtươngthíchvớingônngữkhác,nghĩalànótrởnênkhóđọcđốivớinhữngngườitronggiaiđoạnquáđộ(mớichuyểntừmộtngônngữnàođósangPHP)Quantrọngnhất,làmộtngàynàođótínhnăngnàysẽbịxoáxổ,bắtbuộcbạnphảiviếtlạitoànbộmãcódùngnó.DấungoặcnhọnluônluônlàmộtphầncủangônngữPHP.Ởtrênchỉlàmộtthídụvềcấutrúclỗithời.Nócònnhiềunữa.Nhưmộtquytắc,bạnnêntheonhữngcácviếttrongtàiliệuPHP.Hầuhếtnóđượccậpnhậtmới.NócũngdùngcáchàmmớinhấtcủaPHPtrongthídụcủamình.NênthườngxuyênkiểmtratàiliệukhibạncóýmuốnmởrộngtínhnăngnàođócủaPHP.Theocáchnày,bạnsẽkhôngphảiviếtlạicáchàmcósẵn.TTTTổổổổngngngngkkkkếếếếttttTrongbàinàybạnđãđiqua7trêntổngsố21lỗimàlậptrìnhviênPHPmắcphải.Nhữnglỗigiáokhoanàybaogồm:SSSSửửửửddddụụụụngngngngsaisaisaisaihhhhààààmmmmprintf()printf()printf()printf()ÁÁÁÁppppddddụụụụngngngngsaisaisaisaingngngngữữữữnghnghnghnghĩĩĩĩaaaaThiThiThiThiếếếếuuuuttttààààiiiililililiệệệệuuuutrongtrongtrongtrongmmmmããããngungungunguồồồồnnnnDDDDùùùùngngngngququququáááánhinhinhinhiềềềềuuuubibibibiếếếếnnnnttttạạạạmmmmViViViViếếếếttttllllạạạạiiiiccccáááácccchhhhààààmmmmccccóóóóssssẵẵẵẵnnnnKhKhKhKhôôôôngngngngttttááááchchchchbibibibiệệệệttttphphphphầầầầnnnnkhkhkhkháááách/chch/chch/chch/chủủủủDDDDùùùùngngngngccccááááccccccccấấấấuuuutrtrtrtrúúúúccccllllỗỗỗỗiiiiththththờờờờiiii//Bad/OutdatedPracticewhile(1):print"5";if($idx++==5):break;endif;endwhile;//BetterPractice//(thecodecouldbeoptimizedthough)while(1){print"5";if($idx++==5){break;}}?>PHP programming dynamic webforewreybody21Fatalerrorsin programming withPHP–CollectfromwrittingofSterlingHughesNGUYENANHKHOA–Class27K0A–DepartmentOfInformationTechnology17171717Dormitory204.B518:20PMApril7,2006KiểmtrakếtquảlờigọihàmKiểmtrakếtquảlờigọihệthốngĐặtmứcerror_reportinglàE_ALLtrongtậptinphp.ini1.1.1.1.1.1.1.1.KiKiKiKiểểểểmmmmtratratratrakkkkếếếếttttququququảảảảllllờờờờiiiiggggọọọọiiiihhhhààààmmmmMỗikhibạngọimộthàmlàmthayđổinhiềudữliệu,luônkiểmtrađểđảmbảorằngkếtquảtrảvềtrongphạmvigiátrịđượcchấpnhận(arangeofallowablevalues).Trongthídụdướiđây,mộtlỗiillegaldivisionbyzerosinhratronglầnlặpthứ6củavòngfor($iđượctănglên1trongkhi$jbịgiảmđi1).Vàolầnthứ6,khiđó$i=$j=0.<?phpmt_srand((double)microtime()*10000000);functiondo_math($a,$b){return(($a-$b)*2)/mt_rand();}for($i=5,$j=-5;$i>-5;$i...
  • 27
  • 592
  • 0
Core PHP programming   using PHP to build dynamic web sites

Core PHP programming using PHP to build dynamic web sites

Kỹ thuật lập trình

... HTML forms, communicate with databases, and make Core PHP Programming IT-SC book 1 Core PHP Programming Using PHP to Build Dynamic Web Sites Leon Atkinson Publisher: Prentice Hall PTR ... Lunch from a Form print Core PHP Programming IT-SC book 21Part I: PROGRAMMING WITH PHP The first part of this book is a thorough discussion of PHP as a programming language. You will be ... detailed, real-world insights into PHP 4 program design and debugging! Core PHP Programming delivers: Core PHP Programming IT-SC book 26are described in detail in Section Two, but you might...
  • 671
  • 385
  • 0

Xem thêm

Tìm thêm: hệ việt nam nhật bản và sức hấp dẫn của tiếng nhật tại việt nam xác định các nguyên tắc biên soạn khảo sát các chuẩn giảng dạy tiếng nhật từ góc độ lí thuyết và thực tiễn tiến hành xây dựng chương trình đào tạo dành cho đối tượng không chuyên ngữ tại việt nam điều tra đối với đối tượng giảng viên và đối tượng quản lí khảo sát thực tế giảng dạy tiếng nhật không chuyên ngữ tại việt nam khảo sát các chương trình đào tạo theo những bộ giáo trình tiêu biểu nội dung cụ thể cho từng kĩ năng ở từng cấp độ xác định mức độ đáp ứng về văn hoá và chuyên môn trong ct phát huy những thành tựu công nghệ mới nhất được áp dụng vào công tác dạy và học ngoại ngữ mở máy động cơ lồng sóc mở máy động cơ rôto dây quấn các đặc tính của động cơ điện không đồng bộ đặc tuyến mômen quay m fi p2 động cơ điện không đồng bộ một pha sự cần thiết phải đầu tư xây dựng nhà máy phần 3 giới thiệu nguyên liệu từ bảng 3 1 ta thấy ngoài hai thành phần chủ yếu và chiếm tỷ lệ cao nhất là tinh bột và cacbonhydrat trong hạt gạo tẻ còn chứa đường cellulose hemicellulose chỉ tiêu chất lượng theo chất lượng phẩm chất sản phẩm khô từ gạo của bộ y tế năm 2008 chỉ tiêu chất lượng 9 tr 25