Чашка Кода
466 subscribers
255 photos
5 videos
2 files
162 links
👋 Я - Никита, автор курсов и лекций по Python-разработке. Пишу на Python и Rust

✏️ В этом канале посты, которые сделают твой путь к веб-разработке проще

Задать вопрос, позвать на конференцию, записать со мной курс/статью/подкаст
👉 @PySage
Download Telegram
Что происходит в процессоре?

В предыдущем посте я рассказал о том, что происходит в "голове" у компьютера, когда мы просим его запустить простейшую программу ⚙️

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

1️⃣ Инструкции и Регистры
Каждая инструкция машинного кода представляет собой последовательность битов ("ноликов и единичек"), которая опредяет операцию для выполняния. Кроме инструкций процессор имеет набор регистров, которые служат для временного хранения данных.

2️⃣ Декодирование
Процессор "читает" эту последовательность битов и понимает, какую операцию нужно выполнить. Например, определённая последовательность битов может означать "сложить числа из двух регистров и сохранить результат в третьем".

3️⃣ Исполнение
После декодирования инструкции процессор исполняет соответствующую операцию, обновляя свои регистры или взаимодействуя с памятью.

4️⃣ Следующая Инструкция
После завершения операции процессор переходит к следующей инструкции в машинном коде.

🖥 Как это связано с "Hello, World!" ?
Когда ваш код print("Hello, World!") достигает этой стадии, процессор выполняет серию инструкций, которая в конечном итоге приводит к тому, что операционная система получает сигнал о необходимости вывести текст на экран.

Получается, эти "нолики и единички" представляют собой очень конкретные инструкции, которые процессор может быстро и точно выполнить, превращая код в реальные действия! ➡️

#просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
А из чего состоит ваша работа в IT? 🔽

#мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
👾8👍1🔥1
⚡️ЗАПУСК БОТА В ТЕЛЕГРАМ⚡️

На днях закончил записывать модуль ООП в курсе по Python-разработке и решил поделиться с вами инструкцией того, как запускать ботов в ТГ.

🔤 Установить Телеграм 😁
1️⃣ Ищем бота @BotFather в графе "Поиск", запускаем его и выбираем команду /newbot

2️⃣ Придумываем название будущего бота и тег. Там есть подсказки.

3️⃣ BotFather пришлёт сообщение об успешном создании бота, в котором будет указан TOKEN API. Скопируйте и вставьте его в код, который я прикрепил в комментариях.

4️⃣ В терминале напишите pip install PyTelegramBotAPI ,чтобы скачать библиотеку telebot

5️⃣ Когда библиотека установится, пишем python3 bot.py (если поменяли называние файла, то укажите его).

Ура!🔄 теперь у вас есть бот, который на команды /help и /start выводит приветственную информацию.

#python_полезности
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄4🔥1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
🤔 Тоже задумываетесь о том, зачем в школе вы учили тригонометрию?

Оказывается в CSS (не игра Counter-Strike: Source), который используется для создания стилей на сайтах, появились функции sin, cos и т.д.

Обычно CSS используется, что бы настроить цвета на сайте или красиво расположить объекты, картинки или видео. Используя тригонометрию, на сайте можно сделать такую красоту, как на гифке. Тут используются синусы и косинусы для расчёта расположения объектов вокруг центра. А так же тангенс для расчёта угла разворота.

А вы использовали тригонометрию после школы? 🤓

#находки
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄7🤔1
БЕСПЛАТНЫЕ КУРСЫ ПО PYTHON

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

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

Crash Course от Google - 6 недельный курс от Гугл. Его средняя оценка пользователей составляет 4.8/5. Впечатляюще, не так ли?
Плюсы: Бесспорный лидер IT индустрии, так что качество курса на высоком уровне. Есть как видео, так и текстовые материалы. Удобно разбито на модули. Всего 6 недель для изучения основ Python.
Минусы: Всё на английском языке, из России не получиться оплатить сертификат (сам курс бесплатный), на мой взгляд платформа не очень удобная.

