Python pou entènèt la: sa yon jinyò bezwen konnen pou travay ak devlope

Nou te fè yon relve nòt kout ak panse prensipal yo nan Podcast Python Junior: nan li nou te diskite sou ki kote yo kòmanse ak ki kote yo ale kòm yon devlopè Python debutan. Dènyèman nou gen anpil kontni pou mwayen ak granmoun aje, men epizòd sa a se definitivman pou jinyò.

Python pou entènèt la: sa yon jinyò bezwen konnen pou travay ak devlope

Sijè prensipal yo:

  • Ki konesans yon pwogramè inisyasyon bezwen pratike
    devlopman entènèt?
  • Kisa anplwayè yo atann de devlopè yo?
  • Kisa pou w fè pou w jwenn yon travay san eksperyans?
  • Ki jan yon pwomotè Python ka devlope?

Python Junior Podcast se yon podcast pwogramasyon pou moun ki vle pi byen konprann Python. Se evanjelis kominotè ki fè emisyon yo MoscowPython ak pwofesè kou yo Aprann Piton.

Patisipan yo nan konvèsasyon an:

  • Valentin Dombrovsky,ko-fondatè MoscowPython
  • Zlata Obukhovskaya, Dirijan ekip NVIDIA
  • Grigori Petrov, evanjelis MoscowPython
  • Alexey Shtyrnyaev, devlopè nan FinEx, pwofesè nan kou Aprann
    Piton

Poukisa Python bon pou devlopman entènèt

Valentin Dombrovsky: Poukisa Python apwopriye pou devlopman entènèt? Poukisa pa PHP oswa JavaScript, pou egzanp?

Grigori Petrov: Se konsa, pa gen anpil chwa. Malgre lefèt ke nan Entènèt modèn la ou ka aktyèlman bati yon aplikasyon paj sèl oswa yon aplikasyon web pwogresif san yon backend - piman lè l sèvi avèk teknoloji front-end, lè l sèvi avèk JavaScript - li toujou twò konplike, mal endis epi li mande devlopè fre.

Si nou vle fè yon sit entènèt oswa yon sèvis, nou itilize yon apwòch konbine: kèk backend aplike lojik la epi kreye paj entènèt, ak kèk entèfas trase paj entènèt sa yo nan navigatè a. Men, lè nou bezwen byen vit mete li tout ansanm sou yon bagay, nou pa reyèlman gen yon chwa.

Ann gade nan opsyon ki posib.

  • C#. Microsoft vrèman gwo, yo te fè .NET Nwayo epi yo ankouraje li nan tout fason posib. Men, premyèman, sa a se yon nouvo teknoloji kwa-platfòm, epi tout bagay se pa lis ankò. Dezyèmman, li vrèman chè, gen kèk devlopè C # - tou senpleman paske li pa popilè.
  • Java. Li konplike. Fè yon sit entènèt nòmal nan Java pa pran 10 liy nan kòd, tankou nan Python. Sa a se yon anpil nan kòd, sa yo se kad, epi ou bezwen konnen spesifik yo nan mete kanpe Java serveurs. An jeneral, kontinyèl doulè ak soufrans.
  • PHP. Nan dènye vèsyon yo se bèl bagay. Mwen pral menm di sa a: PHP 7.2 pa pi mal pase Python. Men, ou pa ka jis ranmase epi sèvi ak PHP 7.2. Si yon pwomotè òdinè, pa tèt fè yon sit entènèt nan PHP, li pa pral ekri sèlman nan 7.2: li pral toujou gen pou li kèk liv, leson patikilye, gen yon anpil nan kòd eritaj toupatou, e sa a pa trè bon.
  • JavaScript ak Node.js. Li se bèl bagay ak trè modèn lè gen yon sèl lang nan tou de front-end la ak back-end la. Jis pa trè stab. Node.js se yon bon bagay, men li se pwoblèm deplwaye li nan pwodiksyon pou ke li pa aksidan ak travay ki estab. Anplis, si nou vle ekri bon jan kalite JavaScript kòd, nou pa bezwen JavaScript, men TypeScript. Men, TypeScript se san atann konplèks, ak sèvo mwayèn pwomotè a bouyi lè yo wè li.

