Задать вопрос
  • Как сделать деобфускацию кода?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Сначала меняем eval в конце крипта на console.log
    Вставляем это в консоль и выполняем.
    Результат копируем
    Ищем какой-нибудь деобфускатор, например этот https://de4js.bloggerbyte.net/
    Прогоняем на авто режиме
    Получаем относительно читабельный код:
    spoiler
    var _0x225ac5 = _0x3b87;
    (function (_0xe5e38d, _0x53a189) {
        var _0x21d761 = _0x3b87,
            _0x215dc9 = _0xe5e38d();
        while (!![]) {
            try {
                var _0x5db276 = -parseInt(_0x21d761(0x115)) / 0x1 * (-parseInt(_0x21d761(0x106)) / 0x2) + parseInt(_0x21d761(0x108)) / 0x3 + parseInt(_0x21d761(0x105)) / 0x4 * (-parseInt(_0x21d761(0x10a)) / 0x5) + -parseInt(_0x21d761(0x10b)) / 0x6 * (parseInt(_0x21d761(0x10c)) / 0x7) + parseInt(_0x21d761(0x10f)) / 0x8 * (-parseInt(_0x21d761(0x10d)) / 0x9) + -parseInt(_0x21d761(0x113)) / 0xa * (-parseInt(_0x21d761(0x104)) / 0xb) + parseInt(_0x21d761(0x101)) / 0xc * (-parseInt(_0x21d761(0x110)) / 0xd);
                if (_0x5db276 === _0x53a189) break;
                else _0x215dc9['push'](_0x215dc9['shift']())
            } catch (_0x1ceac6) {
                _0x215dc9['push'](_0x215dc9['shift']())
            }
        }
    }(_0x484e, 0x602bd));
    var _$_d181 = [_0x225ac5(0x112), _0x225ac5(0x114), 'forEach', _0x225ac5(0x102), _0x225ac5(0x10e), 'setMusicVolume', _0x225ac5(0x103), 'setSoundVolume', _0x225ac5(0x109), _0x225ac5(0x107), _0x225ac5(0x111), 'DialogManager'];
    
    function muteMedia(_0x2c5074) {
        _0x2c5074[_$_d181[0x0]] = !![], _0x2c5074[_$_d181[0x1]]()
    }
    
    function mutePageMedia() {
        document[_$_d181[0x4]](_$_d181[0x3])[_$_d181[0x2]](_0x181f2a => {
            return muteMedia(_0x181f2a)
        })
    }
    
    function _0x484e() {
        var _0x2277b4 = ['pause', '1841bupQJr', '1463244jlRnjn', 'video, audio', 'SoundManager', '7150yaDhrN', '4YptQSm', '302jBoPrk', '_mainDlgs', '1577490CYDCQW', 'buyAuto', '1159445mEuzmn', '30sfQSkF', '398776gggCvH', '261zTciOl', 'querySelectorAll', '92176gOWIYG', '13YWZNlF', '_instance', 'muted', '8660XjUZgW'];
        _0x484e = function () {
            return _0x2277b4
        };
        return _0x484e()
    }
    mutePageMedia();
    
    function wait(_0x5db71f) {
        return new Promise(_0x250182 => {
            return setTimeout(_0x250182, _0x5db71f)
        })
    }
    
    function _0x3b87(_0x4ea049, _0x3f6347) {
        var _0x484eaf = _0x484e();
        return _0x3b87 = function (_0x3b87f9, _0x5cdb65) {
            _0x3b87f9 = _0x3b87f9 - 0x101;
            var _0x1d0f03 = _0x484eaf[_0x3b87f9];
            return _0x1d0f03
        }, _0x3b87(_0x4ea049, _0x3f6347)
    }
    async function mainLoop() {
        Laya[_$_d181[0x6]][_$_d181[0x5]](0x0), Laya[_$_d181[0x6]][_$_d181[0x7]](0x0), await wait(0x3e8), window[_$_d181[0xb]][_$_d181[0xa]][_$_d181[0x9]][0x0][_$_d181[0x8]]()
    }
    mainLoop();


    Осталось открыть в IDE и провести рефакторинг, переименовав функции и переменные, и дав им адекватные имена.
    Ответ написан
    6 комментариев
  • Как преобразовать число вида 20240617114532 в дату-время?

    @SunTechnik
    Вам должно быть виднее, что там за формат времени у Вас, но, на первый взгляд, это выглядит как объединение без пробелов:
    Год месяц число часы минуты секунды.
    Соответственно Ваш запрос легко превращается в интервал (или два условия больше - меньше)
    Ответ написан
    1 комментарий
  • Большое кол-во записей в секунду в MySQL. Как читать последний порядковый номер столбца и добавлять к нему +1 при записи?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Какой-то бред.
    1. Составной ключ по автоинкрементному полю и обычному смысла не имеет, поскольку автоинкрементное поле id всегда уникально, то добавление к нем sessid ничего, кроме торможения, не добавит.
    2. Делать какую-то отдельную проверку на уникальность result внутри sessid смысла не имеет. Достаточно сделать уникальный составной ключ (sessid, result) и использовать INSERT IGNORE.
    3. Отдельное поле serialnumb абсолютно не нужно. Выборку всегда можно отсортировать через ORDER BY id и пронумеровать через оконные функции.
    Ответ написан
    5 комментариев
  • Как сделать чтобы при прокрутке нав меню прилипало к верхнему краю экрана?

    @karminski
    Senior React.JS Developer
    Вообще-то прилипание гораздо проще сделать стандартным свойством CSS
    https://developer.mozilla.org/en-US/docs/Web/CSS/p...
    И не выдумывать велосипед
    Ответ написан
    Комментировать
  • Как узнать, сколько дней осталось до Нового Года?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    echo (new DateTimeImmutable('first day of January next year'))
        ->diff(new DateTimeImmutable())
        ->format('Осталось дней: %a');
    // Осталось дней: 151
    Ответ написан
    2 комментария
  • Выбор программы или ЯП для создания приложения по обработке данных?

    Делать это всё на чистом экселе - умрёшь.

    Это очень пахнет отраслевым решением - такие редко делают бесплатные.
    Скорее всего какое-то специализированное решение для ресторанов уже имеет функции для работы с технологическими картами и складом (r_keeper и подобное, например)
    В ту же сторону - 1С, тем более что в этом соцучреждении уже наверняка 1С где-то используется.
    Ответ написан
    Комментировать
  • Как отловить событие нажатия - комбинация клавиш?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Распечатайте событие keydown в консоли. Вы там увидите помимо кода клавиши ещё поля shiftKey, ctrlKey имеющие булево значение, которые отображают, нажата ли соответствующая клавиша.
    Ответ написан
    Комментировать
  • При обновлении страницы данные отправляются бесконечно раз в бд?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Чтобы этого не происходило, нужно после успешного добавления куда-то редиректить пользователя (это может быть даже та же страница). Тогда браузер «забудет» введённые данные и можно будет обновлять страницу без вреда.
    Ответ написан
    Комментировать
  • Curl смог, а злосчастный fetch (firefox) не может?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    no-cors это вообще из другой оперы. Эта опция позволяет выполнить только простой запрос (HEAD, GET, POST) с ограниченным набором заголовков (Accept, Accept-Language, Content-Language, Content-Type и Range), но не даёт JS доступа к свойствам Response, то есть телу и заголовкам ответа.

    Сама политика CORS контролируется браузером и не даёт делать cross-origin запросы, если сервер, к которому сделан запрос, не возвращает явного разрешения на это в заголовках ответа. Для обхода надо делать запрос через свой бэкенд, который выполняет в этом случае роль прокси для внешнего ресурса.
    Ответ написан
    Комментировать
  • Раздражает ли авторизация тех, кто следит заходит на мой Pet-проект?

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

    @Refguser
    Решения для бизнеса: корп.сайты, ИМ, боты и пр.
    хотелось бы частично повторить его под свои услуги.

    Чтобы "частично повторить его под свои услуги" совершено не нужно знать "на каком движке сайт".
    Нужны специалисты, которые реализуют необходимый функционал.
    А на чём они его реализуют - это решать специалистам.

    Вопрос по этому сайту.

    На этом сайте нет ничего сверхъестественного. Сделать такое можно на чём угодно.

    А что касается его движка там прямо на главной самоуверенно написано
    ojY9aAs.jpeg
    (что весьма спорно и вообще не компетентно)
    Ответ написан
    7 комментариев
  • Ошибка Caused by: Exception 'PDOException' with message 'could not find driver'?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Нужно в контейнер установить и/или включить расширения pdo-pgsql и pgsql. Ну и не забыть, что у FPM и CLI режимов в PHP разные php.ini используются - включать нужно в правильном.
    Ответ написан
    1 комментарий
  • Как увеличить производительность проекта на python?

    все упирается в бд, на ум сразу пришло вынести эту часть в микросервис
    Какой ещё микросервис? Микросервис, который делает что?

    В-нулевых, нужно конкретизировать что значит "упирается в БД". Тормозят какие-то конкретные запросы? СУБД не хватает ресурсов? Слишком медленный диск? Или, может, под "упирается в БД" вы понимаете всю бизнес-логику приложения, которую вы называете "берет из бд нужные данные" (и тогда становится понятно про микросервис)?
    Во-первых, нужно вынести СУБД на отдельную машину, желательно на голое железо (если речь про реальный хайлоад, а не про кривой код и конфиги).
    В-третьих, под это железо нужно СУБД корректно сконфигурировать.
    В-четвёртых, нужно добавить кэширование.
    В-пятых, нужно проверить алгоритмы и пофиксить узкие места (на последнем месте, потому что это самое трудоёмкое).

    Я понимаю, что python и django не самые быстрые инструменты (мягко скажем)
    Я вас уверяю, что проблема в вашей компетенции (мягко скажем), а не в инструментах. Есть достаточно проектов, написанных на Джанго, которые вывозят большие нагрузки.
    Вы, в принципе, правильно сделали, что попытались поначалу закидать проблему железом - оно обычно дешевле, чем время разработчиков. Но параллельно надо и оптимизацией заниматься, и это требует системности, которой в вопросе не очень-то видно. Ну и компетенций разных - если тормозят алгоритмы - это одно, если конкретные SQL-запросы - это другое, если СУБД задыхается в принципе - это третье.
    Ответ написан
    5 комментариев
  • Почему возникает Ошибка синтаксического анализа XML в браузере firefox?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Между фактами
    Как видно, на первой позиции в первой строке находится {

    и
    Ошибка синтаксического анализа XML

    есть противоречие. То ли речь идет про XML, то ли про JSON. Надо определиться. Вполне вероятно, что у вас сервер левые заголовки отдает и браузер думает, что там XML, а на самом деле там JSON. Отсюда и ошибка.
    Ответ написан
    Комментировать
  • Стоит ли хранить изображения base64 в БД?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Стоит ли хранить изображения base64 в БД?

    нет

    composer require symfony/dom-crawler

    use Symfony\Component\DomCrawler\Crawler;
    use Illuminate\Support\Facades\Storage;
    use Illuminate\Http\File;
    
    $desc = $request->input('some_html'); // POST with html
    $dom_desc = new Crawler($desc);
    $images = $dom_desc->filterXPath('//img')->extract(array('src')); // extract images
     
    foreach ($images as $key => $value) {
        if (strpos($value, 'base64') !== false) { // leave alone not base64 images
            $data = explode(',', $value); // split image mime and body
            $tmp_file = tempnam('/tmp', 'items'); // create tmp file path
            file_put_contents($tmp_file, base64_decode($data[1])); // fill temp file with image
            $path = Storage::putFile('public/items', new File($tmp_file)); // put file to final destination
            $desc = str_replace($value, $path, $desc); // replace src of converted file to fs path
            unlink($tmp_file); // delete temp file
        }
    }
    Ответ написан
    1 комментарий
  • Почему связи в таблице работают неправильно?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Господи, изучите сначала теорию о работе с базами данных, перед тем как задавать такие вопросы, потому что это просто смешно уже...

    Во первых, если вам нужно установить связь между этим
    public List<CodeSnippet> LikedCodeSnippets { get; set; } = new List<CodeSnippet>();


    И этим
    public List<User> UsersWhoLiked { get; set; } = new List<User>();


    Вам нужна дополнительная таблица. Почему? Потому что тут связь много-ко-многим. Вот она:
    public sealed class UserCodes
    {
        public int UserId { get; set; }
        public User User { get; set; }
    
        public int CodeId { get; set; }
        public CodeSnippet Code { get; set; }
    }


    Через эту таблицу далее конфигурируете связь много-ко-многим

    Что значит эта запись?
    public User User { get; set; } = null!;

    В чём смысл говорить, что она null и ставить ! как обозначение того, что она not null?
    Ответ написан
    2 комментария
  • Как работает аутентификация Laravel Sanctum и что лучше JWT или Sanctum?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Санктум - это готовый пакет аутентификации на основе тех же токенов.
    Ответ написан
    Комментировать
  • Как отправить данные в формате multipart/form-data через curl?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    curl сам добавить заголовок
    Передача массива в параметр CURLOPT_POSTFIELDS закодирует данные с типом multipart/form-data, тогда как передача URL-кодированной строки закодирует данные с типом application/x-www-form-urlencoded.
    Ответ написан
    Комментировать
  • Какие азы нужно знать перед тем как начать изучать программирование?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Азы такие.

    1. Уметь читать, желательно еще и писать. А еще если в идеале набирать на клавиатуре не одним пальцем.

    2. Уметь читать и понимать написанное. Как этому научиться - не очень ясно, это в глубинах психологии и воспитания.

    3. Круто знать английский на "техническом уровне", то есть самый простой уровень английского, школьный подойдет. Потому что очень много документации на английском, которая и читается легче и понятнее, и найти проще.

    4. Много практики. Видяшки и чтение дают теорию, которая мгновенно забывается, если нет практики. Лучше на практике делать как-нибудь, чтобы работало, потом читать книжки и понимать где ты делал не так, но ты уже будешь понимать почему, так как была практика. Это самый важный пункт из всех. Без практики - ничего не получится. Пишешь любые программы, которые приходят в голову. Вывести текст на экран, сделать крестики нолики, усложнить, делать именно маленькие программки для себя. САМЫЙ ВАЖНЫЙ ПУНКТ.

    5. Быть любопытным. Периодически интересоваться как это работает под капотом хотя бы поверхностно, интересоваться терминологией и вкратце историей появления термина. Развивает интуицию и базу.
    Ответ написан
    2 комментария
  • Как автоматически подставлять значение в value?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Начинающие очень часто делают глупости. И записывать в базе данных количество строк в ней - одна из них.
    Точно так же, как вы сейчас получаете количество через SELECT COUNT(*), это можно будет сделать в любой момент времени потом. И ничего никуда подставлять не надо.

    Плюс $table_name выглядит еще одной глупостью. Имя таблицы не должно быть динамическим.
    Ответ написан
    9 комментариев