Python ji bo Web: tiştê ku ciwanek pêdivî ye ku bizanibe ku bixebite û pêş bixe

Me bi ramanên sereke yên ji Podcasta Python Junior re kurtenivîsînek çêkir: di wê de me nîqaş kir ku em ji ku derê dest pê bikin û li ku derê biçin wekî pêşdebirek Python-a destpêk. Di van demên dawî de ji bo naverast û kalûpîran gelek naverokên me hene, lê ev beş bê guman ji bo xortan e.

Python ji bo Web: tiştê ku ciwanek pêdivî ye ku bizanibe ku bixebite û pêş bixe

Mijarên sereke:

  • Bernamesazek ​​nûjen ji bo pratîkê çi zanînê hewce dike
    pêşveçûna malperê?
  • Kardêr ji pêşdebiran çi hêvî dikin?
  • Ji bo dîtina karekî bê ezmûn çi bike?
  • Pêşdebirek Python çawa dikare pêşve bibe?

Python Junior Podcast ji bo kesên ku dixwazin Python çêtir fam bikin podcastek bernamekirinê ye. Weşan ji hêla mizgînvanên civatê ve têne kirin Moskova Python û mamosteyên kursê Python Learn.

Beşdarên axaftinê:

  • Valentin Dombrovsky,hev-avakarê Moskowê Python
  • Zlata Obukhovskaya, Serkêşiya tîmê NVIDIA
  • Grigory Petrov, mizgînvan MoscowPython
  • Alexey Shtyrnyaev, pêşdebir li FinEx, mamosteyê qursên Learn
    python

Çima Python ji bo pêşkeftina malperê baş e

Valentin Dombrovsky: Çima Python ji bo pêşkeftina malperê maqûl e? Ji bo nimûne, çima ne PHP an JavaScript?

Grigory Petrov: Ji ber vê yekê zêde hilbijartin tune. Tevî vê rastiyê ku di Web-ya nûjen de hûn dikarin bi rastî serîlêdanek rûpelek yekane an serîlêdana tevnvî ya pêşkeftî bêyî paşverû ava bikin - bi tenê bi karanîna teknolojiyên pêş-endê, bi karanîna JavaScript-ê - ew hîn jî pir tevlihev e, qels tête navnîş kirin û hewceyê pêşdebirên xweş e.

Ger em bixwazin malperek an karûbarek çêbikin, em nêzîkatiyek hevgirtî bikar tînin: hin paşverû mantiqê bicîh tîne û rûpelên malperê diafirîne, û hin pêşek van rûpelên malperê di gerokê de xêz dikin. Û gava ku em hewce ne ku bi lez û bez ew hemî li ser tiştek bicivînin, em bi rastî bijartinek tune.

Werin em li vebijarkên gengaz binihêrin.

  • C#. Microsoft bi rastî pir mezin e, wan .NET Core çêkir û bi her awayê îmkanê wê pêşvedixin. Lê, yekem, ev teknolojiyek nû ya cross-platform e, û li wir hêj her tişt ne xweş e. Ya duyemîn, ew bi rastî biha ye, çend pêşdebirên C# hene - tenê ji ber ku ew ne populer e.
  • Java Ev tevlihev e. Çêkirina malperek normal di Java de 10 rêzikên kodê nagire, mîna Python. Ev gelek kod e, ev çarçove ne, û hûn hewce ne ku hûn taybetmendiyên sazkirina serverên Java-yê bizanibin. Bi gelemperî, êş û janên domdar.
  • PHP. Di guhertoyên herî dawî de ew ecêb e. Ez ê vê jî bibêjim: PHP 7.2 ji Python ne xirabtir e. Lê hûn nekarin tenê PHP 7.2 hildin û bikar bînin. Ger pêşdebirek asayî, ne jorîn malperek di PHP-ê de çêbike, ew ê ne tenê di 7.2-ê de binivîsîne: ew ê dîsa jî neçar bimîne ku hin pirtûkên dersê, dersan bixwîne, li her derê gelek kodên mîras hene, û ev ne pir baş e.
  • JavaScript û Node.js. Gava ku hem li pêş û hem jî li paş-paş yek ziman hebe ecêb û pir nûjen e. Tenê ne pir stabîl. Node.js tiştek baş e, lê ew pirsgirêk e ku meriv wê di hilberînê de bicîh bike da ku ew têk nebe û bi îstîqrar bixebite. Zêdeyî, heke em dixwazin koda JavaScript-a bi kalîte binivîsin, em ne hewceyî JavaScriptê, lê TypeScriptê ne. Lê TypeScript ji nedîtî ve tevlihev e, û mêjiyê pêşdebirên navîn dema ku ew dibînin dişewite.

