Александр Мельник

Александр Мельник

С нами с 02 сентября 2016; Место в рейтинге пользователей: #64
Александр Мельник
26 января 2022, 09:28
0
Еще вопрос из той же серии. Простите, но просто хочу понять ход ваших мыслей.
Вы пишите что начали использовать typescript.
Вы реально ощутили необходимость в строгой типизации данных? Прям поняли, что неудобно работать на чистом js, возникают ошибки изза смены типа переменной?
Или же это просто «плыву по течению» и «модно, стильно, молодежно»?
Или к этому толкают правила компании в которой работаете?

ps. прочел внимательнее и понял, что на изучение ts вас толкнул выбор nest.js
Александр Мельник
26 января 2022, 09:07
0
У меня вопрос, философский. Как раз вчера над ним размышлял и возможно вы поможете.
Вопрос наверное можно сформулировать так — откуда берутся стеки технологий?
Поясню, что я имею ввиду.
Если спросить у разработчика php какую базу данных он использует, 99 процентов ответят что mysql.
Врядли они смогут ответить на вопрос — почему.
Если спросить разработчика на python то ответ будет Postgress.
Если у разработчика на node js — ответ будет Mongo.
Хотя каждая из этих систем может работать с любой из этих баз данных.
Хотелось бы услышать ваш опыт — работая на php вы наверняка использовали mysql, а перейдя на nodejs выбрали mongo. Почему?
Просто потому что как в опыте с «обезьянками в запертой комнате» — здесь так принято?
Или вы провели для себя сравнительный анализ между возможными базами и выбрали mongo как лучшую?
Ведь mongo относится к группе nosql баз данных и чтобы работать с ней — нужно кардинально перестроить голову и мысли в ней, она очень отличается по характеру от mysql.
Александр Мельник
25 января 2022, 19:58
+1
Наверное только тем, что для MODX я этого делать не умею)
Ну и в моем мировозрении это несколько странно. Систему нужно либо принимать как она есть или не принимать совсем.
Хотя несколько раз я делал нечто подобное, если клиенты уж совсем психовали — делал отдельные страницы для управления некоторыми данными, которые не были связаны с админкой и «закрыты» теми или иными способами. Но это скорее исключение из правил.
Плюс мне «удобно думать» в концепции MVC, а в MODX она очень искажена на мой взгляд.
Как то вот комфортно мне в той микросреде, которую я вокруг slim себе создаю — slim, composer, orm doctrine, twig, php-di, классический mvc, поддержка стандартов psr-7, middleware и psr-15, стараюсь использовать чистый js и parcel (кстати отличная альтернатива излишне замороченному webpack)
Александр Мельник
25 января 2022, 18:18
0
Вы правы. Специфика работы той фирмы в которой я «программист» — это не разработка сайтов. Основной упор делается на СЕО продвижение, поэтому к нам приходят (ну или мы ищем) уже готовые сайты, на которые все махнули рукой разработчики, а заказчики недовольны прибылью от сайта. В данном контексте программист получается лишь придатком, цель которого исполнять бесчисленные и иногда бессмысленные идеи наших сео специалистов. Сайты приходят разные, сделанные на чем угодно, поэтому и работать приходится со всем подряд.
Но все же в 30 процентах случаев мы делаем заказчику новый сайт. И тогда я уже стараюсь хоть примерно (как правило заказчик сам понятия не имеет что ему нужно да и сео специалисты тоже) пытаюсь провести анализ и выбрать инструмент. Если это что то очень простое и на всю разработку дается 4-5 дней, то делаю на modx или opencart. Если позволяет время и я вижу, что проект по моим меркам средний или выше среднего по сложности — выбираю slim.
Наверное есть и вторая причина, почему выбираю не modx. Я не умею делать на нем красивые админки. Когда в админке работают наши контент менеджеры, то они привыкли к админке modx. Но если в админке будет работать заказчик — они все поголовно жалуются, что сложно, ничего не понятно, какие-то ресурсы…
А slim позволяет разработать свою админку, лаконичную и понятную.
Почему именно slim — наверное люблю минимализм. Смотрел в сторону laravel и понял что он мне не приятен именно тем, что в нем многое уже реализовано. Разговаривал с одним своим коллегой, просил его рассказать что такое storage в laravel, потому что сам не очень понял. Он сказал — а зачем ты пытаешься понять, вот же в документации написано — пишешь вот это, вызываешь такой то метод и все. Я так не люблю, мне такой подход не нравится.
Как раз в данную минуту разрабатываю личный кабинет для клиентов компании воздушного такси.
Александр Мельник
25 января 2022, 18:03
0
Спасибо Николай за доверие. Я подумаю над этим, хотя просто копипастить чужие идеи не хочется, хочется рассказать о своем опыте, а он пока негативный. Особо победить спам там и не вышло.
Александр Мельник
22 января 2022, 11:58
0
я же сказал что могу ошибаться.
Сужу исключительно из своего опыта. Никогда не слышал про pimple, но очень часто слышу про phpdi и сам им пользуюсь)
Александр Мельник
22 января 2022, 10:19
0
спасибо за информацию.
Меня удивил выбор контейнера зависимостей для modx3.
Могу ошибаться но github.com/silexphp/Pimple мне кажется не очень популярным решением.
Ведь есть же программы, которые куда более популярны и уже чуть ли не десятилетний опыт имеют, например php-di.org/
Александр Мельник
21 января 2022, 18:00
+2
— вешаете прослушку события click на кнопку открывающую модальное окно.
— при наступлении события делаете ajax запрос (например через js fetch) на свой php файл
— в php файле инициализируете modx
— получаете содержимое ресурса (или через вызов pdoResources или через $modx->getResource)
— делаете echo содержимого
— получаете его в js скрипте,
— innerHTML = 'полученный результат'
— открываете модальное окно
Александр Мельник
14 января 2022, 09:19
+1
спасибо за такой развернутый ответ.
Александр Мельник
13 января 2022, 19:19
+2
на кнопку вешаете слушатель события click.
При клике выполняете
— считываете год, например с дата атрибута кнопки
— делаете ajax запрос на файл php передавая год

