Python over een maand

Een gids voor absolute thee-beginners.
(Opmerking van de baan: dit zijn tips van een Indiase auteur, maar ze lijken praktisch. Voeg ze toe in de reacties.)

Python over een maand

Een maand is lang. Als je elke dag 6-7 uur studeert, kun je veel doen.

Doel voor de maand:

  • Maak uzelf vertrouwd met de basisconcepten (variabele, voorwaarde, lijst, lus, functie)
  • Beheers meer dan 30 programmeerproblemen in de praktijk
  • Zet twee projecten samen om nieuwe kennis in de praktijk te brengen
  • Maak uzelf vertrouwd met ten minste twee raamwerken
  • Aan de slag met IDE (ontwikkelomgeving), Github, hosting, services, etc.

Hiermee word je een junior Python-ontwikkelaar.

Nu is het plan week na week.

Python over een maand

Het artikel is vertaald met de steun van EDISON Software, dat geeft praktisch advies aan juniorenEn ontwerpt software en schrijft technische specificaties in het Russisch en Engels.

Week XNUMX: Maak kennis met Python

Begrijp hoe alles werkt in Python. Controleer zoveel mogelijk zaken.

  • Dag 1: 4 hoofdconcepten (4 uur): invoer, uitvoer, variabele, voorwaarden
  • Dag 2: 4 hoofdconcepten (5 uur): lijst, for lus, while lus, functie, module import
  • Dag 3: Eenvoudige programmeerproblemen (5 uur): verwissel twee variabelen, converteer graden Celsius naar graden Fahrenheit, bereken de som van alle cijfers in een getal, controleer een getal op primaliteit, genereer een willekeurig getal, verwijder een duplicaat uit een lijst
  • Dag 4: Matige programmeerproblemen (6 uur): een string omkeren (controleren of er een palindroom is), de grootste gemene deler berekenen, twee gesorteerde arrays combineren, een getallenraadspel schrijven, de leeftijd berekenen, enz.
  • Dag 5: Datastructuren (6 uur): stapel, wachtrij, woordenboek, tupels, gekoppelde lijst
  • Dag 6: OOP - Objectgeoriënteerd programmeren (6 uur): object, klasse, methode en constructor, OOP-overerving
  • Dag 7: Algoritme (6 uur): zoeken (lineair en binair), sorteren (bellenmethode, selectie), recursieve functie (faculteit, Fibonacci-reeks), tijdscomplexiteit van algoritmen (lineair, kwadratisch, constant)

Installeer Python niet:

Ik weet dat dit tegenstrijdig klinkt. Maar geloof me. Ik ken veel mensen die alle zin om iets te leren hebben verloren nadat ze geen ontwikkelomgeving of software konden installeren. Ik raad je aan om meteen in een Android-applicatie te stappen, zoals Held programmeren of naar de website antwoord en begin de taal te verkennen. Maak er geen punt van om eerst Python te installeren, tenzij je bijzonder technisch onderlegd bent.

Week XNUMX: Start softwareontwikkeling (bouw een project)

Ervaring opdoen met softwareontwikkeling. Probeer alles wat je hebt geleerd te gebruiken om een ​​echt project te creëren.

  • Dag 1: Maak kennis met de ontwikkelomgeving (5 uur): De ontwikkelomgeving is een interactieve omgeving waarin je code schrijft voor de grootste projecten. Je moet bekend zijn met minimaal één ontwikkelomgeving. Ik raad aan om te beginnen met VS-code installeert de Python-extensie of Jupyter-notebook
  • Dag 2: Github (6 uur): Ontdekken GitHub, maak een opslagplaats. Probeer te committen, de code te pushen en het verschil tussen twee willekeurige Git-bomen te berekenen. Begrijp ook vertakkings-, samenvoegings- en pull-aanvragen.
  • Dag 3: Eerste project: eenvoudige rekenmachine (4 uur): Kijk eens naar Tkinter. Maak een eenvoudige rekenmachine.
  • Dag 4, 5, 6: Persoonlijk project (5 uur per dag): Kies een van de projecten en begin eraan te werken. Als je geen ideeën hebt voor een project, bekijk dan deze lijst: verschillende goede Python-projecten
  • Dag 7: Hosting (5 uur): Begrijp de server en hosting zodat host uw project. Stel Heroku in en implementeer uw app-build.

Waarom het project:

Het blindelings volgen van de stappen in een les of video zal je denkvermogen niet ontwikkelen. Je moet je kennis toepassen op het project. Als je al je energie hebt besteed aan het zoeken naar het antwoord, zul je het je herinneren.

Week drie: voel je op je gemak als programmeur

