Задать вопрос
Founder of True web artisans.
Full stack Web Developer (Golang, Python, modern JavaScript), UX evangelist, PWA adept.
Контакты
Местоположение
Россия, Санкт-Петербург и область, Санкт-Петербург

Достижения

Все достижения (7)

Наибольший вклад в теги

Все теги (31)

Лучшие ответы пользователя

Все ответы (24)
  • Начало работы с kivy. Где взять подробную и понятную инструкцию?

    vikkyshostak
    @vikkyshostak
    < This head full of dreams.
    Я бы начал, всё же, с официальной документации: https://kivy.org/docs/gettingstarted/intro.html

    Потом перешёл бы плавно в гугл (лучше англоязычный, но можно и в ру-сегменте). Например, первые же результаты выдачи дали довольно неплохие статьи: https://habrahabr.ru/users/heattheatr/posts/

    Ну и, куда же без видосиков. Ютьюбим, например, вот так https://www.youtube.com/results?search_query=kivy+...

    Также, у проекта отличный wiki на гитхабе: https://github.com/kivy/kivy/wiki
    Ответ написан
    5 комментариев
  • Как обезопасить свой бекенд от разработчиков?

    vikkyshostak
    @vikkyshostak
    < This head full of dreams.
    Если убрать за скобки советы, в стиле «не обманывай — не обманутым будешь», и прочие «мотивационные штуки на рабочих местах», то такие вопросы легко решаются (или не возникают вовсе) введением код-ревью в pre-commit-to-master ветке Git и полным покрытием тестами.

    Даже строгий договор и прочие юридические штуки — не могут обезопасить проект от такого произвола. Нет, с точки зрения «кто виноват и сколько он за это заплатит» — всё хорошо.. но оставшейся команде или новым разработчикам — от этого не холодно не жарко — им же всё исправлять. Это я уже из своего опыта разгребания подобного кейса говорю :)

    Работает это довольно просто: в продакшен проект попадает только после обсуждения каждой функции в спец. ветке на гите и только после прохождения всех тестов. Любая сомнительная функциональность — просто не пройдёт такой контроль и будет вызывать подозрения. Например, в вашем кейсе, про удаление БД при заходе с определённого пользователя — это будет сразу видно. Как в коде функции (на код-ревью), так и в тестах.

    Нужно разбираться в коде и быть профессионалом на своём месте, чтобы совершать такой контроль — не спорю, но... а как по-другому, если потеря данных и/или функциональности сайта — может стоить гораздо дороже, чем з/п человека в штате (на аутсорсе), который будет следить за качеством кода и бить по рукам всех, кто будет пытаться испортить его?

    Да, это дольше, но такой подход плюс продвинутая система бэкапирования БД — даёт хоть какие-то гарантии.

    «Большой брат» — это благо для компании, если вы не уверены в своих сотрудниках.
    Ответ написан
    4 комментария
  • Django ImageKit. Как передать значение из поля в кастомный процессор внутри модели?

    vikkyshostak
    @vikkyshostak Автор вопроса
    < This head full of dreams.
    Решение, как всегда, оказалось проще пареной репы.

    В processors.py добавляем в конец:

    @register.generator('examle:example:image_800x800')
    class OverlayImage(ImageSpec):
        format = 'JPEG'
        options = {'quality': 100}
    
        @property
        def processors(self):
            model, field_name = get_field_info(self.source)
            return [
                ResizeToFill(800, 800),
                TextOverlayProcessor(text=model.description)
            ]

    В models.py просто переписываем image_800x800:

    image_800x800 = ImageSpecField(
        source='image',
        id='tours:tours:image_800x800'
    )
    Ответ написан
    Комментировать
  • Загрузил проект laravel на vps и получил 403 ошибку?

    vikkyshostak
    @vikkyshostak
    < This head full of dreams.
    Попробуйте сделать всё по этому мануалу: https://medium.com/laravel-news/the-simple-guide-t... (не раз выручал меня).
    Ответ написан
    2 комментария
  • Webpack SASS Autoprefixer?

    vikkyshostak
    @vikkyshostak
    < This head full of dreams.
    Для своих (и не очень) Django/Flask проектов — я пользуюсь вот этим набором конфигов:
    https://gist.github.com/koddr/3d8be47815dce570fcf2...

    Включает в себя: Autoprefixer, PostCSS, SCSS, Vue.js и Babel. Конфиги протестированы и используются на продакшене, как скелетон, для быстрого разворачивания окружения.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (72)