
Bogdan (SirEdvin)
31.03.2019
15:31:21
У нас есть запросы по 5-6 секунд в бд (
На джанго)

Tigran
31.03.2019
15:31:48
Жоска

Pavel
31.03.2019
15:31:49

Google

Aragaer
31.03.2019
15:31:53
ой. Ну я б тут для начала посмотрел на explain, может быть можно сами запросы соптимизировать

Pavel
31.03.2019
15:31:57

Tishka17
31.03.2019
15:32:02

Bogdan (SirEdvin)
31.03.2019
15:32:08
Я даже знаю что, просто жалуюсь)

Aragaer
31.03.2019
15:32:23
ну а вот и получается же
"у нас запросы 5-6 секунд, но мы не будем это фиксить, потому что у нас асинхронность"

Tishka17
31.03.2019
15:33:04
а потом все транзакции встают в очередь

Bogdan (SirEdvin)
31.03.2019
15:33:16
Не думаю, пользователю же все равно видно

Pavel
31.03.2019
15:33:45

Bogdan (SirEdvin)
31.03.2019
15:34:21

Pavel
31.03.2019
15:34:41

Bogdan (SirEdvin)
31.03.2019
15:35:23
В корявых запросах виноваты люди, которые их не смотрят

Pavel
31.03.2019
15:35:33
я если что не фоб, скорее сторонник подхода «это надо уметь готовить»

Google

Tishka17
31.03.2019
15:35:42

Pavel
31.03.2019
15:35:51

Tishka17
31.03.2019
15:35:54
У нас такая куча всего, что я почти ничего не видел

Pavel
31.03.2019
15:36:02
просто интересны юзкейсы

Tishka17
31.03.2019
15:36:08
Вон недавно прилетело мне приложение на торнадо
Хотя в основном у нас торнадо нету

Bogdan (SirEdvin)
31.03.2019
15:36:29
Все надо уметь готовить, кмк. Если вам джанго кривые запросы строит, то боюсь raw sql еще хуже будет

Pavel
31.03.2019
15:37:38

Bogdan (SirEdvin)
31.03.2019
15:38:05
Мне спрятать мой питонкалубр? Ну ладно)

Tigran
31.03.2019
15:39:27
а потом меня спрашивают, почему я не люблю ОРМ

Roman
31.03.2019
15:39:28
https://www.itweek.ru/foss/article/detail.php?ID=206289
разработки на Си по статистике признаны наиболее уязвимыми, наиболее защищенными и менее уязвимыми - разработки на Python

Pavel
31.03.2019
15:41:30
» С ней соглашается инженер по безопасности ядра Linux в Google Киис Кук: «Cи — это улучшенный ассемблер, почти машинный код, однако он отличается рядом слабых сторон, в том числе малопредсказуемым поведением — это ведет к пробелам в безопасности и уязвимостям инфраструктуры»
срыв покровов

Roman
31.03.2019
15:46:58
Решил, что может быть есть что-то специализированное для REST API без всяких излишеств. Нашёл: https://github.com/tiangolo/fastapi (недавно мелькало в Python Digest).
Выглядит очень заманчиво. Кто-нибудь пробовал?

Алексей
31.03.2019
15:47:03
Как мониторить задачи в celery с брокером mongodb?

Tigran
31.03.2019
15:47:28
Та хоспади, какой REST, у тебя один эндпоинт всего

Roman
31.03.2019
15:48:17

Pavel
31.03.2019
15:48:30
если тебе фласк громоздкий - возьми боттл

Google

Tigran
31.03.2019
15:50:32
SimpleHTTPServer во все поля

Roman
31.03.2019
15:50:59
SimpleHTTPServer во все поля
Это в Python 2. В Python 3 вот это судя по всему: https://docs.python.org/3.7/library/http.server.html
И там есть текст:
"Warning http.server is not recommended for production. It only implements basic security checks."
Так что извините, если в самой документации не рекомендуют пользоваться, то и я не буду.

Tigran
31.03.2019
15:54:32
Это, наверное, про CORS и вот это вот всё.

Roman
31.03.2019
15:55:26
Ну ладно, как я понял, что общепринятого решения - нет, поэтому попробую FastAPI. Возможно потом где-нибудь в более важном месте пригодится. Лишний опыт с хорошей (а её рекомендовали в нескольких местах) библиотекой никогда не помешает.

Oleg
31.03.2019
16:18:30
Комоды помогите. Уже два дня копаюсь. Не могу добавить библиотеку kivy в pycharm community 2019.1 пробовал и через pip и из pycharm выдает ошибку import error: dll load failed: не найден указанный модуль

Alex
31.03.2019
16:18:52

Oleg
31.03.2019
16:19:21
kivy

Alex
31.03.2019
16:19:36
Вот прямо kivy.dll?
Ты верно издеваешься.

Oleg
31.03.2019
16:20:09
kivy.app

Alex
31.03.2019
16:20:26
Но ведь у тебя ошибка при попытке загрузки dll.

megapro17
31.03.2019
16:20:44

Alex
31.03.2019
16:43:02
друзья что я делаю неправильно ? python 2.7
sonames = raw_input("Enter SO names: ")
print(sonames)
get_mails = """ SELECT name,email
FROM get_mail_by_soname(%s)
"""
cur_main.execute(get_mails,(sonames))
data = cur_main.fetchall()
for row in data:
print(row[0],row[1])
conn_main.close()
python /home/get_mail_by_soname.py
Enter SO names: 'SO451250'
'SO451250'
Traceback (most recent call last):
File "/home/get_mail_by_soname.py", line 21, in <module>
cur_main.execute(get_mails,(sonames))
TypeError: not all arguments converted during string formatting

megapro17
31.03.2019
16:43:52
а ещё и линикс

Denis
31.03.2019
16:45:08

Roman
31.03.2019
16:45:42

Alex
31.03.2019
16:46:09

Google

Aragaer
31.03.2019
16:46:11
это не код уязвимый, это разработчики уязвимые

Denis
31.03.2019
16:46:43

Aragaer
31.03.2019
16:46:44
си не вмешивается в то, что разработчик делает. Если разработчик оставляет дыру в безопасности, си считает, что оно наверно зачем-то так и надо

Tishka17
31.03.2019
16:48:38

Alex
31.03.2019
16:49:09

Roman
31.03.2019
16:50:32
это не код уязвимый, это разработчики уязвимые
средний разработчик вероятно допустит больше ошибок связанных с уязвимостями используя си так как он более низкоуровневый и допускает много вещей типа прямрй адресации к памяти которые в других языках просто отсутствуют.

Tishka17
31.03.2019
16:52:06

Aragaer
31.03.2019
16:53:42
но это не часть языка

Alex
31.03.2019
16:54:20

Aragaer
31.03.2019
16:55:19
прикол в том, что на расте _можно_ написать код так, чтобы сам язык тебе подсказывал, что ты пишешь хрень. Но это не получается автоматически. Более того, при должном ухищрении можно обмануть раст так, что ты все равно словишь все те же проблемы. И беда в том, что разработчик с низким уровнем понимания скорее будет бороться с языком, чтобы все-таки сделать хрень, чем прислушается к языку, чтобы сделать как следует.


Alex
31.03.2019
16:57:35
прикол в том, что на расте _можно_ написать код так, чтобы сам язык тебе подсказывал, что ты пишешь хрень. Но это не получается автоматически. Более того, при должном ухищрении можно обмануть раст так, что ты все равно словишь все те же проблемы. И беда в том, что разработчик с низким уровнем понимания скорее будет бороться с языком, чтобы все-таки сделать хрень, чем прислушается к языку, чтобы сделать как следует.
плюс раста в том, что как минимум unsafe код локализован, а вне unsafe кода тяжелей отстрелить себе конечности, хоть и в теории возможно.

Aragaer
31.03.2019
16:58:32
мне кажется, что при должном усердии можно написать код так, что он весь хороший, кроме одного маленького unsafe куска, который добавили, "потому что тут по-другому никак", но который нафиг ломает вообще всю безопасность снаружи

Tishka17
31.03.2019
16:59:06

Aragaer
31.03.2019
16:59:13
просто потому что разработчик с самого начала придумал для себя какой-то подход (который в корне неверный), а дальше воюет с языком, чтобы сделать как он решил, а не как надо

Alex
31.03.2019
16:59:43
почему же? как раз таки снаружи unsafe должен быть завернут в safe интерфейс, оттестирован и отлажен.
плюс в том, что в случае проблем с unsafe эти места легче локализовать

Aragaer
31.03.2019
17:01:16
я к тому, что когда локализовал, то "но убрать это нельзя, только если вообще все переделывать"
не всегда. Но может случиться

Nikolay
31.03.2019
17:01:35
300К/сек

Google

Aragaer
31.03.2019
17:01:52
у меня нет особо большого опыта с растом, но я такое видел на работе в жаве и в плюсах

Alex
31.03.2019
17:02:16
ну в плюсах в принципе не бывает safe кода =)

Aragaer
31.03.2019
17:03:25
в жаве можно взять jni и сделать что-то опасное. И я видел код, в котором "а тут нам надо такую хрень, но на жаве это не получится, потому что язык не даст, а вот через jni мы сейчас себе отстрелим ногу, но ведь ничего страшного, нам так надо"
просто потому что на "А я вот хочу такую хрень, как это сделать" ответ вида "Это хрень, не делай так" не принимается.

Alex
31.03.2019
17:04:39
Зато в случае проблем известно куда смотреть в первую очередь. И уровень ответственности больше: вот тут мы знаем что можем выстрелить себе в ногу, поэтому этот участок кода у нас оттестирован вдоль и поперек.

Aragaer
31.03.2019
17:05:39
если задает вопрос - то еще не синьор
синьор просто сделает, потому что он уже знает, как можно такую хрень сделать
и поэтому мне остается только прибегать и говорить "ну блин, но это же хрень!" и получать в ответ "да всю жизнь так делали, иди отсюда"

Alex
31.03.2019
17:06:41
это не синьор тогда
синьор обычно знает что это хрень, он 10 раз подумает можно ли обойтись без хрени, и если таки нельзя еще 10 раз опишет почему эта хрень тут есть и на что обратить внимание.
а вот это "да всю жизнь так делали" - это об профнепригодных долбоебах с лычками синьоров
и таких к сожалению очень много.

Bogdan (SirEdvin)
31.03.2019
17:08:47
+1^

Dark
31.03.2019
17:10:32
есть такая строка, как из нее сделать data.time значение? 2018:02:11 10:40:52

Alex
31.03.2019
17:11:15