• Как автоматизировать запуск sql скриптов?

    @Akina
    Сетевой и системный админ, SQL-программист.
    MySQL имеет собственный встроенный планировщик (MySQL 8.0 Reference Manual / Stored Objects / ...), который может делать практически что угодно. Создаёшь Event Procedure, задаёшь периодичность выполнения - остальное сервер сделает сам. Вообще без помощи/управления со стороны.

    Народ обычно любит предлагать внешние планировщики (как правило CRON) - настоятельно не рекомендую, если требующий выполнения код есть чистый SQL. Другое дело когда надо выполнять скрипты на иных языках или внешние приложения - тут да, без крона скорее всего не обойтись. Хотя и тут есть способ - подключить внешний модуль с требуемым функционалом.

    Есть папка, которая хранит в себе sql файлы для создания бд, таблиц в этой бд, импорт данных в эти таблицы.
    Как автоматизировать запуск этих sql скриптов?

    Создание БД, таблица, начальное наполнение - это как бы одноразовое действие. Нафига их шедулить?
    Ответ написан
    3 комментария
  • Почему не выводится значение из sqlite3?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Руслан . абсолютно прав. А ещё по-умолчанию отсутствует login “Sergey”, поэтому, если он ранее не был добавлен в базу, .fetchall() вернет пустой список и всё равно ничего не напечатается.
    Ответ написан
    Комментировать
  • Как сделать вычисления только функциями?

    0xD34F
    @0xD34F
    seven = lambda x = None: x(7) if callable(x) else 7
    five = lambda x = None: x(5) if callable(x) else 5
    
    times = lambda x: lambda y: x * y
    Ответ написан
    Комментировать
  • Как поделить базу между микросервисами?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Но немаловажная суть микросервисов в том, что бы минимизировать зависимости, в том числе обеспечить каждый микросервис своей БД.

    Именно.

    Дублировать данные для каждого микросервиса нет никакого смысла.

    В микросервисной архитектуре в дублировании как раз есть смысл.

    Может быть вам просто не нужны микросервисы, какую проблему вашего проекта решает микросервисная архитектура? А может вы наоборот зря заморачиваетесь по поводу дублирования, какие проблемы у вас с ним?
    Ответ написан
    Комментировать
  • Как набить руку на Python разработку и сисадминистрирование за 2 месяца?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    Веб-разработка и администрирование сетевых ресурсов более востребованы, поэтому я бы рекомендовал изучить следующее:
    • основы и стандартная библиотека Python -- навык лучше прокачивается написанием скриптов и программ для решения неучебных задач. И если основной навык миддла -- это гуглить (полу)готовые решения, то основной навык джуна -- уметь писать свои "велосипеды". Разработчик, который по-максимуму использует и полагается на готовое -- столь же неэффективен, как и предпочитающий использовать готовое по-минимуму;
    • веб-фреймворк Django -- пилите небольшой проект, получаете общие представления о веб-разработке и практику ООП, но о Python этот веб-фреймворк расскажет мало, делает слишком много работы за программиста, а в его исходном коде можно заплутать, так и не поняв как он работает;
    • система контроля версий Git -- обязательно для разработчика и желательно для сисадмина;
    • wsgi-сервер uWSGI (или Gunicorn) -- см. ниже;
    • http-сервер Nginx -- см. ниже;
    • GNU/Linux -- пробуете развернуть проект с использованием предыдущих двух пунктов;
    • веб-фреймворк Flask -- просто пощупайте или сделайте ещё один небольшой веб-проект, по исходникам этого веб-фреймворка проще понять как работают другие веб-фреймворки и как писать поддерживаемый код, к тому же на Flask часто пилят всякие API / бэкенды;

    Настольные приложения и мобильная разработка на Python кажется менее развита и менее востребована, но когда-нибудь можете пощупать:
    • Python GTK+ 3 (или PySide2) -- Python обёртки над GUI инструментариями для разработки настольных приложений;
    • Kivy -- фреймворк преимущественно для мобильной разработки.

    И, если вопрос предполагает поиск работы через пару месяцев, то работодателям обычно нужны те, разработчики, что будут решать их "бизнес-задачи": снижать расходы, повышать доходы и минимизировать риски. Проще говоря, знание математики, алгоритмов и модных технологий могут не пригодится вообще, а вот доведённые до ума проекты расскажут о Вас работодателю намного больше.
    Ответ написан
    4 комментария
  • На сколько может быть долгим запрос?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    А зачем в дорогом sql запросе вообще нужны feature_values?
    Ответ написан
  • Как выбрать поля по значениям двух колонок?

    @Vitsliputsli
    При условии, что product_id всегда имеет не более одного типа property_id:
    SELECT `product_id` 
    FROM `product_properties_values`
    WHERE (`property_id`=1 AND `value`=2) OR (`property_id`=3 AND `value`=3)
    GROUP BY product_id
    HAVING count(*) = 2

    , и при условии, что я угадал то, что вы хотите.
    Ответ написан
    2 комментария
  • Как обработать [Errno 12] Cannot allocate memory исключение в python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Правильным решением будет переписать код так, чтобы память не забивалась, а не обрабатывать ошибку отсутствия свободной памяти.
    Ответ написан
    Комментировать
  • Как реализовать месячную подписку?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Если не использовать календарный месяц, то есть подписка на, например, октябрь 2019 года, то подписывать на период (месяц должен быть месяцем, а не 28 дней). Оплата: код пользователя, дата оплаты, дата начала подписки, дата окончания. Дату начала подписки либо вычислять по последней подписке пользователя, либо запрашивать. Дату окончания — вычислять по тарифу, который действует на указанный период. Возможно потребуется отдельная таблица Тариф: дата введения, число дней, цена.
    Ответ написан
    1 комментарий
  • Не видно мои работы в codepen?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Ваши работы на пару секунд попадают в ленту /pens/recent/. Это тысячи демок каждый день. А может и десятки тысяч. Может быть кто-то увидит ваши в этом потоке безумия, но в лучшем случае это будет пара человек.

    Если ваши работы снабжены релевантным заголовком/описанием/тегами, то другие люди могут их нагуглить (или в местном поиске найти). Будет немного просмотров. Но не сразу и не факт.

    Можно привлекать зрителей со стороны. Например с помощью статей на Хабре, Медиуме или еще где-нибудь, где есть аудитория. Просмотры будут. Можно еще фолловить и ставить сердечки всем подряд. Люди будут приходить, чтобы посмотреть, кто вы такой и что вы делаете.

    Если контент стоящий и он попадет на глаза модераторов (Chris Coyier, Marie Mosley, Gabi, Alex Vazquez, вроде еще кто-то был), то его могут отправить в очередь в ленту /pens/picks/. Полезно шарить свои работы в твиттер - они мониторят упоминания @CodePen. Вам придет оповещение со звездочкой и как очередь дойдет, ваш проект появится там. Путь к известности на СodePen начинается где-то в этой ленте, от нее всего шаг до главной ленты с популярными демками. Там просмотры растут очень быстро.
    Ответ написан
    Комментировать
  • Структура данных для кругов Эйлера?

    longclaps
    @longclaps
    Ответ написан
    Комментировать
  • Взаимодействие нескольких python скриптов?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    Опрашивать файл не надо, достаточно использовать inotify от самой ОС.
    Под Python есть кросс-платформенные реализации отслеживания изменения файлов через inotify-like подсистемы. Отслеживающие скрипты будут ловить событие по итогам записи и закрытия файла, даже без коммуникации с основным процессом.

    А так, скрипты могут взаимодействовать друг с другом как по HTTP (публикуя от себя маленький веб-сервер), так и по любому самописному RPC-протоколу поверх TCP или unix socket'ов.
    Ответ написан
    Комментировать
  • Как правильно сформировать SQL запрос?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    записей в таблице products очень много ( около 1млн )

    это не много, это нормально
    и запросы типа JOIN не предлагать, так как оно существенно влияет на производительность

    а этот бред вы как догадались сюда приплести? У вас наоборот с выходом из внутренних джоинов выборка по ид будет сокращаться, в итоге по таблице продуктс будет только джоин нужных ид(что аналогично выборке where in, только с меньшими ограничениями, например ордер и лимит). По этому сджойнте мелкие таблицы, получите с них модел_ид, и по нему уже джоин продкут.
    Я бы денормализовал продуктс, внес бы еще брэнд_ид в него, но это так, мелочи.
    Ответ написан
    Комментировать
  • Использование единой базы данных для кроссплатформенного мобильного приложения и веб-сайта. Как реализовать?

    zoroda
    @zoroda
    Необычный Fullstack
    Не очень понимаю, в чём именно требуется помощь.
    Обычно для таких проектов поднимаю БД PostrgeSQL c REST интерфейсом к нему PostgREST. Поднимается в простейшем случае одной командой в докер контейнере. Сайт, мобильное приложение и всякие модули интеграции натравливаю не на БД напрямую, а на этот REST интерфейс.
    Это вкратце. Если нужны детали, готов ответить на конкретные вопросы.
    Ответ написан
    5 комментариев
  • Как найти наибольшую поседовательность за O(n)?

    tsarevfs
    @tsarevfs
    C++ developer
    Хранить hash map, в которой ключ - значение последнего элемента в последовательности встреченной раньше, а значение -- длина. И дальше проходим по массиву и заполняем.
    Ответ написан
    2 комментария