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

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Никак, вы чего-то очень странного хотите. Квадратные скобки используются для работы с объектом (получение или изменение значений его свойств), через них никак нельзя изменить значение переменной, которую вы в скобках используете.
    Если вы хотите получить «50», то это делается так: info['10']['5'][propName]
    Ответ написан
  • Как залить на composer новый fork git проекта?

    Loading a package from a VCS repository
    There are a few use cases for this. The most common one is maintaining your own fork of a third party library. If you are using a certain library for your project, and you decide to change something in the library, you will want your project to use the patched version. If the library is on GitHub (this is the case most of the time), you can fork it there and push your changes to your fork. After that you update the project's composer.json. All you have to do is add your fork as a repository and update the version constraint to point to your custom branch. In composer.json only, you should prefix your custom branch name with "dev-" (without making it part of the actual branch name). For version constraint naming conventions see Libraries for more information.

    Example assuming you patched monolog to fix a bug in the bugfix branch:
    {
        "repositories": [
            {
                "type": "vcs",
                "url": "https://github.com/igorw/monolog"
            }
        ],
        "require": {
            "monolog/monolog": "dev-bugfix"
        }
    }
    https://getcomposer.org/doc/05-repositories.md#loa...

    как залить на composer
    Если вы под этим понимаете Packagist, то инструкция находится прямо на главной странице:
    Define Your Package
    Put a file named composer.json at the root of your package's repository, containing this information:
    {
        "name": "your-vendor-name/package-name",
        "description": "A short description of what your package does",
        "require": {
            "php": ">=8.2",
            "another-vendor/package": "1.*"
        }
    }

    This is the strictly minimal information you have to give.

    For more details about package naming and the fields you can use to document your package better, see the about page.

    Validate The File
    Run composer validate to check that your file has no syntax errors.

    Commit The File
    Add the composer.json to your git or other VCS repository and commit it.

    Publish It
    Log in or register on this site, then hit the submit button in the menu.

    Once you entered your public repository URL in there, your package will be automatically crawled periodically. You just have to make sure you keep the composer.json file up to date.
    Ответ написан
    Комментировать
  • Почему консоль выводит это значение?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Вы пытаетесь в качестве имени свойства использовать объект, а JS разрешает там только строки.
    Объект приводится к строке и ваш код превращается в итоге вот в это:
    dwayne['[object Object]'] = 123;
    dwayne['[object Object]'] = 456;
    
    console.log(dwayne['[object Object]']);

    Думаю, тут уже понятно, почему результат именно такой.

    При этом, если бы вы использовали другой синтаксис, то и результат был бы другим:
    dwayne.daniel = 123; // аналог dwayne['daniel']
    dwayne.jason = 456; // аналог dwayne['jason']
    
    console.log(dwayne.daniel);

    Но эти daniel и jason никак не связаны с одноимёнными объектами выше.
    Ответ написан
    1 комментарий
  • Не работает метод querySelectorAll, как исправить?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Метод querySelectorAll возвращает коллекцию элементов и у неё нет свойства onclick, метода addEventListener и т.п.
    По коллекции нужно итерировать и назначать обработчик события для каждого элемента в отдельности.
    Как это сделать, написано в каждом первом учебнике JavaScript.
    Ответ написан
    Комментировать
  • Как в composer в autoload добавить свою директорию?

    autoload
    Autoload mapping for a PHP autoloader.

    PSR-4 and PSR-0 autoloading, classmap generation and files includes are supported.

    PSR-4 is the recommended way since it offers greater ease of use (no need to regenerate the autoloader when you add classes).

    https://getcomposer.org/doc/04-schema.md#autoload
    Ответ написан
    Комментировать
  • Зачем комментарии на сайте оборачивать в тег article?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега HTML
    его рекомендуют оборачивать тегом article
    Тут нужно дать ссылку на эту рекомендацию, чтобы мы могли её оценить не на уровне "Рабинович по телефону напел".

    его можно использовать в любом другом месте, а как использовать комментарий на другом сайте
    Когда говорят об использовании "в любом месте", подразумевают "любое место данного сайта". И в рамках сайта комментарий действительно может быть оторван от условного рецепта: например, в профиле пользователя может выводиться список всех его комментариев (как здесь) или в сайдбаре может выводиться список всех последних комментариев (как на vc.ru).

    На самом деле все эти семантические теги, введённые в HTML5, не оказывают абсолютно никакого влияния ни на что (за исключением небольшого количества функциональных тегов, которые упрощают доступность), так что вы можете не заморачиваться слишком сильно. Это не говоря про то, что семантика этих тегов жёстко привязана к конкретному сайту - то, что будет логично на одном, будет бредом на другом. Универсальных правил использования семантических тегов нет, есть рекомендации, которые вы вольны игнорировать.

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

    TLDR: Не хотите - не оборачивайте, не случится ровным счётом ничего. Это всего лишь рекомендация и примеры в них для семантических тегов иногда притянуты за уши, потому что эти теги в большинстве своём не решали какие-то реальные проблемы, а были введены для красоты, которая у каждого своя.
    Ответ написан
    7 комментариев
  • Как исправить ошибку при переходе на php 8.2 Битрикс?

    Любые подобные ошибки совместимости в ядре решаются только обновлением Битрикса.

    Ну а так, для общего развития: там явно баг и передаётся не та переменная:
    - $context = stream_context_create($query);
    + $context = stream_context_create($query_options);
    Ответ написан
  • Является ли это корректной записью?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Не является. Массив используется на хранения списка значений, в нём нет никаких "имён".
    Значения с "именами" можно хранить либо в объекте, либо в специальном типе Map.

    Но при этом, если речь про значения примитивных типов, то при их добавлении в объект или Map теряется связь с изначальной переменной, откуда значение было взято.

    let a = 3;
    let b = 15;
    
    let one = {};
    
    one.a = a;
    one.b = b;
    
    a = 42;
    
    console.log(one.a, one.b); // 3, 15
    console.log(a, b); // 42, 15


    let a = 3;
    let b = 15;
    
    let two = new Map();
    
    two.set('a', a);
    two.set('b', b);
    
    a = 42;
    
    console.log(two.get('a'), two.get('b')); // 3, 15
    console.log(a, b); // 42, 15
    Ответ написан
    Комментировать
  • Как убрать точки при direction: rtl?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    text align стоит
    У вас точки кривые из-за direction, так зачем же вы пытаетесь их поправить через text-align? Надо direction и костылить у параграфов обратно на правильный.
    .our .container .list .item > p {
        direction: ltr;
    }


    Это без учёта того, что это всё надо переделывать без использования direction вообще.
    Ответ написан
    1 комментарий
  • Значения переменных записались неправильно. Как исправить?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Вам нужно вернуться к учебнику и научиться понимать код на базовом уровне, иначе вы с каждой строчкой сюда бегать будете.
    В функции onSubmit вы вызываете addReservationAsync с двумя аргументами: requestServer и объект с кучей полей. А addReservationAsync ожидает 6 аргументов (то есть не объект, а каждое значение отдельно).
    Ответ написан
    Комментировать
  • Функция не видит переменные. Почему так происходит?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Вы указали аргумент функции и таким образом перезаписали переменные из скоупа выше. Нужно так:
    const onSubmit = () => {
    	console.log("rc", userId, roomId, options, arrivalDate, leavingDate);
    	dispatch(
    		addReservationAsync(requestServer, {
    			userId,
    			roomId,
    			options,
    			arrivalDate,
    			leavingDate,
    		}),
    	);
    	setNewReservation("");
    };
    Ответ написан
    Комментировать
  • Как исправить ошибку с получением и проверкой данных?

    Блок проверки пароля нужно сдвинуть на два таба вправо, внутрь первого if.
    Ответ написан
  • Корректно ли создавать юзеров с подобными именами?

    Гарантии, что такие имена не вызовут проблем, вам никто не даст.
    Хотите - делайте, но это пустая трата времени. Для защиты сервера есть нормальные проверенные инструменты, их и нужно изучать и использовать. А выдумывая какие-то спецсимволы в именах, перенося ssh на другой порт и скрывая, что у вас используется Nginx, вы создаёте для себя иллюзию безопасности, ничего значительного не добавляя к безопасности реальной.
    Ответ написан
    6 комментариев
  • Как можно узнать количество посещений страницы, если на нее забыли установить метрику?

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

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Есть — примерно все остальные хостинги на свете.
    Ответ написан
  • Помощь с OpenGL?

    bubbleY[numBubbles] = 100; // Начальная координата Y - дно кастрюли
    Ну, вроде, очевидно, что проблема здесь. Вы уверены, что 100 — это реально дно кастрюли? По другим числам, используемым при отрисовке кастрюли и воды, не похоже на это.

    int bubbleX[10]; // Массив для хранения координат X пузырьков
    int bubbleY[10]; // Массив для хранения координат Y пузырьков
    ...
    if (numBubbles < 15)
    И массивы неправильного размера создаются.
    Ответ написан
    Комментировать
  • Как настроить вывод разделов каталога?

    Есть мысль сделать дополнительное поле для разделов, в котором указывать, например, "блок1", "Блок2", "не показывать", и в шаблоне компонента catalog.section.list делать проверку, находимся ли на главной каталога и если да, то группировать по этому признаку и выводить, если нет, то просто выводить.
    Выглядит вполне адекватно. Ну, разве что вариант "не показывать" можно и не делать, просто пустое значение так трактовать.
    Ответ написан
    Комментировать
  • Как выполнить проверку в if если параметры равняются null или number?

    Из вопроса мало что понятно, но в том виде, в котором понял я, будет выглядеть примерно так:
    function between(carYear: number, to: number | null, before: number | null): boolean {
      if (to === null) {
        to = 2000;
      }
    
      if (before === null) {
        before = 2023;
      }
    
      return to <= carYear && carYear < before;
    }
    Ответ написан
    Комментировать