Задать вопрос
  • MySQL JSON_OBJECT Приводит значение к строковому типу, возможно ли это как то обойти?

    @SanekIrk Автор вопроса
    Смог добиться нужного результата путём оборачивания строки (или любой другой не json тип) в кавычки, а потом конвертируя результат в json. Теперь весь `CASE WHEN` стал возвращать json:
    SELECT
        JSON_OBJECT(
            1,
            (
                CASE 'one'
                    WHEN 'one' THEN JSON_ARRAY(1, 2)
                    WHEN 'two' THEN CONVERT(JSON_QUOTE('1'), JSON)
                END
            )
        );

    По скорости выполнения запроса сильных просадок не заметил.
    Ответ написан
    Комментировать
  • Не удается подключить сервер к консоли администрирования 1С. В чем может быть проблема?

    hint000
    @hint000
    у админа три руки
    1С и консоль администрирования 1С на данном сервере не установлены.
    А вы пытаетесь подключиться именно к серверу 1С, который и не установлен.
    Потребовалось подключить базы, расположенные на другом сервере под управлением Win 2019 с SQL 2019 (№2).
    У вас два варианта.
    (1) Таки установить 1С сервер на Win 2019. Но он потребует лицензию (именно для сервера 1С). Но работать будет быстро.
    (2) Добавить информационную базу 1С на Win 2008 R2, указав в параметрах имя или адрес Win 2019 и имя БД. Поскольку сервер 1С и сервер SQL разнесены на разные хосты, то работать будет несколько медленнее. Зато не потребуется дополнительной лицензии на сервер 1С.

    Клиент подключается именно к серверу 1С, т.е. в первом случае к Win 2019, а во втором к Win 2008 R2, и клиенту не важно (он не знает) где на самом деле находится БД в SQL.

    P.S. При любом из двух вариантов вам не требуется явно (руками) указывать порт, ПО само знает, какие порты используются по умолчанию. Такое прописывание руками только ещё больше запутывает вас насчёт того, к чему же на самом деле вы пытаетесь подключиться.
    Ответ написан
    1 комментарий
  • Сетевая карта ПК переключается в 100mb/s. Как исправить?

    xez
    @xez
    TL Junior Roo
    Заменить провод и/или заменить роутер.
    Ответ написан
    6 комментариев
  • Не получается сделать REDIRECT порта для всех IP кроме определнных. Что я не понимаю?

    @dronmaxman
    VoIP Administrator
    # Разрешаем "исключения" без редиректа
    iptables -t nat -A PREROUTING -p tcp -s 109.194.11.11 --dport 443 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -s 178.218.22.22 --dport 443 -j ACCEPT
    
    # Всё остальное перенаправляем на 4433
    iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 4433
    Ответ написан
    Комментировать
  • Как сделать экранирование символов в Python для SQL запроса?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не нужно ничего экранировать. Нужно использовать параметризованные запросы с плейсхолдерами.
    Ответ написан
    6 комментариев
  • После переезда на новый хостинг перестал работать сайт?

    Adamos
    @Adamos
    Старый сайт вдруг сломался при переезде с хостинга на свой сервер?
    Скорее всего - настроенный по дефолту php.ini с выключенным short_open_tag.
    Ответ написан
    3 комментария
  • Как реализовать библиотеку классов на JavaScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Правильнее так:

    Type.js
    class Type
    {
        isArray() {}
    }
    
    export default Type

    Dialog.js
    class Dialog 
    {
        show() {}
    }
    
    export default Dialog

    CRM.js
    import Type from './Type.js'
    import Dialog from './Dialog.js'
    
    export { Type, Dialog }

    И далее исходный код скармливается сборщикам типа babel, gulp, rollup и прочим. И вот то, что вы привели - результат работы с кодом этих сборщиков для совместимости со старыми браузерами. Для ноды само собой сборщики не используются - там они не нужны. Простой пример реализации библиотеки для ноды/браузера с использованием сборщиков rollup и babel: @voidvolker/enum.
    Ответ написан
    1 комментарий
  • Как открыть скомпилированный Vue проект локально?

    dlnsk
    @dlnsk Автор вопроса
    ПК Партнер 01.01 -> ПК Поиск -> IBM PC
    Решил внедрением всего и вся в итоговый html с помощью:
    https://www.npmjs.com/package/vite-plugin-singlefile
    Ответ написан
    Комментировать
  • Почему нет доступа к exposed параметру из скрипта?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Компонент VImg после монтирования запускает свой асинхронный процесс подгрузки изображения (событие loadstart). По завершению загрузки выдаётся событие load, при ошибке событие error. После load становятся доступными параметры изображения (naturalWidth, naturalHeight, currentSrc).
    Привязывайтесь к этим событиям, чтобы точно получить нужные данные.
    Ответ написан
    1 комментарий
  • Как заставить typescript поверить, что в объекте есть свойство?

    modelair
    @modelair
    unsocial
    есть такая штука - typeguard. он сообщает ts'у, что этот объект определенного типа, который указан после is. вот простенький, дальше разберешься, думаю.

    function isData(data: any): data is { id: number | string } {
      return data.id !== undefined
    }
    Ответ написан
  • Как заставить typescript поверить, что в объекте есть свойство?

    WblCHA
    @WblCHA
    Тебе надо юнион здесь и тогда тс поймёт, что дата может быть только одного типа после проверки.
    export async function upsert(
      path: string,
      data: { id?: never } | { id: number | string }
    ) {
      if (data.id !== undefined) {
        return update(path, data)
      } else {
        return create(path, data)
      }
    }

    Но даже это не до конца верно, потому что у тебя передаваемый объект полностью должен быть типизирован и тогда получаем что-то в этом роде:
    interface SomeDataCreate {
      name: string
    }
    
    interface SomeDataUpdate {
      id: number | string
      name: string
    }
    
    export async function upsert(
      path: string,
      data: SomeDataCreate | SomeDataUpdate
    ) {
      if ("id" in data) {
        return update(path, data)
      } else {
        return create(path, data)
      }
    }
    Ответ написан
    1 комментарий
  • Как работать с минифицированным JS?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Никак. С кодом после минификации не надо никак работать. Минифицированный код предназначен для доставки его по сети максимально быстро на клиент. Для изменения кода вам следует вносить изменения в исходный код и уже только потом его минифицировать, а не наоборот. Если исходного кода нет - то пропускаете через любой деобфускатор и вручную восстанавливаете исходный код. Ну или пишете сами с нуля то же самое.
    Ответ написан
    2 комментария
  • Как изменить букву диска в линукс?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Обращайтесь к дискам по uuid, или по id, там в /dev/disk/by-* симлинки прописаны.
    Ответ написан
    6 комментариев
  • Куда исчезают записи в базе данных mariadb, innodb?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    Никуда.
    Вы смотрите на, по своему определению, приблизительное значение. 700к или 900к - значения одного порядка, допустимая флуктуация для статистики планировщика.

    об этом раньше было отдельная сноска в интерфейсе phpmyadmin, не знаю как сейчас. Никто не пересчитывает всю таблицу, чтобы узнать, 895342 там записей или 902542 записей.
    Ответ написан
    Комментировать
  • Как называется такая вложенность в php?

    Это называется PHP. Потому как PHP изначально создавался как сам себе шаблонизатор HTML. Именно поэтому в коде присутствуют открывающие и закрывающие конструкции "<?php" и "?>"

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

    <?php if ($isSent): ?>
    
        <p>Email sent successfully!</p>
    
    <?php else: ?>
    
    <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
        <label for="subject">Тема письма : </label> <br>
        <input type="text" name="subject" size="30"> <br>
    
        <label for="elvismail">Содержание письма : </label> <br>
        <textarea name="elvismail" id="" cols="30" rows="10"></textarea> <br>
    
        <input type="submit" name="submit">
    </form>
    
    <?php endif; ?>


    Погуглите "php endif endfor"
    https://www.php.net/manual/en/control-structures.a...
    Ответ написан
    4 комментария
  • Как разместить сам flex-контейнер (котором есть перенос по рядам) по центру?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы бы лучше вместо картинок сделали пример на том же JSFiddle или CodePen.
    А так, в общем случае
    div.operation-selector {
      width: 860px;
      margin: auto;
    }
    Ответ написан
    Комментировать
  • Почему не срабатывает удаление класса?

    dmitryfx
    @dmitryfx
    1) нет такого метода getElementbyId, есть getElementById
    2) Если не обернуть скрипт в window.addEventListener( 'load', () => { //script }); то на этапе выполнения скрипта getElementById вернут null, т.к. эти дом-элементы еще не созданы.

    Учитесь пользоваться devtools и средой разработки, вроде VS Code с плагинами, они вам не дадут ошибаться в названиях методов (метод querySelectorALL тоже не существует)
    Ответ написан
    Комментировать
  • Какую кодировку выбрать для немецкого языка?

    @artem-dainov
    Php, java, js. Boot spring, jquery, git
    Для немецкого я всегда ставлю utf8mb4_unicode_ci
    Работает просто отлично.
    А кодировка utf8mb4.
    Но вы скорее всего будете выбирать тип сортировки, если через phpmyadmin.
    Если руками будете таблицы создавать, то надо прописать типо
    CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
    А когда будете создавать таблицу, то примерно так.
    CREATE TABLE example (
      id INT PRIMARY KEY,
      name VARCHAR(255)
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    Ответ написан
    2 комментария
  • Как закодировать изображения в base64 через методы btoa и atob?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Тут вам не нужны методы btoa и atob. В вашем коде есть место где можно получить base64 вашего изображения:
    const reader = new FileReader();
    
      reader.onload = (e) => {
        formPreview.innerHTML = `<img src="${e.target.result}" alt="Обложка книги">`
    // 
        const base64String = reader.result;
        console.log(base64String); // Вывод base64-строки, можно сохранить ее в LS
      };
      reader.onerror = (e) => alert('Ошибка!');
      reader.readAsDataURL(file);
    }

    А обратно кодировать ее в бинарный формат не нужно. Если присвоить атрибуту src изображения эту строку (base64String) - то картинка отобразится в html-документе
    imgPreview.src = base64String;     // показываем изображение, imgPreview - id тега с img
    Ответ написан
    Комментировать