Je doel in week 3 is om een ​​algemeen inzicht te krijgen in het softwareontwikkelingsproces. Je hoeft je vaardigheden niet aan te scherpen. Maar u moet enkele basisbeginselen kennen, aangezien deze uw dagelijkse werk zullen beïnvloeden.

  • Dag 1: Basisbeginselen van databases (6 uur): Basis SQL-query (tabel maken, selecteren, waar, bijwerken), SQL-functie (Avg, Max, Count), relationele database (normalisatie), Inner Join, Outer Join, enz.
  • Dag 2: Databases gebruiken in Python (5 uur): Gebruik een databaseframework (SQLite of Pandas), maak verbinding met de database, maak gegevens aan en voeg deze toe aan meerdere tabellen, lees gegevens uit tabellen
  • Dag 3: API (5 uur): Leer API's aanroepen, leer JSON, microservices, REST API
  • Dag 4: Numpy (4 uur): Kijk eens naar Numpy en oefen ermee eerste 30 oefeningen
  • Dag 5, 6: Websiteportfolio (5 uur per dag): Leer Django, maak een portfoliowebsite met Django, kijk ook eens naar het Flask-framework
  • Dag 7: Unittests, logs, foutopsporing (4 uur): Unit-tests (PyTest) begrijpen, leren werken met logs en deze controleren, en breakpoints gebruiken

Realtime (geheim):

Als je gepassioneerd bent over dit onderwerp en je er volledig aan wijdt, kun je alles in een maand doen.

  • Leer Python voortdurend. Begin om 8 uur en doe het tot 5 uur. Neem een ​​pauze voor lunch en snacks (een uur in totaal)
  • Maak om 8 uur een lijst van de dingen die je vandaag gaat studeren. Neem daarna een uur de tijd om alles wat je gisteren hebt geleerd te onthouden en te oefenen.
  • Van 9 tot 12 uur minder studeren en oefenen. Na de lunch, voer het tempo op. Als u vastzit aan een probleem, zoek dan online naar een oplossing.
  • Besteed elke dag 4-5 uur aan studeren en 2-3 uur aan oefenen. (je kunt maximaal één vrije dag per week opnemen)
  • Je vrienden zullen denken dat je gek bent. Stel ze niet teleur en maak het imago waar.

Als je voltijds werkt of aan de universiteit studeert, heb je meer tijd nodig. Als student kostte het mij 8 maanden om alles op de lijst te doen. Nu werk ik als senior ontwikkelaar (senior). Het kostte mijn vrouw, die bij de Amerikaanse centrale bank werkt, zes maanden om alle taken op de lijst te voltooien. Het maakt niet uit hoe lang het duurt. Maak de lijst compleet.

Week vier: serieus worden over het vinden van een baan (stagiaire)

Je doel in de vierde week is om serieus na te denken over het vinden van een baan. Zelfs als je de baan nu niet wilt, zul je tijdens het sollicitatieproces veel leren.

  • Dag 1: Samenvatting (5 uur): maak een CV van één pagina. Voeg bovenaan uw cv een samenvatting van uw vaardigheden toe. Zorg ervoor dat u een lijst met uw projecten toevoegt met links naar Github.
  • Dag 2: Websiteportfolio (6 uur): Schrijf een paar blogs. Voeg ze toe aan het vorige websiteportfolio dat je hebt gemaakt.
  • Dag 3: LinkedIn Profiel (4 uur): Maak een LinkedIn-profiel aan. Breng alles op je CV naar LinkedIn.
  • Dag 4: Voorbereiding op het interview (7 uur): Google de meest gestelde interviewvragen. Oefen met het oplossen van 10 programmeerproblemen waar in interviews naar wordt gevraagd. Doe het op papier. Sollicitatievragen zijn te vinden op sites als Glassdoor en Careercup
  • Dag 5: Netwerken (~ uur): Kom uit de kast. Ga naar bijeenkomsten en banenbeurzen. Ontmoet recruiters en andere ontwikkelaars.
  • Dag 6: Eenvoudig solliciteren (~uren): Google “Python vacatures” en kijk welke vacatures beschikbaar zijn op LinkedIn en lokale vacaturesites. Selecteer 3 vacatures waarop u solliciteert. Pas je CV aan elke persoon aan. Zoek 2-3 dingen op de lijst met vereisten die u niet weet. Besteed de komende 3-4 dagen aan het uitzoeken ervan.
  • Dag 7: Leer van mislukkingen (~uur): Elke keer dat u wordt afgewezen, identificeert u twee dingen die u moet weten om de baan te krijgen. Besteed vervolgens 2-4 dagen aan het verbeteren van uw vaardigheden op deze gebieden. Zo word jij na elke afwijzing een betere ontwikkelaar.

Klaar om te werken:

De waarheid is dat je nooit 100% klaar zult zijn om te werken. Het enige wat je nodig hebt is om 1-2 dingen heel goed te leren. En maak uzelf vertrouwd met andere vragen om de interviewbarrière te overwinnen. Als je eenmaal een baan hebt, leer je er veel van.

Geniet van het proces:

Leren is een proces. Er zullen zeker moeilijkheden op je pad komen. Hoe meer ervan, hoe beter je bent als ontwikkelaar.

Als je de lijst binnen 28 dagen kunt afmaken, doe je het geweldig. Maar zelfs als je 60-70% van de lijst invult, ontwikkel je de nodige kwaliteiten en vaardigheden. Zij zullen je helpen programmeur te worden.

Waar te studeren:

Als je nog steeds niet weet waar je moet beginnen,

Ik wens je een spannende reis. De toekomst ligt in jouw handen.

Vertaling: Diana Sheremyeva

Bron: www.habr.com

Voeg een reactie