• Как взаимодействовать с другой функцией?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Если речь идёт о контексте класса, то я думаю Вам нужно это.

    P.S. Ну и вот ещё пара ссылок: раз, два по теме "цепочка вызовов PHP".
    Ответ написан
  • Как выполнить функцию js при нажатии на кнопку/ссылку?

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    Мигает он у Вас по тому, что перезагружается страница, а перезагружается она так как у ссылки есть атрибут "href", при href="" - ссылка ведет на ту же страницу, на которой браузер находится сейчас.

    Анимация там пожалуй вообще не нужна, достаточно "transition", выглядеть будет примерно так:


    P.S. Идея я думаю Вам понятна, дальше её можно развить самостоятельно :)
    Ответ написан
  • Как подключить файлы, лежащий на другом сервере?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Вообще, обычно для задач подобных тем, что Вы описали - используют Git и другие системы контроля версий, который рассылают уведомления о том, что исходный код на источнике обновился, зависимые серверы получив такое уведомление (оно ещё называется "пуш") - они скачивают обновление и развораичвают его локально, подобный процесс так же иногда называется "сборкой".

    Но, насколько я понимаю, у Вас случай несколько проще и не требует "тяжелой артилерии". В этом случае, может быть актуально использовать программы типа sshfs или ftpfs и прочие подобные штуки.

    Почитать можно например тут или тут.

    Если простой вариант Вас не устроит - можете попробовать использовать такие сервисы как например GitHub или BitBucket, там есть такая штука как "Веб-хуки", именно она как раз таки рассылает уведомления о том, что исходный код был изменен, можете попробовать написать простенький скрипт, например на том же PHP, который бы стягивал изменения из удалённого репозитоиря и проводил прочие манипуляции подобного толка.
    Ответ написан
  • Как добавить перенос в PHP при записи в базу данных?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Я думаю что как-то примерно так: $summ = $param1 .= "\r\n" .= $param2
    Ответ написан
  • Нужно ли экранировать get-запросы в input?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Не совсем понятно, что Вы имеете в виду под фразой "вставляю GET-запрос"... варианта у меня два на эту тему: либо результата GET-запроса, либо какие-то доп. параметры для GET-запроса. В обоих случаях, если речь идёт о содержимом какого-то поля типа INPUT (или TEXTAREA, что равносильно по сути) - оборачивать его в htmlspecialshars - лично я никакой необходимости не вижу. При отправке запроса - форма сама по себе прекрасно кодируется, без всяких "оборотов", содержимое поле исходно так же обычно не требует никаких дополнительных "оборотов", не зависимо от того, собираетесь ли Вы сохранять это в БД или нет.

    P.S. Вообще, говоря про htmlspecialchars() и БД, логически "оборачивание" делается перед выводом данных на сайте, а не перед вставкой. Делается это например для того, что бы исключить возможность недобросовестным пользователям, которые оставляют скажем комментарии - вставлять в эти комментарии например JavaScript-код и прочие подобные факторы.
    Ответ написан
  • Какой тут сделать ховер на ссылке?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    прозрачность?
    Да.
    Ответ написан
  • Как выполнить цикл внутри цикла 1 раз?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Как выполнить цикл внутри цикла 1 раз?

    Примерно как-то так:
    $flag = true;
    
    foreach($var1 as $v1) {
        if($flag) {
            foreach($var2 as $v2) { 
                 //2-й цикл
            }
            
            $flag = false;
        }
    }
    Ответ написан
  • Возможно ли объединять .exe с .txt, используя Python?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Сразу уточню, что возможно я не до конца понимаю о чём речь и не понимаю вообще что такое ".dat" и зачем он в данном случае нужен. Но, суть вашего вопроса напомнила мне мои потуги ~15-летней давности написать собственный архиватор, который мог бы создавать само-распаковывающиеся архивы. В те времена, я достаточно дотошно изучал структуру .EXE-файлов... и в какой-то момент обнаружил, что Вы можете дописывать в конец практически любого (исключения в основном составляют программы проверяющие собственную целостность при запуске) .EXE-файла любые другие данные. Более того, все само-распаковывающиеся архивы работают именно по такому же принципу - в конец .EXE-файла - просто дописывается архив, после чего, при запуске, файл (SFX-архив) читает сам себя, смещая указатель на длину (размер) исходного .EXE-файла (за которым соотв. идёт уже архив).

    Иными словами, Вы можете дописывать что угодно в конец EXE-файла не нарушая его работоспособность, хоть TXT-файлы, хоть картинки, хоть BluRay фильм туда добавьте... Делается это максимально просто на любом (ну или почти любом) языке, просто открываете .EXE-файл, в бинарном режиме, на запись, открываете другой файл (текстовый или любой другой), так же в бинарном режиме, смещаете указатель в первом файле в самый конец, пишите данные из 2-го файла. Собственно... и всё. Причём тут конкретно Python - я понятия не имею.

    P.S. Кстати да, можете эксперимента ради найти "башку" от любого самораспаковывающегося архива (это которая .EXE) и дописать ей в конец архив, в результате чего обычный архив превратится в SFX/EXE...
    Ответ написан
  • WebSocket - в чем разница между байтовой передачей и текстовой?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Не совсем понятно, о чём именно Вы говорите и что за "байтовый режим"... Все мои попытки найти ответ на вопрос, о чём хотя бы примерно идёт речь увенчались на данный момент нахождением только этого материала. Подозреваю, что речь идёт о некоем "бинарном" и "текстовом" режимах (хотя, на уровне самих вебсокетов, я чего-то таких режимов не припоминаю, не смотря на то, что когда-то я занимался работой с ними на очень низком уровне). Если так (т.е. речь идёт всё же про "бинарный" и "текстовый" режимы) - судя по всему, разница есть конкретно на уровне JS'а и отличия состоят только в том, как сам JS будет воспринимать полученные им данные, что собственно следует из примера (взято по ссылке выше):

    socket.bufferType = "arraybuffer";
    socket.onmessage = (event) => {
      // event.data является строкой (если текст) или arraybuffer (если двоичные данные)
    };


    Как видите, в зависимости от контекста получаемых/передаваемых данных - они могут интерпретироваться в JS по разному, что (как я понимаю) сделано просто для удобства (работы с исходными данными) и никакой другой практической цели в себе не несёт.
    Ответ написан
  • Где вы обычно храните оригиналы фото для сайта?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    создать папку original_photos прям на хостинге, и запретить её сканирование поисковыми системами
    Если Вы не будете давать прямых ссылок на эту папку, вероятность того, что поисковые системы там что-то проиндексируют - стремиться к нулю.

    Или есть какие-то другие грамотные варианты?
    Если места на хостинге хватает - почему бы и нет? Если не хватает сохраняйте на каком-нибудь облачном диске (вариантов масса). А что бы совсем хорошо - можете сохранить файлы и там и там.
    Ответ написан
  • Потянет ли бп видюху?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Воспользуйтесь каким-нибудь сервисом, на подобии такого, я думаю информация оттуда будет не менее полезной, чем чьи-то доводы.
    Ответ написан
  • Как сделать html, css, js редактор на сайте в админке Laravel/PHP?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Из личного опыта: берёте любой готовый редактор, например, такой, встраиваете его куда нужно и пользуетесь на здоровье.

    P.S. По моему, сам вопрос и браузерные редакторы кода, никак не связаны ни с PHP, ни с Laravel. При использовании PHP/Laravel они встраиваются точно так же как и при использовании HTML и JS.
    Ответ написан
  • Стоит ли хранить базы данных на SSD?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    сервер базы стоит на SSD
    Я думаю, где стоит сам сервер - особой разницы нет.

    Меня интересует стоит ли хранить сами базы на SDD или лучше их перенести на HDD для продления жизни SDD?
    Для ответа на этот вопрос, нужно оценить следующие факторы:
    1. Оно Вам действительно нужно, что бы базы работали на SSD, скорости HDD не хватает?
    2. Резервирование диска? Т.е. если диск "крякнется" - есть дублирующий носитель, RAID или что-то ещё подобное? Если у одного из дисков он есть - лучше хранить на том диске, у которого оно есть.

    3.
    Стоит отметить что базу используя для личной разработки.
    Дочитал до этого пункта и... Из личного опыта могу рассказать Вам одну историю... Есть у нас сервер 1U, купленный изначально "для работы", потом мы его отдали под проект. В сервере среди прочего стоит SSD, самый обыкновенный, на 120Гб, из числа тех что стоят сейчас в районе 1500руб., стоит он там уже более 2-х лет (с того момента как мы его отдали проекту), ежедневно и беспрерывно, 24х7 диск "молотит" база достаточно крупного проекта (и сам проект стоит там же), изначально было много опасений на тему того, что диск не проживёт там и месяц... но, любопытство всё же пересилило и мы решили попробовать. Результат - по прошествии 2+ лет "здоровье" диска в районе 74%, думаю ещё года 3 он там проживёт за милую душу. Единственное отличие нашего диска от тех, что продаются сейчас - у него MLC-память, но что-то мне подсказывает, что этот факт никак не даёт диску сколь-нибудь фантастическую живучесть по сравнению со всеми остальными.

    P.S. С учётом цен на SSD на сегодняшний день, и того, что Вы собираетесь его использовать даже не в боевых условиях - я бы не стал забивать себе голову такими мелочами. Храните базу там, где Вам удобнее. Скорее всего, диск будет выброшен и заменён на другой раньше по техническим причинам, чем успеет "сдохнуть".
    Ответ написан
  • Зачем тестировать верстку на локальном сервере?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Например, сборщик Gulp поднимает локальный сервер по адресу localhost:3000. Чем это может помочь при тестировании верстки?
    Насколько я помню, сам Gulp ничего не поднимает, но это не суть... Сервер, локальный, нужен как минимум для возможности указания корректных по отношению к корню сервера путей, для тех же картинок, например: <img src="/img/image1.png" alt="#" /> - без локального сервера будет работать "никак". Уже этого факта достаточно, что бы этот самый сервер поднимать :)
    Ответ написан
  • Стоит ли оборачивать button в div?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Думаю, что особого смысла в "оборачивании" в контексте Вашего вопроса - нет. У любого из известных мне тегов, в т.к. и у <button/> можно выставить любые параметры, в т.ч. касающиеся его позиционирования.

    Отцентрировать его можно указав родительскому блоку display: block;, а самой кнопке margin: auto; или же отцентрировать её через flex...
    Ответ написан
  • Зачем добавлять классы в контейнер в Laravel?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Почему лучше добавлять классы в контейнер и создавать их из контейнера а не через new?
    Откровенно говоря, вопрос звучит аки "почему молоток лучше чем пассатижи?".

    В контейнер кладут классы, прежде всего для того, что бы иметь возможность управления зависимостями. Иными словами, что бы иметь возможность подменить класс А на класс Б, при первой необходимости не затрагивая основные структуры программы, а так же для того, что бы система знала, где искать какой-либо класс, когда его запрашивают. И сделано это было отнюдь не для удобства реализации Синглтонов и т.п. Иными словами, контейнер - это часть реализации DI-механизмов, а не "синтаксический сахар".

    А все прочие прелести, возникшие в результате такого подхода, например связка модели с параметром роута и т.п. - это уже побочный эффект подхода, а не его основная задача. При этом, если Вам "просто нужен какой-то класс" - никто не запрещает создавать его через new или иным другим способом.

    P.S. Я понимаю, что объяснение слегка примитивное и не совсем точно отражает суть, но другого объяснения, которое бы не переросло в формат/масштаб на учной статьи, на данный момент у меня не нашлось.
    Ответ написан
  • Как потестировать два VPS/VDS провайдера?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Боюсь что даже при наличии подобных инструментов тесты будут очень относительными. Совершенно не факт, что на сервере N1 во время ваших не будет испытывать пиковую нагрузку, а сервер N2 в это время будет размещен на вновь введёной в эксплуатацию машине и по тому будет просто "летать".

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

    который оказался слабее, еще установили OPCache, xDebug (не запускается при каждом запросе)
    OPCache если мне памяти не изменяет давно уже ставиться вместе с PHP по умолчанию. А вот установленный XDebug на боевоем сервере... боюсь даже представить, что употребляет автор подобных решений.

    Я Вам из личного опыта скажу, был один такой хороший хостер X, среди прочего они позволяли устанавливать на сервер ОС из собственного образа, что лично меня безумно радовало. Но, в один прекрасный день, поднимая очередную ноду для нужд проекта, я вдруг заметил, что система ставится неприлично долго. Начал "ковырять" и заметил, что скорость записи на диск, на всех моих VPS'ках в среднем составляла 5КБайт/сек.!! 5 килобайт! А потом она вообще упала до 1Кб в среднем, а потом весь ДЦ видимо рухнул... Благо я вовремя успел заметить проблему и быстренько перевёз прокты в другое место.

    Я всё это к тому, что Ваш разовый замер ничего не даст, кроме как показателей чего-то на уровне "сейчас".
    Ответ написан
  • PHP: как сделать так, чтобы аргумент мог принять только одно из определённых значений?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Мне почему-то кажется, что должно существовать какое-то более грамотное решение.

    Возможно, вот такое:
    if(in_array($arg, ['foo', 'bar', 'baz'])) {
        // ...
    }
    Ответ написан
  • Хетцнер переводит мой VPS в облако, чем это обернется?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Но теперь с переводом в облако меня ломает - нет границ аппаратной конфигурации, какие будут диски и самое главное как быстро они будут работать, не превратится ли облако в шаред хостинг??
    Видится мне, Вы необосновано плохо относитесь к шаред-хостингам :))) А если серьёзно - для своей цены - полёт пока нормальный. Есть мнение, что Хецнер просто решил перевести всю инфраструктуру на облака, что собственно и сделал, зарегистрировать "ВПС" уже давно нет возможности. А теперь, они видимо собрались духом и потихоньку прееводят ВПСы на облака. Я думаю, если бы они хотели "понизить качество" - они бы не заморачивались с облаками и пр., ведь для этого можно найти варианты гораздо проще.

    Не могу точно скзазать, "как оно будет с дисками" конкретно в Вашем случае, но мы пока проблем не замечали. А для проектов особо требовательным в ресурсам дисков или процессора - просто берём железные сервера.
    Ответ написан
  • Какие требования к бд и архитектуре для такого приложения?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Вопрос:
    Какую архитектуру базы данных создать, под каждый сайт отдельные таблицы или отдельную базу данных под каждый мгаазин или сотни тысяч товаров в одной держать. Кто работал с конструторами сайтов, какая у них база данных под каждого клиента. И стоит ли вообще использовать mysql или стоит рассмотреть другого вариант? Как бы вы построили базу данных, если бы таких магазинов было 100 и более.
    С точки зрения логики, безопасности, здравого смысла и ряда прочих факторов, включая архитектурные особенности (по части хранения таблиц в рамках файловой системы) самих БД - я хранил подобные данные в разных БД. Но, с учётом того, что "сотня тысяч" строк, это по большому счёту "пшик" и база уровня "шаред-хостинг" (думаю, ещё даже не VPS) - то для удобства можно хранить всё это и в одной базе.

    На счёт стоит ли использовать MySQL - лично Вам, в данный момент - я думаю стоит. Смена одной БД на другую, без полного понимая контекста того, зачем это делается и чем одна отличается от дургой - обычно ничем хорошим не горозит. Движки БД (популярных) сами по себе, "из коробки", друг от друга не слишком сильно отличаются и чудесным образом один из них "по умолчанию" не будет "лучше" чем другой. Я неоднократно работал над проектами где "сотни тысяч" (записей) появлялись ежедневно и они (эти проекты) прекрасно себя чувствовали на MySQL'е.
    Ответ написан