• Какой стул для работы лучше?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    Маркус из Икеи выполнен по госту, а там описано какой должен быть стул для правильно осанке. Я купил себе, когда спина начинала болеть, сейчас боли прошли, спинка кресла очень удобная.
    Ответ написан
    3 комментария
  • С помощью каких приложений объяснить ребенку (9 лет) python?

    купите ребенку мяч футбольный и сводите на стадион. успеет еще взрослой жизни хлебнуть
    Ответ написан
    3 комментария
  • С помощью каких приложений объяснить ребенку (9 лет) python?

    Astrohas
    @Astrohas
    Python/Django Developer
    Лучше Scratch (https://scratch.mit.edu/ ) или CodeMonkey https://www.playcodemonkey.com/ , а еще лучше не заставлять бедняжку
    Ответ написан
    Комментировать
  • Какие есть минусы у использования many to many полей Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Объективных минусов нет, так как нет и альтернатив. А сравнивать с другими типами отношений некорректно, так как у каждого своя область применения.
    Ответ написан
    Комментировать
  • Как понять, когда стоит уже переходить на "почасовую" оплату и как клиент проверяет добросовестность?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Предпочитаю в принципе работать только по почасовой ставке, потому что так честнее для всех. Фрилансер получает ровно столько, сколько проработал. Клиент тоже платит столько, сколько по факту вышло работы.
    Также при часовой оплате отпадает надобность оценивать каждую мелочь. Клиент просто просит ещё что-нибудь допилить, и ты спокойно это делаешь и потом выставляешь счёт за фактически потраченное время.

    клиенту ведь нужно как-то подтвердить, что ты все эти часы делом был занят, а не попросту отсутствовал или сериал смотрел. Как это происходит?

    Ваше подтверждение - это выполненная работа.
    Большинству клиентов не требуется подтверждать каждое телодвижение. Достаточно, чтобы общее время на задачу соответствовало тому, на что он рассчитывал.

    Но я бы рекомендовал взять за привычку пользоваться тайм трекером. Например toggl. Любую задачу, над которой работаешь, отмечать в трекере. Так по завершению недели у тебя будет хороший отчёт о том, что ты делал и как долго. С таким отчётом в принципе любые вопросы отпадают.

    По поводу обмана. Очевидно, что у фрилансера есть 1000 и 1 способ обмануть клиента. Если у вас нет доверия друг к другу, то лучше вообще не начинать отношения.
    Если клиент рассчитывал например, что ты сделаешь задачу за 10 часов, то ему всё равно, чесал ты жопу половину из этого времени, или работал непрерывно. Главное, чтобы результат соответствовал потраченному времени.

    По поводу непредвиденных увеличений срока. В идеале все такие моменты должны быть предусмотрены ещё на берегу. Т.е. ты должен предугадать, где у тебя могут быть проблемы и сразу озвучить клиенту вилку "если получится, то сделаю быстро, но возможно что придётся идти сложным путём и тогда потребуется +10 часов". Если такое вылезло внезапно, то тут уже всё индивидуально. Иногда можно что-то допилить за свой счёт (не логировать время), иногда можно объяснить клиенту и увеличить стоимость.

    Ну и общая рекомендация - не работай с жлобами.
    Ответ написан
    1 комментарий
  • Как внедрять Bootstrap 4.0 в проект 2003 "постепенно"?

    @vism
    чет странные вещи советуют.
    Просто создайте новый header с бутсрапом и подрубайте вместо старого на каждой странице переписывая страницу.
    Так постепенно все и перепишите.
    Ответ написан
    Комментировать
  • Какие стратегии повышения зарплаты существуют?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Центральный показатель для бизнеса, а следовательно и руководителей, как людей представляющих интересы этого самого бизнеса - это коэффициент возврата инвестиций (ROI). Соответственно, сотрудник должен приносить компании больше денег, чем потребляет. Естественно, что чем выше разрыв между затратами и прибылью, тем лучше, поэтому фонд оплаты труда руководитель должен держать на том минимальном уровне, который гарантирует бесперебойную работу сотрудников. Один из факторов этой бесперебойности - низкая текучка. Сотрудников терять нежелательно. И чем ценнее для компании сотрудник, чем более он профессионален и/или чем больше на него завязано, тем дороже обходится его потеря. Натурально в деньгах. Придётся затратить больше, чем обычно, денег на поддержание работы без него. Придётся затратить деньги и время (те же деньги) на поиск, найм, введение в работу, возможно, обучение нового сотрудника. При этом он может оказаться совсем неподходящих и цикл придётся повторить. Или может оказаться просто хуже прошлого и эффективность отдела снизится. Поэтому, когда сотрудник приходит просить прибавку, руководитель оценивает может ли этот сотрудник уйти или только блефует, насколько легко его будет заменить, какой урон компании будет нанесён его уходом. Потом руководитель оценивает стоимость расширения ФОТ - есть ли резервы, какой сейчас ROI, будет ли больший ROI от реинвестиции этих средств во что-то другое? Если уход сотрудника будет стоить меньше, чем увеличение ФОТа, сотруднику откажут.

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

    Из этого вывод, стратегия проста - увеличивайте собственный профессиональный уровень на столько, чтобы свободно менять компанию, как только вас что-то перестало устраивать.
    Ответ написан
    4 комментария
  • Что лучше Django 2 или Django 1.x?

    Atanvar
    @Atanvar
    Frontend developer
    питон 2 ненужен, смело переходите на джанго 2 и 3 питон.
    Ответ написан
  • Чем Slack лучше Telegram?

    KazeZlat
    @KazeZlat
    Погромист-затейник
    Вообще, телеграм и слэк сравнивать несовсем корректно, ибо использование ТГ для работы в качестве основного мессенджера - боль, если вам требуется больше одной конфы.

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

    В слэке компании разделены серверами, и это больше похоже на Discord, только для работы. На каждом сервере есть каналы, для каждого канала можно очень гибко настроить уровни доступа и режим уведомлений (даже с учётом временной зоны работника, никто вам ночью не пришлёт нервное письмо с правками)

    Пробежимся по плюсам:
    1. Каждый работник может настроить себе кастомные уведомления. Типа
    уведомлять меня, когда кто-нибудь напишет "синхрофазотрон" или назовет меня по имени
    2. Можно шарить снипеты с подсветкой синтаксиса множества языков и другие вложения
    3. Поддержка сторонних сервисов. Ссылки с гуглодоков и других сервисов могут обрабатываться прямо в слэке (например, можно отметить выполненным таск в Asana сообщением в Slack, некоторым удобно)
    4. Адекватный бот, с веб-хуками и прочими плюшками.

    А теперь про минусы:
    1. Нативное приложение очень заметно жрет оперативку
    2. Бесплатно доступны для поиска только последние 10000 сообщений (не такой уж прям критичный минус, если не держать флудилку на том же серваке)
    3. Нет стикерпаков и видеосообщений в кружочках =(
    Ответ написан
    Комментировать
  • Как вывести интернет с телефона через кабель ethernet?

    athacker
    @athacker
    Красивая картина. Непонятно только, как она вообще к реальности соотносится.

    В общем же случае -- как правило, у современных смартфонов есть режим Hot-Spot. Т.е. телефон подключается к интернету, и раздаёт интернет по WiFi. Если нужно именно в провод, то раздаёте интернет по WiFi с телефона, к этому WiFi подключаете какую-нибудь точку доступа, которая умеет работать как WiFi-клиент (например, TP-Link 3020), в неё уже втыкаете кабель, а кабель -- в комп.
    Ответ написан
    4 комментария
  • Как правильно сидеть?

    Astrohas
    @Astrohas
    Python/Django Developer
    Я как типичный представитель Востока, предпочитаю сидячее (без всяких кресел) положение. Высота стола 30 см. Сижу на жестком матрасе. Из удобств можно сидеть в любой позе, да хоть с ногами на шее (я предпочитаю позу лотуса).
    Ответ написан
    1 комментарий
  • Как получить всех людей начинающихся с перечня букв?

    zenwalker
    @zenwalker
    0xABADBABE
    На небольших таблицах можно регулярочкой
    Model.objects.filter(name__iregex=r'^([в-д])')
    Ответ написан
    3 комментария
  • Django как настроить отдачу картинок с локального хранилища?

    @metajiji
    Остается только привести дефолтный конфиг nginx для Django:
    server {
    	listen 80;
    	server_name domain.ltd;
    	root /srv/app/public;
    
    	# Logs.
    	access_log /var/log/nginx/domain.ltd_access.log;
    	error_log /var/log/nginx/domain.ltd_error.log;
    
    	# Options.
    	client_max_body_size 0;
    	keepalive_timeout 5;
    
    	# Locations.
    	location / {
    		try_files $uri @proxy_to_app;
    	}
    
    	location @proxy_to_app {
    		proxy_pass http://127.0.0.1:8001;  # See guniconf.py file.
    		proxy_set_header Host $http_host;
    		proxy_set_header X-Real-IP $remote_addr;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		proxy_set_header X-Forwarded-Proto $scheme;
    		proxy_redirect off;
    	}
    }


    В таком случае, удобно будет организовать проект следующим образом:
    /srv/app/
    ├── example
    │   ├── forms.py
    │   ├── __init__.py
    │   ├── migrations
    │   ├── models.py
    │   ├── settings.py
    │   ├── static
    │   ├── templates
    │   ├── urls.py
    │   ├── views.py
    │   └── wsgi.py
    ├── logs
    ├── manage.py
    ├── public
    │   └── static
    ├── README.md
    ├── requirements.txt
    └── venv


    Для работы этой схемы проекта нужно добавить в settings.py:
    STATIC_URL = '/static/'
    STATIC_ROOT = os.path.join(BASE_DIR, 'public', 'static')


    При такой конфигурации веб сервер смотрит в каталог /srv/app/public/ и попытается сперва отдать с диска то, что запросил пользователь, если не найдет, то отправит запрос в Django.
    А еще появляется возможность складывать свои собственные статические файлы в этот каталог (например zip архив или pdf документ), кроме того, нет необходимости что-то менять в конфигурации nginx, что очень удобно.

    Для media можно поступить аналогично, если для скачивания media не предусмотрена авторизация, для этого нужно добавить в settings.py:
    STATIC_URL = '/media/'
    STATIC_ROOT = os.path.join(BASE_DIR, 'public', 'media')

    /srv/app/
    ├── example
    ├── logs
    ├── public
    │   ├── media
    │   └── static
    └── manage.py


    Если все-таки авторизация нужна, то не стоит складывать каталог media в public, в таком случае лучше придерживаться стандартной конфигурации:
    STATIC_URL = '/media/'
    STATIC_ROOT = os.path.join(BASE_DIR, 'media')

    /srv/app/
    ├── example
    ├── logs
    ├── media
    ├── public
    │   └── static
    └── manage.py

    Еще порекомендовал бы настроить X-Accel-Redirect для отдачи media через nginx, но об этом я в этом посте уже не буду писать.
    Ответ написан
    Комментировать
  • Какими способами/приемами вы пользовались чтобы получить свой первый заказ на фриланс бирже?

    opium
    @opium
    Просто люблю качественно работать
    Конкуренция только среди школьников а спецов не хватает, ну и для фрилансера поиск это тоже просто работа.
    Ответ написан
    9 комментариев
  • Какие существуют способы защиты стилей CSS?

    opium
    @opium
    Просто люблю качественно работать
    мне кажется мания величия затмила ваш мозг глупейшими проблемами, вместо того чтобы код красиво оформить и выкладывать на гитхаб и делиться им, вы решили его зачем то прятать, просто задумайтесь, что хорошего вы сделали в жизни и почему не выкладываете его на гитхаб?
    Ответ написан
    11 комментариев