Денис Казаков @KazakovDenis
Software engineer
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Зарегистрирован
- Активность
Специализация
Backend Developer
Senior
Python
PostgreSQL
Apache Kafka
MongoDB
RabbitMQ
Software engineer
Интересный подход! Но разработчик из соседней команды, пожалуй, ужаснётся от того, что за чертовщина здесь происходит, когда захочет посмотреть как работает сервис.
Удивительно, что я не встретил эту статью раньше, потому что примерно в это же время решал похожую задачу в большом хорошо нагруженном Джанго-приложении и родил aiofutures (затащил, кстати, в прод). Но там именно запускается отдельный поток с event loop.
А вы какие-то инструменты своего трекера используете построения графов задач?
Статья отличная, никогда не работав с векторами, я даже всё понял. Но принцесса Лейла - это провал :)
То, что вы показали - это не "собственные Awaitables". Их асинхронные методы, которые вы используете - да, но не классы-владельцы. Что считается Awaitable описано в соответствующем PEP 492
О том речь - дело вкуса) Notion тем и хорош, бери и пользуйся, ничего настраивать не надо. Поэтому платишь тем, что данные тебе не принадлежат.
Мне Obsidian не зашёл. Не понравился гемор с синхронизацией устройств плюс я привык (на десктопе) быстро открыть вкладку в браузере, накидать мысли и закрыть. А здесь надо ещё в отдельное приложение лезть
Подскажите, откуда такая инфа? Из proposal понятно, что размер должен несущественно вырасти, т.к. добавляются новые поля под флаги и мьютексы, но это не должен быть критический прирост. Я ещё не смотрел pull request'ы, сколько он составляет?
Видел доклад на Ютубе, большое спасибо, что выложили в тексте, очень интересный подход и полезная информация
Вообще, когда разбирался с SOLID на примере Python понял, что сам модуль
typing
из стандартной библиотеки прекрасно демонстрирует как минимум первые 4 принципа (хотя и пятый можно натянуть)Плюсую. Считаю, что принцип должен прост, понятен и легкозапоминаем, как DRY и KISS. 95% разработчиков через полгода после последнего собеседования не вспомнят, что это вообще за буквы: OCP, SSP, SDP и прочие. Которые, и расшифровав, не поймёшь, что значат. Аббревиатуры ради литературы и диссертаций.
То есть там, где вы тратили 1 час QA, вы теперь тратите 1 час QA + 1 час Dev?
По-моему, сначала снимаются все возможные метрики и выявляются аномалии, а затем принимаются меры
Правило оптимизации номер один - оптимизировать то, что нужно оптимизировать.
Прежде чем тюнить GC, даже если у вас нет Sentry, OpenTelemetry, Jaeger, Prometheus, всегда можно навтыкать логов и найти узкое место.