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