Python за месяц

Кіраўніцтва для абсалютных чайнавічкоў.
(Заўв. зав.: гэта парады ад аўтара-індуса, але накшталт слушныя. Дапаўняйце ў каментах.)

Python за месяц

Месяц - гэта шмат часу. Калі марнаваць на навучанне па 6-7 гадзін кожны дзень, то можна зрабіць дафіга.

Мэта на месяц:

  • Азнаёміцца ​​з асноўнымі паняццямі (пераменная, умова, спіс, цыкл, функцыя)
  • Асвоіць на практыцы больш за 30 праблем праграмавання
  • Сабраць два праекты, каб прымяніць на практыцы новыя веды
  • Азнаёміцца ​​хаця б з двума фрэймворкамі
  • Пачаць працу з IDE (асяроддзем распрацоўкі), Github, хостынгам, сэрвісамі і г. д.

Дык вы станеце малодшым распрацоўшчыкам (джунам) Python.

Цяпер план па тыднях.

Python за месяц

Артыкул перакладзены пры падтрымцы кампаніі EDISON Software, якая дае слушныя парады юніёрам, а таксама праектуе праграмнае забеспячэнне і піша ТЗ на рускай і англійскай.

Першы тыдзень: пазнаёмцеся з Python

Разбярыцеся як усё ўладкована ў Python. Праверце як мага больш рэчаў.

  • Дзень 1: 4 асноўных канцэпта (4 гадзіны): увод, вывад, пераменная, умовы
  • Дзень 2: 4 асноўных канцэпта (5 гадзін): спіс, цыкл for, цыкл while, функцыя, імпарт модуляў
  • Дзень 3: Простыя праблемы праграмавання (5 гадзін): памяняць месцамі дзве зменныя, перавесці градусы Цэльсія ў градусы па Фарэнгейце, палічыць суму ўсіх разрадаў у ліку, праверыць лік на прастату, згенераваць выпадковы лік, выдаліць дублікат са спісу
  • Дзень 4: Праблемы праграмавання сярэдняй складанасці (6 гадзін): перавярнуць радок (праверыць на паліндром), палічыць найбольшы агульны дзельнік, аб'яднаць два адсартаваных масіва, напісаць гульню на угадванне лікаў, палічыць узрост і г.д.
  • Дзень 5: Структуры дадзеных (6 гадзін): стэк, чарга, слоўнік, картэжы, складны спіс
  • Дзень 6: ААП - Аб'ектна-арыентаванае праграмаванне (6 гадзін): аб'ект, клас, метад і канструктар, ААП атрыманне ў спадчыну
  • Дзень 7: Алгарытм (6 гадзін): пошук (лінейны і бінарны), сартаванне (метадам бурбалкі, выбарам), рэкурсіўная функцыя (фактарыял, шэраг Фібаначы), часовая складанасць алгарытмаў (лінейных, квадратычных, канстантных)

Не ўстанаўлівайце Python:

Я разумею, гучыць супярэчліва. Але паверце мне. Я ведаю кучу людзей, у якіх адпала ўсякае жаданне вывучаць штосьці пасля таго як яны не змаглі ўсталяваць асяроддзе распрацоўкі ці ПА. Я раю адразу залезці ў андроіда прыкладанне накшталт Герой праграмавання ці на сайт Адпр і пачаць даследаваць мову. Не стаўце сабе задачу перш за ўсё ўсталяваць Python, калі вы не асабліва падкаваныя тэхнічна.

Другі тыдзень: пачніце распрацоўку праграмнага забеспячэння (збярыце праект)

Атрымайце досвед распрацоўкі ПЗ. Паспрабуйце выкарыстоўваць усё, што вы вывучылі, каб стварыць сапраўдны праект.

  • Дзень 1: Азнаёмцеся з асяроддзем распрацоўкі (5 гадзін): Серада распрацоўкі гэта інтэрактыўнае асяроддзе, дзе вы будзеце пісаць код для самых вялікіх праектаў. Вы павінны добра ведаць хаця б адну асяроддзе распрацоўкі. Я рэкамендую пачаць з VS code install Python extension ці Jupyter notebook
  • Дзень 2: Github (6 гадзін): Вывучыце Github, стварыце рэпазітар. Паспрабуйце закаміціць, запушыць код, вылічыць розніцу паміж двума любымі Git дрэвамі. Таксама разбярыцеся з галінаваннем, зліццём і пул рэквестамі.
  • Дзень 3: Першы праект: Просты Калькулятар (4 гадзіны): Азнаёмцеся з Tkinter. Стварыце просты калькулятар.
  • Дзень 4, 5, 6: Асабісты праект (5 гадзін кожны дзень): Абярыце адзін з праектаў і пачніце над ім працу. Калі ў вас няма ідэй для праекту, паглядзіце гэты спіс: некалькі добрых праектаў на Python
  • Дзень 7: Хостынг (5 гадзін): Разбярыцеся з серверам і хостынгам, каб хосціць свой праект. Наладзьце Heroku і задэплойце зборку вашага прыкладання.

Чаму праект:

Проста слепа прытрымліваючыся крокаў ва ўроку або відэа вы не разаўецца ўменне думаць. Вы павінны прымяніць свае веды ў праекце. Як толькі вы патраціце ўсе сілы на пошук адказу, вы яго запомніце.

Трэці тыдзень: асвойцеся як праграміст

Ваша мэта на 3 тыдні атрымаць агульнае ўяўленне аб працэсе распрацоўкі ПЗ. Вам не трэба будзе навострываць вашыя навыкі. Але вы павінны ведаць некаторыя асновы, бо яны паўплываюць на вашу паўсядзённае працу.

  • Дзень 1: Асновы баз дадзеных (6 гадзін): Базавы SQL-запыт (Create Table, Select, Where, Update), Функцыя SQL (Avg, Max, Count), рэляцыйная база дадзеных (Нармалізацыя), Унутранае злучэнне, Знешняе злучэнне і г.д.
  • Дзень 2: Выкарыстоўвайце базы дадзеных у Python (5 гадзін): Выкарыстоўвайце фрэймворк базы дадзеных (SQLite або Pandas), падлучыцеся да базы дадзеных, стварыце і дадайце дадзеныя ў некалькі табліц, лічыце дадзеныя з табліц
  • Дзень 3: API (5 гадзін): Навучыцеся выклікаць API, падвучыце JSON, мікрасэрвісы, REST API
  • Дзень 4: Numpy (4 гадзіны): Азнаёмцеся з Numpy і папрактыкуйцеся ў яго выкарыстанні на першых 30 практыкаваннях
  • Дзень 5, 6: Партфоліа сайта (5 гадзін кожны дзень): Вывучыце Django, стварыце партфоліё сайта на Django, таксама зірніце на фрэймворк Flask
  • Дзень 7: Юніт-тэсты, логі, адладка (4 гадзіны): Разбярыцеся з юніт-тэстамі (PyTest), навучыцеся працаваць з логамі і правяраць іх і выкарыстоўвайце брэйкпоінты.

Рэальны маштаб часу (Сакрэт):

Калі вы хварэеце гэтай тэмай і прысвячаеце ёй усяго сябе, то зможаце зрабіць усё за месяц.

  • Вучыце Python увесь час. Пачынайце ў 8 раніцы і займайцеся гэтым да 5-й вечара. Зрабіце перапынак на абед і перакусы (у агульнай складанасці гадзіну)
  • У 8 раніцы складзіце спіс рэчаў, якія вы будзеце вывучаць сёння. Пасля надасце гадзіну часу, каб успомніць і апрабаваць на практыцы ўсё, што вывучылі ўчора.
  • З 9 раніцы да 12 гадзін дня вучыце і практыкуйцеся паменш. Пасля абеду набярыце абароты. Калі вы затрымаліся на нейкай праблеме, пашукайце яе рашэнне ў сетцы.
  • Кожны дзень марнуйце па 4-5 гадзін на навучанне і 2-3 гадзіны на практыку. (максімум можаце задаволіць сабе адзін выходны ў тыдзень)
  • Вашыя сябры вырашаць, што вы вар'ят. Не расчароўвайце іх - адпавядайце выяве.

Калі вы працуеце поўны працоўны дзень або вучыцеся ва ўніверы, то вам спатрэбіцца больш часу. Будучы студэнтам мне спатрэбілася 8 месяцаў, каб зрабіць усё паказанае ў спісе. Цяпер я працую старэйшым распрацоўшчыкам (сеньёрам). Маёй жонцы, якая працуе ў цэнтральным банку ЗША, запатрабавалася паўгода, каб скончыць усе задачы са спісу. Усё роўна колькі часу спатрэбіцца. Скончыце спіс.

Чацвёрты тыдзень: сур'ёзна пастаўцеся да таго, каб атрымаць працу (стажора)

Ваша мэта чацвёртага тыдня сур'ёзна задумацца аб уладкаванні на працу. Нават калі вы не жадаеце атрымліваць працу прама цяпер, вы шматлікаму навучыцеся падчас гутарак.

  • Дзень 1: Рэзюмэ (5 гадзін): Стварыце аднастаронкавае рэзюмэ. У верхняй частцы рэзюмэ размясціце кароткія звесткі аб сваіх навыках. Абавязкова дадайце спіс сваіх праектаў са спасылкамі на Github.
  • Дзень 2: Партфоліа сайта (6 гадзін): Напішыце некалькі блогаў. Дадайце іх у папярэдняе партфоліё сайта, якое вы зрабілі.
  • Дзень 3: Профіль LinkedIn (4 гадзіны): Стварыце профіль у LinkedIn. Перанясіце ў LinkedIn усё, што ёсць у вас у рэзюмэ.
  • Дзень 4: Падрыхтоўка да сумоўя (7 гадзін): Загугліце самыя часта задаюць пытанні на сумоўях. Папрактыкуйцеся ў рашэнні 10 праблем праграмавання, аб якіх пытаюцца на сумоўях. Рабіце гэта на паперы. Пытанні з сумоўяў можна знайсці на сайтах накшталт Glassdoor, Careercup
  • Дзень 5: Нетворкінг (~ гадзін): Выберыцеся з каморы. Пачніце хадзіць на мітапы, кірмашы вакансій. Пазнаёмцеся з рекрутеры і іншымі распрацоўшчыкамі.
  • Дзень 6: Проста адгукніцеся на вакансіі (~ гадзін): Загуліце “праца Python”, паглядзіце якія вакансіі ёсць на LinkedIn і мясцовых сайтах з прапановамі працы. Абярыце 3 вакансіі, на якія вы адгукніцеся. Наладзьце сваё рэзюмэ пад кожную з іх. Знайдзіце 2/3 рэчы ў спісах патрабаванняў, якія вы не ведаеце. Выдаткуйце наступныя 3-4 дні на тое, каб у іх разабрацца.
  • Дзень 7: Вучыцеся за кошт адмоў (~ гадзін): Кожны раз, калі вы атрымліваеце адмову, вызначыце для сябе 2 рэчы, якія вы павінны ведаць, каб атрымаць працу. Затым выдаткуйце 4-5 дзён на тое, каб адтачыць сваё майстэрства ў гэтых пытаннях. Такім чынам, пасля кожнай адмовы вы будзеце станавіцца лепш як распрацоўшчык.

Гатоўнасць да працы:

Праўда ў тым, што вы ніколі не будзеце гатовы да працы на 100%. Усё, што вам трэба гэта вельмі добра вывучыць 1/2 рэчы. І азнаёміцца ​​з іншымі пытаннямі, каб пераадолець бар'ер сумоўяў. Як толькі вы атрымаеце працу, вы шмат чаму навучыцеся на ёй.

Атрымлівайце асалоду ад працэсам:

Навучанне гэта працэс. На вашым шляху абавязкова будуць цяжкасці. Чым іх больш - тым вы лепш як распрацоўшчык.

Калі вы зможаце скончыць спіс за 28 дзён, вы вялікі малайчына. Але нават калі вы выканаеце 60-70% спісу, вы разаўецца неабходныя якасці і навыкі. Яны дапамогуць вам стаць праграмістам.

Дзе вучыцца:

Калі вы ўсё яшчэ не ведаеце з чаго пачаць,

Жадаю вам займальнага падарожжа. Будучыня ў вашых руках.

Пераклад: Дыяна Шарам'ёва

Крыніца: habr.com

Дадаць каментар