Задать вопрос
  • Какой использовать time tracker для команды?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Хабстафф, таймдоктор.
    Ответ написан
    2 комментария
  • ИП на патенте (ПСН), работа через Upwork - как все сделать правильно?

    @vism
    Вобще по идее важен сам договор налоговой.
    Название то может быть любое у контракта.

    У меня там вобще были что-то типо ongoing work
    Ответ написан
  • Хороший курс-наставник по продвинутой верстке?

    Единственный стоящий русскоязычный канал на youtube по верстке, из которых мне попадались, это FrontCoder https://www.youtube.com/channel/UCzhKcnzGNhPEZsNSK... . На канале верстка реальных проектов с использованием современных инструментов и методологий. Всякие Лаврики и прочая поповщина - инфобизнес чистой воды и профанация. HTML Академия - основы дают по верстке.
    Знание спецификации w3c и справочная информация mdn тоже базис, без которого не стоит начинать.
    Ответ написан
    3 комментария
  • Фриланс-площадка на Wordpress, возможно?

    opium
    @opium
    Просто люблю качественно работать
    На вп можно все
    Ответ написан
    2 комментария
  • Выдаёт ли интерпретатор Python 3 предупреждение, что была попытка переопределить константу?

    в питоне не существует понятия "констаты", их принято писать капсом, так понимается что это константа, но да, в любой момент есть возможность её перезаписать
    Ответ написан
    Комментировать
  • Как декомпилировать exe файл скрипта на Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    1. Скачиваешь PyInstaller Extractor
    2. Устанавливаешь uncompyle6
    3. Распаковываешь extractor'ом exe'шник
    4. Декомпилируешь интересующие pyc-файлы с помощью uncompyle6
    Ответ написан
    Комментировать
  • Запустить Angular и Django одной командой?

    netpastor
    @netpastor
    Python developer
    Для подобных вещей очень удобно использовать make файлы

    ls Makefile
    angular:
        cd client && ng build --watch &
    django:
        cd ../src && python manage.py runserver 
    run_all:
        make angular
        make django

    и потом вызываешь то что надо
    плюс еще можно наделать обертки на все остальные рутинные задачи
    Ответ написан
    Комментировать
  • Как сохранить скриншот в базу данных Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    1. С помощью navigator.mediaDevices.getUserMedia() получаешь MediaStream
    2. Выводишь MediaStream в video
    3. Создаёшь canvas и рисуешь на нём текущий кадр из video
    4. Преобразуешь canvas в blob
    5. Создаёшь FormData и добавляешь в него blob
    6. Отправляешь FormData ajax-запросом на сервер
    7. На сервере обрабатываешь запрос как обычную загрузку файла

    P.S. Скриншотом называется снимок экрана. Снимок сделанный камерой - это не скриншот.
    Ответ написан
    Комментировать
  • Как сохранить скриншот в базу данных Django?

    @deliro
    JSом отправляешь снимки на ручку API, которую ты написал на джанге. Она принимает и сохраняет файлы.
    Ответ написан
    Комментировать
  • Как сверстать такой сайт?

    RAX7
    @RAX7
    SVG + padding/margin в процентах
    Ответ написан
    3 комментария
  • Django - Как вывести список пользователей, читающих данную новость?

    netpastor
    @netpastor
    Python developer
    Как вариант используй кеш типа редиса, задавая нужное время жизни записи
    Ответ написан
    Комментировать
  • Роадмап для машинного обучения?

    @OlegPyatakov
    pyatakov.com
    Для новичка в части быстрого выхода в практический ML я бы рекомендовал:

    Также изучение статистики было бы большим плюсом.
    Ответ написан
    Комментировать
  • Как деплоить небольшие проекты?

    @Stqs
    senior software developer
    вопросы у вас философские, на каждый можно отвести часы обсуждения
    Полноценный CI/CD поднимать не вижу смысла ввиду размеров

    вы ж все равно собираетесь какие-то скрипты мутить и чото выдумывать,
    какая разница это будут крон скрипты на сервере или джоба в дженкинсе? по-скорости написания - одно и тоже будет. так что по-моему размер тут не имеет значение
    единственное что имеет значение - насколько явно у вас описан процесс(алгоритм) билда/разворачивания приложений
    с этой точки зрения мое видение примерно такое:

    1) git не есть инструмент для развертывания по, git лишь для версионирования кода
    и по-идее результатом вашей работы должен быть не код в гитхабе, а какой-то вменяемый артефакт, готовый к деплою (docker-image, pip пакет, npm пакет, deb пакет, jar, war, zip в крайнем случае, и тд и тп). Если производить артефакты то вопрос с тегами отпадет сам собой - у вас будет артефакт какой-то версии и все
    сервер не должен знать ни про какие гиты и ни про какие-то теги в нем
    Здесь я бы рекомендовал паковать все в докер-имеджи хотя бы только потому, что сервер в итоге не будет знать ничего о зависимостях приложения, нужных библиотеках, ниочем вообще, вам нужно установить только докер
    Огромное преимущество использование докера - в Dockerfile вы вынуждены волей/неволей описать точно и явно все шаги требуемые для установки приложения. И что самое замечательное - это все будет храниться в том же репозитории, под контролем гит - шикарно.
    Артефакты желательно хранить в каком-то артефактории,
    но если реально все просто - то можно хранить несколько последних версий прямо на сервере в какой-нибудь папочке

    2) как только вы получили артефакт - его можно деплоить
    неплохо было б знать особенности вашего проекта, но грубо говоря допустим что достаточно его зааплоадить на сервер, положить в нужное место
    опять же с этим дженкинс справится на ура и займет у вас это все дело 10 минут . Если вы опишете логику в Jenkinsfile вы выиграете еще раз потому что процесс развертывания(алгоритм) будет описан опять же ЯВНО. И будет тоже под контролем гита. (Jenkins должен знать только в каком репозитарии и в каком месте ему искать Jenkinsfile)
    Если же вы будете крутить какой-то спрятанный cron скрипт на сервере - о нем никому ничего не будет известно. Поверьте уже через короткое время все это дело начнет усложнятся, что-то забудется, что-то измениться и это все вместе больно ударит вас по яйцам.

    В чем еще преимущество такого подхода: если вам нужно сделать roll-back на предыдущую версию вам не нужно собирать проект заново выкачивая все с гита, ведь у вас есть предыдущие артефакты, ролбек в таком случае вообще не проблема - просто указываем предыдущую версию артефакта и деплоим еще раз и все

    3) Env Variables
    когда приложение стартует - считывает все что ему нужно из переменных окружения
    деплой джоба может каждый раз эти переменные устанавливать перед тем как деплоить - это было бы тоже круто потому что вы сделали бы это знание так же явным

    Итого имеем
    - логика сборки проекта описана в Dockerfile и находится под гитом
    - логика деплоя находится в Jenkinsfile и находится под гитом, и что самое главное является кодом (Jenkinsfile пишем на груви, для простых вещей вам понадобиться 30 минут изучения и все)
    - на сервере мы ничего не устанавливали совершенно кроме самого докера
    - мы храним несколько версий нашего приложения на всякий случай и можем быстро откатиться не прибегая к гиту вообще
    - сервер не знает ничего о гитах
    - на сервере нет НИКАКОЙ дополнительной логики по разворачиванию вашего приложения
    - имея все это очень легко добавлять другие сервера для деплоя - что нам нужно - грубо говоря указать другой айпи и набор env variables к нему ( если они конечно отличаются)
    giphy.gif
    Ответ написан
    5 комментариев
  • Как деплоить небольшие проекты?

    copist
    @copist
    Empower people to give
    1. Хорошая ли идея стягивать все исключительно по тегам т.е. поставил я на фронте и на беке тег v0.4 и скрипт на сервере стянул и то и другое
    2. Самонаписанный скрипт постоянно чекающий теги гитлаба это вообще идея хорошая? В чем +\- деплоя по тегам?


    Метки ставить можно. Даже полезно релизы метками отмечать. Всегда можно определить, на какой комит надо откатиться, чтобы локально восстановить версию кода как на сервере. И release notice писать по git log между метками, а не в памяти держать.

    Постоянно чекать git не надо. Лишняя нагрузка на проц. Совершенно лишняя. Рекомендую веб-хуки или деплоить по SSH команде.

    3. Как быть с адресами и портами.

    Выносите в конфигурационные файлы или в параметры окружения

    10+ вариантов на странице https://css-tricks.com/deployment/
    Я для разного размера проектов пользовался
    1. deployhq - как только обновляется ветка master - сервис обновляет сервер по SSH
    2. веб-хуками из bitbacket + самописным веб-скриптом на PHP без таймлимита - как только приходит хук об обновлении ветки master, выполняется скрипт типа такого
    cd /var/www/project
    cp web/closed.bak web/closed.html # закрыть приложение
    git pull
    composer update && php yii migrate # как то код бэка обновить
    npm run build # как то код фронта обновить
    rm web/closed.html # открыть приложение

    3. такой же командой, запускаемой через ssh, без веб-хуков. Это когда понадобилось сразу бэк и фронт пересобирать из разных репо и из разных веток. Ну типа демо из ветки develop, а релизы из ветки master на несколько серверов.
    4. настраивали Jenkins для авто-установки

    В принципе устраивает
    Ответ написан
    2 комментария
  • Где Junior разработчику искать компаньона/компаньонку для переезда в Москву?

    @MasterMike
    Также как и не Junior разработчику.
    Причем здесь IT вообще.
    Ответ написан
    Комментировать
  • Как удалить последнее слово из строки, если оно меньше 4 букв?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    stri = 'aaa bbb cccc dddd eeeee'
    tmp = stri.split(' ')
    new = ' '.join(tmp) if len(tmp[-1]) >=5 else ' '.join(tmp[:-1])
    Ответ написан
    Комментировать
  • Можно ли вывести данные из бд в HTML шаблон?

    sim3x
    @sim3x
    Магии в джанге нет
    Ответ написан
    Комментировать
  • Зачем использовать ajax, если есть вебсокеты?

    Разные технологии под разные задачи. Сравнивать некорректно. Вы же не будете делать отдельный вебсокет под простую отправку форму ос или аяксом долбить сервак чтобы получить новые сообщения в чатике?
    Ответ написан
    Комментировать
  • Имеющие опыт с payoneer порекомендуйте, какие банкоматы лучше использовать?

    @programrails
    Только что (10 августа 2018) снял $1000 через банкомат Бинбанк. Выдача только купюрами по $100, лимит (вроде бы) $1000. Комиссию взяли $21 с небольшим (т.е. я на руки получил $1000, а мой Payoneer-счёт уменьшился на ~ $1021).
    Ответ написан
    1 комментарий