En guide til absolutte te-nybegyndere.
(Oversætterens note: dette er tips fra en indisk forfatter, men de ser ud til at være nyttige. Du er velkommen til at tilføje nogle i kommentarerne.)

En måned er lang tid. Bruger du 6-7 timer hver dag på at studere, kan du meget.
Mål for måneden:
- Bliv bekendt med de grundlæggende begreber (variabel, tilstand, liste, sløjfe, funktion)
- Mestre mere end 30 programmeringsproblemer i praksis
- Sammensæt to projekter for at omsætte ny viden i praksis
- Bliv fortrolig med mindst to rammer
- Kom godt i gang med IDE (udviklingsmiljø), Github, hosting, tjenester mv.
Dette vil gøre dig til en junior Python-udvikler.
Nu planen for ugen.
Artiklen er oversat med støtte fra EDISON Software, som og .
Uge 1: Lær Python at kende
Forstå, hvordan tingene fungerer i Python. Tjek så mange ting som muligt.
- Dag 1: 4 grundlæggende koncepter (4 timer): input, output, variabel, betingelser
- Dag 2: 4 grundlæggende koncepter (5 timer): liste, for loop, mens loop, funktion, import moduler
- Dag 3: Simple programmeringsproblemer (5 timer): skift to variable, konverter grader Celsius til grader Fahrenheit, beregn summen af alle cifre i et tal, tjek om et tal er primtal, generer et tilfældigt tal, fjern en duplikat fra en liste
- Dag 4: Mellemliggende programmeringsproblemer (6 timer): vend en streng (tjek for et palindrom), beregn den største fælles divisor, flet to sorterede arrays, skriv et spil til at gætte tal, beregn alder osv.
- Dag 5: Datastrukturer (6 timer): stak, kø, ordbog, tupler, sammenkædet liste
- Dag 6: OOP - Objektorienteret programmering (6 timer): objekt, klasse, metode og konstruktør, OOP-arv
- Dag 7: Algoritme (6 timer): søgning (lineær og binær), sortering (boble, udvælgelse), rekursiv funktion (faktoriel, Fibonacci-serie), tidskompleksitet af algoritmer (lineær, kvadratisk, konstant)
Installer ikke Python:
Jeg forstår, at det lyder modstridende. Men tro mig. Jeg kender mange mennesker, der mistede lysten til at lære noget, efter at de ikke kunne installere et udviklingsmiljø eller software. Jeg råder dig til straks at komme ind i en Android-applikation som eller til hjemmesiden og begynde at udforske sproget. Gør det ikke noget at installere Python først, medmindre du er meget teknisk kyndig.
Uge 2: Begynd at udvikle software (byg et projekt)
Få erfaring med softwareudvikling. Prøv at bruge alt, hvad du har lært til at skabe et rigtigt projekt.
- Dag 1: Bliv fortrolig med udviklingsmiljøet (5 timer): Udviklingsmiljøet er det interaktive miljø, hvor du skal skrive kode til dine største projekter. Du skal have godt kendskab til mindst ét udviklingsmiljø. Jeg anbefaler at starte med eller Jupyter notesbog
- Dag 2: Github (6 timer): Udforsk , opret et lager. Prøv at begå, push kode, beregn forskellen mellem to vilkårlige Git-træer. Forstå også forgrenings-, fletnings- og pull-anmodninger.
- Dag 3: Første projekt: Simpel lommeregner (4 timer): Lær Tkinter at kende. .
- Dag 4, 5, 6: Personligt projekt (5 timer hver dag): Vælg et af projekterne og begynd at arbejde på det. Hvis du ikke har nogen projektidéer, så tjek denne liste:
- Dag 7: Hosting (5 timer): Forstå din server og hosting, så . Konfigurer Heroku og implementer din app-build.
Hvorfor projektet:
Blot blindt at følge trinene i en lektion eller video vil ikke udvikle dine tænkeevner. Du skal anvende din viden på projektet. Når du har brugt al din energi på at finde svaret, vil du huske det.
Uge 3: Bliv fortrolig som programmør
Dit mål i uge 3 er at få en generel forståelse af softwareudviklingsprocessen. Du behøver ikke at finpudse dine færdigheder. Men du bør kende nogle grundlæggende ting, da de vil påvirke dit daglige arbejde.
- Dag 1: Grundlæggende database (6 timer): Grundlæggende SQL-forespørgsel (Opret tabel, Vælg, Hvor, Opdater), SQL-funktion (Gns., Max, Antal), Relationsdatabase (Normaliser), Inner Join, Outer Join, osv.
- Dag 2: Brug databaser i Python (5 timer): Brug en databaseramme (SQLite eller Pandas), opret forbindelse til databasen, opret og tilføj data til flere tabeller, læs data fra tabellerne
- Dag 3: API (5 timer): Lær at kalde API'er, lær JSON, mikrotjenester, REST API
- Dag 4: Numpy (4 timer): og øv dig i at bruge det på
- Dag 5, 6: Portfolio Site (5 timer hver dag): Lær Django, , tag også et kig på Flask-rammen
- Dag 7: Enhedstest, logfiler, fejlretning (4 timer): Forstå enhedstests (PyTest), lær at arbejde med logfiler og kontrollere dem, og brug brudpunkter
Realtidsskala (hemmelig):
Hvis du brænder for dette emne og hellige dig det, kan du gøre alt på en måned.
- Lær Python løbende. Start klokken 8 og gør det indtil klokken 5. Tag en pause til frokost og snacks (i alt en time)
- Kl. 8 lav en liste over ting, du vil studere i dag. Så brug en time på at huske og øve alt, hvad du lærte i går.
- Fra 9 til 12, studer og øv mindre. Sæt tempoet op efter frokost. Hvis du sidder fast på et problem, så søg efter en løsning online.
- Brug 4-5 timer hver dag på at studere og 2-3 timer på at øve. (du kan højst have en fridag om ugen)
- Dine venner vil tro, du er skør. Skuff dem ikke - lev op til billedet.
Hvis du arbejder fuld tid eller går på universitetet, har du brug for mere tid. Som studerende tog det mig 8 måneder at gøre alt på listen. Jeg arbejder i øjeblikket som seniorudvikler. Det tog min kone, der arbejder i den amerikanske centralbank, seks måneder at fuldføre alle opgaverne på listen. Det er lige meget, hvor lang tid det tager. Udfyld listen.
Uge 4: Bliv seriøs med at få et job (praktikant)
Dit mål for uge fire er at blive seriøs omkring at få et job. Selvom du ikke ønsker jobbet lige nu, vil du lære meget gennem samtaleprocessen.
- Dag 1: Resumé (5 timer): Opret et CV på én side. Medtag en kort oversigt over dine færdigheder øverst på dit CV. Sørg for at tilføje en liste over dine projekter med links til Github.
- Dag 2: Hjemmesideportefølje (6 timer): Skriv et par blogs. Føj dem til den tidligere hjemmesideportefølje, du lavede.
- Dag 3: LinkedIn-profil (4 timer): Opret en LinkedIn-profil. Overfør alt hvad du har på dit CV til LinkedIn.
- Dag 4: Samtaleforberedelse (7 timer): Google de oftest stillede interviewspørgsmål. Øv dig i at løse 10 programmeringsproblemer stillet i interviews. Gør det på papir. Interviewspørgsmål kan findes på sider som Glassdoor, Careercup
- Dag 5: Netværk (~ timer): Kom ud af skabet. Begynd at gå til møder, jobmesser. Mød rekrutterere og andre udviklere.
- Dag 6: Bare søg på job (~ timer): Google "Python jobs" og se på LinkedIn og lokale job boards for jobopslag. Vælg 3 ledige stillinger at søge. Tilpas dit CV til hver af dem. Find 2-3 ting på kravlisterne, som du ikke kender. Brug de næste 3-4 dage på at sortere dem fra.
- Dag 7: Lær af afvisning (~ timer): Hver gang du bliver afvist, så beslut dig for 2 ting, du skal vide for at få jobbet. Brug derefter 4-5 dage på at finpudse dine færdigheder på disse områder. På denne måde vil du efter hver afvisning blive en bedre udvikler.
Klar til at arbejde:
Sandheden er, at du aldrig vil være 100 % klar til arbejde. Alt du behøver er at lære 1-2 ting meget godt. Og tjek andre spørgsmål for at hjælpe dig med at overvinde interviewbarrieren. Når du først har fået et job, vil du lære meget af det.
Nyd processen:
Læring er en proces. Der vil helt sikkert være vanskeligheder på din vej. Jo flere af dem du har, jo bedre er du som udvikler.
Hvis du kan fuldføre listen på 28 dage, er du en fantastisk fyr. Men selvom du udfylder 60-70% af listen, vil du udvikle de nødvendige kvaliteter og færdigheder. De vil hjælpe dig med at blive programmør.
Hvor skal man studere:
Hvis du stadig ikke ved, hvor du skal starte,
- (Underholdende Android-app til at lære Python)
- (gratis webbaserede læringsressourcer)
- (se videoen og lær)
Jeg ønsker dig en fascinerende rejse. Fremtiden er i dine hænder.
Oversættelse: Diana Sheremyeva
Kilde: www.habr.com
