Задать вопрос
В последнее время перевел все в время. Это стоит час моей жизни, это стоит два или три.

Жить стало гораздо интереснее :)

Достижения

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

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

Все теги (11)

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

Все ответы (8)
  • Реально ли работать на питоне не понимая сути декораторов?

    ermek6
    @ermek6
    ::Живу с удовольствием::
    Не набиваюсь в знатоки Python, просто скажу как я понял их:
    Допустим, у нас есть некоторая функция, которая отправляет файл по почте

    def send_mail(text):
        pass


    И вдруг, нам захотелось, что бы отправка логировалась как то по особому, причем функцию логирования мы хотим подключить и к другим нашим функциям, которых так много, что везде писать одно и то же не с руки (т.е. не только при отправке писем, но и при сохранении на диск непример). Для этого мы пишем функцию, куда декоратор @ автоматически подставит нашу функцию. Возвращать же наша функция тоже должна функцию.

    def my_loger(func):    # Объявляем декоратор
        def new_func(*args, **kwarts): # Объявляем функцию, которая заменит исходную
            print("Begin send")   # делаем что то важное
            func(*args, **kwargs)    # Вызываем исходную функцию
            print("End send")    # Опять делаем что то важное
        return new_func   # Возвращаем новую функцию


    Теперь, при объявлении функций мы можем перед ней написать @my_loger, и логирование будет подключено автоматически.

    т.е., написав следующее

    @my_loger
    def send_mail(test):
        pass


    фактически мы получим код

    def send_mail(text)
        print("Begin send")
        # Some actions
        print("End send")
    Ответ написан
    Комментировать
  • Как же все таки совместить front-end и back-end?

    ermek6
    @ermek6
    ::Живу с удовольствием::
    По моему скромному мнению следуют принципиально разделить проект на 2 части:
    1. Фронтенд: html + JS
    2. Бэкэнд: php

    Бэкэнд настраиваешь по урл host/api/ на который пост запросом отправляешь параметры (ключи, идентификаторы)
    Фронтэнд -- собственно index.html, который подтягивает js скрипт, работающий с API и DOM

    Такой подход позвоит менять как бэкэнд, так и фронтэнд, а так же тестировать их по отдельности.

    Цикл разработки примерно такой:
    1. Пишешь заглушку для выдачи фотки, где захарткожены выходные данные
    2. Пишешь html + js для получения данных. В процессе по необходимости меняешь данные в предыдущем пункте
    3. Пишешь реализацию бэкэнда


    и так для каждой из функций сайта
    Ответ написан
    Комментировать

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

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