Python sa isang buwan

Isang gabay para sa ganap na mga nagsisimula sa tsaa.
(Tandaan mula sa lane: ito ay mga tip mula sa isang Indian na may-akda, ngunit mukhang praktikal ang mga ito. Pakidagdag sa mga komento.)

Python sa isang buwan

Ang isang buwan ay isang mahabang panahon. Kung gumugugol ka ng 6-7 oras sa pag-aaral araw-araw, marami kang magagawa.

Layunin para sa buwan:

  • Maging pamilyar sa mga pangunahing konsepto (variable, kundisyon, listahan, loop, function)
  • Master ang higit sa 30 mga problema sa programming sa pagsasanay
  • Magsama-sama ng dalawang proyekto upang maisagawa ang bagong kaalaman
  • Maging pamilyar sa hindi bababa sa dalawang frameworks
  • Magsimula sa IDE (development environment), Github, hosting, mga serbisyo, atbp.

Gagawin ka nitong isang junior Python developer.

Ngayon ang plano ay linggo-linggo.

Python sa isang buwan

Ang artikulo ay isinalin sa suporta ng EDISON Software, na nagbibigay ng praktikal na payo sa mga juniorsAt nagdidisenyo ng software at nagsusulat ng mga teknikal na detalye sa Russian at English.

Linggo XNUMX: Kilalanin ang Python

Unawain kung paano gumagana ang lahat sa Python. Suriin ang maraming bagay hangga't maaari.

  • Araw 1: 4 na pangunahing konsepto (4 na oras): input, output, variable, kundisyon
  • Araw 2: 4 na pangunahing konsepto (5 oras): listahan, para sa loop, habang loop, function, pag-import ng module
  • Araw 3: Mga simpleng problema sa programming (5 oras): magpalit ng dalawang variable, i-convert ang degrees Celsius sa degrees Fahrenheit, kalkulahin ang kabuuan ng lahat ng mga digit sa isang numero, suriin ang isang numero para sa primality, bumuo ng isang random na numero, alisin ang isang duplicate mula sa isang listahan
  • Araw 4: Katamtamang mga problema sa programming (6 na oras): baligtarin ang isang string (suriin ang isang palindrome), kalkulahin ang pinakadakilang karaniwang divisor, pagsamahin ang dalawang pinagsunod-sunod na array, magsulat ng laro ng paghula ng numero, kalkulahin ang edad, atbp.
  • Araw 5: Mga Structure ng Data (6 na oras): stack, queue, diksyunaryo, tuples, naka-link na listahan
  • Araw 6: OOP - Object Oriented Programming (6 na oras): object, class, method at constructor, OOP inheritance
  • Araw 7: Algorithm (6 na oras): paghahanap (linear at binary), pag-uuri (bubble method, selection), recursive function (factorial, Fibonacci series), time complexity ng mga algorithm (linear, quadratic, constant)

Huwag i-install ang Python:

Alam kong salungat ito. Pero trust me. Marami akong kilala na nawalan ng pagnanais na matuto ng anuman pagkatapos nilang hindi makapag-install ng development environment o software. Ipinapayo ko sa iyo na agad na pumasok sa isang Android application tulad ng Bayani sa Programming o sa website Palitan at simulan ang paggalugad ng wika. Huwag gawing punto na mag-install muna ng Python maliban kung ikaw ay partikular na marunong sa teknolohiya.

Linggo XNUMX: Simulan ang Software Development (Bumuo ng Proyekto)

Makakuha ng karanasan sa pagbuo ng software. Subukang gamitin ang lahat ng iyong natutunan upang lumikha ng isang tunay na proyekto.

  • Araw 1: Maging pamilyar sa kapaligiran ng pag-unlad (5 oras): Ang development environment ay isang interactive na kapaligiran kung saan magsusulat ka ng code para sa pinakamalalaking proyekto. Dapat ay pamilyar ka sa kahit isang kapaligiran sa pag-unlad. Inirerekomenda kong magsimula sa Ang VS code ay nag-install ng extension ng Python o Jupyter notebook
  • Araw 2: Github (6 na oras): Galugarin Github, gumawa ng repositoryo. Subukang mag-commit, itulak ang code, at kalkulahin ang pagkakaiba sa pagitan ng alinmang dalawang puno ng Git. Unawain din ang mga kahilingan sa pagsasanga, pagsasama, at paghila.
  • Araw 3: Unang Proyekto: Simple Calculator (4 na oras): Tingnan ang Tkinter. Lumikha ng isang simpleng calculator.
  • Araw 4, 5, 6: Personal na Proyekto (5 oras araw-araw): Pumili ng isa sa mga proyekto at simulan ang paggawa nito. Kung wala kang mga ideya para sa isang proyekto, tingnan ang listahang ito: ilang magagandang proyekto sa Python
  • Araw 7: Pagho-host (5 oras): Intindihin ang server at hosting para ganyan i-host ang iyong proyekto. I-set up ang Heroku at i-deploy ang iyong app build.

Bakit ang proyekto:

Ang bulag na pagsunod sa mga hakbang sa isang aralin o video ay hindi magpapaunlad ng iyong mga kasanayan sa pag-iisip. Dapat mong ilapat ang iyong kaalaman sa proyekto. Kapag naubos mo na ang lahat ng iyong lakas sa paghahanap ng sagot, maaalala mo ito.

Ikatlong linggo: maging komportable bilang isang programmer

Ang iyong layunin sa linggo 3 ay makakuha ng pangkalahatang pag-unawa sa proseso ng pagbuo ng software. Hindi mo na kailangang hasain ang iyong mga kakayahan. Ngunit dapat mong malaman ang ilang mga pangunahing kaalaman dahil makakaapekto ang mga ito sa iyong pang-araw-araw na gawain.

  • Araw 1: Mga Pangunahing Kaalaman sa Database (6 na oras): Pangunahing Query sa SQL (Gumawa ng Talahanayan, Piliin, Saan, I-update), SQL Function (Avg, Max, Bilang), Relational Database (Normalization), Inner Join, Outer Join, atbp.
  • Araw 2: Gumamit ng Mga Database sa Python (5 oras): Gumamit ng isang database framework (SQLite o Pandas), kumonekta sa database, lumikha at magdagdag ng data sa maramihang mga talahanayan, basahin ang data mula sa mga talahanayan
  • Araw 3: API (5 oras): Matutong tumawag sa mga API, matuto ng JSON, microservices, REST API
  • Araw 4: Numpy (4 na oras): Tingnan ang Numpy at magsanay sa paggamit nito unang 30 pagsasanay
  • Araw 5, 6: Portfolio ng Website (5 oras araw-araw): Alamin ang Django, lumikha ng isang portfolio website gamit ang Django, tingnan din ang balangkas ng Flask
  • Araw 7: Mga pagsubok sa unit, log, pag-debug (4 na oras): Unawain ang mga unit test (PyTest), alamin kung paano gumawa ng mga log at suriin ang mga ito, at gumamit ng mga breakpoint

Tunay na Oras (Lihim):

Kung ikaw ay madamdamin tungkol sa paksang ito at italaga ang lahat ng iyong sarili dito, magagawa mo ang lahat sa loob ng isang buwan.

  • Tuloy-tuloy ang pag-aaral ng Python. Magsimula sa 8 am at gawin ito hanggang 5 pm. Magpahinga para sa tanghalian at meryenda (isang oras sa kabuuan)
  • Sa ika-8 ng umaga, gumawa ng listahan ng mga bagay na pag-aaralan mo ngayon. Pagkatapos, maglaan ng isang oras para alalahanin at isagawa ang lahat ng iyong natutunan kahapon.
  • Mula alas-9 ng umaga hanggang alas-12 ng tanghali, mas kaunti ang pag-aaral at pagsasanay. Pagkatapos ng tanghalian, bilisan mo. Kung natigil ka sa isang problema, maghanap ng solusyon online.
  • Araw-araw, gumugol ng 4-5 oras sa pag-aaral at 2-3 oras sa pagsasanay. (maaari kang kumuha ng maximum na isang araw na pahinga bawat linggo)
  • Iisipin ng mga kaibigan mo na baliw ka. Huwag biguin ang mga ito - mamuhay ayon sa imahe.

Kung nagtatrabaho ka ng buong oras o nag-aaral sa unibersidad, kakailanganin mo ng mas maraming oras. Bilang isang mag-aaral, inabot ako ng 8 buwan upang gawin ang lahat ng nasa listahan. Ngayon ay nagtatrabaho ako bilang isang senior developer (senior). Kinailangan ng aking asawa, na nagtatrabaho sa US central bank, ng anim na buwan upang makumpleto ang lahat ng mga gawain sa listahan. Hindi mahalaga kung gaano katagal. Kumpletuhin ang listahan.

Ikaapat na Linggo: Maging Seryoso Tungkol sa Pagkuha ng Trabaho (Intern)

Ang iyong layunin sa ikaapat na linggo ay seryosong pag-isipan ang pagkuha ng trabaho. Kahit na ayaw mo sa trabaho ngayon, marami kang matututunan sa proseso ng pakikipanayam.

  • Araw 1: Buod (5 oras): Gumawa ng isang pahinang resume. Sa tuktok ng iyong resume, isama ang isang buod ng iyong mga kasanayan. Tiyaking magdagdag ng listahan ng iyong mga proyekto na may mga link sa Github.
  • Araw 2: Portfolio ng Website (6 na oras): Sumulat ng ilang blog. Idagdag sila sa nakaraang website portfolio na ginawa mo.
  • Araw 3: LinkedIn Profile (4 na oras): Gumawa ng LinkedIn profile. Dalhin ang lahat sa iyong resume sa LinkedIn.
  • Araw 4: Paghahanda para sa panayam (7 oras): Google ang pinakamadalas itanong sa mga tanong sa panayam. Magsanay sa paglutas ng 10 problema sa programming na itinanong tungkol sa mga panayam. Gawin ito sa papel. Ang mga tanong sa panayam ay matatagpuan sa mga site tulad ng Glassdoor, Careercup
  • Araw 5: Networking (~ oras): Lumabas ka sa aparador. Magsimulang pumunta sa mga meetup at job fair. Kilalanin ang mga recruiter at iba pang developer.
  • Araw 6: Mag-apply lang para sa mga trabaho (~oras): Google β€œPython jobs” at tingnan kung anong mga trabaho ang available sa LinkedIn at mga lokal na site ng trabaho. Pumili ng 3 bakante kung saan ka mag-a-apply. Iayon ang iyong resume sa bawat isa sa kanila. Maghanap ng 2-3 bagay sa mga listahan ng mga kinakailangan na hindi mo alam. Gumugol sa susunod na 3-4 na araw sa pag-aayos ng mga ito.
  • Araw 7: Matuto mula sa kabiguan (~oras): Sa tuwing tatanggihan ka, tukuyin ang 2 bagay na kailangan mong malaman para makakuha ng trabaho. Pagkatapos ay gumugol ng 4-5 araw sa paghasa ng iyong mga kasanayan sa mga lugar na ito. Sa ganitong paraan, pagkatapos ng bawat pagtanggi, ikaw ay magiging isang mas mahusay na developer.

Handa nang magtrabaho:

Ang katotohanan ay hindi ka magiging 100% handa para sa trabaho. Ang kailangan mo lang ay matuto ng 1-2 bagay nang napakahusay. At gawing pamilyar ang iyong sarili sa iba pang mga katanungan upang malampasan ang hadlang sa pakikipanayam. Kapag nakakuha ka ng trabaho, marami kang matututunan dito.

Tangkilikin ang proseso:

Ang pag-aaral ay isang proseso. Tiyak na magkakaroon ng mga paghihirap sa iyong landas. Kung mas marami sila, mas mahusay ka bilang isang developer.

Kung matatapos mo ang listahan sa loob ng 28 araw, mahusay ka. Ngunit kahit na makumpleto mo ang 60-70% ng listahan, bubuo ka ng mga kinakailangang katangian at kasanayan. Tutulungan ka nilang maging isang programmer.

Kung saan mag-aaral:

Kung hindi mo pa rin alam kung saan magsisimula,

Nais ko sa iyo ng isang kapana-panabik na paglalakbay. Nasa iyong mga kamay ang hinaharap.

Pagsasalin: Diana Sheremyeva

Pinagmulan: www.habr.com

Magdagdag ng komento