Programu ya wavuti ya seva. Kuchagua njia ya kutatua tatizo. Ninataka kuwa msanidi programu kamili

Chaguo chungu zaidi kwa wale wanaotaka kuingia katika ulimwengu wa programu ni kuchagua uwanja wao. Ni chungu kwa sababu ikiwa utaamka siku moja na kugundua kuwa huu sio wito wako, na sio tu wavivu sana kuendelea, utapoteza miezi na miaka ya mafunzo na mazoezi.

Na lugha maalum ni rahisi katika suala hili - kawaida maarifa ya kimsingi tayari yanatosha kwa tathmini, kwa hivyo unaweza kubadilisha mwelekeo wa shughuli haraka na bila upotezaji mwingi wa wakati. Walakini, ni chaguo la lugha ambalo huleta akili za vijana kwenye usingizi: baada ya yote, kuna mengi zaidi kuliko maeneo ya jumla ya programu, lakini wanahitaji kuchukua kitu.

Tulia, sasa akili ya pamoja itakufanyia chaguo.

Katika sehemu ya kwanza tutazungumza juu ya lugha za wavuti. Je, ni mpangilio gani wa lugha tangulizi unahitaji kujua na utaratibu wa kujifunza ni upi? Zaidi juu ya hili baadaye.

Mstari wa mbele, chaguo la nyuma na lisilo wazi

Chaguo la kwanza kufanywa ni eneo la uwajibikaji.

Watengenezaji wa mbele
Wakati mwingine pia huitwa wabunifu wa wavuti, lakini hii sio sahihi. Kazi ya msanidi programu wa mwisho ni kuunda kiolesura; ana jukumu la kuhakikisha kuwa ukurasa wa wavuti unapakia haraka, haupunguzi, na kwamba msimbo juu yake unafanya kazi kwa usahihi.

Watengenezaji wa nyuma
Watu wanaohusika na utendaji uliofichwa na usindikaji wa data. Kazi yao ni kuandika msimbo wa seva.

Wataalamu kamili
Wanahitajika sana kwa sababu wana uwezo wa kutimiza matakwa yote ya mteja peke yao.

Kwa kweli, njia rahisi ni kujiwekea kazi ya kufikiria kila kitu, lakini hii itasumbua umakini wako katika hatua za mwanzo, na katika hatua za baadaye utajifunza hitaji la angalau uchunguzi wa juu juu wa michakato yote. Kwa hivyo, wacha tuende kwa mpangilio na tuanze na mwisho wa mbele.

Uso wa kuuzwa

Jambo muhimu zaidi ambalo mtu ambaye anataka kuwa msanidi programu hapaswi kufanya ni kutafuta orodha ya chini ya mahitaji ya mtaalamu. Katika hali hii, kuna hatari kubwa ya kukwaza vifungu kama vile makala "Wasanidi wa mbele wanapaswa kuwa juu ya kila kitu." Kila kitu kilichoandikwa hapo ni ukweli mtupu, lakini unahitaji kufikia hatua hii kwa kuanza na vitu vidogo, na vitu vidogo ndio nguzo kuu 3 za sehemu ya mbele: HTML, CSS na JavaScript. Unaweza kupata msingi wa mafunzo zaidi.

Miaka michache tu iliyopita, baada ya kusoma HTML na CSS katika umbizo la vitabu kadhaa mahiri, na JS katika kiwango cha jQuery, mtu angeweza kutamani sana cheo cha chini. Walakini, nyakati za leo zimebadilika na mahitaji yameongezeka sana. Walakini, maarifa ya HTML na CSS bado yanaweza kufupishwa katika vitabu kadhaa vyema:

  • "Kujifunza HTML5" Bruce Lawson, Remy Sharp,
  • "CSS. Mapishi ya Kuandaa » Christopher Schmitt.

Utalazimika kutumia muda mwingi kwenye JavaScript. Hapa haitoshi kusoma nadharia, kwa mfano, kutoka kwa kitabu "JavaScript: Nguvu". Inachukua miezi kadhaa kufundisha mikono yako na kufundisha ubongo wako katika mazoezi, ikiwa ni pamoja na kutumia jQuery iliyotajwa.

Mbali na ujuzi wa kinadharia na wa vitendo, mtaalamu wa mbele lazima awe na ujuzi mzuri sana wa mitindo ya hivi karibuni ya mtandao na aweze kuitumia kitaaluma. Baada ya yote, hii ndio eneo la uwajibikaji kulingana na ambayo wateja wengi watatathmini mradi mzima wakati wa kujifungua.

Mchakato, screw na kuunda

Lugha ya msingi kwa msanidi programu yeyote wa nyuma ni PHP. Huu ni msingi fulani, ambao sio lazima kabisa kujua kikamilifu, na pia kuifanya kuwa chombo kikuu, lakini lazima uelewe kwa kiwango cha msingi. Ili kufanya hivyo, unaweza kusoma kwa uangalifu kitabu "PHP: Njia Sahihi".

Kuhusu lugha za sasa, itabidi uchague kutoka kwa Ruby na Python, na chaguo hili ni suala la ladha tu. Hata hapa, migogoro haitoi mara kwa mara, lakini hata katika mzozo juu ya urahisi wa kusoma, haiwezekani kupata mshindi wazi. Kwa Python, itakuwa muhimu kusoma kitabu kilicho na kichwa rahisi "Kujifunza Python", kwa Ruby - "Reli 4. Maendeleo ya agile ya maombi ya mtandao".

Lugha nyingine lazima kujua ni JavaScript na derivatives yake jQuery na Ajax. Katika hali hii, ni maendeleo ya nyuma ambayo yanakupendeza, kwa hivyo hakuna haja ya kutumia muda katika kujifunza lugha kwa ujumla, lakini kutembelea nyenzo kama blogu ya Anton Shevchuk kunaweza kuwa muhimu sana.

Na bila shaka utahitaji ujuzi katika uwanja wa hifadhidata. Kwa uchache, hii inamaanisha kujifunza SQL, na kwa kiwango cha juu, uzoefu wa kufanya kazi na hifadhidata maarufu.

Moja kwa wote

Ukweli wa taaluma ya msanidi wa wavuti ni kwamba hakuna wataalam wanaoitwa "spherical" hapa, na wateja wa kawaida hawaelewi mgawanyiko huu kila wakati, kwa hivyo kwa namna moja au nyingine itabidi uje kwenye safu kamili haraka sana. . Ipasavyo, soma tena sehemu 2 zilizopita, tembelea tena na uanze kutafuna granite ya sayansi ya programu.

Ujuzi sio juu ya lugha

Mbali na lugha zenyewe, inahitajika kusoma nyongeza zote maalum zinazokuja nazo. Hii ni kweli hasa kwa JavaScript (AngularJS, Knockout, Backbone) na CSS (Bootstrap, Foundation). Kwa kuongeza, unahitaji kustarehe na mifumo ya udhibiti wa toleo la Git na SVN.

Ili kufikia mafanikio makubwa katika maendeleo ya mtandao, kuwa na subira, hatua kwa hatua kuelekea lengo lako, ukichagua njia ambayo inaonekana kuvutia zaidi kwako. Na haijalishi kabisa ikiwa inatofautiana na ile iliyoelezwa hapo juu au katika makala nyingine. Penda unachofanya, toa wakati kwa hilo, weka roho yako ndani yake, na mafanikio hayatakufanya usubiri.

Nini? Ni programu gani nyingine ya seva? Ni shida gani hii? Na kwa nini tunaihitaji?

Inaonekana tumejifunza jinsi ya kuunda kurasa za Wavuti katika mazingira ya Dreamweaver. Tulijifunza hata jinsi ya kuunda Tovuti nzima kwa kutumia na kuzichapisha kwenye seva ya Wavuti. Tulijifunza aina mbili za muundo wa ukurasa: kulingana na sura, wakati tovuti zinajengwa kulingana na seti za muafaka, na tabular, wakati maudhui ya ukurasa yanawekwa kwenye meza kubwa, ngumu. Tulijifunza kuhusu laha za mitindo, vitambulisho vya meta, na maagizo ya upande wa seva. Na hatimaye, tulijifunza kuhusu programu za Wavuti na maandishi ya Wavuti ambayo huturuhusu kuongeza "maisha" kwenye kurasa zetu tuli. Ni nini kingine kinachohitajika kwa furaha?

Ndio, tulichojifunza hapo awali kinatosha sana kwetu kuunda tovuti nzuri kabisa. Wabunifu wengi wa Wavuti huishia hapo. Lakini tunataka zaidi, sivyo?

Kwa hiyo hebu tuchukue hatua inayofuata - hebu tuondoke kutoka kwa kurasa zilizohifadhiwa kwenye faili kwenye seva hadi kurasa zinazozalishwa na programu maalum. Ni haswa uandishi wa programu kama hizo ambazo programu ya seva inashughulika nayo.

Lakini wacha tuchukue mambo kwa mpangilio. Na tutaanza kwa kujua kwa nini programu hizi za seva zinahitajika.

Programu ya seva ni nini

Kweli, ni nini na inaliwa na nini?

Kwa nini tunahitaji programu za seva?

Je, umewahi kutembelea duka la mtandaoni? Kwa mfano, "Ozoni" maarufu zaidi. (http://www.ozon.ru). Unakumbuka jinsi ya kuagiza bidhaa huko?

Ikiwa hukumbuka au hujui hata duka la mtandaoni ni nini, hebu tukumbuke (au tujue).

Unaenda kwenye ukurasa wa Wavuti unaoelezea bidhaa unayohitaji. Baada ya maumivu mengi ya dhamiri, hatimaye unaamua kununua na kubofya kitufe Nunua. Baada ya hayo, unapokea kurasa kadhaa za Wavuti ambapo unaweza kuweka anwani yako, njia za malipo na utoaji wa bidhaa, na, hatimaye, kuthibitisha ununuzi. Unafanya haya yote kwa kubofya vifungo vinavyofaa na kuingiza data kwenye mashamba ya pembejeo sahihi yaliyo kwenye kurasa.

Nini kinatokea wakati hii inatokea? Je, data unayoingiza inachakatwa vipi? Je, ni kivinjari chenyewe cha Wavuti?

Hapana kabisa. Data hii inachakatwa kwenye seva ya Wavuti.

Duka la mtandaoni ni moja tu ya mifano ambayo ilikuja akilini mwa mwandishi, ambaye ni shabiki na mteja wa kawaida wa "Ozone" iliyotajwa hapo juu. Seva za barua pepe za msingi wa wavuti, injini za utafutaji, mbao za matangazo za kielektroniki, mabaraza, na, kwa ujumla, Wavuti zozote zinazopokea baadhi ya data kutoka kwa mgeni na kuzichakata kwa njia sawa kabisa. Katika visa hivi vyote, Kivinjari cha Wavuti hupokea data kutoka kwa mgeni na kuituma kwa seva ya Wavuti, ambayo huichakata na kutoa matokeo ya usindikaji kwa namna ya ukurasa wa Wavuti unaozalishwa kiatomati.

Je, hii inatokeaje kweli? Sasa tutajua. Na kwanza kabisa, hebu tujibu swali ...

Kama seva ya Wavuti huchakata data ya mtumiaji

Kwa hivyo programu ya seva ya Wavuti huchakataje data iliyotumwa kwake na mtumiaji?

Hapana. Seva ya Wavuti haina vifaa vya kuzichakata. Kazi yake ni kupokea ombi la faili kutoka kwa kivinjari cha Wavuti (kurasa za Wavuti, karatasi za mitindo, picha za picha, sinema, sauti, kumbukumbu, faili zinazoweza kutekelezwa, n.k.), tafuta faili hizi hizo kwenye anatoa ngumu za kompyuta ya seva na. tuma faili zilizopatikana nyuma kwa kivinjari cha Wavuti. Hii ndiyo kazi yake kuu. Kwa kweli, seva zingine zenye nguvu zinaweza kufanya vitendo vya ziada kwenye faili zinazotumwa kabla ya kuzituma (haswa, kutekeleza maagizo ya seva). Pia kuna programu za "wenyeji wengi" ambao hufanya kazi za seva ya Wavuti sio tu, lakini pia seva ya FTP, barua, habari za UseNet, na Mungu anajua nini kingine. Lakini kazi kuu: utoaji rahisi wa faili kulingana na mahitaji ya wateja - na hakuna zaidi.

Siri ni kwamba data ya mgeni haijachakatwa na seva ya Wavuti yenyewe. Ili kufanya hivyo, programu maalum hutumiwa ambazo zinafanya kazi pamoja na seva ya Wavuti kwenye kompyuta moja ya seva. Wanaitwa programu za seva, usiwe na kiolesura cha mtumiaji na "wasiliana" tu na seva ya Wavuti, pokea data iliyoingizwa na mtumiaji kutoka kwayo na urudishe matokeo kwake. Hivi ndivyo zinavyotofautiana kimsingi na programu za mteja zinazofanya kazi moja kwa moja na mtumiaji. (Programu za mteja ni pamoja na, lakini sio tu, kivinjari chako cha Wavuti unachopenda.)

Inafuata kutoka kwa hii kwamba seva ya Wavuti bado inaweza kukubali data kutoka kwa mtumiaji. Ndiyo, hii ni sehemu ya kazi yake kuu: kukubali data na kuielekeza kwenye programu ya seva. Kwa upande wake, programu ya seva itazichakata na kurudisha matokeo kwenye seva ya Wavuti.

Hapa ndipo furaha huanza. Ukweli ni kwamba matokeo yaliyorejeshwa na programu ya seva kwenye seva ya Wavuti sio kitu zaidi ya nambari ya kawaida ya HTML! Kwa kweli, programu ya seva inarudisha ukurasa wa Wavuti uliomalizika uliotengenezwa kulingana na data iliyoingia na mgeni. Ukurasa huu unaitwa nguvu, Tofauti tuli kurasa zilizoandikwa na mbuni wa Wavuti na kuhifadhiwa kwenye faili kwenye diski za kompyuta ya seva. Na seva ya Wavuti hutuma ukurasa huu unaobadilika kwa mteja kama jibu la data iliyoingizwa.

Programu za seva zimegawanywa katika aina nne zifuatazo.

  1. Programu zinazoweza kutekelezwa zinazoendesha kupitia kiolesura CGI(Common Gateway Interface - kawaida kubadilishana interface), kinachojulikana Programu za CGI. Aina hii ya programu ya seva ndiyo ya zamani zaidi, lakini haijapitwa na wakati.
  2. Viendelezi vya Seva ya Wavuti(ISAPI, programu za umbizo la NSAPI, moduli za upanuzi za Apache, n.k.). Njia mpya ambayo hukuruhusu kupachika programu za seva kwenye seva ya Wavuti yenyewe, na kuifanya kuwa sehemu zake muhimu. Ilipendekezwa kwanza na Microsoft kwa Seva yao ya Taarifa ya Mtandao ya Microsoft (kiolesura cha ISAPI) na watengenezaji wa seva ya Wavuti ya Apache maarufu isiyolipishwa.
  3. Kurasa za seva zinazotumika(ASP, JSP, nk). Kwa kweli, hizi ni kurasa za kawaida za Wavuti zilizohifadhiwa kwenye faili, ambazo, pamoja na msimbo wa kawaida wa HTML, ni pamoja na amri zilizochakatwa ama na seva ya Wavuti yenyewe au ugani wake. Pia mbinu mpya, iliyopendekezwa kwanza na Microsoft kwa Seva hiyo hiyo ya Taarifa za Mtandao.
  4. Maandishi ya seva, iliyoandikwa kwa lugha iliyotafsiriwa (Perl, Python, VBScript, JavaScript, nk). Maandishi ya kawaida yanayopitia kiolesura cha CGI au ISAPI kwenye upande wa seva.

Sasa hebu tuangalie utofauti huu wote kwa undani zaidi.

Programu za CGI ni faili za kawaida zinazoweza kutekelezwa zilizoandikwa katika lugha yoyote ya programu na kukusanywa katika programu.msimbo wa basi wa processor. Hawana kiolesura cha mtumiaji (kama programu zote za seva), lakini fanya kazi na seva ya Wavuti, pokea data ya pembejeo kutoka kwake na utume matokeo ya kazi yao kwake. Wao huzinduliwa na seva ya Wavuti yenyewe wakati inahitajika (wakati ni muhimu kusindika data iliyopokelewa kutoka kwa mtumiaji), na kufanya kazi chini ya udhibiti wa mfumo wa uendeshaji wa kompyuta ya seva. Kwa kuongezea, ikiwa seva ya Wavuti inapokea wakati huo huo maombi kadhaa ya usindikaji wa data kutoka kwa watumiaji, inazindua nambari inayolingana ya nakala za programu ya CGI.

Faida za programu za CGI ni pamoja na urahisi wa uumbaji (mazingira mengi ya maendeleo ya programu yanasaidia uundaji wa programu hizo, hasa Borland Delphi maarufu, kuanzia na toleo la 3) na urahisi wa kurekebisha. Pia, kwa sababu programu za CGI ni programu zinazojitegemea, zinaendeshwa kando na seva ya Wavuti (kama vile waandaaji wa programu na wasimamizi wa mfumo wanasema, zinaendesha katika nafasi tofauti ya anwani). Hii inamaanisha kuwa ikiwa programu ya CGI itashindwa, ni programu hiyo tu inaisha - seva ya Wavuti yenyewe inabaki kufanya kazi. Lakini programu za CGI zina drawback moja tu: matumizi makubwa ya rasilimali za mfumo, kwani nakala tofauti ya programu ya seva imezinduliwa ili kusindika kila seti ya data. Na kama seva ya Wavuti itapokea maombi mengi sana ya kuchakata data, kompyuta ya seva inaweza kuganda.

Viendelezi vya seva ya wavuti ni aina mpya zaidi ya programu ya seva. Ni DLL za kawaida zinazotekeleza mantiki yote ya programu ya seva. Maktaba kama hizo zimejengwa ndani ya programu ya seva ya Wavuti na hufanya kazi kama sehemu yake muhimu. Kwa kuwa DLL hufanya kazi tu katika mazingira ya Windows, miundo mingine imevumbuliwa ili kuunda viendelezi kwenye mifumo mingine ya uendeshaji. Hasa, moduli za upanuzi wa seva ya Apache sio DLL,

Ni katika mfumo wa DLL ambapo viendelezi vya Seva ya Taarifa ya Mtandao ya seva za Mtandao kutoka kwa Microsoft na Netscape Web Server kutoka Netscape huundwa. Katika kesi ya kwanza, upanuzi una muundo ISAPI(Kiolesura cha Kuandaa Programu ya Seva ya Mtandao - kiolesura cha programu ya programu ya seva ya Mtandao), na kwa pili - NSAPI(Kiolesura cha Kuandaa Programu ya Seva ya Netscape - kiolesura cha utayarishaji wa programu ya seva ya Netscape). Umbizo la moduli za upanuzi wa Apache huitwa moduli za Apache.

Upanuzi wa seva ya wavuti una faida moja: matumizi makini ya rasilimali za mfumo. Ukweli ni kwamba kusindika seti zote za data ya mtumiaji, mfano mmoja tu wa ugani umezinduliwa, ambayo inachukua rasilimali kidogo sana kuliko programu nyingi za CGI zinazoendesha. Hata hivyo, viendelezi ni vigumu zaidi kuunda na kutatua, na si salama kama hizo.

Kama programu za CGI. Kwa kuwa zinafanya kazi kama sehemu ya seva ya Wavuti, hitilafu yoyote kwenye kiendelezi itasababisha seva kunyongwa.

Aina zote mbili za programu za seva zilizoelezwa hapo juu zina drawback moja kubwa. Kabla ya kufanya kazi, lazima ziandikwe katika lugha ya programu na kukusanywa katika msimbo wa mashine kwenye kichakataji, ambacho kinatumia muda, hasa wakati wa kurekebisha. Kwa kweli, programu zilizokusanywa huendesha haraka kuliko zile zilizofasiriwa, ambayo ni, zile ambazo kila maagizo yanasomwa, kufutwa na kusindika na programu maalum ya mkalimani. Lakini mipango iliyotafsiriwa pia ina faida zao, kuu ni unyenyekevu na kasi ya kuandika. Aina mbili zifuatazo za programu za seva ambazo zitaelezewa zitafasiriwa.

Kama ilivyotajwa tayari, kurasa za seva zinazotumika ni kurasa za Wavuti za kawaida zinazojumuisha maalum hati za seva, kutekelezwa na seva ya Wavuti yenyewe au programu maalum ya seva (programu ya CGI au ugani wa seva ya Wavuti). Hasa, A.S.P.(Kurasa Zinazotumika za Seva) zinazoungwa mkono na Seva ya Taarifa ya Mtandao ya Microsoft, na JSP(Kurasa za Seva ya Java - kurasa za seva zilizoandikwa katika JavaScript), zinazoungwa mkono na idadi ya seva zingine za Wavuti, fanya kazi kwa njia hii. Kurasa za seva za ASP zimeandikwa katika JavaScript na VBScript, wakati JSP imeandikwa katika JavaScript pekee.

Tayari unajua faida za kurasa za seva zinazofanya kazi: urahisi na kasi ya kuandika na urahisi wa kurekebisha. Zaidi ya hayo, kwa kuwa kurasa zinazotumika za seva ni kurasa za Wavuti za kawaida tu zilizo na msimbo ulionyunyiziwa ndani, zinaweza kuandikwa kwa urahisi na mtu yeyote anayefahamu HTML. Hasara: polepole ya jamaa na mahitaji ya kuongezeka kwa rasilimali za mfumo.

Hati za upande wa seva ni sawa na kurasa zinazotumika za seva kwa kuwa zinafasiriwa, lakini ni msimbo "safi" wa programu, bila nyongeza za HTML. Mkalimani karibu kila mara ni programu ya CGI, lakini hakuna kinachokuzuia kuitengeneza kama Wavuti. Maandishi ya upanuzi wa seva kawaida huandikwa katika lugha ya programu ya Perl, ambayo imeundwa mahsusi kwa usindikaji wa maandishi, lakini Python, JavaScript, VBScript, na hata (inasemekana) lugha ya faili ya batch ya MS-DOS pia hutumiwa. Kwa kweli, maandishi yanaweza. iandikwe kwa lugha yoyote ya programu ambayo kuna mkalimani wake.

Faida na hasara za hati za upande wa seva ni sawa na kurasa zinazotumika za seva. Hata hivyo, hati hutumia kiasi kikubwa cha rasilimali za mfumo, hata zaidi ya programu za CGI. Baada ya yote, kusindika kila seti ya data ya mtumiaji, nakala yake ya mkalimani inazinduliwa, na mkalimani, kwa upande wake, hutumia rasilimali nyingi katika usindikaji wa hati. Na bado, licha ya hili, maandiko ni njia maarufu zaidi ya kuunda programu za seva.

Katika meza 15.1 inaonyesha upanuzi wa faili za programu za seva.

Jedwali 15.1. Upanuzi wa faili za programu ya seva

Aina ya programu za seva

Aina ndogo

Ugani

Programu za CGI

-

mfano

Viendelezi vya Seva ya Wavuti

ISAPI na NSAPI Apache Moduli

dll Hakuna kiendelezi

Kurasa za seva zinazotumika

Maandishi ya seva

ASP JSP

asp jsp

Lugha Perl JavaScript VBScript Lugha zingine

pl, cgi js, cgi vbs, cgi cgi

Kwa hivyo tuliangalia jinsi seva ya Wavuti inavyochakata (au tuseme, haichakati) data ya mtumiaji. Sasa hebu tuende mwanzo wa mlolongo na tuangalie jinsi kivinjari cha Wavuti kinatuma data ya mtumiaji kwenye programu ya seva.

Jinsi kivinjari cha wavuti hutuma data iliyoingizwa

Mwanzoni mwa sura hii, tulizungumza kuhusu jinsi vidhibiti vilivyowekwa kwenye kurasa za Wavuti vyenyewe vinatumiwa kukusanya data ya wageni. Hizi ni udhibiti wa kawaida unaojulikana kwako kutoka kwa programu za Windows: sehemu za ingizo, vifungo, orodha, visanduku vya kuteua, nk. Mgeni wa tovuti huingiza data ndani yao na bonyeza kitufe maalum ambacho huanza kutuma data kwa seva ya Wavuti, na kwa hiyo kwa programu ya seva. .

Vidhibiti vya kuingiza data ya mgeni vimewekwa kwenye fomu. Fomu - Hiki ni kipengele maalum cha ukurasa ambacho husimba data na kuituma kwa seva ya Wavuti. (Tunaweza kusema kwamba fomu ndiyo mzazi wa vidhibiti.) Vidhibiti vyenyewe hupokea tu data kutoka kwa mgeni, lakini hazisimba au kuzisambaza.

Kila udhibiti kwenye fomu lazima uwe na jina la kipekee. Majina haya hutumiwa na kivinjari cha Wavuti kuwasilisha data iliyoingizwa kwenye fomu kwa njia ambayo inaweza kusomeka na seva.

Kwa mfano:

Hapa tumezingatia kesi bora ambapo maadili ya kila udhibiti yana tu halali na kutoka kwa mtazamo wa itifaki ya HTTP, alama: barua za alfabeti ya Kilatini, nambari, dashi, underscores na wahusika wengine. (Kumbuka, HTTP ni itifaki ya kuhamisha faili inayotumiwa na seva ya Wavuti.) Ukihamisha data iliyo na herufi zisizo halali, kama vile nafasi au herufi za alfabeti ya Kirusi, kila herufi kama hiyo itawakilishwa kama msimbo wa hexadecimal, ikitanguliwa na asilimia. ishara, kwa mfano, kama hii (herufi za nafasi zilizosimbwa ziko kwa herufi nzito):

Shukrani kwa muundo huu wa data, kuandika programu za seva zinazosindika inakuwa rahisi sana. Hasa, Perl ina vifaa vya kusimbua vilivyojengwa ndani vya umbizo hili.

Data iliyowasilishwa katika fomu iliyo hapo juu inasimbwa kwa kutumia mojawapo ya zilizofafanuliwa awali njia za kuweka kumbukumbu na hutumwa kwa mtandao kwa programu ya seva. Haya yote yanafanywa na fomu (lakini sio vidhibiti).

Mchakato wa kutuma data huanza baada ya mtumiaji kushinikiza kifungo maalum. Kitufe hiki kinaitwa Tuma(Tuma - katika programu za lugha ya Kiingereza) na lazima iwepo katika fomu. Fomu inaweza pia kuwa na kifungo Weka upya(Weka upya), ambayo huweka upya data iliyoingizwa na mtumiaji. Kwa kawaida, vifungo hivi viko chini kabisa ya fomu.

Unaweza kufikiria fomu kama kitu kama kisanduku cha kidadisi cha programu cha Windows cha kawaida ambacho kinakubali ingizo kutoka kwa mtumiaji, kusimba kwa njia mahususi, na kuituma kwa dirisha kuu. (Dirisha la mazungumzo ya programu za Windows pia lazima iwe na vifungo viwili: sawa Na Ghairi(Ghairi).) Lakini ikiwa katika kesi ya programu ya kawaida ya Windows, mpangaji programu lazima aeleze wazi jinsi data itasimbwa na kutumwa, katika kesi ya fomu ya Wavuti hii sio lazima. Utahitaji tu kuweka vigezo vitatu vinavyohitajika:

  • Anwani ya mtandao ya programu ya seva ambayo itashughulikia data ya fomu;
  • njia ya usimbuaji data iliyotumwa;
  • moja ya njia mbili za kutuma data.

Tutazungumza juu ya njia za kutuma data baadaye kidogo. Sasa hebu tujue kila kitu kuhusu vigezo vingine viwili vinavyohitajika vya fomu.

Anwani ya mtandao ya programu ya seva inafanana sana na anwani ya mtandao ya faili nyingine yoyote, kama vile ukurasa wa Wavuti. Jiangalie mwenyewe - hivi ndivyo anwani ya mpango wa CGI itaonekana kama:

http://www. tovuti fulani. ru/bin/program.exe Hii ndio anwani ya kiendelezi cha seva ya Wavuti: http: //www.somesite.ru/bin/extension.dll Hii ndio anwani ya ukurasa wa seva inayotumika:

http://www. tovuti fulani. ru/asps/active_page. asp

Na hii ndio anwani ya programu ya maandishi iliyoandikwa katika Perl:

http://www. tovuti fulani. ru/scripts/perl_script.pl

Kama unaweza kuona, hakuna chochote ngumu katika hili. Programu ya seva ni faili ya kawaida iliyowekwa kwenye anatoa ngumu za kompyuta ya seva, na kiunga chake pia haiwakilishi chochote maalum.

Ili kusimba data inayotumwa kwenye Mtandao, njia tatu maarufu zaidi hutumiwa: application/x-www-form-urlencoded,multipart/form-data na (mara chache sana) maandishi/wazi. Inawezekana kutumia njia nyingine za encoding, lakini katika idadi kubwa ya matukio matatu yaliyoorodheshwa hutumiwa. Kwa kuongeza, njia hizi tatu za usimbaji zinasaidiwa na programu nyingi za kivinjari cha Wavuti.

Kumbuka

Ikiwa bado unakumbuka aina ya data ya MIME ni nini, basi, ukiangalia majina ya mbinu za encoding ya data iliyotolewa hapo juu, utaona mara moja kwamba hizi ni aina za MIME tu. Ni kwa msaada wao kwamba njia za coding zinaelezwa.

Katika idadi kubwa ya matukio, mbinu ya usimbaji ya utumizi/x-www-form-uriencoded hutumiwa. Kwa njia, ni moja ambayo hutumiwa na default ikiwa njia ya encoding haijainishwa. Mbinu ya usimbaji ya sehemu nyingi/fomu-data inatumiwa ikiwa utatuma faili kwa seva ya Wavuti; hutoa ubadilishaji wa data ya binary unaofaa kwa kesi hii. Njia ya mwisho - maandishi / wazi - inatoa data kwa maandishi wazi, ambayo inaweza kuwa muhimu ikiwa data ya fomu itatumwa kwa barua pepe (wakati mwingine njia hii ya uhamisho wa data pia hutumiwa).

Kwa hivyo, tumepanga usimbaji data. Inabakia kuonekana jinsi data hii inapitishwa kupitia chaneli za Mtandao.

Jinsi data inavyohamishwa kupitia Mtandao

Kama unavyojua tayari, kutuma data kwenye mtandao, na kwa kweli juu ya mtandao wowote wa kompyuta wa ndani au wa kimataifa, seti maalum ya sheria hutumiwa, inayoitwa. itifaki. Itifaki inafafanua jinsi data itasimbwa kwa njia fiche na kufungwa kwa ajili ya utumaji unaofuata kwenye mtandao. Kwa kawaida, programu zote mbili za kutuma na kupokea lazima ziunge mkono itifaki sawa ili "kuelewana" kila mmoja. (Vinginevyo, kinachojulikana kama kutokubaliana na itifaki ya uhamisho wa data itatokea, jambo lisilo la kufurahisha sana.) Kwa kweli, tayari tumezungumza kuhusu itifaki za mtandao na hakuna maana ya kurudia sasa.

Unajua pia kwamba itifaki ya HTTP inatumiwa kutuma kurasa za Wavuti na faili zinazohusiana (michoro, sauti, kumbukumbu, n.k.) kwenye Mtandao. Pia hutumiwa kwa maambukizi ya data, na kwa hili kuna mbili njia ya uhamisho data. Njia zote mbili hutumiwa sana katika programu ya mtandao na zina faida na hasara zao. Hebu tuwaangalie.

Njia ya kwanza inaitwa PATA kwa thamani ya kigezo cha fomu inayolingana. Inapotumiwa, data hutumwa kama sehemu ya anwani ya mtandao katika ombi la HTTP.

Kama unavyokumbuka, kivinjari cha Wavuti, ili kupokea faili inayohitaji kutoka kwa seva ya Wavuti, hutuma seva hii kinachojulikana kama ombi la HTTP, ambalo linajumuisha anwani ya mtandao ya faili inayohitajika. Kwa hivyo, data inaweza kusambazwa kama sehemu ya anwani hii.

Chukua, kwa mfano, seti ya data iliyoonyeshwa hapo juu:

jina1 = jina la Ivan = jina la Ivanovich2 = umri wa Ivanov = 30

Sasa wacha tuiandae kwa kutuma kwa kutumia njia ya GET (data yenyewe iko katika herufi nzito):

http://www.somesite.ru/bin/program.exe? jina1=Ivan&surname2=Ivanovich&name2=Ivanov&age=30

Kama unavyoona, data iliyotumwa kwa kutumia mbinu ya GET imewekwa kwenye mwisho kabisa wa anwani ya Mtandao na inatenganishwa nayo kwa alama ya kuuliza. Katika kesi hii, jozi "jina" = "thamani" zinatenganishwa kutoka kwa kila mmoja na ishara ya "biashara na" ("&"). Kila kitu ni rahisi sana na wazi.

Usahili huu na uwazi wa uwasilishaji wa data ndiyo faida kuu ya mbinu ya GET. Kama wanasema, kila kitu kiko wazi. Kurekebisha kurasa za Wavuti pia hurahisishwa sana: kwa kuwa anwani iliyopitishwa kwa seva ya Wavuti inaonyeshwa kwenye upau wa anwani wa kivinjari cha Wavuti, unaweza kuona kila wakati ni nini hasa kilipitishwa. (Walakini, kama unavyoelewa, data ya siri haiwezi kusambazwa kwa kutumia njia hii - kila mtu anayesimama nyuma yako ataiona.)

http://www.mysite.ru/bin/choose.exe?chapter=3

Kama unaweza kuona, hizi ni viungo vya programu ya seva, iliyo na parameta moja ya sura na thamani yake. Hii ina maana kwamba kurasa nyingine zote za tovuti hiyo zinaundwa kwa nguvu na programu ya seva, kulingana na vigezo vilivyopokelewa. Kutumia kanuni hii, tovuti za saraka, tovuti za orodha ya programu, maduka ya elektroniki na tovuti zingine zilizo na kiasi kikubwa cha habari zilizoainishwa mara nyingi hujengwa.

Kwa bahati mbaya, mbinu ya GET ina hasara kubwa: haiwezi kuhamisha kiasi kikubwa cha data. Hii ni kutokana na kizuizi kilichowekwa na viwango vya urefu wa anwani ya mtandao: si zaidi ya vibambo 256. Ondoa kutoka hapa urefu wa anwani halisi ya programu ya seva - na utapata kiwango cha juu kinachoruhusiwa cha data yako. Ubaya wa pili wa njia ya GET ni upande wa faida zake. Data inayotuma inaonekana kwa umma na inaweza kusomwa kwa urahisi katika upau wa anwani wa kivinjari cha Wavuti.

Mbinu ya GET inapaswa kutumika ikiwa data iliyotumwa kwa programu ya seva ni wazi kuwa ndogo na sio siri. Hasa, hutumiwa kutuma maneno kwa injini za utafutaji katika maeneo yaliyojengwa kwa misingi ya programu ya seva (tazama hapo juu) n.k. Ikiwa unahitaji kutuma data nyingi au za siri, tumia njia ya pili ya upokezaji, inayoitwa POST.

Njia POST hutuma data kwa programu ya seva katika ombi sawa la HTTP, lakini sio kama sehemu ya anwani ya mtandao, lakini kwa njia ya kinachojulikana data ya ziada. Kwa kuwa ukubwa wa data ya ziada sio mdogo (angalau inaweza kuwa kubwa sana), unaweza kuhamisha chochote unachotaka, kwa kiasi chochote. Hasa, hata faili zinaweza kuhamishiwa kwa seva ya Wavuti kwa njia hii.

Faida za njia ya POST: hakuna kikomo juu ya kiasi cha data iliyohamishwa na "haionekani". Hasara: ugumu wa kusimbua data na ugumu wa kurekebisha. Njia ya POST hutumiwa kusambaza, kwa mfano, data ya kibinafsi, anwani za wateja katika maduka ya elektroniki, kazi za fasihiupatikanaji wa tovuti http://www.stihi.ru na http://www.proza.ru, nk Kwa ujumla, kitu ambacho kina kiasi kikubwa.

Kama wasemavyo, kamati ya WWWC inakusudia hatimaye kuachana na njia ya GET kabisa na kuhamisha data zote kwa kutumia njia ya POST. Kufikia sasa, mbinu ya GET imetangazwa tu kuwa haipendekezwi kutumika katika tovuti mpya zilizoundwa, lakini kwa kweli bado inaungwa mkono na vivinjari vya Wavuti.

Kwa hivyo tuligundua kila kitu kuhusu programu za seva. Kweli, labda sio wote, lakini kwa sasa hii inatosha kwetu. Sasa hebu tuzungumze juu ya jinsi hii yote inasaidiwa kikamilifu na Dreamweaver MX.

Programu ya upande wa seva - mbinu ya Dreamweaver

Je, ni vigumu kuandika programu za seva? Ndiyo, ni vigumu. Labda ni ngumu zaidi kuliko kurasa za Wavuti.

Hata hivyo, kumbuka ni mara ngapi tulilazimika kuandika msimbo wa HTML kwa mikono? Ni nadra sana, sivyo? Na yote kwa sababu Dreamweaver ilitulinda kwa uangalifu kutokana na hili kwa kutoa kiolesura cha urahisi cha kuunda kurasa zinazoonekana. Tuliandika tu maandishi, tukaiumbiza, tukaweka picha, majedwali kwenye ukurasa, tukatumia tabia kwa vipengele vya ukurasa, n.k. Kwa neno moja, tulijisikia vizuri.

Na itabidi sasa tuandike programu za seva kwa mikono?! Hapana, sio lazima hata kidogo.

Tayari imetajwa kuwa Dreamweaver hutoa kinachojulikana tabia kwa watumiaji wasio na ujuzi na kwa ujumla kwa wale ambao hawataki kukabiliana na msimbo wa JavaScript. Tabia- hii ni hati iliyotengenezwa tayari, iliyoandikwa na watengenezaji programu wataalamu na kuwekwa kwenye msimbo wa ukurasa wa wavuti na Dreamweaver yenyewe baada ya mtumiaji kuchagua tabia hii kwenye menyu ya tabia ya paneli. Tabia. Mtumiaji hana haja ya kuwa na wasiwasi juu ya kuweka hati inayofanya kitendo hiki au kile mahali fulani kwenye msimbo wa ukurasa; hatahitaji kuangalia hati hii kwa makosa na kuiratibu na hati zingine. Dreamweaver hufanya haya yote kwa ajili yake.

Kwa kweli, seti ya shughuli zinazotumiwa katika programu ya seva ni ndogo sana. Fungua hifadhidata, pata data kutoka kwake, uonyeshe kwenye ukurasa, andika data mpya - ni nini kingine kinachohitajika!

Kwa kweli, ikiwa unataka kufanya vitu vya kupendeza, itabidi uandike kurasa za seva mkono kwa mkono. Lakini, unaona, hii haifanyiki mara nyingi.

Kwa hivyo tuligundua mambo mawili. Kwanza, Dreamweaver MX inasaidia uundaji wa kurasa za Wavuti za upande wa seva. Pili, hutumia tabia unazozifahamu kuweka maandishi ndani yake. Dreamweaver inatoa seti kubwa ya tabia kwa ajili ya matukio ya upande wa seva ambayo yanafaa kutosha kwako kuanza.

Inabakia kuonekana ni kurasa gani za seva Dreamweaver inakuwezesha kuunda. Kwa usahihi, ni teknolojia gani za kuunda kurasa za seva hukuruhusu kutumia. Kuna teknolojia nne kama hizo, na sasa zitaorodheshwa.

  1. ASP. Teknolojia hii tayari inajulikana kwako.
  2. ASP.NET. Maendeleo zaidi ya ASP.
  3. PHP. Teknolojia ya bure inayosambazwa na maandishi ya chanzo huria. Maarufu sana na hutumiwa mara nyingi na seva za Wavuti za bure, kama vile Apache.
  4. Macromedia ColdFusion. Maendeleo mwenyewe ya Macromedia.

Je, ni ipi unapaswa kuchagua? Baada ya yote, tutahitaji kuunda mifano ya kurasa za Wavuti.

Wacha tuchague ASP. Na ndiyo maana.

Ili kufanya kazi na kurasa za upande wa seva, tunahitaji seva ya Wavuti. Bila hivyo, kurasa za seva hazitafanya kazi. Na labda unajua kwamba matoleo yote mapya zaidi au chini ya Windows huja na seva ndogo ya Wavuti. Kwenye mifumo ya Windows 95/98/ME ni Seva ya Wavuti ya Kibinafsi, na kwenye Windows NT/2000/XP ni Seva ya Taarifa ya Mtandao. Uwezo wake ni wa kutosha kwa ajili yetu kufanya majaribio na programu ya seva.

Kwa hivyo, seva hii ya Wavuti inasaidia kikamilifu teknolojia ya ASP. Unaweza kuandika kurasa zinazotumika za seva na kuzitekeleza chini yake. Na hutalazimika kupakua vipengee vyovyote vya ziada - kila kitu unachohitaji tayari kimejumuishwa kwenye kit cha usambazaji cha Windows. Ndio maana ASP ilichaguliwa.

Takriban hakuna seva ya Wavuti inayotumia teknolojia ya ASP.NET kwa sasa; Microsoft bado haijatoa bidhaa moja inayounga mkono teknolojia hii. Kufanya kazi na kurasa za PHP, itabidi utafute na kupakua kwenye Mtandao kifaa kikubwa cha usambazaji kilicho na kidhibiti cha PHP, na kisha utumie muda mwingi kukiweka. Kama kwa teknolojia ya ColdFusion, hakuna uwezekano wa kuweza kutoa dola elfu kadhaa kwa hiyo. Kwa hivyo hatuna chaguzi.

Utangulizi wa Hifadhidata

Jambo la mwisho tutakaloangalia katika sura hii ni hifadhidata na kufanya kazi nazo. Kwa kuwa sehemu kubwa ya programu za seva inafanya kazi na hifadhidata, maarifa haya yatakuwa muhimu sana kwetu. Kwa kweli, hatutazingatia teknolojia zote za hifadhidata kwa undani, lakini, kama hapo awali, tutajiwekea kikomo kwa programu fupi ya elimu. Wewe mwenyewe unaweza kutafuta vitabu na maandishi muhimu kwenye mtandao ikiwa una nia ya hili.

Nini kilitokea hifadhidata? Hakuna maalum, faili ya kawaida tu au kikundi cha faili zilizo na data iliyopangwa kwa njia maalum. Ikiwa hifadhidata ina faili nyingi, bado inabaki kuwa chombo kimoja. Data iliyomo kwenye hifadhidata inachakatwa kwa kutumia programu maalum inayoitwa processor ya hifadhidata. Kichakataji hifadhidata kinaweza kuwa programu tofauti kabisa inayoendesha kwenye kompyuta sawa na programu inayotumia data, au kuwa sehemu yake.

Hifadhidata inaweza kupangwa kwa njia tofauti. Lakini idadi kubwa ya hifadhidata zinazotumika leo ni ya uhusiano. Data katika hifadhidata hiyo imepangwa kwa namna ya majedwali. Kila hifadhidata kama hiyo inaweza kujumuisha jedwali moja au zaidi; hifadhidata changamano kwa kawaida huwa na jedwali nyingi zilizounganishwa.

Kila jedwali, kwa upande wake, lina seti ya safu mlalo iliyogawanywa katika seli, na kila seli ina data ya aina fulani: maandishi, nambari, thamani za kimantiki, tarehe, n.k. Safu za majedwali ya hifadhidata zinaitwa. kumbukumbu, na seli ambazo kila rekodi imegawanywa ni mashamba. Kama ilivyotajwa tayari, kila uwanja una aina maalum na lazima iwe na vifaa jina, kupitia ambayo programu inayofanya kazi na data hufikia uwanja huu.

Katika Mtini. 15.1 inaonyesha mfano wa jedwali kama hilo. Kama unaweza kuona, jedwali hili lina sehemu tatu:

  • NAME - jina la teknolojia ya kuunda kurasa za seva, maandishi;
  • PRICE - bei ya mpango wa kushughulikia, nambari;
  • KUTUMIA - ikiwa teknolojia hii inatumika kwa sasa, ina mantiki ("ndiyo-hapana").

Kwa kuongeza, jedwali hili lina maingizo manne yanayolingana na teknolojia zinazoungwa mkono na Dreamweaver MX: ASP, ASP.NET, PHP, na ColdFusion.

Mara nyingi sana moja ya uwanja wa meza hufanywa ufunguo. Thamani ya sehemu kuu inatumika kutambua rekodi kwa njia ya kipekee. Kwa kweli, sehemu muhimu za rekodi zote za jedwali lazima ziwe na maadili ya kipekee katika kesi hii. Wakati mwingine uwanja muhimu huitwa uwanja wa kukabiliana.

Mfano wa jedwali lililojumuishwa kwenye hifadhidata

Tayari unajua jinsi ya kupata shamba tofauti - kwa jina lake. Ninawezaje kufikia rekodi inayohitajika?

Ukweli ni kwamba kwa wakati mmoja programu ya kutumia data ya database inaweza tu kufanya kazi na rekodi moja, inayoitwa sasa. Inaweza kupata data kutoka kwa sehemu katika rekodi hiyo na ikiwezekana kuzirekebisha. Lakini ili kupata data ya rekodi nyingine, programu lazima itoe amri ya hoja. Katika kesi hii, processor ya hifadhidata husonga maalum pointer ya rekodi ya sasa kwa rekodi inayotaka, na programu inaweza kufanya kazi nayo.

Programu inaweza pia kutumia tafuta rekodi inayotakiwa kulingana na kigezo chochote. Mara nyingi, utafutaji kama huo unafanywa kwa kutumia thamani ya uga muhimu.

Programu pia ina uwezo wa kuongeza mpya na kufuta maingizo ya meza yasiyo ya lazima. Ili kuongeza rekodi mpya, programu hutoa amri ya kuongeza rekodi na kuingiza data muhimu katika nyanja zake. Ili kufuta kiingilio, mpango lazima kwanza uifanye sasa na kisha utoe amri ya kufuta.

Kwa ujumla, mlolongo wa kufanya kazi na data iliyomo kwenye hifadhidata inaonekana kama hii:

  1. Mpango hufungua hifadhidata kwa kufanya operesheni wazi. Hii ni operesheni ya lazima, bila ambayo haiwezekani kupata hifadhidata.
  2. Programu inafungua meza ya hifadhidata inayotaka. Baada ya hayo, processor inarudi kwake kinachojulikana rekodi(kwa Kiingereza -- recordset), ambayo programu inafanya kazi nayo.
  3. Programu hufanya kazi halisi na data.
  4. Mpango hufunga meza, baada ya hapo processor huondoa seti ya rekodi zinazohusiana na programu hii kutoka kwa kumbukumbu.
  5. Programu inafunga hifadhidata, ikivunja miunganisho yote nayo.

Tafadhali kumbuka kuwa shughuli mbili za mwisho - kufunga jedwali na hifadhidata - ni muhimu kama kuzifungua. Ukweli ni kwamba seti ya rekodi na miundo mingine ya data inayozalishwa na processor katika kumbukumbu kwa programu inayofanya kazi na data inachukua rasilimali nyingi za mfumo. Kwa hiyo, mara tu unapomaliza kufanya kazi na meza au hifadhidata, ifunge mara moja ili kutoa rasilimali kwa watumiaji wengine.

Hivi karibuni, wamepata umaarufu mkubwa seva za hifadhidata. Hizi ni wasindikaji wa data wa kawaida, lakini hutekelezwa kwa namna ya programu za seva na kukimbia kwenye kompyuta za seva. Faida zao juu ya wasindikaji wa data wa kawaida:

  • wanaendesha kwenye kompyuta ya seva, ambayo kwa kawaida ina nguvu zaidi kuliko kompyuta ya mteja, hivyo utendaji wao ni wa juu;
  • hutoa usalama mkubwa wa data kupitia udhibiti wa ufikiaji na njia zingine;
  • wao ni wenye nguvu zaidi, kwa maana kwamba wanaunga mkono ubunifu tofauti zaidi ambao umeonekana hivi karibuni.

Ili kupata ufikiaji wa seva ya hifadhidata na data yenyewe, programu ya mteja hutuma maagizo maalum kwake. Ili kutunga amri kama hizo, lugha ya maelezo ya hoja ilitengenezwa SQL(Lugha ya Maswali Iliyoundwa - lugha ya swala iliyopangwa). Kutumia amri zilizoandikwa kwa lugha hii, programu ya mteja inaweza kufungua meza inayotakiwa, kusoma data, kuongeza, kubadilisha, kufuta rekodi na, hatimaye, kufunga hifadhidata wakati haihitajiki tena.

Seva za hifadhidata sasa hutumiwa mara nyingi sana, na katika programu za Wavuti - karibu kila mahali. Maarufu zaidi ni pamoja na Oracle, Microsoft SQL Server, Sybase, IBM DB2 yenye nguvu, Borland InterBase (nchini Urusi inauzwa chini ya jina IBase), PostgressSQL inayozidi kuwa maarufu na seva ya bure ya MySQL, inayosambazwa kama chanzo wazi. Seva ya mwisho, kwa njia, hutumiwa mara nyingi sana kwa kushirikiana na seva ya Apache Web na teknolojia ya ukurasa wa seva ya PHP.

Hii inahitimisha hadithi kuhusu hifadhidata na programu za seva.

Tayari imesemwa kuwa vipengele maalum vya kurasa za Wavuti - fomu - kutuma data kwenye programu ya seva. Tutazungumza juu ya fomu na kufanya kazi nazo katika Dreamweaver katika sura inayofuata. Na kisha tu tutaendelea kwenye programu ya seva yenyewe.

Ninashukuru mapema kwa maoni, makadirio na masahihisho (kwa kuzingatia kwamba hadhira inayolengwa ni dummies).

Ikiwa watumiaji wote, kwa hali yoyote, wanahitaji kuonyeshwa kitu kimoja, basi faili inayofanana inaweza kuwekwa tu kwenye seva, lakini kwa kawaida hii haitoshi na unataka aina fulani. Katika kesi hii, unahitaji kuendesha programu kwenye seva ambayo itaunda maandishi ya HTML yanayohitajika katika kesi hii. Kuandika programu hizi za "seva" (scripts) ni, kwa ujumla, biashara kuu ya maendeleo ya wavuti; ni ndani yao kwamba 90% ya ugumu na gharama ya mradi wowote kawaida hufichwa. Kwa kuwa programu inaendesha kwenye seva yetu, na sio kwenye kompyuta ya mtumiaji, uchaguzi wa zana ni wetu kabisa na hakuna lugha moja ambayo programu hizo zimeandikwa.

Uamuzi wa kwanza na muhimu zaidi wa kufanya ni mfumo wa uendeshaji wa seva yetu. Kinadharia, inaweza kuwa chochote, katika mazoezi nchini Urusi katika 93% ya kesi wanatumia Unix, katika 6.99% - Windows, katika 0.01% - kitu kingine. Sina lengo kabisa, lakini sioni hoja moja inayopendelea Windows na mbili ikipendelea Unix, kwa hivyo napendekeza uchague kila wakati. Hoja ya kwanza: kile kinachojulikana zaidi ni rahisi zaidi kila wakati, ni rahisi kupata mwenyeji, ni rahisi kupata mtaalamu, ni rahisi kupata suluhisho lililotengenezwa tayari kwa kazi ndogo. Hoja ya pili: gharama ya leseni kwa Windows/MS SQL/...; Pesa huko sio kubwa, lakini bado ni tofauti na sifuri. Ikiwa tumechagua Unix kama Mfumo wa Uendeshaji, basi swali la asili linalofuata - ni utekelezaji gani wa kutumia - sio muhimu kabisa na linaweza kuamuliwa kulingana na matakwa ya kibinafsi ya msimamizi wa mfumo.

Uamuzi wa pili wa msingi ni lugha ya programu. Chaguo hapa ni kubwa kabisa. Kwanza, kuna darasa zima la lugha ambazo ni bora kwa kazi za kawaida za programu ya wavuti (na moja yao iligunduliwa mahsusi kwa ajili yake) - "lugha za maandishi". Sasa hii ni angalau PHP, Perl, Ruby na Python. Ni juu yao kwamba idadi kubwa ya tovuti zimeandikwa, kutoka kwa maduka rahisi zaidi ya mtandaoni hadi vkontakte.ru, kwa mfano. Kwa upande wa uwezo, urahisi, tija, zana za ukuzaji, na viashiria vingine vya kinadharia, ni takriban sawa kwa kila mmoja; tofauti kuu ni upatikanaji wa waandaaji wa programu. Hivi sasa, viashiria vya soko vilivyopimwa ni kama ifuatavyo: kwa kila wasifu 100 wa waandaaji wa programu za PHP nchini Urusi, kuna 10 Perl na 2-3 Ruby na Python wanaanza tena. Kwa upande mwingine, kati ya watu wote wanaojiita watengeneza programu wa PHP, 80% hawapaswi kuruhusiwa kugusa nambari kama risasi ya kanuni; kwa watengenezaji wa lulu takwimu hii ni karibu nusu, na kwa Ruby na Python hata kidogo. Ni wazi kuwa nambari za kwanza ni za kusudi na zinachukuliwa kutoka kwa tovuti za kufanya kazi, na ya pili ni tathmini ya hali ya masharti na haiwezi kuzidishwa moja kwa moja, lakini kwa hali yoyote, idadi ya waandaaji wa programu na waandaaji wa programu nzuri imeamriwa kwa mpangilio huu: PHP, Perl, Ruby au Python, na kiwango chao cha wastani ni kinyume kabisa. Kwa hivyo, ikiwa tuna mradi wa viwanda na idadi kubwa ya watengenezaji na mauzo ya wafanyikazi, basi tunahitaji kuchagua PHP kutoka kwa lugha za Wavuti (inakubalika kutumia Perl ikiwa kuna sababu muhimu sana za kawaida). Ikiwa mradi huo ni mfupi, mtayarishaji atakuwa peke yake na hatabadilika kamwe, basi chaguo linaweza kukabidhiwa kwake, na uchaguzi wa Ruby/Python unaweza hata kugeuka kuwa sababu ya matumaini.

Mbali na ndugu mapacha wanaozingatiwa wa lugha za uandishi (chaguo kati ya ambayo ni ya kijamii), kuna wengine ambao wana sifa tofauti za kiufundi na, ipasavyo, niches zingine za matumizi.

Lugha C. Lugha inayohitaji usahihi wa juu zaidi wa kiprogramu, ndiyo ngumu zaidi kupata hitilafu, ikiwa na masuluhisho machache yaliyotayarishwa tayari na yenye kasi ndogo zaidi ya ukuzaji. Inalipa fidia kwa hasara hizi zote kwa faida moja tu: utendaji, ambayo ni maagizo kadhaa ya ukubwa bora kuliko utendaji wa PHP na analogues zake. Kimsingi, chuma sasa ni nafuu, lakini kazi ni ghali, pamoja na hii ni muhimu mara chache. Kwa kawaida, ikiwa mradi unatarajia maonyesho chini ya milioni kwa siku, basi unaweza kusahau kwa usalama kuhusu C, lakini ikiwa kuna hisia zaidi, unapaswa kufikiria tu juu yake na usiikubali bila masharti. Kwa mfano, kihesabu liveinternet.ru kimeandikwa katika C.

Lugha ya C++. Ina shida zote sawa na C, lakini kwa fomu isiyo wazi; kwa kurudi hutoa kulinganishwa, lakini tija ya chini. Kawaida hutumiwa ambapo utendaji bado unahitajika, na mantiki ya biashara ni ngumu sana na inapakana na kisayansi. Mfano wa kawaida ni huduma za utafutaji. Kikwazo muhimu kinachoizuia kuchukua nafasi ya C kabisa kwenye niche yake ni uhuru mkubwa zaidi wa msimbo ambao hautumiki. Kama ilivyo kwa mpangilio wa jedwali, kila mtu anaandika takriban kwa njia ile ile katika C, na ikiwa nambari inakidhi mahitaji rasmi na ya ubora inayoweza kuthibitishwa (hairuhusu uvujaji wa kumbukumbu, hushughulikia makosa kwa usahihi, nk), basi kuna uwezekano mkubwa kuwa kiwango kinachokubalika kabisa na kwa kuzingatia sifa zisizo rasmi lakini muhimu kama vile "kueleweka" na "mshikamano". Lakini katika C++, huku ukizingatia mahitaji yote rasmi, unaweza kuandika kitu ambacho ni kikubwa au cha kuchukiza. Na kwa kawaida ya pili ni ya kawaida zaidi.

Lugha ya Java. Kutoka kwa mtazamo wa kiufundi, inatofautiana na C ++ kwa takriban njia sawa na C ++ tofauti na C. Hiyo ni, mpito kutoka C ++ hadi Java inamaanisha kupoteza kwa utaratibu mwingine wa nusu ya tija, lakini faida mpya katika kasi ya maendeleo na a. maktaba ya suluhisho zilizotengenezwa tayari tayari kulinganishwa na lugha za uandishi. Kwa mtazamo wa kijamii, idadi ya watengeneza programu wa Java ni chini ya idadi ya waandaaji wa programu za C ++ na idadi ya waandaaji wa programu za PHP, wakati kwa wastani ni ghali zaidi na, kwa maoni yangu ya kibinafsi, kwa wastani ni mbaya zaidi kuliko zote mbili. Sababu ya hali hii ya kushangaza ni soko kubwa la maendeleo ya Java ya mifumo ya ushirika, ambayo, kwa upande mmoja, inaongeza mishahara, na kwa upande mwingine, inasisitiza utamaduni wake na mbinu ya programu, ambayo ni hatari tu kwenye wavuti. . Kama matokeo, sioni hali moja ambapo utumiaji wa Java katika ukuzaji wa wavuti utahesabiwa haki. (Walakini, odnoklassniki.ru imeandikwa katika Java na inafanya kazi kwa mafanikio.)

Ikiwa tuliweza kufanya makosa na kuchagua Windows kama mfumo wa uendeshaji, basi kwa kuongeza lugha zilizoorodheshwa (zote, kimsingi, zimeelekezwa zaidi kwa Unix, lakini zinaweza kutumika kila mahali), chaguzi mbili zaidi zinaonekana: VBScript (aina fulani ya analog ya PHP) na C # (analog ya Java ). Kwa kuwa sioni faida yoyote kutoka kwa Windows, siwezi kuzipendekeza.

Aina ya lugha za programu za seva sio mdogo kwa chaguzi zilizoorodheshwa, lakini umaarufu kamili wa kila kitu kingine ni karibu na sifuri na sijui sababu zozote za busara za kuchagua zile za kigeni.

Zana zote zilizopo (angalau zote maarufu) ni za ulimwengu wote. Juu ya kila mmoja wao unaweza kutekeleza chochote kabisa, swali pekee ni kwamba kwa baadhi ya zana itakuwa kasi na nafuu, na kwa wengine itakuwa ghali zaidi na polepole. Kimsingi, hakuna mtu anayekataza kutumia lugha mbili tofauti za seva katika mradi mmoja, lakini hii kawaida husababisha kuzorota kwa usimamizi wa mradi - tunategemea wataalamu wawili (au vikundi viwili vya wataalam) badala ya mmoja, ambaye, pamoja na kazi halisi ya mradi, lazima itumie juhudi katika uratibu kama kijamii (mawasiliano kati yao) na kiufundi. Isipokuwa halali ni mchanganyiko wa mojawapo ya lugha za uandishi na mojawapo ya jozi za C/C++. Sehemu ya "juu" ya msimbo, inayohusika na kiolesura, imeandikwa katika hati, na sehemu ya ndani muhimu zaidi ya utendaji imeandikwa katika C au C++. Aidha, uhusiano kati ya sehemu katika miradi tofauti inaweza kuwa tofauti kabisa. Kwa mfano, ulov-umov.ru ni mradi wa C++ changamano wa kialgorithmically ambao kimsingi hutekeleza injini yake ya utafutaji na karatasi ndogo ya Perl ambayo huchota kiolesura cha kurasa 10. Na ndani ya PHP-based readme.ru kabisa kuna moduli moja ndogo ya C ambayo, kulingana na data iliyopangwa tayari, huchota watoa habari haraka. Ni muhimu kwamba lugha yenye tija daima "ndani", na ni sehemu gani ya kiasi kinachochukua inategemea mambo ya ndani.

Lugha za programu za upande wa mteja zinatofautiana vipi na zile za upande wa seva?

Tarehe: 2012-10-04

Lugha zote za programu za wavuti zinaweza kugawanywa katika vikundi viwili vikubwa: mteja Na seva. Ili kuelewa na kuelewa lugha hizi ni nini, jinsi zinavyofanya kazi na jinsi zinavyotofautiana kutoka kwa kila mmoja, unahitaji kuelewa ufafanuzi mbili zaidi: Seva Na Mteja.

Seva- hii ni kompyuta ambayo tovuti inaendesha kwenye mtandao (faili na folda za tovuti zimehifadhiwa). Zaidi chini ya muda Seva kuelewa programu maalum iliyowekwa kwenye kompyuta ambayo inashughulikia maombi kutoka kwa kivinjari cha mtumiaji hadi hati yoyote ya wavuti (kwa mfano,).

Mteja- huyu ndiye mtumiaji mwenyewe, au tuseme kivinjari kimewekwa kwenye kompyuta yako. Mtumiaji wa Mtandao anapotuma ombi kwa seva, yeye ni mteja.

Lugha za mteja.

Lugha za mteja zinaendeshwa kwenye kompyuta ya mtumiaji (mteja). Kwa usahihi, zinafanywa na kivinjari yenyewe. Kwa kawaida, lugha za mteja hupachikwa katika msimbo wa html wa ukurasa wa wavuti. Kwa hivyo, ili kuona msimbo, unahitaji tu kufungua ukurasa wa wavuti kwa kutumia kihariri chochote cha maandishi au kivinjari.

Kwa kuwa lugha za mteja zinaendeshwa kwenye kompyuta ya mtumiaji, ni mtumiaji pekee anayeweza kuamua ikiwa anazihitaji au la. Anaweza tu kuwazima na kivinjari hakitafanya chochote.

Moja ya hasara kuu za lugha za upande wa mteja ni kwamba hawawezi kuwasiliana na seva ambayo tovuti iko. Hakuna njia ya kuhifadhi na kupakia habari kutoka kwake. Hii inazuia kwa kiasi kikubwa matumizi ya lugha za mteja. Kwa mfano, kuhusu programu ambazo lazima zihifadhi na kupakia taarifa fulani kutoka/kwa seva: vitabu vya wageni, vizuizi vya maoni, ukadiriaji, upigaji kura, n.k. Unaweza kusahau kabisa.

Kwa kuongeza, kwa kuwa mtumiaji yeyote anaweza kutazama kwa urahisi msimbo wa programu, basi unaweza pia kusahau kuhusu usalama. Ikiwa ungependa kuzuia ufikiaji wa faili zingine kwa kutumia lugha kama hizo, hii haitawezekana kufanikiwa. Ni rahisi sana kutazama msimbo wa HTML wa ukurasa wa wavuti ili kujua habari zote zilizolindwa na nywila.

Walakini, kwa kuwa lugha za mteja zimepata umaarufu kama huo, lazima pia ziwe na faida. Ndio, kuna faida na zaidi!

1) Hawatumii data kwa seva, ambayo hufanya kazi yao haraka zaidi.

2) Hakuna programu ya ziada inahitajika, kila kitu unachohitaji kiko kwenye kivinjari cha mteja.

3) Kampuni ya mwenyeji inahitaji pesa kwa kutumia lugha za seva (hosting iliyolipwa), lakini sio kwa lugha za mteja.

Lugha za mteja zinazojulikana zaidi ni: JavaScript Na VisualBasicScript (VBS). Ili kivinjari kuelewa na kutekeleza, chombo maalum kinajengwa ndani yake - mkalimani.

JavaScript, iliyoandaliwa na kampuni Netscape na awali ilitumika kwa kivinjari pekee Navigator ya Netscape. Hivi sasa, lugha hii imekuwa maarufu sana. VisualBasicScript (VBS) hii ni analogi ya lugha ya mteja kutoka kwa kampuni Microsoft.

Kama ilivyoelezwa hapo awali, lugha hizi zote hufanya kazi katika vivinjari vya kawaida bila moduli za ziada au programu-jalizi. Vivinjari vya kawaida ni: Internet Explorer, Opera, Mozilla, nk.

Lugha za seva.

Lugha za upande wa seva zinatekelezwa moja kwa moja kwenye seva yenyewe, na programu maalum. Hii ina maana kwamba ili waweze kufanya kazi, haijalishi ni kivinjari gani mtumiaji anatumia, mahesabu yote bado yatafanyika kwenye kompyuta ya mbali (seva).