Ann kite Ruby, Haskell, Erlang ak lòt bagay nich, epi nou rete ak... Python. Yon lang ki gen sentaks ki konsistan, yon bibliyotèk estanda inifòm, pi bon dokimantasyon an, kad ki lejè popilè, ak Django ki popilè.

Li sanble ke, malgre chwa ki pi laj, si nou gen òdinè, pa devlopè tèt, nou se yon biznis òdinè ki vle fè sit entènèt òdinè, nou pa gen yon depatman devlopman pou 50 moun, Lè sa a, nou pran Python.

Ki konesans ki nesesè pou antre nan pwofesyon an?

Zlata Obukhovskaya: Mon krwar ki ou bezwen byen konn en kad – e konnen ki lezot i egziste e ki ler i ganny servi. Kote Tornado, kote Django, kote Flask, kote aiohttp e latriye.
Li pral itil pou konnen ke gen yon bagay tankou pwotokòl. An patikilye, konesans nan pwotokòl http la se santral nan bati aplikasyon entènèt.

Ou bezwen tou pou omwen apeprè konprann ki jan front end travay nan pwojè entènèt: ki sa ki HTML, CSS, JS.

Alexey Shtyrnyaev: Epi konnen ki kote dokiman an ye. Li pi enpòtan.

Grigori Petrov: Isit la nou ap mache sou tè trè enstab. Si nou pa gen chans epi nou yon jan kanmenm kòmanse seryezman etidye frontend modèn lan, Lè sa a, li pral apeprè 10 fwa pi konplike pase backend la nan Python. Yon devlopè inisyasyon bezwen limite konsantre li pou li ka kòmanse aprann HTML, men li pa pèdi nan tout sa yo divs, spans, flote, ki jan tout bagay se aliyen ak aliyen.

Alexey Shtyrnyaev: Bezwen yon kou Bootstrap debaz. Ak Basics yo nan HTML.

Nan premye ane a, ou pa ta dwe fouye nan kad JS (si w ap konsantre sou backend la). Kou Bootstrap debaz la deja gen modil pare yo: si ou vle yon kurseur, fè yon kurseur; si ou vle yon meni k ap flote, fè yon meni k ap flote.

Zlata Obukhovskaya: Mwen panse ke pandan w ap etidye frontend la, ou ka plonje tèt ou, an patikilye, nan ki jan estatik yo jeneralman bay aplikasyon entènèt. Nan fason sa a, pwomotè a san pwoblèm deplase sou yo kòmanse aprann ki jan achitekti aplikasyon entènèt yo travay an prensip ak ki jan yo ap viv nan pwodiksyon an.

Grigori Petrov: Wi, mwen pral rekòmande li touswit nan ka ou te chwazi Python kòm yon lang devlopman backend ak, pou egzanp, Django kòm yon kad: Django gen dokiman nan Liv la Django, li vrèman fre, li genyen tout sa Zlata te di, li vrèman. bon pou yon debutan.

Alexey Shtyrnyaev: Gen kèk ti fi Django ki apwopriye tou pou yon demaraj rapid si objektif ou se aprann Django. Sa a se yon leson patikilye kote nan yon sèl jou ou ka ale sou tèt la, konprann Basics yo ak ki sa kad la se kapab.

Valentin Dombrovsky: Nan preparasyon pou anrejistreman podcast la, nou konpile yon lis sa yon pwogramè Python bezwen pou devlopman entènèt, ki rezime sa nou te di pi bonè.

Ki sa ki enkli nan Basics yo pou devlopman entènèt nan Python

  • Web kad Django, Flask, aiohttp, Tornado, elatriye (ak konnen sou egzistans lòt moun).
  • Pwotokòl ak API: prensipalman http, JSON-RPC, Pwotokòl Tanpon, gRPC.
  • ORM ak migrasyon, baz done relasyon, SQLAlchemy, SQL, PostgreSQL, MySQL.
  • Basics nan HTML, CSS, Bootstrap, osi byen ke kad JS ak JQuery.
  • Prensip operasyon aplikasyon nan pwodiksyon, tès, tès inite, ototès, sistèm kontwòl vèsyon, git.

