Первое, с чего я начал изучение Python - https://code-basics.com/ru/languages/python
Бесплатный курс Python от code-basics
Там 72 урока с практикой. Хорошо подходит для тех, кто вообще не знаком даже с синтаксисом Питона. Никакого сложного интерфейса текстовых редакторов и непонятных задач.
Когда вы решите 72 задачи вам предложат купить курс (помойму от Хекслета). Не советую покупать, лучше начать проходить бесплатный, но более расширенный курс от Яндекса (ссылку сикну в следующем посте)
Бесплатный курс Python от code-basics
Там 72 урока с практикой. Хорошо подходит для тех, кто вообще не знаком даже с синтаксисом Питона. Никакого сложного интерфейса текстовых редакторов и непонятных задач.
Когда вы решите 72 задачи вам предложат купить курс (помойму от Хекслета). Не советую покупать, лучше начать проходить бесплатный, но более расширенный курс от Яндекса (ссылку сикну в следующем посте)
Затем я нашел Хэндбук по Python от Яндекса -
https://education.yandex.ru/handbook/python
Сейчас прохожу его. И если стараться самостоятельно выполнять каждое задание, то знания буквально вдалбливаются в голову.
Реально, на данный момент я считаю, что это идеальный вариант бесплатного изучения Питон.
Если задачу вообще никак не можете решить - откройте Решебник, там вы найдете готовое решение.
Есть и минус у этого хэндбука в его компиляторе. Если в VS Code ваше решение выполняется верно без единой ошибки, то редактор хэндбука может придраться непонятно к чему (частая ошибка - код не соответствует стандарту PEP8). Но это мелочи, всегда можно взять и скопировать решение из решебника. Так как вы уже сами решили задачу и поняли механику решения задачи.
Далее хочу поделиться своим бесплатным ментором, который отвечает круглосуточно и доступно на любой мой вопрос!
https://education.yandex.ru/handbook/python
Сейчас прохожу его. И если стараться самостоятельно выполнять каждое задание, то знания буквально вдалбливаются в голову.
Реально, на данный момент я считаю, что это идеальный вариант бесплатного изучения Питон.
Если задачу вообще никак не можете решить - откройте Решебник, там вы найдете готовое решение.
Есть и минус у этого хэндбука в его компиляторе. Если в VS Code ваше решение выполняется верно без единой ошибки, то редактор хэндбука может придраться непонятно к чему (частая ошибка - код не соответствует стандарту PEP8). Но это мелочи, всегда можно взять и скопировать решение из решебника. Так как вы уже сами решили задачу и поняли механику решения задачи.
Далее хочу поделиться своим бесплатным ментором, который отвечает круглосуточно и доступно на любой мой вопрос!
Многие наверное уже догадались, что это за ментор такой. Это Chat GPT
Вналчале - я задаю ему роль. Prompt по типу: Веди себя как мой ментор и учитель по Python.
Затем я описываю подробно, что у меня есть, какие действия выполняю и что хочу получить.
Помните! Чем больше предоставите информации ИИшке, тем лучше и точнее она даст ответ.
Если мне что-то непонятно, то я могу у него спросить буквально любой вопрос и если он дает непонятный мне ответ, то я ему пишу, напиши более подробно и он пишет. Но если мне опять непонятно, то я пишу, чтобы он объяснил как будто мне 7 лет и он объясняет. Если я хочу понять механику действия, то прошу его об этом и он присылает поэтапное выполнение кода с примером.
А вы пользуетесь GPT?
Вналчале - я задаю ему роль. Prompt по типу: Веди себя как мой ментор и учитель по Python.
Затем я описываю подробно, что у меня есть, какие действия выполняю и что хочу получить.
Помните! Чем больше предоставите информации ИИшке, тем лучше и точнее она даст ответ.
Если мне что-то непонятно, то я могу у него спросить буквально любой вопрос и если он дает непонятный мне ответ, то я ему пишу, напиши более подробно и он пишет. Но если мне опять непонятно, то я пишу, чтобы он объяснил как будто мне 7 лет и он объясняет. Если я хочу понять механику действия, то прошу его об этом и он присылает поэтапное выполнение кода с примером.
А вы пользуетесь GPT?
Вот еще несколько примеров того, как GPT помогает в обучении (первые 2 скрина)
На 3м скрине сухая теория из Хендбука Яндекса из которой мне не понятен фрагмент кода и я тупо спрашиваю в ИИ, что это? И он дает развернутый ответ.
На 3м скрине сухая теория из Хендбука Яндекса из которой мне не понятен фрагмент кода и я тупо спрашиваю в ИИ, что это? И он дает развернутый ответ.
Что почитать? 3 самые популярные книги по Python для начинающих
В.Васильев "Программирование на Python" Книга охватывает основы языка Python. Особенность книги: детальное объяснение кода и задач.
М.Доусон "Программируем на Python". Автор использует простой язык для объяснения основ и специфики Python.
Особенности книги: практический подход и игровая разработка
Э.Мэтиз "Изучаем Python: Программирование игр, визуализация данных, веб-приложения". Сочетая теорию с практическими проектами книга обеспечивает глубокое понимание Python. Особенность книги: мотивирует применять знания на практике.
Советую начать с "Изучаем Python" Эрика Мэтиза за его практический подход и проекты. К тому же там главы очень мелко разбиты, что позволяет пропускать известные темы и не пропустить то, чего еще не знаешь. Чтение всех трёх книг необязательно, но может быть полезно для углубления знаний и разнообразия практики.
☁️ P.s.: В комментариях скинул книги (качайте)
В.Васильев "Программирование на Python" Книга охватывает основы языка Python. Особенность книги: детальное объяснение кода и задач.
М.Доусон "Программируем на Python". Автор использует простой язык для объяснения основ и специфики Python.
Особенности книги: практический подход и игровая разработка
Э.Мэтиз "Изучаем Python: Программирование игр, визуализация данных, веб-приложения". Сочетая теорию с практическими проектами книга обеспечивает глубокое понимание Python. Особенность книги: мотивирует применять знания на практике.
Советую начать с "Изучаем Python" Эрика Мэтиза за его практический подход и проекты. К тому же там главы очень мелко разбиты, что позволяет пропускать известные темы и не пропустить то, чего еще не знаешь. Чтение всех трёх книг необязательно, но может быть полезно для углубления знаний и разнообразия практики.
☁️ P.s.: В комментариях скинул книги (качайте)
Мой опыт подключения к VDS серверу. Узнаю, как арендовать и подключаться. А главное - какой хостинг выбрать?
Да, немного рано, но я хочу уже видеть результат своей работы не в терминале VS Code. Да и к тому же хочется чтобы программа, которую я написал постоянно работала сама, без моего компа.
Сразу скажу, что не обошлось без опытного программиста. На Кворке нашел человека - Вову, который за символическую плату - 300 р. помог и подсказывал, что делать и что нужно скачивать.
Так что первый мой совет -
Вова подсказал дешевый и простой сервер (130р/мес) + сказал скачать Putty и FileZilla.
И тут я столкнулся с первой проблемой - Putty для винды, а у меня мак. В итоге пришлось изучать, что такое SSH.
Короче, SSH- это терминал для удаленного подключения к другому компу (хостингу/ серверу). Вы можете использовать и командную строку, но лучше скачать Putty (Windows) / Core Shell (Mac).
Ах, да, сервер - это аля компьютер без экрана, просто железо, который находится где-то под Новосибом (ну или в другом месте).
А хостинг - это часть этого компьютера и при аренде хостинга на 1 компе в него могут быть загружены и другие программы от других арендаторов. А при аренде сервера вы арендуете целый комп.
С понятиями разобрались, SSH на свою оперционную систему скачали. Теперь быстро про FileZilla.
FileZilla это FTP - протокол для передачи файлов между клиентом и сервером. Простыми словами - это 2 рядом стоящие папки (вашего компа и сервера) и вы можете в привычном интерфейсе просто перетаскивать файлы из вашего компа на сервер.
Мой второй совет -
Переходим к подключению к серверу.
Моя программа - это скрипт, который забирает посты из одного ТГ-канала и автоматически публикует их в мой канал (не этот, тут я сижу и фиксирую свои мысли ручками).
Для моих, да и многих задач начинающих программистов хватит и базовых настроек, просто выбирайте тариф "Старт" за 130 р.
Оплачивайте и окрывайте эту инструкцию - https://ruvds.com/ru/helpcenter/telegram-bot-dlya-ruvds/. Там очень подробно с командами, которые нужно просто копировать и вставлять, описано, что надо делать.
Если качаете Core Shell, то единственное отличие будет в том, что вам надо найти плюсик в правом нижнем углу, выбрать SSH Terminal Profile и ввести вместе с IP-адресом и User, а затем он уже предложит ввести пароль.
Далее действуем по инструкции (можете пропустить 1 этап с администратором и firewall) и сразу перейи к этапу "Готовим систему для запуска бота".
На этапе "Далее необходимо скопировать файл(ы) бота на сервер." вместо интсрукции открывайте FileZilla и переносите свои файлы.
В FileZilla нам надо будет подключиться к своему серверу, просто вводим в верхнюю панель:
Хост - IP из VDS
Имя пользователя - созданного пользователя из инструкции.
Пароль - тот, который мы придумали для этого пользователя
Порт - 22
Далее установка Python и библиотеки в SSH, и запуск бота.
По итогу, за несколько часов я узнал, то, что меня всю жизнь поражало.
P.s.: я специально не писал про защиту от атак и т.п. аспекты, так как на данном этапе это не важно. Важно ощутить, что уже работает и что у меня получилось!
Да, немного рано, но я хочу уже видеть результат своей работы не в терминале VS Code. Да и к тому же хочется чтобы программа, которую я написал постоянно работала сама, без моего компа.
Сразу скажу, что не обошлось без опытного программиста. На Кворке нашел человека - Вову, который за символическую плату - 300 р. помог и подсказывал, что делать и что нужно скачивать.
Так что первый мой совет -
не бойтесь просить помощи у опытных коллег.
Вова подсказал дешевый и простой сервер (130р/мес) + сказал скачать Putty и FileZilla.
И тут я столкнулся с первой проблемой - Putty для винды, а у меня мак. В итоге пришлось изучать, что такое SSH.
Короче, SSH- это терминал для удаленного подключения к другому компу (хостингу/ серверу). Вы можете использовать и командную строку, но лучше скачать Putty (Windows) / Core Shell (Mac).
Ах, да, сервер - это аля компьютер без экрана, просто железо, который находится где-то под Новосибом (ну или в другом месте).
А хостинг - это часть этого компьютера и при аренде хостинга на 1 компе в него могут быть загружены и другие программы от других арендаторов. А при аренде сервера вы арендуете целый комп.
С понятиями разобрались, SSH на свою оперционную систему скачали. Теперь быстро про FileZilla.
FileZilla это FTP - протокол для передачи файлов между клиентом и сервером. Простыми словами - это 2 рядом стоящие папки (вашего компа и сервера) и вы можете в привычном интерфейсе просто перетаскивать файлы из вашего компа на сервер.
Мой второй совет -
спрашивайте такие понятия у ChatGPT, не ищите в гугле.
Если не понятно, то так и скажите ему, мне не понятно, напиши проще и он объяснит.Переходим к подключению к серверу.
Моя программа - это скрипт, который забирает посты из одного ТГ-канала и автоматически публикует их в мой канал (не этот, тут я сижу и фиксирую свои мысли ручками).
Для моих, да и многих задач начинающих программистов хватит и базовых настроек, просто выбирайте тариф "Старт" за 130 р.
Оплачивайте и окрывайте эту инструкцию - https://ruvds.com/ru/helpcenter/telegram-bot-dlya-ruvds/. Там очень подробно с командами, которые нужно просто копировать и вставлять, описано, что надо делать.
Если качаете Core Shell, то единственное отличие будет в том, что вам надо найти плюсик в правом нижнем углу, выбрать SSH Terminal Profile и ввести вместе с IP-адресом и User, а затем он уже предложит ввести пароль.
Далее действуем по инструкции (можете пропустить 1 этап с администратором и firewall) и сразу перейи к этапу "Готовим систему для запуска бота".
На этапе "Далее необходимо скопировать файл(ы) бота на сервер." вместо интсрукции открывайте FileZilla и переносите свои файлы.
В FileZilla нам надо будет подключиться к своему серверу, просто вводим в верхнюю панель:
Хост - IP из VDS
Имя пользователя - созданного пользователя из инструкции.
Пароль - тот, который мы придумали для этого пользователя
Порт - 22
Далее установка Python и библиотеки в SSH, и запуск бота.
По итогу, за несколько часов я узнал, то, что меня всю жизнь поражало.
P.s.: я специально не писал про защиту от атак и т.п. аспекты, так как на данном этапе это не важно. Важно ощутить, что уже работает и что у меня получилось!
Виртуальное окружение в Python
Windows OS
Mac OS
Запарило, все время забываю
Windows OS
python -m venv venv
.\myenv\Scripts\activate
Mac OS
python3 -m venv venv
source venv/bin/activate
Запарило, все время забываю
Ща будет контент уровня 🔥🔥🔥
Буквально 3 часа назад я думал, что сделать свой искусственный интеллект это для богов, ну или как минимум для senior программистов. Но, как оказалось все намного проще.
Задача объёмная, поэтому - декомпозиция.
1. Определить, смогу ли я вообще интегрировать OpenAI с Телеграм-ботом?
2. А смогу ли я написать программу, которая будет это все делать и закинуть туда движок от GPT?
3. После того, как ИИ будет отвечать, загрузить в него базу знаний компании.
В итоге имеем следующее:
Получаем API OpenAI
Если у вас только российский номер - разживитесь иностранным (введите в гугле - номер для смс и т.п.) можно взять за 6 р. номер на 20 минут.
OpenAI даст вам $5 free credit
Скрипт для интеграции ChatGPT в Телеграм бота
Не без помощи самого ChatGPT написал такой код.
Не забудьте установить библиотеки.
Теперь надо закинуть в него базу знаний. Буду возиться дальше, но зато уже более воодущевленный!
Ставь ❤️🔥 если понравился контент
Комментировать - тут
Буквально 3 часа назад я думал, что сделать свой искусственный интеллект это для богов, ну или как минимум для senior программистов. Но, как оказалось все намного проще.
Короче, задача - сделать ИИ с загруженной в него базой знаний о компании Атлас (это компания в который я работаю удаленно), чтобы в него могли писать менеджеры по продажам и спрашивать информацию
о компании и как продавать.Задача объёмная, поэтому - декомпозиция.
1. Определить, смогу ли я вообще интегрировать OpenAI с Телеграм-ботом?
2. А смогу ли я написать программу, которая будет это все делать и закинуть туда движок от GPT?
3. После того, как ИИ будет отвечать, загрузить в него базу знаний компании.
В итоге имеем следующее:
Получаем API OpenAI
Если у вас только российский номер - разживитесь иностранным (введите в гугле - номер для смс и т.п.) можно взять за 6 р. номер на 20 минут.
OpenAI даст вам $5 free credit
Скрипт для интеграции ChatGPT в Телеграм бота
Не без помощи самого ChatGPT написал такой код.
Не забудьте установить библиотеки.
from keys import OPENAI_API, BOT_TOKEN
import openai
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
openai.api_key = OPENAI_API
bot = Bot(BOT_TOKEN)
dp = Dispatcher(bot)
def generate_answer(user_message):
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": user_message,
}
],
model="gpt-3.5-turbo",
temperature=0.8,
max_tokens=1024,
top_p=1
)
return chat_completion.choices[0].message.content
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
Теперь надо закинуть в него базу знаний. Буду возиться дальше, но зато уже более воодущевленный!
Ставь ❤️🔥 если понравился контент
Комментировать - тут
Продолжаю возиться с GPT и обучать его на своих данных.
Выходит не плохо, но супер дорого.
На первом скрине можно увидеть его ответ на мой вопрос в ТГ-боте. Я халожил в него только сухую ифнормацию о процентном соотношении компонентов микрофибры.
На втором скрине можно увидеть сколько он использовал токенов, чтобы прочитать мои json и csv файлы с данными не длиннее предыдущего моего поста за 5 запросов...
То есть, я загрузил в его prompt данные из файлов:
Хоть и структурировал данные в json, он все равно жрет много токенов. В итоге он при каждом обращении считывает все данные.
Выходит не плохо, но супер дорого.
На первом скрине можно увидеть его ответ на мой вопрос в ТГ-боте. Я халожил в него только сухую ифнормацию о процентном соотношении компонентов микрофибры.
На втором скрине можно увидеть сколько он использовал токенов, чтобы прочитать мои json и csv файлы с данными не длиннее предыдущего моего поста за 5 запросов...
То есть, я загрузил в его prompt данные из файлов:
"content": f'Тебя зовут Атлас. Ты знаешь все про микрофибру. Вот что ты знаешь: {combined_info}'
Хоть и структурировал данные в json, он все равно жрет много токенов. В итоге он при каждом обращении считывает все данные.
Полезные материалы, если хотите устроиться бэкэнд разработчиком.
◦ Как мы нанимаем бэкенд-разработчиков - https://yandex.ru/jobs/pages/dev_interview
◦ Примеры задач, которые могут встретиться на интервью - https://coderun.yandex.ru/
◦ Подробнее об алгоритмической секции с кодом - https://m.habr.com/ru/company/yandex/blog/449890/
◦ Видео с решением алгоритмических задач
https://www.youtube.com/watch?v=0yxjWwoZtLw
https://www.youtube.com/watch?v=zU-LndSG5RE
◦ Практика дизайна распределенных систем
https://habr.com/ru/company/yandex/blog/564132/
◦ Числа, которые точно нужно знать
https://github.com/donnemartin/system-design-primer/blob/master/README.md#appendix
◦ Тренировочный контест - https://contest.yandex.ru/contest/50668/enter
◦ 10 ошибок, которые мешают пройти отбор на стажировку - https://education.yandex.ru/journal/10-oshibok-kotorye-meshayut-proyti-otbor-na-stazhirovku
◦ Как попасть на стажировку без проблем - https://education.yandex.ru/journal/otbor-na-stazirovky-backend-yandexa
◦ Тренировки по алгоритмам - https://yandex.ru/yaintern/algorithm-training
◦ Алгоритмы и структуры данных - https://www.youtube.com/watch?v=ijwbVxLMp58%D1%81
◦ Структуры данных - https://www.youtube.com/watch?v=DvWjXx2yG4Y&list=RDCMUCMtlICYxr6Dz_PG9_SVqRYQ&index=2
◦ Как мы нанимаем бэкенд-разработчиков - https://yandex.ru/jobs/pages/dev_interview
◦ Примеры задач, которые могут встретиться на интервью - https://coderun.yandex.ru/
◦ Подробнее об алгоритмической секции с кодом - https://m.habr.com/ru/company/yandex/blog/449890/
◦ Видео с решением алгоритмических задач
https://www.youtube.com/watch?v=0yxjWwoZtLw
https://www.youtube.com/watch?v=zU-LndSG5RE
◦ Практика дизайна распределенных систем
https://habr.com/ru/company/yandex/blog/564132/
◦ Числа, которые точно нужно знать
https://github.com/donnemartin/system-design-primer/blob/master/README.md#appendix
◦ Тренировочный контест - https://contest.yandex.ru/contest/50668/enter
◦ 10 ошибок, которые мешают пройти отбор на стажировку - https://education.yandex.ru/journal/10-oshibok-kotorye-meshayut-proyti-otbor-na-stazhirovku
◦ Как попасть на стажировку без проблем - https://education.yandex.ru/journal/otbor-na-stazirovky-backend-yandexa
◦ Тренировки по алгоритмам - https://yandex.ru/yaintern/algorithm-training
◦ Алгоритмы и структуры данных - https://www.youtube.com/watch?v=ijwbVxLMp58%D1%81
◦ Структуры данных - https://www.youtube.com/watch?v=DvWjXx2yG4Y&list=RDCMUCMtlICYxr6Dz_PG9_SVqRYQ&index=2