
Bulat
11.08.2016
16:04:31

Zart
11.08.2016
16:05:12

Cykooz
11.08.2016
16:06:30
Ну вот как nginx должен отличить это от других, запросов? Это что ли какая то совсем не валидная ситуация?
Может это у юзера проблемы с конектом

Google

Zart
11.08.2016
16:07:29
health checks от лоадбалансера же
причем тут юзер

Cykooz
11.08.2016
16:08:04
Хотя если честно - то мне пофиг на логи nginx в 99%. Я смотрю на логи приложения.

Sergey
11.08.2016
16:08:44

Zart
11.08.2016
16:09:20
потому что это отключает весь логгинг дефолт сервера, что меня совершенно не устраивает

Вадим
11.08.2016
16:09:59
Ищу репетитора того кто сможет помочь в изучении как то структурировать процес. На платной основе. Сам я уже начал и все что смог написать прочитав 300 страниц лутца это калькулятор с записью результата в файл с отработкой исключений

Sergey
11.08.2016
16:10:35
я в логи смотрю обычно либо при проблемах, либо при подозрительной активности/ddos и в этих условиях я бы совсем не хотел, чтобы какие-то записи фильтровались

Марк
11.08.2016
16:13:17

Sergey
11.08.2016
16:13:48
на этот случай есть некоторое количество скриптов
не тупо же смотреть в бегущий аксесс лог без видимой цели)

Dk
11.08.2016
16:38:07
Помогите.

Denis
11.08.2016
16:38:40
Помогаем.

Sergey
11.08.2016
16:39:25

Google

Dk
11.08.2016
16:39:40
Объясните точнее. Если я правильно понял - GIL - ограничивает доступ одного процесса к нескольким ядрам процессора?

Pavel
11.08.2016
16:40:24

Denis
11.08.2016
16:40:48
Нет, GIL ограничивает доступ к питоновским объектам

Dk
11.08.2016
16:41:37
А, хорошо. Значит, я не понял. Думаю, зачем нужны нити, если ограничение одним ядром.
Спасибо.
А с декораторами разобраться помогут?

Stanislav
11.08.2016
16:49:05
Да, там легко все
https://pythonworld.ru/osnovy/dekoratory.html
Хороший линк

Dk
11.08.2016
16:49:46
Ну почти

[Anonymous]
11.08.2016
16:51:12
iterator*

Zart
11.08.2016
16:52:25
range(iterator) ?...

Dk
11.08.2016
16:52:44
Ну, туда надо число

Zart
11.08.2016
16:52:59
хреново выбранное имя

Dk
11.08.2016
16:53:36
Но дело не в нём
Да, я глупый самоучка, путаю термины.
Вы только скажите, как его объявлять.

Zart
11.08.2016
16:54:57
кого "его"?

Dk
11.08.2016
16:56:27
Почему-то мне кажется, ты поймёшь

Google

Dk
11.08.2016
16:58:07
timer несколько раз (зависит от iterator) вычисляет фиббоначи. А сколько именно раз, я не знаю как передать.
Это простоя пример, которым руку набиваю и усложняю понемногу.

Denis
11.08.2016
16:59:09
dinfib(5, 1000000)?

Sergey
11.08.2016
16:59:27
в смысле, у timer нужно сделать аргумент? или что?

Dk
11.08.2016
16:59:55

Zart
11.08.2016
17:00:52
def timer(count):
def decorator(f):
def wrapper(*args, **kwargs):
for _ in range(count):
start = time.time()
f(*args, **kwargs)
end = time.time()
results.append(...
print(...
return wrapper
return decorator
@timer(10)
def foo(...
вот так

Dk
11.08.2016
17:02:08
Отличный пример, спасибо. А есть способ, чтобы не объявлять count заранее?

Zart
11.08.2016
17:02:44
чо?

Dk
11.08.2016
17:03:47
Ты написал
@timer(10)
Есть вариант, чтобы не переписывать функцию, а просто вызывать с разными значениями

Zart
11.08.2016
17:03:59
...

Zart
11.08.2016
17:04:15
зачем ты хочешь её переписать?
@timer(100000)
def ...

Dk
11.08.2016
17:04:54
Наверное, я не понимаю.

Zart
11.08.2016
17:05:03
если ты хочешь одну и ту же функцию с разным колвом итераций, то нахера тебе вообще декоратор?

Dk
11.08.2016
17:05:31
Чтобы громадную функцию не переписывать)
ну, не громадную, но..
Ну нельзя, значит нельзя.

Zart
11.08.2016
17:06:14
я нихуя не понял

Google

Zart
11.08.2016
17:06:38
зачем ты хочешь её переписать?

Dk
11.08.2016
17:08:54

Zart
11.08.2016
17:09:08
о.о

Denis
11.08.2016
17:09:17
def time(function, count):
делать что надо

Zart
11.08.2016
17:09:30
это создание новой функции с тем же именем, которая скроет старую

Admin
ERROR: S client not available

Zart
11.08.2016
17:09:47

Denis
11.08.2016
17:09:55
Если надо выучить декораторы, лучше твой вариант

Zart
11.08.2016
17:10:16
И не надо
эта хуйня вообще не нужна, когда есть timeit, который умеет считать намного лучше

Dk
11.08.2016
17:12:35
Зарт, я просто хочу вызывать функцию передав два аргумента. один count, другой число для dinfib().
И не хочу переписывать функцию, когда мне нужен другой count

Zart
11.08.2016
17:14:57
нахрена декоратор тогда?

Jonh
11.08.2016
17:15:30
Для тех, кто до сих пор не понимает декораторы: https://compscicenter.ru/courses/python/2015-autumn/classes/1387/

Zart
11.08.2016
17:15:48
def timer(n, count):
for _ in range(count):
start = time.time()
dinfib(n)
end = time.time()
results.append(...
print(...

Dk
11.08.2016
17:16:28
нахрена декоратор тогда?
Я хз, только попробовать решил. Вчера это делала функция, которая принимала строку и число, выполняя через exec. Декоратор вроде правильнее, но я застрял.

Zart
11.08.2016
17:17:14
в каком месте он вроде правильнее?

Dk
11.08.2016
17:18:36
ну, там сложнее было немного, но суть

Sergey
11.08.2016
17:20:02
exec?

Google

Zart
11.08.2016
17:20:08
обычно из end вычитают start, но если мсье любит отрицательные числа..

Dk
11.08.2016
17:21:02
Ну, блин, это переписано тридцать раз, я просто в идл зашёл и нажал вниз. выдало самое первое.

Sergey
11.08.2016
17:22:12
Декоратор удобен, если надо обернуть пачку функций. Но если функция одна - зачем усложнять?

Zart
11.08.2016
17:22:20
нувасвсехвпизду.мп4

Dk
11.08.2016
17:22:27
У меня не одна функция
Я от декоратора такой функциональности добится пытаюсь

Zart
11.08.2016
17:26:11
я уже привел два примера
один с правильно реализованным декоратором
второй без

Марк
11.08.2016
19:21:16
А чем линуховый time неугодил?
8)

Denis
11.08.2016
19:23:09

Марк
11.08.2016
19:23:39
Высокая точность принципиальна?

Denis
11.08.2016
19:24:27
Если продолжительность действия меньше 0.1 секунды, принципиальна

[Anonymous]
11.08.2016
20:14:41
Чувствую подставу..

Dk
11.08.2016
20:33:01

Марк
11.08.2016
20:33:23
штоа?
Эта группа больше не существует