Ka em Ruby, Haskell, Erlang û tiştên din ên cihêreng bihêlin, û em bi... Python mane. Zimanek bi hevoksaziya hevgirtî, pirtûkxaneyek standard a yekgirtî, çêtirîn belgekirin, çarçoveyên sivik ên populer, û Django-ya mega-populer tevdigerin.

Derket holê ku, tevî bijartina herî berfireh, heke me pêşdebirên asayî, ne yên jorîn hebin, em karsaziyek asayî ne ku dixwazin malperên asayî çêkin, ji bo 50 kesan dezgehek me ya pêşkeftinê tune, wê hingê em Python digirin.

Ji bo ketina pîşeyê çi zanîn hewce ye?

Zlata Obukhovskaya: Ez bawer dikim ku hûn hewce ne ku çarçoveyek baş zanibin - û zanibin yên din çi hene û kengê têne bikar anîn. Tornado li ku ye, Django li ku ye, Flask li ku ye, aiohttp li ku ye û hwd.
Dê kêrhatî be ku hûn zanibin ku tiştek wekî protokolan heye. Bi taybetî, zanîna protokola http ji bo avakirina serîlêdanên malperê navendî ye.

Her weha hûn hewce ne ku bi kêmanî fêm bikin ka dawiya pêşîn di projeyên malperê de çawa dixebite: HTML, CSS, JS çi ye.

Alexey Shtyrnyaev: Û dizanin ku belge li ku derê ye. Ya herî girîng e.

Grigory Petrov: Li vir em li ser zemîneke pir hejik dimeşin. Ger em bextewar bin û em bi rengekî ciddî dest bi xwendina eniya nûjen bikin, wê hingê ew ê ji paşpirtika Python-ê bi qasî 10 carî tevlihevtir be. Pêşdebirek nûjen pêdivî ye ku bala xwe bisînor bike da ku ew dest bi fêrbûna HTML-ê bike, lê di nav van hemî div, behs, floatan de winda nebe, ka her tişt çawa li hev û rêzkirî ye.

Alexey Shtyrnyaev: Pêdivî ye ku qursek bingehîn a Bootstrap. Û bingehên HTML-ê.

Di sala yekem de, divê hûn di çarçoveyên JS-ê de neçin (heke hûn balê dikişînin ser piştê). Kursa bingehîn a Bootstrap jixwe modulên amade hene: heke hûn sliderek dixwazin, sliderek çêkin; heke hûn menuyek herikîn dixwazin, menuyek pêvek çêbikin.

Zlata Obukhovskaya: Ez difikirim ku dema ku li pêşiyê dixwînin, hûn dikarin xwe bi taybetî, di ka çawa statîk bi gelemperî ji serîlêdanên webê re têne dayîn, bişopînin. Ji ber vê yekê pêşdebir bi rêkûpêk dimeşe ku dest bi fêrbûna çawa mîmariya serîlêdanên malperê bi prensîp dike û ew çawa di hilberînê de dijîn.

Grigory Petrov: Erê, ez ê tavilê wê pêşniyar bikim heke we Python wekî zimanek pêşkeftina paşîn hilbijart û, mînakî, Django wekî çarçoveyek: Django di Pirtûka Django de belgeyek heye, ew bi rastî xweş e, ew her tiştê ku Zlata gotiye dihewîne, ew bi rastî ji bo destpêkek baş e.

Alexey Shtyrnyaev: Hin Keçên Django jî ji bo destpêkek bilez guncan in heke armanca we fêrbûna Django ye. Ev dersdarek e ku di yek rojê de hûn dikarin bi ser de biçin, bingehên bingehîn û çarçove çi jêhatî ye fam bikin.

Valentin Dombrovsky: Di amadekirina tomarkirina podcastê de, me navnîşek tiştên ku bernamesazek ​​Python ji bo pêşkeftina malperê hewce dike berhev kir, ku tiştê ku me berê got kurt dike.

Tiştê ku di bingehên ji bo pêşkeftina malperê ya Python de tê de heye

  • Çarçoveyên malperê Django, Flask, aiohttp, Tornado, hwd. (û li ser hebûna yên din dizanin).
  • Protokol û API: di serî de http, JSON-RPC, Protokola Buffers, gRPC.
  • ORM û koçberî, databasên peywendîdar, SQLAlchemy, SQL, PostgreSQL, MySQL.
  • Bingehên HTML, CSS, Bootstrap, û her weha çarçoveyên JS û JQuery.
  • Prensîbên xebitandina serîlêdanê di hilberînê de, ceribandin, ceribandinên yekîneyê, ototest, pergalên kontrolkirina guhertoyê, git.

