Задать вопрос
  • Что с pip'ом в Python?

    LazyTalent
    @LazyTalent
    Data Engineer, Freelancer
    Прежде, чем сидеть грустить, может быть стоило изучить инструменты, которыми пользуешься?
    Ответ написан
    1 комментарий
  • Как мне отсортировать кверисет?

    sim3x
    @sim3x
    П.С. Ответы: "добавить поле date_updated" или "переведи кверисет в лист и реверсни" - не подходят.

    Решения - нет
    Ответ написан
    Комментировать
  • Как заполнить матрицу буквами в шифре Плейфера на Python?

    longclaps
    @longclaps
    Старайся. Мы за тебя болеем.
    Ответ написан
    Комментировать
  • Как изучать алгоритмы?

    @res2001
    Developer, ex-admin
    Автор вопроса меня заинтриговал. И хотя я не занимаюсь Java, качнул книжку, пробежал первую главу и задания.
    Ну да есть пара упражнений с логарифмами. Если открыть википедию на логарифме, то там увидим, что логарифмы вычисляются с помощью простых рядов, где используются исключительно арифметические операции (надеюсь ваши знания математики на эти действия распространяются (+-/*)?). Решить задание основываясь на этой информации довольно просто.
    Все остальные "умные слова" встречаются в разделе "творческие задачи" и "эксперименты" - там видимо несколько более сложные задания. Хотя я в этом не уверен.
    Слово рекурсия, в контексте книги, имеет прямое отношение к программированию и мало к математике. Означает оно - вызов функцией саму себя. Все задания на рекурсию как раз об этом. В главе про это рассказывается. Разве это так уж сложно? Видимо вы не поняли объяснения в прочитанной главе.
    Можно и другие задания обсуждать. Они все довольно легкие, на какие-то нужно потратить время, какие-то решаются с ходу. Задания где встречаются "умные слова" из математики обычно непосредственно этой математики не касаются. Разве что творческое задание написать библиотеку матричных вычислений, но и там предлагается написать всего 5 простых матричных операций. Откройте википедию на описании матриц и увидите, что эти операции реализуются довольно просто.
    Прежде чем писать жалобные посты на тостер, потратьте хотя бы 10 минут на обдумывание задания и, может быть, небольшой гуглеж. Так же, возможно, нужно перечитать главу.
    Ну и в конце концов, если после обдумывания, перечитывания и гуглежа, вы видите, что без углубления в математику не обойтись - можно просто пропустить задание :-)
    Вы хотите научиться чему то новому без усилий? Так не бывает!
    А может, это вообще не ваше?
    Ответ написан
    Комментировать
  • Что вы используете для автоматического информирования о состоянии удаленного сервера?

    opium
    @opium
    Просто люблю качественно работать
    емайл конечно
    gmail позволяет в любую точку мира на телефон отправлять уведомления слава богу
    Ответ написан
    1 комментарий
  • Стоит ли искать работу Python junior'ом на 1 месяц?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    В нормальную контору - только поиск, собеседования, оформление и знакомство с проектом займет 2-3 месяца, что не хватит даже на прохождение испытательного срока.
    Можете попробовать поискать на фрилансе.
    Но с такими сроками и отсутствием опыта - один месяц проще подработать не в айти.
    Ответ написан
    Комментировать
  • Как проверить, есть ли что то в элементе массива?

    @deliro
    1)
    if 'response' in st and 'screen_name' in st['response']:

    2) if st.get('response', {}).get('screen_name'):
    Доки читать не?
    Ответ написан
    Комментировать
  • Как организовать код, если переменные хранятся внутри строки в БД?

    @airamkad
    Регэкспом или даже простым поиском заменой - быстро будет.
    Только проверять шаблон чтобы название переменных ни с каким текстом в шаблоне не совпали.

    Другой вариант - хранить шаблон в формате какого нибудь шаблонизатора.
    Например, Jinja2, Maco, Chameleon и т.п.
    И просто скармливать шаблонизатору текст html-шаблона и переменные.
    Это будет идеологически правильно, но медленее
    Ответ написан
    Комментировать
  • Как реализовать действие при нажатии кнопки с помощью функции lambda?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Лямбды не могут иметь побочных эффектов, к которым относится и присвоение.
    Ответ написан
    Комментировать
  • Python Какая принципиальная разница в записи условия?

    Позволю себе добавить к словам других комментаторов: обычно лучше не делать "громадные условия", их трудно читать. Почти всегда можно как-нибудь оптимизировать и сократить, например, разложив его на отдельные переменные, или составляя список и натравливая на него any() / all(), или вынося это всё в отдельную функцию с кучей assert, вместо условия ловя AssertionError.
    Ответ написан
    Комментировать
  • Как эффективно и не теряя времени дорасти до трудоустройства web-разработчиком?

    @Beltoev
    Живу в своё удовольствие
    Ты готов, дуй на собеседования
    Ответ написан
    Комментировать
  • Как сделать чтобы генератор выводил значения так же как и цикл?

    longclaps
    @longclaps
    Чота ржу.
    list = [[1,2,3],[1,2,3],[1,2,3],[1,2,3]] # list - это имя стандартного класса, 
                                             # зачем его засирать
    
    print([j for j in list]) # [j for j in list] - это копия листа list,
    
    print(list)              # выведет то же самое, но без ненужного копирования
    
    for j in list:
        print(j, end=', ')   # выведет почти то же самое
    Ответ написан
    4 комментария
  • Как правильно организовать использование JS в шаблонах Django?

    sim3x
    @sim3x
    <body data-attrib="{{ some_var }}">

    и $(document).ready(...)достаточно для решения проблем
    Ответ написан
    Комментировать
  • XSD синтаксис, можно ли реализовать конструкцию if else?

    Есть группы подстановки. То есть, можно сказать, что валидным является либо такое содержимое, либо этакое. Вот, по-моему, неплохой пример использования групп: stackoverflow.com/questions/39868769/xsd-element-s...

    Но Вы уверены, что стоит для этой задачи использовать XSD? Это же должно быть средством формальной валидации. То есть, если Ваш компонент получил на вход валидный XSD - значит, он умеет такой документ распарсить. А уже тогда можно проводить бизнес-валидацию, проверять инварианты и т.д.
    Ответ написан
    3 комментария
  • Провалил тестовое задание DrWeb. В чем косяк?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Главное, ваша программа не выполняет именно главного - копирования! move - перемещение.
    shutil.move(input_path+name, output_path+name)
    Надо или shutil.copy или shutil.copy2
    Ответ написан
    2 комментария
  • Как организовать хранение файлов на сервере?

    @marazmiki
    Укротитель питонов
    Правильно ли я понимаю что для хранение файлов их нужно разбивать по папкам,

    Неправильно.
    Для того, чтобы файлы загружались и благополучно отдавались, сегментировать (разбивать по папкам) их совсем не обязательно.

    Проблемы, про которые Вы могли слышать, связаны лишь с получением полного списка файлов в директории. Да, это долго и тормознуто, но никак не влияет на скорость чтения конкретного файла.

    А на боевых серверах использование хранилища в локальной файловой системе и вовсе нонсенс. Там эта проблема не стоит в принципе.

    Сегментацию можно сделать для, скажем так, красоты. Или чтобы было понятно, кому принадлежит тот или иной файл. Но практическая польза от неё сомнительна. Вреда, впрочем, тоже нет :)

    допустим на сервер пользователь с Ником username заливает файл file.mp4, и я сохраняю этот файл по пути u/us/use/user/usern/file.mp4 и такой путь формируется для каждого пользователя

    Опять неправильно.

    Во-первых, никогда, НИКОГДА не доверяйте данным, пришедшим от пользователя. Сохраняете загруженный файл – сгенерируйте имя сами. А оригинальное имя не возбраняется сохранить и в другом месте. Если понадобится дать возможность пользователю сохранить файл под оригинальным именем, это делается в несколько строк.

    Во-вторых, Ваша сегментация слишком агрессивная. Если представить, что юзернейм может состоять только из строчных латинских букв и цифр (итого алфавит 26+10=36 символов), то такое хранилище сможет вместить 36 ^ (1 + 2 + 3 + 4 + 5) = 36^15 = 2.21 * 10^23 файлов без повторений. А что если юзернейм короче 5 символов? А что если он переименуется?

    Помните "во-первых"? Так как нам нужно самим придумать имя файла, почему бы не воспользоваться либо UUID и сгенерировать уникальное (с высокой достоверностью) значение вида 28c5a6d8-f7b5-440f-aeaa-150e4fd0bebc, а его уже сегментировать? Например, два сегмента по два символа датут прикольные ссылки вида 28/c5/28c5a6d8-f7b5-440f-aeaa-150e4fd0bebc и возможность разместить 65 тысяч файлов так, чтобы они были по одной штуке в директории :)

    Есть также вариант использовать не UUID, а посчитать контрольную сумму файла и взять её в качестве имени. Практическая ценность такого хеша, правда, тоже стремится к нулю :)

    если будет 2 одинаковых названия файла у одного пользователя то просто добавляю к новому файлу номер (file1.mp4)

    Если речь идёт о Джанге, то она сама так делает, это штатная функция хранилища.
    Ответ написан
    1 комментарий
  • Можно ли задавать имена переменных в шаблоне Django на кириллице?

    sim3x
    @sim3x
    Не надо делать 1с на моей джанго
    Ответ написан
    Комментировать
  • Истина в Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Выражение 8 == True не истинно потому, что булевые значения в Python - подтипы целых чисел. True - это фактически единица, а 1 не равно 8.

    В выражении if это срабатывает потому, что в контексте условных выражений производится неявное преобразование числа 8 в булевое значение. То есть интерпретатор сначала преобразовывает число (или что-либо другое) в 1 или 0 в соответствии с правилами преобразования, а потом выполняет с получившимся значение логическую операцию.
    Ответ написан
    Комментировать