170 похожих чатов

Надо почитать про него. А ккак бы вы тогда делали

если надо ранить тесты с другими енвами? Юзали бы дот енв как в сстатье тишкки написано, он не использует ди или есть еще варианты?

20 ответов

20 просмотров

Шта

Создавали бы конфиг в тесте и передавали явно

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
Создавали бы конфиг в тесте и передавали явно

окей, учту. А что если есть вещи что нет в конфиге приложения, но есть в енве, например то что касается промутеуса. Их же все равно надо переопределять

Dmitriy Тiutiunnyk
окей, учту. А что если есть вещи что нет в конфиге...

энв - это только способ доставить конфиг приложения.

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
энв - это только способ доставить конфиг приложени...

да, но я о том что есть вещи которые напрямую не касаются конфига фастапи апки, но они есть в переменных окружеениях и они используются в коде

Dmitriy Тiutiunnyk
да, но я о том что есть вещи которые напрямую не к...

конфиг приложения и конфиг фастапи аппки это разные вещи

Dmitriy Тiutiunnyk
окей, учту. А что если есть вещи что нет в конфиге...

Конфиг содержит (по крайней мере должен) в себе все настройки приложения, он может состоять из разных компонент, это нормально Откуда они - не важно Поэтому при тестировании ты просто меняешь аргументы функции load_config Какой-то такой псевдокод в голову приходит: def load_config(src: str | path.Path | dict, **kwargs): data = get_data(src) for k, v in kwargs: data[k] = v return Config(data)

Const
Конфиг содержит (по крайней мере должен) в себе вс...

Здесь мы указываем откуда брать данные для конфига и кварги для переопределения каких-либо настроек, если нам захотелось (например переопределение через аргументы при запуске из командной строки или при тестировании)

Dmitriy-Тiutiunnyk Автор вопроса
Dmitriy Тiutiunnyk
а функция гет дата у нас как работает?

Например парсит yaml или toml файл конфига Или формирует маппинг из переменных окружения, или совмещает оба варианта Не суть важно как, важна концепция

Dmitriy-Тiutiunnyk Автор вопроса
Const
Например парсит yaml или toml файл конфига Или фор...

по стандарту в фастапи апке у нас читается и лоадитсся конфиг совсем иначе class Settings(BaseSettings): """Application settings cond configs.""" app_name: str = ‘app’ @lru_cache def get_settings() -> Settings: """ Return application settings. :returns: app settings """ return Settings() Не совсем понимаю, как здесь тогда можно применить твою концепцию

Dmitriy Тiutiunnyk
по стандарту в фастапи апке у нас читается и лоади...

В чем проблема подтянуть этот процесс в процесс загрузки общего конфига?

Dmitriy Тiutiunnyk
по стандарту в фастапи апке у нас читается и лоади...

Очевидно, функцию get_settings ты можешь юзать только там где создаешь апп. В тесте же вместо вызова ее ты создашь настройки другим способом. Декоратор lru_cache тут нахрен не нужен, так как функция должна быть вызвана только в одном месте кода однократно

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
Очевидно, функцию get_settings ты можешь юзать тол...

https://fastapi.tiangolo.com/ru/advanced/settings/?h=sett тут в примерах есть такое , вроде стандарт

Dmitriy Тiutiunnyk
по стандарту в фастапи апке у нас читается и лоади...

Так это код, с какого-то репозитория. "Fastapi template"

Dmitriy Тiutiunnyk
https://fastapi.tiangolo.com/ru/advanced/settings/...

1. тианголо говнокодер 2. в примерах варианты что можно придумать с фастапи. Архитектуру прлиожения по ним строить нельзя 3. часть важных вещей размазана по разным разделам, соответсвтенно примеры однобокие или не очень корректные

Tishka17
1. тианголо говнокодер 2. в примерах варианты что ...

Если тианголо говнокодер, то фастапи говнокод?

Vladimir 🍉
Если тианголо говнокодер, то фастапи говнокод?

да, но при этом апи относительно удобное вышло

Tishka17
да, но при этом апи относительно удобное вышло

Если бы оно ещё работало так, как выглядит. Я однажды попробовал существующую апишку портировать на фастапи, а оно громко упало на несложном тайпхинте

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта