Python ar gyfer y We: yr hyn y mae angen i iau ei wybod i weithio a datblygu

Gwnaethom drawsgrifiad byr gyda'r prif feddyliau o'r Python Junior Podcast: ynddo buom yn trafod ble i ddechrau a ble i fynd fel datblygwr Python dechreuwyr. Yn ddiweddar mae gennym lawer o gynnwys ar gyfer y canol a'r henoed, ond mae'r bennod hon yn bendant ar gyfer plant iau.

Python ar gyfer y We: yr hyn y mae angen i iau ei wybod i weithio a datblygu

Prif bynciau:

  • Pa wybodaeth sydd ei hangen ar raglennydd newydd i ymarfer
    datblygu gwe?
  • Beth mae cyflogwyr yn ei ddisgwyl gan ddatblygwyr?
  • Beth i'w wneud i ddod o hyd i swydd heb brofiad?
  • Sut gall datblygwr Python ddatblygu?

Podlediad rhaglennu ar gyfer y rhai sydd am ddeall Python yn well yw Python Junior Podcast. Mae darllediadau yn cael eu cynnal gan efengylwyr cymunedol MoscowPython ac athrawon cwrs Dysgwch Python.

Cyfranogwyr yn y sgwrs:

  • Valentin Dombrovsky,cyd-sylfaenydd MoscowPython
  • Zlata Obukhovskaya, Arweinydd tîm NVIDIA
  • Grigory Petrov, efengylwr MoscowPython
  • Alexey Shtyrnyaev, datblygwr yn FinEx, athro cyrsiau Learn
    Python

Pam mae Python yn dda ar gyfer datblygu gwe

Valentin Dombrovsky: Pam mae Python yn addas ar gyfer datblygu gwe? Beth am PHP neu JavaScript, er enghraifft?

Grigory Petrov: Felly does dim llawer o ddewis. Er gwaethaf y ffaith y gallwch chi, yn y We fodern, adeiladu cymhwysiad un dudalen neu raglen we gynyddol heb gefn - gan ddefnyddio technolegau pen blaen yn unig, gan ddefnyddio JavaScript - mae'n dal yn rhy gymhleth, wedi'i fynegeio'n wael ac mae angen datblygwyr cŵl arno.

Os ydym am wneud gwefan neu wasanaeth, rydym yn defnyddio dull cyfunol: mae rhai backend yn gweithredu'r rhesymeg ac yn creu tudalennau gwe, ac mae rhai blaen yn tynnu'r tudalennau gwe hyn yn y porwr. A phan fydd angen inni roi’r cyfan at ei gilydd yn gyflym ar rywbeth, nid oes gennym ddewis mewn gwirionedd.

Gadewch i ni edrych ar yr opsiynau posibl.

  • C#. Mae Microsoft yn wirioneddol wych, fe wnaethant .NET Core ac maent yn ei hyrwyddo ym mhob ffordd bosibl. Ond, yn gyntaf, mae hon yn dechnoleg traws-lwyfan newydd, ac nid yw popeth yn llyfn yno eto. Yn ail, mae'n ddrud iawn, prin yw'r datblygwyr C# - yn syml oherwydd ei fod yn amhoblogaidd.
  • Java. Mae'n gymhleth. Nid yw gwneud gwefan arferol yn Java yn cymryd 10 llinell o god, fel yn Python. Mae hwn yn llawer o god, mae'r rhain yn fframweithiau, ac mae angen i chi wybod manylion sefydlu gweinyddwyr Java. Yn gyffredinol, poen a dioddefaint parhaus.
  • PHP. Yn y fersiynau diweddaraf mae'n fendigedig. Byddaf hyd yn oed yn dweud hyn: nid yw PHP 7.2 yn waeth na Python. Ond ni allwch chi godi a defnyddio PHP 7.2 yn unig. Os yw datblygwr cyffredin, nid uchaf yn gwneud gwefan yn PHP, ni fydd yn ysgrifennu yn 7.2 yn unig: bydd yn dal i orfod darllen rhai gwerslyfrau, tiwtorialau, mae yna lawer o god etifeddiaeth ym mhobman, ac nid yw hyn yn dda iawn.
  • JavaScript a Node.js. Mae’n fendigedig ac yn fodern iawn pan mae un iaith ar y pen blaen a’r pen ôl. Dim ond ddim yn sefydlog iawn. Mae Node.js yn beth da, ond mae'n broblemus ei ddefnyddio wrth gynhyrchu fel nad yw'n chwalu ac yn gweithio'n sefydlog. Hefyd, os ydym am ysgrifennu cod JavaScript o ansawdd, nid JavaScript sydd ei angen arnom, ond TypeScript. Ond mae TypeScript yn annisgwyl o gymhleth, ac mae ymennydd y datblygwr cyffredin yn berwi pan fyddant yn ei weld.

