BoCoder | Путь в IT
474 subscribers
517 photos
7 videos
3 files
412 links
Всем привет!
Здесь про мой путь в IT и саморазвитие

Мои социальные сети и сеть каналов
@BoCoder_Perehodnik


Админ/Связь: @BoCoder_Work
Download Telegram
Доброго времени суток, друзья!

Сообщаю, что на ближайшую неделю я уезжаю на
военные сборы.
Вернусь только в следующие выходные.

Из-за этого изучение FastAPI временно откладывается — не вижу смысла начинать прямо сейчас, лучше начать изучение уже по возвращению.

Сегодня и завтра займусь подготовкой отложенных постов для второго канала:
Ссылка на 2 канал:
https://t.me/BoCoder_EDU


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

С собой беру книгу по Linux:
«Linux глазами хакера», также скачал себе на телефон пару книг.

Поддерживать связь вряд ли получится
(как предупредили, связи там не будет)

До скорых встреч!🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
8🫡7❤‍🔥1👍1🔥1😨1
Всем привет, я вернулся! ;)

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

👩‍💻 ОС и терминал👩‍💻


🔺Месяц на Linux Mint (День 58): В начале месяца ушел с винды, поставил Mint, освоился, но пришло время двигаться дальше. Планирую переход на:
Fedora Workstation
(с оболочкой KDE Plasma).


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


🔺Linux Journey & Bandit
(День 59-62): Занимался на сайте Linux Journey, освоил базу работы в терминале:
🔺Getting Started
🔺Command Line
🔺Text-Fu
🔺Permissions

Для закрепления практики проходил игру:
Bandit от OverTheWireотличный тренажер для оттачивания навыков.

👩‍💻 Инструменты и БД 👩‍💻


🔺Git & GitHub (День 63-65): Полностью освоил базу.
Обучался на Learn Git Branching и параллельно смотрел видеоурок о Git & GitHub

Слишком много время на это потратил, не нужно было зацикливаться.

🔺SQL & PostgreSQL (День 66-75): Изучил теорию на SQLBolt. Очень крутой ресурс с примерами и встроенной практикой.
Для полной разжеванности сложных моментов разговаривал ИИ.

Еще смотрел эти видео:
1 Видео: Что такое SQL и реляционные базы данных

2 Видео: Что такое базы данных? ДЛЯ НОВИЧКОВ

🔺Практиковался в PostgreSQL на сайте: PostgreSQL Exercises. Заданий много, хотя не все пригодятся в реальной жизни, так что советую фокусироваться на базе и решать только основные модули.

🔺Начал изучать:
Django ORM(День 78), чтобы писать запросы к БД.
Немного попрактиковался с моделями.

👩‍💻 Веб-разработка 👩‍💻


🔺Знакомство с HTTP
(День 82): Посмотрел вводные видео, разобрался с основными методами (GET, POST и др.) и кодами ошибок.

🔺Погружение в Django (День 79-81): Перешел к фреймворкам. Начал с Django, чтобы понять архитектуру. Читал документацию, смотрел туториал на юутбе и в итоге собрал свой первый «прототип» сайта, протестировав основные функции.

🧩 Сообщество и контент 🧩


🔺Discord-сервер: Запустил свой сервер!
Ссылка: https://discord.gg/dvsYHTYHw5

Пока там затишье, это да. Планирую в скором времени проводить может быть какие-то ивенты или соревнования.
Тяжело поддерживать все сразу

🔺Второй Telegram-канал: Создал второй канал для полезного контента. Буду делиться книгами, статьями и многим другим, основываясь на своем опыте, которые нахожу в процессе обучения.
Подписывайтесь: https://t.me/BoCoder_EDU


🔺Поездка на CTF:
Это было круто)!
Очень интересные задачи и крутая атмосфера. О том, как это было, писал тут:
[День 1] и [День 2]

Постарался прикрепить все ссылки и указать дни, вроде ничего не забыл:)

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
10❤‍🔥8🎉4
День - 83

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

Занимаюсь я все
также по этой роад мапе
👀




🖥Обязательные:

🔺1. После того как я разобрался с архитектурой веб-приложений на примере Django, я двигаюсь дальше. Мой следующий шаг для написания пет-проекта — FastAPI.

FastAPI — современный стандарт. Он быстрый, асинхронный и использует типизацию Python.

По этому выбор пал на него для освоения бэкенд

Как буду изучать:
Как и в прошлый раз буду читать официальную документацию
Ссылка: FastAPI Documentation

Вообще автор фреймворка объясняет не только как писать код, а еще и концепции.
Скорее всего буду просто читать как книгу и выделять главное для себя, сразу закрепляя теорию практикой.

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

Киллер-фичи, на которых я вообще сделаю фокус:

- Pydantic: Описание схем данных. Это валидация всего, что входит и выходит из API.

- Async/Await: Понимание, как работает асинхронность в Python (Event Loop), и почему нельзя использовать time.sleep() в асинхронном коде.

- Dependency Injection: Система зависимостей (например, получение сессии БД в каждом запросе).

В итогах поделюсь тем, что сделал сегодня и уже завтра будет виден мой примерный план изучения FastAPI.



Всем хорошего дня и настроения!

#Day83 #Days

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
9❤‍🔥4🔥3
Итоги дня:

🔺Изучение FastAPI

Первые шаги:
Сегодня начал изучение FastAPI.
Прошел вводную часть: разобрался, что это за фреймворк, в чем его ключевые отличия от других и где его лучше всего применять.
Успешно установил всё необходимое и запустил свой первый сервер с выводом «Hello World». (1 фото)

Потом я начал набрасывать и пробовать что-то по своему.
Начал писать что-то типо REST API.
Написал первые GET-запросы и тут же столкнулся с проблемой: сервер работает (статус 200), код верный, но встроенная документация Swagger (/docs) выдает белый экран. Разбирался долго, а оказалось, что это просто из-за расширений браузера, капец....... хахаахазхзавхы

Как починил, я украсил немного API документацию тегами (2 фото) и начал писать POST запросы. Например, создал метод для добавления книг, который подтверждает успешную операцию (3 фото)

Итог:
За сегодня успел освоиться и написать работающий код (на фото 5 то, что получилось в итоге). Да грязновато, но сегодня можн).
Основы изучены +-
Также нашел отличный практический видеокурс, завтра обязательно им поделюсь

Завтра перехожу уже к изучению Pydantic (Быстрая валидация данных в Python)

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
13❤‍🔥5👍2🔥11
День - 84

Доброго времени суток!)

🔺Продолжаю изучение FastAPI, перехожу к Pydantic
Pydantic — это популярная библиотека для Python, предназначенная для валидации (проверки) и настройки данных с использованием аннотаций типов.




🖥Обязательные:

🔺1. Изучение Pydantic
Нашел хороший практический видео-курс от автора:
«Артём Шумейко»

Он сделал отдельный плейлист на своем к канале о FastAPI, как раз будет хорошее дополнение к официальной документации
Ссылка на видео о Pydantic:
https://youtu.be/zTSRygNQ_Fw?si=KLXcKJu_5MoxAOm5


Изучу зачем нужна валидация данных Python и напишу свою первую Pydantic схему.



Всем продуктивного дня и удачи!

#Day84 #Days

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
112❤‍🔥3👍2🔥1
Итоги дня:

🔺Изучение FastAPI

Изучение Pydantic:
Брал осн. информацию с официальной документации и видео курса от Артёма Шумейко
Ссылка на документацию:
FastAPI Documentation

Ссылка на видео о Pydantic:

https://youtu.be/zTSRygNQ_Fw?si=KLXcKJu_5MoxAOm5

Ролик идет 21 минуту. После небольшого вступления начинается практическая часть. Я написал свои первые схемы, поэкспериментировал с типами данных и валидацией (пример одной из схем — на первом фото). Работать с библиотекой очень приятно, она возвращает понятные ошибки, поэтому сразу ясно, что и где нужно исправить.

Потом я подключил FastAPI + Pydantic, Реализовал два эндпоинта (второе фото) На добавление и получение пользователей.
Запустил сервер — всё работает

Вроде все хорошо, понятно и прекрасно. Завтра уже буду учится подключать базу данных и делать запросы

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8❤‍🔥4👍211
День - 85

Доброго времени суток!
Интересные конечно новости, дошли до блокировки
телеграмм в рф😳
Во 2 канале сделаю пост с форками тг, которые будут работать без впн и замедлений

Как относитесь к блокировке тг?😒

🔺Ну а я продолжаю изучать FastAPI
Сегодня буду создавать базу данных, подключатся и писать простые запросы.




🖥Обязательные:

🔺1. Изучение базы данных в FastAPI

В планах:
1. Создание базы данных и подключение к ней
2. Интеграция БД с FastAPI
3. Практическая работа: вставка данных в базу и их последующее получение


Смотрю практический видео-курс от автора:
«Артём Шумейко»
Ссылка на видео
Базы данных в
FastAPI:
https://youtu.be/oMmDTmLDQCg?si=FrPLDYNRlrD1VSky




Всем желаю продуктивного дня!

#Day85 #Days

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥2🔥2
Итоги дня:

🔺Изучение FastAPI

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

Как починил — продолжил.

Интегрировал базу данных с FastAPI, уже по увереннее пишу и понимаю код.
Интегрировал, сделал шаблоны для эндпойнтов и приступил к вставке данных в базу данных. Реализовал эндпойнт для этого, который добавляет книгу (1 фото), протестил, работает, возвращает {"ok": true}

Потом написал 2 эндпойнт который уже выводит все книги добавленные в бд (2 фото). Как раз втором эндпоинте возник затуп мой — немного запутался в логике сессий и запросов.
Разбирал по кусочкам разбирать код с ИИ, чтобы понять, где именно я мог тупануть.

В итоге: ошибки исправлены, база данных отвечает, а за одно и разобрал фулл код для большего понимания

Результат на 3 фото

Сегодня особо не углублялся, но всё очень даже хорошо понял: что к чему, куда и зачем. Даже в видео сказали, что пока этого достаточно. Написал мега базу крч
Но углубляться буду 100%, скорее всего, с понедельника — тогда уже начну писать пет-проект. Интересно, сколько времени это займет.

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63❤‍🔥2
День - 86

Доброго времени суток!

🔺Не знаю насколько это хорошее решение, но я решил уже сейчас начать писать простое Book Store API.
Думаю, что учиться по ходу дела будет гораздо лучше и легче.

Стек:
Python 3.12
FastAPI
PostgreSQL
SQLAlchemy 2.0 (async)
Alembic
Pydantic v2
JWT аутентификация


Примерная структура проекта:
app/
├── main.py
├── config.py
├── database.py
├── models.py
├── schemas.py
├── crud.py
├── security.py
├── dependencies.py
└── routers/
├── auth.py
├── books.py
├── authors.py
└── orders.py


Написание API разобью по маленьким этапам.
Сегодня буду работать с models.py и database.py




🖥Обязательные:

🔺1. Старт
Создание папки проекта, виртуального окружения. Установка библиотек для сегодняшней работы:
pip install fastapi uvicorn sqlalchemy asyncpg pydantic-settings


🔺2. Проверка, запуск сервера
Просто создать main.py, запустить и проверить сервер.

🔺3. База данных
Подключение к PostgreSQL.
Подготовка, создание пустой таблицы.
Работа с database.py и с models.py

Пока буду идти от простого к сложному. Сделаю основные модели Book и User, если все будет идти хорошо, то планирую добавить Author и Order
Также базовые роли admin и user

Свяжу код с бд и проверю создались ли вообще таблицы

Ну главное, чтоб бд и все заработало;)
Буду пробовать, пишите в комментариях,если я вдруг делаю полный бред, я рад хейту

Буду изучать нужную теорию по ходу дела, копаясь в доках, туториалах и общаться с ИИ


Всем желаю удачи и продуктивного дня!

#Day86 #Days

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥2
Итоги дня:

🔺Изучение FastAPI

Сегодня я решил начать применять свои знания на практике и писать самый простенький пет проект Book Store API.

Что успел реализовать:
🔺Архитектура проекта:
Разделил логику на модули (config, database, models, main и тд). Задел на будущее

🔺Стек: FastAPI + PostgreSQL.
Для работы с базой выбрал асинхронную SQLAlchemy 2.0 (современный декларативный стиль Mapped).

Описал первые таблицы User и Book. Пока все таки не стал лезть в сложные связи с Orders и Author, думаю, что пока не хватит опыта, чтоб понять. А копировать с других проектов или с ИИ без понимания не охота. Хочу понимать как и что работает. (3 фото models)
Попрактикую CRUD-операции на простых моделях и потом буду усложнять

Сервер запускается, таблицы создаются.
На 1 и 2 фото мои таблички;)

Также настроил управление конфигурациями через Pydantic-settings и файл .env
Пароли не улетят в репозиторий благодаря .gitignore, сразу начал прописывать его.

Вроде все, завтра думаю будет по плотнее день и реализую уже по больше всего.

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥53
День - 87

Доброго времени суток!!

🔺Вчера все было успешно, сервер запустился, таблицы создались. Сегодня перехожу к оживлению проекта.
Буду учить API принимать данные от пользователя и сохранять их в базу.




🖥Обязательные:

🔺1. Создание схем (schemas.py)
Что это: Файл, где мы описываем правила для входящих данных.

Это нужно для того, чтобы данные сначала проходили проверку в схемах, а потом только попадали в базу models.py

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

Создам файл schemas.py и буду описывать структуру книги для запроса и ответа

🔺2. Настроить правильное открытие и закрытие сессий базы данных через get_db.
Это нужно для того, чтоб бд работала стабильно без поломок

🔺3. Написать первый рабочий эндпоинт (POST /books)
Напишу функцию, которая примет JSON, пропустит его через схемы и создаст реальную запись в таблице.

🔺4. Все протестировать и правка багов (если будут)
Зайду в Swagger, создам пару книг и проверю их наличие в базе через терминал Linux командой SELECT * FROM books;
и тд


Всем желаю удачи и продуктивного дня!


#Day87 #Days

➡️ BoCoder | 💬 Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤‍🔥332👍1