
ilya
11.09.2017
08:23:08

Tony
11.09.2017
08:23:18
ну зачем

ilya
11.09.2017
08:24:42
в либе functools есть декоратор wraps. Лучше посмотри в доку по нему, это будет вместо 1000 слов) А то ща наобъясняю)

Aragaer
11.09.2017
08:24:53
в питоне есть уже готовые инструменты, чтобы декораторы было проще писать

Google

Aragaer
11.09.2017
08:25:49
да, на самом деле декоратор это не обязательно функция и не обязательно он возвращает функцию. Любые callable годятся

ilya
11.09.2017
08:26:05
но то что его надо бы юзать - мне было не очевидно

Aragaer
11.09.2017
08:26:14
то есть функции, классы и объекты с методом __call__

ilya
11.09.2017
08:26:29

Artem
11.09.2017
08:26:30

Aragaer
11.09.2017
08:27:19
я когда увидел на плюсах классы-компараторы для передачи в функцию сортировки, то потом неделю спать не мог

Artem
11.09.2017
08:27:47

Aragaer
11.09.2017
08:27:58
не, не могу - это у меня на работе

Ildar
11.09.2017
08:28:01

Aragaer
11.09.2017
08:28:23
но там суть в том, что перегружается оператор (), потому что функция сортировки ожидает функцию сравнения.

Ildar
11.09.2017
08:28:31
А, настолько

Artem
11.09.2017
08:28:32
По сути шаблоны на дямбдах?

Ildar
11.09.2017
08:28:34
Ну да, печально

Google

Ildar
11.09.2017
08:28:57
Для такого жи обычно используются лямбды
Ну, после того, как они появились в плюсах. Мб у тебя там стандарт старый

Artem
11.09.2017
08:29:12
*запятая

Aragaer
11.09.2017
08:29:31
это древний замшелый с++, для эмбеддед. С пропатченным gcc 4.4

Ildar
11.09.2017
08:29:44
ох, ёпта. Ну да, там иначе никак
Сейчас плюсы гораздо приятнее в этом плане

Artem
11.09.2017
08:29:59

Ildar
11.09.2017
08:30:15
Эмбеддед этож ваще треш.

Aragaer
11.09.2017
08:30:46
то есть простой рабоче-крестьянский function pointer это никак?

Ildar
11.09.2017
08:30:58
ну, вообще можно было

Artem
11.09.2017
08:30:59
Дааа, хрен пойми какое железо и утили которые на свежем гцц не попишешь

Ildar
11.09.2017
08:31:06
Сишный sort же так и работает, не?

Aragaer
11.09.2017
08:31:13
именно

Ildar
11.09.2017
08:31:32
А на кой там классы делали?

Aragaer
11.09.2017
08:31:33
и городить для этого классы с перегрузкой круглых скобок это перебор

Ildar
11.09.2017
08:31:38
Потому что могли?

Tony
11.09.2017
08:32:35
кажется разобрался
спасибо

Alex
11.09.2017
09:09:05
Друзья, курю мануалы по asyncio в python 3.5, не могу найти нужных мне решений по правильной остановке / удалению / добавлению тасков в работающий event_loop. Кто может работал над этим вопросом, ссыль на манула не дадите?

Google

Маришка
11.09.2017
09:10:48
Корутина в лупе доработает всегда, добавляй так как тебе нужно будет (там несколько методов есть у лупа)

Aragaer
11.09.2017
09:13:40
loop.create_task или конструктор asyncio.Task создают таск и сразу его добавляют в луп, даже если он уже работает

Alex
11.09.2017
09:13:58

Aragaer
11.09.2017
09:13:59
остановка - через cancel, но надо там корректно обрабатывать эксепшн
найти таск среди работающих тоже можно, но это проблематично

Alex
11.09.2017
09:15:56

Aragaer
11.09.2017
09:16:42
примерно так:
def start_or_stop(action, name, coro=None):
if action == 'start':
my_tasks[name] = loop.create_task(coro)
elif action == 'stop':
my_tasks[name].cancel()