Gadewch i ni adael Ruby, Haskell, Erlang a phethau arbenigol eraill, ac rydyn ni'n gadael gyda... Python. Iaith â chystrawen gyson, llyfrgell safonol unffurf, y ddogfennaeth orau, fframweithiau ysgafn poblogaidd, a chyfuniad mega-boblogaidd Django.

Mae'n ymddangos, er gwaethaf y dewis ehangaf, os oes gennym ni ddatblygwyr cyffredin, nid y rhai gorau, rydym yn fusnes cyffredin sydd am wneud gwefannau cyffredin, nid oes gennym adran ddatblygu ar gyfer 50 o bobl, yna rydym yn cymryd Python.

Pa wybodaeth sydd ei hangen i ymuno â'r proffesiwn?

Zlata Obukhovskaya: Credaf fod angen i chi wybod un fframwaith yn dda - a gwybod beth mae eraill yn bodoli a phryd y cânt eu defnyddio. Ble mae Tornado, ble mae Django, ble mae Fflasg, ble mae aiohttp ac ati.
Bydd yn ddefnyddiol gwybod bod y fath beth â phrotocolau. Yn benodol, mae gwybodaeth am brotocol http yn ganolog i adeiladu cymwysiadau gwe.

Mae angen i chi hefyd ddeall yn fras o leiaf sut mae'r pen blaen yn gweithio mewn prosiectau gwe: beth yw HTML, CSS, JS.

Alexey Shtyrnyaev: A gwybod ble mae'r ddogfennaeth. Mae'n bwysicaf.

Grigory Petrov: Dyma ni'n camu ar dir sigledig iawn. Os ydym yn anlwcus a'n bod rywsut yn dechrau astudio'r ffryntiad modern o ddifrif, yna bydd tua 10 gwaith yn fwy cymhleth na'r backend yn Python. Mae angen i ddatblygwr newydd gyfyngu ar ei ffocws fel y gall ddechrau dysgu HTML, ond peidio â mynd ar goll yn yr holl divs, rhychwantau, fflotiau hyn, sut mae popeth wedi'i alinio a'i leinio.

Alexey Shtyrnyaev: Angen cwrs Bootstrap sylfaenol. A hanfodion HTML.

