Программирование на Python: нет смысла идти на платные курсы пока не разберетесь в бесплатных | Цех

Какая математическая база нужна для Python, чем он хорош для новичков и какие задачи можно решить с помощью этого языка программирования

Python ча­сто со­ве­ту­ют изу­чать тем, кто ни­ко­гда рань­ше не про­грам­ми­ро­вал. Одно из его пре­иму­ществ — уни­вер­саль­ность, за счёт ко­то­рой он ис­поль­зу­ет­ся про­фес­си­о­на­ла­ми в раз­ных об­ла­стях: от жур­на­ли­сти­ки до про­дакт-ме­недж­мен­та. Его мож­но при­ме­нять для ре­ше­ния ру­тин­ных за­дач: на­при­мер, что­бы ви­зу­а­ли­зи­ро­вать боль­шой объ­ём дан­ных или со­став­лять спис­ки дел и по­ку­пок. Ав­тор и ме­не­джер про­грам­мы «Ана­лиз дан­ных» в Ян­декс.Прак­ти­ку­ме Анна Чу­ви­ли­на рас­ска­за­ла как оп­ти­ми­зи­ро­вать свой быт и ра­бо­ту при по­мо­щи про­грам­ми­ро­ва­ния, ка­кие биб­лио­те­ки (шаб­ло­ны ре­ше­ний) мо­гут ис­поль­зо­вать но­вич­ки и как вы­брать курс по изу­че­нию Python. Ма­те­ри­ал под­го­тов­лен Ака­де­ми­ей Ян­дек­са

По­че­му Python со­ве­ту­ют но­вич­кам

Одно из глав­ных пре­иму­ществ Python — низ­кий по­рог вхо­да. Код на нём ла­ко­нич­ный и обыч­но схо­ду по­ня­тен даже тем, кто изу­чал дру­гой язык. А по­дроб­ная до­ку­мен­та­ция по­мо­жет разо­брать­ся в про­грам­ми­ро­ва­нии с нуля.

Ре­сур­сы для изу­че­ния Python:

Во­круг Python сфор­ми­ро­ва­лись со­об­ще­ства эн­ту­зи­а­стов, ко­то­рые пи­шут на этом язы­ке. На­при­мер, в Москве есть груп­па Moscow Python: они про­во­дят кон­фе­рен­ции и нефор­маль­ные встре­чи и со­труд­ни­ча­ют с круп­ны­ми ИТ-ком­па­ни­я­ми.

Для Python су­ще­ству­ет объ­ём­ная си­сте­ма биб­лио­тек — го­то­вых ре­ше­ний для тех или иных за­дач. Есть как ал­го­рит­мы для ба­зо­вых ма­те­ма­ти­че­ских опе­ра­ций, так и для слож­ных за­дач: на­при­мер, рас­по­зна­ва­ния кар­ти­нок и зву­ков.

У язы­ка мно­го по­нят­ных при­ло­же­ний: его мож­но ис­поль­зо­вать для ана­ли­за дан­ных и ма­шин­но­го обу­че­ния, бэ­кен­да, веб-раз­ра­бот­ки, си­стем­но­го ад­ми­ни­стри­ро­ва­ния и игр. Ко­неч­но, при этом ну­жен раз­ный на­бор на­вы­ков по­ми­мо про­грам­ми­ро­ва­ния, но с Python мож­но на­чать осва­и­вать по­чти лю­бую пред­мет­ную об­ласть.

Важ­но по­ни­мать, что для ана­ли­за дан­ных язык про­грам­ми­ро­ва­ния — это ин­стру­мент. Ана­лиз дан­ных мож­но про­во­дить и в Ex­cel, и на бу­маж­ке, а про­грам­ми­ро­ва­ние — толь­ко один из ва­ри­ан­тов того, как мож­но ре­шать та­кие за­да­чи.

Одно из рас­про­стра­нён­ных при­ло­же­ний Python — ра­бо­та с дан­ны­ми для про­дакт-ме­недж­мен­та. Ана­лиз дан­ных поз­во­ля­ет ме­не­дже­рам по­лу­чать ин­сай­ты о по­ве­де­нии поль­зо­ва­те­лей и при­ни­мать обос­но­ван­ные ре­ше­ния. В круп­ных ком­па­ни­ях долж­но­сти ана­ли­ти­ков и про­дакт-ме­не­дже­ров обыч­но раз­де­ле­ны, но в неболь­ших про­ек­тах про­дак­там нуж­но ра­бо­тать с дан­ны­ми са­мо­сто­я­тель­но.

Как по­нять, что вам ну­жен имен­но Python

На­зы­вать его «убий­цей Ex­cel» — некор­рект­но. Мно­гие ко­ман­ды и ком­па­нии в Рос­сии ве­дут весь учёт в обыч­ных таб­ли­цах, и им это­го до­ста­точ­но. А Python ну­жен в тот мо­мент, ко­гда речь идет про дей­стви­тель­но боль­шие объ­е­мы дан­ных. На­при­мер, у Ян­декс.Му­зы­ки мно­же­ство пла­тя­щих поль­зо­ва­те­лей, и их дей­ствия еже­днев­но ге­не­ри­ру­ют ка­кие-то со­бы­тия (лай­ки и про­слу­ши­ва­ния) — и те­ра­бай­ты дан­ных. Хра­нить их в таб­лич­ке Ex­cel — из раз­ря­да фан­та­сти­ки.

В Python про­ще де­лать ин­тер­ак­тив­ную и слож­ную ви­зу­а­ли­за­цию или про­во­дить вы­чис­ле­ния — для это­го су­ще­ству­ют биб­лио­те­ки вро­де Seaborn, mat­plot и Plotly. В Ex­cel есть встро­ен­ный ап­па­рат для ре­ше­ния ма­те­ма­ти­че­ских за­дач (на­при­мер, ра­бо­ты с дан­ны­ми), но для него нуж­но за­по­ми­нать мно­го на­зва­ний опе­ра­ций — и ра­бо­та­ет он до­воль­но непо­во­рот­ли­во. Кро­ме того, в Python мож­но быст­рее и с раз­ных сто­рон по­смот­реть на дан­ные. Ре­грес­сию мож­но по­стро­ить и в Ex­cel, но за­чем, ко­гда в Python есть для это­го го­то­вые биб­лио­те­ки?

Для ста­ти­сти­че­ских рас­че­тов мож­но ис­поль­зо­вать R — люди с ма­те­ма­ти­че­ским об­ра­зо­ва­ни­ем обыч­но осва­и­ва­ют его быст­рее, чем Python. Од­на­ко боль­шин­ству бу­дет про­ще на­чать с Python.

Для раз­ных за­дач ана­ли­за дан­ных су­ще­ству­ют ко­ро­боч­ные ре­ше­ния. На­при­мер, Am­pli­tude (для про­дук­то­вой ана­ли­ти­ки), Mix­panel (для ана­ли­за по­ве­де­ния поль­зо­ва­те­лей) Ян­декс.Мет­ри­ка и Google An­a­lyt­ics. При этом их ис­поль­зо­ва­ние ча­сто плат­ное.

Где при­ме­нять Python, если вы не раз­ра­бот­чик

По­ми­мо ана­ли­за дан­ных у язы­ка есть и бо­лее про­стые при­ло­же­ния. Так, в учеб­ни­ках по Python ча­сто встре­ча­ет­ся за­да­ча с рас­сыл­ка­ми. В ней нуж­но соз­дать рас­сыл­ку, на­при­мер, для лю­дей, ко­то­рые не сда­ли день­ги на ре­монт — най­дя их дан­ные в Ex­cel-таб­ли­це. С по­мо­щью та­ко­го скрип­та мож­но разо­слать пись­ма по шаб­ло­ну — и име­на бу­дут под­став­ле­ны ав­то­ма­ти­че­ски.

Python — про ав­то­ма­ти­за­цию ру­тин­ных за­дач. На­при­мер, мож­но за­пу­стить скрипт, ко­то­рый под­став­ля­ет па­ро­ли — и он ав­то­ма­ти­че­ски от­кро­ет за­па­ро­лен­ные стра­ни­цы или пап­ки. Есть ал­го­рит­мы для того, что­бы ав­то­ма­ти­че­ски со­зда­вать спис­ки по­ку­пок или пе­ре­име­но­вы­вать фо­то­гра­фии опре­де­лён­ным об­ра­зом.

Люди, ко­то­рые уме­ют пи­сать код, при­ду­мы­ва­ют та­кие вещи «на ав­то­ма­те». На­при­мер, мар­ке­то­ло­ги мо­гут за­пу­стить скрипт для по­стро­е­ния во­ро­нок про­даж. А те­сти­ров­щи­ки — на­пи­сать ал­го­ритм, ко­то­рый бу­дет под­став­лять дан­ные в фор­мы и те­сти­ро­вать при­ло­же­ния.

Если го­во­рить про ана­лиз дан­ных, то мно­гие на­чи­на­ют осва­и­вать его из лю­бо­пыт­ства — что­бы най­ти ин­сай­ты в сфе­ре, ко­то­рую пока не ис­сле­до­ва­ли. На­при­мер, мож­но опре­де­лить со­ци­аль­ные про­бле­мы сво­е­го ре­ги­о­на, ана­ли­зи­руя опуб­ли­ко­ван­ную ста­ти­сти­ку. А если вы хо­ти­те че­рез ка­кое-то вре­мя по­пасть на ста­жи­ров­ку или на ра­бо­ту, где ну­жен ана­лиз дан­ных, то та­кой кейс по­мо­жет вам по­ка­зать свои на­вы­ки. На­чать мож­но с про­стых, стан­дарт­ных про­ек­тов, ко­то­рые обыч­но пред­ла­га­ют тем, кто изу­ча­ет Python.

Что нуж­но, что­бы вы­учить Python

Из ма­те­ма­ти­че­ско­го ап­па­ра­та кро­ме ба­зо­вой ариф­ме­ти­ки для про­грам­ми­ро­ва­ния ни­че­го не нуж­но. Что­бы при­ду­мать, ка­кой ал­го­ритм ис­поль­зо­вать для ре­ше­ния той или иной за­да­чи, важ­но струк­тур­ное мыш­ле­ние — но это не ма­те­ма­ти­че­ская ком­пе­тен­ция. Па­ра­докс в том, что и раз­ви­вать его нуж­но с по­мо­щью ре­гу­ляр­ной ра­бо­ты с за­да­ча­ми — важ­но быть го­то­вым про­си­деть над, ка­за­лось бы, три­ви­аль­ным за­да­ни­ем несколь­ко ча­сов и не от­ча­ять­ся.

Для ана­ли­за дан­ных, по­ми­мо школь­ной ма­те­ма­ти­ки, по­на­до­бят­ся зна­ния ма­те­ма­ти­че­ской ста­ти­сти­ки и тео­рии ве­ро­ят­но­сти. На­чи­на­ю­ще­му спе­ци­а­ли­сту важ­нее все­го осво­ить ба­зо­вые по­ня­тия: уметь про­ве­рять ги­по­те­зы, знать, что та­кое до­ве­ри­тель­ные ин­тер­ва­лы, чем от­ли­ча­ют­ся ме­ди­а­на и мода, по­ни­мать, как обо­зна­чать со­бы­тия и их ве­ро­ят­но­сти.

Ма­те­ри­а­лы по ма­те­ма­ти­ке:

  • Курс на Cours­era
  • Ви­део­курс по ал­го­рит­мам
  • Ста­ти­сти­ка. Ве­ро­ят­ность. Ком­би­на­то­ри­ка — Я. С. Брод­ский

Тем, кто хо­чет за­ни­мать­ся ана­ли­зом дан­ных (как про­фес­си­о­наль­но, так и для себя), важ­но раз­вить кри­ти­че­ское мыш­ле­ние. На­при­мер, нуж­но са­мо­му вы­де­лять кри­те­рии для срав­не­ния объ­ек­тов: тут нет ка­ко­го-то стан­дарт­но­го ре­ше­ния. Ещё важ­но схо­ду ви­деть за­ко­но­мер­но­сти и ано­ма­лии в дан­ных.

Изу­чать про­грам­ми­ро­ва­ние и ана­лиз дан­ных мож­но и са­мо­му — я не ре­ко­мен­дую об­ра­щать­ся к плат­ным кур­сам до тех пор, пока вы не по­смот­ре­ли бес­плат­ный кон­тент.

Во-пер­вых, он слу­жит для профори­ен­та­ции: что­бы луч­ше по­нять, ка­кие при­ло­же­ния есть у про­грам­ми­ро­ва­ния или ана­ли­за дан­ных для раз­ных про­фес­сий. Во-вто­рых, даёт по­нять, сколь­ко сил и вре­ме­ни нуж­но бу­дет при­кла­ды­вать для изу­че­ния.

Пре­иму­ще­ства обу­че­ния на кур­сах в том, что на них мож­но по­лу­чить чёт­ко сфор­му­ли­ро­ван­ные прак­ти­че­ские за­да­чи. Так­же пре­по­да­ва­те­ли мо­гут рас­ска­зать о том, как об­щать­ся с за­каз­чи­ком и уточ­нять у него необ­хо­ди­мую ин­фор­ма­цию.

Как вы­брать об­ра­зо­ва­тель­ную про­грам­му

Вы­би­рая об­ра­зо­ва­тель­ную про­грам­му, важ­но об­ра­тить вни­ма­ние на пре­по­да­ва­те­лей, ко­то­рые его ве­дут или со­зда­ва­ли для него кон­тент, — мож­но по­смот­реть их про­фи­ли на Face­book и узнать про про­фес­си­о­наль­ный опыт.

Что ка­са­ет­ся цены, то по мо­е­му опы­ту, ка­че­ство кур­са не все­гда с ней кор­ре­ли­ру­ет — по­это­му ори­ен­ти­ро­вать­ся нуж­но на то, сколь­ко вам ком­форт­но по­тра­тить на обу­че­ние.

Так­же сто­ит чёт­ко сфор­му­ли­ро­вать то, что хо­чет­ся по­лу­чить в ре­зуль­та­те, — и сде­лать это клю­че­вым кри­те­ри­ем для вы­бо­ра. Бы­ва­ют слу­чаи, ко­гда сту­ден­ты при­хо­дят на курс по ана­ли­зу дан­ных для ме­не­дже­ров и ожи­да­ют за­ня­тия по про­грам­ми­ро­ва­нию — а их учат об­щать­ся с ана­ли­ти­ка­ми и рас­ска­зы­ва­ют об­щие вещи про то, как внед­рять ана­лиз дан­ных. За­ча­стую про­бле­ма не в пло­хой ор­га­ни­за­ции или пре­по­да­ва­те­лях, а в том, что че­ло­век сам не про­ве­рил, со­от­вет­ству­ет ли про­грам­ма его за­да­чам. Пра­ви­ло с по­ста­нов­кой це­лей ра­бо­та­ет не толь­ко на вы­бор про­грам­мы, но и на обу­че­ние в це­лом — не сто­ит осва­и­вать язык про­грам­ми­ро­ва­ния, что­бы по­ста­вить га­лоч­ку.

за сколько выучили phyton?

Тема в разделе «Программирование», создана пользователем sashagraymer1youtube, 03 Feb 2020 в 14:13 .

  • 1
  • 2
  • 3
  • Вперед >
Оценить пост #

sashagraymer1youtube

за сколько выучили путон чтобы уже делать сайты и тд ?

и офк я говорю самостоятельно.

PROSTATA_JIVOTNOGO

Mobsman

за сколько выучили путон чтобы уже делать сайты и тд ?

питон легче сем 1с, выучил на коленке в перерыве на обед

Джузо Сузуя

edmean

за сколько выучили путон чтобы уже делать сайты и тд ?

качаешь визуал студио и учишь потом нам расскажешь за сколько выучил

NarGor

за сколько выучили путон чтобы уже делать сайты и тд ?

я могу прямо сейчас открыть сайт о джанго и за какой-нибудь гетин стартед сделать сайт, за условных минут 10 https://docs.djangoproject.com/en/3.0/intro/tutorial01/
и можно даже питон для этого не учить

я это к тому, что у тебя вопрос плохо сформулирован, лучше скажи чего ты сам хочешь?

sashagraymer1youtube

я могу прямо сейчас открыть сайт о джанго и за какой-нибудь гетин стартед сделать сайт, за условных минут 10 https://docs.djangoproject.com/en/3.0/intro/tutorial01/
и можно даже питон для этого не учить

я это к тому, что у тебя вопрос плохо сформулирован, лучше скажи чего ты сам хочешь?

делать сайты,веб преложения.

spellmaster

Верстаю на файтоне уже около 2 месяцев полёт нормальный. Делаю топ сайты с помощью этой тэхнологии — например https://www.lingscars.com/ ( файтон тут зашёл на ура. У файтона отличное API для анимаций бтв )

NoMercyPWNZ

разве петухон учится медленней чем за 0.1 секунды?

ударился головой по клаве, пару раз нажал таб и запустил проект

kure534

разве петухон учится медленней чем за 0.1 секунды?

ударился головой по клаве, пару раз нажал таб и запустил проект

создай нейросеть подобную OpenAI за удар головой по клаве + два таба

NoMercyPWNZ

создай нейросеть подобную OpenAI за удар головой по клаве + два таба

ну для этого нужно 2 удара головой об клаву

первый чтоб найти либу петухонскую, а второй чтоб подключить

girlygirl

за сколько выучили путон чтобы уже делать сайты и тд ?

NarGor

делать сайты,веб преложения.

тогда просто бери и делай) нет смысла спрашивать в таком случае о временных рамках
кроме того каждый с разной скоростью продвигается вперед, это зависит только от твоих усилий, можно и через месяц что-то начинать делать, а можно и полгода возиться, так ни к чему и не придя

можно выучить базы питона + ООП за условные 2 недели, а потом лезть разбираться с вебом
и да, одного питона мало чтобы делать веб-приложения, есть еще много вещей, как практических так и концептуальных, которые тебе либо нужно знать и понимать, либо помогут и уростят какую-то работу (тот же django)
и в то же время необязательно питон задрачивать до дыр, чтобы делать сайты или другие приложения

Hit Girl

Чтобы «делать сайты» есть языки получше.

Как выучить Python с нуля для Data Science (или любых других целей)

Существуют миллионы сайтов, обещающих научить Python с нуля. Но вы наверняка знаете, насколько сложно начать и как еще сложнее не останавливаться. Возможно, даже думали, что код — это не для вас. Но реальность такова, что Python с нуля может выучить каждый, совсем не имея опыта в программировании. А если вы пробовали и что-то не получилось, то проблему стоит искать где-то еще. Есть три основные причины, почему новички терпят неудачи в начале и бросают, так и не почувствовав прогресса.

Причина №1: хорошие программисты, плохие учителя

Большинство ресурсов для изучения программирования созданы самими программистами, которые хотят помочь остальным учиться. К сожалению, хороший программист не всегда будет хорошим учителем. Для тех, кто работает с Python годами, может оказаться сложным поставить себя на место новичка.

А на практике при первом знакомстве действительно сложно понять некоторые концепции в программировании. Например, способ индексации данных, таких как списки, в Python. Люди с опытом работы с кодом знают, что первый пункт в списке — это нулевой элемент. Но обычные люди привыкли считать, начиная с единицы.

Конечно, есть конкретные объяснения, почему в Python используется индексация с нуля. Но в программировании полно таких концепций. Начинающим они могут показаться не только сложными в начале, но и просто неинтуитивными.

Опытные специалисты обычно не помнят, как сами справлялись с подобными проблемами, поэтому ожидают от начинающих «просто запомнить, как есть». Однако такой подход подойдет лишь некоторым. Остальные же разочаровываются и бросают заниматься раньше времени.

Большинству требуются подробные объяснения, контекст и практика, чтобы освоить сложные вещи. Большинство ресурсов, посвященных обучению и обещающих научить Python с нуля, предлагают такие объяснения, которые будут понятны только программистам с опытом, но их сложно осознать остальным. Это и заставляет сдаваться.

Причина №2: недостаток мотивации

В традиционном образовании утрата мотивации считается проблемой и провалом студента, но на самом деле это недостаток метода обучения и самого учителя.

Сложно изучать что угодно без должной мотивации. Одним из главных мотивирующих факторов в сфере программирования является возможность использовать полученные навыки. И на этом моменте многие ресурсы по обучению претерпевают неудачу. Они учат синтаксису с помощью механических упражнений или заставляют создавать бесполезные программы, которые не имеют ничего общего с причинами, из-за которых люди начали изучать Python.

Легко бросить начатое, если вы взялись изучать Python для data science, но не работаете с данными в процессе обучения.

Причина №3: «учить», но не применять

Использование на практике приобретенных навыков критически необходимо, что они закрепились и остались надолго. Это доказывают даже исследования.

Это важно, потому что многие пытаются изучать Python, используя книги или видеоуроки. Они часто предлагают исчерпывающее освещение темы, но не могут заставить использовать полученные знания. И даже если вы используете, все равно оставляйте время для написания собственного кода.

Это не значит, что не нужно использовать книги или видео для обучения. Но именно они могут создать ложное ощущение, что вы что-то понимаете, хотя на самом деле это не так. Пройдут дни или недели, прежде чем вы напишите код, используя новые знания, осознав, что не разобрались с новым материалом так хорошо, как думали.

Решение: как выучить Python с нуля

Если вы хотите увеличить свои шансы на успешное изучение Python, то нужно использовать подход, который поможет избежать эти трех ловушек. Python нужно не просто учить, его нужно учить правильно. Следующие шаги помогут в этом:

Понять, зачем вы учите Python. Все вытекает из этой мотивации и очень важно понимать, изучаете ли вы Python для data science, робототехники, разработки игр или чего-то еще.

Изучить основы синтаксиса языка. Именно основы! Не нужно учить все. Изучение синтаксиса — важная часть, но она может быть скучной, и желательно минимизировать потраченное на нее время. Главное — взять то, что понадобится для начала работы над собственными проектами. Этот этап будет еще проще, если удастся найти ресурсы или обучающие материалы, которые рассказывают основы, но с упором на ту сферу, которая интересует в первую очередь. Например, при изучении data science полезно использовать реальные данные в своих экспериментальных проектах.

Создавать проекты с четкой структурой. В этом плане помогут руководства, в которых расписаны все шаги. Важно начать работать над интересующим проектом как можно раньше.

Создавать уникальные и все более сложные вещи по мере приобретения новых способностей. После работы над несколькими проектами у вас должны появиться идеи для собственных. Приступайте к ним, даже если кажется, что навыков недостаточно. Они появятся в процессе работы.

Нужно всего лишь разбить проект на маленькие и понятные часты. Предположим, есть идея для приложения, которое будет анализировать настроение в Твиттере. Это очень крупный проект, но его можно разделить на элементы и работать с каждым по отдельности. Сначала нужно разобраться, как получить доступ и использовать API сайта. Дальше нужно переходить к фильтрованию твитов и сохранению тех, которые потребуется проанализировать. Потом — очистить данные и искать методы, которые подойдут для анализа настроения.

Такой подход подойдет для проекта любого типа. Не обязательно знать все, прежде чем браться за работу. Разбейте ее на части, учитесь и совершенствуйтесь в процессе.

Много времени уйдет на поиск ответов в Google, StackOverflow и официальной документации Python, и это абсолютно нормально! Один из не-секретов индустрии в том, что даже профессионалы проводят большую часть времени в поисках ответов на свои вопросы.

Это продолжение четвертого шага, которое предусматривает увеличивающуюся сложность с каждым новым проектом. Если же вы с самого начала знаете, как реализовать каждую из частей проекта, то это, наверное, не лучшая идея — будет слишком легко, а процесс ничему не научит.

Важно, чтобы задания были сложными, но не казались невозможными. При изучении игровой разработки не стоит после первой «Змейки» переходить к разработке трехмерной RPG в открытом мире. Это слишком сложно. Но игра должна быть сложнее той же «Змейки».

Как я выучил PHP и Python, не стал гуру кода, но собрал много других плюшек

История моего знакомства с программированием довольно забавная и поучительная. Давно обещал нескольким людям подробно ее описать. Хорошо, что срок приема работ для статейного конкурса блога Нетологии уже поджимает — иначе вряд ли собрался бы. Итак…

PHP: начало

Желание освоить PHP появилось, когда я начал заниматься собственными информационными сайтами. Лет пять назад, без кучи качественных современных плагинов для WordPress, работать всерьез, не имея навыков разработки было непросто. Постоянно возникали мелкие проблемы, для решения которых приходилось заказывать услуги на фрилансе или задавать вопросы на форумах.

Задача абсолютно элементарная для любого, кто уделил изучению программирования хотя бы пару недель.

Подлил масла в огонь и неудачный проект, где на подготовку ТЗ и контроль результатов ушло невероятное количество времени и сил. Да я чаще переписывался с программистом, чем с женой! Требовалось поменять ситуацию.

Попытка номер раз: как не надо учить язык программирования

Что делает современный человек, если ему надо чему-то научиться? Правильно: гуглит.

На меня вывалился ворох информации — официальный мануал, статьи в блогах, видео. Я прилежно изучал все это, подмечая отдельные конструкции языка и приемы, но толку было откровенно мало. Разрозненные сведения никак не складывались в общую картину. Мне казалось, что научиться кодить — это значит выучить миллион типовых приемов и действовать по аналогии. Представляя, сколько времени уйдет на подобный подвиг, я не раз хотел все бросить.

Попытка номер два: никогда не знаешь, где тебе повезет

Не знаю, во что вылились бы эти потуги. Но мне очень повезло.

А потому две недели провалялся на диване в обнимку с книжкой «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5»

Не могу сказать, что это идеальный учебник (мне не с чем сравнить). Но основы он дает хорошо. А главное — в начале объяснения идут буквально на пальцах и с картинками. Это очень важно, потому что помогает разглядеть за закорючками в текстовом файле их смысл, понять суть программирования интуитивно. Помню, для меня поворотным моментом стало сравнение переменных и спичечных коробков. В переменную, как и в коробок, можно положить разное содержание, но сам коробок останется прежним.

Практика: мелкие скрипты just for fun и для облегчения работы

Когда самочувствие позволило переползти с дивана в компьютерное кресло, я взялся проверить на практике, чему научился. Оказалось, что в теории знаю довольно много, но практических навыков ноль. Приходит идея, вроде бы знаешь как ее реализовать (в памяти всплывают названия функций и конструкций языка), но вот как связать это все вместе?

Проблем, впрочем, не возникло. Свой первый простенький калькулятор на php я писал около 3 часов (сейчас справился бы за 15 минут). Потом пошло куда легче. Мне скучно было искать новые учебники и выполнять задания по порядку, я с первых дней работал над интересными задачами.

  • Инструмент для принятия рациональных решений.
  • Калькулятор расчета окупаемости бизнес-идеи (не дожил до наших дней).
  • сервис smmup.ru.
  • Система оплаты через Яндекс.Кассу, подключенная к лендингу.

