• Установка vCenter на существующий esxi или на чистый?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Это такой мини-холиварчик :) Есть сторонники установки сферы на bare-metal, есть - на хост.
    Bare-metal труднее резервировать и восстанавливать в случае чего, да и тачку нужно будет держать задрипанскую - не отдавать же сервак с 32G памяти? Но зато она всегда работает, можно ставить обновления и не греть голову, где сейчас бродит машина со сферой.
    Виртуалку нужно перемещать на то время, когда идет установка обновлений на хосты - сфера рулит этим процессом, прерывать его нельзя. Но зато бэкап общими средствами, vMotion и все такое. Я вот держу виртуалкой на хосте.
    Кстати, имейте в виду, что бесплатные лицензии в сферу не полезут - только платные, так что если есть хосты с бесплатными лицензиями - придется на них покупать.
    И вообще, правильно ли ставить vCenter на хост с кучей виртуалок?

    Если хватает ресурсов - ничего не мешает
    Ответ написан
    Комментировать
  • Какую OS взять для VPS?

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

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Ответ написан
    Комментировать
  • В чем суть миграций БД?

    @awesomer
    СУБД можно разделить на 2 группы:

    1. С заранее определенной схемой данных (определенным списком таблиц и их колонок)
    2. И бессхемные


    СУБД с жесткими схемами и шустрее и лучше оптимизируются.
    Но обладают очень неприятным недостатком - вы не можете вот так легко и просто начать туда записывать новый вид данных, не предусмотренный при начальном создании БД.
    Процесс преобразования БД, при котором меняется схема (таблицы и их колонки; вспомогательные вещи такие как индексы и пр.) - и называется миграцией.
    Причем важный момент - изменения в структуру базы данных могут вноситься, когда она уже давно существует и наполнена важной информацией, которую нельзя потерять, что еще больше затрудняет процесс.
    И еще важный момент:
    Как правило та или иная версия программы рассчитана на работу или со старой или с новой схемой базы данных. Не одновременно со старой и новой. То есть перед, тем как вы начнете эксплуатировать новую версию - вам обязательно нужно произвести миграцию. И после того как произведете миграцию - уже нельзя будет использовать старую версию программы. Что еще дополнительно усложняет процедуру перехода на новую версию программы.
    Ответ написан
    Комментировать
  • Самый быстрый путь изучения python?

    @login7353
    марк лутц изучаем python
    марк лутц программирование на python
    ну и идти джуниором
    Ответ написан
    Комментировать
  • Самый быстрый путь изучения python?

    tumbler
    @tumbler Куратор тега Python
    бекенд-разработчик на python
    Ага, достаточно одну книгу прочесть и сразу средней сложности проекты делать.
    Не бывает так. Надо идти на джуниора и набираться опыта. Один коллега за полгода так вырос.
    Ответ написан
    Комментировать
  • Самый быстрый путь изучения python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Если вы стремитесь к успеху, то это изначально неверная постановка вопроса. Не надо искать быстрых и лёгких путей, искать нужно тот путь, который приведёт к профессионализму экстра-класса и выгодному положению на рынке труда.
    Ответ написан
    Комментировать
  • Самый быстрый путь изучения python?

    tema_sun
    @tema_sun
    Нет быстрого пути.
    Ответ написан
    Комментировать
  • Виртуальная машина - для чего нужна при разработке?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Давайте для начала определимся с определением "виртуалка". В Вашем контексте вопроса: Про разработку, насколько я понял, с использованием виртуалок, верно? Это определение можно применить не только к виртуализации как таковой, но и к контейнеризации в целом, хотя технические различия у них есть и довольно много. Так что продолжим с этого, имея в голове инфу о том, что под виртуалкой мы подразумеваем какую-то абстрактную коробку (это только что придуманный термин) внутри которой это всё крутится, не важно что это, виртуалка или контейнер.

    Этой "коробкой" можно назвать вашу ОС. Туда вы ставите всякие apache, mysql, python (давайте называть это AMP), как говорите. Всё ок.

    А теперь чуть изменим правила:
    1) Берём коробку на Ubuntu и запихиваем туда этот "AMP". Теперь у вас внутри вашей ОС есть коробка со всем необходимым.
    2) Берём коробку на Windows и запихиваем туда этот "AMP". Теперь у вас на компьютере две коробки, которые работать могут совершенно одновременно.

    Ну т.е. понимаете, да? У вас внутри, ну, допустим, MacOS висит и Windows и Ubuntu, внутри которых установлен стек "AMP" и один и тот же код, разрабатывая локально вы можете одним кликом мыши/клавиатуры прогонять и там, и там.

    Host OS (MacOS) -> Windows -> "AMP"
                    -> Ubuntu  -> "AMP"


    В случае "контейнеров", например Docker, обычно делают чуть иначе:
    Host OS -> Linux -> Apache
            -> Linux -> MySQL
            -> Linux -> Python


    Т.е. под каждую программу отдельный контейнер. Теперь нам не надо мучаться со сборкой. Если что-то поломается мы можем просто взять, поправить конфиги и просто переустановить с нуля отдельную программку. А можем вообще организовать как-то так:

    Host OS -> Linux -> Apache (который смотрит на Python 2 и отдаёт результат по 127.0.0.1:80)
            -> Linux -> Apache (который смотрит на Python 3 и отдаёт результат по 127.0.0.1:81)
            -> Linux -> MySQL
            -> Linux -> Python 2
            -> Linux -> Python 3


    Можем открыть две вкладки браузера и смотреть как код работает на совершенно разных версиях питона! И при этом локально у Вас вообще ничего не будет установлено, никаких конфигов, никакого мусора. Что-то не понравится или поломается берёте и сносите кусок, заменяя его на другой. Тут уже воображение.
    Ответ написан
    Комментировать
  • Как можно отобразить логи уровня info во flask?

    @pcdesign
    Я примерно вот так логирую и ротирую

    # config.py
    class Config(object):
        TESTING = False
        # И еще конфиги разные
    
    class ProductionConfig(Config):
        DEBUG = False
        LOGFILE = 'logs/Production.log'
    
    
    class DevelopmentConfig(Config):
        DEBUG = True
        LOGFILE = 'logs/Development.log'


    # app.py
    from logging.handlers import RotatingFileHandler
    from logging import Formatter
    import logging
    
    app = Flask(__name__)
    
    app.config.from_object('config.DevelopmentConfig')
    
    # -----------------------------------------------------------------------------
    # Включение, отключение и ротация логов.
    # -----------------------------------------------------------------------------
    
    handler = RotatingFileHandler(app.config['LOGFILE'],
                                  maxBytes=1000000, backupCount=1)
    handler.setLevel(logging.DEBUG)
    handler.setFormatter(Formatter('%(asctime)s %(levelname)s: %(message)s '
                                   '[in %(pathname)s:%(lineno)d]'))
    # logging.disable(logging.CRITICAL)  # Расскоментарь это для прекращения логов
    app.logger.addHandler(handler)


    И коротенький hello, если надо закидывать лог в консоль:
    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        app.logger.info("My message")
        return 'Hello, World!'
    
    
    if __name__ == "__main__":
        app.run(debug=True)
    Ответ написан
    8 комментариев
  • Почему не работает pip?

    @pcdesign
    А зачем устанавливать subprocess, если он входит в стандартный дистрибутив и работает из коробки.

    Python 3.4.6 (default, Jun  1 2017, 17:54:54) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    >>> 
    >>> import  subprocess      
    >>> 
    >>>
    Ответ написан
    Комментировать
  • Как определить фазу луны?

    BuriK666
    @BuriK666
    Компьютерный псих
    Возьмите точную дату и точное время, когда было полнолуние, через 29,5305882 суток опять будет полнолуние и т.д., так и считайте фазы луны.
    Ответ написан
    2 комментария