w3 Python - Курс от известной образовательной платформы. Они специализируются на веб разработке (JS, HTML, CSS), но так же есть курс по Python.
Плюсы: Очень удобный формат, все темы разбиты на микроуроки с заданиями в конце. Описаны только те темы, с которыми вы точно столнётесь. Есть не только сам Python, но и дополнительные темы.
Минусы: Всё на английском и нет видео. Это больше справочник или учебные пособия, чем полноценный курс, так что запаситесь мотивацией.

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

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

#python_полезности
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄5👍1
Вот и прошёл месяц в должности старшего разработчика в одной из крупнейших торговых компаний в России по продаже техники. Хочу немного поделиться своими мыслями и выводами 🌐

⚙️ Процессы
Мы используем scrum (о том что это - в отдельном посте). Суть в том, что мы работаем короткими итерациями, по две недели. Сначала мы планируем то, какие задачи хотим сделать, и обычно это реализация желаний пользователей. Сам процесс настроен неплохо, у нас есть все основные элементы работы, однако задач может быть совсем мало. Бывает, что целую неделю сидишь без дела.

🫥Команда
Сама команда достаточно большая, 13 человек, но среди них всего 3 разработчика (включая меня). Многие задачи, которые в маленьких командах делают разработчики, выделены в отдельные должности, поэтому не надо много работать с базами данных, например. Из за того, что разработчиков мало, не с кем обсудить технические вопросы по задаче или попросить посмотреть твой код.

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

🍴 Офис
Когда я пришёл в компанию, у меня было желание часто ездить в офис, чтобы общаться с коллегами, но у нас все работали удалённо. Сейчас в офис обычно приезжают 1-2 дня в неделю. Сам офис, хоть и новый, не представляет ничего интересного (сырки Б.Ю.Александров по утрам не раздают)

#мысли #мой_путь
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8🦄4👍1👾1
🫥 Соус код - так называют исходный код проекта, от слова source (источник). Обычно он скрыт внутри компании, но иногда это Open Source проект, когда весь код в открытом доступе.

📀 Спагетти код - плохо структурированный код, когда "всё везде и сразу", много ветвлений и переходов и что бы разобраться в таком коде требуется много времени.

#мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1👾1
🌍 Вселенная языков программирования

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

Краткий исторический экскурс
Из истории языков программирования видно, что языки появлялись исходя из нужд и требований времени. Начиная с FORTRAN и COBOL в 1950-х и заканчивая такими современными языками, как Kotlin или Rust.

🔍 Интерпретируемые VS Компилируемые
Все языки программирования можно условно разделить на две большие категории: интерпретируемые и компилируемые.

* Интерпретируемые языки (например, Python, JavaScript) - это языки, программы на которых выполняются непосредственно интерпретатором, без предварительной компиляции в машинный код.

* Компилируемые языки (такие как C++, Go, COBOL) - это языки, которые перед исполнением сначала компилируются в машинный код, что обеспечивает более высокую производительность по сравнению с интерпретируемыми языками.

🔥 Плюсы и минусы

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

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

Python - самый популярный язык, на нём можно реализовать почти что угодно.
JavaScript - лидер веб-разработки.
Fortran - один из первых языков программирования, и до сих пор используется в научных расчетах.
COBOL - в основном используется в корпоративных приложениях, особенно в банковской сфере.
Go (или Golang) - современный язык, разработанный Google, который сочетает простоту и производительность.

А на каком языке пишите вы? 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1🤔1🦄1
🚀 Что нужно учитывать при выборе языка программирования?

В предыдущем посте я рассказывал про то, какие языки программирования есть и для чего они нужны. А сегодня хочу поговорить о двух важных понятиях в мире программирования: CPU-bound и I/O-bound решениях. И, что еще важнее, как они могут повлиять на ваш выбор языка программирования.

🫥 CPU-bound: Это ситуация, когда производительность программы напрямую зависит от скорости процессора. В CPU-bound задачах основное ограничение — это то, насколько быстро процессор может обрабатывать инструкции.

Примеры: сложные вычисления, обработка графики, машинное обучение.