Yn y flwyddyn gyntaf, ni ddylech ymchwilio i fframweithiau JS (os ydych chi'n canolbwyntio ar y cefndir). Mae gan y cwrs Bootstrap sylfaenol fodiwlau parod yn barod: os ydych chi eisiau llithrydd, gwnewch lithrydd; os ydych chi eisiau bwydlen arnofiol, gwnewch ddewislen fel y bo'r angen.

Zlata Obukhovskaya: Rwy'n meddwl, wrth astudio'r frontend, y gallwch chi ymgolli, yn arbennig, yn y modd y rhoddir statigau yn gyffredinol i gymwysiadau gwe. Felly mae'r datblygwr yn symud ymlaen yn esmwyth i ddechrau dysgu sut mae pensaernïaeth cymwysiadau gwe yn gweithio mewn egwyddor a sut maen nhw'n byw mewn cynhyrchu.

Grigory Petrov: Ydw, byddaf yn ei argymell ar unwaith rhag ofn i chi ddewis Python fel iaith datblygu backend ac, er enghraifft, Django fel fframwaith: mae gan Django ddogfennaeth yn Llyfr Django, mae'n cŵl iawn, mae'n cynnwys popeth a ddywedodd Zlata, mae hi mewn gwirionedd yn dda i ddechreuwr.

Alexey Shtyrnyaev: Mae rhai Merched Django hefyd yn addas ar gyfer cychwyn cyflym os mai'ch nod yw dysgu Django. Mae hwn yn diwtorial lle gallwch chi fynd dros ben llestri mewn un diwrnod, deall y pethau sylfaenol a'r hyn y gall y fframwaith ei wneud.

Valentin Dombrovsky: Wrth baratoi ar gyfer recordio'r podlediad, fe wnaethom lunio rhestr o'r hyn sydd ei angen ar raglennydd Python ar gyfer datblygu gwe, sy'n crynhoi'r hyn a ddywedasom yn gynharach.

Beth sydd wedi'i gynnwys yn y pethau sylfaenol ar gyfer datblygu gwe yn Python

  • Fframweithiau gwe Django, Fflasg, aiohttp, Tornado, ac ati (a gwybod am fodolaeth eraill).
  • Protocolau ac APIs: yn bennaf http, JSON-RPC, Protocol Buffers, gRPC.
  • ORM a mudo, cronfeydd data perthynol, SQLAlchemy, SQL, PostgreSQL, MySQL.
  • Hanfodion HTML, CSS, Bootstrap, yn ogystal â fframweithiau JS a JQuery.
  • Egwyddorion gweithredu cymhwysiad mewn cynhyrchu, profi, profion uned, profion awtomatig, systemau rheoli fersiwn, git.

Oes angen algorithmau ar blant iau?

Zlata Obukhovskaya: Ar y dechrau, nid oes angen i chi wybod yr algorithmau; byddant yn raddol yn ymddangos yn eich pen os byddwch yn cymryd rhan mewn datblygiad yn ddigon hir. Rwy'n gwybod tunnell o beirianwyr da nad ydynt wedi cael cwrs algorithmau ffurfiol da.

Grigory Petrov: Rwyf am ychwanegu tanwydd at y tân. O ble mae ein chwant am algorithmau yn dod?

Ar hyn o bryd nid oes gennym addysg sylfaenol mewn algorithmau, nid ydym yn gwybod sut i hyfforddi rhaglenwyr, nid oes gennym sylfaen dechnegol.

Maent yn ceisio gwneud hyn, ond dyma stori Hogwarts: ni allwn greu ysgol i ddewiniaid tra nad oes gennym un dewin. Felly, beth ddylai prifysgol ei wneud pan fyddant yn dod atynt a gofyn: "Dechreuwch hyfforddi rhaglenwyr," ond nid oes ganddynt raglenwyr, oherwydd mae pawb yn gweithio yn Mail.ru, Rambler a Yandex, a ydyn nhw'n hapus yno?

Mae'r brifysgol yn edrych ac yn dweud:
- Iawn, rhaglennu. Gadewch i ni ddod o hyd i faes cysylltiedig o wybodaeth a gwahodd arbenigwyr oddi yno. Gadewch i ni wahodd newyddiadurwyr sy'n gallu ysgrifennu copi, peirianwyr trydanol sy'n gallu gwneud cylchedau trydanol, a mathemategwyr sy'n gallu defnyddio algorithmau.

Yn y diwedd, mae'n ymddangos bod hyn mor ymarferol â dysgu ffiseg gronynnau adeiladwr dim ond oherwydd bod brics a sment yn cael eu gwneud o ronynnau elfennol.

Ar yr un pryd, nid ydynt yn siarad am sment a brics eu hunain, oherwydd nid yw'r ffisegydd sy'n ceisio hyfforddi adeiladwr yn gwybod sut i adeiladu tai. O ganlyniad, rydyn ni'n cael adeiladwr sy'n gallu disgrifio'n berffaith sut mae “sment yn gweithio”, ond nad yw erioed wedi'i weld ac nad yw'n gwybod sut i wneud unrhyw beth ohono.

Mae algorithmau a strwythurau data yn dda iawn, ond mae hwn yn faes cymhwyso bach iawn. Mae eu hangen ar frys, er enghraifft, os ydych chi'n ysgrifennu injan gêm, casglwr, neu brotocol rhwydwaith.

Mae'r rhan fwyaf o raglenwyr yn datrys problemau busnes lle nad oes angen algorithmau a strwythurau data.

Y fathemateg anoddaf yno yw adio ddwywaith ac yna rhannu. Mae'n gofyn am wybodaeth hollol wahanol. Mae angen gwybodaeth gymhwysol yn hytrach na gwybodaeth sylfaenol i ddatrys problemau busnes.

Mae'n well i ddatblygwr newydd feddu ar ddealltwriaeth o fusnes a sut i gydosod y strwythurau angenrheidiol o flociau parod yn gywir ac yn gyflym, sut i'w dadfygio, sut i sicrhau nad ydynt yn cwympo'n ddarnau, gwybod pam eu bod yn cwympo, beth sy'n digwydd pan fydd gofynion yn newid a'r rhaglen yn dechrau "setlo ar y sylfaen" fel tŷ ar ôl glaw.
Mae'r rhain yn bethau ymarferol a dealltwriaeth o sut i ysgrifennu meddalwedd. Mae angen iddo wybod, yn ogystal â'r dadfygiwr, fod ganddo set o offer a fydd yn dangos yn union ble mae'r rhaglen yn arafu.

Valentin Dombrovsky: Daeth y gymhariaeth hon i'm meddwl: cyfieithiad yw hwn o iaith busnes i iaith y gallwch chi gyfathrebu â chyfrifiadur ynddi. Hynny yw, mae rhaglennydd yn fath o ieithydd penodol.

Grigory Petrov: Mae busnes angen awdur, nid ieithydd. Nid oes angen i'r llenor wybod pam fil o flynyddoedd yn ôl y trawsnewidiwyd y gair hwn yn hwn. Mae angen iddo allu cymhwyso'r geiriau hyn.

Yr hyn sydd ei angen arnoch i ddod o hyd i'ch swydd gyntaf fel datblygwr

Alexey Shtyrnyaev: Mae'n debyg nad oes rysáit cyffredinol ar gyfer coginio iau.

Os dewch chi i ryw gwmni, ni fyddant yn eich llogi oherwydd eich bod chi'n adnabod Django, JSON ac ychydig o algorithmau. Mae'n debyg y byddwch chi'n cael eich cyflogi ar gyfer y sgiliau sydd eu hangen ar y cwmni hwn yn y fan a'r lle.

Mae yna lawer o gwmnïau, ac mae gan bob un ohonynt ofynion gwahanol. Nid oes cymaint o wybodaeth gyffredinol y mae angen ei chael er mwyn paratoi crynodeb pellach a dod o hyd i swydd.

Grigory Petrov: Pan oeddem ni yn VoxIimplant yn chwilio am sawl peiriannydd, lluniodd ein cyfarwyddwr technegol y gofyniad sylfaenol fel a ganlyn: rhaid i berson allu datrys problemau. Mae'n amlwg na fydd person iau bob amser yn gwneud hyn yn effeithiol, nid yn y ffordd orau ac nid bob amser yn gywir, ond yn ddelfrydol rydych chi'n rhoi tasg i berson, mae'n straen ac yn ei datrys. Dyma'r sgil y mae cyflogwyr yn chwilio amdano yn bennaf.

Zlata Obukhovskaya: Mae gan bobl sy'n chwilio am waith o feysydd eraill rywfaint o fantais o safbwynt busnes oherwydd eu bod eisoes wedi mynd rhywfaint o'r ffordd ac yn gallu datrys problemau'n gyflym. Mae'r rhain yn sgiliau meddal, byddwn hyd yn oed yn ei alw'n ddiwylliant gwaith. Yn aml, nid yw graddedigion prifysgol wedi datblygu'r diwylliant gwaith hwn eto.

Ond hoffwn geisio rhoi rhyw fath o rysáit i ddechreuwyr o hyd.

Camau cyntaf ar gyfer datblygwr newydd

Zlata Obukhovskaya: Y cyntaf yw bod hwn yn dal i fod yn rhyw fath o brosiect eich hun, oherwydd mae angen i chi ysgrifennu rhywbeth yn eich ailddechrau a dangos portffolio lleiaf posibl. Mae'n oerach pan nad yw'r prosiectau hyn yn cael eu gwneud i chi'ch hun, ond fel prosiect llawrydd - i rywun.

Ar ôl y prosiectau cyntaf, gallwch chi eisoes wneud ailddechrau a'i anfon at bob cwmni lle mae swyddi Mehefin. Bydd cyfweliadau yn rhoi cipolwg ar yr hyn sydd ei angen ar gwmnïau. Yn hwyr neu'n hwyrach bydd rhywun yn eich llogi, o leiaf mewn cwmni bach. Yn dilyn hynny, bydd y profiad gwaith hwn yn rhoi cyfle i chi ymuno â chwmni mwy a mwy diddorol.

Valentin Dombrovsky: Gyda llaw, yn ein cyrsiau rydym yn paratoi myfyrwyr i gael eu prosiect eu hunain o fewn 10 wythnos o hyfforddiant. Hefyd rydym yn hyfforddi sgiliau datblygu tîm. Dyma'r union sgiliau meddal y siaradodd Zlata amdanynt.

Alexey Shtyrnyaev: Gallaf ddweud wrthych o brofiad y gall gymryd amser hir iawn i chwilio am eich swydd gyntaf. Pan fyddwch chi'n chwilio am fis neu ddau, mae hynny'n normal. Os cyflwynwch eich ailddechrau i bob cwmni, ewch i gyfweliadau, yn y trydydd mis byddwch yn bendant yn dod o hyd i rywbeth.

Valentin Dombrovsky: Gallwch dorri eich prosiectau eich hun neu gymryd ar brosiectau llawrydd syml ac ar yr un pryd anfon eich ailddechrau.

Pa ragolygon sydd gan ddatblygwr Python?

Zlata Obukhovskaya: Gall datblygwr Python fynd i unrhyw le. Gallwch fynd i brofi a pharhau i ddatblygu i fod yn uwch bensaer. Neu hyd yn oed i reoli. Mae yna wahanol fathau o reolwyr technegol, a gallwch chi dyfu i fod yn uwch reolwyr. Gallwch ddatblygu mewn gwyddor data, DevOps, mynd i mewn i brofi awtomataidd neu ddysgu peiriant.

Valentin Dombrovsky: Yn gyffredinol, mae llawer o opsiynau a chyfleoedd, gan gynnwys ein cyrsiau. Nid oes angen llawer o wybodaeth arnoch wrth y fynedfa, ond fe'ch cynghorir wedyn i gwmpasu ystod ehangach, oherwydd po fwyaf y gallwch chi, y gorau i chi.

***

Dim ond rhan o'r datganiad yw hyn Python Iau. Mae fersiwn llawn y bennod ar gael gwrandewch.

Neu hyd yn oed edrych:

Chwarae fideo

Podlediad RSS

Diolch am ddarllen, gwrando neu wylio.

Ffynhonnell: hab.com

Ychwanegu sylw