Кодим вместе: Путь к IT-Успеху
530 subscribers
112 photos
1 video
104 links
🌟Всем привет! Я начинающий Python-разработчик, вернувшийся к обучению. Здесь делюсь своими планами и достижениями, чтобы мотивировать вас и себя заниматься программированием каждый день! 🚀
Download Telegram
С днем защитника Отечества!

Давнее фото из армии. Когда-то и я там отслужил. Поначалу всё было интересно, в новинку, но со временем однообразие начало утомлять. Больше всего бесило бриться каждое утро! 😄
🫡10👍1🤷1
интересная задачка дня или возвращение блудного сына😄

Давненько ничего из такого не скидывал. Вот недавно одна попалась интересная. На первый взгляд ничего такого, но решения не засчитывались) Желательно без спойлеров, кто решал🙃

Думаю лучше всего проходить на Stepik:

Условие:
Программа получает на вход натуральное число N. Нужно найти количество его делителей.

Тесты: (Входные -> Результат) 12 -> 6; 100 -> 9; 13 -> 2; 427897492 -> 24; 432794249320322 -> 8; 98326326 -> 16; 732672365 -> 8; 111113212 -> 12;
🤔3
🤔Повторение — мать учения?🤔

У меня уже куча курсов пройдено по "базе" питона. Однако по ООП лишь только Балакирева, и еще древние старые знания из другого места). А когда ты что-то часто не используешь - это забывается😐Хотя казалось бы, в Django много чего в таком стиле, но я это как-то не ощущаю пока что. Думаю дело в том, что по большей части писал представления на функциях, а не на классах. Поэтому надо было где-то повторить материал.

Где-то пару месяцев назад наткнулся на курсы одного автора, нашел там ООП. Просмотрев несколько тем - понравилась подача материала, и благополучно отложил в долгий ящик😅 Но настало время оттуда доставать. В общем, вчера вечером начал, сегодня, в течении дня, закончил вот этот курс: ООП Python: Часть 1

Поэтому оставляю отзыв о нем:
———————————————-
Теория описана хорошо. В уроках подтемы разделены на шаги, нет огромной кучи пелены, которую устаешь читать. Понятные примеры для понимания структуры ООП. В первой части идет знакомство и основные принципы: Инкапсуляция, Наследование, Полиморфизм .

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

Автор отвечает на комментарии, где-то за него это делает ИИ). Да и думаю, (99%) курс с помощью него и написан, с учетом поправок. Но тем не менее сделан хорошо.

Если вы совсем не знакомы с концепцией ООП, или хотите повторить, пробежаться по темам - это будет для вас самое то!
———————————————

Еще хотел добавить, что курс не большой, прошел часов за 7-8 чистого времени. Посмотрим какая будет 2-ая часть. Думаю сегодня-завтра ее начну и отпишу что там да как.😈


P.S.

Судя по реакциям, прошлый пост с задачкой вам не зашел? Поэтому эта рубрика и пропала - не вижу заинтересованности. А если нет, то зачем стараться что-то искать?)
🔥53
Повторение ООП: Вторая серия и финал 🏁

Завершил 2-ю часть курса по ООП. Растянул в этот раз на пару-тройку дней 😅, хотя при желании всё пролетается за один плотный рабочий день.

📚 Что по контенту:

Если в первой части были основы, то здесь уже более «взрослые» штуки: магические методы, дескрипторы, датаклассы и абстрактные классы (ABC).

🤔 Мои впечатления:

Качество: Держится на уровне первой части. Теория подана без воды, всё по делу👌
Практика: Тут спорный момент. Задач вроде хватает, но они «стерильные». Всё описано настолько подробно, что ты просто садишься и делаешь по инструкции. С одной стороны — руку набиваешь быстро, с другой — мозг на логике особо не скрипит 🧠💤
Чего не хватило: Хотелось бы чуть больше практики в главе 1.4 (где перегрузка операторов add, len и т.д.). Вроде темы важные, но пролетаешь их слишком быстро. Во всех других местах, относительного этого, практики больше по теме

📌 Коротко по главам:

Магия и свойства: Полезно про property и slots (память надо экономить! 💾).
Методы: Классика — classmethod и staticmethod.
Архитектура: Композиция и миксины. Полезно, чтобы не городить трехэтажное наследование 🏗
Инструменты: Датаклассы и дескрипторы — это то, что сейчас везде в современном коде ⚙️