Alex
11.09.2017
09:18:59

Oleksandr ror191505
11.09.2017
09:48:42
Ебучий psycopg2 ломается на последнем глибси.
https://lists.archlinux.org/pipermail/arch-general/2017-August/044155.html
Солюшон - ставить psycopg2 без бинарей

Hot
11.09.2017
09:53:48
И то верно.

jdc
11.09.2017
09:53:49

Aragaer
11.09.2017
09:54:45
кто?

Mike
11.09.2017
09:55:54
Redux

jdc
11.09.2017
09:55:55

Mike
11.09.2017
09:56:16
redux vs react-redux

jdc
11.09.2017
09:56:43

Mike
11.09.2017
09:57:45
Почитай что ли их сайт, там на первой же странице доков написано, что хоть реакт и частый юзкейс, вообще говоря редакс просто для стейта где угодно

Maksim
11.09.2017
09:58:11
Приветствую, какие есть альтернативы по использованию unix shell в python,
я делаю дамп бд с докера и нужно автоматизировать все скриптом, но возникает проблема при выполнении команды, пример
из subprocces вызываю call
call(["docker", "exec", "back_mysql_1", "/usr/bin/mysqldump", "-u", "user", "--password=pass", "dev", ">", "test.sql"])
команда из терминала выполняется без проблем, а через функцию call возникает ошибка при выполнении
mysqldump: Couldn't find table: ">"
считывает как буд-то я пытаюсь выгрузить одну таблицу


Nikolay
11.09.2017
09:59:36
Приветствую, какие есть альтернативы по использованию unix shell в python,
я делаю дамп бд с докера и нужно автоматизировать все скриптом, но возникает проблема при выполнении команды, пример
из subprocces вызываю call
call(["docker", "exec", "back_mysql_1", "/usr/bin/mysqldump", "-u", "user", "--password=pass", "dev", ">", "test.sql"])
команда из терминала выполняется без проблем, а через функцию call возникает ошибка при выполнении
mysqldump: Couldn't find table: ">"
считывает как буд-то я пытаюсь выгрузить одну таблицу
зачем для этого питон?

Google

Maxim robox
11.09.2017
10:01:16
Приветствую, какие есть альтернативы по использованию unix shell в python,
я делаю дамп бд с докера и нужно автоматизировать все скриптом, но возникает проблема при выполнении команды, пример
из subprocces вызываю call
call(["docker", "exec", "back_mysql_1", "/usr/bin/mysqldump", "-u", "user", "--password=pass", "dev", ">", "test.sql"])
команда из терминала выполняется без проблем, а через функцию call возникает ошибка при выполнении
mysqldump: Couldn't find table: ">"
считывает как буд-то я пытаюсь выгрузить одну таблицу
Fabric


Mike
11.09.2017
10:02:20
Приветствую, какие есть альтернативы по использованию unix shell в python,
я делаю дамп бд с докера и нужно автоматизировать все скриптом, но возникает проблема при выполнении команды, пример
из subprocces вызываю call
call(["docker", "exec", "back_mysql_1", "/usr/bin/mysqldump", "-u", "user", "--password=pass", "dev", ">", "test.sql"])
команда из терминала выполняется без проблем, а через функцию call возникает ошибка при выполнении
mysqldump: Couldn't find table: ">"
считывает как буд-то я пытаюсь выгрузить одну таблицу
кажется если я правильно помню сабпроцесс не умеет в > и |
вот и ругается тебе на >

Maksim
11.09.2017
10:04:59

Alex
11.09.2017
10:37:44
Друзья, ну никак не получается у меня добавить task в луп (asyncio) вне лупа.

Aragaer
11.09.2017
10:39:01
луп запущен?

Alex
11.09.2017
10:39:51
да

Aragaer
11.09.2017
10:40:52
тогда покажи минимальный пример кода, который работает не так, как ты ожидаешь

