Что делать, что бы получилось программировать?

Что делать, что бы получилось программировать?

Практические рекомендации начинающему программисту.

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

Фёдор, начните сразу с Джанго

с первого урока

https://spb-tut.ru/%D1%83%D1%80%D0%BE%D0%BA%D0%B8-django-4/%D0%B2%D1%85%D0%BE%D0%B4%D0%B8%D0%BC-%D0%B2-django-4/

Если хотите результат на сто процентов, то раздел получение url и следующий views, когда к ним дойдёте

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

Зачем это нужно, далее мы начнём писать сайт, и важна база, то есть что бы размышления опирались на знания и за ними стояли конкретные вещи и были понятны. Мы не можем себе позволить, при создании сайта отвлекаться на url или устройство представления в Джанго.

https://spb-tut.ru/%D1%83%D1%80%D0%BE%D0%BA%D0%B8-django-4/get-urls/category/get-links/

https://spb-tut.ru/%D1%83%D1%80%D0%BE%D0%BA%D0%B8-django-4/django-4-listview-%D0%BF%D0%B5%D1%80%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2/category/django4-listview/

---------------------------------------------------------------------

Над чем рекомендуется поработать:

Система работы с кодом, начало посмотреть здесь

https://spb-tut.ru/%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/%D0%BF%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB-python-%D0%BE%D0%BE%D0%BF/%D0%BA%D0%B0%D0%BA-%D0%B8-%D1%87%D1%82%D0%BE-%D0%B1%D1%83%D0%B4%D0%B5%D0%BC-%D0%B8%D0%B7%D1%83%D1%87%D0%B0%D1%82%D1%8C/

В самом курсе джанго мы систему делаем на практике.

Если коротко. Система работы с кодом имеет под собой две цели:

умение читать документацию сходу, знать где найти и как использовать.

Чтение исходного кода (все это тренируем в курсах Django)

Критерий, для вас код, который мы будем писать месяц от месяца в нем должно быть все меньше и меньше не понятного, а понятного больше.

Иными словами, посмотрите, подумайте и чётко выработайте для себя. как будете отрабатывать код.

Что из неё нельзя выбросить при любых раскладах.

Использование командной строки (у нас jupyter, все уроки есть по ходу джанго)

Код, который мы пишем, нужно знать, где он в документации.

Идите от своего кода к докам, тогда обратное направление, читаем доки и понимаем начнёт работать совсем скоро.

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

Ведите документацию проекта, мы используем mkdocs markdown, если не вести документацию проекта и не искать в документации, то что Вы даже знаете, то результат будет, уж точно не ожидаемый.

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

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

https://spb-tut.ru/%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB-%D1%81-%D0%BD%D1%83%D0%BB%D1%8F/%D1%82%D0%B8%D0%BF%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-python-kotlin-js/%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8/python-kotlin-js/category/strings/

В Джанго документации и в других документациях это слово постоянно используется, вопрос, как вы его понимаете.

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

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

https://www.youtube.com/watch?v=-3WIuSttG-U&list=PLuZJ9n46uMzW1oBDysdzhnRVaAF4xdjJd&index=22&t=103s

А вы вернёмся к типам.

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

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

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

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

https://docs.python.org/3/glossary.html#term-sequence

Если подойти с этой стороны, то это и есть то, что нужно дать обязательно и все становится на места моментально.

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

https://spb-tut.ru/%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB-%D1%81-%D0%BD%D1%83%D0%BB%D1%8F/%D1%82%D0%B8%D0%BF%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-python-kotlin-js/%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8/python-kotlin-js/category/strings/

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

https://www.youtube.com/watch?v=5DI3PRSo1Cc&list=PLuZJ9n46uMzW1oBDysdzhnRVaAF4xdjJd&index=11

В общем все в уроках.

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

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

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

Давайте покажу на примере из жизни.

На примере авто.

Как поступает новичок? - он пытается запомнить, в какой машине стоят свечи. А в какой форсунки. Он думает , а ага вот жигули первой модели, там свечи, вот рено логан там свечи.

Но ведь это глупо, но именно так новичок поступает с программированием, так как не знает, как ещё можно. Его нельзя называть глупым. Просто ему никто не сказал, как надо. Делайте как говорю, будет результат.

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

В справке Джанго очень часто пишут, например так, этот метод……..поддерживает последовательности, новчико прочитал и пошёл дальше и ничего не понял, а ведь там написано между строк больше:

Поддерживает последовательности, значит можно делать все действия, которые указаны здесь:

https://docs.python.org/3/glossary.html#term-sequence

значит можно интегрировать (перебирать)

значит можно выбирать по срезам и т .д. именно так бы воспринял это слово опытный программист и знал бы, что он может делать. Мы много работаем со справкой в курсе Джанго, в курсе пайтон работает с кодом Рассела Кейта Магги и его проекта

https://beeware.org/

Все получится, просто нужно делать и быть в школе.

///////////////// Ещё рекомендации-------///////////////////////////

До блеска отточите функции. За функциями питон идут функции js и котлин, проделайте все уроки, особое внимание обращая на вещи указанные ниже.

По взгляду должно считываться, три вещи:

Параметры функции;

Вызов функции и передача аргументов( то есть взгляд должен соскочить на переменные и аргументы и взяться логика моментально);

Исключения связанные с вызовом функции.

Что здесь должно стать критерием? Откройте после уроков работы с функциями трёх языков, например GO или любой другой язык,посмотрите, что есть там функция, разберитесь параметрами, вы должны начать писать функцию максимум, через 20 минут, гляньте типы данных. Если писать получается сходу уже хорошо.

https://spb-tut.ru/%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB-%D1%81-%D0%BD%D1%83%D0%BB%D1%8F/%D0%BF%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D1%8B/%D0%BF%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB-python-kotlin-js-%D1%81-%D0%BD%D1%83%D0%BB%D1%8F/function-how-to/category/function-how-to/

Зачем это делать? Чтение исходного кода и быстрое переключение между любыми языками, без js все равно не обойдёмся, без того же Ajax (там все просто не переживайте)

Чтение исходного кода дополняет понимание документации, по сути она тогда даже становится не очень то и нужна, ну только что удобно.

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

https://spb-tut.ru/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/pytest/

Я думаю, что вы все это знаете, просто заострил ваше внимание на то что важно для разработки.

Обратите внимание, я говорю простыми словами, так как много людей приходит не знакомых с языками, но много и программистов приходит в основном с других языков, либо кто хочет быстро разобраться в джанго. Были ребята с php, которые посмотрели. ещё старые уроки и сразу сайт лепили для мед центра за деньги. (экстремалы, крутые парни)

Пока все.

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

Спасибо за доверие.