Подведение итогов шести месяцев самостоятельного IT-обучения – #17-05/24

Здравствуйте, дорогие подписчики. А если ты не дорогой подписчик и не знаешь, что здесь происходит, то добро пожаловать в блог самоучки, который полгода назад замахнулся на изучение it-профессии с абсолютного нуля. Здесь я рассказываю, как учусь программировать, работать с базами данных, делюсь полезными ссылками, а также рассказываю о разных бытовых вопросах, связанных с обучением.

Забуриваюсь все глубже в айти
Забуриваюсь все глубже в айти

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

Раньше в своей работе я совершенно не использовал никакую автоматизацию и тем более программирование. Вершиной моих компьютерных навыков была кнопка автосуммы в Excel и поиск по ctrl+F в документах. Поэтому после знакомства с SQL и миром IT в целом, я приступил к чтению «Программируем на Python» Майкла Доусона. Это хороший самоучитель, который часто советуют в качестве первой книги, не требующий абсолютно никаких начальных знаний в этой области. А если бы автор поменьше шутил и развлекал читателя, книга была бы просто отличная😄 Хотя многим, мне кажется, такой способ обучения понравится (кому интересно, писал о ней отзыв).

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

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

Картинка из прошлой статьи, после которой мне сделали замечание :)
Картинка из прошлой статьи, после которой мне сделали замечание :)

Параллельно (так сказать, в свободное время), смотрел видео @selfedu_rus на ютубе. Плейлист «Добрый, добрый Python» – это пока лучшее, что я видел на тему обучения. Сейчас досматриваю серию видео про ООП на этом канале и все еще не отказываюсь от своих слов😎

Как и при изучении SQL, уточняю непонятные моменты в онлайн-документации и активно гоняю нейросеть Яндекса по моим новичковым вопросам. Но не буду заострять на этом внимание, тут ничего необычного. Есть конкретный вопрос – ищешь конкретный ответ.

Сейчас моя настольная книга – «Python и анализ данных: Первичная обработка данных с применением pandas, numpy и Jupyter» Уэса Маккинни. Программирование – тема огромная, поэтому пока пытаюсь вычленять из нее только необходимую для аналитика данных информацию.

Книга и несколько моих шпаргалок :)
Книга и несколько моих шпаргалок :)

А что же насчет итогов? Пока более-менее осязаемым результатом моего обучения является небольшой пет-проект. Он постепенно вырос из «Интересно, а как происходит запрос к базе данных из Питона» в очень даже рабочую программку. Начинал я его писать на чистом Питоне, потому что тогда еще не знал о библиотеках и дополнительных модулях, просто вырубал топором как умел😅 Позже, разобравшись в pandas, переписал логику под использование pd.DataFrame. Сейчас потихоньку прикручиваю к нему графический интерфейс, так что теперь у меня есть три поэтапных версии моей первой работы: на чистом Питоне, с pandas и с графическим интерфейсом.

Python и sqlite. Выборка из базы данных сохраняется в списке кортежей. Не очень удобно доставать их такого результата нужные поля.
Python и sqlite. Выборка из базы данных сохраняется в списке кортежей. Не очень удобно доставать их такого результата нужные поля.
Добавил библиотеку pandas. Теперь выборка сохраняется в более удобный датафрейм, который можно сразу подгрузить в оконный интерфейс.
Добавил библиотеку pandas. Теперь выборка сохраняется в более удобный датафрейм, который можно сразу подгрузить в оконный интерфейс.
Вариант с графическим интерфейсом под кодовым названием «Ночной кошмар фронтендера» :)
Вариант с графическим интерфейсом под кодовым названием «Ночной кошмар фронтендера» :)

Вариант в графическом интерфейсе пока в работе, осталось связать еще несколько функций с кнопками. Но знаете, что я понял уже сейчас? Мне вообще не нравится фронтенд😅 Если при знакомстве с базами данных у меня в голове сразу же щелкнуло «Вот оно! Хочу заниматься этим профессионально!», то в настройке интерфейса я не испытываю такого энтузиазма😄

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

1. SQL/PostgreSQL. Умею писать sql-запросы, в том числе с использованием подзапросов, CTE и оконных функций. Имею представление об уровнях изоляции транзакций и блокировках – могу расшифровать ACID и теоретически знаю, чем отличается read committed от repeatable read😊 Если хорошенько освежить в памяти, расшифрую отчет из EXPLAIN при оптимизации запросов. Также могу создать простенькую базу данных через CREATE TABLE, INSERT, UPDATE и т.п. (кстати, уже думаю, как использовать это в следующем пет-проекте. Следите за новостями😉)

2. Python. Здесь я пока нахожусь возле надводной части айсберга из мема. List comprehension, lambda-функции, инкапсуляция и наследование из ООП – это все еще надводная часть айсберга, да?😅

Не нашел айсберг о программировании, поэтому вот про музыкальные жанры
Не нашел айсберг о программировании, поэтому вот про музыкальные жанры

Но согласитесь, что «все является объектом базового класса object» – это уже первый мой шаг в темные пучины Python’а. Узнал об этом недавно. Много думал…😔

P.S. Сериал под названием «АйтиПослеТридцати» переходит в третий сезон. Сезоны «Основы SQL» и «Основы Python» завершены, а это значит, что мы с вами, дорогие читатели, приближаемся к арке «Стыдные собеседования»😅 Вижу, что учить различные технологии, программы и сервисы можно очень долго, но так и не выучить все до конца. Поэтому летом, для более конкретного понимания работы в IT-сфере, начну пробовать получить реальные тестовые задания или даже приглашение на собеседования.

Оставайтесь на связи! Будет интересно😉

2727
34 комментария

Жму руку. Все правильно.
Но! По Яндекс нейронке, это прям то что нужно, именно так Скайнет и нужно пользовать, на работе, на фронте с Ангуларами, разобрался за два дня, чтоб править все как нужно, так как нужно было фронт закрыть, хотя его последний раз трогал года 2-3 назад.

Только совет, Яндекс Алиса, еще звездюк подросток, много врет, тупит, и путается. Ставь расширение для хрома, на Варп тунель, до GPT и пользуй ее, там как раз 4o открыли во фришке, по 50 запросов в день, но 3.5 бесплатная, и анлим. Колосально сильнее и точнее все делает. Бустанет прогресс неимоверно.

2
Ответить

Половину слов не понял, но спасибо за совет про расширение для хрома) Попробую разобраться.

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

2
Ответить

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

Я давно уже за питоней не слежу, но посмотри хотя бы в сторону QT.
А еще лучше, пили интерфейсы в вебе, можешь сразу взять django, там все из коробки.

это все еще надводная часть айсберга, да?😅Да. :)

2
Ответить

Понял. Спасибо за совет)

Ответить

Зачем тебе это?

Ответить

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

2
Ответить

Комментарий недоступен

Ответить