Admin
ERROR: S client not available

Alex
11.09.2017
10:44:55
class Heandler:
task = False
async def print_while(self, text):
while True:
await asyncio.sleep(3.0)
print(text)
async def main(self, loop):
await self.print_while('First task')
while True:
if self.task:
loop.create_task(self.task)
self.task = False
await asyncio.sleep(6)
def __init__(self):
loop = asyncio.get_event_loop()
loop.create_task(self.main(loop))
loop.run_forever()
loop.close()
obj = Heandler()
obj.task = obj.print_while('Second task')

Aragaer
11.09.2017
10:45:30
эм
print_while не вызывается же
ты застрянешь на run_forever
вынеси его из класса и он должен быть снаружи

Alex
11.09.2017
10:47:41
единожды вызывается print_while, при выполнении main. Что нужно вынести из класса? луп или корутин print_while?

Null
11.09.2017
10:47:47
>Heandler

Aragaer
11.09.2017
10:48:01
loop.run_forever() у тебя никогда не возвращается
async def my_task(text):
while True:
print(text)
await asyncio.sleep(3)
loop = asyncio.get_event_loop()
loop.create_task(my_task("hello"))
loop.run_forever()
# сюда никогда не попадем
async def my_task(text):
while True:
print(text)
await asyncio.sleep(3)
async def my_timer():
for _ in range(10):
await asyncio.sleep(2)
loop = asyncio.get_event_loop()
loop.create_task(my_task("hello"))
timer = loop.create_task(my_timer)
loop.run_until_complete(timer)
второй пример проработает 20 секунд

Google

Глеб
11.09.2017
10:52:22
а перед asyncio.sleep() await не нужен?

Aragaer
11.09.2017
10:52:34
да, точно

jdc
11.09.2017
10:52:53
Что за хайп asyncio?

Глеб
11.09.2017
10:53:21
жаль, я думал случится магия

Dmitriy
11.09.2017
10:53:21
Не то чтобы хайп, так-то.

Nikolay
11.09.2017
10:53:28
В школе домашку задали.

Глеб
11.09.2017
10:53:48

jdc
11.09.2017
10:54:23

Lulz
11.09.2017
10:55:41

Dmitriy
11.09.2017
10:58:02
В целях саморазвития прикольно поковырять asyncio. Но это не Джанго и не Фласк даже, по ощущениям сыровато всё. Работает, конечно, но слишком уж специализированный инструмент, как мне показалось.

Aragaer
11.09.2017
10:59:43
как асинкио связан с фласком?

Artem
11.09.2017
10:59:45

Dmitriy
11.09.2017
11:00:03

Маришка
11.09.2017
11:03:56
Есть саник асинхронный, он похож на фласк

I'm_your_god
11.09.2017
11:10:41
на aiohttp если быть точным


Михаил
11.09.2017
11:16:58
#вакансия #python Разработчик С++/Python Кипр kkosti1973@yandex.ru
Позиция предполагает переезд в Лимассол после испытательного срока.
Известная на рынке ФинТеха компания открывает набор на свой новый проект.
Офис компании в Питере, новый проект с нуля.
Код с нуля- это ли не чудо?
Обязанности:
• Разработка и тестирование компонентов для торговой системы
Требования:
• Опыт разработки на С++ (Boost, STL) или Python от 3-х лет
• Опыт или готовность выучить второй язык С++ и Python
• Понимание основных алгоритмов и структур данных
• Опыт разработки под Linux
Будет плюсом:
• Свободный английский
• Интерес к финансовому сектору
• Интерес к разработке высоконагруженных систем
• Опыт работы в научной сфере
Условия:
• На время испытательного срока- удаленный формат работы
• После испытательного срока обязателен переезд в Лимассол
• Зарплатная вилка до 3000 euro для успешных кандидатов
• Гибкий график работы
• Сильная команда


Nikolay
11.09.2017
11:17:44
до 3к, я думал это от
?
нет пути