Получи случайную криптовалюту за регистрацию!

@davidobryakov

Логотип телеграм канала @davidobryakov — @davidobryakov D
Логотип телеграм канала @davidobryakov — @davidobryakov
Адрес канала: @davidobryakov
Категории: Блоги
Язык: Русский
Количество подписчиков: 704
Описание канала:

Немного преподаю, немного управляю.
Автор — @kantegory
Github — https://github.com/kantegory
Дзен — https://dzen.ru/dobryakov
Boosty — https://boosty.to/dobryakov
YouTube — https://youtube.com/@dobryakov
Блог — https://blog.kantegory.me

Рейтинги и Отзывы

2.67

3 отзыва

Оценить канал davidobryakov и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

1


Последние сообщения

2022-03-12 09:11:00 Свой VPN — что может быть лучше в это непростое время?

А сделать его можно буквально за 5-10 минут и довольно дёшево. Рекомендую освежить в памяти мою старую статейку по поводу настройки собственного VPN:

https://blog.kantegory.me/vpn
1.1K viewsDavid Dobryakov, 06:11
Открыть/Комментировать
2022-02-19 16:01:24 Как не расстрелять свои ноги с Django, транзакциями и исключениями

#django #python #backend

Крутой информативный ролик от канала "Диджитализируй!" про транзакции и эксепншены в Django, рекомендую к просмотру. Здесь разбирают так же и работу со средним слоем (middleware), что делает ролик ещё более полезным.

Я на своей практике несколько раз сталкивался с проблемными транзакциями в Django, которые проходили, но частично, что ломало общую логику и каждый раз дебажить это — сущий ад, поэтому посмотрите, чтобы быть морально готовыми к подобным ситуациям в будущем :)

Сталкивались ли вы с подобными проблемами? Как решали? Делитесь в комментариях :)

Ссылка:

878 viewsDavid Dobryakov, 13:01
Открыть/Комментировать
2022-02-13 12:29:49 Здравствуйте, CSS Cascade Layers

#css #фронтенд #браузеры

Новый подход к организации каскадности CSS-кода, который появится в ванильном CSS. Думаю, сама проблема, которая этой технологией решается — довольно понятна.

Вот, как CSS Cascade Layers описаны в спецификации:

"Cascade Layers will allow authors to manage their internal cascade logic, without relying entirely on the specificity heuristic or source order." — дословно — "Cascade Layers позволят авторам управлять их внутренней каскадной логикой, не полагаясь только на исходный порядок или эвристику специфичности."

Язык спецификации, конечно, немного запутан, но общая суть читается легко.

В своей же новой статье, Ахмад Шадид разбирается в том, как работает новая технология. Приводит примеры кода, сравнивая Cascade Layers со слоями в том же фотошопе и на мой взгляд, сравнение достаточно уместно и хорошо объясняет то, что происходит на самом деле.

По сути, теперь не исходный порядок кода определяет последовательность применения стилей, а ВЫ, просто явно указывая, какой из слоёв стоит применять с приоритетом выше над другими.

Ссылка на статью: https://ishadeed.com/article/cascade-layers/#introducing-css-cascade-layers
781 viewsDavid Dobryakov, 09:29
Открыть/Комментировать
2022-02-10 16:16:00Делаем авторизацию по номеру телефона или email в Django

#django #python #backend

Привет! Это пилотный выпуск моего мини-курсика по REST-авторизации с помощью Django. Сегодня разберём способы расширения пользовательской модели, напишем кастомный бэкенд для аутентификации, подключим djoser, настроим работу с его сигналами и даже отправим ссылку для подтверждения регистрации на пользовательский email.

Смотреть:



Полезные ссылки:

Ролик про авторизацию и регистрацию:


Что нужно знать python backend developer для устройства на работу: https://t.me/davidobryakov/1140
Способы расширения кастомной модели пользователя: https://habr.com/ru/post/313764/
Документация djoser: https://djoser.readthedocs.io/
Исходный код из урока: https://github.com/kantegory/django-rest-auth-core/tree/lesson-1
667 viewsDavid Dobryakov, 13:16
Открыть/Комментировать
2022-02-07 22:01:00 Linux прямо в браузере? Легко!

#браузеры #linux #wasm

Нашёл крутую статью, в которой рассказывается, как удалось запустить linux-консоль прямо в браузере, которая умеет запускать deb-пакеты. По сути, это бессерверный терминал, работающий на HTML5 и WebAssembly.

Я немного с ним поигрался, работает, конечно не то чтобы супер быстро, но это всё равно поражает. Не зря, некоторые люди считают, что браузеры это уже прямо отдельные операционные системы, существующие по своим собственным законам. Вот думаю, что я бы попробовал собрать какой-нибудь bash-тренажёр с помощью этой истории.

А что вы об этом думаете? Пишите в комментариях, давайте пообщаемся на эту тему :)
678 viewsDavid Dobryakov, edited  19:01
Открыть/Комментировать
2022-02-06 16:19:27 Что нужно знать python backend developer для устройства на работу

#django #python #backend

Сегодня по просьбе подруги составил список всех вещей, которые, на мой взгляд, позволят вам устроиться на работу на должность "Python Backend Developer". Это не то, что бы выжимка из вакансий, скорее, мой личный опыт проведения собеседований по требованиям различных работодателей. Если вам есть что добавить, то жду вас в комментариях :)

Фреймворки:

- django (+ django-rest-framework)
- flask/fastapi (+ alembic, sqlalchemy)

Базы данных:

- redis
- postgresql

Основы:

- http-протокол, http-методы
- что такое CORS и как его победить
- linux/unix на уровне понимания работы по ssh
- понимание концепции MVC и принципа работы паттерна репозиторий (паттерн репозиторий больше нужен для работы с SQLAlchemy, потому что она не настолько удобна и полна как django orm, в django orm эту работу выполняют менеджеры моделей)

Что нужно знать в django:

- работа с django ORM: https://docs.djangoproject.com/en/4.0/topics/db/queries/
- менеджеры моделей: https://docs.djangoproject.com/en/4.0/topics/db/managers/
- формы: https://docs.djangoproject.com/en/4.0/ref/forms/ (опционально)
- сигналы: https://docs.djangoproject.com/en/4.0/topics/signals/ (на уровне концепции)
- admin actions: https://docs.djangoproject.com/en/4.0/ref/contrib/admin/actions/ (опционально)
- в целом работа с админкой: https://docs.djangoproject.com/en/4.0/ref/contrib/admin/ (на уровне концепции)
- отправка емейлов: https://docs.djangoproject.com/en/4.0/topics/email/ (опционально)
- сериализаторы, вьюшки и пермишены из drf: https://www.django-rest-framework.org/
- полезные библиотеки: https://github.com/adamchainz/django-cors-headers, https://djoser.readthedocs.io/en/latest/, https://django-constance.readthedocs.io/en/latest/, https://rsinger86.github.io/django-lifecycle/, https://django-jazzmin.readthedocs.io/
- важная проблема с админкой, о которой стоит знать: https://stackoverflow.com/questions/16755312/django-admin-change-form-load-quite-slow

Что нужно знать/уметь в flask/fastapi:

- работа с ORM SQLAlchemy: https://docs.sqlalchemy.org/en/14/intro.html
- работа с alembic: https://alembic.sqlalchemy.org/en/latest/
- работа с TortoiseORM (опционально): https://tortoise.github.io/index.html
- понимание async/await или работа с asyncio

Общие требования:

- работа с очередями задач с помощью Celery/RabbitMQ (на уровне перевода отправки емейлов в фоновом режиме и выполнения каких-то периодических задач)

Инструменты:

- git
- docker, docker-compose (на уровне: могу прочесть конфиг, могу запустить проект, могу написать свой простой конфиг)
- gunicorn/uvicorn (иметь представление о том что это и для чего используется)
- nginx (понимание на уровне директив location и upstream)
658 viewsDavid Dobryakov, edited  13:19
Открыть/Комментировать
2022-02-05 21:09:02 Подборка лучших библиотек для Django

#django #подборка

Почти по каждому из популярных инструментов на Github делают подборку самых лучших библиотек/инструментов/дополнений и так далее. Django, разумеется, не стал исключением. В подборке Awesome Django много реально крутых и полезных решений, как то: django-jazzmin (кастомизируемая красивая админ-панель), django-import-export (инструмент для импорта и экспорта данных в различных форматах), django-loginas (кнопка для логина под любым юзером), djoser (отличная библиотека для REST-авторизации) и так далее. Весь список можете увидеть по ссылке ниже.

А какие библиотеки вы чаще всего используете при работе с Django? Делитесь в комментариях, если наберётся много крутых решений, запилю отдельный пост с вашими рекомендациями :)

Ссылка на Awesome Django: https://github.com/wsvincent/awesome-django
453 viewsDavid Dobryakov, 18:09
Открыть/Комментировать
2022-02-05 15:52:11 No-code и ИИ заменят программистов?

Довольно часто в последнее время слышу это странное мнение: "ИИ развивается так быстро, что скоро всех программистов заменят нейросети. No-code/zero-code решения заменят программистов." А сегодня даже попался ролик в рекомендациях на эту тему, в котором, на мой взгляд, довольно аргументированно объясняют почему это утверждение не то, что бы очень близко к правде.

Да и сам я, если честно, считаю, что хорошего специалиста вряд ли можно заменить нейросетью. Разработчики довольно часто решают весьма нетривиальные задачи, решение которых не скинешь на ИИ, а No-code/Zero-code — просто мощные инструменты (чаще всего, когда говорят No-code — подразумевают конструкторы сайтов и мобильных приложений, но это не совсем так, дальше расскажу про свой опыт), но фронтендеров они не заменят.

Я работаю с No-code решением для интеграций между разными сервисами — Zapier и точно могу сказать, что если человек не является разработчиком, то он вряд ли что в этом поймёт и на данный момент — это всё ещё не ориентировано на массовый сегмент. Вам всё равно нужно знать хотя бы азы: http-заголовки, форматы данных, понимать как работает ветвление и так далее, поэтому пока что No-code (подразумеваю всё что угодно кроме конструкторов сайтов) — это инструмент, сделанный программистами для других программистов и не более.

А как вы считаете — заменит ли нас ИИ и No-code или нет? Пишите в комментарии, давайте пообщаемся :)

А вот и ссылка на ролик, который натолкнул меня на эти размышления:

388 viewsDavid Dobryakov, 12:52
Открыть/Комментировать
2022-02-04 15:26:28 Как организовать хороший Code Review в команде

Отличный ролик с канала "S0ER", посвящённый организации Code Review. Лично для меня, ряд моментов после него прояснился и процесс ревью (который то есть, то нет) у нас в команде после этого обязательно изменится и обретёт более очерченные рамки, чем сейчас (есть набор правил, которым должен соответствовать код и если он им не соответствует, то возвращается обратно).

А как у вас в команде организован Code Review? Пишите в комментарии, интересно узнать :)

Смотреть:

409 viewsDavid Dobryakov, 12:26
Открыть/Комментировать
2022-01-30 18:14:18Да кто такой этот ваш DDD?!

#подборка #программирование #ddd

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

Если говорить кратко, DDD — это подход, который нацелен на изучение предметной области предприятия в целом или каких-то отдельных бизнес-процессов.

То есть, нам бы хорошо либо самим быть Domain Expert, либо иметь такого Domain Expert у себя в команде/в качестве приглашённого эксперта, чтобы лучше понимать бизнес-процессы в определённой предметной области и перекладывать их на конечную реализацию нашего проекта/продукта.

Ну а если хотите подробностей, то я собрал для вас несколько источников (я уже недавно такое делал и, кажется, вам зашло), изучив которые — вы сможете лучше понять DDD.

1) Ёмкая статья на хабре — "Что можно узнать о Domain Driven Design за 10 минут?" (https://habr.com/ru/company/dododev/blog/489352/)
2) Большой сборник различных полезностей на Github — "Awesome DDD" (https://github.com/heynickc/awesome-ddd)
3) Применение DDD в django — "Domain-driven design, Hexagonal architecture of ports and adapters, Dependency injection и Python" (https://habr.com/ru/post/559560/)
481 viewsDavid Dobryakov, 15:14
Открыть/Комментировать