Python za mesiac

Príručka pre úplných začiatočníkov.
(Pozn. prekl.: ide o rady od autora-Inda, ale zdajú sa byť užitočné. Doplňte v komentároch.)

Python za mesiac

Mesiac je dosť dlhá doba. Ak sa budete vzdelávať 6-7 hodín denne, môžete dosiahnuť veľa.

Cieľ na mesiac:

  • Oboznámiť sa so základnými pojmami (premenná, podmienka, zoznam, cyklus, funkcia)
  • Osvojiť si viac ako 30 programovacích problémov v praxi
  • Zostaviť dva projekty, aby ste uplatnili nové poznatky v praxi
  • Oboznámiť sa aspoň s dvoma frameworkmi
  • Začať pracovať s IDE (vývojovým prostredím), Githubom, hostingom, službami atď.

Tak sa stanete junior developerom (juniorom) Python.

Teraz plán na týždne.

Python za mesiac

Článok bol preložený s podporou spoločnosti EDISON Software, ktorá dáva užitočné rady juniorom, ako aj navrhuje softvér a píše technické špecifikácie v ruštine a angličtine.

Prvý týždeň: zoznámte sa s Python

Pochopte, ako všetko funguje v Pythone. Skontrolujte čo najviac vecí.

  • Deň 1: 4 základné koncepty (4 hodiny): vstup, výstup, premenná, podmienky
  • Deň 2: 4 základné koncepty (5 hodín): zoznam, cyklus for, cyklus while, funkcia, import modulov
  • Deň 3: Jednoduché programovacie problémy (5 hodín): prehodiť dve premenné, previesť stupne Celzia na stupne Fahrenheita, spočítať súčet všetkých číslic v čísle, skontrolovať číslo na prímosť, vygenerovať náhodné číslo, odstrániť duplicity zo zoznamu
  • Deň 4: Problémy programovania strednej náročnosti (6 hodín): inverzovať reťazec (skontrolovať na palindrom), vypočítať najväčší spoločný deliteľ, spojiť dve usporiadané polia, napísať hru na hádanie čísel, vypočítať vek atď.
  • Deň 5: Dátové štruktúry (6 hodín): zásobník, fronta, slovník, tuples, prepojený zoznam
  • Deň 6: OOP — Objektovo orientované programovanie (6 hodín): objekt, trieda, metóda a konštruktor, OOP dedičstvo
  • Deň 7: Algoritmus (6 hodín): hľadanie (lineárne a binárne), triedenie (metódou bubline, výberom), rekurzívna funkcia (faktoriál, Fibonacciho rad), časová zložitost algoritmov (lineárne, kvadratické, konštantné)

Nainštalujte Python:

Chápem, znie to protichodne. Ale verte mi. Poznám množstvo ľudí, ktorí stratili všetku chuť niečo sa učiť potom, čo sa im nepodarilo nainštalovať vývojové prostredie alebo softvér. Odporúčam ihneď navštíviť android aplikáciu ako Programming Hero alebo webovú stránku Repl a začať skúmať jazyk. Nedávajte si za úlohu najprv nainštalovať Python, ak nie ste technicky zdatní.

Druhá týždeň: začnite vývoj softvéru (zhromaždite projekt)

Získajte skúsenosti s vývojom softvéru. Skúste využiť všetko, čo ste sa naučili, na vytvorenie skutočného projektu.

  • Deň 1: Oboznámte sa s vývojovým prostredím (5 hodín): Vývojové prostredie je interaktívne prostredie, kde budete písať kód pre najväčšie projekty. Musíte dobre poznať aspoň jedno vývojové prostredie. Odporúčam začať s nainštalovaním Python rozšírenia do VS Code alebo Jupyter notebook
  • Deň 2: Github (6 hodín): Študujte Github, vytvorte repozitár. Skúste commitnúť, pushnúť kód, vypočítať rozdiel medzi dvoma akýmkoľvek git stromami. Taktiež sa oboznámte s vetvením, zlúčením a pull requestmi.
  • Deň 3: Prvý projekt: Jednoduchý kalkulátor (4 hodiny): Oboznámte sa s Tkinter. Vytvorte jednoduchý kalkulátor.
  • Deň 4, 5, 6: Osobný projekt (5 hodín každý deň): Vyberte si jeden z projektov a začnite na ňom pracovať. Ak nemáte nápady na projekt, pozrite si tento zoznam: niekoľko dobrých projektov v Pythone
  • Deň 7: Hosting (5 hodín): Zoznámte sa so serverom a hostingom, aby ste hostili svoj projekt. Nastavte Heroku a nasadzujte zostavenie vašej aplikácie.

Prečo projekt:

Jednoduché slepšie sledovanie krokov v lekcii alebo videu vám nepomôže rozvinúť schopnosť premýšľať. Musíte aplikovať svoje vedomosti v projekte. Akonáhle investujete všetku energiu do hľadania odpovede, zapamätáte si ju.

Tretí týždeň: osvojenie sa ako programátor