Ma ciwan hewceyê algorîtmayan in?

Zlata Obukhovskaya: Di destpêkê de, hûn ne hewce ne ku hûn algorîtmayan zanibin; ger hûn têra xwe dirêj bi pêşkeftinê re mijûl bibin ew ê hêdî hêdî di serê we de xuya bibin. Ez gelek endezyarên baş nas dikim ku qursek algorîtmayên fermî yên baş nebûne.

Grigory Petrov: Ez dixwazim sotemeniyê li agir zêde bikim. Hewldana me ya ji bo algorîtmayan ji ku tê?

Niha di algorîtmayan de perwerdehiyeke me ya bingehîn nîne, em nizanin bernamenûsan çawa perwerde bikin, bingehek me ya teknîkî tune.

Ew hewl didin vê yekê bikin, lê li vir çîroka Hogwartsê heye: em nikarin dibistanek ji sêrbazan re biafirînin dema ku em sêrbazek yekane nebin. Ji ber vê yekê, divê zanîngehek çi bike gava ku ew werin ba wan û jê bipirsin: "Destpêkirina bernamenûsan bikin," lê bernameçêkerên wan tune ne, ji ber ku her kes li Mail.ru, Rambler û Yandex dixebite, gelo ew li wir kêfxweş in?

Zanîngeh dinêre û dibêje:
- Baş e, bername. Werin em hin qada zanyariyê ya têkildar bibînin û pisporan ji wir vexwendin. Werin em bangî rojnamevanên ku dikarin kopî binivîsin, endezyarên elektrîkê yên ku dikarin çerxên elektrîkê çêkin, û matematîkzanên ku dikarin algorîtmayan bikar bînin vexwînin.

Di dawiyê de, derdikeve holê ku ev bi qasî hînkirina fîzîka perçeyên çêker pratîkî ye, tenê ji ber ku kerpîç û çîmento ji perçeyên bingehîn têne çêkirin.

Di heman demê de, ew bi xwe qala çîmento û kerpîçan nakin, ji ber ku fîzîknasê ku hewl dide avakerek perwerde bike, nizane xaniyan çêbike. Wekî encamek, em avakerek distînin ku dikare bêkêmasî diyar bike ka çawa "çîmento dixebite", lê qet ew nedîtiye û nizane meriv çawa jê tiştek çêbike.

Algorîtma û strukturên daneyê pir baş in, lê ev qada serîlêdanê pir piçûk e. Ew bi lez hewce ne, mînakî, heke hûn motorek lîstikê, berhevkar, an protokola torê dinivîsin.

Pir bernamenûs pirsgirêkên karsaziyê yên ku algorîtma û strukturên daneyê ne hewce ne çareser dikin.

Matematîka herî dijwar li wir du caran lê zêdekirin û dûv re dabeşkirin e. Ew zanebûnek bi tevahî cûda hewce dike. Çareserkirina pirsgirêkên karsaziyê bi taybetî ji zanîna bingehîn hewce dike ku serîlêdanê bike.

Ji bo pêşdebirek nûjen çêtir e ku têgihîştinek karsaziyê hebe û meriv çawa rast û zû strukturên pêwîst ji blokên amade berhev dike, meriv çawa wan xelet dike, meriv çawa pê ewle dibe ku ew ji hev nakevin, zanibin çima ew ji hev vediqetin, çi diqewime dema ku hewcedarî diguherin û bername dest pê dike "li ser bingehê rûdinin" mîna xaniyek piştî baranê.
Vana tiştên pratîkî ne û têgihîştina meriv çawa nermalava dinivîse. Pêdivî ye ku ew zanibe ku ji bilî debugger, komek amûrek wî heye ku dê tam nîşan bide ka bername li ku derê hêdî dibe.

Valentin Dombrovsky: Ev berhevok hat bîra min: ev wergerek ji zimanê karsaziyê ye bo zimanek ku tê de hûn dikarin bi komputerê re têkilî daynin. Ango bernamesaz cureyekî zimanzanê taybet e.

Grigory Petrov: Pêdiviya karsaziyê bi nivîskarek heye, ne zimanzanek. Nivîskar ne hewce ye ku bizanibe çima hezar sal berê ev peyv bi vê yekê veguherîbû. Pêdivî ye ku ew bikaribe van peyvan bicîh bîne.

Ya ku hûn hewce ne ku hûn yekem karê xwe wekî pêşdebir bibînin

Alexey Shtyrnyaev: Dibe ku ji bo meriv çawa ciwan çêbike reçeteyek gerdûnî tune.

Ger hûn werin hin pargîdaniyek, ew ê we kar bikin ne ji ber ku hûn Django, JSON û çend algorîtmayan dizanin. Hûn ê bi îhtîmalek mezin ji bo jêhatîyên ku ev pargîdanî li vir û nuha hewce dike werin xebitandin.

Gelek pargîdan hene, û hemî hewceyên cûda hene. Zanînek wusa gerdûnî tune ku pêdivî ye ku were bidestxistin da ku hûn rezûmeyek bêtir amade bikin û biçin karekî bibînin.

Grigory Petrov: Dema ku em li VoxImplant li çend endezyaran digeriyan, rêvebirê me yê teknîkî hewcedariya bingehîn wiha formule kir: Divê mirov bikaribe pirsgirêkan çareser bike. Eşkere ye ku ciwan dê her gav vê yekê bi bandor neke, ne bi awayê çêtirîn û ne her gav rast, lê îdeal e ku hûn peywirek bidin mirov, ew wiya teng dike û çareser dike. Ev jêhatîbûna ku karsaz di serî de lê digerin e.

Zlata Obukhovskaya: Kesên ku ji qadên din li kar digerin ji hêla karsaziyê ve xwediyê hin avantajê ne ji ber ku ew berê hin rê çûne û dikarin bi lez pirsgirêkan çareser bikin. Ev jêhatîbûnên nerm in, ez ê jê re jî bibêjim çanda xebatê. Gelek caran, mezûnên zanîngehê hîna vê çanda xebatê pêş nexistine.

Lê dîsa jî ez dixwazim hewl bidim ku cûreyek reçeteyekê bidim destpêkeran.

Gavên pêşîn ji bo pêşdebirek nûjen

Zlata Obukhovskaya: Ya yekem ev e ku ev hîn jî celebek projeyek ji xwe ye, ji ber ku hûn hewce ne ku di rezûma xwe de tiştek binivîsin û portfoliyonek hindik nîşan bidin. Dema ku ev proje ne ji bo xwe, lê wekî projeyek serbixwe - ji bo kesek têne çêkirin, xweştir e.

Piştî projeyên yekem, hûn dikarin berê xwe bidin rezûmanek û wê ji hemî pargîdaniyên ku li wir helwestên Hezîranê hene bişînin. Hevpeyvîn dê têgihîştina ku pargîdanî hewce ne peyda bikin. Zû an dereng kesek dê we bixebite, bi kêmanî di pargîdaniyek piçûk de. Dûv re, ev ezmûna xebatê dê fersendê bide we ku hûn têkevin pargîdaniyek mezin û balkêş.

Valentin Dombrovsky: Bi awayê, di qursên xwe de em xwendekaran amade dikin ku di nav 10 hefteyên perwerdehiyê de bibin xwediyê projeya xwe. Zêdeyî em jêhatîbûna pêşkeftina tîmê perwerde dikin. Vana tam jêhatîbûnên nerm in ku Zlata li ser peyivî.

Alexey Shtyrnyaev: Ez dikarim ji ezmûnê ji we re bibêjim ku ew dikare demek pir dirêj bigire ku hûn li karê xweya yekem bigerin. Dema ku hûn mehek an du mehan digerin, ew normal e. Ger hûn rezûmaya xwe ji hemî pargîdaniyan re bişînin, biçin hevpeyvînan, di meha sêyemîn de hûn ê bê guman tiştek bibînin.

Valentin Dombrovsky: Hûn dikarin projeyên xwe qut bikin an jî projeyên serbixwe yên hêsan bistînin û di heman demê de rezûma xwe bişînin.

Çi perspektîfên pêşdebirek Python heye?

Zlata Obukhovskaya: Pêşdebirek Python dikare biçe her derê. Hûn dikarin bikevin ceribandinê û pêşveçûna xwe li mîmarek payebilind bidomînin. An jî di nav rêveberiyê de. Rêvebirên teknîkî yên cihêreng hene, û hûn dikarin bi rêveberiya jorîn re mezin bibin. Hûn dikarin di zanistiya daneyê, DevOps de pêşve bibin, biçin ceribandina otomatîk an fêrbûna makîneyê.

Valentin Dombrovsky: Bi gelemperî, gelek vebijark û derfet hene, tevî qursên me. Di dergehê de hûn ne hewceyî zanînê ne, lê tê pêşniyar kirin ku hûn dûv re deverek berfereh veşêrin, ji ber ku hûn çiqas bêtir dikarin, ji bo we çêtir e.

***

Ev tenê beşek serbestberdanê ye Python Junior. Guhertoya tevahî ya beşê heye gûhdarkirin.

An jî binêrin:

Vîdyoyê lîstin

Podcast RSS

Spas ji bo xwendin, guhdarîkirin an temaşekirinê.

Source: www.habr.com

Add a comment