Kwa ujumla haiwezekani kwa mgeni wa tovuti kuona msimbo wa programu katika lugha ya seva; yeye huona tu matokeo ya kazi, ambayo tayari yatawasilishwa kama ukurasa wa HTML.

Lugha za upande wa seva hutoa programu ya wavuti uwezo zaidi kuliko lugha za upande wa mteja. Kwa kuzitumia, unaweza kubadilishana data na seva, ambayo tulinyimwa wakati wa kutumia lugha za mteja.

Maarufu zaidi kati ya lugha za seva ni: na Perl.

Kwa sababu Lugha za seva zinaingiliana na kompyuta ya mbali (seva), kuna haja ya kuhifadhi matokeo ya mwingiliano huu mahali pengine. Swali linatokea: jinsi na wapi kuhifadhi data hii?

Kwa mfano, kitabu cha wageni kinahusisha kuhifadhi kwenye seva taarifa kuhusu jina la mtumiaji na data ya ujumbe alioacha. Ikiwa huna data nyingi, unaweza kuihifadhi kwenye faili ya maandishi ya kawaida. Lakini tovuti yoyote inapokua, inapaswa kuhifadhi kiasi kikubwa cha habari. Ni kwa kusudi hili kwamba kuna Hifadhidata (DB).

Hii ni aina ya maktaba ambapo taarifa zote zimepangwa vizuri kwenye rafu. Lakini peke yake DB haitoshi bado. Wakati kuna habari nyingi, inakuwa ngumu sana kupata kile tunachohitaji, bila kutaja usindikaji wa habari zote au kutoa data muhimu tu. Kwa hivyo kwa nini usiruhusu kompyuta kuifanya? Ndivyo walivyofanya. Hivi sasa, hifadhidata zinachakatwa kwa mafanikio na kompyuta. Mifumo ambayo inawajibika kwa haya yote inaitwa Mifumo ya Usimamizi wa Hifadhidata (DBMS).

  • Tafsiri
  • Mafunzo

