Задать вопрос
  • Как установить 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 комментария
  • Как получить название категории в requests laravel?

    vfreelancer
    @vfreelancer
    php
    из request никак, так как вы не передаете название в форме. можно сделать запрос Category::find($request->category_id)->name в контроллере.
    и другой способ передавать name в форме через hidden-поле input (заполнять его javascript-ом при выборе категории в select)
    Ответ написан
    1 комментарий
  • Как плавно изменять width: N% с помощью js?

    DanArst
    @DanArst Куратор тега CSS
    Гриффиндор в моде при любой погоде!
    document.getElementById('loader').animate({width: '100%'}, 500);
    Ответ написан
    Комментировать
  • Как правильно создать таблицу sql?

    @tukreb
    Таблицы делают через миграции, как и все важные манипуляции со схемой бд
    https://laravel.com/docs/9.x/migrations
    Ответ написан
    Комментировать
  • Как соединить mysql + laravel без openserver?

    Если у вас Windows, то нужно поставить MySQL Server (https://dev.mysql.com/get/Downloads/MySQLInstaller...) в .env настройках Laravel прописать 127.0.0.1 как хост базы данных. При установке сервера mysql вы также укажите логин и пароль, их тоже нужно прописать в .env. Порт стандартный 3306.
    Но лучше установить Docker и развернуть в нем контейнер с mysql. (инструкций в интернете достаточно)
    В крайнем случае, если вы только учитесь, подключите к Laravel базу SQLite в виде файла. Она не требует установку дополнительных программ и серверов.
    Ответ написан
    1 комментарий
  • Отличия GET от POST?

    vabka
    @vabka Куратор тега Веб-разработка
    Два главных отличия:
    1. У GET-запроса нет тела (как правило, но в теории никто не запрещает отправить с телом).
    А у POST как правило нет query-параметров, но в принципе никто не запрещает одновременно указать и их, и тело
    2. GET-идемпотентный, в отличие от POST.
    Если ты отправишь два одинаковых идемпотентных запроса, то ничего не изменится-это безопасно.
    И этим свойством пользуются браузеры и всякие прокси, которые в случае каких-то сетевых ошибок тихо отправляют идемпотентные запросы повторно.

    Кроме GET есть ещё PUT и DELETE, которые тоже идемпотентные


    Есть ли какая-то информация на этот счёт?

    Всё это описано в википедии в статье об HTTP


    И каким образом ссылку site/?page=2 можно отправить методом POST?

    Через curl или через форму
    Ответ написан
  • Что делать если ширина макета 1440 px, а мне для верстки этого замало?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    эта белая полоса должна быть по обе стороны одинаковая) т.е. то что в макете - должно быть по середине страницы.
    вот пример, где вместо 1180px представь что там 1440px:
    mcmn5-hexemty-4_bthwlff-r3u.gif
    Ответ написан
    1 комментарий
  • Как вывести сообщение ->with('success') laravel?

    vfreelancer
    @vfreelancer
    php
    в файле views/products/index.blade.php должен быть код:
    @if(session()->has('success'))
    {{ session()->get('success') }}
    @endif
    Ответ написан
    Комментировать
  • Как исправить warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    но я же хочу через RedBean подключение к БД
    И кто Вам мешает. Почитайте документацию RedBean в части взаимодействия с базой данных
    Ответ написан
    Комментировать
  • Как лучше подключать scss bem блоки?

    neuotq
    @neuotq
    Прокрастинация
    У вас немного напутанно в концепции БЭМ
    Вы либо убираете с той кнопки стиль .button
    Либо у вас для кнопки в карточке у кнопки в классах должно быть нечтно такое:
    .button .button_card, те у вас модификация элемента button, если вы уж хотите развивать от центрального button.
    Тогда в своём src/modules/card.scss (если следовать вашей структуре)
    .card {
    /* */
    }
    .button {
        &_card {
            width: 100%;
        }
    }

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

    @linesb
    Это называется sticky menu. Можете использовать какой нибудь плагин для этого. Если хотите научится самим делать этого вот пример где это описано.
    Ответ написан
    Комментировать
  • Почему не считывается value инпута?

    black1277
    @black1277
    Вольный стрелок
    Вы считываете значения инпута однократно, в момент выполнения функции test. Для того чтобы это работало как вы хотите - нужно вешать обработчик на инпут, реагирующий на изменение значения в нем
    let test = () => {
    let inp = document.querySelector('input')
    let warn = document.createElement('div')
    let att = inp.getAttribute('value')
    inp.id = 'inpId'
    let inpId = document.getElementById('inpId');
    inpId.addEventListener("input", ()=>{
    if (inpId.value > 3) {
        warn.style.display = 'none';
    }
    })
    warn.classList.add('hi');
    warn.innerHTML = 'Тестовая штука';
    inp.insertAdjacentElement('afterend', warn);
    }
    test();

    ну и скрипт должен располагаться ниже инпута в потоке html
    Ответ написан
    1 комментарий