Задать вопрос
  • Для чего нужны Plugin Events понятным языком?

    Сейчас вопрос звучит примерно как
    У меня есть машина, и производитель этой машины напихал в салон кучу каких-то кнопок. Но мне не понятна суть дела. Зачем это всё? В каких случаях оно может понадобится и под какие типы задач (с конкретным примером, если можно)?


    Почему бы не спросить у этого разработчика?
    Почему бы не почитать документацию к этому плагину?
    Почему бы не почитать те самые объяснения, которые написаны в этих файлах?

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

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Это делается через приватный репозиторий, в который вы кладёте набор файлов, достаточный для работы и, например, дамп базы с тестовыми данными. А настоящего сайта фрилансер вообще касаться не должен.
    Ответ написан
    Комментировать
  • Как организовать поиск в БД с 1000 таблиц?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Даю совет: базу данных, в которой "есть очень много таблиц (>10.000), в каждой от 1 до 50 строк" нужно удалять, а того, кто её проектировал, увольнять с позором.
    Ответ написан
    4 комментария
  • Почему Windows 10 установленный через rufus - бесплатен?

    Mi11er
    @Mi11er
    A human...
    Перед тем, как такой вопрос закидывать, узнайте, чем отличается активированная Windows , от не активированной =)
    Потом все поймете.
    Ответ написан
    6 комментариев
  • Почему Windows 10 установленный через rufus - бесплатен?

    Stalker_RED
    @Stalker_RED
    Rufus - программа для создания загрузочных флешек. Ничего с ключами она не делает.

    У вас либо неактивировпнная винда, либо ключ подтягивается из биоса, либо сборка не оригинальная.
    Ответ написан
    1 комментарий
  • Почему Windows 10 установленный через rufus - бесплатен?

    @nApoBo3
    Не путайте технические ограничения и лицензирование. То, что программа не препятствует пиратству не делает ее лицензионной или бесплатной.
    Ответ написан
    2 комментария
  • Как грамотно сделать обработку ислючений в php?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Структура проекта какая-то странная, в нем, судя по всему, контроллером называется роутер, но на этом я останавливаться не буду, обработка исключений от этого не зависит.

    Основных правил при обработке исключений три:
    1. Не использовать исключения там, где они не нужны. Например, при проверке пользовательских данных.
    Собственно, эмпирическое правило звучит так: функция должна бросать исключение, если она не может выполнить ту работу, для которой она предназначена.

    Отсюда сразу становится понятно, что для функции, которая должна проверять введенные данные, наличие ошибок в них не является исключительной ситуацией. А совершенно штатной. И обеспечивается штатными же средствами. По результатам проверки пользователю просто отправляется ответ, что данные неверны, безо всяких исключений. В нормальной структуре проекта этим занимается контроллер.

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

    2. Системные ошибки обрабатывает глобальный обработчик исключений, логируя саму ошибку, а на клиент отправляя статус 500 и какое-нибудь абстрактное сообщение о проблеме на сервере. Это самое важное в системных исключениях - текст ошибки никогда, не при каких обстоятельствах не уходит наружу.

    Пример такого исключения - когда запрос в БД порождает ошибку.

    3. Пользовательские исключения, там где они нужны, обычно обрабатываются по месту, но есть нюансы.
    Собственно, под обработкой исключений часто понимают два разных действия:
    - собственно обработку, когда программа совершает какие-то действия, чтобы нивелировать негативный эффект. Например, если не удалось подключение к какому-то сервису, то либо попробовать подключиться к другому, либо просто подождать и попробовать снова.
    - простое информирование пользователя

    Для информирования можно действительно ловить исключение через try..catch и писать какое-то свое сообщение.
    Но можно и автоматизировать этот процесс, вот две статьи, которые показывают примеры, как это можно сделать:
    https://angelovdejan.me/2022/11/24/centralized-exc...
    https://habr.com/ru/articles/688202/
    Ответ написан
    Комментировать
  • Как отображать mp4 видео без ос?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Работа без ОС с железом заключается в том что вы делаете свою "ОС на минималках" и компилируете
    ее в ваш софт. Поэтому мне кажется что тут более важный вопрос - а что вам нужно от ОС ?
    Загрузчик? Файловая система? Драйвера для экрана? Для звука? Это все очень сложные
    инжереные вопросы и чтобы их решать - нужно сначала уметь их решать вместе с ОС и уже
    потом как-то придумать как избавиться от ОС.

    Иначе выглядит что вы просто хотите странного.
    Ответ написан
    Комментировать
  • Как правильно распределять ответственность между классами?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Сервис - это часть модели. Класс, который реализует некую бизнес-логику, не связанную напрямую с хранилищем.
    Репозиторий - часть модели, класс, который содержит методы для работы с хранилищем.
    Стор - это какая-то местечковая приблуда. Из битрикса небось? Либо какие-то академические измышления, вот как в соседнем ответе. Вроде человек что-то пишет, но яснее ничего не становится.
    Маппер имеет много значений. Если речь про Data Mapper, то это разделение самих данных и их отображения в БД.

    Читать стандартно - Дядюшка Боб Мартин и Мартин Фаулер. Конкретно по РНР - Зандстра.
    Ответ написан
    2 комментария
  • Почему может создаваться большое количество файлов сессий на сервере Ubuntu?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Сессии сами не создаются, их создает РНР при обращении к сайту.
    Сколько обращений - столько сессий.

    Соответственно, смотреть надо по двум направлениям
    1. проверить, не долбит ли кто-то запросами, и заблокировать или ограничить, например использовать Rate Limit у NGINX
    2. файловая система - самое убогое хранилище для сессий, и используется по умолчанию только потому, что для всех других нужно указывать параметры подключения. Соответственно, вместо файлов использовать базу данных.

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

    Jacen11
    @Jacen11
    потому что с вами никто не сможет работать, если вы фрилансер, нет проблем. Вы говорите буквально "я придумал клингонский, почему меня за это не любят и не дают миллионы денег?". Ну потому что это никому не нужно.

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

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    У вас каша в голове. И вы все делаете неправильно.
    Заменять теги на сущности надо не перед записью в БД, а перед выводом в HTML. Желательно - средствами этого "табулятора", если он это умеет.

    Никакой HTML в БД хранить нельзя.
    Любое HTML оформление надо добавлять средствами этого "табулятора".
    В самом крайнем случае - в ноде, перед выводом

    name: '<p>' + entities.encode(result.name) + '<p>'
    Хотя это конечно говнокод и кровь из глаз.
    Ответ написан
    2 комментария
  • Как объединить 3 массива из файлов после цикла foreach?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Вопрос изначально был хреново описан, слава яйцам ТС догадался что мы не знаем что хранится в его массивах и что надо получить в итоге... Первое правило решения задачи - хорошо описать исходные данные и требуемый результат.
    2)
    В переменной $config массив:
    Массив состоит из 1 элемента, было бы странно ожидать что итераций foreach будет больше одной. Возможно имеет смысл проверять переменные чаще, если результат не соответствует ожиданиям, var_dump/dd($lang) внутри foreach был бы очень кстати...
    3) У вас есть список языков, который соответствует названиям файлов, зачем дергать каждый раз весть список файлов, когда можно просто открыть файл __DIR__/$lang.php? Ну, разве что нужна проверка на file_exists()...
    4) Вам дважды указали на ошибку с отсутствием второго аргумента в array_merge, которую вы проигнорировали...
    Ответ написан
    Комментировать
  • Получится ли установить 64 битную операционную систему windows 10 на ноутбук: Toshiba NB200, 2009 года выпуска?

    @kalapanga
    Не знаю, откуда скопированы эти характеристики, но в пункте "Технологии" у каждого элемента явно не хватает указания "Да/Нет".
    Смотрим тут: https://ark.intel.com/content/www/ru/ru/ark/produc...
    и видим:
    Архитектура Intel® 64 - Нет
    Набор команд - 32-bit
    Так что ответ - Нет.
    Ответ написан
    Комментировать
  • Стоит ли создавать таблицу в БД, в которой будет заведомо фиксированное кол-во записей?

    @d-stream
    Готовые решения - не подаю, но...
    Каждый bool со временем становится enum, а каждому enum со временем требуются допатрибуты.
    Как итого - лучше сразу делать таблицы... Ну кроме случаев оплаты за количество нажатых кнопок...

    Страна - может разделится, может сменить свой код, наименование, в комбобоксе выбора места немного и ОАЭ там выглядит гармоничнее чем "Объединённые Арабские Эмираты" , а вот в карточке фильма - наоборот.
    Плюс страны могут могут объединяться смысловыми понятиями - азиатские фильмы, европейские и т.п.

    С жанрами и поджанрами - та же фигня.

    Итого как минимум (который можно юзать сразу или прийти к нему итеративно):
    - id
    - краткое наименование
    - полное наименование
    - картинка (например имя файла флага страны)
    - порядок сортировки (возможно даже несколько порядков)
    Ответ написан
    Комментировать
  • Как с помощью ssh скачать сайт весом 54гб?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Rsync, не?
    Ответ написан
    Комментировать
  • Как подготовить интернет-магазин к боевому старту?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Давайте обратимся к классикам, например применим метод Ферми для оценки топа посещаемости ресурса. Естественно все приведенные цифры с некоторой погрешностью...

    Пусть в регионе проживает 1КК людей, из которых 20% это несовершеннолетние, 20% это люди пожилого возраста, то есть 2 категории, которые с огромной долей вероятности сервисом пользоваться не будут. Так же, можно сразу выкинуть 15% проживающих за чертой бедности, и еще примерно столько же (15%) находящихся в граничном с бедностью состоянии.

    Из оставшихся 30% (300К)охват рекламой/слухами может составить около 50% в столице, и 30% в области, пусть будет 40% общего охвата, хотя это скорее всего завышенный показатель. То есть в остатке потенциальных знающих о вашем сайте около 130К, причем это цифра не на старте, а примерно спустя пол года-год.

    Предположим что магазин имеет не нишевую специализацию, а достаточно широкий ассортимент, заинтересующий 70% от потенциальных ознакомившихся с ним людей (это оооочень оптимистично, но допустим). Из них 30% "отложат на потом" посещение ресурса, и больше о нем не вспомнят, или зайдут 1-2 раза, что на общую статистику не влияет. В сухом остатке имеем около 40-70К потенциальных посетителей. Предположим, что прошло пол года, и все они равномерно росли до этой цифры, и посещали магазин ну пусть 3 раза в месяц.

    В итоге в месяц будет 70к*3 = 210К визитов, визит примерно из 5-7 страниц, итого = 6*210К = 1 260 000 хитов в месяц.
    Делим на 30 дней = 42 000. делим на 12 активных часов, получаем 3500 хитов в час, 58 хитов в минуту, то есть 1 хит в секунду. В пике пусть будет 6 рпс.

    Вывод: слабенький церлерон и винт на 7200 rpm вполне справится с вашей мегаубервафлей...

    Если ваши цифры не совпадают с моими - просто пересчитайте самостоятельно всю цепочку, будете знать примерную нагрузку.
    Ответ написан
    3 комментария
  • Docker в Windows, Linux переводы строк, как правильно?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    непонятна ваша проблема.
    Переводы строк в линукс виде - совершенно корректно.
    Логи нормальные, что именно не так, где именно проблема - не указано.
    Виндовый блокнот не умеет в линукс перевод строк?
    Какая винда? у меня под блокнот нормально все делает
    Ну или открывай не блокнотом
    Ответ написан
    Комментировать
  • Docker в Windows, Linux переводы строк, как правильно?

    Вариант раз: писать логи в stdout и пусть сам Docker или какой-нибудь vector их перенаправит куда следует в нужном формате.

    Вариант два: Забить и настроить инструмент, который читает файлы на винде так, чтобы он LF считал за нормальный перенос строки.
    Ответ написан
    Комментировать