• Как в python возвратить путь к объекту в json и потом его использовать?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел такое решение, не знаю насколько правильное, но работает.
    if group_id:
                    group_path = getGroupPathById(file_path, group_id)
                    new_tab = newTab(new_group_name)
                    new_group = newGroup(new_group_name)
                    exec(f"{group_path}['sub_fields'].append({new_tab})")
                    exec(f"{group_path}['sub_fields'].append({new_group})")
                    newData = json.dumps(data, indent=4)
    Ответ написан
  • Как исправить ошибку с зависимостями в python?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Решил проблему.
    В файле .zshrc создал алиас к скрипту.
    alias wp_py="/home/serii/Documents/python/python-wp-files/wp.py"


    И создал скрипт с помощью bash, чтобы упростить процесс установки и удаления venv.
    #! /bin/bash
    
    if [ ! -f requirements.txt ]; then
      echo "requirements.txt not found"
      exit 1
    fi
    
    COLUMNS=1
    select action in  "Init" "Install Package" "Install all" "Uninstall" "Freeze" "Exit"; do
      case $action in
        "Init")
          #getcurrentdir
          current_dir=$(pwd)
          current_dir_name="venv-"$(basename $current_dir)
          python3 -m venv $current_dir_name
          source "${current_dir_name}/bin/activate"
          touch requirements.txt
          pip freeze
          pip install -r requirements.txt
          ;;
        "Install Package")
          read -p "Enter the package name: " package_name
          pip install $package_name
          pip freeze > requirements.txt
          ;;
        "Install all")
          pip install -r requirements.txt
          ;;
        "Uninstall")
          read -p "Enter the package name: " package_name
          pip uninstall $package_name
          pip freeze > requirements.txt
          ;;
        "Freeze")
          pip freeze > requirements.txt
          ;;
        "Exit")
          exit 0
          ;;
        *)
          echo "Invalid option"
          ;;
      esac
    done
    
    read -p "Enter the package name: " package_name
    Ответ написан
    Комментировать
  • Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Все решил проблему.
    Во первых нужно выключить контейнеры.
    docker-compose down

    Удалить образ mysql
    docker images
    docker rmi image_id


    Новый docker-compose.yml который работает и с phpmyadmin
    # Use root/example as user/password credentials
    version: '3.1'
    
    services:
      nginx:
        container_name: nginx_laravel9
        build:
          context: .
          dockerfile: docker/nginx.docker
        volumes:
          - ./:/var/www
          # - ./docker/nginx/ssl:/etc/nginx/ssl
        ports:
          - "8088:80"
        links:
          - php-fpm
    
      php-fpm:
        container_name: php_laravel9
        build:
          context: .
          dockerfile: docker/php/Dockerfile
        restart: unless-stopped
        tty: true
        working_dir: /var/www
        volumes:
          - ./:/var/www
          - ./docker/php/local.ini:/usr/local/etc/php/conf.d/local.ini
        links:
          - mysql
    
      mysql:
        container_name: mysql_laravel9
        image: mysql:8.3.0
        restart: always
        environment:
          # MYSQL_ROOT_USER: root
          # MYSQL_ROOT_PASSWORD: root
          MYSQL_PASSWORD: root
        volumes:
          - "./docker/mysql:/var/lib/mysql"
        ports:
          - "33062:3306"
        command: --authentication_policy=mysql_native_password
    
      phpmyadmin:
        image: phpmyadmin/phpmyadmin
        container_name: phpmyadmin_laravel9
        restart: always
        ports:
         - '8084:80'
        environment:
          MAX_EXECUTION_TIME: 600
          UPLOAD_LIMIT: 800M
          PMA_HOST: mysql
          PMA_PORT: 3306
          PMA_ARBITRARY: 1
        depends_on:
         - mysql


    Пароль от mysql
    root
    root

    Пароль от phpmyadmin берется от mysql
    Там у меня 3 поля
    mysql
    root
    root

    Блин, целый день убил на это.
    Ответ написан
    Комментировать
  • Как в vim подсчитать колличество букв в слове?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел решение.
    Скопировать слово в буфер обмена.
    В командном режиме
    :let @+ = len(@+)
    Теперь у нас в буфере будет колличество симолов.

    А чтобы заменить, в insert mode, Ctrl+r, =
    :replace('a', @+)
    Ответ написан
    Комментировать
  • Как правильно задавать пути к шрифтам для vite?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел решение.
    В fonts.scss
    @font-face {
      font-family: Inter;
      font-display: swap;
      src: url("/wp-content/themes/bs-base-vite/assets/fonts/Inter-Bold.woff2") format("woff2"),
      url("/wp-content/themes/bs-base-vite/assets/fonts/Inter-Bold.woff") format("woff");
      font-weight: 700;
      font-style: normal;
    }
    Ответ написан
    Комментировать
  • Как обновить ssl в docker-compose?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Решил проблему, пересмотрел видео из курса.
    Оказывается так просто, нужно просто у себя в системе установить nginx, и сертификаты snakeoil автоматически перекинутся и в контейнер.
    Ответ написан
    Комментировать
  • Как в i3wm запустить программы на разные мониторы?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Получилось

    Через xrandr узнаем какие мониторы у нас подключены, и потом запускаем программы на определенном мониторе.

    Вот мой полный конфиг
    exec_always --no-startup-id lxpolkit
    exec_always --no-startup-id /usr/bin/skypeforlinux;
    exec_always --no-startup-id /usr/bin/google-chrome;
    exec_always --no-startup-id /usr/bin/copyq;
    exec_always --no-startup-id /usr/bin/local;
    exec_always --no-startup-id /home/serii/.local/share/JetBrains/Toolbox/scripts/phpstorm;
    
    assign [class="bomi" instance="bomi"] → 1
    assign [class="figma-linux" instance="figma-linux"] → 1
    assign [class="Code"] → 2
    assign [class="jetbrains-phpstorm"] → 2
    # assign [class="Google-chrome"] → 1
    assign [class="Skype"] → 4
    assign [class="Slack"] → 5
    assign [class="firefox"] → 5
    assign [class="Local" instance="local"] 6
    assign [class="TelegramDesktop" instance="telegram-desktop"] → 7
    assign [class="qBittorrent" instance="qbittorrent"] → 8
    assign [class="Audacious" instance="audacious"] → 9
    assign [class="Gimp" instance="gimp"] → 10
    
    
    workspace 1 output VGA-1
    workspace 2 output DP-2
    workspace 4 output DP-2
    workspace 6 output DP-2
    
    # for_window [class="figma-linux"] focus
    for_window [class="Skype"] focus
    # for_window [class="Slack"] focus
    # for_window [class="firefox"] focus
    for_window [class="jetbrains-phpstorm"] focus
    # for_window [class="Code"] focus
    Ответ написан
    Комментировать
  • Как в vim решить проблему с комметариями?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел решение для vue файлов.
    Нужно установить плагин.

    Plug 'suy/vim-context-commentstring'

    Для php/html файлов, забиндил горячие клавиши
    let g:which_key_map['p'] = [ ':set filetype=php'                     , 'filetype php']
    let g:which_key_map['h'] = [ ':set filetype=html'                     , 'filetype html']
    Ответ написан
    Комментировать
  • Почему smplayer из оф репозитория или deb пакета c оф сайта отображается коряво?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел решение.
    Настройки -> Видео -> Output driver -> x11
    Ответ написан
    Комментировать
  • Стоит ли переписать gulp на webpack?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Вот что у меня получилось

    const path = require('path');
    const miniCss = require('mini-css-extract-plugin');
    const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
    const url = "http://bsbase.local/";
    
    module.exports = {
        mode: 'development',
        // mode: 'production',
        entry: './assets/src/js/main.js',
        output: {
            path: path.resolve(__dirname, 'assets/js'),
            filename: 'webpack.js'
        },
        devtool: 'source-map',
        module: {
            rules: [
                {
                    test: /\.(scss|css)$/,
                    use: [
                        miniCss.loader,
                        {
                            loader: 'css-loader',
                            options: {
                                url: false,
                                sourceMap: true
                            },
                        },
                        {
                            loader: "sass-loader",
                            options: {
                                sourceMap: true,
                            },
                        },
                    ],
                },
                {
                    test: /\.js$/,
                    exclude: /node_modules/,
                    loader: 'babel-loader',
                }
            ],
        },
        plugins: [
            new miniCss({
                filename: '../css/my.css',
            }),
            new BrowserSyncPlugin(
                // BrowserSync options
                {
                    // browse to http://localhost:3000/ during development
                    host: 'localhost',
                    port: 3000,
                    // proxy the Webpack Dev Server endpoint
                    // (which should be serving on http://localhost:3100/)
                    // through BrowserSync
                    proxy: url,
                    open: false,
                    notify: true,
                    reloadDelay: 500,
                    injectChanges: true,
                    files: [
                        {
                            match: [
                                '**/*.php',
                                '**/*.js',
                                '**/*.css',
                            ],
                            fn: function (event, file) {
                                if (event === "change") {
                                    const bs = require('browser-sync').get('bs-webpack-plugin');
                                    bs.reload();
                                }
                            }
                        }
                    ]
                },
                // plugin options
                {
                    // prevent BrowserSync from reloading the page
                    // and let Webpack Dev Server take care of this
                    reload: false
                }
            )
        ]
    };
    Ответ написан
    Комментировать
  • Как в wordpress сделать выборку по дате из acf?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел решение:
    $date_now = date('Y-m-d');
    
    $volantino = new WP_Query([
      'post_type' => 'cataloghi',
      'posts_per_page' => -1,
      'post_status' => array('publish'),
      'meta_query'     => array(
        array(
          'key'     => 'data_fine_pubblicazione',
          'value'   =>  $date_now,
          'type'      =>  'date',
          'compare' =>  '>='
    
        )
      ),
      'tax_query' => [
        [
          'taxonomy' => 'categoria_volantino',
          'field' => 'term_id',
          'terms' => $term_id,
        ],
      ],
    ]);
    Ответ написан
    Комментировать
  • Как исправить ошибку в lua файле?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел ответ из нескольких источников.
    telescope:
    Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.0' }
    
    lua << EOF
    require('telescope').load_extension('projects')
    EOF


    Alpa и projects

    " require'alpha'.setup(require'alpha.themes.dashboard'.config)
      
    lua << EOF
     local alpha = require'alpha'
            local dashboard = require'alpha.themes.dashboard'
            dashboard.section.header.val = 'foo'
            dashboard.section.buttons.val = {
              dashboard.button("f", "  Find file", ":Telescope find_files <CR>"),
              dashboard.button("p", "  Find project", ":Telescope projects <CR>"),
              dashboard.button("r", "  Recently used files", ":Telescope oldfiles <CR>"),
              dashboard.button("c", "  Configuration", ":e ~/.config/nvim/init.vim <CR>"),
              dashboard.button("q", "  Quit Neovim", ":qa<CR>"),
            }
            alpha.setup(dashboard.opts)
    EOF
    
    Plug 'ahmedkhalf/project.nvim'
    
    lua << EOF
      require("project_nvim").setup {
        -- your configuration comes here
        -- or leave it empty to use the default settings
        -- refer to the configuration section below
      }
    EOF
    Ответ написан
    Комментировать
  • Почему не приходит файл из формы на почту?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Решил проблему.
    Нужно прописать физический путь до файла а не url.

    $upload_overrides = array(
    			'test_form' => false
    		);
    
    		$file_project = wp_handle_upload($file, $upload_overrides);
    
    		$attachments = array(
    			$file_project['file'] // 3 файл
    		);
    Ответ написан
    Комментировать
  • Как коментировать html в php файле в vim?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел такое решение
    Можно назначить тип файла как html.
    set ft=html

    Или настроить навсегда, для этого нужно править файл vimfiles/after/ftplugin/php.vim file
    setlocal commentstring=<!--%s-->
    Ответ написан
    Комментировать
  • Как удалить все html теги в vim?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    И я нашел решение.

    Вот в этой статье

    https://habr.com/ru/post/119059/

    %s/<[^>]*>//g
    Ответ написан
    Комментировать
  • Почему не работает axios.put в laravel + vue?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Какие же программисты криворукие.
    А еще хотят создать искусственный интелект.
    А еще все так хвалят ларавель, а он на одних костылях построен.

    Нашел решение, это убого.

    onSubmit() {
                let form = new FormData();
                for (let key in this.form) {
                    form.append(key, this.form[key]);
                }
                form.append('_method', 'PUT');
    
                axios
                    .post("/api/auth/employee/" + this.$route.params.id, form)
                    .then((res) => {
                        console.log(res.data, "res");
                        // this.$router.push({ name: "admin.employee" });
                    })
                    .catch((error) => {
                        this.errors = error.response.data.errors;
                        // this.form_submitting = false;
                    });
            },
    Ответ написан
  • VLC is unable to open the MRL '/home/serii/Videos/vue-course/09.m3u'. Check the log for details?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Решил костыльным способом.
    Сохранил файл плейлиста на рабочем столе и открываю по клику.
    Только приходится переходить к последнему файлу в плейлисте вручную.
    Ну что поделать, за то знаменитый и неповторимый и самый лучший vlc.
    Ответ написан
    Комментировать
  • Route [admin.users.index] not defined. (View: /var/www/resources/views/layouts/partials/tabs.blade.php)?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Разобрался, проблема была в breadcrumbs.
    Нужно было передать параметр $user, отсюда и шаблон app.blade.php в заголовке.

    // Home
    Breadcrumbs::for('home', function (BreadcrumbTrail $trail) {
        $trail->push('Home', route('home'));
    });
    
    
    Breadcrumbs::for('login', function (BreadcrumbTrail $trail) {
        $trail->parent('home');
        $trail->push('Login', route('login'));
    });
    
    Breadcrumbs::for('register', function (BreadcrumbTrail $trail) {
        $trail->parent('home');
        $trail->push('Register', route('register'));
    });
    
    // Home > Blog
    Breadcrumbs::for('contact', function (BreadcrumbTrail $trail) {
        $trail->parent('home');
        $trail->push('Contacts', route('contact'));
    });
    
    Breadcrumbs::for('admin.index', function ($trail) {
        $trail->push('Admin', route('admin.index'));
    });
    
    
    Breadcrumbs::for('admin.users.index', function (BreadcrumbTrail $trail) {
        $trail->parent('admin.index');
        $trail->push('Users', route('admin.users.index'));
    });
    
    Breadcrumbs::for('admin.users.create', function (BreadcrumbTrail $trail) {
        $trail->parent('admin.users.index');
        $trail->push('Create', route('admin.users.create'));
    });
    
    Breadcrumbs::for('admin.users.show', function (BreadcrumbTrail $trail, User $user) {
        $trail->parent('admin.users.index');
        $trail->push($user->name, route('admin.users.show', $user));
    });
    
    Breadcrumbs::for('admin.users.edit', function ($trail, User $user) {
        $trail->push('Edit', route('admin.users.edit', $user));
    });
    Ответ написан
    Комментировать
  • Почему не работает сайт запущенный через docker?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Решил проблему.
    Думаю, причина была в том, что у меня локально на компьютере была установлена версия php 8.
    И когда устанавливал зависимости через композер, то была использована именно эта версия.
    Поэтому, и была проблема
    Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.2". You are running 7.3.33. in /var/www/vendor/composer/platform_check.php on line 24


    Удалили 8 версию, установил 7.3 и ларавел запустился.

    Обновил репозиторий, там только docker и .env.txt

    Наверное, composer лучше всего запустить в контейнере?
    Хотя на ютубе, большинство запускают на локалке.
    Ответ написан
  • Почему вместо laravel вижу nginx?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Сделал так
    sudo chown -R serii:www-data laravel_projects
    sudo chmod -R 775 laravel_projects
    Ответ написан