• Как правильно хранить пароли от БД в git репозитории?

    Melkij
    @Melkij
    PostgreSQL DBA, рассмотрю предложения о работе
    В репозитории кладётся db.conf.dist
    Далее на выбор:
    при установке требование создать свою конфигурацию db.conf на основе эталонной
    Или двухуровневый конфиг - сначала смотрим в db.conf, если там искомой опции нет или файла не существует - берём эталонную из *.dist.
    Ответ написан
    Комментировать
  • Как переписать код с PHP на Python?

    @bromzh
    Drugs-driven development
    Вот бы еще кто подсказал аналог phpDoc комментария "@property Bar1 bar1" для автокомплита в PyCharm.

    Docutils, Pycharm умеет её анализировать. Разметка там в нормальном RestructuredText. Плюс, есть отличная система документации Sphinx.
    Вот пример оформления docstring для функции:
    def public_fn_with_sphinxy_docstring(name, state=None):
        """This function does something.
    
        :param name: The name to use
        :type name: str
        :param state: Current state to be in
        :type state: bool
        :returns:  the return code
        :rtype: int
        :raises: AttributeError, KeyError
    
        """
        return 0

    Или, более компактно:
    def public_fn_with_sphinxy_docstring(name, state=None):
        """This function does something.
    
        :param str name: The name to use
        :param bool state: Current state to be in
        :returns:  int - the return code
        :raises: AttributeError, KeyError
        """
        return 0


    Кроме того, в 3-й ветке питона есть поддержка аннотаций типов (можно указывать тип аргументов функции и возвращаемый тип). Pycharm это тоже понимает.
    Ответ написан
    5 комментариев
  • Как переписать код с PHP на Python?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) так как в python есть система модулей, автозагрузка не нужна. Просто импортируете нужные модули. Каждый файл - модуль. Если в директории есть файл __init__.py, то вся директория - пакет модулей, по сути тот же модуль который содержит другие модули...

    2) https://docs.python.org/3.4/tutorial/classes.html - классы в python

    3) stackoverflow.com/questions/8258819/comparing-phps... - разьяснение по поводу магического __get в php и аналогия для python. Точнее объяснение различий в объектной модели (к слову почитайте в документации).

    4) https://docs.python.org/3.3/library/re.html - регулярки

    ну и т.д. Так же все интанцируемые классы должны быть импортированы перед использованием.
    Ответ написан
    8 комментариев