Praktikal na Web Based Deep Learning at Security sa pamamagitan ng Halimbawa

Sa pamamagitan ng Daisy
Praktikal na batay sa web na pag -aaral at seguridad sa pamamagitan ng halimbawa Pangatlong edisyon Charlotte Harper Hulyo 3, 2024 Foreword: Ang mga pagsasaalang -alang sa seguridad sa pagbuo ng software para sa web ay isang mahalagang bahagi ng anumang plano at pagpapatupad ng web developer habang ang engineering isang prototype na maaasahan, matatag, at kapaki -pakinabang para sa mga praktikal na layunin. Ang DOM (dokumento object markup), na may pagpapatupad ng HTML, JavaScript, at CSS pati na rin ang backend software na nagpapatupad ng Python, C/C ++, Java at Bash, bigyan ang mga web developer ng kalayaan at kapangyarihan upang lumikha ng isang iba't ibang mga proyekto na nagpapahayag pagkamalikhain, magbigay ng kadalian ng paggamit at pag -andar, naglalarawan ng pagpapakumbaba at karakter, at nagbibigay ng kadalian ng paggamit pati na rin ang kaginhawaan at mahahalagang serbisyo na lahat ay kaakit -akit sa average na joe, ang end user Naghahanap upang pumatay ng oras o makakuha ng isang bagay na tapos sa internet, karaniwang sa isang touchscreen smartphone aparato. Karamihan sa mga tao ay hindi alam kung saan magsisimula kung nais nilang bumuo ng isang website mula sakumamot, malamang na magsimula sila sa website ng ibang tao at bumuo ng isang bagay na limitado sa pag -andar, pagiging maaasahan, kadalian ng paggamit at lalo na ang pagkamalikhain kapag maaari silang magkaroon ng lahat ng pinakabagong mga makapangyarihang tool sa kanilang pagtatapon upang makabuo ng isang bagay na kapaki -pakinabang nang walang pag -aaksaya ng mga pindutan ng pagpindot sa oras . Kung mayroon kang ilang minuto upang mabasa ang librong ito at alamin kung ano ang nais kong ituro sa iyo, o kahit na makipag -usap sa akin nang personal tungkol sa iyong mga layunin at makakuha ng ilang gabay sa tamang direksyon, at hinikayat na malaman na mag -code at magsulat ng iyong sariling software . Tungkol sa akin: Ako ay isang developer ng softwareSaklaw ng karanasan sa C/C ++, Java, Python, HTML, CSS at JavaScript. Nagtatayo ako ng mga website na nais gamitin ng mga tao, nais na bisitahin, at kahit na gumon sa paggamit lamang upang malaman, muling likhain at patayin ang oras, at pinaka -mahalaga, nagbebenta ako ng software. Kung mayroon kang isang ideya tungkol sa eksaktong kung paano mo nais ang isang website upang tumingin at gumana, handa kang suportahan ako upang matugunan ko ang aking sariling mga pangangailangan habang nakatagpo ako sa iyo, at handa kang masakop ang mga gastos sa pagpapatakbo ng isang website sa iyong sarili, Itatayo ko sa iyo ang susunod na YouTube, Tiktok, Twitter, Google, o kahit na isang high-tech na security app lamang na maaari mong ma-access. Sa halip na subukang ibenta sa iyo ang aking oras, sinusubukan kong bilhin ang iyong: Nais kong pag -usapan ka sa pagbuo ng isang app (website) sa iyong sarili na may impormasyon na mayroon na, at turuan ka kung ano ang kailangan mong maging isang independiyenteng developer ng software, negosyante, nangunguna sa isang matagumpay na karera sa anumang larangan na nais mo. At hayaan akong maging malinaw, ang edukasyon na ibinibigay ko sa iyo ay hindi impormal. Maaari kang pumasok sa paaralan at malaman ang lahat ng ito sa aPormal na edukasyon, o basahin ang librong ito sa paaralan, kumpletuhin ang iyong mga takdang -aralin, at mag -alis ng isang mahusay na pakikitungo mula sa iyong edukasyon, ngunit hindi kita pormal na ilalagay sa mainit na upuan at hilingin sa iyo na makumpleto ang mga takdang -aralin. Hindi ako ang iyong propesor, maaari mong isipin ako tulad ng isang kaibigan na nais na gabayan ka patungo sa isang karera na hinimok ng iyong sariling personal na tagumpay. At hindi rin ako nagbebenta sa iyo ng tagumpay, kakailanganin mong bilhin ito sa iyong oras. Ang pag -aaral sa code ay may isang matarik na curve sa pag -aaral at hindi madali, o kahit na dapat. Kailangan mong magtrabaho nang husto hangga't maaari mong at magpatuloy na subukan at mabigo at subukang muli kahit na nabigo ka upang malaman at bumuo ng mga app sa iyong sarili. Iyon ay sa likas na katangian ng code mismo. Ang Code ay pinapatakbo ng isang tagatala na idinisenyo upang bigyan ang mga mensahe ng error sa programmer, at tuturuan ka nito kung paano mag -code, kahit na kinokopya mo lamang ang error sa iyong search engine at pagbabasa ng mga halimbawa ng ibang tao. At dapat kong sabihin, hindi mo kailangang maging sobrang mayaman, matalino,essful, o kahit na detalye na nakatuon o nakaayos upang makabuo ng isang app. Inaalagaan ng computer ang samahang iyon para sa iyo. Kailangan mo lamang magtiyaga sa pamamagitan ng pagsubok at pagkakamali, mapanatili ang pokus at magsikap sa iyong ginagawa, at magkakaroon ka ng isang matagumpay na karera sa kabuuan ng iyong ginagawa. Sino ako: Napagtanto ko na ang huling seksyon ay higit pa tungkol sa pag -aaral at ang iyong mga paraan mula sa aklat na ito. Sino ako eksakto? Iyon ay isang kumplikadong tanong. Hindi ako malinaw sa aking sarili, habang nagdurusa ako sa mga kondisyong medikal na maaaring maging mahirap para sa akin kahit na code o isulat ang aklat na ito minsan, habang ipinapakita ang mga hamon na may mga isyu sa pagsasapanlipunan at pagkakakilanlan na nagpapahirap sa aking buhay pagdating sa pagpapakilala sa aking sarili . Sa madaling sabi, kung binabasa mo ang librong ito, dinala mo ito sa bahay dahil na -flip mo ito at naisip na kapaki -pakinabang ito, o kahit na nabasa mo lang ito, sa iyo ako ay isang katulad na indibidwal na nais na makita kang magtagumpay sa lahat ng ginagawa mo. Ako ay isang inhinyero mismo,nag -develop, at isang mag -aaral, at isinusulat ko ang librong ito para sa iba pang mga mag -aaral na nais na gawing mas madali ang kanilang buhay sa pamamagitan ng pagkakaroon ng isang handbook ng software na kailangan nilang gawing mas madali ang kanilang buhay sa pamamagitan ng pagbibigay ng mga halimbawa upang kopyahin na magkakasama tulad ng isang malaking palaisipan sa isang nagtatrabaho , kapaki -pakinabang, malaki, pag -andar, cohesive, at nakakaengganyo na app na maaaring magmaneho ng tagumpay kahit na ang linya ng negosyo. Lalo na, ito ang ginagawa ko: Nagtatayo ako ng mga app upang matulungan ang aking sarili at ang ibang tao ay magtagumpay. Ako rin ay isang may -akda, kahit na ito ang aking unang publikasyon na balak kong makumpleto upang magkasama ang aking portfolio sa isang kapaki -pakinabang na dokumento, at ako ay isang artista din. Aaminin ko ito sa iyo, ako ay uri ng isang kakaibang tao. Hindi ako perpekto, pinatakbo ko ang INS kasama ang batas kahit na humahantong sa akin na mag -iwan ng mga kolehiyo at unibersidad at mag -iwan ng mga estado upang subukang gumawa ng isang pangalan para sa aking sarili na may higit na tagumpay. Ako ay isang babae sa pamamagitan ng kapanganakan, nagsusuot ako ng pampaganda, kumuha ng litrato ng aking sarili, magsuot ng damit at iba pang damit ng mga kababaihan, at nananatili akong may kamalayan sa aking sarili bilang isangBabae ayon sa kalikasan. Nagkaroon ako ng mga isyu sa ibang mga tao sa nakaraan na humantong sa mga pakikibaka sa pagsulat at pagbuo ng mga webapp, at humihingi ako ng paumanhin na hindi ko pa nakuha ang aklat na ito sa iyong mga kamay nang mas maaga: kailangan mo ito. Gusto mong basahin at isulat ang code na katulad ng minahan at gumagana tulad ng minahan at ginagawa ang parehong bagay ngunit mas mahusay, dahil kung makakaya mong bilhin ang librong ito sa halip na mashing ang iyong keyboard tulad ng ginagawa ko upang lumikha lamang ng isang libro sa iyong sarili na humihiling ng pera Para dito, mayroon kang mga mapagkukunan na kailangan mong maging matagumpay sa iyong buhay. Nagkaroon ako ng lahat ng uri ng mga isyu sa paglaki ng pamilya, mga kondisyon ng kalusugan, mga doktor, media, at batas, at ang aking code ay malalim na sumasalamin sa pakikibaka na pagkababae at babaeng kalikasan sa isang nahahati at bigo na mundo. Gayunpaman, ang librong ito ay isang bagay na labis kong pinapahalagahan, ang aking sanggol, ang aking portfolio, at ang aking kabuhayan, kaya pinahahalagahan ko ang iyong pagsasaalang -alang kapag kinuha mo ang teksto sa bahay at maingat na sinimulan ito upang malaman mula sa akin. Mangyaring tandaan na hindi akoect, ang aklat na ito ay magkakaroon ng mga pagkakamali, pagbabago, at mga bagong edisyon, at kakailanganin mong mag -isip sa iyong lohikal na utak hangga't maaari upang magkaroon ng isang matagumpay na karanasan sa aking pagsulat. Gayundin, maunawaan na ang ibig kong sabihin ay mabuti para sa iyo kahit na nahaharap ka sa mga hamon kapag nagsusulat. Isipin ito tulad nito: Kapag maaari ka lamang magrenta ng isang computer system upang gawin ang anumang maaari mong isipin sa digital na puwang, itabi ang lahat ng impormasyong nakatagpo mo, #$%! Yze at ayusin ito, at maunawaan mo ito, gagawin mo Hindi maiiwasang makatagpo ng mga paghihirap sa impormasyong iyong ingesting at kahit na pag -publish. Sinasabi ko ito sa iyo dahil nakatagpo ako ng parehong mga paghihirap. Gamitin ang librong ito sa iyong sariling peligro, makipagtulungan sa iyong komunidad at mga komunidad na magagamit mo upang makabuo ng software sa loob ng isang ligtas na setting, at huwag kumuha ng mga bagay nang personal kapag nabigo ka o kahit na magtagumpay sa maling paraan: ganyan ang nakuha ko sa ngayon , at kung bakit maaari kong dalhin sa iyo ang tekstong ito at tulungan kang magtagumpay nang walang pag -iiba sa isang landas ng kabaliwanAng Aves Me wasak, napunit at nag -fray habang nakatagpo ako ng mga ordinaryong problema na ginagawa ng lahat sa isang pandaigdigang sukat salamat sa paralellistic global scale ng network kung saan tayo gagana, ang Internet. Maaaring hindi ka masyadong pamilyar sa kung sino ako sa ilang mga salita, ngunit hinihikayat ko kayong basahin, makikilala mo ako habang patuloy kang nagbabasa at nauunawaan ako habang nagtatayo ng iyong sariling mga proyekto upang makumpleto ang iyong trabaho. Hindi magkakaroon ng araling -bahay sa librong ito, hangga't ang iyong mga propesor o guro ay hindi magtatalaga sa iyo ng anuman, ngunit lubos kong hinihikayat ka na magtayo ng isang portfolio ng mga proyekto sa iyong sarili habang binabasa mo, pati na rin ang isang proyekto ng capstone na nagpapakita kung paano mo magagawa Ilapat ang natutunan mo. Ang aking proyekto sa Capstone ay ang batayan para sa karamihan ng iyong babasahin sa aklat na ito, dahil isinasama nito ang code mula sa aking mga nakaraang proyekto, code na nilikha ko at natutunan na sumulat ng pamamaraan sa pamamagitan ng kamay, at isang malawak na hanay ng mga ideya at tip na nakatulong sa akin magtagumpay sa punto kung saan maaari kong paikutin ang isang simpleng app naGanap na itinampok at hitsura at kumikilos tulad ng isang tanyag na app na maaari mong makita ang iyong kaibigan o pamilya na ginagamit, sa internet, na -advertise sa iyo, o sa balita. Ano ang aklat na ito: Ang librong ito ay isang tutorial sa pamamagitan ng halimbawa. Maaari kang makahanap ng code dito, mga tagubilin para sa kung paano matutong mag-code, impormasyon sa pag-debug ng code at pag-aayos ng mga error, mga hakbang sa pag-aayos, mga tagubilin sa kung paano i-back up at i-save ang iyong code, muling deploy kung may sinira ang iyong code, secure ang iyong code, mag-deploy Ang iyong code, bumuo ng mga interactive na website na nakakaaliw, nakakaengganyo, at nakakahumaling, at makakakuha ka ng isang kahulugan kung sino ako, kung bakit mahalaga ito, at kung paano ilarawan ang iyong sarili, ang iyong app at imahe ng kumpanya, pati na rin ang software Nagtatayo ka sa ganap na pinakamahusay na ilaw upang maging pinaka -kaakit -akit hangga't maaari sa iyong mga end user, ang mga bisita ng iyong website. Sa librong ito, magpapakita ako ng isang bilang ng mga halimbawa ng disenyo ng software na may pagtuon sa web bilang isang platform pati na rin ang seguridad. Sisimulan namin ang karanasan sa pag -aaral sa pamamagitan ng pagbuo ng isang pangunahingOject gamit ang UNIX shell, na may mga backup at tampok na script. Pagkatapos, susuriin namin ang isang pangunahing website ng blog, i -upgrade ang aming blog na may mga tampok ng larawan at video pati na rin gamitin ang mga tampok na ito upang gumamit ng mga solusyon sa seguridad gamit ang libreng software, at ma -secure ang aming server gamit ang isang Module ng Pluggable Authentication (PAM). Susuriin namin pagkatapos ang paghawak ng file at pagproseso, paggalugad ng pag -edit ng video, donasyon ng boses, pag -scan ng barcode at pagkilala sa optical character, bukod sa iba pang mga konsepto. Kasabay ng susuriin natin ang mga API na makakatulong sa amin na gawing mas kapaki -pakinabang at ligtas ang aming software, na may libre at bayad na mga pagpipilian. Kasabay nito, galugarin namin ang pisikal na seguridad at militanteng mga tool tulad ng disenyo ng mga baril at munisipyo at pagmamanupaktura kabilang ang disenyo ng bariles at repeater, disenyo ng turret at drone, at iba pang mga punong -guro na isasama namin sa aming software sa umiiral na network upang maprotektahan ang aming software at ipakita ang pagtatanggol sa sarili at pagiging matatag. Magpapahinga kami sa daan upang makabuo ng mga laro, 2d at 3dAng mga endering engine, at nagtatrabaho sa naka -embed na hardware sa kaso ng pag -aaral ng mga halimbawa ng pangunahing dimensional na pag -render ng software at isang electronic vibrating massager cast sa silicone goma ayon sa pagkakabanggit. Kasabay nito, magagamit din namin ang mga solusyon sa pag -aaral ng machine na magagamit upang mas mahusay na ma -secure ang aming software. Gumagamit din kami ng mga tool sa stock na magagamit para sa web upang mai -streamline at ma -secure ang proseso. Ang librong ito ay isang gabay sa iyong tagumpay sa pagbuo ng isang web application at pagsasama nito sa isang propesyonal na network ng computer at naka -embed na mga mekanikal na sistema, at pangkalahatang isang gabay sa pagbuo ng software at naka -embed na hardware na walang kaalaman sa background o nakaraang karanasan. Ano ang aklat na ito ay hindi: Kung talagang nais mong magkaroon ng isang website, maaari ka lamang mag -set up ng isang simpleng tindahan at ibenta ang kailangan mo, mag -post ng isang blog, mag -post ng mga larawan o video, o kung hindi man nang hindi nagsusulat ng isang linya ng code. Ang librong ito ay hindi iyon. Tuturuan ka ng librong ito kung paano bumuo ng software na mas kapaki -pakinabang, ganapItinampok, functional at secure kaysa sa anumang software na maaari mo nang mahanap, dahil ipinapadala nito ang pinakabagong software na pa rin mga prototypes, maaaring mamahaling tumakbo sa isang scale na mas matatandang kumpanya na gumana, at hindi apila sa paatras, pinagsama -samang mga kumpanya na naka -set up sa Kumita ng pera para sa mga taong wala talagang ginagawa. Kung susundin mo nang mabuti ang librong ito, nais mong magsulat ng code, code ng pananaliksik, bumuo ng iyong sariling mga app, at makakakuha ka ng pera mula sa iyong ginagawa. Gumagawa ako ng pera mula sa librong ito, kahit na sa mga unang yugto, sapagkat naglalaman ito ng impormasyong kailangan ng mga tao at nais na basahin, at bumibili na sila kapag binili o ginagamit nila ang aking mga app. Ang librong ito ay hindi magtatayo ng isang app para sa iyo, ngunit ituturo ka nito sa tamang direksyon at braso ka ng mga tool na kailangan mo at ang mga kasanayan at mga tip na mapadali ang iyong sariling tagumpay sa pagbuo ng software para sa web, sa bawat linya ng Code kakailanganin mong sumulat bilang isang halimbawa, handa nang magkasama sa software na ikaw at ang iyong mga tagasuporta, panauhin, kliyente,Ang mga riends, pamilya, bisita, kontratista, at ang mga tao sa Internet ay nais gamitin at suportahan. Ano ang matututuhan mo: Ituturo sa iyo ng librong ito kung paano bumuo at magbenta ng software, talagang functional, kapaki -pakinabang na software, pag -record ng media, mga tampok ng seguridad tulad ng pagkilala sa facial, machine na mababasa na zone barcode scan, mga web API upang mapatunayan, mag -record at mag -render ng video at mga larawan, at mga mensahe ng palitan tulad ng Bluetooth at malapit sa Field (NFC) na komunikasyon. Ituturo sa iyo ng librong ito kung paano gumamit ng isang network na computer, na nakatuon sa debian Linux, kung paano bumuo ng bash code upang makagawa ng pag -install at pag -back up ng iyong software ng isang walang tahi, awtomatikong simoy, kung paano bumuo ng code ng python bilang isang backend upang maghatid ng mga dynamic na mensahe, estilo Ang mga bagay na mahusay na gumagamit ng mga estilo ng CSS na may bootstrap, paganahin ang mga logins ng gumagamit at pakikipag -ugnay sa pamamagitan ng mga aparato na may network, bumuo ng interactive na media at network sa iba pang mga website upang mag -alok ng mga tampok ng seguridad tulad ng mga text message para sa pag -verify o iba pa Mga layunin, pag -scan ng ID, pag -moder ng imahe at video, dataMga ransaksyon upang mapanatili ang iyong software na ligtas, pagproseso ng pagbabayad, pangangalakal ng cryptocurrency, mga gawain na hindi sinasadya, at marami pa. Malalaman mo kung paano bumuo ng iyong sariling mga aparato ng Bluetooth, na may mga baterya, charger, microcontroller, circuit, motor at sensor, gamit ang panghinang, wire at 3D na nakalimbag pati na rin ang mga materyales sa cast. Ipapakita ko ang mga punong -guro ng disenyo ng 3D na inilalapat sa additive manufacturing at tool at die paggawa, kaya nagagawa mong gumawa ng iyong sariling naka -embed, mga aparato ng hardware na may mga pinagsamang baterya, charger, electronic circuit, at functional output. at i -network ang mga ito sa Bluetooth at sa web. Partikular, susuriin natin ang dalawang pag -aaral sa kaso, isang panginginig ng massager at isang gawang bahay na baril, na parehong na -program sa OpenScad, na magagamit bilang isang graphical interface o utility ng linya ng linya at maaaring maisama sa isang web para sa mga resulta ng bilis. Malalaman mo kung paano bumuo at mag -deploy ng isang website mula sa ground up na walang naunang karanasan, gawin itong functional, secure, maganda, kapaki -pakinabang at karamihanpraktikal na praktikal. Malalaman mo kung paano gamitin ang pag -aaral ng machine at pangitain sa computer upang gawing ligtas at mas praktikal ang isang site, mag -record ng video at audio mula sa iyong website, ibigay ang iyong boses, gumawa ng musika at baguhin ang audio upang lumikha ng mga kapaki -pakinabang na halimbawa, at kung paano masira ang ingay sa pamamagitan ng Pag -agaw ng iba pang mga website upang mabuo ang pinakamahusay na posibleng network ng mga website na maaari mong mai -link nang direkta sa iyo upang maibahagi ang lahat ng mga kapaki -pakinabang na impormasyon na mayroon ka upang mag -alok, at kahit na mas mahalaga na dalhin ang mga tao sa iyong software at negosyo. Ang librong ito ay mas nakatuon sa media, seguridad at pag -aaral ng makina, na siyang pangunahing tatlong sangkap na makakatulong sa iyo na bumuo ng kapaki -pakinabang na software para sa web sa pamamagitan ng pagsali sa mga tamang gumagamit at pag -disengaging mga mali sa isang paraan na makatotohanang, praktikal, mga kamay at nakakaengganyo habang awtomatiko, at matibay. Itinuturo ng aklat na ito ang Unix, partikular na Debian (Ubuntu), Bash Shell, Python, HTML, CSS, JavaScript, at isang bilang ng mga kapaki -pakinabang na pakete ng software para satulad ng mga kahilingan, pati na rin ang kapaki -pakinabang na software ng bash tulad ng git at ffmpeg. Tuturuan din kita kung paano awtomatikong ipagpalit ang cryptocurrency, at kumuha ng mga pagbabayad sa cryptocurrency o mula sa regular na mga debit card habang binabayaran ang iyong mga bisita ng isang bahagi ng iyong kita kung pipiliin mong gawin ito. Ituturo ko sa iyo kung paano kumita ng pera mula sa iyong website sa pamamagitan ng advertising din, kung paano ihanda ang iyong app para sa mga search engine at gawin itong mabilis, na na -ranggo sa unang pagraranggo para sa kung ano ang hahanapin ng iyong mga customer upang mahanap ka, at mag -ranggo ng maraming karaniwan mga paghahanap hangga't maaari. Ituturo ko sa iyo kung paano ibenta ang iyong software, i -advertise ito, mag -apela sa mga kliyente na naghahanap ng iyong mga serbisyo, at gumawa ng isang pangalan para sa iyong sarili sa internet sa pamamagitan ng mga avenues na mayroon na, ay mura, at gumana nang maayos. Ituturo ko sa iyo kung paano i -save ang iyong data sa mga computer ng ulap na gumagana para sa iyo at i -save ang iyong data nang mura, kung paano magplano at bumuo ng isang website na ginagawa kung ano ang nais ng iyong mga gumagamit at kung ano ang gusto mo, at kung paano panatilihin ang iyong mga gumagamit na makisaliAng iyong site ay isang gripo sa kanilang mga telepono na may mga abiso, email, mga text message, tawag sa telepono, at higit pang mga paraan upang maibalik ang iyong mga gumagamit sa iyong website sa iyong pagtatapon sa likod ng pag -click ng isang pindutan na na -secure sa iyo lamang. Ang aklat na ito ay tututuon sa pagiging praktiko ng pag -publish at pamamahagi ng media sa maraming halaga, mula sa teksto hanggang sa mga larawan hanggang sa mga video hanggang sa audio, paggawa ng isang mahusay na impression sa mga end user (iyong kliyente), at pagbebenta ng iyong sarili sa anumang paraan na ginagawa mo upang lumikha Ang isang website, isang app na kinatawan mo at ikaw lamang, at ginagawa ka, ang iyong software at ang iyong kumpanya ay maganda sa pinakamahusay na paraan na posible. Malalaman mo rin ang ilang mga tip at trick mula sa akin, mula sa mga tip sa pag -cod, praktikal na walang kabuluhan tulad ng pampaganda at pagkuha ng litrato, pagmomolde at kumikilos, at higit pa, na magiging mahalaga para sa paglalarawan ng iyong sarili at sa iyong kumpanya sa pinakamahusay na posibleng ilaw gamit ang lahat ng mga tool na magagamit sa iyo habang namamahagi ng maraming nilalaman hangga't kailangan mo sa isang malusog na balanse ng mga platform upang dalhin ang iyonge na magbunga nang walang mas pagsisikap, trabaho, o pera kaysa sa kinakailangan. Ang aklat na ito ay tinatawag na "Practical Web Based Deep Learning and Security sa pamamagitan ng Halimbawa" para sa isang kadahilanan: Nakikipag -usap ito sa pag -aaral sa code, partikular para sa web, partikular na may pagtuon sa seguridad, mula sa isang praktikal na paninindigan, na may mga halimbawa ng nagtatrabaho code na nagsisilbi Ang mga praktikal na layunin na nakabalangkas sa teksto. Ang sangkap ng pag -aaral ng tekstong ito ay sumasaklaw din sa pag -aaral ng machine, ang code na ipapakita ko sa iyo kung paano tumakbo para sa web na hahawak sa paningin ng computer, pagkilala sa mukha, pag -moderate ng imahe at video, pagpapahusay ng imahe, pagpapahusay ng resolusyon, pag -caption ng imahe, at iba pang mga gawain tulad ng Ang mga sukatan ng hula na nagmula sa mga imahe, tulad ng likas na katangian ng imahe bilang isang tunay, imahe na inilipat ng computer, o isang optical na kopya (isang larawan ng isang imahe, o nakalimbag na larawan). Napakahalaga ng pag -aaral ng makina pagdating sa seguridad sa web at software ng seguridad, dahil maaari itong mag -preform ng mga gawain na kung hindi man imposible. Ang iyong computerMag -log ka sa isang passcode, ngunit maaaring mas ligtas na gamitin ito kung nag -log ka sa iyong mukha. Maaari kang gumawa ng isang computer ng server na ito ay ligtas, isang computer na karaniwang hihilingin sa iyo para sa isang username at passcode at mag -log in ka, marahil sa isang token ng kumpirmasyon para sa bawat bagong pag -login o bagong IP address, ngunit kung nagtatayo ka ng malaking sukat, madali Gumamit, panimula na ligtas, at malakas na software, maaaring ito ay sapat. Ang pagtali ng iyong software ay masyadong malapit sa software ng ibang tao, tulad ng isang serbisyo sa email o serbisyo ng text message, ay hindi sapat upang ligtas ang iyong software, o sinuman (anumang site na ginagamit mo). Ang sinumang nagtatayo ng software na hindi maiiwasang ligtas ay may ilang kahulugan sa kung ano ang ipinahihiwatig nito. Ang software ay likas na hindi sigurado dahil ang mga aparato at account na ginagamit namin upang ma -access ito ay hindi palaging nasa aming pagtatapon, maaari silang nasa kamay ng sinumang may masamang hangarin para sa software at sa gayon ay maaaring magdulot ng isang panganib sa software mismo. Ito ay isang bagay ng pokus ng aklat na ito. Ang isang network na computer ay sa pamamagitan ng defaultNa -secure na may isang mahabang key token, tinawag at SSH o Secure Shell key, at kung hindi man ay pinakamahusay na na -secure sa isang web server, dahil ang web server ay nagbibigay ng bukas na pag -access pati na rin ang estado ng mga tool sa seguridad ng sining na tumatakbo sa server mismo. Ang web server ay may access sa web browser ng gumagamit, na kung saan ay maaaring ang pinakamalakas na bahagi ng aparato ng gumagamit, dahil ito ang lugar kung saan ma -access ng gumagamit ang network na software. Ang toolkit na ito ay maaaring mag -render ng teksto, ang mga webpage na nakikita mo, at maaari ring magrekord ng mga imahe, audio at video (tulad ng isang larawan ng isang mukha o isang estado ng ID), ay maaaring basahin at isulat sa mga aparatong radyo ng Bluetooth, at maaaring basahin at isulat sa Malapit na Patlang Mga tag ng transponder, murang mga key card, fob, sticker, singsing at kahit na mga implant ng chip na may natatanging mga serial number na maaaring mabasa at isulat sa data na nabuo at napatunayan ng isang web server na nakatali sa web site. Gamit ang lahat ng mga tool sa iyong pagtatapon, kasama ang librong ito ay bibigyan mo ng kasangkapan ang iyong sarili sa kaalaman upang makabuo ng isang ligtas na website, at pangkalahatang aAng sistema ng computer na naka -network na gumagana para sa iyo, ginagawa ba ang iyong pag -bid, at hitsura at pakiramdam ng tama. Saan magsisimula: Malugod kang lumaktaw sa seksyon na sinimulan ko ang librong ito, o anumang seksyon, sa eksaktong code na kailangan mo, lalo na kung mayroon kang karanasan sa pag -cod bago o alinman sa nabanggit na mga tool ay ilalarawan ko nang detalyado sa aklat na ito bilang pati na rin ang pagdodokumento ng mga kaso ng paggamit at praktikal na mga halimbawa nito. Kung wala kang karanasan sa pagsulat ng code, lubos kong inirerekumenda na basahin mo ang lahat ng aklat na ito, at lalo na inirerekumenda na basahin mo ang mga nakaraang seksyon, upang matiyak na tama ang aklat na ito para sa iyo. Kung ang aklat na ito ay hindi tama para sa iyo, isaalang -alang ang pagbago nito sa isang kaibigan o kamag -anak na maaaring interesado na malaman ang tungkol sa pag -unlad ng web, at isaalang -alang ang paghiram nito at pag -aaral mula sa kanila upang punan ang mga gaps kung saan nabigo kita bilang isang Guro, o iba pang mga guro sa harap ko. Simulan kung saan ka, ang bawat bahagi ng aklat na ito ay magiging kapaki -pakinabang kung balak mong bumuo ng isang kapaki -pakinabangPP, at isaalang -alang na ang pinakamahusay na mga app ay binuo gamit ang end user sa isip: alamin ang iyong customer. Ngayon kilala mo ako, alam mo ang librong ito, at handa ka nang magsimula. Upang magsimula, kumuha ng isang computer (kahit na ang pinakamurang laptop mula sa isang tindahan ng kahon, Amazon, o isang lumang desktop ay gumagana, at itakda ito sa isang paraan na gumagana para sa iyo. Paano basahin ang librong ito: Ang naka -highlight na teksto, nagsasaad na ang teksto ay kabilang sa isang command prompt, kung saan isusulat mo ang code na iyong pinapatakbo. Ang command prompt ay mabigat na keyboard na nakatuon at nangangailangan ng kaunti upang walang pag -click, pabilisin ang iyong daloy ng trabaho at gawing mas madali ang mga bagay sa iyo. Pagsisimula: Sumisid tayo. Magsisimula kami sa pamamagitan ng pagbuo ng code sa isang lokal na makina at magsimula nang hindi nagtatayo ng isang website na konektado sa internet. Ito ay mas ligtas upang magsimula sa, walang gastos, at madali para sa iyo. Depende sa iyong operating system, ang pagpasok sa isang bash shell ay medyo naiiba. Para sa Mac OS, inirerekumenda kong mag -install ng isang virtual machine sa puntong ito, dahil makakakuha ka ng pinakamaraming pagiging tugmaVirtual machine. Ang iba't ibang mga tagapagkaloob tulad ng VirtualBox at Paralells ay maaaring magpatakbo ng isang virtual machine para sa iyo, kahit na posible ring i -install nang direkta ang Ubuntu sa makina, kung mas gusto mong gumamit ng isang katutubong kapaligiran na inirerekomenda upang lumikha ng isang mabilis, naka -streamline na karanasan. Kung gumagamit ka ng Linux o Windows, na inirerekumenda ko, dapat itong madaling lumikha ng isang proyekto. Buksan ang iyong terminal, ayusin ang sizing tulad ng nakikita mong akma, at simulan ang pagsunod sa Hakbang 2. Kung gumagamit ka ng mga bintana, mangyaring sundin ang Hakbang 1. Hakbang 1: - Mga gumagamit ng Windows lamang Sa Windows, bukas na utos ng command bilang administrator at uri WSL -Install Hakbang 2: - Magpatuloy dito, o laktawan ang Hakbang 1 hanggang dito kung hindi ka gumagamit ng Windows Sa isang bukas na terminal, (depende sa iyong OS, na tinatawag na Ubuntu sa Windows, terminal sa Mac o Linux, o isang katulad na pangalan), magsimula sa pamamagitan ng paglikha ng isang proyekto. Ginagawa namin ito sa utos ng MKDIR, na lumilikha ng isang direktoryo. Kung kailangan mong lumikha ng isang direktoryo upang maiimbak ang iyong proyekto, na inirerekomenda, gamitin angutos ng cd na magbago sa direktoryo at at CD/PATH/TO/DIRECTORY - Ang landas ay ang mga folder (mga file) na nauna sa iyong direktoryo ng patutunguhan, ang iyong default na landas ay ~ o/home/username (kung saan ang username ang iyong username). Upang magbago sa default na direktoryo, i -type ang CD o CD ~ Halimbawa ng MKDIR - Palitan ang "halimbawa" sa pangalan ng direktoryo Ngayon mayroon kang isang direktoryo ng pagtatrabaho para sa iyong proyekto. Ang pagiging napakahalaga na mai -save ang direktoryo na ito kung sakaling kailangan mong lumipat sa ibang makina o i -deploy ang code na isinulat mo kaya handa na ito para sa web, magtatayo kami ng isang script upang mai -back up ang iyong direktoryo sa susunod na ilang mga hakbang. Ngunit ang pagbuo ng isang script ay tumatagal ng kaunting code, at ang code ay kailangang awtomatiko upang maging kapaki -pakinabang hangga't maaari. Kaya magtayo tayo ng isang script upang magtayo muna ng mga script. Magsimula tayo sa pamamagitan ng paglikha ng script at gawin itong maipapatupad. Gumagamit kami ng sudo, chmod at hawakan para dito, at tawagan ang script
sudo touch /usr/bin/ascript
sudo chmod a+x /usr/bin/ascript
sudo nano /usr/bin/ascript
Ngayon nilikha namin ang script, ginawa itong maipapatupad, at handa nang i -edit ito. Ang Nano ay isang text editor na hahayaan kang mag -edit ng teksto nang hindi nag -click, na mas madali kaysa sa paggamit ng isang interface ng graphic na gumagamit. Upang mai -edit ang isang file na may nano, gumamit ng nano at pagkatapos ay ang landas sa file. Upang makagawa ng isang script na gumagawa ng isang script, medyo katulad ito sa paggawa ng aming script sa unang lugar. Gagamitin namin ang parehong code tulad ng nasa itaas, na pinapalitan ang pangalan ng script, "ascript" na may parameter ng argumento, $ 1. Pinapayagan kaming tawagan ang script sa pamamagitan ng pag -type ng simpleng sudo ascript newscript, sa puntong ito maaari kaming lumikha ng anumang bagong script sa pamamagitan ng pagpapalit ng "Newscript" sa pangalan ng iyong script. Ang code sa nano ay dapat magmukhang:
sudo touch /usr/bin/$1
sudo chmod a+x /usr/bin/$1
sudo nano /usr/bin/$1
At upang isara ang nano, maaari nating pigilan ang control key at pindutin ang x, pagkatapos ay y upang ipahiwatig na nai -save namin ang file, at pindutin ang pagbabalik. Ngayon sa halip na i -type ang tatlong mga utos na ito upang mai -edit ang isang script, magagawa nating mag -type ng sudo ascript ascript upang mai -edit muli ang script. Gumagana ito! At ang anumang bagong script ay maaaring tumakbo nang madali sa pamamagitan ng pagtawag nito sa shell. I -save natin ang aming trabaho ngayon: Sumulat tayo ng isang backup script upang mai -save ang aming bagong script at pagkatapos ay i -back up ito sa aming direktoryo ng proyekto, habang sinusuportahan din ang backup script.
sudo ascript backup
Now, in nano:
sudo cp /usr/bin/backup /path/to/directory/
sudo cp /usr/bin/ascript /path/to/directory/
Kung saan/path/sa/direktoryo ay ang landas sa proyekto na nilikha mo kasama ang MKDIR. Mamaya matututunan natin kung paano kopyahin ang mga paulit -ulit na landas na tulad nito na may isang loop at isang listahan, na hindi gaanong code, ngunit sa ngayon panatilihin itong simple at magkaroon ng ilang mga linya. Upang patakbuhin ang script na ito at i -backup ang iyong code, i -save ang file sa nano na may control+x, y at bumalik, at i -type ang ibaba sa iyong shell
backup
Kung sinenyasan ka ng lahat para sa isang password habang binabasa ang librong ito at sumunod sa shell, mangyaring ipasok nang tama ang iyong password ng gumagamit, magkakaroon ka ng tatlong pagsubok bago mo kailangang muling patakbuhin ang utos. Maaari mong gamitin ang pataas at pababa na mga arrow upang mag -rerun ng mga utos at i -edit ang mga ito, dapat mong kailanganin ang anumang bagay nang dalawang beses. Simpleng pindutin pataas at pababa nang paulit -ulit upang pumili ng isang utos, bago i -edit ang utos gamit ang kanan, kaliwang arrow at tanggalin ang key pati na rin ang keyboard, at pinapatakbo ito nang may pagbabalik.
Binabati kita! Pinamamahalaang mong lumikha ng isang kahanga -hangang script ng backup na sumusuporta sa dalawang mahahalagang script ng shell sa iyong direktoryo ng pagtatrabaho. Maaari naming ilipat ang mga bagay sa paglaon habang ang proyekto ay nagiging mas malaki, ngunit ito ay gumagana para sa ngayon. Lumipat tayo sa pag -back up sa ulap, gagamitin namin ang GitHub para dito (kahit na maraming iba pang mga solusyon sa git para sa pag -backup, lahat sila Software habang ginagawa mo ang mga ito sa isang server, habangPinapagana ka rin upang i -download ang buong mga kopya ng iyong software sa likod ng isang password o key. Ito ay nakatulong sa pag -save ng iyong software, lalo na habang lumilipat kami sa mga secure na mga pagkakataon sa Linux na kung minsan ay masisira kapag nabigo ang isang solong linya ng code, iniwan kang naka -lock habang ang iyong code ay maaaring hindi mai -back up kung hindi ka makakakuha ng isang pagkakataon upang mai -back ito Awtomatikong, na tatalakayin namin.
Kung hindi ka pa gumagamit ng isang ubuntu virtual machine sa puntong ito, nag -reccomend ako gamit ang isang ubuntu virtual machine sa puntong ito sapagkat mas madali ang iyong buhay kapag mai -install ang lahat ng mga pakete na kinakailangan upang makabuo ng isang gumaganang website at preform malalim na pag -aaral operasyon sa iyong computer. Ililipat namin ang code sa isang web server sa malapit na hinaharap, ngunit nais naming tiyakin na may hindi bababa sa ilang mga layer ng seguridad sa likod ng aming web server na lumalaban sa phishing, at gumamit ng isang bilang ng mga pakete ng Linux upang magawa ito Kung nais mo pa ring gumamit ng Mac OS, malugod kang maghanap at mag -installe kinakailangang mga pakete sa online, ngunit maaaring walang mga kahalili para sa bawat pakete na saklaw ng aklat na ito o serye.
Magdagdag tayo ng ilang mga utos upang gawin ang aming gawain sa backup script sa pamamagitan ng pagpapatakbo ng command sudo ascript
# …
git add –all
git commit -m “backup”
git push -u origin master
Muli, kontrolin ang X upang makatipid.
Ngayon kailangan nating gawin ang isang oras na pagsasaayos para sa proyektong ito. Dahil sa lalong madaling panahon ay magiging isang proyekto ng git, hindi natin kailangang i -type ang bawat utos sa tuwing mag -deploy tayo mula sa isang imbakan ng git, ngunit kukunin natin ang hang nito kapag isinulat namin ang aming mga script ng pag -deploy. Upang magsimula, tiyakin na nasa tamang direktoryo tayo at simulan ang pag -iimbak ng git at makabuo ng mga susi ng SSH.
cd /path/to/directory
git init
git branch -m master
ssh-keygen
Matapos naming i-type ang SSH-Keygen, ang bagong susi ay dapat mai-save sa folder ng bahay sa ilalim ng isang folder na tinatawag na .ssh. Ito ay tinatawag na ID_RSA.pub. Hanapin natin ang susi na ito at kopyahin ito. Upang makita ito,
cd ~
cat .ssh/id_rsa.pub
Kopyahin ang teksto na ibabalik ng huling utos, at lumikha ng isang account gamit ang iyong GIT provider (perpektong github), bago idagdag ang SSH key sa iyong account. Kapag mayroon kang isang account, i -click ang kanang kanang menu at ipasok ang mga setting, bago idagdag ang iyong SSH key sa SSH at GPG key sa ilalim ng pag -access sa menu. Piliin ang Magdagdag ng isang SSH key at idagdag ang iyo sa pamamagitan ng pag -paste nito at bigyan ito ng isang pamagat, bago i -save at bumalik sa GitHub upang lumikha ng isang bagong imbakan. Ito ay katulad ng iba pang mga nagbibigay ng git, kakailanganin mong basahin ang kanilang dokumentasyon. Sa bagong pagsasaayos ng imbakan, bigyan ang iyong imbakan ng isang naglalarawang pangalan at magpasya kung nais mong mai -publish ito, at tiyaking i -configure ang wala pang mga file para sa pagsasama. Kapag nilikha ang imbakan, kopyahin ang clone na may SSH URL, at i -paste ito sa sumusunod na utos.
git remote add git://… (your remote URL)
Ngayon ay maaari kang bumalik sa iyong imbakan sa CD, pamilyar ka dito. Subukan ang iyong backup script ngayon na may backup
Mahusay! Ngayon ay maaari talaga tayong makakuha ng coding. I -install natin ang Django ngayon na mayroon kaming isang mahusay na pagkaunawa sa bash at git. Hahayaan tayo ni Django na awtomatikong i -back up ang aming software, magagawa din ito ni Bash ngunit ang Django ay dapat magkaroon ng isang mas simpleng mas ligtas na pagpapatupad (maaari itong hindi paganahin at mas madaling ma -configure).
Upang mai-install ang software sa Ubuntu, gagamitin namin ang utos ng sudo apt-get. Una, i -update natin at i -upgrade ang software na mayroon tayo. Maaari itong gawin sa pag-update ng sudo apt-get at sudo apt-get upgrade -y. Susunod, i-install natin ang Python at ang aming virtual na kapaligiran, ang tahanan ng aming code, kasama ang sumusunod na utos: sudo apt-get install python-is-python3 python3-venv
Ito ang kailangan mo upang makakuha ng pagpunta sa Django sa mga tuntunin ng mga pag -install ng software sa halimbawa ng Ubuntu. Para sa Windows at Linux ito ay dapat na medyo prangka, ngunit para sa Mac baka gusto mong mag -install ng isang virtual machine atAng Linux dito gamit ang isang libre o bayad na virtual na kapaligiran tulad ng VirtualBox o Paralells Desktop at muling likhain ang mga hakbang sa itaas upang mag -setup ng isang kapaligiran ng Ubuntu. Ang Ubuntu ay kritikal sa kasong ito sapagkat ito ang software na tumatakbo ang mga website at pinapayagan silang mag -host ng mga website na may lahat ng nabanggit na software.
Humukay tayo sa Django.
Sa aming direktoryo muli, kasama
python -m venv venv # Lumilikha ng virtual na kapaligiran kung saan naka -imbak ang code
source venv/bin/activate # Isinaaktibo ang virtual na kapaligiran
pip install Django
django-admin startproject mysite . # Kung saan ang Mysite ay ang proyekto na nagsisimula ako sa aking kasalukuyang direktoryo.
Sinimulan lang kami ni Django, dahil ang Django ay nagho -host sa web server at ginagawa ang lahat ng kailangan namin upang makakuha ng isang pangunahing lokal na website at tumatakbo. Ngayon na na -install namin si Django, i -edit natin nang kaunti ang mga setting upang gawin itong gumana kung paano natin kailangan. Una, lumikha tayo ng isang bagong app
python manage.py startapp feed
Mapapansin mo ang unang app ay tinatawag na feed. Ang app ay dapat tawaging anuman ang gusto mo, at gagawa kami ng mga bagong app, ngunit ang pangalan ng bawat app ay dapat na pare -pareho sa bawat oras na ang app ay na -refer sa code. Upang magdagdag ng isang bagong app, lagi naming mai -edit ang mga setting.py sa iba pang direktoryo na nilikha ng app, na pinangalanan sa StartProject, pagkatapos ng app. Gamit ang nano,
nano app/settings.py
Sa mga setting, maghanap ng mga naka -install na_apps at paghiwalayin ang [] sa 3 linya. Gamit ang apat na puwang sa linya ng walang laman na sentro, magdagdag ng 'feed', o ang pangalan ng iyong app. Ang seksyong ito ng mga setting.py ay dapat magmukhang:
INSTALLED_APPS = [
'feed',
]
Bago natin kalimutan, subukan natin na gumagana si Django. Gamit ang Command Python manager.py runserver 0.0.0.0:8000, maaari naming patakbuhin ang server at pagkatapos ay mag -navigate sa isang web browser sa computer na nagpapatakbo ng code sa http: // localhost: 8000 at makita ang isang halimbawa ng webpage (gumagana ito!) Tumigil sa server na may control c, katulad ng anumang iba pang utos.
Ngayon, maghukay tayo sa pagsulat ng ilang code ng Python. Ang Django ay may tatlong pangunahing sangkap, lahat ng mga ito ay pinapatakbo ng code nang buo. Ang mga sangkap ay tinatawag na modelo, view at template, at ang bawat isa ay nasa mas mataas at mas mababang antas ayon sa pagkakabanggit bago maihatid ang webpage sa gumagamit.
Ang modelo ay ang code na nag -iimbak ng impormasyon sa database para sa pagkuha, pag -uuri at pag -render.
Nagpapasya ang view kung paano nai -render ang modelo, manipulahin, at binago, halos bawat view ay gagamit ng isang modelo nang direkta.
Ang template ay ang HTML code na may ilang mga dagdag na kampanilya at mga whistles na tinatawag na template na wika. Ang template ay ibinibigay ng view kung saan napuno ito ng Python code atkonteksto tulad ng mga modelo at impormasyon (usuall string at integer) mula sa view.
Ang Django ay may iba pang mga sangkap, kabilang ang ngunit hindi limitado sa:
Mga setting, na nag -configure ng app tulad ng tinalakay namin.
Ang mga URL, na mga pattern na sinusunod ng gumagamit upang makakuha ng pag -access sa mga tiyak na bahagi ng web application.
Ang mga form, na tumutukoy kung paano ang impormasyon na ipinadala sa server ay hawakan at nai -render sa database pati na rin sa gumagamit. Ito ang pundasyon ng impormasyon sa pagproseso sa panig ng server, at maaaring tumanggap ng anumang uri ng impormasyon na mga tindahan ng computer, pinaka -kapansin -pansin na mga string ng teksto, numero, at totoo/maling mga booleans (karaniwang mga checkbox).
Ang mga template, na kung saan ay HTML code at template ng wika at tulay ang agwat sa pagitan ng Python at HTML, na nangangahulugang ang impormasyon ng python ay maaaring ihain bilang HTML code na maaaring ma -access ng sinuman at maaaring ma -secure ang isang website na may paghihigpit na pag -access, habang ginagawang ma -access ang Python Code sa Web at kapaki -pakinabang Para sa iba't ibang mga layunin sa isang malayong aparato na hindieed na malapit sa server.
Mga static na file, na karaniwang JavaScript at ito ay mga aklatan na nagsisilbi at naka -link sa template.
Ang mga file ng media, na nagsisilbi o naka -host ang server, o nakasulat lamang sa server bago maproseso at nai -post sa isa pang server (isang bucket) para sa pag -host.
Middleware, na kung saan ay mga piraso ng code na tumatakbo nang sabay -sabay sa bawat pagtingin at itinuturing na "kasama" sa view.
Ang mga processors ng konteksto, na nagpoproseso ng konteksto ng bawat pagtingin at ginagamit upang magdagdag ng labis na konteksto.
Ang mga pagsubok, na nagpapatunay na ang gumagamit o kahilingan ay pumasa sa ilang mga kinakailangan bago maibigay ang view.
Ang mga mamimili, na nagdidikta kung paano hawakan at tumugon ang mga websocket sa komunikasyon.
Admin, na ginagamit upang magrehistro ng mga modelo upang maaari silang manipulahin nang detalyado sa loob ng pahina ng admin ng Django, kung saan ang database ay maaaring ibigay sa pamamagitan ng isang graphic na interface.
Kintsay, na tumutukoy sa mga asynchronous na gawain ng mga bahagi ng Django code ay maaaring magsimulaNning bago agad na magpatuloy sa susunod na gawain o linya ng code.
Ang Django ay maaaring magkaroon ng maraming iba pang mga sangkap, na tatalakayin natin nang detalyado dito. Mayroong maraming mga paraan upang gawing mas functional ang Django, pagdaragdag ng mga websockets, na mabilis, naka -streamline na mga channel ng komunikasyon, kintsay, na nagsasagawa ng mga gawain ng asynchronous, at maraming mga piraso ng software para sa pagpapalawak ng django, lalo na sa mga function ng view, kung saan ang karamihan sa Ang code ay naisakatuparan. Ang mga function ng view ay susi dahil karaniwang ipinapahayag nila ang bawat piraso ng code na tiyak sa isang tiyak na pattern ng URL, o isang seksyon ng server.
Una, galugarin natin ang mga function ng view. Ang mga function ng view ay nagsisimula sa mga pag -import na nagsasaad ng code na gagamitin sa view, at tinukoy gamit ang mga regular na kahulugan ng pag -andar o klase. Ang pinakasimpleng mga pananaw ay tinukoy ng kahulugan ng function def, at ibalik ang isang httpresponse na may isang pangunahing template. Magsimula tayo sa pamamagitan ng pagtukoy ng isang pangunahing pagtingin upang maibalik ang teksto na "Hello World". Tandaan na sa bawat oras na magdagdag kafter isang pahayag tulad ng DEF, kung, habang, para sa, atbp, kakailanganin mong magdagdag ng 4 na puwang para sa bawat isa sa mga naunang kahulugan na nais mong ilapat sa iyong pag -andar. Papasok tayo sa kung ano ang ibig sabihin ng bawat isa sa mga ito.
Mula sa direktoryo ng aming site, i -edit ang file ng feed/views.py gamit ang nano at idagdag ang mga sumusunod na linya hanggang sa dulo ng
from django.http import HttpResponse
def hello(request):
return HttpResponse('hello world')
Tumugon ang HttpResponse ni Django na may isang text string, na tinukoy sa pagbubukas at pagsasara '. Sa tuwing ipapasa mo ang impormasyon sa isang function o klase, tulad ng kahilingan o isang string, kakailanganin mong gumamit ng panaklong (, pagbubukas at pagsasara).
Hindi na ito kailangan nating makita ang ating pananaw. Siyempre, hindi pa namin sinabi sa server kung saan eksakto ang view, kailangan pa rin nating tukuyin ang isang landas kung saan dapat i -render ang view. Magsimula tayo sa pamamagitan ng pagtukoy ng isang pangunahing landas sa app/urls.py, at papasok tayo sa mga pangkat ng landas mamaya.
Sa app/urls.py, magdagdag ng isang linya pagkatapos ng mga pahayag sa pag -import pagkatapos ng simula ng pag -import ng view na nilikha lamang namin.
from feed import views as feed_views
Ngayon, tukuyin natin ang pattern ng view. Ang mga pattern ng view ay may tatlong sangkap, ang sangkap ng landas, na nagsasabi sa server kung saan umiiral ang view sa loob ng server (ang landas ng URL na ang mga uri ng gumagamit sa nabigasyon bar upang makapasok sa webpage), ang bahagi ng view kung saan tinukoy ang view, at a Friendly name para sa view kaya madaling makuha ang pattern kapag nagtatrabaho sa isang template, lalo na kaya ang pangalan ay maaaring mabago at mai -update kung kinakailangan upang gumawa ng puwang para sa isa pang view o kumuha ng mas lohikal na pangalan. Makatuwiran na gawin ang mga bagay sa ganitong paraan at maging kakayahang umangkop, dahil ang iyong codebase ay magiging isang palaging pagbabago ng kapaligiran na nangangailangan ng kakayahang umangkop at improvisasyon upang maging mahalaga at madaling makatrabaho. Narito kung ano ang magiging hitsura ng iyong view, maaari mong idagdag ito sa urlPatterns = [seksyon ng app/urls.py. Ang pattern ng view ay tinukoy sa tatlong mga sangkap na inilarawan sa itaas, at isang function na tinatawag na Landas. Ang iyong mga pattern ng URL ay isang listahan, kaya siguraduhing palaging tapusin ang bawat item sa kanilaSa isang kuwit, dahil ito ay naghihiwalay sa bawat isa. Ang bawat item ay dapat ding pumunta sa isang bagong linya, muli na may apat na puwang bago ito, tulad ng app sa mga setting.py. Tukuyin namin ang unang bahagi ng view na may isang walang laman na function ng string, upang lumikha ng isang view na tumatakbo sa direktoryo ng ugat ng web server. Ang iyong mga urls.py ay dapat na ngayon
from feed import views as feed_views
urlpatterns = [
path('', feed_views.hello, name='hello'),
]
Ito ang batayan para sa paglikha ng isang website na may Django na ganap na static. Upang makagawa ng isang mas dynamic na website kung saan maaari nating simulan ang impormasyon sa caching, tulad ng mga imahe, video, audio at higit pa, kakailanganin nating gumamit ng mga modelo, na susuriin natin sa susunod. Sa ngayon, suriin natin ang aming code at patakbuhin ang server. Upang suriin ang code para sa mga error, tumakbo:
python manage.py check
Kung mayroong anumang mga error na mensahe, dapat mong maingat na suriin ang mga pagbabagong ginawa mo sa iyong app at tingnan kung mayroong anumang bagay na kailangang maayos, tulad ng isang extraneous o kulang sa espasyo, isang dagdag na character, isang unclosed string, anumang typo, anumang hindi sinasadya tinanggal na character, o kung ano pa man. Ang pagbabasa sa pamamagitan ng mensahe ng error (kung mayroon kang isa), dapat mong makita ang landas sa isang file na nilikha mo o na -edit kasama ang isang numero ng linya, kaya tingnan ang file at linya at tingnan kung maaari mong ayusin ang anumang bagay na naroroon . Kung naayos mo na ang isyu, patakbuhin muli ang utos sa itaas. Kapag handa na ang iyong software na tumakbo at gumagana, makikita mo ang output na "Suriin ng system na hindi natukoy ang mga isyu." Ngayon handa ka nang pumunta. Patakbuhin ang server na may:
python manage.py runserver 0.0.0.0:8000
Ngayon buksan ang isang web browser at mag -navigate sa http: // localhost: 8000. Dapat mong makita ang teksto na ibinalik sa panaklong at mga quote ng function ng HttpResponse sa iyong pagtingin. Ito ay isang pangunahing halimbawa lamang, ngunit kung ginawa mo ito sa ngayon, naiintindihan mo ang mga pangunahing kaalaman kung paano gumagana ang Linux, Bash, Python, at Django. Humukay tayo ng mas malalim sa ilang pagmomolde ng database, at galugarin ang kapangyarihan ng isang klase ng Python sa pag -iimbak ng impormasyon. Pagkatapos, magsisimula kaming makakuha ng isang mahigpit na pagkakahawak sa HTML at CSS bago namin gawin ang aming site na ganap na itinampok, nababaluktot at ligtas gamit ang JavaScript at pag -aaral ng makina.
Ang mga klase ay naka -imbak sa mga modelo.py ng iyong app. Gamit ang nano, i -edit ang app/models.py at magdagdag ng isang bagong klase. Ang isang klase ay tinukoy sa kahulugan ng klase at ipinapasa ang isang superclass na minana mula sa, sa kasong ito models.model. Ang pangalan ng klase ay dumating pagkatapos ng kahulugan ng klase, at pagkatapos ng kahulugan ng klase A: (colon) ay ginagamit, bago ang mga katangian at mga kahulugan ng pag -andar na nakatali sa klase ay ipinapahiwatig sa ibaba. Ang aming klaseKailangan ng isang ID na maaari nating gamitin upang makuha ito at panatilihin itong natatangi, at nangangailangan din ito ng isang patlang ng teksto upang mag -imbak ng ilang impormasyon. Mamaya maaari kaming magdagdag ng isang timestamp, mga file, booleans (totoo o maling kahulugan na makakatulong sa aming code na gumawa ng mga pagpapasya tungkol sa kung ano ang gagawin sa modelo, at maaaring magamit upang pag -uri -uriin ito), isang pagkakataon upang itali ang modelo sa isang naka -log na gumagamit sa server, at marami pa. I -unpack natin ang code
from django.db import models # Ang import na ginagamit upang tukuyin ang aming klase at ito ay mga katangian
class Post(models.Model): # Ang kahulugan ng aming klase mismo
id = models.AutoField(primary_key=True) # Ang ID ng aming modelo, isang awtomatikong nabuo na susi na hahayaan tayong mag -query sa modelo, panatilihin itong natatangi, at kapaki -pakinabang kapag kailangan nating makipag -ugnay sa modelo sa sandaling ito ay nilikha.
text = models.TextField(default='') # Ang katangian ng aming mga tindahan ng klase, sa kasong ito, ilang teksto, na nag -default sa isang walang laman na string.
Isara at i -save ang file tulad ng ginawa namin dati upang matapos.
Maraming iba pang mga patlang at mga pagpipilian na aming galugarin kapag ina -update namin ang klase na ito habang nagbabago ang aming app, ngunit ito ang pangunahing pangangailangan ng paglikha ng isang app upang mag -post ng ilang teksto. Gayunpaman, ang modelong ito ay hindi gagana nang mag -isa. Tulad ng inilarawan dati, kakailanganin namin ng isang pasadyang view at pasadyang pattern ng URL upang gawin ang modelong ito, at kakailanganin din namin ng isang form kasama ang isang template. Galugarin muna natin ang form.
Upang tukuyin ang isang form, i -edit ang app/forms.py kasama si Nano at idagdag ang mga sumusunod na linya. Kakailanganin namin ang dalawang pag -import, ang aming klase ng form, pati na rin ang modelo na nilikha namin (feed.models.post), isang kahulugan ng klase na katulad ng modelo, at isang patlang kasama ang isang subclass na tinatawag na meta na tukuyin ang modelo na nakikipag -ugnay sa form na ang form ay nakikipag -ugnay kasama. Ang form ay maaari ring magkaroon ng isang function ng pagsisimula na nagtatakda nito batay sa impormasyon sa kahilingan, modelo o kung hindi man, galugarin natin ito sa ibang pagkakataon.
Ang mga form ng modelo ay kapaki -pakinabang dahil maaari silang lumikha ng isang modelo o mag -edit din ng isang modelo,Kaya gagamitin namin ang mga ito para sa pareho. Tukuyin natin ang isa sa mga form.py
from django import forms
from feed.models import Post
class PostForm(forms.ModelForm):
text = forms.CharField(widget=forms.Textarea)
class Meta:
model = Post
fields = ('text',)
Ito ang mga pangunahing kaalaman sa kung ano ang hitsura ng isang form at modelo. Ang form na ito ng modelong ito ay maaaring magamit upang mag -instantiate o mag -edit ng isang post, binabago ang teksto na nilalaman nito. Titingnan namin ang pagsasama ng form na ito sa isang pagtingin sa susunod. Una, gawin natin ang paglipat at ilipat ang database upang ang aming code ay maaaring makipag -ugnay sa modelo kapag tumatakbo ito. Upang gawin ito, patakbuhin ang mga sumusunod na utos:
python manage.py makemigrations
python manage.py migrate
Aabutin ito ng isang minuto upang maisagawa, ngunit sa sandaling gawin nito, papayagan kang ma -access ang modelo sa mga tanawin, middleware, o kung saan man sa software. Magpatuloy tayo sa pamamagitan ng pagtingin sa kung saan makikita natin ang ating modelo. I -edit ang feed/views.py at idagdag ang sumusunod na code, tulad ng nabanggit. Hindi mo na kailangang magdagdag ng anuman pagkatapos ng # sign, ang code na iyon ay mga komento na ginagamit upang magpahiwatig ng impormasyon tungkol sa code. Magsisimula kami sa pamamagitan ng pag -import ng aming modelo sa mga view, at pagdaragdag nito sa isang konteksto kung saan maaari nating i -render ito sa isang template bilang isang listahan para sa pagpapakita. Susunod, magdagdag kami ng isang template kung saan maaari naming i -render ang form at ang modelo na may isang pindutan upang lumikha ng isang bagong bagay batay sa modelo at i -post ito sa server. Ito ay kumplikado, kaya gawin natin itong hakbang -hakbang. Bago natin tapusin ang view, lumikha tayo ng isang template na nagbibigay lamang ng modelo at tiyaking makikita natin ito sa pamamagitan ng paglikha ng isang bagong post sa shell. Narito kung paano dapat tumingin ang view na iyon:
from feed.models import Post
from django.shortcuts import render, redirect
from django.urls import reverse
def feed(request):
posts = Post.objects.all() # Query ang lahat ng mga post sa database hanggang ngayon
return render(request, 'feed/feed.html', {
'posts': posts,
})
Ang lahat ng ito ay mukhang medyo simple hanggang sa makarating kami sa ilalim. Render, ang halaga na ibinalik ng pag -andar sa halip na sa isang tugon ng HTTP tulad ng nakaraang halimbawa, palaging kumukuha ng isang kahilingan bilang unang input nito, tumatanggap ng isang konteksto (sa kasong ito ang mga post sa database), na maaari na ngayong ibibigay sa template , at ibabalik ang template na tinukoy sa pag -andar. Ang template ay magiging isang dokumento ng HTML na may kaunting isang wika na tinatawag na Jinja2, na nagbibigay ng impormasyon sa python sa HTML.
Upang simulan ang paglikha ng mga template, gumawa ng dalawang direktoryo sa feed.
mkdir feed/templates
mkdir feed/templates/feed
Susunod, i -edit ang isang template sa direktoryo sa itaas, feed/template/feed, at idagdag ang code para sa halimbawang ito. Tingnan natin ang template para sa halimbawang ito.
<!doctype HTML>
<html>
<body>
<legend>Feed</legend>
<hr>
{% for post in posts %}
<p>{{ post.text }}</p>
{% endfor %}
</body>
</html>
Ito ay isang napaka -simpleng template. Tinutukoy nito ang pagbubukas at pagsasara ng mga tag ng HTML, isang tag ng uri ng dokumento, isang tag ng katawan na may pamagat ng alamat, isang break tag na nagdaragdag ng isang maliit na linya sa buong screen, at isang para sa loop na nagbibigay ng bawat post sa listahan ng mga post bilang isang talata sa ang template. Ito lang ang kinakailangan upang mag -render ng mga post, ngunit wala pa sa database. Lumikha tayo ng ilan gamit ang shell. Maaari naming patakbuhin ang shell na may pamamahala.py
python manage.py shell
Ngayon, i -import natin ang aming modelo ng post
from feed.models import Post
Susunod, gagawa kami ng isang simpleng post na may isang string at lumabas sa shell. Ang string ay maaaring maging anumang bagay, hangga't ito ay wastong teksto.
Post.objects.create(text='hello world')
exit()
Panghuli, kakailanganin nating magdagdag ng isang pattern ng URL sa aming feed. Dahil ang aming feed app ay gagamit ng maraming mga URL at nais naming panatilihing maliit ang mga sukat ng file, lumikha tayo ng isang lokal na urls.py sa aming feed app na ganito:
from django.urls import path
from . import views
urlpatterns = [
path('', views.feed, name='feed'),
]
Kailangan din nating i -edit ang mga urls.py sa base app, anuman ang napagpasyahan naming tawagan ito, ito ang unang direktoryo na nilikha namin. I -edit ang app/app.py at idagdag ang sumusunod sa mga pattern ng URL
from django.urls import include # sa tuktok
urlpatterns = [
# ... Nakaraang code dito
path('feed/', include(('feed.urls'), namespace='feed')),
]
Ngayon, kapag pinapatakbo namin ang server na may python manager.py runserver, makikita namin ang pahina na nilikha namin dahil mayroon kaming modelo, view at template pati na rin ang pattern ng URL, kasama ang mga item sa database. Susunod, ipatupad natin ang form na nilikha natin at simulan ang paglikha ng aming sariling mga post. Ngunit bago tayo sumulat ng sobrang code, gumawa tayo ng isang backup gamit ang script na isinulat namin kanina, backup. Patakbuhin ang script na ito sa shell, maghintay ng ilang sandali, at ang lahat ng code ay mai -back up sa aming Git Repository.
backup
Ang pagpapatupad ng form ay medyo simple. I -import namin ang aming form, magdagdag ng isang handler ng kahilingan sa post, at i -save ang post sa database bago mag -redirect sa parehong view. Maaari naming gamitin ang pag -redirect function na na -import na namin, at isa pang function na tinatawag na baligtad upang makuha ang URL para sa pattern ng view. Susuriin namin ito gamit ang string na 'feed: feed' dahil ang namespace ng kasama na pattern ay feed, at ang view ay tinatawag ding feed.
from feed.forms import PostForm
def feed(request):
posts = Post.objects.all() # Query ang lahat ng mga post sa database hanggang ngayon
if request.method == 'POST': # Pangasiwaan ang kahilingan sa post
form = PostForm(request.POST) # Lumikha ng isang halimbawa ng form at i -save ang data dito
if form.is_valid(): # Patunayan ang form
form.save() # I -save ang bagong bagay
return redirect(reverse('feed:feed')) # Redirect sa parehong URL na may isang kahilingan sa pagkuha
return render(request, 'feed/feed.html', {
'form': PostForm(), # Siguraduhin na ipasa ang form sa konteksto upang ma -render natin ito.
'posts': posts,
})
Ngayon, kakailanganin naming i -update ang template upang account para sa bagong form. Magagawa natin ito sa pamamagitan ng paggamit ng
Bumili | Bumili gamit ang crypto
https://glamgirlx.com/tl/practical-web-based-deep
https://glamgirlx.com/tl/practical-web-based-deep -
Mag-iwan sa akin ng tip sa Bitcoin gamit ang address na ito: 3KhDWoSve2N627RiW8grj6XrsoPT7d6qyE
© Glam Girl X 2025