😁7 2 1
Forwarded from Хитрый Питон
Я всегда был сторонником обучения на практических задачах и сам не люблю при изучении новых языков/фреймворков/библиотек решать синтетические задачки. Поэтому мне понравился подход ребят из https://codecrafters.io/ - "напишите Redis, Git или Docker своими руками". Я некоторое время мариновал этот сайт в закладках, но тут во время отпуска решил попробовать.
Как это работает:
- Они разбивают большой проект на небольшие задачки по принципу "давай запустим сервис на порту", "теперь давай напишем простой ping/pong" и так далее
- Каждую небольшую задачку ты коммитишь, и они прогоняют по ней автоматические тесты - если тесты зеленые, то ты молодец 🙂
- Там есть очень базовые объяснения как что работает - типа туториалов "как устроен tcp" или "как работает пакет net в go", но их явно недостаточно, чтобы выполнить задание
- Самое интересное — это возможность посмотреть чужой код, прошедший тесты на каждом шаге - они просто показывают тебе покрашенные дифы и по ним можно разобраться, как именно человек переписал код чтобы решить эту задачу
У меня не было много времени, чтобы с этой штукой поиграться, но я написал базовый redis на python (который я знаю хорошо) и go (который я знаю так себе) и вот какие выводы сделал:
- Мне подход показался очень интересным, я точно буду дальше пользоваться. Пока я не платил им денег, но кажется даже без денег на тех бесплатных проектах, что у них есть, можно себя занять на некоторое время
- Это хорошая игрушка для мидлов и выше. Возможно упорный джуниор сможет разобраться, но в этом случае должен очень классно быть прокачан скилл "у меня ничего не работает, но я буду разбираться до победного"
- Мне очень понравилась фича просмотра чужих диффов - особенно для
- Важно не копировать код у других. Я для себя нашел такой вариант - там, где я разбираюсь (python) - пишу сам и смотрю чужие интересные находки. Там, где я разбираюсь не очень (go) - компилирую свой вариант из разных вариантов переписывая под свое чувство прекрасного
В общем выглядит как годный инструмент для тех, кто не хочет застаиваться и особенно прикольно для того, чтобы поразбираться с чем-то новым.
Как это работает:
- Они разбивают большой проект на небольшие задачки по принципу "давай запустим сервис на порту", "теперь давай напишем простой ping/pong" и так далее
- Каждую небольшую задачку ты коммитишь, и они прогоняют по ней автоматические тесты - если тесты зеленые, то ты молодец 🙂
- Там есть очень базовые объяснения как что работает - типа туториалов "как устроен tcp" или "как работает пакет net в go", но их явно недостаточно, чтобы выполнить задание
- Самое интересное — это возможность посмотреть чужой код, прошедший тесты на каждом шаге - они просто показывают тебе покрашенные дифы и по ним можно разобраться, как именно человек переписал код чтобы решить эту задачу
У меня не было много времени, чтобы с этой штукой поиграться, но я написал базовый redis на python (который я знаю хорошо) и go (который я знаю так себе) и вот какие выводы сделал:
- Мне подход показался очень интересным, я точно буду дальше пользоваться. Пока я не платил им денег, но кажется даже без денег на тех бесплатных проектах, что у них есть, можно себя занять на некоторое время
- Это хорошая игрушка для мидлов и выше. Возможно упорный джуниор сможет разобраться, но в этом случае должен очень классно быть прокачан скилл "у меня ничего не работает, но я буду разбираться до победного"
- Мне очень понравилась фича просмотра чужих диффов - особенно для
go
, с которым я знаком поверхностно - мне было очень интересно посмотреть на разные подходы к решению одной и той-же задачи и что-то утащить себе в копилочку- Важно не копировать код у других. Я для себя нашел такой вариант - там, где я разбираюсь (python) - пишу сам и смотрю чужие интересные находки. Там, где я разбираюсь не очень (go) - компилирую свой вариант из разных вариантов переписывая под свое чувство прекрасного
В общем выглядит как годный инструмент для тех, кто не хочет застаиваться и особенно прикольно для того, чтобы поразбираться с чем-то новым.
CodeCrafters
The Software Pro's Best Kept Secret.
Real-world proficiency projects designed for experienced engineers. Develop software craftsmanship by recreating popular devtools from scratch.
❤🔥7 2 1
epsilon correct
У рисёрчера нет цели, есть только путь до ближайшей конфы на багамах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Если тебе интересно заглянуть под капот Python и узнать, как устроены списки - есть отличная статья, которая начинается с достаточно простого примера и потом плавно погружает в глубины C-шной реализации списков в Python.
Автор статьи серьёзно подошёл к делу: он не только детально всё расписал, но и приложил кучу наглядных иллюстраций.
Даже если ты никогда не программировал на C, тебе будет понятен и интересен материал.
Ссылка на статью, рекомендую ознакомиться — это на самом деле увлекательно🙂
#python
Автор статьи серьёзно подошёл к делу: он не только детально всё расписал, но и приложил кучу наглядных иллюстраций.
Даже если ты никогда не программировал на C, тебе будет понятен и интересен материал.
Ссылка на статью, рекомендую ознакомиться — это на самом деле увлекательно
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
Codingconfessions
Why Do Python Lists Multiply Oddly? Exploring the CPython Source Code
A look at the internals of list implementation in CPython to understand this weird quirk about them
И ещё немного про Python.
Полезно тем, кто уже освоил f-строки в Python и использует их для форматирования. Часто ты останавливаешься на чём-то вроде
Например, представь, что тебе нужно превратить число в строку, где оно всегда будет занимать три позиции, дополняясь нулями спереди, если это необходимо. С f-строками это сделать проще простого! Если у тебя число 5, ты получишь
Гайд от PyBites показывает, на что способны f-строки. Если ты ещё не раскрыл для себя все возможности этого удобного инструмента - бегом читать🙃
Ссылка
А ещё по f-строкам у меня была ссылка на другой хороший материал в посте
#python
Полезно тем, кто уже освоил f-строки в Python и использует их для форматирования. Часто ты останавливаешься на чём-то вроде
f"string {variable}"
, но знаешь ли ты, что f-строки скрывают в себе гораздо больше возможностей?Например, представь, что тебе нужно превратить число в строку, где оно всегда будет занимать три позиции, дополняясь нулями спереди, если это необходимо. С f-строками это сделать проще простого! Если у тебя число 5, ты получишь
"005"
, а если 123, то останется просто "123"
.Гайд от PyBites показывает, на что способны f-строки. Если ты ещё не раскрыл для себя все возможности этого удобного инструмента - бегом читать
Ссылка
А ещё по f-строкам у меня была ссылка на другой хороший материал в посте
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
Pybites
Python F-String Codes I Use Every Day - Pybites
I use f-strings every day. The irony is I also every day end up searching the Web to find the correct format to use. Until one day I thought a
Teable - no-code база данных построенная поверх PostgreSQL.
Она использует простой интерфейс, похожий на электронные таблицы, для создания приложений БД корпоративного уровня.
#db #nocode #teable
Она использует простой интерфейс, похожий на электронные таблицы, для создания приложений БД корпоративного уровня.
#db #nocode #teable
teable.io
Teable - AI no-code database, Full-scenario Full-automatic
Teable is an AI-driven no-code database that allows everyone to build powerful applications. Batch call AI generative tasks, integrate application building/data analysis/AI generation/enterprise AI knowledge base.
SQLMesh
SQLMesh - это фреймворк нового поколения для преобразования и моделирования данных, обратно совместимый с dbt. Он отличается простотой использования, корректностью и эффективностью.
SQLMesh позволяет специалистам по работе с данными эффективно запускать и внедрять преобразования данных, написанные на SQL или Python.
Авторы обещают, что SQLMesh сделает твои проекты на базе dbt более эффективными, надёжными и удобными в обслуживании, и это больше, чем просто альтернатива dbt.
#sqlmesh #sql #dbt #db
SQLMesh - это фреймворк нового поколения для преобразования и моделирования данных, обратно совместимый с dbt. Он отличается простотой использования, корректностью и эффективностью.
SQLMesh позволяет специалистам по работе с данными эффективно запускать и внедрять преобразования данных, написанные на SQL или Python.
Авторы обещают, что SQLMesh сделает твои проекты на базе dbt более эффективными, надёжными и удобными в обслуживании, и это больше, чем просто альтернатива dbt.
#sqlmesh #sql #dbt #db
GitHub
GitHub - TobikoData/sqlmesh: Scalable and efficient data transformation framework - backwards compatible with dbt.
Scalable and efficient data transformation framework - backwards compatible with dbt. - TobikoData/sqlmesh
Forwarded from О разработке и не только
Очень полезная статья для тех, кто работает с celery. А если вы из мира python, то для отложенных задач не так уж и много альтернатив. Через решение непосредственно задачи отдачи метрик в prom раскрывается внутреннее устройство фреймворка: какие настройки есть, как работают и как их правильно использовать.
https://habr.com/ru/companies/domclick/articles/804535/ #dev #python
https://habr.com/ru/companies/domclick/articles/804535/ #dev #python
Хабр
Мониторинг Celery
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты...
Мне кажется порою, что солдаты,
С кровавых не пришедшие полей,
Не в землю нашу полегли когда-то,
А превратились в белых журавлей.
Они до сей поры с времён тех дальних
Летят и подают нам голоса,
Не потому ль так часто и печально
Мы замолкаем, глядя в небеса.
Летит, летит по небу клин усталый,
Летит в тумане на исходе дня,
И в том строю есть промежуток малый,
Быть может, это место для меня.
Настанет день и с журавлиной стаей
Я поплыву в такой же сизой мгле,
Из-под небес по-птичьи окликая
Всех вас, кого оставил на земле.
…
С кровавых не пришедшие полей,
Не в землю нашу полегли когда-то,
А превратились в белых журавлей.
Они до сей поры с времён тех дальних
Летят и подают нам голоса,
Не потому ль так часто и печально
Мы замолкаем, глядя в небеса.
Летит, летит по небу клин усталый,
Летит в тумане на исходе дня,
И в том строю есть промежуток малый,
Быть может, это место для меня.
Настанет день и с журавлиной стаей
Я поплыву в такой же сизой мгле,
Из-под небес по-птичьи окликая
Всех вас, кого оставил на земле.
…