🏁 Итог:

Курс — отличный быстрый «чекап» знаний. Информация свежая, в мозгу всё вспомнилось. Надеюсь, в этот раз выветрится не так быстро, как обычно😄

⚔️ Если сравнивать с «Добрым, добрым ООП» Балакирева:

Курс Сергея — это совсем другой масштаб. Если здесь я проскочил всё за пару дней для «освежения» памяти, то у Балакирева ты застреваешь надолго:

Глубина: У Балакирева гораздо больше нюансов «под капотом» и теории.
Сложность: Задачи у Сергея заставляют реально подумать, а не просто переписать ТЗ в код.
Вердикт: Этот курс идеален, чтобы быстро вспомнить базу и пойти кодить. Балакирев — чтобы понять ООП на уровне костей и оставить там свой мозг😁


💬 А теперь вопрос к вам, ребята:
• Какой у вас уровень знаний в ООП?
• Какие курсы проходили?
• Может, тоже изучали этот или терзали Балакирева?🫠
Делитесь в комментариях — интересно узнать! 👇🔥
🔥8👍42
Интересная задачка дня: ход слона

А вот эту я пару дней назад скипнул, чет посидел над ней, минут 15-20, подумал. Ничего толком в голову не пришло. На данный момент так и осталось нерешенной. Наверно не пришел еще ее час расплаты🤔🙃🫡

Условие на фотке, тесты - тут, сама задача - здесь.

Пример данных:
Sample Input 1:
--------
---S----
--------
--------
--------
--------
--------
--------

Sample Output:
--+-+---
---S----
--+-+---
-+---+--
+-----+-
-------+
--------
--------
🤔4
Мой Django-путь: от гороскопа до блога с правами доступа.

Решил более подробно и понятно описать, что успел накрутить в своём учебном проекте за последнее время. Получился этакий «путь героя» от новичка до… ну, скажем так, до человека, который перестал бояться и начал писать на классах 😅 Погнали:

🔮 Гороскоп — первые шаги

С чего всё начиналось? С простейшего приложения «Гороскоп». Никакой базы данных — только словарь и список в отдельном питон-файле (местная БД, хе-хе). Разбирался с:
• маршрутами (urls)
• представлениями (только функции, про классы тогда даже не слышал)
• шаблонами и наследованием (extends, include)
• даже написал свой кастомный тег, чтобы выводить смайлик знака зодиака.

Тогда это казалось магией. Сейчас понимаю — цветочки.

🎬 Фильмы — подключаем базу данных

• Следом пошли «Фильмы». Тут уже полноценные модели, миграции и связи:
• Фильмы, актёры, режиссёры.
• Разобрался с «один ко многим» и «многие ко многим».
• Всё ещё на функциях, но данные уже из БД летят в шаблоны.
• Появилось понимание, как Django ORM дружит с SQL, а значит и мне следует тоже)

🔐 Регистрация, авторизация и приложение «Отзывы»

Захотелось, чтобы сайт стал чуточку интерактивнее. Добавил:
• регистрацию и логин (встроенный User, пока без заморочек)
• приложение «Отзывы» — любой авторизованный может оставить ровно один отзыв о проекте в целом. Проверка на количество — через логику в представлении.

Тут впервые столкнулся с ограничением доступа и понял, что просто if request.user.is_authenticated — это только верхушка айсберга.

📝 Блог — выходим на новый уровень

• Полный CRUD для постов.
• Права доступа: автор может редактировать/удалять свой пост, остальные — только читать.
• Комментарии и лайки: все как в обычной соц.сети (да, заморочился, нууу как я😅).
• Формы — и вот тут пришлось попотеть. Django-формы штука мощная, но с первого раза не запоминается.
• И самое главное — всё это написано на классах (CBV). Совсем другой подход, другая философия. Без помощи нейросетей пока сложно, всё не запомнить, но главное работает как я хотел!

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

⏸️ Перерыв и возвращение
А потом был перерыв или можно сказать отдых. Совсем не занимался по Django. И когда вернулся — в рекомендациях YouTube всплыло видео «Django To Do List App With User Registration & Login». Решил: а почему бы не сделать ещё одно приложение для закрепления работы на классах?

