Bogdan (SirEdvin)
В корявых запросах виноваты люди, которые их не смотрят
Pavel
я если что не фоб, скорее сторонник подхода «это надо уметь готовить»
Tishka17
Pavel
Tishka17
У нас такая куча всего, что я почти ничего не видел
Pavel
просто интересны юзкейсы
Tishka17
Вон недавно прилетело мне приложение на торнадо
Tishka17
Хотя в основном у нас торнадо нету
Bogdan (SirEdvin)
Все надо уметь готовить, кмк. Если вам джанго кривые запросы строит, то боюсь raw sql еще хуже будет
Pavel
Bogdan (SirEdvin)
Мне спрятать мой питонкалубр? Ну ладно)
Tigran
а потом меня спрашивают, почему я не люблю ОРМ
Roman
https://www.itweek.ru/foss/article/detail.php?ID=206289
разработки на Си по статистике признаны наиболее уязвимыми, наиболее защищенными и менее уязвимыми - разработки на Python
Pavel
Pavel
» С ней соглашается инженер по безопасности ядра Linux в Google Киис Кук: «Cи — это улучшенный ассемблер, почти машинный код, однако он отличается рядом слабых сторон, в том числе малопредсказуемым поведением — это ведет к пробелам в безопасности и уязвимостям инфраструктуры»
срыв покровов
Roman
Решил, что может быть есть что-то специализированное для REST API без всяких излишеств. Нашёл: https://github.com/tiangolo/fastapi (недавно мелькало в Python Digest).
Выглядит очень заманчиво. Кто-нибудь пробовал?
Alexey
Как мониторить задачи в celery с брокером mongodb?
Tigran
Та хоспади, какой REST, у тебя один эндпоинт всего
Pavel
Pavel
Pavel
если тебе фласк громоздкий - возьми боттл
Tigran
SimpleHTTPServer во все поля
Roman
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
Это, наверное, про CORS и вот это вот всё.
Roman
Ну ладно, как я понял, что общепринятого решения - нет, поэтому попробую FastAPI. Возможно потом где-нибудь в более важном месте пригодится. Лишний опыт с хорошей (а её рекомендовали в нескольких местах) библиотекой никогда не помешает.
Oleg
Комоды помогите. Уже два дня копаюсь. Не могу добавить библиотеку kivy в pycharm community 2019.1 пробовал и через pip и из pycharm выдает ошибку import error: dll load failed: не найден указанный модуль
Alex
Oleg
kivy
Alex
Вот прямо kivy.dll?
Alex
Ты верно издеваешься.
Oleg
kivy.app
Alex
Но ведь у тебя ошибка при попытке загрузки dll.
Anonymous
Alex
друзья что я делаю неправильно ? 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
Anonymous
Anonymous
а ещё и линикс
Denis
Alex
Aragaer
это не код уязвимый, это разработчики уязвимые
Denis
Aragaer
си не вмешивается в то, что разработчик делает. Если разработчик оставляет дыру в безопасности, си считает, что оно наверно зачем-то так и надо
Tishka17
Roman
это не код уязвимый, это разработчики уязвимые
средний разработчик вероятно допустит больше ошибок связанных с уязвимостями используя си так как он более низкоуровневый и допускает много вещей типа прямрй адресации к памяти которые в других языках просто отсутствуют.
Tishka17
Aragaer
но это не часть языка
Aragaer
прикол в том, что на расте _можно_ написать код так, чтобы сам язык тебе подсказывал, что ты пишешь хрень. Но это не получается автоматически. Более того, при должном ухищрении можно обмануть раст так, что ты все равно словишь все те же проблемы. И беда в том, что разработчик с низким уровнем понимания скорее будет бороться с языком, чтобы все-таки сделать хрень, чем прислушается к языку, чтобы сделать как следует.
Alex
прикол в том, что на расте _можно_ написать код так, чтобы сам язык тебе подсказывал, что ты пишешь хрень. Но это не получается автоматически. Более того, при должном ухищрении можно обмануть раст так, что ты все равно словишь все те же проблемы. И беда в том, что разработчик с низким уровнем понимания скорее будет бороться с языком, чтобы все-таки сделать хрень, чем прислушается к языку, чтобы сделать как следует.
плюс раста в том, что как минимум unsafe код локализован, а вне unsafe кода тяжелей отстрелить себе конечности, хоть и в теории возможно.
Aragaer
мне кажется, что при должном усердии можно написать код так, что он весь хороший, кроме одного маленького unsafe куска, который добавили, "потому что тут по-другому никак", но который нафиг ломает вообще всю безопасность снаружи
Aragaer
просто потому что разработчик с самого начала придумал для себя какой-то подход (который в корне неверный), а дальше воюет с языком, чтобы сделать как он решил, а не как надо
Alex
почему же? как раз таки снаружи unsafe должен быть завернут в safe интерфейс, оттестирован и отлажен.
Alex
плюс в том, что в случае проблем с unsafe эти места легче локализовать
Aragaer
я к тому, что когда локализовал, то "но убрать это нельзя, только если вообще все переделывать"
Aragaer
не всегда. Но может случиться
Nikolay
300К/сек
Aragaer
у меня нет особо большого опыта с растом, но я такое видел на работе в жаве и в плюсах
Alex
ну в плюсах в принципе не бывает safe кода =)
Aragaer
в жаве можно взять jni и сделать что-то опасное. И я видел код, в котором "а тут нам надо такую хрень, но на жаве это не получится, потому что язык не даст, а вот через jni мы сейчас себе отстрелим ногу, но ведь ничего страшного, нам так надо"
Aragaer
просто потому что на "А я вот хочу такую хрень, как это сделать" ответ вида "Это хрень, не делай так" не принимается.
Alex
Зато в случае проблем известно куда смотреть в первую очередь. И уровень ответственности больше: вот тут мы знаем что можем выстрелить себе в ногу, поэтому этот участок кода у нас оттестирован вдоль и поперек.
Alex
Aragaer
если задает вопрос - то еще не синьор
Aragaer
синьор просто сделает, потому что он уже знает, как можно такую хрень сделать
Aragaer
и поэтому мне остается только прибегать и говорить "ну блин, но это же хрень!" и получать в ответ "да всю жизнь так делали, иди отсюда"
Alex
это не синьор тогда
Alex
синьор обычно знает что это хрень, он 10 раз подумает можно ли обойтись без хрени, и если таки нельзя еще 10 раз опишет почему эта хрень тут есть и на что обратить внимание.
Alex
а вот это "да всю жизнь так делали" - это об профнепригодных долбоебах с лычками синьоров
Alex
и таких к сожалению очень много.
Bogdan (SirEdvin)
+1^
Anonymous
есть такая строка, как из нее сделать data.time значение? 2018:02:11 10:40:52
Alex
-
Ребят, есть задача по написанию классификатора на питоне. Классификатор должен проанализировать лог до определенной даты, во время определенной даты и после определенной даты. В качестве исходника есть огромный лог запросов (2.5 гб) Сама классификация должна быть предложена в виде нескольких вариантов. Цена и сроки обсуждаемы.