Barabara ni ndefu na ngumu, lakini ya kuvutia na muhimu!

Nakala hiyo ilikusudiwa kama mwongozo wa vitendo kwa wale wanaotaka kuwa wasanidi wa kitaalamu wa wavuti. Nimekuwa nikiandika nambari ya wavuti kwa zaidi ya miaka 20. Ninafanya kazi na kusaidia wasanidi wavuti kila siku. Katika makala hii, nitaelezea kile unachohitaji kujifunza, wakati unahitaji kujifunza, na wapi unaweza kupata habari (kawaida kwa bure). Kisha nitatoa ushauri juu ya kupata uzoefu wa ulimwengu halisi, na muhimu zaidi, kulipwa ili kuandika nambari.

Kuna viungo vingi vya rasilimali zisizolipishwa na muhimu zilizotawanyika katika makala yote. Kwa urahisi, nimezikusanya katika PDF na kuzigawanya katika kategoria. Sijalipwa kutaja tovuti ninazounganisha - ninataka tu kupendekeza nyenzo bora za kukusaidia kufikia lengo lako.

Mambo ya kukumbuka:

1. Unaruhusiwa kusogeza kupitia makala

Mwongozo unaweza kukusaidia bila kujali uko wapi kwenye barabara ya maendeleo ya kitaaluma. Sogeza hadi kwenye kichwa kinachofafanua vyema hali yako ya sasa na usome kuanzia hapo. Ikiwa umeanza njia hii, au bado unaifikiria, fuata ushauri wa Mfalme kutoka "Alice katika Nchi ya Maajabu":

