
Tigran
22.06.2018
10:08:13

Romuald
22.06.2018
10:08:51

Tigran
22.06.2018
10:08:53
или тонкости реализации словарей

Bogdan (SirEdvin)
22.06.2018
10:11:03
тыкать везде try к беде
Это тонкая отсылка к тому, что get со значением по умолчанию работает медленее, чем просто доступ по ключу с отловом ошибки, если таких случаев не больше 10%. Как-то так)

Google

Romuald
22.06.2018
10:12:10

Artyem
22.06.2018
10:12:26

Tigran
22.06.2018
10:12:46

Bogdan (SirEdvin)
22.06.2018
10:13:00
Тут скорее смысл в том, что в реальном проекте у вас вряд ли будет основной затуп в том, что вы используете неправильное форматирование строк.

[Anonymous]
22.06.2018
10:22:48

Tigran
22.06.2018
10:23:54
Блин, вот это действительно сложный реквест. Я последний раз к учебнику русского десять лет назад прикасался.

Сергей
22.06.2018
10:24:32

[Anonymous]
22.06.2018
10:25:01
Спасибо

Fedor
22.06.2018
10:30:59
Парни, работал кто в Python с гостовыми сертификатами (парсинг, подписывание и тд)? Какие костыли прикручивали?


Ksenia
22.06.2018
10:37:58
#работа #удаленно #офис #Москва #Екатеринбург
Middle or Senior Python developer в #СтроительныйДвор
В репозиториях сейчас больше 200 проектов. Основные:
- Интернет-магазин Строительного двора (Python, Django)
- Интернет-магазин Ennergiia (система микросервисов на разных языках)
- Интернет-магазин для оптовых клиентов (Python, Django)
- Интернет-магазин товаров для интерьера (Python, Django)
- Личный кабинет для наших поставщиков (Python, Django)
- Интеграция с SAP ERP (Java, Jboss Fuse + Python, Asyncio, Aiohttp)
- Rest api каталога товаров (старый на Golang, новый на Python)
- Сервис доступности, rest api получения информации о доступности товаров (Python, Aiohttp)
- Система сервисов заказа (Python+Django, Nodejs)
- Фронтенды все на React+Redux, mbx
- Используем СУБД: Postgresql, Mongodb, Redis
Уровень оплаты определяется индивидуально по результатам технического собеседования. Зависит от уровня знаний. Вилка от 80 до 200 тыс. после вычета налогов.
Контакты: @xeniafech
я почитала правила чата, можно с хэштэгом работа
или это в @pyflood?


Tigran
22.06.2018
10:40:47
За какие такие?

Google

Tigran
22.06.2018
10:40:50
С вилкой можно

Nikolay
22.06.2018
10:45:14

Romuald
22.06.2018
10:50:05
?

Tigran
22.06.2018
10:56:21
"покажите мне человека, который выбрал вилкой в глаз"

Maxim robox
22.06.2018
11:06:37
Нет.

Bogdan (SirEdvin)
22.06.2018
11:21:28
Хм ... что-то я немного туплю. Вот есть запись в requirements.txt ., которая по идее должна установить модуль с текущей директории. Можно ли ему как-то запретить лезть в папку .shared, в которой у меня данные от бд и доступа к файлам которой у меня нет? А то это чудо честно пишет, мол "доступа нет" и падает.

Nikolay
22.06.2018
11:22:07
для тебя придумали пакеты
и pip install . --editable

Bogdan (SirEdvin)
22.06.2018
11:22:46
Ну, это requirements-dev.txt, мне нужно установить пакет, что бы подтянулись его нормальные зависимости
А зависимости для пакета у меня в setup.py лежат

Nikolay
22.06.2018
11:23:48

Bogdan (SirEdvin)
22.06.2018
11:23:58

Nikolay
22.06.2018
11:24:02
в setup.py читаю requirements.txt и ставлю из него

Bogdan (SirEdvin)
22.06.2018
11:24:11
Потому что оно зачем-то пытается скопировать всю папку проекта в /tmp

Nikolay
22.06.2018
11:24:45

Bogdan (SirEdvin)
22.06.2018
11:24:46
У меня еще там 4 варианта extras, кажется, с такой кучей requirements файлов я загнусь)
Гарантировано

Nikolay
22.06.2018
11:25:04

Bogdan (SirEdvin)
22.06.2018
11:26:33
Эм ... возможно я немого не понимаю ...
Вот у меня есть пакет X, который можно запустить с 4 разными интеграциями, это все описано в extras. Ну и там еще есть all, для того, что бы поставить все интеграции разом.
И вот в requirements-dev.txt я его дополнительно ставлю локально, что бы при установке requirements-dev.txt у меня дополнительно подтянулись все нужные зависимости для пакета

Google

Nikolay
22.06.2018
11:38:14

Bogdan (SirEdvin)
22.06.2018
11:38:45
extras_require = {
'rethinkdb-sync': ["repool-forked>=0.3"],
'rethinkdb-async': ["async-repool>=0.3.1"],
'couchdb-async': ["aiohttp>=3.2.1"],
'couchdb-sync': ["requests>=2.18.4"],
}
Как-то так. У меня ORM'ка в двум базам с двумя разными режимами :)
В любом случае, судя по коду pip'а, единственный вариант был просто временно удалить папку, что ему не нравится. А жаль(

Nikolay
22.06.2018
11:41:38
что-то очень странное
почему сразу 4 пакета не ставить? или - почему в виде плагинов не сделать поддержку?

