Разговоры с уточкой
Відкрити в Telegram
Roadmap бэкенд разработчика на практике) Контакты: https://t.me/Lena_AGI https://github.com/Animatrees https://stepik.org/users/471918251/profile Конспекты: https://www.notion.so/duckstalk/72900ca84b9a4277ad1b62e61b0750ef?pvs=4
Показати більше250
Підписники
Немає даних24 години
+17 днів
+130 днів
Архів дописів
Сегодня хочу поделиться с вами не чем-то прикладным или техническим, а скорее информацией к размышлению...)
Лекция от Григория Петрова (DevRel компании Evrone) о том, как работает наш мозг и как он усваивает или осознаёт информацию🌚
Готовых ответов на вопрос "как учиться максимально эффективно" в лекции нет) но указан вектор направления, в котором можно покопать)
#some_stuff
Продублировала конспекты в git, а также собрала их в pdf-файлы🫠
Пришлось правда поколдовать над названием страничек, чтобы порядок файлов соответствовал тому, что было изначально задумано) И не везде адекватно распознаётся вёрстка(
Например, часто можно будет встретить ** вокруг слов или команд - это в ноушне так отмечается разметка для выделения жирным шрифтом, при переносе в .md формат звёздочки остаются звёздочками, без всякого выделения...( так что просто игнорируйте это)
#notes
Всем привет!)
Думаю многие уже видели новости связанные с блокировкой Notion в РФ, только не все их правильно интерпретировали...
1. Аккаунты пользователей из России удалены не будут! Будет заблокирован доступ к аккаунтам с территории РФ (решается с помощью VPN).
2. Будут удалены workspaces, за которые вы когда-либо платили рублём. Если вы никогда не платили за свой workspace рублём, он удалён не будет.
Почитать подробнее можно на офф. сайте Notion.
Так как свой Notion я завела уже будучи в Сербии, моим конспектам ничего не угрожает. Но вероятно не всем будет удобно использовать VPN, чтобы продолжать их читать. В связи с чем опрос ниже💙
Откуда растут ноги у требования "стаж от 1 года" для джуна?🤔
У меня не так давно появилась мысль по этому поводу, но начну её развитие издалека...)
В начале августа я увидела заманчивое предложение, поучаствовать в такой активности, как клуб по веб разработке.
Ты ежемесячно отдаёшь небольшую денежку (не чашка кофе конечно, но может 3-4)), взамен же получаешь опыт командной разработки да ещё и менторские подсказки в придачу! "Выгодное предложение! - подумала я. - Надо брать!" и вступила в клуб🌚
А так как команда формируется из людей с разным уровнем и бэкграундом, то в комплекте с командной разработкой я получила ещё и "подсветку" своих слепых зон)
Зон, которые по тем или иным причинам были пропущены в курсах, которые я проходила, но вполне себе активно используются в реальной разработке...
😀Уровень начинающий:
В самом начале изучения питона, почему-то во всех 4-х курсах, что я прошла, практически не затронули такую тему, как линтеры. Да, возможно где-то, что-то вкратце упоминалось про то, что "линтеры выполняют базовую проверку синтаксиса, а также некоторые стилистические проверки". Однако, они могут намного больше!
Полноценные линтеры могут проводить более глубокий анализ, включая проверку логических ошибок, потенциальных проблем с производительностью и соблюдение более сложных стилистических конвенций!
И, как минимум, линтер точно будет использоваться на проекте, чтобы "причёсывать" код разных людей в единообразный вид.
Посмотреть по теме можно:
💙Выступление Никиты Соболева.
💙Туториал по ruff - самый новый и шустрый линтер для python.
😀Уровень продолжающий:
В курсе по ООП совсем без внимания осталась такая важная тема, как SOLID. Хотя это базовая штука, которая учит нас правильно думать о том, как писать код!
Тимофей Хирьянов, например, именно с объяснения этих принципов начинает лекцию Введение в ООП на Python. И мне кажется, что это очень верный подход. Понять как унаследовать один класс от другого - просто, сделать так, чтобы наследование не сломало работу программы - сложнее)
Посмотреть по теме можно:
💙Видео с большим кол-вом примеров, но код на js.
💙Видео с примерами уже на python.
💙Лекция Тимофея Хирьянова выше)
😀Уровень подбирающийся вплотную:
Самое большое упущение курса по Django, которое я для себя открыла - мы так и не узнали про существование бизнес логики))
Да, мы научились писать модели, вьюхи и остальное, но это не значит, что мы научились делать это правильно!🥲 Как минимум не научились отделять бизнес-логику от этих моделей и вьюх...
Посмотреть по теме можно:
💙Вебинар от CEO Hexlet-а.
💙Пример работы с бизнес-логикой на Django.
И это далеко не все вещи, которые появились в поле моего зрения за последние три недели...))
Возвращаясь к изначальной мысли поста. Почему же потенциальные работодатели хотят видеть в резюме джуна от 1 года опыта? Думаю, что не малую роль в этом требовании играют вот такие вот пустоты в наших головах после прохождения различных курсов...) Конечно это не единственная причина, но мне кажется, что довольно весомая🐱
#python #django #architecture
😀😀😀😀😀😀😀😀😀😀😀
Навела немного порядок в записях...) Теперь вы можете найти интересующие вас топики по тегам:
💙#about_me — инфа обо мне или мои мысли (по поводу и без))
💙#courses_review — отзывы на курсы, которые я прошла
💙#notes — в этом посте есть ссылка на какой-то мой конспект
💙#pet_project — новости о том, как поживает мой пет-проект
💙#chatbots — разное про разные чат боты
💙#events — пощу инфу про разные мероприятия, потом удаляю))
💙#some_stuff — рандомные разговоры на разные темы
💙#architecture — как писать код, а как не писать)
💙#python
💙#django
💙#sql
💙#linux
💙#git
💙#algorithms
💙#js
💙#memes
Пост будет дополняться по мере создания новых тегов)
Изи-гайд: Как возненавидеть js за полтора дня?🤤
1. Придумываем новую фичу для нашего Django-проекта. Такую, чтобы её логика выполнялась на стороне клиента...
2. Начинаем страдать и писать скрипт. Важно! Знания js при этом должны быть на уровне "нууу когда-то лет 7 назад что-то делал...")
3. А всё, нет никакого 3 шага, вы уже наверняка ненавидите js))
Если кто вдруг не понял о чём это я🐱 -> прикрутила к сайту:
🔸 возможность выбирать нужную область на фото и кропать его по этой области. Подсмотрела реализацию здесь, но ещё довольно долго пилила напильником, чтобы у меня тоже всё заработало.
🔸также к фото по умолчанию применяется чёрно-белый фильтр (чтобы не портить моё дизайнерское видение сайта разномастными картинками🐱). Вот здесь описана основная идея реализации.
🔸загружаем фото не только с диска, но и через URL.
Вообще конечно испытываешь непередаваемые ощущения, когда этот piece of shit наконец-то начинает работать🐱 Но немного не покидает ощущение, а надо ли оно для даже не пет, а просто учебного проекта?))
#js
Что-то летний отпуск затянулся "чуть дольше", чем я планировала)) Да и сербское лето "помогло" с двумя неделями выше 35, когда не то, что кодить, сложно было просто существовать) В общем возвращаюсь к допиливанию учебного проекта...
Перед деплоем составила себе список доработок (вышло 18 пунктов😵💫), и нулевым пунктом запушить проект на гитхаб))
То, что ооочень важно для нас, как для будущих разработчиков, и то, о чём не было ничего в курсе по Django) Что ж... разобралась сама и расписала для вас:
- как правильно подготовить проект (прячем секретные данные, подготавливаем необходимые доки и другое)
- как в 3 шага добавить проект на GitHub)
Получился вот такой мини-туториал.
P.S. Если увидите неточности или знаете, чем дополнить - обязательно пишите!)
Также вот ссылка на сам проект, реализация не финальная!) Там ещё есть чего править (в том числе документацию)). Но если есть желание, то можно поставить звёздочку👍
Вот пока что какой-то такой прогресс на текущий момент...
Как у вас проходит обучение летом?) Продуктивнее, чем в другие сезоны или нет?)
#git #notes #pet_project
Finally!🥲 Я закончила курс по Django!!!
Впечатления от курса, честно говоря, спорные...
Что понравилось:
➕ Программа курса довольно обширна и захватывает все основные моменты фреймворка.
➕ Есть несколько модулей, которые расширяют наши возможности при использовании Django (OAuth 2.0, PostgreSQL, Redis, unittest).
➕ Я успела вписаться на курс, когда он только выходил и был бесплатным, но и на данный момент цена в 2500р. звучит для него приемлемо.
Чего не хватило:
➖ Интересных задач! Те, что были на курсе, либо просто проверяли точно ли вы прослушали материал лекции в виде теста, либо просили написать несколько строк кода, подробно разобранных на уроке и в ТЗ.
Моя мотивация просела уже к середине курса из-за того, что я не находила в заданиях никакого вызова, а к концу курса я уже заставляла себя сесть и пройти новую тему.
➖ Ощущения реальной разработки. Такое знаете, Django в вакууме. Никаких фишечек из реальных проектов. Из доп. материалов только ссылка на документацию. И вроде бы есть блоки с доп.инструментами, но опять же, рассказано про них довольно скудно.
➖ Отсутствие модуля с деплоем проекта. Да-да, вы не ослышались) в конце курса мы так и не узнаем как запустить наш сайт на сервере, чтобы любой желающий смог посмотреть на наше творчество...
Также не могу не упомянуть моменты, которые заставляли подгорать мою пятую точку:
🥲 Произношение английских терминов (add - адэдэ, create - крит, reset - резёт и др.). Да, это не важно в контексте понимания материала, но неужели лектор никогда не смотрел англоязычных материалов по теме? Это ведь не какие-то слова из разговорного лексикона, это термины из кода...
🥲 Использование сомнительных решений, из разряда - давайте напишем метод класса, хотя нашу задачу решает атрибут этого же класса из коробки или другие костыльные решения.
🥲 В 80% случаев на вопросы учеников я видела ответ - это вопрос для тг канала)) Вероятно, если у тебя возник такой же вопрос, ты должен перейти в тг и найти тот самый вопрос в чате среди других обсуждений...
Всего на курс у меня ушло 4 с половиной месяца. Можно было бы и быстрее (один парень из комментов закончил за 21 день), но я параллельно заканчивала курс по SQL, разбиралась с Git-ом и старалась максимально подробно разбирать каждую пройденную тему.
В итоге у меня есть подробный коспект и почти законченный учебный проект (я обязательно разберусь как его задеплоить и тогда поделюсь с вами ссылкой и на него)).
Резюмирую, жалею ли я что прошла курс? Пожалуй, нет. Захочу ли я пройти ещё какой-то курс от Сергея? Маловероятно.
#courses_review #django #notes
Несколько дней разбиралась с темой кэширования в Django🫠
На просторах рунета удалось отыскать некоторое кол-во годных ресурсов, где объясняется:
- как понять что кэшировать, а что нет?
- какие стратегии кэширования бывают?
- кто такие алгоритмы вытеснения?
- как инвалидировать данные?
- как оценить эффективность кэширования?
- и наконец, есть ли жизнь после Redis-а?)
Также попыталась приложить всё это к связке Django-Redis, чтобы понять, как использовать эту информацию в контексте своих проектов.
Читать без регистрации и смс, как обычно, в конспекте😊
#django #notes
Всем привет и хорошей недели.
В тему про алгоритмы. Вдруг кому-то будет полезно.
Наткнулся на это видео (и я максимально согласен с мнением автора)
https://www.youtube.com/watch?v=2V7yPrxJ8Ck
он в конце видео показывает свой сайт с платным контентом, но его основной продукт бесплатный: https://neetcode.io/roadmap
там
* дерево "базовых идей в алгоритмах"
* + leetcode задача
* + видео с объяснением
* + код с решением
и это все для 150 базовых задач в leetcode.
P.S. сейчас сам готовлюсь/повторяю алгоритмы в том числе по его сайту.
Всем удачи!
Привет!)
Наверняка многие из вас не в курсе, что к каналу прикреплён ещё и чатик, где можно читать комментарии ко всем постам или общаться в отрыве от постов)
Так воот, Алексей поделился там интересным ресурсом, который может быть полезен и вам, если вы сейчас готовитесь к собесу по алгоритмам🌚
#some_stuff #algorithms
Уже как месяц ничего не писала и поэтому решила подать признаки жизни😄
По проекту пока без больших продвижений, подвисла на курсе по Django на теме "Авторизация и регистрация", поэтому основные силы и время ушли туда. В этом месяце планирую наверстать и уже даже знаю тему, которую хочу покопать поподробнее) Но анонсировать не буду, мало ли чего😄
По традиции прилагаю к посту пару полезностей (на счёт полезности имхо))
1. Матрица компетенций Python Backend разработчика, найдена на просторах подписок в телеграме) Можно использовать в виде роадмапа.
2. Совсем недавно стартовавший на ютуб курс по python (да, опять)) от Никиты Соболева, так что обещает быть интересным)
На этом пока что всё) Надеюсь до конца месяца таки допинать курс по Django и продолжить писать интересное про пет-проект😊
#some_stuff #python
Пет-проект. Часть 3)
Набросала структуру проекта, пришло время создавать репозиторий и заливать на GitHub... Возможно кто-то захочет скипнуть этот шаг, но умение пользоваться git-ом всё равно встречается в 99.99% вакансий)) так что я решила здесь немного тормознуть и примерно неделю разбиралась с его премудростями)
Из рекомендаций - в комментариях советовали это видео, посмотрела) По моим ощущениям оно того стоит (да, 4 часа, но можно в x1.75)), так как закладывает прочный фундамент в понимании внутреннего устройства git-а.
Также я ранее упоминала парочку курсов, теперь прошла и могу их ответственно рекомендовать)
Курс по командной строке в Linux - прошла просто за компанию, так как его рекомендуют в качестве подготовки к курсу по git-у. Вообще он очень хорош, если есть желание потрогать линукс, но нет желания погружаться куда-то далеко в дебри. Плюс у них на сайте поднимается виртуальное окружение для каждой задачи, то есть вам даже не придётся ставить линукс себе на компьютер, чтобы начать)
Далее, собственно, сам курс по git-у. Мне показалось, что скорее всего, если бы я предварительно не смотрела видео, то информация воспринималась бы хуже. Но в принципе сделано тоже достойно, местами повторяет, местами дополняет видео, и, что самое важное, даёт возможность попрактиковаться в применении команд)
Ну и, чтобы совсем стало хорошо, и всё запомнилось, можно пройти интерактивный тренажер. Теории в нём не так много, как в курсе, но достаточно, чтобы в игровой форме порешать задания. Видно, что проект делали с любовью и юмором) мне было интересно проходить задания и думаю, что в будущем можно возвращаться к тренажеру в качестве песочницы.
Итого - за выходные вполне реально пройти все эти активности, если не делать конспект)) Который можно и не делать, если вас устраивает мой))
Конечно основательное понимание git-а придёт уже в процессе разработки в команде, а на данном этапе, пока команды нет, думаю достаточно разобраться и на таком уровне.
#pet_project #courses_review #git #linux #notes
+3
Некоторое время тестировала Gemini AI, про которую писала ранее. Что могу сказать... Галлюцинирует данная нейронка значительно чаще, чем GPT 3.5) частенько придумывает несуществующие команды и возможности у разных программ.
Но есть и положительные моменты:
- можно скармливать ссылки на статьи и просить сделать summery;
- можно скармливать картинки и задавать вопросы относительно их содержания;
- вывод визуально выглядит более красивым, чем у GPT;
- частенько к ответам на вопросы прикладывает ссылки (например, на документацию для команды, про которую задаёшь вопрос)
То есть плюсы как бы есть, но шанс того, что ты читаешь недостоверную инфу тоже достаточно высок. Приходится частенько использовать параллельно с GPT, чтобы подтвердить информацию...)
Теперь о новеньком)
Пару недель тестирую новую нейронку - Claude 3 Sonnet. По ощущениям качество ответов на голову выше, чем у GPT 3.5 и Gemini Advanced (показано на картинках ниже)), но есть некоторые танцы с бубнами по установке (вот тут можно почитать хороший гайд) и ограничение на кол-во бесплатных запросов в день, что обидно(
Однако, повторюсь, пока что самые приятные впечатления от использования оставила именно она)
Здесь можно почитать статью о сравнении IQ нейронок, последний скрин как раз оттуда)
И ещё хотелось бы спросить - как часто вы используете чат боты во время обучения?) вам вообще интересно читать подобный контент?👀
#chatbots
Продолжаю ковырять пет-проект) На этой неделе провела небольшой ресёч на тему структуры проекта.
Всплыло несколько интересных инструментов, которые не рассматриваются в рамках курса по Django...🤓
1) Poetry - пожалуй, можно описать как pip на максималках)) Помогает более эффективно работать с зависимостями, автоматически создаёт и управляет виртуальным окружением, упрощает публикацию пакетов в PyPi и т.д. Вообще выглядит как очень удобный и нужный инструмент. Можно посмотреть небольшой туториал здесь или почитать теорию здесь.
2) Утилита make, а именно Makefile - значительно упрощает доступ к часто используемым командам (особенно с несколькими флагами), плюс помогает автоматизировать различные задачи разработки (сборка проекта, тестирование и другие). Нашла вот такую статью, хорошо и просто описывает как его использовать)
3) Django-environ - по назначению похоже на python-dotenv (удобно и безопасно работаем с конфигурационными настройками проекта), но больше заточен под использование в связке с Django, а также имеет более широкий набор функций. На просторах интернета нашла только коротенькое видео по данному инструменту на русском и более вдумчивое на английском)
Ну и, собственно, по самой структуре проекта раздобыла парочку довольно подробных видео:
- на русском (много мата и специфичный юмор, не то чтобы это сказывалось на качестве материала, просто предупреждаю на всякий случай))
- на английском (без мата и шуток, на английском, сплошные минусы в общем))
Планирую состряпать что-то среднее между этими двумя структурами и начинать разработку)) Вооот)
#pet_project
Не даёт телеграм прикреплять картинки к такому большому тексту) поэтому она будет здесь.
#pet_project
С чего начать пет-проект?😶🌫️
Всем привет!) сегодня хочу немного поговорить о том, как продвигаются дела в разработке моего первого пет-проекта)
Так как какой-то дельной пошаговой инструкции я не нашла (и скажем прямо - искала я плохо)), то решила рассуждать логически и идти от простого к сложному...
Нулевой этап понятен - тут мы придумываем какую-то идею. У меня с этим, к сожалению, проблем нет)) Если вам с этим сложнее, то самый простой способ нагенерить эти идеи с ИИ) Например, такие.
Я же придумала (себе на голову) делать билдер для создания персонажа для D&D🌚
После того, как идея оформлена во что-то более менее связное, начинаем искать то, как эту идею реализовали "конкуренты")) Скорее всего вы сможете найти не один и даже не два варианта реализации.
Я рассматривала сайты, которые решают мою задачу и выписывала себе какой функционал я бы хотела реализовать, какие решения для меня выглядят интересными, а какие скорее сомнительными.
То есть после этого этапа, в идеале, у нас на руках должен образоваться черновик интерфейса нашего сайта/приложения. Понятно, что если вы, как и я, хотите в будущем заниматься разработкой бэкенда, а не фронта, то эта часть работы скорее не наша) но так как это пет-проект и помочь нам некому, то и придумывать визуальное оформление тоже придётся самостоятельно🥲
Я не стала сильно заморачиваться с этим шагом и ограничилась карандашными набросками в тетради, но никто не запрещает отрисовать весь интерфейс в Figme и т.д.)
Когда вы уже имеете примерное понимание, что хотите видеть у себя на сайте и какой функционал вам для этого нужен, наступает следующий шаг - проектирование базы данных.
Тут я припасла для вас полезные ссылки))
- Если вы совсем не трогали SQL, то вам скорее всего будет сложнее понять, что происходит, но как вариант можно глянуть это видео, чтобы было от чего отталкиваться.
- Далее, уже конкретно по теме проектирования, есть довольно полноценное видео. От этого же спикера, кстати, на одном народном ресурсе можно найти полный курс по Postgres... но я вам этого не говорила))
- Подбираясь ещё ближе к проектированию, можно почитать эту статью. Она уже ближе к прикладному уровню.
- И совсем уж чтобы всё стало понятно, есть вот такое видео, в котором пошагово делают концепт)
Я же ещё бонусом захватила этот курс))) Давно покупала себе комплект по SQL, и в него входил и этот курс. Не могу сказать, что там есть что-то, чего вы не сможете найти бесплатно в открытом доступе, но можно пройти, если хотите закрепить всё в голове. Только, на мой взгляд, большой минус данного курса, не показывают именно отрисовку концептуальной и логической моделей БД.
Наконец, после данного этапа вы возможно передумаете делать ваш проект получите стройную схему вашей будущей базы данных)
Очень не рекомендую скипать данный шаг, потому что проектирование само по себе может помочь избежать дальнейших ошибок при написании кодовой части. Плюс очень хорошо помогает продумать какие модели (классы) вам нужно будет описать и как они между собой будут взаимодействовать.
На картинке кусочек моей базы данных) на данный момент она готова где-то на 70% и будет дорабатываться дальше. Хотя, как говорят, концепция базы данных может дорабатываться и уже в процессе разработки самого сайта)
Надеюсь мой опыт будет для вас полезным и вы тоже поделитесь со мной чем-то интересным))
#pet_project
#sql
Немного новостей🌚
Из недавнего - наконец-то закончила курс по Linux🎆
Впечатления после курса остались противоречивые... С одной стороны информации много и она, в большей степени, полезная. С другой же стороны то, что курс шёл ооочень тяжко.
В лекции за 12 минут могли рассказать 3-4 разных темы, приправленных кучей незнакомых терминов, и без каких-либо прелюдий касательно знакомства с этими самыми терминами. В итоге каждую лекцию я смотрела, как минимум, дважды. Первый заход - ознакомление, второй - паузы каждый значимый поинт и выписывание в тетрадочку. Потом, заручившись GPT, разбирала все непонятные места и выстраивала повествование в какую-то более менее логически осмысленную конструкцию. Так и родился конспект) Теперь уже окончательно дописанный.
Что касается заданий, их всего два вида - тестовые вопросы на степике (обычно не так много) и упражнения в формате видео. В видео даются задания для отработки материала на виртуальной машине, сразу после задания будет показано какая именно команда подразумевалась, если не догадался сам. Но формат - послушай вопрос, поставь видео на паузу, попробуй сделать в консоли (возможно по пути забыв часть вопроса) и вернись, чтобы посмотреть правильный ответ, лично мне - не зашёл. В какой-то из лабораторных я на слух в принципе не понимала, что от меня хотят🙈))
Резюмирую - учитывая стоимость (на данный момент 2899р.), приобретение курса могу рекомендовать только на свой страх и риск!
Из более приятного - начала проходить курс по Django🥳
И так как опыт ведения конспекта параллельно прохождению курса мне зашёл, то и для этого курса тоже его веду)) Уже полностью готов 1ый модуль.
Также начала планировать свой первый пет-проект👀
И вот тут мне нужна ваша помощь (особенно тех, кто этот этап уже перешагнул)). Где брать информацию, как вообще грамотно организовать структуру проекта? С чего вообще начать? Что можно почитать или посмотреть по теме??
#courses_review
#linux
#notes