Anza mwanzo, na uendelee mpaka ufikie mwisho; na uishie hapo tayari.

2. Jaribu kidogo ya kila kitu na kisha kuchagua utaalamu.

Pesa sio jambo muhimu zaidi. Unahitaji KUPENDA unachofanya! Lakini hutajua unachopenda hadi ujaribu.


Tafuta mapenzi yako, kisha uchume nayo

Mwongozo utakusaidia kufahamiana na maeneo mengi ya ukuzaji wa wavuti haraka iwezekanavyo. Na kisha atakusaidia kuchagua utaalam katika eneo ambalo unapenda. Huwezi kufikia ukamilifu katika kitu chochote mwanzoni - utajifunza misingi na kisha kuendelea kujifunza. Tafuta shauku yako na nitakuonyesha jinsi ya kusonga mbele.

Niliamua kuandika kanuni. Ninapenda wavuti. Sijui nianzie wapi


Utafanikiwa!

Hongera! Hii ni hatua kubwa ya kwanza na mwanzo wa kitu cha kusisimua sana. Lakini pia inaweza kuwa ngumu sana. Usijali, nitasaidia.

Kwanza, unahitaji kufahamu haraka misingi ya maeneo yote ya ukuzaji wa wavuti ("mzunguko kamili"). Mafunzo yatakuwa tofauti, lakini ya kina. Hii ni kutafuta uwanja ambao unafurahiya na pia kupata ujuzi wa kimsingi katika nyanja tofauti. Kisha utaweza kuelewa na kufanya kazi na seti kubwa ya matatizo, bila kujali unachochagua.

Jifunze misingi ya HTML

Lugha ya Alama ya HyperText (HTML) hudhibiti maudhui na mpangilio wa kile unachokiona kwenye kivinjari. Mara tu unapoanza hapo, una kiolesura cha mtumiaji ambacho unaweza kuingiliana nacho na kuona matokeo ya msimbo wako. Unapojifunza lugha ngumu zaidi, umuhimu wake utaongezeka. Huna budi kuweka msimbo kwa upofu.

Hivi ndivyo unahitaji kujifunza kuhusu HTML:

Tayari ninajua misingi ya HTML

Baridi! Hii ni hatua muhimu sana. Sasa jifunze misingi ya JavaScript.

Jifunze Misingi ya JavaScript

JavaScript ni lugha ya wavuti, na vivinjari vyote vikuu (Chrome, Firefox, Safari, IE, wengine wengi) vinaiunga mkono. Kila tovuti, kila programu ya wavuti ambayo umetumia, kuna uwezekano mkubwa ina idadi kubwa ya msimbo wa JS. Bila kutaja ukweli kwamba lugha inapata umaarufu kwenye majukwaa mengine - seva, kompyuta za kompyuta, na vifaa vingine.

Kwa sasa, unahitaji misingi, na rasilimali zifuatazo ni nzuri kwa hilo:

Ninajua misingi ya JavaScript na HTML

Inashangaza! Sasa hebu tuongeze CSS kwenye ujuzi wako

Jifunze CSS

CSS, au Laha za Mtindo wa Kuachia (laha za mtindo wa kuachia). Inatumika kubinafsisha mwonekano wa vipengee vya HTML kwenye ukurasa. Angalia mafunzo ya bila malipo ya Mozilla, kisha uangalie CSS-Tricks kwa matatizo yako magumu zaidi (tafuta juu kulia).

Wacha tuendelee kwenye sehemu ya nyuma

Kufikia sasa, tumeangalia kile kinachoitwa "mwisho wa mbele" wa ukuzaji wa wavuti. Umefahamiana na lugha kuu zinazoendesha kwenye kivinjari. Ni wakati wa kuendelea na nyuma - msimbo unaoendesha kwenye seva. Usijali, hutahitaji seva - kompyuta yako itaishughulikia.

Kuna tani ya lugha za nyuma, lakini kwa kuwa unafahamu JavaScript, ningependekeza kujifunza kutumia Node.js. Inakuruhusu kuendesha msimbo wa JS kwenye seva badala ya kwenye kivinjari.

Kwa kuongeza hii, unahitaji kujifunza Express na MongoDB.

Express
Hii ni maktaba ambayo Node.JS inaweza kufanya kazi nayo kama seva ya wavuti (sikiliza maombi kutoka kwa kurasa na uwatumie majibu).
MongoDB
Ni hifadhidata inayokuruhusu kuhifadhi na kupata habari.

Unaweza kusoma mada hizi tatu kwa shukrani kwa nyenzo zifuatazo bora na za bure za kielimu, na mwendelezo wake.

Ninahitaji kuchagua kati ya mandhari ya mbele, ya nyuma na ukuzaji wa mzunguko kamili

Mara tu umejaribu chaguo zote mbili za ukuzaji, ni wakati wa kufanya chaguo. Ikiwa hujawa na muda wa kuzijaribu, rejelea sehemu ya awali ya makala ili kujaza mapengo katika ujuzi wako.

Katika hatua hii, umeandika aina mbili za msimbo. Moja ni ya mwingiliano wa watumiaji, nyingine ni ya data. Nini unapendelea?

Mwingiliano wa mtumiaji? Hongera, wewe ni msanidi programu wa mbele!

Mwingiliano na data? Hongera, wewe ni msanidi programu!

Zote mbili? Hongera, wewe ni msanidi programu kamili!

Hukupenda chochote? Hongera, ukuzaji wa wavuti sio kwako. Furahi kuwa umeitambua sasa na haukupoteza tani ya muda na pesa. Je, si tayari kukata tamaa? Labda hukukutana na lugha uliyopenda? Jaribu kujifunza lugha zingine katika sehemu ya "Nataka kuwa msanidi programu".

Ninataka kuwa msanidi programu kamili

Baridi. Unahitaji kusoma maudhui yote ya sehemu za "Nataka kuwa msanidi programu" na "Nataka kuwa msanidi programu".

Ninataka kuwa msanidi programu wa mbele na ninajua misingi ya JavaScript, HTML na CSS

Ili kufanya kazi kwa ufanisi kama msanidi programu wa mbele, unahitaji kuwa na ufasaha katika HTML, CSS, na JavaScript ya upande wa mteja. Utahitaji pia kuwa na ufahamu mzuri wa mifumo kadhaa muhimu. Utapata ujuzi ambao waajiri na wateja wanatarajia kupata kwa wasanidi wa mbele.

Kufikia sasa unapaswa kujua misingi ya HTML. Vinginevyo, rudi kwenye sehemu ya Jifunze Misingi ya HTML.

Jifunze HTML ya kati na ya juu
Angalia mafunzo ya kati ya HTML na kisha mafunzo ya kina ya HTML.
Jifunze JavaScript ya upande wa mteja


Mfululizo bora wa vitabu kwenye JS, na ni bila malipo

Ili kuboresha ustadi wako wa JavaScript, ninapendekeza mfululizo wa kitabu cha Hujui JS cha Kyle Simpson. Mwandishi amechapisha mfululizo mzima mtandaoni bila malipo:

Zaidi ya hayo, MDN JavaScript inapaswa pia kuwa rafiki yako bora.

[Pia, tafsiri bora ya kitabu bora cha "Expressive JavaScript" inapatikana kwako bila malipo kabisa.]

Kujua "utatu wa mwisho", HTML, CSS na JavaScript ni, bila shaka, nzuri. Lakini ili kupata pesa, itabidi ujue na mifumo fulani.

Jifunze jQuery
Ni maktaba maarufu zaidi ya JS ya wakati wote. Ingawa mifumo mingine mipya imefanya jQuery isiwe muhimu sana, ikiwa unatafuta kazi, kuna nafasi nzuri ya jQuery kuwa kwenye maelezo ya kazi (na kutajwa kwenye mahojiano) kwa miaka mingi ijayo.

Ninapendekeza kujifunza jQuery kwa kutumia vifaa vya FreeCodeCamp - ni njia ya haraka na bora. Baada ya hayo, nenda kwenye tovuti rasmi ya mafunzo - huko utapata maelekezo ya ziada.

Jifunze mfumo maarufu wa JS
Mifumo hurahisisha kufanya kazi na lugha au teknolojia fulani kwa sababu hutatua matatizo makubwa zaidi ambayo teknolojia iliyochaguliwa inayo. JavaScript imekuwa na athari ya manufaa sana katika maendeleo na umaarufu wa mifumo.

Karibu mara moja kwa wiki mfumo mpya unaonekana, ambao unapendekezwa kuchukua nafasi ya kiwango kipya cha maendeleo. Utahitaji kuvinjari tovuti za kazi na kufanya Google Googling ili kujua ni mfumo gani unaojulikana katika soko lako. Pia ninapendekeza zana ya Hacker News ya kutathmini mitindo ya soko la kazi.

Wakati wa kuandika nakala hii, mifumo ifuatayo ilikuwa maarufu:

Baada ya kuchagua mfumo unaofaa zaidi na kujijulisha nao kabisa, inafaa kusoma mfumo wa CSS unaokuja nao. Wachezaji wawili wakubwa katika soko hili leo ni Bootstrap na Usanifu wa Nyenzo.

Bootstrap
Bootstrap ilitengenezwa na watengenezaji Twitter, na tayari imekomaa na maarufu. Matoleo ya Bootstrap yapo kwa Angular, Angular 2 na React.
Nyenzo
Nyenzo ni seti ya sheria za muundo zilizotengenezwa kwenye Google. Inapata umaarufu na kuna matoleo ya Angular na React. Kwa kuwa Angular pia ni chimbuko la Google, Nyenzo inafaa kabisa nayo.

Hapa kuna baadhi ya viungo kwa ajili yako:

Hongera! Una ujuzi muhimu wa msanidi programu!


Mwangalie tu!

Ninataka kuwa msanidi programu wa nyuma

Ajabu! Hatua ya kwanza ni kuchagua lugha. Kuna lugha nyingi zinazopatikana kwa kufanya kazi na backend, na kila moja ina faida na hasara zake. Angalia jedwali la lugha za programu zilizopangwa kulingana na umaarufu. Wote wamekuwa kwenye kumi bora kwa miaka kumi. Zile zilizowekwa alama ya kijani ni lugha za wavuti ambazo zimekuwa zikipata umaarufu kwa miaka mingi.


Kielezo cha TIOBE cha Lugha za Kupanga, www.tiobe.com/tiobe_index?page=index

Zingatia lugha ambazo nimezungushia majina yao kwa kijani kibichi. Ikiwa huzijui, anza juu ya meza na ushuke chini. Acha unapopata kitu unachokipenda na kuchimba kwa kina!

Ikiwa unafahamu mojawapo ya lugha zilizowekwa alama ya kijani na unaipenda, zingatia zaidi.

Boresha ujuzi wako wa mahojiano
Unahitaji kujiandaa kwa zaidi ya kuandika msimbo tu. Nakala nzuri kutoka kwa Life Hacker inaelezea habari nyingi muhimu na muhimu.
Jambo kuu ni kupata nafasi katika soko
Usijali sana kupata kazi ya ndoto yako na mwajiri wa ndoto yako na mshahara wako wa ndoto. Kwanza, pata tu kazi ambapo unaandika msimbo wa pesa. Mara tu unapopata uzoefu zaidi, unaweza kupanga hatua yako inayofuata.
Nataka kuwa mfanyakazi huru
Kuwa bosi wako mwenyewe ni jambo zuri, lakini pia huja na shinikizo kubwa na matatizo makubwa. Chanzo bora cha maelezo ya ujasiriamali ambacho nimeona ni DoubleYourFreelancing.com. Ana mfululizo wa makala ambazo zitakusaidia kuwa mfanyakazi huru bora kuliko nilivyowahi kufanya. Soma.

Chaguo jingine, ikiwa unajiamini kwako mwenyewe, ni huduma ya Toptal. Wanakubali tu 3% ya waombaji wote, na mchakato ni mgumu sana, lakini ukiingia, utakuwa na ufikiaji wa kazi zinazolipa vizuri ambazo unaweza kufanya kazi kwa mbali.

Nilianza kazi lakini ninahisi kama niko mahututi
Elewa. Sio rahisi, na ikiwa mtu yeyote alikuambia vinginevyo, hakufanya hivyo au anajaribu kukutapeli pesa. Ikiwa unahisi kukwama, jaribu chaguzi hizi:
Onyesha upya Nia Yako Asili
Jiulize, andika kwenye karatasi kwa nini uliamua kufuata njia hii. Jibu lako bado ni halali? Ikiwa ndio, basi kwa nini kuacha? Mbele!