• Как поднять yii2 на docker?

    @SteepZero
    Почитай про docker-compose

    В проекте создаешь файл docker-compose.yml, там описываешь свои контейнеры
    отдельный контейнер для nginx, отдельный для php-fpm, отдельный для БД
    Настраиваешь для них volumes и т.д.

    Вот пример того, как я делаю для Laravel
    Для Yii все примерно то же самое

    docker-compose.yml:
    version: '3'
    
    services:
      nginx:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./:/var/www/html
          - ./docker/nginx/conf.d:/etc/nginx/conf.d
          - ./docker/nginx/logs:/var/log/nginx/
      php:
        image: php:7.2-fpm
        volumes:
          - ./:/var/www/html
      db:
        image: mysql:latest
        environment:
          MYSQL_DATABASE: labbit
          MYSQL_ROOT_PASSWORD: rootlabbit
          MYSQL_USER: labbit
          MYSQL_PASSWORD: labbit
        ports:
          - 3306:3306
        volumes:
          - db_data:/var/lib/mysql
    
      redis:
        image: redis:latest
    volumes:
      db_data:


    docker/nginx/conf.d/site.conf:
    server {
        listen 80;
        listen [::]:80;
    
        server_name labbit.local www.labbit.local;
    
        root /var/www/html/public/;
        index index.php;
    
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
    
        location / {
            root /var/www/html/public/;
            try_files $uri $uri/ /index.php$is_args$args;
            autoindex off;
            index index.php;
        }
    
        location ~ \.php$ {
            set $path_info $fastcgi_path_info;
            root /var/www/html/public/;
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            try_files $uri $uri/;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass php:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }
    Ответ написан
    1 комментарий
  • Как хранить интервальное расписание в БД?

    petermzg
    @petermzg
    Самый лучший программист
    Одна таблица для дней исключений, т.е. праздников. Дата начала праздника и дата завершения.
    Вторая для самих событий, которые бывают:
    - Разовые - конкретный день.
    - Повторяющиеся. Тут нужны настройки.
    * День начала периода когда активны события (можно разделять поле с конкретным днем разовой)
    * День окончания периода или null для безсрочной
    * Тип повтора:
    1. Конкретный день недели (число от 1 до 7)
    2. Через определенное число дней (число)
    - ID тренировки
    - ID группы (для того чтобы делать сложные варианты указанного вами типа "вторник, четверг и субботу")
    Ответ написан
    Комментировать
  • Как хранить интервальное расписание в БД?

    @alex_ak1
    Простой способ это линуксовый крон, в нем с помощью достаточно простой грамматики можно задать интервалы в достаточно широких правилах. Там задается все так:
    минута час день_недели день_месяца месяц команда
    Каждое из чисел это или (*), или число (5) или несколько чисел (2,3,5, 7-10), либо пропуск (что_то/интервал).
    Поэтому можно легко задавать события типо каждый второй вторник
    * * 2/2 * * команда
    или первое число мая
    0 0 * 1 4 команда 2
    На основании этого можно строить регулярные события. На них накладывать расписание праздников (и то не всегда, к примеру оплата домашних счетов не зависит от праздников). Как вариант - можно сдвигать событие, если оно попало на праздник.
    Ответ написан
    6 комментариев
  • Как пофиксить в npm vulnerabilities?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    npm с некоторых пор проверяет все пакеты на уязвимости в js коде и предупреждает Вас о найденыых
    ищет это все простейший бот на эвристиках, по различным патернам
    работать они никак не мешают, Вас просто предупредили, что в установленных пакетах имеются потенциально небезопасные фрагменты кода
    Ответ написан
    1 комментарий
  • Как подгрузить связи в коллекции ресурсов laravel одним запросом?

    @jazzus
    В контроллере
    public function show(Post $post)
    {
      $post->load('relations');
       ...
    }

    В ресурсе
    'relations' => RelationResource::collection($this->relations)
    Ответ написан
    Комментировать
  • Какой путь у новичка в Go?

    bitver
    @bitver
    >>"Руки чешутся что-то начать делать"
    Что именно?) это главная проблема всех начинаний. Нужно задание, определенное, конкретное. Нужно чтоб был человек который требовал, да побыстрее...Нужна мотивация в виде плюшек или кнута, не иначе.
    Книги бессмысленно читать, если не понимаешь о чем они, к тому же они все одинаковые. Не понимаю для чего это печатается, когда в гугле 99% найдется, а оставшийся 1% если сам не додумаешь - то никто за тебя это не сделает.
    Это, конечно, не путь истинный, а мнение с которым, уверен, многие согласятся.
    Ответ написан
    Комментировать