Задать вопрос
  • Как исправить проблему запуска проекта на laravel?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    пытаюсь запустить через ide phpstorm
    Не очень понятно - через консоль? Так это не через пхпсторм, а через консоль. Вангую что пхп.ини для консольного вызова (aka CLI) вы не меняли, соответственно и работать нифига не будет.
    Ответ написан
  • Как декомпозировать задачи, с которыми ты впервые сталкиваешься?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Я сейчас скажу нечто, чего раньше не думал что смогу озвучить: Засуньте свою задачу в чатгпт, напишите что полный нуб и наблюдайте за магией...

    Как пекарю познать коленвал?

    Как пекарю познать коленвал? Я пекарь по профессии, но к сожалению в моем селе нет автомастерской, а мне нужно заменить коленвал на Тойоте Тундра. Сам коленвал мне прислали, нужен примерный план действий по замене.

    Заменить коленвал в двигателе автомобиля — задача непростая, особенно 
    для человека без опыта в механике. Однако с вниманием, терпением и пошаговым подходом это возможно. 
    Вот примерный план действий:
    
    ---
    
    ### **Подготовка**
    1. **Инструменты и материалы:**
       - Набор ключей и трещоток.
       - Динамометрический ключ.
       - Домкрат и стойки для подъема машины.
       - Съемник для шкивов.
       - Герметик для двигателя.
       - Масло для двигателя и охлаждающая жидкость.
       - Тряпки, емкости для слива жидкости.
       - Руководство по ремонту для вашего двигателя (очень важно для точности).
    
    2. **Создайте рабочее пространство:**
       - Работайте на ровной поверхности с достаточным освещением.
       - Обеспечьте стабильность автомобиля, установив его на стойки.
    
    3. **Слейте жидкости:**
       - Слейте масло и охлаждающую жидкость в заранее подготовленные емкости.
    
    ---
    
    ### **Снятие двигателя**
    1. **Демонтаж вспомогательных элементов:**
       - Снимите аккумулятор.
       - Отсоедините радиатор и трубки охлаждения.
       - Снимите все ремни привода и шкивы.
    
    2. **Демонтаж двигателя:**
       - Отсоедините все крепления двигателя (подушки двигателя, болты к трансмиссии и т.д.).
       - Используйте подъемник двигателя (или лебедку), чтобы извлечь его из автомобиля.
    
    ---
    
    ### **Разборка двигателя**
    1. **Снимите крышку картера:**
       - Выкрутите болты и аккуратно снимите картер, соблюдая осторожность, чтобы не повредить прокладку.
    
    2. **Снимите шатунно-поршневую группу:**
       - Отметьте каждую деталь, чтобы установить их на место позже.
       - Выкрутите болты шатунов, освободите поршни и выдавите их вверх через цилиндры.
    
    3. **Снимите старый коленвал:**
       - Открутите крышки коренных подшипников.
       - Осторожно извлеките коленвал, записывая порядок установки крышек.
    
    ---
    
    ### **Установка нового коленвала**
    1. **Очистите все поверхности:**
       - Убедитесь, что поверхности чисты и обезжирены.
    
    2. **Проверьте зазоры:**
       - Сравните размеры нового коленвала и вкладышей с заводскими рекомендациями.
    
    3. **Установите новый коленвал:**
       - Уложите коленвал на место и закрепите крышки коренных подшипников в правильном порядке.
       - Затяните болты с использованием динамометрического ключа по рекомендациям.
    
    4. **Установите шатунно-поршневую группу:**
       - Убедитесь, что поршни установлены правильно.
    
    5. **Закройте картер:**
       - Используйте новую прокладку и герметик.
    
    ---
    
    ### **Сборка и установка двигателя**
    1. **Установите двигатель обратно:**
       - Подключите все крепления, трубки и провода.
    
    2. **Заполните жидкости:**
       - Залейте свежее масло и охлаждающую жидкость.
    
    3. **Проверьте:**
       - Убедитесь, что все подключено и закреплено.
    
    4. **Первый запуск:**
       - Прокрутите двигатель без зажигания для циркуляции масла.
       - Запустите двигатель и проверьте на утечки.
    
    ---
    
    ### **Рекомендации**
    - Если у вас нет опыта работы с автомобилями, найдите онлайн-ресурсы 
    с пошаговыми видео (например, на YouTube).
    - Всегда соблюдайте рекомендации по моменту затяжки болтов.
    - Если что-то пойдет не так, обратитесь за помощью к опытному механику, 
    даже если это потребуется поездка в соседний город.
    
    Если будут вопросы по конкретным шагам — пишите, я помогу!
    Ответ написан
    Комментировать
  • Как правильно использовать составные первичные ключи в таблицах?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    0)
    Staff, Services и промежуточная таблица StaffServices
    https://brainstation.io/learn/sql/naming-conventions , https://www.sqlshack.com/learn-sql-naming-conventions/

    1)
    Насколько правильным и общепринятым является использование составных первичных ключей в таких случаях?
    В общем случае это неверный подход, отдельный id для каждой сущности, включая пивоты, является хорошим тоном.

    2)
    Какие могут быть плюсы и минусы данного подхода?
    Да нет тут плюсов. Уникальность записи через 2 значения даже из приложения юзать неудобно, особенно когда работаешь с фреймворками, которые соблюдают какой-никакой конвеншн.

    3)
    Есть ли альтернативы, которые стоит рассмотреть в подобных ситуациях?
    Нормальный первичный ключ через автоинкремент и уник на составной.

    4)
    Как это влияет на производительность базы данных и целостность данных?
    Зависит. Если внешние ключи настроены правильно, то консистентность бд будет гарантироваться правилами ключей (в рамках их описания конечно), отсюда все вытекающие, которые сильно зависят от остального построения связей. Производительность будет сильно зависеть от конкретной насторйки бд, машины/образа, но в основном от количества записей, так то движку фиолетово какие индексы использовать, главное чтобы они были.

    5)
    Какие best practices существуют для таких случаев?
    Собсно выше основное описал.

    6)
    Буду рад услышать ваши мнения и советы!
    Велком.
    Ответ написан
    4 комментария
  • Как организовать wifi сеть на 300 метров?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Хорошая антенна на открытом пространстве 500+ метров легко покрывает (по опыту эксплуатации, полтора километра не предел), проблема чаще всего не в силе сигнала, а в том что между точками есть препятствия, включая мелкие объекты, вплоть до листвы деревьев. Если задача сводится к связи 2 конечных точек между которыми нет препятствий, проще всего взять 2 направленные антенны и забыть.
    Ответ написан
  • Как эффективно перейти на c++ при опыте работе с php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Посоветуйте, как можно было бы максимально безболезненно восполнить утраченные знания, а также наверстать упущенные новшества в языке?

    так это...
    Сейчас хочу попробовать реализовать научный проект.
    Собсно практика - лучший учитель, садитесь и пишите. Если базу уже знаете реализация не станет проблемой. По ходу решения текущих задач проекта познакомитесь со всеми нужными изменениями и практиками, сегодня на любой чих есть дока, туториал, видео и чатжпт. Двух зайцев двумя плюсами, так сказать...
    Ответ написан
    Комментировать
  • Как добавить html код для каждой страницы с определенным url?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вам нужна единая точка входа и базовый функционал инклуда/чтения файлов. Далее по вкусу: либо делать инклуд + буферизацию вывода и заменять контент на нужный регулярками/заменой, либо читать файл, менять нужное и отдавать как ответ. По сути одно и то же, просто код будет чуть отличаться.
    Ответ написан
    Комментировать
  • Как сделать поле ввода формы кликабельным?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Данный код ничего в плане понимания проблемы не дает
    2) Неработающий/работающий неверно код большого объема желательно вносить в фиддл, чтобы смотреть на живой пример, а не на абстрактные "два поля".
    3) Рискну предположить что элементы лежат в области, накрытой другим элементом, по этому клик по ним не проходит, смотрите какие элементы у вас в этой области. Что-то более конкретное можно сказать только по "живому" примеру.
    Ответ написан
    Комментировать
  • Как показать взаимосвязь полей формы?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Как визуально показать эту иерархию?
    Цифрами? Буллет с цифрой внутри - 1,2,3... можно добавить стрелочки, что усилит ощущение связанности.
    Ответ написан
    Комментировать
  • Как заполнять поля на html-странице из функции на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Мне нужна функция на php, которую можно вызывать и при загрузке страницы, и в том числе в фоновом режиме, которая заполняла бы поля на странице.
    Странице чего? Вашего сайта или чужого? И что значит "в фоновом режиме"?

    Щелчок на кнопке - вызов php-функции - заполнение полей на странице без перезагрузки.
    Аякс. опять же, зависит от того чей сервер. Естественно на фронте код будет на яваскрипте, так что чистым пхп не обойдешься.

    Возможно ли такое? (Пока на WordPress) Спасибо.
    Возможно, но есть условия. Часть из них перечислил выше, остальные зависят от ваших умений.
    Ответ написан
    Комментировать
  • Как правильно интегрировать админку в Laravel?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    собираюсь сделать админ панель для интернет магазина.
    Зависит. Что вы там писали и какая у вас логика. Как универсальное решение может подойти Вояджер, он немного простоватый, но для несложной логики подойдет. В случае более-менее сложных связей писать бэк скорее всего придется самому. Как фронт популярным решением будет что-то типа LTE Admin.
    Ответ написан
    Комментировать
  • Работающий таймер в фоновом режиме?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) при чем тут PHP и R?
    2) Монетки куда выдаются? На сервер? Тогда зачем что-то выдавать? Просто при заходе пользователя (открытии вкладки) считайте сколько секунд прошло с начала выдачи, делите на 60 - вот ваши монетки.
    Ответ написан
    Комментировать
  • В чем может быть причина сильного увеличения длительности ответа запросов при установке Load Balancer на 2 сервера со стаком MySQL, PHP, Nginx?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Нагрузка на ЦПУ при этом пике 30-40%
    это че за нагрузка при 3рпс? Профилирование нагрузки - первый шаг, балансер и горизонтальное расширение это шаг стопитьсот, когда вы упираетесь в потолок того что может вытянуть сервак. 90% что проблемы в количестве (и качестве) запросов к бд, крайне маловероятно что код у вас настолько сложный, что не вытягивает...

    обращается к основной БД через коннект по приватному IP адресу в сети серверов Амазон.
    Тестом запустите подряд 20-30 разных запросов с разным размером ответа, каждый замерьте, подозреваю что будете не очень приятно удивлены...

    запросы на дополнительном сервере начинают отрабатывать по 5, 15 а иногда и 50 секунд.
    А на основном все остается норм? В любом случае - профайлинг наше все, + под нагрузочным тестированием хоть как-то.
    Ответ написан
    2 комментария
  • Как победить ошибку ERR_CONNECTION_REFUSED во всех браузерах?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1 <1 мс <1 мс <1 мс lmlicenses.wip4.adobe.com [127.0.0.1]

    Ааа, так у вас поломанные программки стоят, в hosts у вас прописаны домены, на которые программы стучатся для проверки ключиков, замененные через хостс на локальный адрес, из-за чего собсно ни вы ни программы не могут получить реальные адреса нужных сайтов. А ERR_CONNECTION_REFUSED отдает вам собственная машина.
    Ответ написан
    2 комментария
  • Как загрузить фото из формы в корень сайта в папку img?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите, что не так

    1) Вы не читаете и не осмысливаете текст ошибки. Не в смысле глазами, а в смысле "что там произошло то?". Для вас текст ошибки проблема, а не путь решения.
    2) Не проверяете то, что интерпретатор считает неправильным, что как бы прямое следствие п.1.
    3) Считаете что знаете что на самом деле лежит в переменных, не заглядывая в реальные данные.
    Ответ написан
    Комментировать
  • Как правильно вставить HTML-код в JSON-файл?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Очевидно что просто вставить текст в кавычки не является правильным способом формировать жсон. Нормальный жсон работает как положено.
    Ответ написан
  • Как с помощью обработчика форм PHP отправлять сообщения о новой созданной заявки в беседу от бота telegram?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Форма отправляется на сервер, далее либо курлом вызывается второй скрипт, либо (если скрипт отправки в тг находится в рамках одного приложения) второй скрипт подключается инклудом после обработчика и обрабатывает форму своим способом.
    Ответ написан
    8 комментариев
  • Язык и инструменты для разработки системы диспетчеризации/сбора данных/мониторинга?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    1. Сервер я представляю как бэкенд разработку.
    Это она и есть в чистом виде.

    Метаюсь между JS (node.js), GO, и Java.
    Странные метания, языки не сказать чтобы были сопоставимы. ИМХО:

    жс сразу отпадает, так как поддержка чего-то типа тайпскрипта там еще никакая, а без этого нормальная типизация и, следовательно, качество кода ниже требуемого уровня. Годится для средней руки сайтов, для серьезной работы не готово.

    Го будет норм, НО это довольно молодой язык, с одной стороны достаточно производительный (что не сказать чтобы как-то сильно его положительно выделяло в представленной задаче), с другой - спецов в него сильно меньше и поддержка выльется в боль с поиском сотрудников и достаточно дорогими спецами.

    Ява видится как вариант очевидного выбора среди перечисленных альтернатив. Большое коммюнити, хорошо отлаженный процесс разработки всего для корпоративного сектора, включая все необходимые сертификации по безопасности. Спецы есть, ценник на них повыше чем на яваскриптеров, но пониже гошников.

    имею поверхностные знания по написанию кода на C, C++,
    Тогда можно еще глянуть в сторону RUST, но опять же, оно молодое и дороговатое.

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

    3. Стоит ли разбивать подобные проекты на микросервисы? То есть использовать брокер сообщений, который будет раскидывать сообщения от клиентов разным сервисам.
    Зависит, для микросервисов архитектура создает еще один дополнительный уровень сложности, а при предполагаемом небольшом (до сотен тысяч) клиентов особой нагрузки вроде быть не должно. Проще построить монолит и, если возникает нагрузка на определенный внутренний функционал, выносить его в сервис, там есть нюансы и порог с которого все это имеет смысл, так что начинать достаточно типовой проект стоит с монолита в любом случае.
    Ответ написан
    1 комментарий
  • Есть ли способ отключить рекламу на уровне роутера?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    насчет роутера и прочего не знаю, но если хочется именно без рекламы смотреть ютуб на телеке - возможно подойдет SmartTube, кроме вырезания рекламы так же режет нативные интеграции на популярных каналах, из киллер-фич - имеет выбор скорости просмотра, чего нет в стандартном встроенном ютубе... Единственный нюанс - ставится только с apk файла.
    Ответ написан
    Комментировать
  • Почему скрипт выполняется не до конца?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    рассылка приходит только 1000 пользователям.
    Если прям ровно 1000, очевидно это ограничение ТГ.

    ТГ никаких ошибок не выдает.
    Как это проверяется?
    $res = $this->app->forwardMessage(...)очевидно что-то возвращает, подозреваю ответ в виде саксесс/фэйл, но вы его нигде не используете.

    Посмотрел доку - он возвращает объект Message в случае успеха, и код ошибки в случае неудачного запроса. Проверяйте $response->getMessageId(); для определения удачного запроса.
    Ответ написан
  • Почему элемент header group выходит за рамки контейнера при уменьшении размеров экрана?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    Короче, у вас заданы жесткие размеры элементов внутри блока, пример:
    .search__form {
        border: solid 1px;
        width: 622px;
        height: 48px;
        gap: 24px;
        margin-top: 16px;
    }

    Естественно при уменьшении экрана эти элементы останутся такого же размера, а блок контейнер продолжит уменьшаться, так как у него нет никаких ограничений по ширине. Не понятно какого другого поведения вы ждете от такой верстки?
    Ответ написан