В php файле
— инициализируете modx (https://docs.modx.com/current/en/extending-modx/modx-class/loading-externally)
— вызываете сниппет pdoResources составив для него условие выбора года
— сниппет вернет html

Получаете этот html в том скрипте где делали ajax запрос. Выводите на страницу в нужно место.
Александр Мельник
13 января 2022, 09:12
0
Слишком у вас все на сайте замудренно, а поясняете вы задачу очень плохо. Так что врядли кто-то подскажет.
По умолчанию MODX и строит урл alias страницы на основании h1 (pagetitle), поэтому не понятна ваша фраза
нужно сделать урлы, что бы в них прописывалась информация со страницы… согласно H1
Если у вас на сайте урлы строятся на по pagetitle, то значит вы так настроили.
Плюс у вас на сайте три языка и там с урлами тоже странности. Наверное я просто привык, что урл англ версии отличается от русской только /en/ а у вас получаются совсем разные урлы для одной и той же страницы. Возможно многоязычность основана на Babel.
Русский — com-stil.com/morskie-kontejnernyie-perevozki/dobavit-transport
Английский — com-stil.com/en/sea-container-transportation/add-transport-propose
Александр Мельник
10 января 2022, 18:45
0
Час назад использовал этот сниппет и все норм, строит крошки включая все разделы и подразделы.
Проверьте, опубликованы ли ваши ресурсы? Будучи авторизованным в контексте mgr вы будете их видеть как пользователь, но хлебные крошки не будут строится для неопубликованных.
Александр Мельник
29 декабря 2021, 13:48
0
да да. я не совсем верно вас понял и поленился открыть страницу.
Что то явно с настройками сервера, у вас htaccess не стандартный, возьмите для теста htaccess из чистой установки modx и проверьте, не пропадет ли проблема. Обратитесь в тех поддержку хостинга. У меня на рег ру много сайтов и такого не случалось.
Александр Мельник
29 декабря 2021, 13:41
0
я считал что это и есть содержимое вашей страницы) Я же не знаю что вы в нее вписали.
Александр Мельник
29 декабря 2021, 12:52
0
это содержимое вашей страницы, с идентификатором 40, которую вы указали как страницу 404
Александр Мельник
29 декабря 2021, 12:29
0
вы ошибаетесь.
404 ошибка и страница это в большей степени СЕО инструмент.
И чтобы от него была польза, то код 404 должен возвращятся для страницы, которая отсутствует на сайте.
Запросили greennovo.pro/display3/ а такой страницы нет, то именно для этого урла и должна быть отдана ошибка 404. А вот содержимое страницы вы задаете сами. Так что все работает у вас корректно.
Александр Мельник
29 декабря 2021, 12:20
0
помоему все у вас работает. Открыл сайт. перешел на greennovo.pro/display/ потом добавил 2 в урл
Александр Мельник
28 декабря 2021, 08:59
+2
Очень круто, вы и тем кто вам помогает молодцы.
Я вот просто читая это уже мысленно погружаюсь в свой любимый slim, fastRoute, PHP-DI, middlewares
С наступающим.
Александр Мельник
28 декабря 2021, 08:37
0
А скажите пожалуйста.
стали включать CSS + JS в код страницы
Вы что имеете ввиду? Использование инлайн стилей? Или просто вместо подключения файла со стилями помещаете их в тег style на страницу? В начало страницы или в конец? Или разделяете стили на важные (помещаете в начало страницы) и не важные (в конец)?
Что такое — preload?