🫥 I/O-bound: Это когда производительность программы ограничивается скоростью операций ввода-вывода. Это может включать в себя операции с файлами, обращения к базам данных или запросы к сети.

Примеры: чтение из файла, запросы к базе данных, сетевые запросы.

⚡️ И как это относится к выбору языка?

Python и I/O-bound:
Многие говорят, что Python медленный, и в некотором роде это правда. Но если у вас I/O-bound задача, производительность Python может и не иметь значения! Потому что ваша программа будет больше времени ждать завершения операций ввода-вывода, к примеру пока отправляется почта, чем на выполнение кода. В таком случае выбор асинхронных библиотек и фреймворков в Python, таких как asyncio, может быть отличным решением.

Python и CPU-bound: Для задач, где производительность критична, существуют способы оптимизации Python, например, использование расширений на C или Cython. Тем не менее, для высокоэффективных вычислений другие языки, такие как C++ или Rust, могут быть предпочтительнее. Однако всё не так просто!

Несмотря на то, что многие задачи машинного обучения являются CPU-bound (особенно при тренировке моделей), Python доминирует в этой области. Большинство популярных библиотек, таких как TensorFlow и PyTorch, написаны на оптимизированном C++ и предоставляют Python API для удобства использования. Таким образом, разработчики получают "лучшее из обоих миров": производительность C++ и простоту Python 🔥

✔️ Вывод: При выборе языка программирования важно понимать природу вашей задачи. Если вы работаете с I/O-bound задачами, не отвергайте Python только из-за его скорости. Если у вас CPU-bound задача, подумайте о возможных оптимизациях или рассмотрите другие языки. В конечном итоге, правильный инструмент зависит от задачи! А язык программирования, это не приговор, а инструмент для решения задач. 🛠
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔2🔥1🦄1👾1
Наша капибара решила попробовать себя в роли врача и дала весьма дельный совет. Согласны? 🤑

#мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1👾1
#наставничество
🔥 Сегодня провел вебинар в качестве спикера на марафоне IT-профессий от Логомашины!
Рассказал о том, что такое разработка и как начать свой путь в IT 🤑

А ещё рассказал про курс, в котором уже записал несколько модулей.

Скоро, с командой, приступаем к своему курсу. А ещё совсем скоро будут новости про менторство 😏

Ставь к посту:
🦄 - если хотел бы попасть на такое обучение
🔥 - если хочешь записаться на менторство
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4🦄4
🐍 Кто такой Python-веб разработчик?

Python-разработчики могут делать всё - начиная от разработки чат-ботов, заканчивая нейросетями и анализом больших данных. Сейчас на Python можно сделать всё, что угодно. Благодаря поддержке сообщества выходят бибилотеки для создания фронтенда в веб-разработке, где раньше лидировал JS.

Чем занимается Python-разработчик в вебе?
Веб разработка - это не только сайты, но и сервисы, которые общаются друг с другом через интернет. Возьмём в пример маркетплейс. Когда мы им пользуемся, мы видим только красивую картинку (фронтенд). Бэкенд разработчики же заняты той частью, которая скрыта за интерфейсом приложения.

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

💰 Средняя зарплата
Средняя зарплата бэкенд Python-разработчика, занятого в веб разработке, может сильно варьироваться в зависимости от региона, опыта и компании. На момент написания этого поста, по данным исследования Хабр, от 100 до 300 тысяч рублей в месяц.

🔧 Что нужно знать?
🟢Основы языка Python: нужно знать сам язык, его синтаксис и основные библиотеки. Изучается за 3-4 месяца.
🟢Фреймворки: Django, Flask и FastAPI - наиболее популярные фреймворки для веб-разработки. FastAPI и Flask лаконичные фреймворки, так что можно освоить за месяц.
🟢Работа с базами данных: про них я писал в этом посте.

А в этих направлениях основы изучить можно за пару дней, но чтобы отточить мастерство, потребуются годы:
🟠RESTful API: знание принципов создания и работы с API.
🟠Git: ваш лучший друг, когда дело касается версионирования и работы в команде.
🟠Основы фронтенда: основной акцент на серверной разработке, но знание основ HTML, CSS и JS будет большим плюсом.