Bogdan (SirEdvin)
22.06.2018
11:42:27
Ну, мне показалось неплохой идеей, что включать режими можно будет через pip install anji-orm[rethinkdb-async]
Вернее не включать, аставить только нужные зависимости

Nikolay
22.06.2018
11:43:08
ну, в целом неплохо, да, но почему бы тогда по отдельному virtualenv не держать на каждый вариант?
и переключаться между ними
и до сих пор не понимаю, зачем несколько файлов requirements

Bogdan (SirEdvin)
22.06.2018
11:44:41
Ну, у меня он один - requirements-dev.txt, а все базовые зависимости в setup.py. Касательно проблемы, меня бы ничего от нее не спасло, проблема в том, что couchdb выставляет слишком закрытые права на свои папке, а pip при pip install . всегда будет копировать папку полностью ну и падать, если не может это сделать.
Касательно вопроса про несколько requirements, я просто не видел другого способа распарсить из requirements.txt extra requirements

Lizard_King
22.06.2018
11:49:50
Какая есть тулза чтобы показывала использование памяти, загрузку процессора и время работы программы (в данном случае, программы, написанной на Python, но если есть что-то такое универсальное для разных языков, то вообще круто)?

Bogdan (SirEdvin)
22.06.2018
11:50:24
Ну, там, диспетчеры задач разные ...

Lizard_King
22.06.2018
11:51:28
ну а если скрипт отработал и закончил работу, он же уже не отобразится в ДЗ типа

Bogdan (SirEdvin)
22.06.2018
11:53:36
Можно попробовать различные штуки для мониторинга, наверное. Самый лайтовый вариант, можно взять https://github.com/prometheus/client_python там есть раздел для скриптом, можно потом в текстовый файл грузить

Nikolay
22.06.2018
11:54:52

Nikolay
22.06.2018
11:55:04

Nikolay
22.06.2018
11:55:33
Новые технологии
Которым лет 30?

Google

Lizard_King
22.06.2018
11:56:11
да Linux нету под рукой, сижу на шиндоус, а всякие Cygwin не хочу юзать

Nikolay
22.06.2018
11:56:21
Страдайте

Lizard_King
22.06.2018
11:56:58
страдаю

Nikolay
22.06.2018
11:57:15
Есть страдать, капитан

Nikolay
22.06.2018
12:01:15

Konik
22.06.2018
12:38:08
Изд

Василий
22.06.2018
12:44:15
Укажите пожалуйста, где написано, что при работе с целыми числами в Python, результат высчитывается только когда мы пытаемся его ссчитать\вывыести, а не в момент выполнения, допустим, такой конструкции 99999 ** 99999 - этот код выполняется сразу, но если его попытатся вывести или выполнить какие либо преобразования над результатом, тогда он сразу блокирует поток, как и должен.

Tigran
22.06.2018
13:09:56
Но это же не так
Что значит "блокируется поток"? Какое преобразование ты пытаешься сделать над этим числом?)
В нем всего-то 50000 знаков, ясное дело, оно быстро вычисляется

wi34rd
22.06.2018
13:11:04
поток сознания

Василий
22.06.2018
13:12:40
Или я может чего то не понял, но если в питоновском модуле, ПРОСТО написать, опять же, допустим: 999999 ** 999999, вот просто как есть, без присваивания и преобразований, и выполнить его, то весь скрипт сразу завершается, а такое число быстро посчитатся не может.

Aragaer
22.06.2018
13:12:53
эм
питон смотрит, что ты что-то хочешь сделать без присваиваний и преобразований

wi34rd
22.06.2018
13:13:23
и не делает

Aragaer
22.06.2018
13:13:26
раз без присваиваний, то ничего дурного не случится, если он это просто не будет считать, он же не жава
вот он и не делает

Nikolay
22.06.2018
13:13:31
питон в нее умеет

Aragaer
22.06.2018
13:13:52
а во-вторых, можно и посчитать, есть способы быстрого возведения в степень (а не просто много умножений)

Google

Tigran
22.06.2018
13:14:25
Или я может чего то не понял, но если в питоновском модуле, ПРОСТО написать, опять же, допустим: 999999 ** 999999, вот просто как есть, без присваивания и преобразований, и выполнить его, то весь скрипт сразу завершается, а такое число быстро посчитатся не может.
Всего шесть мегабайт знаков, пффф

Алексей
22.06.2018
13:14:35
а компухтер от 999999 ** 999999 не взорвётся?
по мне так такое число просто не вычислится

Denis
22.06.2018
13:14:51
Там не умножение медленное, там str за квадрат

Василий
22.06.2018
13:15:00
Да, питон, 3, в длинную арифметику умеет, но, попробуйте на ваших обычных домашних компьютерах, хотя бы за час посчитать такое число: 999999 ** 999999.

Denis
22.06.2018
13:15:05
https://github.com/python/cpython/blob/6405feecda6a5d5dd7a4240eb3054a2676ed29b1/Objects/longobject.c#L1633

Raisongran
22.06.2018
13:15:54

Nikolay
22.06.2018
13:16:07

Raisongran
22.06.2018
13:16:14
Он ничего не выдал, странно

Василий
22.06.2018
13:16:25
и не делает
Почему не делает если он обязан это делать? Какая разница, присвоил я чему либо результат или нет.

Raisongran
22.06.2018
13:16:27
In [1]: 999999 ** 999999
Out[1]:

Aragaer
22.06.2018
13:16:32
а я в bc отправил. Считает

?
22.06.2018
13:17:28
считает долго