• ToDo-лист:
• CRUD на классах.
• Права доступа (каждый авторизованный видит и взаимодействует только со своим списком задач)
• Поиск по задачам через Q и icontains.(пока сложнааа)
• Bootstrap для приличия(но еще в процессе допиливания)

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

🧠 Что понял за это время
• Функции → классы: переход сложный, но оно того стоит. Кода меньше, логика чище.
• Перерывы — зло, их лучше избегать, по возможности.
• Нейросети — отличный помощник, но базу надо иметь свою. Иначе через месяц не вспомнишь, что и зачем писал.
А у вас как с опытом в веб-фреймворках? Долго переваривали переход на классы? Делали ли перерывы и как быстро втягивались обратно?

📸 Скриншоты
Ниже накидаю несколько кадров того, что получилось. Мне кажется около половины времени я трачу только на красивый визуальный результат. Рационально ли?🫣 Реакции и комментарии приветствуются)
🔥8
С 8 Марта! Пусть в жизни не будет багов, а только чистый код счастья ☺️
10🔥4
Это была наверно самая непродуктивная неделя за последний год.

А здесь можете немного погрузиться в тестирование: Старый Новый Баг!

Вдруг кому интересно тестирование - у этого автора есть несколько более подробных курсов на эту тему.
👍2
Когда тебя ОЧЕНЬ не хотят брать на работу 😆

Откликнулся на вакансию. Получил вот такой ответ...
Ну, подумал, ок, отказ. Но потом получил его ещё раз. И ещё. И ещё.

Угадайте, сколько раз мне ответили одинаково? 🤔
Кто шарит за мем — тот поймёт и так.
Кто не шарит — ответ на второй картинке 👀

(спойлер: мне ответили 12 раз одинаково)

P.S. Вакансия junior, но судя по тому, как меня не хотят, я видимо слишком хороший кандидат 😄
P.P.S. Может в тринадцатый раз повезёт?!
😁8
Закончил Инди-курс программирования на Python

Если быть точнее - допроходил 😅

В далёком 2020+ году я уже проходил этот курс на 100% после двух «Поколений Python». А недавно заглянул в «архив» на Степике и с удивлением обнаружил: по баллам пройдено чуть больше половины. Думаю: «Что за ерунда? Непорядок, надо исправлять!»

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

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

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

💬 Теперь вопрос к тем, кто это проходил:
Как вы готовились к техническим собеседованиям?
Делитесь опытом в комментариях - интересно, кто как делал!
👍5🔥3
🔥 Поднимем немного мотивацию 🔥

На прошлой неделе мне написал человек со Степика. Спросил: устроился ли я уже работать? И планирую ли вообще?

Я коротко рассказал про свои дела. Он удивился, что я ещё не в IT😅
Потом я спросил его самого. Оказалось, у него похожий путь - несколько раз начинал и бросал, но на Java. Даже онлайн-школу почти закончил.

А в начале этого года он решил перейти на Python. Прошёл первый курс «Поколения Python» на Степике - за месяц где-то. И пошёл искать работу.

Через месяц - нашёл😳

Говорит, ничего не приукрашивал, опыт был нерелевантный, до этого в IT не работал.
Кем устроился, куда устроился, сколько получает - не ответил) NDA видать, ну или вопрос был не очень корректный(хм...)🧐

Устроился он не разработчиком, а в поддержку ( техподдержка / support engineer или как-то так. Подробней не вспомню, т.к. диалог был почему-то удален😅). В компании новичков прикрепляют к наставнику и дообучают.

Интересно, подумал я... В общем, человек прошёл один курс по основам Python и уже в IT. А я тут сижу, Django учу… Может что-то делаю не так?😅
🔥111
📌 Прошел курс: Знакомьтесь, Django

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

Рассказано что такое Django, из чего он состоит. Затронуты все основные компоненты. Местами есть небольшие непонятки/несостыковки, но в этом не сложно разобраться и понять, что к чему.

Понравилось, что даже DRF здесь был. Я его подзабыл, можно сказать, совсем не помню. Отложилось что это что-то страшное и тяжелое для понимания🫣 А тут освежил память. По материалам вроде не сложно и понятно — API, гоняние JSON туда-сюда, роутеры всякие 😄

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

Личный момент

Заметил, что в последнее время стал меньше заниматься, хотя казалось бы должно быть наоборот — подходя к концу 🙂 Не каждый день хочется что-то делать. Мысли всякие лезут, отвлекают. Напоминает момент с долгим прохождением курсов по "базе" Питона, теперь осел на Джанго. По хорошему, осталось пройти Балакирева, чтоб разобраться в ньюансах, потом сделать 1-2 больших проекта, хотя бы было что показать) и откликаться уже на работу начать, чаще чем сейчас🙃

💬 А у вас как с DRF?
Легко далось? Или эти API, роутеры и запросы на заборе вертели? 😄 Делитесь в комментариях 👇
👍4🔥31
А вы знаете, что такое перфекциони́зм?!)

Смотрю на профиль одного человека на Степике — и сразу видно:
— работает 5/2
— в июле-августе отпуск (законный отдых)
— в январе, видимо, болел (или ещё один отпуск)
— и ещё, наверно, любит шахматы 🧐

Такая регулярность — это уже диагноз 😅
Но если серьёзно — здорово, когда человек может поддерживать ритм в учёбе.
А у вас есть такой «перфекционистский» график?🙃


P.S. Профиль не мой, но очень показательный
🔥11😱72👌2👍1
Django ORM: от основ до продвинутых техник

Курс для тех, кто знает Python и основы Django, и хочет глубже разобраться в ORM.

Django 6 + PostgreSQL и сквозной проект e-commerce.
Каждый урок это код, SQL который генерирует ORM и performance implications.

👉 Ссылка на курс

Содержание:

0 - Настройка окружения

1.1 - Поля моделей
1.2 - Связи между моделями
1.3 - Meta и менеджеры
1.4 - Миграции

2.1 - Создание объектов
2.2 - Чтение данных и QuerySet API
2.3 - Фильтрация и lookups
2.4 - Сортировка, срезы, пагинация
2.5 - Обновление и удаление

3.1 - Q objects
3.2 - F expressions
3.3 - Annotate и Aggregate
3.4 - Subquery и Exists
3.5 - Case/When
3.6 - Window functions

4.1 - select_related
4.2 - prefetch_related
4.3 - Проблема N+1
4.4 - Through models и Generic relations

5.1 - Индексы
5.2 - EXPLAIN и анализ запросов
5.3 - only, defer и iterator
5.4 - Bulk операции

6.1 - Транзакции
6.2 - select_for_update и блокировки
6.3 - Constraints и валидация

7.1 - Raw SQL
7.2 - Специфика PostgreSQL
7.3 - Custom lookups и функции

8.1 - Custom managers и QuerySets

9.1 - Наследование моделей
9.2 - Продвинутые паттерны
9.3 - Async в Django ORM


Курс ещё не проходил, но думаю он будет хорош. Т.к. от человека с внушительным стажем в IT, причем большую часть в web-разработке.
🔥11
И снова здравствуйте! Как у вас дела, что нового?)

Не прошло и пол года(на самом деле прошло больше😁), как все-таки решил переустановить винду.

Писал об этом еще в начале лета😅 Олды помнят) Были проблемы со звуком, "дискотека" при засыпании(смотрите в коммент), видео никакие не работали без наушников, ну или нужно было выключать звук, что само по себе убирает суть видео. Никак их не вышло пофиксить.

И насколько же человек может приспосабливаться к разным неудобным ему ситуациям, или это я такой один?) Что почти год вынужденно одевал наушники, перезагружал комп после режима сна если была "дискотека". Теперь всё готово, разобрался за пару вечером с хламом файлов на компе, заранее накачал на флешку полезнего оставшегося. Надеюсь переустановка решит проблемы.

Оказывается 10-ю версию больше не будут поддерживать, в октябре было последнее обновление чтоли. И на оф-ном сайте образ не найти, связано это с политикой против России или еще чем-то - я не стал разбираться. Нашел в другом месте, надеюсь без вирусов предустановленных) 11-ю ставить не хочу, как и какой-нибудь линкус.

Еще был странный момент - у меня переустановка ассоциировалось с новой чистой жизнью. Буду писать проекты, закончу те нужные курсы что хотел, начну более продуктивно искать работу. Вообще не знаю откуда это у меня всё взялось в голове🙃 И в том числе еще и поэтому мое обучение/трудоустройство затягивалось. Такие дела.🫠
🤔62