Задать вопрос
  • Почему в данном коде необходимо нижнее подчёркивание?

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

    Alexandre888
    @Alexandre888
    Javascript-разработчик
    в задании на входе вы получаете подобные массивы: ["3:5", "4:2", "8:7"]
    функция, передаваемая в .reduce(), имеет 2 обязательных параметра (accumulator, currentValue) и 2 необязательных (index, array).

    здесь .reduce((a, [x, _, y]) в качестве второго параметра (currentValue) выступает [x, _, y].

    если мы применим .reduce() к массиву, который я представил в самом начале ответа, в качестве currentValueбудут выступать следующие значения:
    • "3:5"
    • "4:2"
    • "8:7"

    далее, в действие вступает деструктурирующее присваивание, которое будет применено к каждому из элементов массива (по некоторым причинам оно работает и со строками).
    это можно интерпретировать как:
    // используется 1 элемент массива //
    let x, _, y;
    
    [x, _, y] = "3:5";
    /* x === "3", _ === ":", y === "5"  */
    
    // используется 2 элемент массива //
    let x, _, y;
    
    [x, _, y] = "4:2";
    /* x === "4", _ === ":", y === "2"  */
    
    // используется 3 элемент массива //
    let x, _, y;
    
    [x, _, y] = "8:7";
    /* x === "8", _ === ":", y === "7"  */

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

    вы можете заменить _ на любое другое валидное название переменной, чтобы убедиться, что оно не используется.
    или же, как в следующем примере, добавить запятую, чтобы проигнорировать это значение:
    let x, y;
    
    [x, ,y] = "5:3";
    /* x === "5", y === "3" */
    Ответ написан
    1 комментарий
  • Как найти совпадения по числам среди двух массивов php?

    Amega
    @Amega
    Senior PHP Developer
    Ну вообще array_intersect() как раз это и делает - возвращает пересечение массивов. И в данном случае он работает.

    <?php
    
    $massiv1 = ["1","13","47","48","60","67","3"];
    $massiv2 = ["3","1"];
    
    print_r(array_intersect($massiv1, $massiv2));

    Array
    (
        [0] => 1
        [6] => 3
    )

    Если смущают ключи в результирующем массиве (они соотв-ют дубликатам, но в первом указанном массиве), их можно убрать, дополнительно обернув результирующий массив в array_values()
    Ответ написан
    Комментировать
  • Как сверстать данную секцию?

    @123581321345589
    web-разработчик
    Думаю Вы сами решите, ответив на несколько вопросов:
    - нужен ли паралакс этих элементов?
    - будет ли меняться картинка внутри?
    - как это должно выглядеть на мобильных устройствах?
    - интересно ли Вам реализовать это стилями?
    - заплатят ди Вам за эту заморочку?
    Ответ написан
    Комментировать
  • Почему при указании в :nth-of-type числа не работает, но указание 2n работает?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что в nth-of-type указывается номер потомка относительно родителя.
    Ваш селектор .two div[id]~div:nth-of-type(2) читается как:
    1. Найти элемент с классом .two
    2. Внутри этого элемента найти div, имеющий атрибут id.
    3. Среди следующих за этим div'ом сиблингов найти div, являющийся вторым потомком своего родителя.
    Но такого div'а нет, поскольку div[id] сам является вторым потомком, а следующие за ним сиблинги - третий, четвёртый и т.д. потомки.
    2n работает потому, что оно берёт четвёртого и шестого потомков, второй также не подходит под селектор.
    Ответ написан
    Комментировать
  • Как сделать изменение цвета текста при скролле?

    RAX7
    @RAX7
    Ответ написан
    Комментировать
  • Почему одинаковая верстка и стили выглядят по разному на проде и на локальном сервере?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Очень вероятно, что дело в количестве контента. Взгляните на локальную версию - там же в скобочках много цифр дописано. Они же добавляют ширину кнопкам. Вёрстка банально не рассчитана на это и "плывёт".
    Попробуйте в инструментах разработчика почистить контент от цифр в скобках и взгляните на результат.
    Ответ написан
    Комментировать
  • Как сделать появляющийся header?

    RAX7
    @RAX7
    Ответ написан
    Комментировать
  • Удалить свойство или сделать его значение undifened?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    1) Не стоит вручную устанавливать undefined. Если значение нужно убрать - хорошая практика устанавливать null
    2) Не стоит использовать глобальные переменные без острой необходимости
    3) delete используют скорее не для обнуления значения, а для удаления свойства из объекта чтобы оно не участвовало в перечислении\не отправлялось на сервер и тд. Так что тут есть разница между delete и установкой undefined.
    Ответ написан
    Комментировать
  • Как организовать миграцию в laravel на production?

    Fragster
    @Fragster
    помогло? отметь решением!
    Не надо менять существующие миграции, надо только добавлять новые. Менять можно только до коммита в cvs.
    Ответ написан
    7 комментариев
  • Как организовать миграцию в laravel на production?

    vfreelancer
    @vfreelancer
    php
    каждое изменение бд - в новой миграции, старые нельзя менять. тогда на проде просто php artisan migrate - выполнятся только новые миграции (laravel ведет учет миграций в таблице migrations в бд)
    Ответ написан
    6 комментариев
  • Как установить Windows 98 на телефон?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Интересно, такие бредовые идеи возникают отчего? От нежелания хоть немного узнать, что из себя представляет "телефон" с точки зрения вычислительной техники или просто от модно-стильно-молодежности? Это примерно как дети спрашивают "А если взять атом величиной с дом?"

    Нет, малчик, нЭльзя. нЭ тот архитектура.

    Хотя путь джедая конечно же есть. Найти исходники, перекомпилять под нужную архитектуру, написать драйвера, написать загрузчик - делов-то...
    Ответ написан
    Комментировать
  • Как сделать клонирование файлов с репозитория GitHub в новый проект?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Комментировать
  • Стоит ли вникать в разработку eCommerce приложений в 2022?

    DevMan
    @DevMan
    стоит.

    если боишься конструкторов, переставай дышать - ведь есть роботы.
    Ответ написан
    Комментировать
  • Почему в cacl не работает деление между vh и vw?

    Lynn
    @Lynn
    nginx, js, css
    Читаю доки вслух и с выражением:

    https://developer.mozilla.org/ru/docs/Web/CSS/calc

    /
    Деление. Делитель должен быть <number>.


    100vw это не <number>.
    Ответ написан
    Комментировать
  • Как скрыть кнопки слайдера и некоторые элементы на странице при переходе на определенный слайд?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    У слик слайдера есть документация в которой описаны события по клику на следущий/предыдущий слайд. Колбэк получает номер слайда, там же и делаешь что надо.
    Ответ написан
    3 комментария
  • Как прописать связь моделей Eloquent?

    iMedved2009
    @iMedved2009
    Не люблю людей
    public function teams(): BelongsToMany
        {
            return $this->belongsToMany(Team::class, 'team_assigned_users');
        }
    Ответ написан
    Комментировать
  • Зачем нужна инкапсуляция в ООП?

    DollyPapper
    @DollyPapper
    Инкапсуляция вообще является (ИМХО) главным принципом из 4. Инкапсуляция + абстракция. Вы не поняли её основную идею. Инкапсуляция это объдинение в одной сущности данных (не обязательно в общем-то) и действий которая эта сущность может предоставить. Инкапсуляция + абстракция представляю собой в общем более общий принцип - сокрытие информации/сложности, и один без другого не сильно то полезен. Не путать с модификаторами доступа (public, private и тд). Этот принцип идет скрозь всю историю развития языков программирования и собственно является главной движущей силой их развития. Вот пример из реальной жизни: есть у вас микроволновка. Она имеет +- 2 нопки: выставить время, выставить мощность. Это интерфейс микроволновки, который доступен конечному пользователю. Всё что вам нужно знать, чтобы приготовить себе похавать - 1)на какой мощности это хавать, нужно готовить 2) сколько это нужно делать по времени. При этом очевидно внутри микроволновки происходит та самая сложность, микросхемы гоняют электрический ток, магнетрон изучает электромагнитные волны, всякая разная физика происходит и вот это вот всё. Итого: вся эти физика и электротехника инкапсулирована в объект микроволновки (инкапсулирована так, что мы не можем добраться до её внутреннего устройства, это важно. Т.е. мы не можем сами соединить проводки, поменять электрическую цель, чтобы себе похавать сделать, разработчик этой электропечки не дал нам даже потенциальную возможность это сделать легально. Можно конечно разобрать устройство и проделать все эти манипуляции, но это уже это на совести того самоделкина, кто это делает). Итого: мы имеем интерфейс из двух кнопок и получаем от обьекта микроволновки услугу - приготовить пожрать. Как там внутри это реализовано, нам не важно. Это и есть инкапсуляция + абстракция = сокрытие информации/сложности.
    Более программистский пример: есть такая структура данных - Стек. Хотя по факту это не структура данных, а абстрактный тип данных. Советую этот термин загуглить, это важная составляющая в понимании ООП.
    Представим, что стек это такой обьект который предоставляет услуги, по типу как мы представляли себе обьект микроволновки. Что нам нужно знать про стек, чтобы им пользоваться? Публичный интерфейс. Т.е. есть класс Stack с публичными методами push(), pop(), viewTopStack() (посмотреть первый элемент стека, без его удаление из самого стека). Всё, можно пользоваться. Как он внутри эти элементы хранит, простой ли это массив, или связный список, на сколько эффективно он там внутри работает - нам не важно. Это важно тому, кто предоставил нам в пользование данный класс. Мы знаем, что вызвав viewTopStack мы посмотрим первый элемент стека, вызвав push - положим что-то в стек, вызвав pop получим первый элемент, удалив его из стека (по аналогии: мы знаем что чтобы притоговить пожрать, нужно выставить в микроволновке время и мощность, на выходе получив наше адово хрючево). Если подытожить - инкапсуляци + абстракция, (еще раз настою на том, что порознь их нельзя рассматривать, это две тесно связанные концепции которые имеют практический смысл только в синергии) это механизм борьбы со сложностью, не только в программировании, вообще везде, в любой человеческой деятельности. В этом их смысл. Если ваши абстракции плохие -> ваш код сложный -> ваш код плохой (говнокодом его еще называют в сообществе программистов).
    Почитать на эту тему можно следующее: Р.Мартин - Чистая архитектура (начать с глав про SOLID прицнипы), С.Макконел - Совершенный код (главу про классы обязательно, остальное желательно (очень желательно)), там в общем-то вам расскажут то что я вам сейчас рассказал, только более подробно, по больше примеров и дадут обоснование сложности, назвав борьбу с ней - Главным техническим императивом. Шлифануть это книгой банды четырех. Сами паттерны не обязательно начинать учить (да и рано вам еще), но вот введение и часть про программирование на основе интерфейса, а не реализации - самое оно, это дополнит картину.

    UPD: тот факт, что мы в классе стек собрали его функционал (функции pop,push,...) обьединенные одной общей темой и есть факт инкапсуляции.
    Ответ написан
    Комментировать
  • Зачем нужна инкапсуляция в ООП?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Зайдите в гараж. В одном углу сварочник и электроды , в другом верстак, там сверлилка и коробки со свёрлами, дальше коробка с метизами. Все упорядочено и не нужно далеко ходить. Это будет инкапсуляция. В другом все свалено вместе и метизы и свёрла и отвертки и ножовки. Прежде чем начать работу вы ищете инструменты и детали
    Ответ написан
    2 комментария