• Как в скрипте указать class с любой цифрой на конце?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Можно сделать выборку по классам:
    let items = document.querySelectorAll("[class^='filter-block']")
    let items.forEeach(item => {
        // ...
    });


    [class^='filter-block'] означает, что вы будете делать выборку по всем элементам, у которых значение указанного аттрибута (В нашем случае, мы указали аттрибут class) будет начинаться (Это делается при помощи такой конструкции как ^= ) с указанного значения (Мы указали filter-block), после которого могут следовать другие символы (Т.е. filter-block2, filter-block-filter-block-filter-block, filter-block-123, filter-blockkkkkkkkkkkkkkkkk и так далее, это всё будет проходить через выборку, т.к. имеет общее начало filter-block)
    Ответ написан
  • Можно ли как-то получить доступ к отображающим элементам ToolBar?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вы можете локально сохранять значения на клиенте, это не запрещено. На крайний случай, можете где-то в .тхт файл сохранить. И потом оттуда брать значения.

    Я вас понимаю в плане, почему вы это не сделал раньше, но правило стейтлесс относится больше к серверной части, на клиенте это вполне реализуемо
    Ответ написан
  • Как решить проблему "не найдены ссылочные сборки для NETCoreApp,Version=v6.0"?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Открывайте Visual Studio Installer над нашем ПК.
    65d70f7e00608775873243.png

    Далее нажимаете кнопку Изменить
    65d70fbd7f12d068259364.png

    На вкладке Дополнительные компоненты вводим в поиск .NET 6 и выбираем пункт .NET 6 Runtime
    65d710305cf52760206233.png

    Устанавливаем (У меня минус, что бы показать изменение размера и отображение кнопки)
    65d7106a0d7a9895031401.png
    Ответ написан
    Комментировать
  • Почему при навигации между компонентами в Blazor не погружается JS код?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    В blazor использовать кастомные JS скрипты немного сложнее чем вы думаете. Там нужно использовать такую штуку как JSRuntime. А вообще советую прочитать эту статью про JS Interop
    Ответ написан
    Комментировать
  • Почему при установке Sequelize, не устанавливается pgAdmin?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Попробуйте поставить напрямую из официального сайта через installer
    Ответ написан
    Комментировать
  • React. Нормальная ли практика выносить картинки за пределы src в папку public?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Это не то что бы нормальная практика, это стандарт. Почему? Потому что (Согласно документации) элементы, которые доступны в папке public являются общедоступными, а тут я что-то сомневаюсь, что фотографии у вас являются часть бизнес-логики)
    Ответ написан
    Комментировать
  • Почему required проперти не могут иметь более ограничиващий модификатор set\init, чем модиикатор класса, их содержащего?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Обязательные элементы должны быть не менее видимыми, чем содержащие их типы

    Что значит обязательные? У вас в примере есть это:
    public required DDD Dddd { get; internal init; }

    Что это значит? Допустим, у вас класс public class QQQ, а внутри него есть обязательное поле Dddd. Допустим, вы хотите создать объект этого типа из другого проекта. Как вы это сделаете? Ответ - НИКАК.

    Почему? Потому что систему будет требовать инициализировать поле Dddd, но вы его не видете, т.к. оно internal. На этом моменте у вас просто отвалится вся логика программы та и всей платформы .NET. По этому такие вещи просто запрещены

    Почему этот кусок будет работать?
    internal class QQQ
    {
    
        public required DDD Dddd { get; internal init; }
    }


    Потому что в любом месте видимости класса QQQ вы сможете инициализировать обязательное поле, которое имеет бо'льшую область видимости

    Вот тут отличная документация по модификаторам доступа, а вот тут видео об области видимости
    Ответ написан
    4 комментария
  • Как сделать, чтобы yandex maps не выходил за пределы div?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Скорее всего внутренние элементы имеют ширину больше, чем 100%-я ширина блока. Смотрите в инспекторе
    Ответ написан
    1 комментарий
  • Как создать скрытый input для передачи технической информации на другую страницу?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Тип hidden не подходит, потому что его можно редактировать? А что из html вы вообще можете НЕ редактировать?

    Вам тут стоит понять одну очень важную штуку: html/css/js образуют client side. Вы должны понимать, почему это называется вообще "Клиентом"? Потому что эта вся информация полностью загружается на клиента и он имеет к ней доступ.

    По этому существует server side - часть программной системы, к какой конечный пользователь не имеет доступа, в отличии от клиентской части.

    Цель сервера - обрабатывать запросы с клиента. Первое, что делает сервер с данными, которые ему отправил клиент - ВАЛИДИРУЕТ. Соответственно, если данные не валидны - запрос разворачивается обратно на клиента и отдаёт ему какую-то ошибку

    Это всё так, к слову. Вам важно понять, что клиент может редактироваться, вы никак не сможете этого избежать. Но этого не стоит бояться, т.к. то, за что вы переживаете должно обрабатываться на сервере.

    Client side должен обрабатывать данные перед отправкой на сервер (Но сервер обязан их повторно валидовать) и после получения данных от сервера для наилучшего представления ИХ конечному пользователю

    UPD: для справки. Вы можете полностью редактировать html в режиме реального времени, но он не будет сохранён для всех пользователей, а только для вас, т.к. эта часть загружается только два вас как для конечного пользователя. Сам html хранится на сервере и является результатом работы сервера. Эту часть html, что вы видите в браузере вы можете редактировать.

    Вы можете динамически подключать стили или их удалять. Можете менять скрипты, удалять их из сайта (Тогда отправка вообще работать не будет и, соответсвенно, отключится весь функционал, за который отвечаел скрипт) или добавить новые скрипты. А можете вообще написать свой скрипт прямо в консоли браузера и он будет работать.

    Проблема в том, что даже после элементарной перезагрузки страницы (Через Ctrl + R или другими способами) это всё будет утеряно и вам загрузится тот самый html/css/js, который является результатом рабыты сервера того сайта, который вы просматриваете
    Ответ написан
    1 комментарий
  • Как предотвратить бесконечную загрузку страницы при отправке post запроса?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ну... Вот структура ajax скрипта для post запроса (Только вам нужно сначала ещё подключить jQuery, потому что ajax является частью библиотеки jQuery):

    let data = { prop: value }
    let jsonData = JSON.stringify(data)
    
    $.ajax({
         url: 'https://domain.com/route/to/endpoint/',
         method: 'post',
         data: jsonData,
         dataType: 'json',
         contentType: 'application/json; charset=utf-8',
         success: (response) = { console.log(response) }, // catch Ok
         error: (response) => { console.log(response) } // catch other (BadRequest, NotFound e.t.c)
    })


    Этот скрипт будет выполняться асинхронно и пользователю не придётся ждать его завершения, а когда запрос будет выполнен, вы сможете его обработать в блоках success и error
    Ответ написан
    3 комментария
  • Не работает метод querySelectorAll, как исправить?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    document.querySelectorAll('.menu-button') возвращает массив элементов, а не один элемент. В вашем случае нужно так:

    let buttons = document.querySelectorAll('.menu-button')
    buttons.forEach(btn => {
         btn.onclick = () => {...}
    });


    Или другой вариант для вас, вам нужно использовать не document.querySelectorAll('.menu-button'), а
    document.querySelector('.menu-button').onclick = () => { ... }
    Ответ написан
  • Автоматическая генерация классов на основе других классов?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Смотрите в сторону System.Reflection
    Ответ написан
    Комментировать
  • В какой программе лучше делать верстку сайта?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Верстать лучше в VS Code, т.к. вы можете накинуть туда много плагинов, которые очень сильно вам могут помочь в этом

    Для дизайна лучше используйте Figma
    Ответ написан
    Комментировать
  • Как исправить ошибку при подключении библиотеки?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Если я не ошибаюсь, когда вы делаете npm install с использованием символа @, вы устанавливаете часть библиотеки, а не всю библиотеку
    Ответ написан
  • Как использовать аттрибут for для частичного предстваления asp.net core?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Да, только вам для этого нужно юзать эту конструкцию:

    @await Html.PartialAsync("_partialNameWithoutExtension", new ModelForPartialView())
    Ответ написан
  • Как задать плееру автоматическое воспроизведение при нажатии на сылку?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Попробуйте вот такую комбинацию с помощью JS:

    <video id="myVideo" autoplay>
              <source src="your_video.mp4" type="video/mp4">
         </video>


    document.getElementById('myVideo').play();

    А для модалок вот так:
    <a href="#" onclick="openModal()">Открыть видео</a>
    
    <!-- Модальное окно -->
    <div class="overlay" id="video1">
        <div class="modal">
            <div class="video__title">
            </div>
            <div class="video" id="youtube">
                <iframe width="640" height="360" id="player" src="https://www.youtube.com/embed/J32MrXDK6oI?version=3&enablejsapi=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
            </div>
            <a href="#" onclick="closeModal()" class="close">Закрыть</a>
        </div>
    </div>
    
    <script type="text/javascript" src="http://www.youtube.com/player_api"></script>


    var player;
    
        function onYouTubePlayerAPIReady() {
            player = new YT.Player('player', {
                events: {
                    'onReady': onPlayerReady
                }
            });
        }
    
        function onPlayerReady(event) {
            event.target.playVideo();
        }
    
        function openModal() {
            document.getElementById('video1').style.display = 'block';
        }
    
        function closeModal() {
            document.getElementById('video1').style.display = 'none';
            player.stopVideo();
        }
    Ответ написан
    Комментировать
  • Как поменять цвет окна браузера?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Дааа... )

    Это кто-то из Google такой код писал. Там на главной странице (Новой вкладке браузера) снизу справа (Если у вас та версия) есть кнопочка в форме карандаша. Там меняете как хотите и что хотите
    Ответ написан
  • Как верно сделать адаптивную загрузка видео в зависимости от ширины экрана?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Это + это. Далее запускаете проект и смотрите, будет ли оно работать или нет...

    На крайняк берёте олдовый метод с блокнотом (Надеюсь, он у вас есть), закидуете туда html раметку, меняете расширение на .html (Только сначала документ нужно будет закрыть) и открываете БРАУЗЕРОМ

    Вот вам, два способа проверить вашу интуицию, будет ли эти ЧЕТЫРЕ строчки работать так, как вы думаете или нет
    Ответ написан
  • Как запустить проект через dotnet watch run нужный мне профиль?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ну что ж, начнём...

    1) Делаем сборку Release
    2) Переводим проект в среду Production
    3) Делаем publish
    4) Запускаем проект через консоль (Для линукса делаем сервис)
    Ответ написан
  • Почему степенной ряд оканчивается NaN?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Во-первых, код нужно предоставлять в специальном блоке
    Во-вторых, где вывод? На какой итерации у вас получается NaN? На 0-й? На 1-й?
    
    Во-третьих, когда диапазон допустимых числе double превышается, вы  получаете NaN (Скорее всего в этом и проблема)
    Ответ написан
    Комментировать