• Нужен ли настрольный справочник по Python?

    Dit81
    @Dit81
    Security researcher, pentester, internet-marketer
    Лучше официальной документации по Python и Django я не видел... Хотя справочниками пользуюсь, в том числе и этой книгой. Но конкретные задачи проще поискать на github или в stackoverflow.com
    Ответ написан
    3 комментария
  • Как организовать работу на сайте только после авторизации?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Например так если использовать common based views:
    from django.contrib.auth.decorators import login_required
    class LoginRequiredMixin(object):
    
        @classmethod
        def as_view(cls, **initkwargs):
            view = super(LoginRequiredMixin, cls).as_view(**initkwargs)
            return login_required(view, login_url=reverse_lazy('login'))


    навешиваете этот миксин на все вьюхи, и они при попытке входа под неавторизованным пользователем будет перебрасывать его на страницу входа для авторизации.

    А вообще кучу возможных вариантов вам уже в той теме насоветовали.
    Ответ написан
    4 комментария
  • Можно ли заработать в мире Unix-like, unix-way?

    @Z-r
    Мне известно четыре основных способа заработка, напрямую связанных со свободными программами:

    — Первый, самый прямой, но от того почему-то всем не менее неочевидный — брать и продавать копии свободных программ. Аудитория: любые конечные пользователи. Примеры: Parted Magic, ряд программок для «Андроида», ну например, «Conversations». Высокоморальность: в полном порядке.

    — Второй — это уже известная вами продажа поддержки. А фактически иногда и просто своего имени, когда какая-то реальная поддержка начинается с сумм несколько больших, чем базовый контракт. Аудитория: те, для кого ваша программа есть орудие производства, то есть компании и предприниматели. Пример: уже озвученный вами Canonical. Высокоморальность: в полном порядке.

    — Третий — это продажа исключений из авторского лева. Аудиторией будут разработчики несвободных программ, а программа ваша должна быть библиотекой под (как нетрудно догадаться) авторским левом, причем чаще сильным. Суть в том, что для добрых людей ваш продукт свободен на условиях, скажем, GNU GPL или GNU AGPL, а проприетарщики пусть платят за возможность использовать его в своих шкурных интересах. Примеры: GhostScript, MySQL. Высокоморльность: прихрамывает маленько.

    — Четвертый — это то, о чем помянул тов. CityCat4 — т. н. free crippleware, то есть полноценная ваша программа несвободна и платна, но у нее есть свободный урезанный вариант. Причем урезано может быть как что-то существенное, так и сущая ерунда. Аудитория: кто угодно. Примеры: Odoo, GitLab, ProcessMaker. Высокоморальность: от невысокой до никакой, смотря сколько отрезано.

    И разумеется, все вышеперечисленно можно комбинировать: Qt, к примеру, и поддержку (обучение) предоставляет, и исключения из авторского лева (причем слабого!) продает, и совсем ерундовую несвободную часть имеет. А упомянутый вами Red Hat — продает копии и предоставляет поддержку. А иногда и такое бывает: программка для «Андроида» под названием OsmAnd полностью свободна, но поставляется в Гуглоплэе в двух вариантах: полном за копеечку и урезанном бесплатно. Еще раз: обе версии свободны, то есть никакой моральной проблемы здесь нет.

    ――

    P. S. Я перечислил только способы заработка на программах как таковых, полагая, что схемы, где свободные программы участвуют косвенно, и без того очевидны, но в комментариях только о них и говорят, так что надо, наверное, упомянуть, что да, конечно, свободная программа также может быть:
    — Частью продаваемой услуги — чаще всего услуги специфического хостинга, как ставимый здесь в пример Openshift или (если ближе к народу) Feedly.
    — Частью продаваемого устройства, причем само устройство может быть как свободным, так и нет. Тысячи их.
    — И наконец, просто частью приносящего прибыль техпроцесса. То есть компания пишет (заказывает) программу себе для внутреннего использования и могла бы ее вообще не распространять, но, не считая ее своим «ноу-хау», ведет себя благородно и просто свободно делится ею со всеми. Известнейший пример — Reddit (хотя в последнее время они подскурвились).

    ――

    И не могу все-таки не отметить, что unix-way отношение к свободе имеет такое же, как мелкое к горячему.
    Ответ написан
    2 комментария
  • Каков набор утилит для компьютерной помощи?

    @nirvimel
    В изолированной системе энтропия не уменьшается - закон физики.
    Засранная система не станет чистой - закон Microsoft.

    Самый быстрый и правильный вариант:
    0. Забыть про всякие чистильщики, настройщики и прочую легальную вирусню, которую некоторые еще ставят себе добровольно.
    1. Сгрести все ценное на внешний диск (если под это не отведен специальный раздел, т.е. хард нарезан цельным куском).
    2. Отформатировать хард (заодно правильно нарезать, чтобы под ОС шел ОТДЕЛЬНЫЙ раздел).
    3. Поставить чистую ОС.
    4. Вернуть все ценности на место (неактуально, при наличии отдельных разделов под это и под ОС).
    5. Убрать админские права с юзера и запаролить админа - защита от 90% вирусни.
    6. Настроить инкрементальный бекап всего юзерского профиля - защита от оставшихся 10% вирусни.
    7. Поставить (анти)вирус, чтобы комп стал тормозить как раньше.
    Ответ написан
    6 комментариев
  • Нужен ли настрольный справочник по Python?

    aRegius
    @aRegius
    Python Enthusiast
    И да, и нет. Все зависит от цели. Постараюсь объяснить.

    Я уже как-то упоминал про тот факт, что люди воспринимают информацию по-разному. Мой приоритет - книги (а не аудио/видео, например). Мой подход к обучению - step-by-step, от простого к сложному, одна технология в фаворе. Но эта последовательность не линейна - на определенном этапе она становится цикличной, или, что точнее, спиралевидной: в пройденном, как тебе кажется, материале ты начинаешь замечать новые моменты, ранее упущенные из виду.

    Пример:
    я начинал с Доусона. Проработав капитально, взялся за Лутца. После - Fluent Python, Python Cookbook и иже с ними... (HTML, Django, CSS, работа над собственным проектом - это я все опускаю, как не относящиеся к сути вопроса детали. Говорим только про Python и книги.)

    Так вот, к Доусону я больше не возвращался, к Лутцу - иногда возвращаюсь, а "иже с ними" я перечитываю по кругу и каждый раз открываю для себя что-то новое. Это, скорее всего, связано с тем, что всякий раз ты возвращаешься на исходную позицию с уже более прокачанными знаниями/пониманием, отстутствие которых не позволяет охватить все и сразу с первой попытки; плюс, каждый автор преподносит один и тот же материал с другой стороны (другими примерами), что дополнительно углубляет твое понимание пройденого.

    А отработанным можно считать тот материал, работа с которым вам уже не дает ни новых знаний, ни нового понимания. Но, как это всегда бывает, к тому времени у вас в руках окажется другой, актуальный материал - ведь процесс развития, повышения своего профессионального уровня фактически бездонен.

    Замечу, что все вышеописанное базируется на предположении, что вы стремитесь к максимальному развитию в рамках своей технологии. На мой взгляд, нельзя объять необъятное и хвататься за все сразу; step-by-step, как я говорил. Должна быть, по меньшей мере одна крепкая база + сопутствующее. Но эта база должна быть отшлифована до блеска, как птичьи плоды одного из небезызвестного персонажа из бронзы, расположеного на севере парка Боулинг-Грин в Финансовом квартале Нью-Йорка, в двух кварталах южнее Нью-Йоркской фондовой биржи.

    Для меня такой базой, в настоящее время, является Python. Ему я и уделяю большую часть времени, распределяя оставшееся на Прочее. А вот когда я абсолютно и полностью исчерпаю Python - буду искать следующую Приоритетную цель на его место. И так далее. Процесс, фактически, бесконечен.

    Вот именно поэтому справочник не нужен. В нем просто нет резона. У вас всегда должен быть под рукой актуальный материал, который будет двигать вас вперед. В этом смысле справочник - это некий костыль для постигшего дзен, умудренного опытом Змея, которому уже лень думать, некуда развиваться, но иногда нужно по-быстренькому напомнить себе о временах буйной молодости, воспоминания о которых можно освежить в памяти открыв 135-ую страницу - первый абзац, вторая строка :)

    Ну а если все вышенаписанное не про вас, Python так, мимо проходил, тогда, может быть, да. Вот очень неплохой вариант.

    P.S. Про литературу в целом можете посмотреть ТУТ.
    Ответ написан
    2 комментария
  • Нужен ли настрольный справочник по Python?

    @vilgeforce
    Раздолбай и программист
    Я читаю гугл. Книги про то, "как сделать X при помощи Y" не нужны.
    Ответ написан
    Комментировать
  • Нужен ли настрольный справочник по Python?

    sim3x
    @sim3x
    Хватает с головой
    https://www.google.com.ua/search?q=django+whatever

    Если не находит ничего, то читаю код
    Он лаконичен и хорошо документирован

    ПС переводная литература не нужна
    Ответ написан
    Комментировать
  • Адаптивная верстка с помощью JavaScript. Как это делается?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    буду делать только через медиа запросы, пусть будет все проще, зато надежнее

    Так что не стоит извращаться с JS. Вся адаптивность делается с помощью CSS
    Ответ написан
    Комментировать
  • Адаптивная верстка с помощью JavaScript. Как это делается?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    А зачем вы их все переносите? Зачем для адаптивной верстки js? Да, бывают моменты, когда он нужен. Но так, как используете его вы, не правильно. Почему вам через css все не делается?
    Ответ написан
    3 комментария
  • Kvm виртуализация. Как настроить виртуальную сеть для виртуальных машин на Ubuntu server 16.04?

    edinorog
    @edinorog
    Троллей не кормить!
    если бы мне платили за ответ за каждый такой вопрос .... я бы уже плавал на своей яхте!!!!!

    давай упростим задачу. статический адрес 1!!!! виртуальных машины 2!!!! как поделить 1 айпишник на 2 машины? ну наверное виртуальным маршрутизатором. или докупить еще один айпишник и дать каждой машине по одному. другие чудесные способы науке пока не известны!!!!
    Ответ написан
    Комментировать
  • Как выглядит requiments.txt и freeze.txt для djnago?

    Чтобы создать файл requirements.txt для своего проекта, выполните следующую команду, находясь в окружении проекта(виртуальном или каком еще):
    pip freeze > requirements.txt
    Открыв файл, вы увидите:
    Django==1.10
    django-cors-middleware==1.3.0
    djangorestframework==3.4.5
    djangorestframework-jsonapi==2.1.0
    inflection==0.3.1
    ...
    Ответ написан
    Комментировать
  • Как организовать хранение файлов пользователей в Django?

    @ilya_chch
    в settings.py добавьте указание на расположение медиа
    MEDIA_URL = '/media/' #например
    MEDIA_ROOT = '/srv/files/media' #например


    media_url - часть урла, по которому будут находиться картинки, media_root - место на сервере, где nginx будет их искать.

    в модели:

    class ModelClass(models.Model):
        <поле> = models.ImageField(upload_to=rename_image, blank=True, verbose_name='...')
    
    def rename_image(instance, filename):
        image_name = md5(str(time.time()).encode()).hexdigest()
        image_type = filename.split('.')[-1]
        return 'imgs/{}.{}'.format(image_name, image_type)


    rename_image в моем случае переименовывает загружаемую картинку в хэш. и в return можно добавить путь. в моем случае будет загружаться в media_root/imgs/<что-то>.jpg #например (при условии, что media_root определен, все всегда будет падать туда)

    добавьте в путь подкаталог с именем user_{его id}. а вот насчет доступности только для этого пользователя - надо отдельно думать.
    Ответ написан
    Комментировать
  • Доработка скрипта создания папки?

    @dpvpro
    #!/bin/bash
    
    while true; do
    	echo -n "Please enter an folder -> "
    	read folderdcheck
    
    	if [ ! -d "$folderdcheck" ]; then
    		echo "$folderdcheck is not exist."
    		mkdir -p $folderdcheck
    		echo "$folderdcheck is created."
    		break
    	else
    		echo "$folderdcheck exist."
    	fi
    
    done
    echo "Program terminated."

    По хорошему, нужно еще делать проверку корректности ввода у этого скрипта.
    Ответ написан
    Комментировать
  • Доработка скрипта создания папки?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    зачем такие мучения, делайте просто:
    echo "Укажите имя папки:"
    read Dir
    mkdir -p $Dir

    если нету то создаст, если есть то ничего страшного, ошибка подавится параметром -p
    Ответ написан
    2 комментария
  • Скомпилировать exe из под линукса?

    Комментировать
  • Какой лучший терминальный сервер?

    Frankenstine
    @Frankenstine
    Сисадмин
    LTSP
    Ответ написан
    Комментировать
  • Как настроить сеть в vbox?

    a13xsus
    @a13xsus
    Lazy developer
    В Сети выбирайте Сетевой мост, ниже выбираете свой активный физический сетевой адаптер, ниже разрешить всё, подключить кабель. В настройках убунту статический ip из диапазона, который раздаёт ваш роутер.
    Ответ написан
    Комментировать
  • Какой лучший терминальный сервер?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Ssh +x forward.
    Ответ написан
    Комментировать
  • Как запатентовать уникальный программный алгоритм?

    trevoga_su
    @trevoga_su
    уникальный алгоритм, связанный с анализом спортивных событий

    340c2137434856d317fd31f31a5f9a75.jpg
    Ответ написан
    Комментировать
  • Как организовать хранение файлов пользователей в Django?

    Файлы будут доступны по прямым ссылкам. В этом видео поищите, как реализовано ограничение доступа к файлам с помощью nginx, который скорее всего и будет заниматься раздачей файлов в вашем проекте.
    Ответ написан
    1 комментарий