Vaším cieľom v treťom týždni je získať celkový prehľad o procese vývoja softvéru. Nebudete musieť zlepšovať svoje zručnosti. Ale musíte poznať niektoré základy, pretože ovplyvnia vašu každodennú prácu.

  • Deň 1: Základy databáz (6 hodín): Základný SQL dotaz (Create Table, Select, Where, Update), SQL funkcia (Avg, Max, Count), relačná databáza (normalizácia), vnútorné spojenie, vonkajšie spojenie atď.
  • Deň 2: Použite databázy v Pythone (5 hodín): Použite databázový framework (SQLite alebo Pandas), pripojte sa k databáze, vytvorte a pridajte dáta do niekoľkých tabuliek, prečítajte dáta z tabuliek
  • Deň 3: API (5 hodín): Naučte sa volať API, zlepšite sa v JSON, mikroservisoch, REST API
  • Deň 4: Numpy (4 hodiny): Oboznámte sa s Numpy a precvičte si jeho používanie na prvých 30 cvičeniach
  • Deň 5, 6: Portfólio webu (5 hodín každý deň): Naučte sa Django, vytvorte portfólio webu v Djangu, pozrite sa aj na framework Flask
  • Deň 7: Jednotkové testy, logovanie, ladenie (4 hodiny): Pochopte jednotkové testy (PyTest), naučte sa pracovať s logmi a kontrolovať ich a používajte záchytné body

Skutočný časový rámec (Tajomstvo):

Ak ste touto témou posadnutí a venujete sa jej naplno, budete schopní dosiahnuť všetko za mesiac.

  • Učte sa Python nepretržite. Začnite o 8:00 a venujte sa tomu do 17:00. Urobte si prestávku na obed a malé občerstvenie (celkovo hodinu)
  • O 8:00 si pripravte zoznam vecí, ktoré sa dnes naučíte. Potom si vyhradte hodinu na zopakovanie a praktické vyskúšanie všetkého, čo ste sa naučili včera.
  • Od 9:00 do 12:00 sa učte a trochu praktizujte. Po obede zvyšte intenzitu. Ak sa zaseknete na nejakom probléme, hľadajte jeho riešenie online.
  • Každý deň venujte 4-5 hodín učeniu a 2-3 hodiny praxi. (maximálne si môžete dovoliť jeden deň voľna za týždeň)
  • Vaši priatelia si pomyslia, že ste blázon. Nenechajte ich sklamať — dodržujte svoj obraz.

Ak pracujete na plný úväzok alebo študujete na univerzite, budete potrebovať viac času. Keď som bol študent, trvalo mi 8 mesiacov, kým som splnil všetko na zozname. Teraz pracujem ako senior developer. Mojej manželke, ktorá pracuje v centrálnej banke USA, trvalo šesť mesiacov, kým dokončila všetky úlohy na zozname. Nezáleží na tom, koľko času potrebujete. Dokončite zoznam.

Štvrtý týždeň: Vážne sa zamyslite nad tým, ako získať prácu (stážistu)

Vaším cieľom štvrtého týždňa je vážne premýšľať o zamestnaní. Aj keď práve teraz nechcete prácu získať, v procese pohovorov sa veľa naučíte.

  • Deň 1: Životopis (5 hodín): Vytvorte jednostránkové životopis. Na vrchu životopisu uveďte stručné informácie o svojich zručnostiach. Nezabudnite pridať zoznam svojich projektov so š linkami na Github.
  • Deň 2: Portfólio stránky (6 hodín): Napíšte niekoľko blogov. Pridajte ich do predchádzajúceho portfólia stránky, ktoré ste vytvorili.
  • Deň 3: Profil LinkedIn (4 hodiny): Vytvorte profil na LinkedIn. Preneste do LinkedIn všetko, čo máte vo svojom životopise.
  • Deň 4: Príprava na pohovor (7 hodín): Vyhľadajte najčastejšie kladené otázky na pohovoroch. Precvičte si riešenie 10 problémov s programovaním, na ktoré sa pýtajú na pohovoroch. Robte to na papieri. Otázky z pohovorov nájdete na stránkach ako Glassdoor, Careercup.
  • Deň 5: Networking (~ hodín): Vyjdite z komory. Začnite chodiť na meetupy, pracovné veľtrhy. Spoznajte recruiterov a ďalších vývojárov.
  • Deň 6: Jednoducho sa prihláste na pracovné ponuky (~ hodín): Vyhľadajte "práca Python", pozrite sa, aké ponuky sú na LinkedIn a miestnych stránkach s ponukami práce. Vyberte si 3 ponuky, na ktoré sa prihlásite. Upravte svoj životopis pre každú z nich. Nájdite 2-3 veci v zoznamoch požiadaviek, ktoré neviete. Strávte nasledujúce 3-4 dni, aby ste sa v nich zorientovali.
  • Deň 7: Učte sa z odmietnutí (~ hodín): Každýkrát, keď dostanete odmietnutie, určte si 2 veci, ktoré by ste mali vedieť, aby ste dostali prácu. Potom strávte 4-5 dní, aby ste zlepšili svoje zručnosti v týchto oblastiach. Takto sa po každom odmietnutí stanete lepším vývojárom.

Pripravenosť na prácu:

Pravda je taká, že nikdy nebudete úplne pripravení na prácu. Všetko, čo potrebujete, je veľmi dobre ovládať 1-2 veci. A oboznámiť sa s ďalšími otázkami, aby ste prekonali prekážku pohovorov. Keď dostanete prácu, so všetkým sa naučíte.

Užite si proces:

Učenie je proces. Na vašej ceste vás určite čakajú ťažkosti. Čím viac ich bude, tým lepším vývojárom sa stanete.

Ak dokážete dokončiť zoznam za 28 dní, ste veľkým šampiónom. Ale aj keď splníte 60-70 % zoznamu, rozviniete potrebné zručnosti a schopnosti. Pomôžu vám stať sa programátorom.

Kde sa učiť:

Ak stále neviete, odkiaľ začať,

Prajem vám vzrušujúcu cestu. Budúcnosť je vo vašich rukách.

Preklad: Diana Šeremjová

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster