• Стал работать по часам и обнаружил, что выходит 6 часов в день. Это нормально?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    Не забывайте, НИКОГДА не забывайте, что в ваше рабочее время входит не только полезная работа (написание кода):
    - разобраться с той или иной информацией, изучение проблемы
    - анализ и преоктирование
    - просто изучение нового (подходы, библиотеки)
    - отдых в определенном проценте (не считая обеда)

    Если за вас это не делает работодатель, делайте за него.
    В будущем, если будете управлять коллегами — делайте это для них.

    Главное для любого человека — он сам, никакая зп не переплюнет эгоизм, помните это.
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    Jump
    @Jump
    Системный администратор со стажем.
    Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?
    КАк обычно.

    Но клиент начал писать во все мессенджеры и угрожать заявлением в полицию.
    Если я сейчас начну угрожать вам заявлением в полицию, вы тоже нервничать будете?
    Любой гражданин имеет право написать заявление в полицию.

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

    Если клиент подаст заявление в полицию и к вам придет полицейский узнать как было дело - просто расскажете ему как оно было, и все.
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    firedragon
    @firedragon
    Senior .NET developer
    Кидалово чистой воды. А вот заблокировали зря. Разблокируйте и сообщите что он не доплатил вам 43000 рублей. И вы подаёте на него в суд. На основании посменной договоренности о работах. Кроме того запишите телефонный разговор на диктофон , видимо будет разговор на повышенных тонах, после этого пишите заявление в собр о вымогательстве. Они это любят.
    Ответ написан
    9 комментариев
  • Как правильно настроить media-root?

    neatsoft
    @neatsoft
    Life is too short for bad software
    MYSITE_URL = '<abs_path>/domains/mysite.ru'
    STATIC_ROOT = os.path.join(MYSITE_URL, 'static')
    MEDIA_ROOT = os.path.join(MYSITE_URL, 'media')

    Но для production это не подходит. Каталог static нужно раздавать с помощью nginx (предварительно скомпоновав его с помощью python manage.py collectstatic), a media выносить на отдельный домен (для предотвращения XSS уязвимостей).
    Ответ написан
    3 комментария
  • Почему падает производительность request per second?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Нужно использовать асинхронные хэндлеры и асинхронную библиотеку для запросов к внешним сервисам. Вы просто останавливаете цикл событий блокирующим вызовом, вот и получаете просадку.
    Ответ написан
    2 комментария
  • Почему падает производительность request per second?

    dimonchik2013
    @dimonchik2013
    добавлять ли масло в тарталетки с черной икрой?
    замените Japronto на Flask / django
    или клиент на aiohttp
    Ответ написан
    2 комментария
  • Почему падает производительность request per second?

    tumbler
    @tumbler Куратор тега Python
    бекенд-разработчик на python
    Вам поступило 100 запросов: Вы с помощью japronto дновременно взяли их все в обработку, а теперь фокус: первый же вызов requests.get заблокировал обработку оставшихся 99 запросов, так что весь ваш сервис тупо простаивает. По мере получения результатов вы выплёвываете по 1 ответу, как будто никакой асинхронности у вас в коде нет. Замените requests на клиент aiohttp и избавитесь от блокировки.
    Ответ написан
    Комментировать
  • Какое ваше мнение про эти ресурсы?

    dimonchik2013
    @dimonchik2013
    добавлять ли масло в тарталетки с черной икрой?
    1 комментарий
  • Программа в фоне на Python?

    neatsoft
    @neatsoft
    Life is too short for bad software
    Для таких задач есть специальный инструмент - Celery.

    Под windows запустить можно, но не нужно. Если нет возможности использовать Linux в качестве основной рабочей системы, то стоит хотя бы виртуальную машину создать, т.к. паритет разработки/работы приложения - это важно.

    upd. Почему Celery лучше чем планировщик? Фоновое выполнение - это не такая тривиальная задача, как может показаться на первый взгляд, т.к. существуют граничные условия:
    - Что необходимо делать, если процесс по каким-то причинам не был запущен по расписанию, или завершился аварийно? Нужно ли запускать его повторно? (at least once)
    - Важна ли очередность выполнения?
    - Можно ли параллельно запускать ещё одну задачу, если предыдущая не завершилась?
    - Как мониторить выполнение фоновых задач?
    - Как собирать и хранить логи?
    Celery - хорошо протестированный, используемый во множестве проектов, production ready инструмент. Единожды изучив, его можно использовать для задач любой сложности.
    Ответ написан
    Комментировать
  • Как сконфигурировать виртуальные хосты для NGINX для ajax?

    neatsoft
    @neatsoft
    Life is too short for bad software
    Существует три варианта решения этой проблемы:
    1. После сборки фронтенда можно помещать его в static files / assets бэкенда, и сервить так же, как и все остальные файлы. Этот метод плох тем, что утрачивается возможность применения cache forever / cache busting (добавления хэш суммы в имена файлов).
    2. Распределять запросы между сервисами используя договоренность о путях, например, /api/* и /admin/* отправлять в бэк, /static/* отдавать из каталога с VueJS статикой, а для всех остальных запросов возвращать dist/index.html (для избавления от # в путях и обеспечения поддержки history mode). Минус - об этой договоренности нужно помнить, и следить за её соблюдением. Появляется неявная зависимость между сервисами.
    3. Использовать разные поддомены, например, api.example.com для бэка, www.example.com - для фронта. Роутинг запросов в этом случае происходит наиболее естественным образом - на основании имени домена. Становятся доступны дополнительные способы масштабирования (размещение на разных серверах, dns round robin, использование разных reverse proxy), и появляется возможность тестирования / отладки фронта с апи из разных окружений (dev, staging, qa, prod).


    ps. Cоветую упаковать ваши сервисы в Docker контейнеры, а в качестве reverse proxy / tls proxy / load balancer использовать Traefik вместо Nginx. Его киллер-фичи - auto discovery и auto load balancing. Кроме того, его гораздо проще правильно настроить. Сам Traefik тоже в контейнере работает, поэтому на сервере не требуется ничего кроме docker и docker-compose

    traefik-architecture.svg
    Ответ написан
    Комментировать
  • Как установить let's encrypt сертификат в docker совместно с nginx и certbot?

    neatsoft
    @neatsoft
    Life is too short for bad software
    Проблема в неправильном выборе инструмента. Для решения этой задачи гораздо лучше подходит Traefik: он умеет динамически подхватывать контейнеры, которым необходим доступ извне, автоматически получать let's encrypt сертификаты, роутить запросы на основании имени домена / пути, и выступать в качестве load balancer-а. Настраивается гораздо проще, чем Nginx: вся конфигурация - несколько строк.
    Ответ написан
    7 комментариев
  • Как сделать 3D анимацию такого плана как на сайте?

    @kit91ka
    angular, angularJS программист
    вообще анимации такого стиля, когда двигаются разные слои по-разному, называются parallax.
    можно воспользоваться готовой либой https://matthew.wagerfield.com/parallax/ или почитать, как его реализовать своими силами
    Ответ написан
    Комментировать
  • Payoneer больше не будет работать за пределами США на UpWork?

    Alex_Payoneer
    @Alex_Payoneer
    Только хочу уточнить, что вопрос решился, у всех пользователей есть доступ к их средствам.
    Ответ написан
    Комментировать
  • Payoneer больше не будет работать за пределами США на UpWork?

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

    @Legal2019
    Всё в имени моём... и радость и печаль...
    Точно не подскажу про AppStore, но думаю что выбор есть:
    ПЕРЕЧЕНЬ ГОСУДАРСТВ И ТЕРРИТОРИЙ, ПРЕДОСТАВЛЯЮЩИХ ЛЬГОТНЫЙ НАЛОГОВЫЙ РЕЖИМ НАЛОГООБЛОЖЕНИЯ И (ИЛИ) НЕ ПРЕДУСМАТРИВАЮЩИХ РАСКРЫТИЯ И ПРЕДОСТАВЛЕНИЯ ИНФОРМАЦИИ ПРИ ПРОВЕДЕНИИ ФИНАНСОВЫХ ОПЕРАЦИЙ (ОФШОРНЫЕ ЗОНЫ)
    Список изменяющих документов
    (в ред. Приказов Минфина России от 02.02.2009 N 10н,
    от 21.08.2012 N 115н, от 02.10.2014 N 111н, от 02.11.2017 N 175н)
     
    1. Ангилья;
    2. Княжество Андорра;
    3. Антигуа и Барбуда;
    4. Аруба;
    5. Содружество Багамы;
    6. Королевство Бахрейн;
    7. Белиз;
    8. Бермуды;
    9. Бруней-Даруссалам;
    10. Республика Вануату;
    11. Британские Виргинские острова;
    12. Гибралтар;
    13. Гренада;
    14. Содружество Доминики;
    15. Утратил силу с 1 января 2013 года. - Приказ Минфина России от 21.08.2012 N 115н;
    16. Китайская Народная Республика:
    абзац исключен. - Приказ Минфина России от 02.11.2017 N 175н;
    Специальный административный район Макао (Аомынь);
    17. Союз Коморы:
    остров Анжуан;
    18. Республика Либерия;
    19. Княжество Лихтенштейн;
    20. Республика Маврикий;
    21. Малайзия:
    остров Лабуан;
    22. Мальдивская Республика;
    23. Утратил силу с 1 января 2015 года. - Приказ Минфина России от 02.10.2014 N 111н;
    24. Республика Маршалловы Острова;
    25. Княжество Монако;
    26. Монтсеррат;
    27. Республика Науру;
    28. Кюрасао и Сен-Мартен (нидерландская часть);
    (п. 28 в ред. Приказа Минфина России от 02.10.2014 N 111н)
    29. Республика Ниуэ;
    30. Объединенные Арабские Эмираты;
    31. Острова Кайман;
    32. Острова Кука;
    33. Острова Теркс и Кайкос;
    34. Республика Палау;
    35. Республика Панама;
    36. Республика Самоа;
    37. Республика Сан-Марино;
    38. Сент-Винсент и Гренадины;
    39. Сент-Китс и Невис;
    40. Сент-Люсия;
    41. Отдельные административные единицы Соединенного Королевства Великобритании и Северной Ирландии:
    Остров Мэн;
    Нормандские острова (острова Гернси, Джерси, Сарк, Олдерни);
    42. Республика Сейшельские Острова.
    Ответ написан
    3 комментария
  • Как сделать анимацию разворота картинки?

    Четыре варианта сделать анимацию поворота айфона:

    вариант 1
    берёшь первую картинку и поворачиваешь её в css с помощью transform: rotate3d
    Будет плоско, потому что у картинки айфона нет толщины. Зато дёшево и сердито по времени, ресурсам, трудозатратам, нервам и т.д.

    вариант 2
    берёшь где-то 3D-модель айфона с чистым экраном. Открываешь в 3D-редакторе (blender, 3dmax и пр.), фигачишь на него скриншот сайта и делаешь покадровую анимацию поворота. Склеиваешь кадры анимации в gif, mp4 или webp.

    вариант 3
    берёшь 3D-модель и с помощью WebGL отрисовываешь её прям на странице. А так как это 3D, то вращать можешь так, как твоей душеньке угодно - под любыми углами и с любой скоростью.

    вариант 4
    берёшь айфон, камеру, ватман для фона и крутящуюся подставку.
    крепишь айфон на крутящуюся подставку, выставляешь камеру, свет, фон. И начинаешь поворачивать айфон, делая кадры на камеру. Потом, как во втором варианте, склеиваешь фотографии в анимацию в формате mp4, webp или gif
    Ответ написан
    Комментировать
  • Стоит ли покупать коленный стул?

    @PKmaster
    Всегда за компьютером
    Коленный стул, вред и польза.
    К сожалению, очень много рассуждающих теоретиков, и очень мало реально сидевших.
    Я сижу на этом стуле с 2018 года, и могу на собственном опыте все рассказать как есть, а не сказки из интернета. Есть реальные плюсы, и есть реальные минусы, у этой штуки.
    Но сначала пройдусь по писавшим ранее :-)))))

    - "Смартсул" хорошие вещи делает, но дорого. Я сижу на Богатыре, он принципиально ничем не хуже, а дешевле в 2 раза

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

    - "Не на стандартную высоту стола рассчитаны" - неправда. Стандартная высота стола или школьной парты 75 см. У меня дома стол 78. И мне удобно. И всем, кто сидит, а таких знакомых у меня уже штук пять. И все сидят за обычными столами. Конечно, в идеале нужен еще и стол с наклоном, но это блин 30 000р+, я пока не готов.

    - "Нагрузка со спины распределяется, но за счет колен" - ага, 20 раз. В реальности нагрузка на этом стуле на спину по ощущениям БОЛЬШЕ, чем при сидении на обычном стуле!! Потому что вес падает на мышцы, а не на позвоночник. Причем и на мышцы поясницы, и в целом спины, и на бедра и т.п. Посидите сами, не 5 минут "на примерке", а реальных 2-3 часа. Сразу все мышцы спины прочувствуете, особенно, когда их нет :-)))) как у меня было, когда сел. На позвоночник нагрузка на этом стуле меньше (в чем и прикол и польза), а на мышцы - больше!! И устают они будь здоров. Для этого ксати я стул со спинкой и купил, откидываюсь, отдыхаю, иначе по 8 часов не просидишь....

    - "От него болит спина" - спина болит, когда чем-то заболели, грыжу когда насидели, и т.п. Мышцы - да, испытывают повышенные нагрузки, держат Вашу спину. Да, сразу Вы 8 часов не просидите, я привыкал месяц, пока мышцы более-менее в тонус пришли и стали спину держать. И что в этом плохого? По-моему, наоборот хорошо, когда мышцы спины тренируются.

    - "Нет подлокотников" - так они нафиг не нужны, иначе смысл пропадает!! На подлокотник опираешься, спину изгибаешь, вес переносишь на локоть, позвоночник искривляешь и сидишь так часами. Типа. И смысл тогда коленный стул ставить?? Такой буквой зю можно и на обычном стуле сидеть...
    Если уж хочется опереться на что-то, я локти на стол кладу (очень удобно, кстати, и все дети, наблюдал, также делают), или на спинку откидываюсь. В последнем случае это чисто поза отдыха, работать невозможно, кстати...

    Итог:
    Реальные плюсы коленного стула:
    - спина стала ровнее;
    - не так устаю за компом;
    - чаще встаю (что тоже плюс, считаю);
    - мышцы спины натренировались, без проблем держу осанку;
    - стул не дает "развалиться" телу, как на обычном кресле, тело всегда в тонусе;
    - по истечении полугода так привык, что уже на обычных стульях долго сидеть неудобно, хочется правильной позы.
    - у родни, подростка 19 лет, сколиоз приостановился. Не исчез, конечно, но сам факт. Т.к. больше пацан ничего не делает, в плане здоровья. Т.е. название "ортопедический коленный стул" имеет за собой основание.

    Минусы коленного стула:
    - топорная конструкция. Кто бы что не говорил, это блин больше агрегат, чем дизайнерская мебель. Рядом с моим бывшим компьютерным креслом смотрится как полный отстой. :-)))) Но оно не для красоты придумано, я так понимаю. Если придумают "красивый" и не хуже, и недорогой - сразу заменю. :-)))
    - залезать-вылезать в джинсах удобно, в юбке, жена сказала, не очень :-)))
    - если неправильно настроить стул (слишком высоко поднять сиденье и т.п.) - будете сползать на колени. А это нехорошо. Поэтому тут надо четко подобрать свое, удобное положение. Чтобы сидеть на заднице, а не на коленях. Так что не надо отсебятины, просто читаем настройки и регулируем коленный стул под свой рост (благо все регулируется).
    - привыкать надо, 100%, и к этому надо быть готовым. У меня ушел месяц, пока более-менее привык. В первую неделю сидения обнаружил у себя мышцы, о которых не подозревал. :-))) Некоторым из моих знакомых так и "не зашло", хотя пробовали. Дети привыкают за 2-3 дня, у них организм гибкий, подстраивается легче.
    - по-первости просидеть 8 часов кряду не получится. Отдых телу давать придется, вставать, ноги вытягивать, на спинку откидываться... У меня так и было. Хотя, еще раз повторю, что некоторые садятся и сидят часами, сразу, но это исключение, как мне кажется.

    Короче плюсов больше, чем минусов
    Ответ написан
    3 комментария
  • Где лучше хранить JWT?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Где угодно, но в зашифрованном виде и с флагами secure и http-only.

    Доп.защита: Можно разместить в localStorage контрольную сумму полученного токена и тупо проверять его наличие в js и на соответствие конкретному значению, привязанному к клиенту. Любое обращение без подписи запроса этой КС - фиксировать как нарушение и блокировать учётку.

    Главное - привяжите токен к клиенту через fingerprint2.js при двухфакторной аутентификации клиента.

    Чтобы при хищении даже всех кук (например, через сторонние расширения), они были бы попросту бесполезны, "отпечаток" клиента передавайте при:
    1. Авторизации (только двухфакторная аутентификация: почта, смс, GA и т.п.),
    2. При смене ip-адреса
    3. При смене user-agent
    4. По истечению срока давности
    И обязательно это всё через шифрование своим публичным "ключом" сервера (помимо https!).
    Ответ написан
    41 комментарий