Андрей Степаненко

Андрей Степаненко

С нами с 28 октября 2014; Место в рейтинге пользователей: #8
Отправить деньги
Андрей Степаненко
06 мая 2024, 23:02
0
изначально делал так
wget raw.githubusercontent.com/modxcms/revolution/v3.0.4-pl/composer.json
composer install
composer require mmx/fenom
Получал ошибку modx.pro/development/24702#comment-143091

Попробовал по другому
Удалил composer.lock и core/vendor
сразу выполнил команду
composer require mmx/fenom

все установилось

Update:
кроме самого пакета mmx/fenom (перепутал))) сначала подумал что он то же установился
при повторе, опять ошибка не совместимости
composer require mmx/fenom
Андрей Степаненко
06 мая 2024, 22:57
0
php 7.4 не установился

пробывал с:
wget raw.githubusercontent.com/modxcms/revolution/v3.0.4-pl/composer.json
wget raw.githubusercontent.com/modxcms/revolution/v3.0.5-pl/composer.json

composer require mmx/fenom
./composer.json has been updated
Running composer update mmx/fenom
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - illuminate/container[v8.0.0, ..., 8.x-dev] require psr/container ^1.0 -> found psr/container[1.0.0, ..., 1.x-dev] but the package is fixed to 2.0.2 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - illuminate/events[v10.47.0, ..., 10.x-dev] require php ^8.1 -> your php version (7.4.33) does not satisfy that requirement.
    - mmx/database[1.1.0, ..., 1.2.0] require illuminate/events ^v8.83|^v10.47 -> satisfiable by illuminate/events[v8.83.0, ..., 8.x-dev, v10.47.0, ..., 10.x-dev].
    - mmx/fenom[dev-main, 1.0.0] require mmx/database ^1.1 -> satisfiable by mmx/database[1.1.0, 1.1.1, 1.2.0].
    - illuminate/events[v8.83.0, ..., 8.x-dev] require illuminate/container ^8.0 -> satisfiable by illuminate/container[v8.0.0, ..., 8.x-dev].
    - Root composer.json requires mmx/fenom * -> satisfiable by mmx/fenom[dev-main, 1.0.0, 9999999-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require mmx/fenom:*" to figure out if any version is installable, or "composer require mmx/fenom:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.
bash-5.1$ php -v
PHP 7.4.33 (cli) (built: Nov 12 2022 05:16:49) ( NTS )
Copyright © The PHP Group
Zend Engine v3.4.0, Copyright © Zend Technologies
Андрей Степаненко
17 апреля 2024, 19:12
+1
С расположение пакетов это одна из проблем которую на мой взгляд нормально не решишь, всегда на измене что то то можешь затереть
По этому и придумал схему с :ro который защищает файл в Extras
Хоть сколько раз переустанавливай свой пакет
Если нужен собранный пакет то он будет в target в сборке с docker
Андрей Степаненко
17 апреля 2024, 10:08
+1
Последние попытки запуска как раз и были связаны с WSL, Docker завершался с ошибкой и все.

Для отключения WSL
C:\Users\\AppData\Roaming\Docker\settings.json
«wslEngineEnabled»: false

И после этого docker запуститься. Ура)
Андрей Степаненко
17 апреля 2024, 09:51
+1
Windows 11 еще один вариант)

Андрей Степаненко
17 апреля 2024, 06:19
+1
windows — страшная тема для docker) кто смог настроить docker под window, респект

Папка с build в 3 категории попадает

volumes:
    - "./Extras:/var/www/html/Extras"
    # Package
    - "./Extras/${PACKAGE_NAME}/core/components/${PACKAGE_NAME}:/var/www/html/core/components/${PACKAGE_NAME}:ro"
    - "./Extras/${PACKAGE_NAME}/assets/components/${PACKAGE_NAME}:/var/www/html/public/assets/components/${PACKAGE_NAME}:ro"
Директория для хранения самого пакета
/var/www/html/Extras

В нее затем уже с помощью команд обращаешься
#######################
# Extras package
#######################
package-build:
	docker compose exec app bash -c "export PACKAGE_DEPLOY=False && php Extras/${PACKAGE_NAME}/_build/build.php"

package-install:
	docker compose exec app bash -c "php ./docker/app/scripts/checking-add-ons.php"
	@make cache-clear

package-build-deploy:
	docker compose exec app bash -c "export PACKAGE_DEPLOY=True && php Extras/${PACKAGE_NAME}/_build/build.php"

package-target-clear:
	docker compose exec app bash -c 'rm -rf target/*'

package-deploy:
	@make package-target-clear
	@make package-build
	@make package-build-deploy

Volume core и assets

# Package
    - "./Extras/${PACKAGE_NAME}/core/components/${PACKAGE_NAME}:/var/www/html/core/components/${PACKAGE_NAME}:ro"
    - "./Extras/${PACKAGE_NAME}/assets/components/${PACKAGE_NAME}:/var/www/html/public/assets/components/${PACKAGE_NAME}:ro"
Эти volume прокидываются чтобы можно было редактировать код из Extras/${PACKAGE_NAME}
Андрей Степаненко
16 апреля 2024, 10:02
+1
Перенос из modx.pro/components/24542#comment-142930

Проанализировал код

1. Во время удаления сессий выполняется N запросов, если быть точным то сколько прописано сигнатур user agent столь и будет выполнено запросов
2. Поле user_agent не индексное, то есть это будут медленные запросы



Еще хотел узнать, зачем для ботов создавать сессию?
И потом её удалять, целесообразность этого функционал не понимаю
особенно с учетом тяжести запросов в цикле
Андрей Степаненко
16 апреля 2024, 08:25
0
Проанализировал код

1. Во время удаления сессий выполняется N запросов, если быть точным то сколько прописано сигнатур user agent столь и будет выполнено запросов
2. Поле user_agent не индексное, то есть это будут медленные запросы



Еще хотел узнать, зачем для ботов создавать сессию?
И потом её удалять, целесообразность этого функционал не понимаю
особенно с учетом тяжести запросов в цикле
Андрей Степаненко
16 апреля 2024, 08:00
+1
git submodule
прикольно)) Один раз читал про это, но руки не дошли чтобы использовать
Спасибо за решение)

Опять же это то о чем я и писал, один из вариантов работы, где требуется содержание сервера и развернутого modx

Безусловно я не коем образом не сравниваю, в том плане что твое решение хуже или лучше) думаю сам да же где то попробую аналогично использовать modx-build-environment-gui.
Андрей Степаненко
05 мая 2023, 05:50
0
Димка считает что его кинули
Год прошёл, а обновления компонента не дали ему
500₽ пожадничал на обновление
Теперь ходит за мной, минусы ставит)))
Андрей Степаненко
28 апреля 2023, 09:24
0
Есть отличная статья на мой вгляд
Показывает что сейчас произошло с GPT
habr.com/ru/articles/727092/

Процесс идет и его не остановить)
Андрей Степаненко
28 апреля 2023, 09:01
0
Надо незабывать что есть ответственность, тестировани, отладка
Чем программисты как правило пренебрегают

Вот задача:
Написать скрипт вывода даты

А где здесь написано что его тестировать нужно????????
Проект менеджеры и другие постановщики задач глюбоко ошибаются в том что программист будет тестировать свой код
Они хотят конфетку готовую
Не зря существую тестироващики

Это как с заводом по производству машин
Инженеры делают свою работу
Менеджеры делают свою работу

Так достигается симбиоз полноценной работы: но в мире программирования почему то мнение у большенства что программист может и сплесать и спеть и покушать принесет
Андрей Степаненко
28 апреля 2023, 08:55
-1
В современном мире разработчик вообще перестал думать, что програмирование это вообще то сложно.
Это люди такие)) А не разработчики как профессия
Тебе постоянно нужно учиться если ты профессионал и хочешь подтверждать свою квалификацию

Но очень много людей которые достигли чего то и сели на жопу
Андрей Степаненко
28 апреля 2023, 08:52
0
Есть другие истории)))

Надо мне сегодня было написать скрипт который бы брал файлы и отправлял их на email
Я 100% могу это сделать, но потрачу на это пару часов так как с bash не очень знаком
боту написал задачу, Выдал готовый код
#!/bin/bash

# Получаем email из первого аргумента
email="$1"

# Находим самый свежий файл  jpg
crt_file=$(ls -t /home/dir/*jpg | head -n1)

# Находим самый свежий файл png
key_file=$(ls -t /home/dir/*png | head -n1)

# Проверяем, что оба файла существуют
if [ ! -f "$crt_file" ] || [ ! -f "$key_file" ]; then
  echo "Ошибка: файл не найден"
  exit 1
fi

# Отправляем оба файла на указанный email
echo "Отправка файлов $crt_file и $key_file на $email"
echo "Текст письма" | mailx -s "Тема письма" -a "$crt_file" -a "$key_file" "$email"
Если ты профессионал программист то прекрасно понимаешь сколько времени тратиться на рутину которую ты 100% можешь выполнить
От этой рутины руки опускаются, а если есть кому вопрос задать и получить какую то информацию, то мочему бы и нет

Если уж на то пошло))
А давай те google запретим))) Чтобы не искать там информацию и будем книжками пользоваться
Андрей Степаненко
27 апреля 2023, 17:24
-1
Контекст про modx задан, пока отличий особых нету.
Но будут)
Андрей Степаненко
24 апреля 2023, 16:44
0
Хотя вот версия которая во все вкладки встраиваться
disk.yandex.ru/d/YMHYakmcF_ZqSA
Андрей Степаненко
24 апреля 2023, 16:16
0
сейчас единственное функционал который у компонента есть
это добавление вкладки именно в категорию minishop2
пока другий функционал не продумыва
Андрей Степаненко
24 апреля 2023, 16:14
0
Подходит для всего
Промт нужно только правильный задать