Чуть позже стал писать скрипты для SEO, использующие API различных сервисов (Яндекс.Метрика, Search Console). Тогда я на потоке делал SEO-аудиты на заказ, так что экономия времени благодаря автоматизации оказалась очень существенной.

Еще один приятный бонус от новых навыков — стало гораздо легче общаться с программистами (этого SEO-шнику не избежать).

Еще больше практики: публичный платный сервис

Постепенно скриптов для анализа сайта накопилось около 30 штук. Некоторые существовали в пяти и более версиях, так что папка на сервере, где они лежали, напоминала неоднократно утрамбованное мусорное ведро. Жалею, что не сделал скриншот этого безобразия, прежде чем его удалить. Был бы настоящий памятник лени и криворукой организации кода.

В один прекрасный момент мне надоело копаться в этом хламе. Я решил упорядочить код и объединить разные инструменты в виде онлайн-сервиса. В июле прошлого года выпустил первую версию.

Не до конца верил в коммерческий успех проекта. Хотя львиная доля возможностей не только полезна, но и уникальна на рынке, опыта продвижения сервисов у меня не было. «В крайнем случае, буду с удобством пользоваться сам, уже польза», — подумал тогда я и c чистой совестью выделил на разработоку три месяца своего времени.

Сейчас я очень доволен, что начал этот проект. В сервисе зарегистрировано почти 3000 пользователей, есть ряд постоянных клиентов — при том что на рекламу за все время было потрачено ровно 500 рублей (стал спонсором SEO-календаря на 2017 год).

Еще пару лет назад я бы не поверил, что смогу своими руками соорудить что-то подобное, но факт остается фактом — 90% работы над https://bez-bubna.com/ выполнил сам, отдав на сторону только несколько частных задач. По ходу дела изучил много нового, но к текущему моменту перестал придавать этому особое значение. Главное — это удается ли тебе решать поставленную задачу, а сколько всего знаешь — неважно.

Я до сих пор не считаю себя настоящим PHP-разработчиком. Но знаю, что изучить недостающее не составит проблем, если вдруг возникнет такая необходимость.

Python за три недели

В начале 2017 вдруг оказалось, что стоит бешеная мода на машинное обучение. И SEO-шнику, по хорошему, надо бы в нем разбираться не на уровне желтой прессы («нейросети снова учудили»).

А в машинном обучении используется что? Много чего, но в первую очередь Python и R. Недолго думая, я выбрал Python — он как-то больше на слуху в моей среде общения. Первым делом я пошел учиться на онлайн-платформу Shultais Education. Ее основатель — мой хороший знакомый. Несколько дней позанимался и понял, что курс отличный, но не совсем подходит мне по уровню. Он предназначен для новичков и в Питоне и в программировании вообще. А во втором я уже не совсем новичок.

Стал искать учебное пособие с более сжато изложенным материалом и набрел на сайт Питонтьютор. Читая уроки и выполняя задания, получил хорошее представление о синтаксисе языка. Но — не появилось ощущения, что владею им по-настоящему. Все время хотелось сбиться на родной PHP, хотя с первых уроков было видно, что Питон гораздо изящнее и проще.

В конце концов, я решил зайти с другой стороны и занялся непосредственно машинным обучением с помощью курса « Машинное обучение и анализ данных » на Сoursera. Над первым серьезным заданием по программированию пришлось повозиться. Но оно было похоже на реальную задачу из практики, так что оказалось не только сложным, но и интересным. А главное — когда я добился-таки правильной работы кода, наконец появилось чувство интуитивного понимания языка.

Дальше пошло как по маслу. Сейчас я постоянно использую Phyton в работе, парочка новых инструментов в сервисе написана именно на нем (а именно — инструмент для поиска LSI с помощью word2vec и лемматизатор).

Обновление: летом и осенью 2018 учился также на курсах «Python для SEO»: https://py4seo.com от Сергея Черненко. Могу смело рекомендовать, отличный преподаватель. Более того, он предложил скидку для моих читателей — по промокоду «trudov» вы получите этот курс на 10% дешевле.

Напоследок: зачем и как учиться программированию

Как ни странно, программирование — в первую очередь свобода. Свобода обращения с данными. Ты можешь как угодно их комбинировать, сравнивать, обрабатывать сложными алгоритмами, класть в основу моделей машинного обучения… При этом тебя не отвлекают мелочи вроде разных форматов и источников (API? просто сайт? куча файлов? — без разницы! под все давно есть готовые решения). Исключительно ценное умение для SEO-специалиста и интернет-маркетолога.