На мой взгляд, при ежедневном изучении, достаточно 9 месяцев, чтобы стать веб разработчиком с нуля🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2🦄1👾1
🔔 Пост-знакомство
Привет всем, кто подписался!

** КТО Я?
Меня зовут Никита, занимаюсь
бекенд разработкой веб-сервисов, пишу курсы по разработке и занимаюсь менторством!

До IT я успел получить Hospitality Higher Diploma в Швейцарском IMI, поработал в отелях, ресторанах и фастфуде. Открывал кофейни в Питере, обучал управляющих в Додо пицце, а сейчас занимаюсь разработкой на языке Python.

Пришёл в IT и сразу столько всего! Написал значительную часть бэкенда сервиса в programmatic.ru, разрабатывал бэкенд для внутренних сервисов Мвидео, преподовал в Московской Школе Алгоритмика, записал курс и проводил вебинары с Логомашиной, был спикером в yoloeducation. А сейчас уже эксперт в Bang Bang Education!

➡️ О ЧЁМ ЭТОТ КАНАЛ?

Рассказываю о том, что действительно нужно для работы. Главная проблема обучения - это неструктурированная и бесполезная информация. Тут я собираю лучший контент, структурирую его, перевожу на русский и оформляю в полезные материалы. Кроме того, делюсь своими размышлениями и находками. А ещё у нас тут живёт капибара-программист, с которой вечно происходят какие то мэмы :) 🤑

** СТОИМОСТЬ КОНСУЛЬТАЦИЙ
* тестовое собеседование на позицию Backend Web Developer - 5000 руб/1,5-2часа
* консультация по вашему вопросу (помощь в решении тестового задания, разработка на Python и тд) - 5000 руб/1,5-2часа

** НАВИГАЦИЯ:

#мысли - делюсь новостями из свой жизни, размышляю об увиденном / прочитанном / услышанном
#мемы - мемы про нашу очаровательную капибару-программиста и не только
#мой_путь - всё о том, как я начинал в IT и о моей работе сейчас
#python_полезности - полезные материалы для работы, связанные с Python
#находки - делюсь интересностями и новостями, которые нахожу в интернете
#просто_о_сложном - рассказываю простым языком то, что заумно написано в учебниках
#мудрость_на_каждый_день - полезные советы по работе в IT
#анонсы - анонсы моих выступлений и розыгрышей

Связь со мной: @PySage
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄10👍2🔥2
⚡️КАК ВЫЙТИ НА РАБОТУ ЗА ГОД С 0?⚡️

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

1️⃣ ПОДГОТОВКА

🔺 Определение цели:
ответьте себе на вопрос: в какой области IT вы хотите работать?
🔺 Выбор языка программирования: зачем выбирать Python (подробнее в моём посте).
🔺 Основы программирования: пример с "Hello World", понимание основных концепций (пост).
🔺 Разработка навыка problem solving: понимание того, как правильно подходить к решению задач (пост).
🔺 Изучение алгоритмов и структур данных: 9 ключевых алгоритмов для решения проблем (пост).
🔺 Понимание баз данных: почему каждый разработчик должен знать SQL? ( пост).
🔺 Основы компьютерной науки: Как "думает" компьютер, понимание архитектуры компьютера и принципов работы процессора (пост).

2️⃣ ПОИСК РАБОТЫ

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

3️⃣ ПРОХОЖДЕНИЕ СОБЕСЕДОВАНИЙ

🔹Изучайте решения задач
🔹Проходите тестовые собесы

4️⃣ ПЕРВАЯ РАБОТА

🔸Синдром самозванца
: что это такое, почему это происходит и как с этим справиться? (пост)
🔸Онбординг в компании: Что ожидать на первых парах работы, как адаптироваться в новой команде?
🔸Непрерывное обучение: почему важно продолжать обучение и развиваться даже после того, как вы нашли работу?
🔸Создание сети контактов: значение нетворкинга в IT и советы по созданию своей сети профессиональных контактов.

#мудрость_на_каждый_день
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥21
⚡️Привет, срочное включение!⚡️

Сегодня выступаю в московской "Школе 21" в 15:00!

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

А для тех, кто не сможет прийти очно, будет прямой эфир! Вот ссылка: https://youtube.com/live/qhEs7Dfxl_I?feature=share 🚀

У всех, кто придёт на выступление, будет возможность:

🎁 Получить 50 свежих вопросов с собеседований;
🎁 Выиграть один из двух менторских созвонов со мной

📚А для тех, кто придёт оффлайн, я разыграю две супер полезные книги из своей библиотеки!

Жду всех онлайн и оффлайн. После выступления можно будет побеседовать за чашечкой чая. Я уже говорил, что я ещё и чайный мастер? ☕️
5🔥2👍1🦄1👾1
⚡️Хей-хей, вот и закончилось сегодняшнее мероприятие

Большое спасибо всем, кто пришёл лично и смотрел трансляцию. Для меня это первый подобный опыт - было немного волнительно.

Что-то получилось круто, что-то можно улучшить. Мы подготовили презентацию и всю механику выступления менее, чем за неделю. Последняя версия презентации вообще доделывалась сегодня прямо по дороге в Школу 😅

Я надеюсь, что материал вам понравился, а наши многочисленные розыгрыши не давали вам заскучать, я действительно очень старался🙏

И отдельный привет всем, кто подписался на мой канал сегодня! Честно, я даже не ожидал, что столько присоединится. И это очень мотивирует делать ещё более полезный и интересный контент дальше! 🚀

🎁 Напоминаю, что завтра, в 12:00 я проведу прямую трансляцию, на которой определю 2-ух победителей в розыгрыше менторских созвонов! Если ты ещё не стал участником, ещё есть шанс!

Жми на кнопку ниже и переходи в бота👇
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2🔥2👾1
Live stream finished (2 minutes)
🎉 Розыгрыш менторских созвонов завершён!

С помощью рандомайзера я определил 2-ух победителей, это:

1️⃣ @qwerrs
2️⃣ @ambaluk

С ребятами свяжусь в личных сообщениях. На следующей неделе я проведу ещё один розыгрыш, но уже с одним победителем, следите за анонсами в канале 🔥
👍71🦄1👾1
🔴 Как получить опыт? Никак.

Самая главная проблема с которой вы столкнётесь - это прохождение скрининга. Скрининг - первый этап отбора. Когда вы откликаетесь и HR (или даже бот) смотрит ваше резюме. К сожалению, считается, что опыт работы = навыки работы. В итоге, все резюме с опытом работы менее 6 месяцев, скорее всего, даже не попадут на рассмотрение.

💪🏻 Что бы получить опыт можно попробовать:
1. Стажировки, особено если вы учитесь в университете. К примеру: ВК, СБЕР, ОЗОН
2. Устроиться в небольшую компанию по знакомству
3. Открыть свою компанию
4. Самый реалистичный вариант, написать "реальный" проект. Возьмите любой сервис, который вам нравиться и попробуйте сделать его копию. Потом скажите что вы его и сделали. Звучит как будто так никто не делает, но так делают 80% тех у кого нет опыта в IT 😁

✍️ Какие проекты можно попробовать сделать самому? На Python:
1) Нельзяграмм - весь сервис
2) Нетфликс - система рекомендаций
3) Реддит - весь блог

Написать блог не супер сложно, вот пример. Минус такого подхода, когда вы "придумываете" себе опыт, у вас будет синдром "самозванца". А про это расскажу подробнее в следующих постах.

А какой из вариантов получения опыта вам кажется наиболее реалистичным? 🔽

#мудрость_на_каждый_день
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62🦄1👾1
🚀 Друзья, хочу поделиться приятной обратной связью, которую вы мне даёте после наших карьерных консультаций.

Большое спасибо! Я очень рад, что эти небольшие созвоны были для вас полезны ⚡️

А если кто-то пока ещё не был на консультации, пишите в личку 👉 https://t.iss.one/PySage
🔥5👍21