Ты про что тема, внимательно прочитал?
1.5 Ecoblue 125лс. + 8-ми ступенчатая коробка. На 120км/ч примерно 1900 оборотов. А ты поди, на Ладе Гранте гоняешь из прошлого века?
Потому что такой расход в реальности, не по паспорту.
Специально для таких как ты сфоткал. Сегодня пробег уже за 960 и еще четверть бака осталось, от есть 1200 км я запросто выезжу на одной заправке. Больше 140 я ехал полпути - 450 км, в реальности конечно меньше - километров 60 последних там уже дорога с ограничением 90.
Если тошнить в районе сотки то расход будет в районе 3.9-4, но я так только однажды попробовал, когда в закопаны ездили. Не настолько уж я экономный)))Дизель, конечно, для трасс. За дорогу хорошенько прожег сажевый фильтр, - явно резвости прибавилось. До этого постоянно включался режим регенерации. Вот в городе , да и еще от своей розетки - электричка - самое то.
http { limit_req_zone $binary_remote_addr zone=bu_limit:10m rate=5r/s; server { listen *:80; server_name .example.com; add_header "Content-Type" "text/html; charset=UTF-8" always; location /bu { limit_req zone=bu_limit burst=10 nodelay; return 200 "bu!\n"; } }}
Последовательность выполнения1. Обработка запроса /При запросе:GET -S example.comвыполняются инструкции:set $test one;$test = "one"Далееecho "root: $test";Вывод:root: oneСледующая строкаset $test "$test two";Теперь:$test = "one two"Затемauth_request /auth;Создаётся subrequest к /auth.2. Выполнение /authВ subrequest переменные наследуются.Поэтому $test изначально:one twoВыполняетсяset $test "$test auth_pre";$test = "one two auth_pre"Затемreturn 200 "auth: $test\n";Subrequest возвращает:auth: one two auth_preНо важно:auth_request использует только HTTP статус, тело ответа игнорируется.Эта строка никогда не выполнитсяset $test "$test auth_post";Потому что return завершает обработку.3. Возврат в основной запросПосле auth_request выполнение продолжается:set $test "$test three";Теперь:$test = "one two three"Но этот результат уже нигде не выводится.Итоговый ответ клиентуОтвет:HTTP/1.1 200 OKroot: oneПочему:echo выполняется до auth_requestтело subrequest игнорируетсядругих echo нетПроблемы конфигурации1. echo — нестандартный модульecho "root: $test";Работает только при установленном модуле:ngx_http_echo_moduleВ стандартной сборке NGINX его нет.2. /auth доступен извнеСейчас любой пользователь может вызвать:/authЭто потенциальная уязвимость.3. Мёртвый кодreturn 200 "auth: $test\n";set $test "$test auth_post";Код после return никогда не выполняется.4. Переменные в subrequestПеременные могут вести себя неожиданно при использовании:auth_requestПоскольку subrequest наследует контекст.Оптимизированная версияserver { listen 80; server_name example.com; location / { set $test "one"; echo "root: $test"; set $test "$test two"; auth_request /auth; set $test "$test three"; } location = /auth { internal; set $test "$test auth_pre"; return 200; }}Что исправлено1. Закрыт доступ к /authinternal;Теперь этот location может вызываться только из NGINX.2. Убрано тело ответаreturn 200;Потому что auth_request тело не использует.3. Удалён мёртвый кодУдалено:set $test "$test auth_post";Правильная передача данных из auth_requestЕсли нужно вернуть данные из авторизации, используется:auth_request_setПример:location / { auth_request /auth; auth_request_set $user $upstream_http_x_user; echo "user=$user";}location = /auth { internal; add_header X-User admin; return 200;}Ответ:user=adminВыводПри выполнении:GET -S example.comответ будет:HTTP/1.1 200 OKroot: oneПричины:echo выполняется до auth_requestтело subrequest игнорируетсяreturn завершает обработку /auth
Ответ cloude
Анализ Nginx-конфигурацииЧто произойдет при GET -S example.comОтвет клиенту будет: root: one two threeКорневая проблема: фазы обработки NginxNginx обрабатывает директивы не в порядке их записи в конфиге, а по фазам:Фаза Директивы ПорядокREWRITE_PHASE set 1-яACCESS_PHASE auth_request 2-яCONTENT_PHASE echo 3-яРеальный порядок выполнения в location /:Разработчик, видимо, ожидал, что echo выведет "root: one" — это не так.Ошибка 1: мёртвый код в /authreturn немедленно завершает обработку запроса. Строка после него — мёртвый код.Ошибка 2: изоляция переменных в подзапросеauth_request создаёт внутренний подзапрос с собственным scope переменных. $test в /auth не наследует значение из родительского / — она начинается как пустая строка.Тело ответа /auth (auth: auth_pre\n) клиенту не отправляется — auth_request использует только HTTP-статус (2xx = разрешить, 401/403 = запретить).Ошибка 3: нестандартный модуль echoДиректива echo — это не стандартный Nginx, а ngx_http_echo_module от OpenResty. В дистрибутивном Nginx этого модуля нет, конфиг упадёт с ошибкой.Исправленная и оптимизированная версияЕсли нужно отлаживать значения переменных на разных этапах — используйте error_log через lua_log (OpenResty) или add_header:Итог ошибок# Проблема Эффект1 Смешение фаз set/echo/auth_request echo видит финальное значение $test, а не промежуточное2 Код после return в /auth Мёртвый код, никогда не выполняется3 Ожидание наследования $test в подзапросе Переменная в /auth всегда пустая (независимый scope)4 Использование echo Не стандартный Nginx, требует сторонний модуль
Прокатился тут пару дней назад в консульство, отмотал 950 км за полдня, понял, что не готов я к переходу на электрички. Посчитал стоимость, время и понял что нет смысла. Посудите сами.Чтоб красиво было, сделал выжимку ИИ, по факту цифры близки к действительности. Но нужно учитывать, что я выехал поздно и пришлось немного притапливать - меньше 140 туда не ехал, назад уже обычные 120-130. Для электирчки же расчет приусловии что она будет тащиться 100-110. Забавно на трассе было наблюдать за Теслами, которые в 4 раза мощнее моей табуретки, и тянуться 100-120, а я обгоняю их по левому ряду 150 и мне еще Мустанг моргает - мол, не тормози тут)))
BYD Yuan Up:
Здесь кроется главная разница при поездках на дальние дистанции.
Так что я уж лучше на старом добром дизельке)))
Так никто адекватный так и не делает. У нас до прода висит 4 энва, на которых обкатываются все решения и которые я могу ломать как вздумается. При этом всегда есть возможность ревертнуть изменения очень быстро.
Понятно что кривые руки могут пробить любую защиту. Но ведь речь вовсе не об этом. В настоящее время Claude прекрасно понимает конфигурации настроек и в осстоянии админить не хуже живого человека. Честно, я просто удивляюсь каждый раз.
Как раз из-за того, что не сделал так, как тебе посоветовал изначально - недавно уперся в то, что нужно полностью передизайнить архитектуру БД. После того как скормил ИИ существующую схему - получил очень дельные советы. Тепреь вот приходится переписывать и уже вижу результат. Та часть сервиса, которую полгода назад отложил, потому что не понимал, как правильно реализовать. Извини, но проект пока не покажу.
А что ты понимаешь под масштабируемостью в твоем случае? БД? Код? Так я как раз следую в работе доктрине SOLID, в отличие от KISS она изначально об этом думает. В случае БД у меня Postgresql+ в перспективе DynamoDB+Neptune.
Если серьезно, то на прошлой неделе меня на бабки кинул перекрёсток. Сделал заказ, часть заказа не привезли. Сумма незначительная, но сам факт.
И деньги не отдают, хотя признают, что даже по их приложению часть товара не приехала.
Падажжи, а как же самые лучшие сервисы в мире??? Не ты ли утверждал? Как так, как же они могут кинуть - не верю 😂
На прошлой неделе ходили к дочке в гости. Решили пиццы заказать. Приехал курьер - одна пицца норм, вторая какая-то скособоченная, как-будто курьер ее боком вез. Доча сфоткала ее и отправила в СП сервиса. Через 15 минут на карту ей упали деньги за одну пиццу. Пиццы кстати вкусные были, сьели обе, получается две по цены одной, только вид был непрезентабельный.