В ходе обучения главное — как можно быстрее добиться этого ощущения свободы, родства с языком. Оно появляется, когда ты делаешь первый самостоятельный шаг, решаешь настоящую задачу. Очень похоже на прыжок с парашютом.

Сначала долгий период страха и сомнений. Суетливая, не слишком осмысленная подготовка (копание в статьях и мануале без системы).

И вдруг — полет наедине с небом. Все становится простым и понятным (чувство, когда написал свой первый настоящий скрипт).

Потом, конечно, тебя не очень дружелюбно встретит земля. Практика быстро покажет, что ты еще не самый выдающийся программист. Но память о небе вокруг останется навсегда. Незнакомые функции и библиотеки больше не пугают. Ты чувствуешь, что всегда с ними справишься, стоит только захотеть.

Легкий способ выучить Python 3

Тест по Python. Проверь свои силы и знания. 20 вопросов.

Привет всем, сегодня мы рассматриваем книжку, которую многие называют лучшим учебным пособием для новичков по изучению Python. Сейчас узнаем, действительно ли это так и стоит ли тратить время на ее прочтение.

Об авторе

Зед Шоу, как ни странно, ярый противник Python 3. Он утверждает, что этот язык не полон по Тьюрингу ввиду того, что код, написанный на Python 2, не запускается на виртуальной машине Python 3.

Он также считает, что строки нового типа слишком сложные, а Python 3 по итогу разрушит репутацию всего языка.

Тем не менее, он написал три книги по Python: два издания «Легкий способ выучить Python» и, непосредственно, книга, о которой идет речь в этой статье. Все эти книги входят в цикл «Learn Code the Hard Way», который можно изучить по этой ссылке.

Сам Зед прославился своим веб-сервером для веб-приложений на языке Ruby под названием Mongrel. А в последнее время он заинтересовался искусством, о чем говорит его сайт https://zedshaw.art/.

Содержание

Особенность данной книги в подаче материала. Зед решил, что в учебнике не будет глав с чистой теорией, а поделил всю книгу на 52 упражнения. Конечно, перечислять их было бы долго, поэтому рассмотрим самые интересные:

  • Упражнение 0. Настройка — неважно, какая у вас система: Windows, MacOS или Linux. Туториал написали под каждую из них, так что не запутаетесь.
  • Упражнение 5. Дополнительно о переменных и выводе — так, у нас тут вывод, держим в памяти.
  • Упражнение 7. Еще о выводе — хм, может это такая важная тема?
  • Упражнение 8. Вывод, вывод — видимо, да, это реально важная тема.
  • Упражнение 9. Вывод, вывод, вывод — да он помешан на выводе.

Да, действительно, вывод это важно. А автор подчеркивает это, и на нескольких упражнениях показывает всё, что нужно знать по этой теме. Продолжаем!

  • Упражнение 22. Что вы теперь знаете? — небольшая, буквально трехстраничная, пауза. Она нужна для того, чтобы вы огляделись на проделанную вами работу. Вы поймете, сколько нового узнали и замотивируетесь на дальнейшее изучение языка.
  • Обратите внимание на упражнения 24-26 — здесь вы получите кучу практики и выполните несколько заданий.
  • Упражнения 27-31 будут посвящены операторам ветвления и логике.
  • Упражнения 32-33 введут вас в курс дела касательно циклов и списков. Но лишь поверхностно, вы еще вернетесь к ним.
  • Начиная с упражнения под номером 40, вы будете знакомиться с понятиями ООП.
  • К 45ому упражнению у вас уже будет достаточно сильная база для разработки своего приложения. А значит, пора программировать! Это упражнение будет посвящено разработке игры.
  • Упражнение 47 поможет вам разобраться в автоматизированном тестировании.
  • Упражнения 50-52 посвящены веб-программированию с использованием веб-фреймворка Flask. Вы напишете небольшой веб-сайт, научитесь тестировать веб-приложения, а затем разработаете игру.

На этом книга не заканчивается, после всех упражнений автор расскажет, как выучить любой язык программирования, а потом проведет небольшой экскурс в оболочку командной строки (Shell).

Вердикт

Эта книга действительно стоит того, чтобы ее прочитали. Несмотря на неприязнь автора к Python, материал изложен доступным и креативным языком. А изучение книги приносит удовольствие. Является ли эта книга лучшей для новичков? Возможно. В любом случае, это выбор каждого. Кто-то, например, считает, что Марк Лутц изложил материал лучше. Решать вам.

Делитесь своим мнением касательно этой и других книг в комментариях, обсуждайте в нашем чате. Скачать книгу можно из нашего Telegram-канала с книгами по этой ссылке.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector