Ого, оказывается Python активно используется при производстве фильмов и всяких анимационных мультфильмов.
Чувак, который работал в Sony Pictures, в частности над Spider-Man: Homecoming, рассказывает как Python помогает на разных этапах производства фильма. Там ещё есть ссылки на целую серию постов про разбор разных фильмов. Чувак даже сделал курс на Udemy, где обучает как скриптовать в Maya на питоне.
Я абсолютно ничего в этом не понимаю, но всё равно приятно открывать для себя новые области, где используется Python. Наверное, секрет успеха здесь в том, что питон часто используют как встраиваемый язык в сложном софте.
https://www.gfx.dev/python-for-feature-film
Чувак, который работал в Sony Pictures, в частности над Spider-Man: Homecoming, рассказывает как Python помогает на разных этапах производства фильма. Там ещё есть ссылки на целую серию постов про разбор разных фильмов. Чувак даже сделал курс на Udemy, где обучает как скриптовать в Maya на питоне.
Я абсолютно ничего в этом не понимаю, но всё равно приятно открывать для себя новые области, где используется Python. Наверное, секрет успеха здесь в том, что питон часто используют как встраиваемый язык в сложном софте.
https://www.gfx.dev/python-for-feature-film
Graphics
Python For Feature Film
A look into how Python is used to bring your favorite movies to the big screen.
Don Syme (создатель языка F#) учит Гвидо писать функциональщину. Забавно, что два дизайнера языков собрались, и один презентует свой язык другому.
Напомню, что Гвидо в одном из предыдущих интервью говорил, что он никогда не увлекался функциональным программированием. Судя по всему, в этом видео он увидел F# впервые (я тоже).
Хорошее вводное видео в F#. Оттуда я узнал, что на нём можно делать фуллстэк — можно бабахать бэкенды, и даже есть какая-то забавная обёртка над React, так что можно делать SPA фронтенды.
https://www.youtube.com/watch?v=e2J9PGC-K1E
Напомню, что Гвидо в одном из предыдущих интервью говорил, что он никогда не увлекался функциональным программированием. Судя по всему, в этом видео он увидел F# впервые (я тоже).
Хорошее вводное видео в F#. Оттуда я узнал, что на нём можно делать фуллстэк — можно бабахать бэкенды, и даже есть какая-то забавная обёртка над React, так что можно делать SPA фронтенды.
https://www.youtube.com/watch?v=e2J9PGC-K1E
YouTube
Don Teaches Guido F# | #dotNETConf: Focus on F#
https://aka.ms/dotNETConfFocusFSharp
Tune in for a fun, interactive, and fascinating session with two programming language creators. Guido van Rossum, creator of Python, learns F# from scratch from the creator of F#, Don Syme!
Tune in for a fun, interactive, and fascinating session with two programming language creators. Guido van Rossum, creator of Python, learns F# from scratch from the creator of F#, Don Syme!
Forwarded from DevBrain
Годнота подъехала. Подробная статья про FastAPI, асинхронный SQLAlchemy через новую балалайку SQLModel: https://testdriven.io/blog/fastapi-sqlmodel/
testdriven.io
FastAPI with Async SQLAlchemy, SQLModel, and Alembic
This tutorial looks at how to configure SQLAlchemy, SQLModel, and Alembic to work with FastAPI asynchronously.
Java 17 подрезает Python 3.10 на финишной прямой (кстати, релиз запланирован на 4 октября) и релизит паттерн-матчинг на две недели раньше 😅
Забавно, что паттерн-матчинг уже был в Haskell в 1990 году. А Википедия говорит, что были и другие языки с паттерн-матчингом до Haskell, начиная с 1955-х годов. Получается, теорию разработали ещё раньше.
После хаскеля потребовалось ещё 30 лет, чтобы эта фича из разряда «снова эти наркоманы что-то выдумали» перешла в «нам всем это очень надо». Думаю, что успех Rust тут сыграл не последнюю роль.
Это замечательно иллюстрирует, насколько медленно к нам в мейнстримные языки проникают инновации. Говорят, что для теории языков программирования — это норма. Ребята там сейчас придумывают вещи, которые до нас дойдут лишь лет через 20-30, если повезёт.
Но похоже, что скоро паттерн-матчинг будет везде! Например, есть пропозал для JS.
Забавно, что паттерн-матчинг уже был в Haskell в 1990 году. А Википедия говорит, что были и другие языки с паттерн-матчингом до Haskell, начиная с 1955-х годов. Получается, теорию разработали ещё раньше.
После хаскеля потребовалось ещё 30 лет, чтобы эта фича из разряда «снова эти наркоманы что-то выдумали» перешла в «нам всем это очень надо». Думаю, что успех Rust тут сыграл не последнюю роль.
Это замечательно иллюстрирует, насколько медленно к нам в мейнстримные языки проникают инновации. Говорят, что для теории языков программирования — это норма. Ребята там сейчас придумывают вещи, которые до нас дойдут лишь лет через 20-30, если повезёт.
Но похоже, что скоро паттерн-матчинг будет везде! Например, есть пропозал для JS.
www.opennet.ru
Выпуск Java SE 17
После шести месяцев разработки компания Oracle выпустила платформу Java SE 17 (Java Platform, Standard Edition 17), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java…
День Docker'а на канале.
Все, кто пользуется Docker, знают, что он кэширует сборку слоями, команда за командой. Но знали ли вы, что с недавних пор помимо кэширования слоями можно ещё закэшировать отдельную папку? Например, таким образом можно заставить работать встроенный в
Магия активируется вот таким набором заклинаний:
1. устанавливаем переменную окружения, чтобы задействовать новый механизм сборки:
Как минимум, это удобно для сборки образов на локальной машине. Если в CI настроить сохранение кэшей Docker'а между запусками, то это тоже будет работать.
https://pythonspeed.com/articles/docker-cache-pip-downloads/
#синийкит #docker
Все, кто пользуется Docker, знают, что он кэширует сборку слоями, команда за командой. Но знали ли вы, что с недавних пор помимо кэширования слоями можно ещё закэшировать отдельную папку? Например, таким образом можно заставить работать встроенный в
pip
кэш и не перекачивать все ваши 1000 пакетов старых зависимостей из PyPI каждый раз, если вы вдруг решили добавить ещё одну новую.Магия активируется вот таким набором заклинаний:
1. устанавливаем переменную окружения, чтобы задействовать новый механизм сборки:
$ export DOCKER_BUILDKIT=12. в начало
Dockerfile
добавляем строчку с указанием на новый синтаксис:# syntax = docker/dockerfile:1.33. в команду
RUN
добавляются новые аргументы:RUN --mount=type=cache,target=/root/.cache \Docker закэширует эту папку у себя во внутреннем кэше, и будет подкладывать её внутрь для этого шага при каждой новой сборке. В итоговом образе этих файлов не будет, но шаг с установкой зависимостей будет проходить намного быстрее.
pip install -r requirements.txt
Как минимум, это удобно для сборки образов на локальной машине. Если в CI настроить сохранение кэшей Docker'а между запусками, то это тоже будет работать.
https://pythonspeed.com/articles/docker-cache-pip-downloads/
#синийкит #docker
Python⇒Speed
Speed up pip downloads in Docker with BuildKit’s new caching
Every time you change your Python pip requirements and rebuild your Docker image, you’re going to redownload all your packages. You can fix this with BuildKit.
Ещё одна классная фича, доступная с новым синтаксисом
Раньше:
#синийкит #dockerо
Dockerfile
— многострочные команды, т.е. поддержка полноценных скриптов! Умные люди называют такой синтаксис heredoc. Теперь можно больше не писать эти дурацкие амперсанды и бэкслеши в конце каждой строчки в длинной команде.Раньше:
FROM debian
RUN apt-get update \
&& apt-get install -y vim
Сейчас:# syntax=docker/dockerfile:1.3-labs
FROM debian
RUN <<eot bash
apt-get update
apt-get install -y vim
eot
А ещё таким образом можно запускать даже скрипты на python
(да и вообще любые скрипты). Скрипт выполнится, результаты его работы останутся в образе, но сам он никогда туда не попадёт, потому что он вообще не сохраняется на диск. Пока не придумал, зачем такое может пригодиться, но прикольно:# syntax=docker/dockerfile:1.3-labs
FROM python:3.9-slim-buster
RUN python3 <<EOF
for i in range(10):
with open(f"/{i}.txt", "w") as f:
f.write(f"File {i}")
EOF
Источник: https://twitter.com/iximiuz/status/1436357612740694016?s=20#синийкит #dockerо
Twitter
Ivan Velichko
Dockerfile:1.3 brought multiline RUN support 🔥 That's how a modern Dockerfile may look like # syntax=docker/dockerfile:1.3-labs FROM debian RUN <<eot bash apt-get update apt-get install -y vim eot No more nasty && in bash scripts. Yay!
Forwarded from Geeks (жук невывожук)
Вышла версия 1.0.0.beta0 python-библиотеки httpx. Это - достаточно известная библиотека для осуществления HTTP-запросов, и она предоставляет разработчику как синхронное API, так и асинхронное. Использую её достаточно давно и всем устраивает. Как приятный бонус - вызовы полностью идентичны таковым в широко распространенной библиотеке requests. Тех, кто использует тайпинг, порадует то, что библиотека полностью аннотирована.
Примечательно, что в новой версии библиотеки был реализован HTTP-клиент, который можно дергать прям из командной строки. И это прям удобно настолько, что мне даже нравится. Вывод подсвечен, и вроде все работает.
Если хочется быстро попробовать, то скачиваем пакет:
Примечательно, что в новой версии библиотеки был реализован HTTP-клиент, который можно дергать прям из командной строки. И это прям удобно настолько, что мне даже нравится. Вывод подсвечен, и вроде все работает.
Если хочется быстро попробовать, то скачиваем пакет:
pip install --pre 'httpx[cli]'И пробуем:
httpx --verbose https://httpbin.org/jsonСсылка на GitHub библиотеки https://github.com/encode/httpx
GitHub
GitHub - encode/httpx: A next generation HTTP client for Python. 🦋
A next generation HTTP client for Python. 🦋. Contribute to encode/httpx development by creating an account on GitHub.
Ну и ещё одна фича — команда
Источник: https://twitter.com/iximiuz/status/1436361338696183815?s=20
#синийкит #docker
COPY
в Dockerfile
тоже получила поддержку heredoc.# syntax=docker/dockerfile:1.3-labs
COPY <<EOF /usr/share/nginx/html/index.html
<html>
<head></head>
<body>Hi!</body>
</html>
EOF
Теперь можно разные небольшие файлы создавать прямо в Dockerfile
.Источник: https://twitter.com/iximiuz/status/1436361338696183815?s=20
#синийкит #docker
Twitter
Ivan Velichko
Dockerfile COPY also got the heredoc support 🎉 Now all kinds of file embedding are possible! Example: COPY <<EOF /usr/share/nginx/html/index.html <html> <head></head> <body>Hi!</body> </html> EOF
Знаю, что на канале есть некоторое количество пользователей OpenWRT — свободной прошивки для роутеров на линуксе.
Если вдруг пропустили, то вышла новая версия 21.02. Пора обновляться!
Попробую обновиться и по возможности адаптирую пост про точечный обход блокировок. Хотя, почитав последние грустные новости про суверенный интернет и ТСПУ, я уже начинаю склоняться к более простому и надёжному варианту — пересесть на VPN полностью.
#оффтоп
Если вдруг пропустили, то вышла новая версия 21.02. Пора обновляться!
Попробую обновиться и по возможности адаптирую пост про точечный обход блокировок. Хотя, почитав последние грустные новости про суверенный интернет и ТСПУ, я уже начинаю склоняться к более простому и надёжному варианту — пересесть на VPN полностью.
#оффтоп
www.opennet.ru
Выпуск OpenWrt 21.02.0
Представлен новый значительный выпуск дистрибутива OpenWrt 21.02.0, ориентированного на применение в различных сетевых устройствах, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает множество различных платформ и архитектур и обладает…
Закончились футболки? Выход есть — Hacktoberfest 😝
Ежегодный фестиваль-флешмоб длиной в один месяц, посвященный open-source. Не знаю, какие будут условия в этом году, но в предыдущие годы за 4 pull-реквеста в участвующие проекты на GitHub или GitLab выдавали приз-футболку и ещё какие-то наклейки-сувениры.
Думаю, в этом году я впервые попробую активно поучаствовать. Дело даже не столько в футболке (хотя я был бы рад её получить), сколько в крутости этой затеи. Круто, что людей поощряют контрибьютить в опен-сорс. На качественных опен-сорс проектах и держится всё наше IT. Я хочу поддерживать такие инициативы.
https://hacktoberfest.digitalocean.com/
Накидайте в комменты репозиториев, куда вы хотели бы законтрибьютить 👇
Ежегодный фестиваль-флешмоб длиной в один месяц, посвященный open-source. Не знаю, какие будут условия в этом году, но в предыдущие годы за 4 pull-реквеста в участвующие проекты на GitHub или GitLab выдавали приз-футболку и ещё какие-то наклейки-сувениры.
Думаю, в этом году я впервые попробую активно поучаствовать. Дело даже не столько в футболке (хотя я был бы рад её получить), сколько в крутости этой затеи. Круто, что людей поощряют контрибьютить в опен-сорс. На качественных опен-сорс проектах и держится всё наше IT. Я хочу поддерживать такие инициативы.
https://hacktoberfest.digitalocean.com/
Накидайте в комменты репозиториев, куда вы хотели бы законтрибьютить 👇
Hacktoberfest
Hacktoberfest 2025
Hacktoberfest: a month-long celebration of open-source projects, their maintainers, and the entire community of contributors.
Питонические атаки
Закончились футболки? Выход есть — Hacktoberfest 😝 Ежегодный фестиваль-флешмоб длиной в один месяц, посвященный open-source. Не знаю, какие будут условия в этом году, но в предыдущие годы за 4 pull-реквеста в участвующие проекты на GitHub или GitLab выдавали…
Проясню насчёт Hacktoberfest.
Я, конечно же, шучу насчёт того, что нужно участвовать там лишь ради футболок. Надо участвовать там из принципа и ради поддержки важных проектов, а футболка — не более чем трофей за проделанную работу.
В прошлом году была драма из-за наплыва большого количества участников, которые начали ради футболок отправлять всюду кучу спамных пулл-реквестов, где яростно добавляли и удаляли запятые в
Я, конечно же, шучу насчёт того, что нужно участвовать там лишь ради футболок. Надо участвовать там из принципа и ради поддержки важных проектов, а футболка — не более чем трофей за проделанную работу.
В прошлом году была драма из-за наплыва большого количества участников, которые начали ради футболок отправлять всюду кучу спамных пулл-реквестов, где яростно добавляли и удаляли запятые в
README.md
, что вызвало волну возмущения. Есть даже аккаунт в Твиттере, где собирают такое. Не будьте как эти чуваки. Не заставляйте мейнтейнеров разгребать за вами спам. У них и так достаточно забот. Делайте ценный вклад. Фиксите баги, которые вам мешают. Добавляйте фичи, которых вам не хватает. Улучшайте документацию — это тоже почётно. Только если это действительно важно, а не про расстановку запятых.Twitter
#shitoberfest (@shitoberfest) | Twitter
The latest Tweets from #shitoberfest (@shitoberfest). The official account to document shit pull-requests caused by #hacktoberfest. Tweet at this account with evidence of vandal PRs. Created by @geoffreyhuntley. 🌏 GitHub
В репозиторий Deno — рантайм для TypeScript — кто-то хотел добавить песню. Не хватает музыки!😅
https://twitter.com/frunkad/status/1312309284957351936?s=21
https://twitter.com/frunkad/status/1312309284957351936?s=21
Интересная мысль про языки программирования. Мы любим новые сияющие языки, на которых в основном всё пишется с нуля. Но мы ненавидим старые языки, которые могут быть не плохими сами по себе, но на них уже накопился багаж кода, который теперь приходится поддерживать. Все любят писать свой код, но мало кто любит поддерживать чужой код.
Python уже достаточно стар, и на нём написано много кода, но он все ещё каким-то образом держится в начале рейтинга любимых языков. Похоже, переход со второй версии на третью открыл языку второе дыхание, и благодаря этому его не перестали любить.
https://earthly.dev/blog/brown-green-language/
Python уже достаточно стар, и на нём написано много кода, но он все ещё каким-то образом держится в начале рейтинга любимых языков. Похоже, переход со второй версии на третью открыл языку второе дыхание, и благодаря этому его не перестали любить.
https://earthly.dev/blog/brown-green-language/
Earthly Blog
Green Vs. Brown Programming Languages
In this article, the author explores the concept of "brown" and "green" programming languages based on the Stack Overflow Devel...
boltons
— коллекция утилит, расширяющая стандартную библиотеку. Это почти как built-ins
, только boltons
😉Есть ли у вас в проекте файл
utils.py
или что-то подобное? Скорее всего, то что вы там храните, есть в boltons
.Код: https://github.com/mahmoud/boltons
Документация: https://boltons.readthedocs.io/
Там есть очень много всего, но вот, что мне особенно нравится:
* словари на любой вкус и цвет — и с поддержкой нескольких значений для одного ключа, и которые маппят ключ в значение и одновременно обратно значение в ключ (биекция);
* список, состоящий под капотом из множества других списков, оптимизированный для более эффективной работы при интенсивных вставках и удалениях;
* очень много функций для работы со строками —
camel2under
, under2camel
, slugify
, ordinalize
, cardinalize
, pluralize
, bytes2human
, ...;* утилиты для работы с датами — например, там есть функция, умеющая делать относительные человекочитаемые даты типа
"yesterday"
, "1 week ago"
, "3 days from now"
.Пакет не имеет зависимостей. Все функции самодостаточны, так что можно даже просто скопипастить к себе оттуда нужные (но лучше не надо). Конечно же, всё покрыто тестами.
#library
GitHub
GitHub - mahmoud/boltons: 🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing…
🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton. - mahmoud/boltons
Forwarded from гиг пиг ниг
Если хочется странного, то можно начать использовать в питоне goto и показать этим сосункам-коллегам кто на районе джигит.
from goto import with_gotoссылка на репу https://github.com/snoack/python-goto
@with_goto
def range(start, stop):
i = start
result = []
label .begin
if i == stop:
goto .end
result.append(i)
i += 1
goto .begin
label .end
return result
Эрик Айдл (Eric Idle) — актёр и автор многих скетчей комедийной группы Monty Python.
В честь него назван IDLE — Python’s Integrated Development and Learning Environment — простенький редактор кода, распространяющийся в составе стандартной библиотеки.
А ещё есть Eric IDE — редактор кода, написанный на питоне. Тоже отсылка к Эрику Айдлу.
#montypython
В честь него назван IDLE — Python’s Integrated Development and Learning Environment — простенький редактор кода, распространяющийся в составе стандартной библиотеки.
А ещё есть Eric IDE — редактор кода, написанный на питоне. Тоже отсылка к Эрику Айдлу.
#montypython
Эрик Айдл уже в преклонных годах. Он сидит в Твиттере, и однажды до него дошли слухи, что в честь его комедийного шоу придумали какой-то язык программирования. В тред пришёл Гвидо ван Россум, большой фанат скетчей Monty Python.
"very nice" — это отсылочка к сцене с французами на стене замка в "поисках святого грааля".
https://twitter.com/gvanrossum/status/1355310333875773444?lang=en
#montypython
"very nice" — это отсылочка к сцене с французами на стене замка в "поисках святого грааля".
https://twitter.com/gvanrossum/status/1355310333875773444?lang=en
#montypython
День Git на канале!
Git сложен: легко всё испортить, и нереально понять как исправить. Документация Git - это финиш: чтобы найти решение, тебе заранее надо знать название фишки, которая вернет всё на место.
Разбор частых проблем с Git с командами для починки.
https://ohshitgit.com/
#git
Git сложен: легко всё испортить, и нереально понять как исправить. Документация Git - это финиш: чтобы найти решение, тебе заранее надо знать название фишки, которая вернет всё на место.
Разбор частых проблем с Git с командами для починки.
https://ohshitgit.com/
#git