Èske jinyò bezwen algoritm?

Zlata Obukhovskaya: Okòmansman, ou pa bezwen konnen algoritm yo; yo pral piti piti parèt nan tèt ou si ou angaje yo nan devlopman ase lontan. Mwen konnen yon tòn bon enjenyè ki pa te gen yon bon kou algoritm fòmèl.

Grigori Petrov: Mwen vle ajoute gaz nan dife a. Ki kote anvi nou an pou algoritm soti?

Kounye a nou pa gen yon edikasyon fondamantal nan algoritm, nou pa konnen ki jan yo fòme pwogramè, nou pa gen yon baz teknik.

Yo ap eseye fè sa, men isit la nou gen istwa a nan Hogwarts: nou pa ka kreye yon lekòl pou sòsye pandan ke nou pa gen yon sèl sòsye. Se poutèt sa, ki sa yon inivèsite ta dwe fè lè yo vin jwenn yo epi mande: "Kòmanse pwogramasyon fòmasyon," men yo pa gen pwogramè, paske tout moun ap travay nan Mail.ru, Rambler ak Yandex, èske yo kontan la?

Inivèsite a gade epi li di:
- Oke, pwogramasyon. Ann jwenn kèk domèn konesans ki gen rapò ak envite espesyalis nan la. Ann envite jounalis ki ka ekri kopi, enjenyè elektrik ki ka fè sikui elektrik, ak matematisyen ki ka sèvi ak algoritm.

Nan fen a, li sanble ke sa a se pratik kòm anseye yon fizik patikil mason jis paske brik ak siman yo te fè nan patikil elemantè.

An menm tan, yo pa pale sou siman ak brik tèt yo, paske fizisyen an ki ap eseye fòme yon mason pa konnen ki jan yo bati kay. Kòm yon rezilta, nou jwenn yon mason ki kapab parfe dekri kijan "siman travay", men li pa janm wè li epi li pa konnen ki jan fè anyen nan li.

Algoritm ak estrikti done yo trè bon, men sa a se yon zòn aplikasyon piti anpil. Yo bezwen ijan, pou egzanp, si w ap ekri yon motè jwèt, du, oswa pwotokòl rezo.

Pifò pwogramasyon rezoud pwoblèm biznis kote algoritm ak estrikti done yo pa nesesè.

Matematik ki pi difisil la se ajoute de fwa ak Lè sa a divize. Li mande konesans konplètman diferan. Rezoud pwoblèm biznis mande sitou aplike olye ke konesans fondamantal.

Li pi bon pou yon pwomotè inisyasyon gen yon konpreyansyon sou biznis ak ki jan yo kòrèkteman ak byen vit rasanble estrikti ki nesesè yo soti nan blòk pare yo, ki jan yo debogaj yo, ki jan asire w ke yo pa tonbe apa, konnen poukisa yo tonbe apa, sa k ap pase lè kondisyon yo chanje ak pwogram nan kòmanse "rezoud sou fondasyon an" tankou yon kay apre lapli.
Sa yo se bagay pratik ak yon konpreyansyon sou ki jan yo ekri lojisyèl. Li bezwen konnen ke anplis debogaj la, li gen yon seri zouti ki pral montre egzakteman ki kote pwogram nan ralanti.

Valentin Dombrovsky: Konparezon sa a te vin nan tèt mwen: sa a se yon tradiksyon soti nan lang nan biznis nan yon lang nan ki ou ka kominike ak yon òdinatè. Sa vle di, yon pwogramè se yon kalite lengwis espesifik.

Grigori Petrov: Biznis bezwen yon ekriven, pa yon lengwis. Ekriven an pa bezwen konnen poukisa yon mil ane de sa mo sa a te transfòme nan sa a. Li bezwen kapab aplike pawòl sa yo.

Ki sa ou bezwen jwenn premye travay ou kòm yon pwomotè

Alexey Shtyrnyaev: Gen pwobableman pa gen okenn resèt inivèsèl pou kòman yo kwit manje jinyò.

Si ou vini nan kèk konpayi, yo pral anboche ou pa paske ou konnen Django, JSON ak kèk algoritm. Ou pral gen plis chans anboche pou konpetans ke konpayi sa a bezwen isit la e kounye a.

Gen anpil konpayi, epi yo tout gen kondisyon diferan. Pa gen okenn kantite konesans inivèsèl sa yo ki bezwen jwenn yo nan lòd yo prepare plis yon rezime epi ale jwenn yon travay.

Grigori Petrov: Lè nou nan VoxImplant t ap chèche plizyè enjenyè, direktè teknik nou an te formul egzijans debaz la jan sa a: yon moun dwe kapab rezoud pwoblèm. Li klè ke yon jinyò pa pral toujou fè sa a efektivman, pa nan fason ki pi bon ak pa toujou kòrèkteman, men depreferans ou bay yon moun yon travay, li tansyon ak rezoud li. Sa a se konpetans ke anplwayè yo ap chèche prensipalman.

Zlata Obukhovskaya: Moun ki ap chèche travay nan lòt domèn yo gen kèk avantaj nan yon pwen de vi biznis paske yo te deja ale kèk fason epi yo kapab rezoud pwoblèm byen vit. Sa yo se konpetans mou, mwen ta menm rele li travay kilti. Souvan, diplome inivèsite poko devlope kilti travay sa a.

Men, mwen ta renmen toujou eseye bay yon kalite resèt pou débutan.

Premye etap pou yon pwomotè inisyasyon

Zlata Obukhovskaya: Premye a se ke sa a se toujou yon kalite pwojè pwòp ou a, paske ou bezwen ekri yon bagay nan rezime w epi montre yon dosye minim. Li pi fre lè pwojè sa yo pa fèt pou tèt ou, men kòm yon pwojè endependan - pou yon moun.

Apre premye pwojè yo, ou ka deja fè yon rezime epi voye li bay tout konpayi kote ki gen pozisyon nan mwa jen. Entèvyou yo pral bay insight sou sa konpayi yo bezwen. Pi bonè oswa pita yon moun pral anboche ou, omwen nan yon ti konpayi. Imedyatman, eksperyans travay sa a pral ba ou opòtinite pou antre nan yon konpayi ki pi gwo e ki pi enteresan.

Valentin Dombrovsky: By the way, nan kou nou yo nou prepare elèv yo gen pwòp pwojè yo nan 10 semèn fòmasyon. Anplis de sa, nou fòme ladrès devlopman ekip. Sa yo se egzakteman konpetans yo mou ke Zlata te pale sou.

Alexey Shtyrnyaev: Mwen ka di ou nan eksperyans ke li ka pran yon tan trè long pou chèche premye travay ou. Lè w ap chèche pou yon mwa oswa de, sa a nòmal. Si ou soumèt rezime w nan tout konpayi, ale nan entèvyou, nan twazyèm mwa a ou pral definitivman jwenn yon bagay.

Valentin Dombrovsky: Ou ka koupe pwòp pwojè ou oswa pran sou pwojè endependan senp epi an menm tan an voye rezime w la.

Ki kandida yon pwomotè Python genyen?

Zlata Obukhovskaya: Yon pwomotè Python ka ale nenpòt kote. Ou ka ale nan tès epi kontinye devlope nan yon achitèk ansyen. Oswa menm nan jesyon. Gen diferan kalite manadjè teknik, epi ou ka grandi nan tèt jesyon. Ou ka devlope nan syans done, DevOps, ale nan tès otomatik oswa aprantisaj machin.

Valentin Dombrovsky: An jeneral, gen anpil opsyon ak opòtinite, tankou kou nou yo. Ou pa bezwen anpil konesans nan papòt la, men li se rekòmande yo Lè sa a, kouvri yon seri pi laj, paske plis ou kapab, pi bon an pou ou.

***

Sa a se jis yon pati nan liberasyon an Piton Junior. Vèsyon konplè epizòd la disponib koute.

Oswa menm gade:

Jwe videyo

Podcast RSS

Mèsi pou lekti, koute oswa gade.

Sous: www.habr.com

Add nouvo kòmantè