• Мне кажется или Map странно себя ведёт?

    @Scream034
    Новичок в разработке
    Это происходит потому, что в JavaScript массивы и объекты являются ссылочными типами данных, а не примитивными. Когда вы создаете массив key и добавляете его в Map, вы сохраняете ссылку на этот массив в качестве ключа. При попытке получить значение из Map по ключу [1, 2], вы создаете новый массив [1, 2], который уже не равен массиву key, сохраненному в Map. Поэтому вы получаете
    undefined. Верно объяснил?
    Ответ написан
    1 комментарий
  • Как организовать хранение своих наработок и полезных кусков кода, инструкций?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Шикарный сервис посоветовал akelsey

    Тем не менее, когда-то тоже столкнулся с такой задачей. Решением было сделать сайт на базе WordPress.
    Для меня это очень удобно, так как WP расширятся в любом направлении и поддерживает то, что мне нужно. Из перечисленного вами там уже есть готовые теги, категории и поиск. Так же база знаний для вас self-hosted, что бывает важно. Для форматирования кода есть готовые плагины. Часть статей можно сделать общедоступными, чтобы помочь другим. Подобные сайты вы наверняка находили в интернете уже уйму раз.

    Но вариант не из простых, конечно же. Больше как альтернатива. Конкуренцию с Notion или Joplin выдержать сложно.
    Ответ написан
    1 комментарий
  • Как организовать хранение своих наработок и полезных кусков кода, инструкций?

    akelsey
    @akelsey
    Использую joplin, есть на всех платформах, работает без сервера, один бинарь, локально либо синхронизироваться в облака, использует markdown, поиск.
    Ответ написан
    Комментировать
  • Как правильно верстать используя bootstrap?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    Как вообще задавать фикс значения используя бутстрап?
    Никак, он не для этого.

    Создавать свой класс? Нормально ли вообще создавать свой класс и юзать его в перемешку с версткой на bootstrap?
    Да, создавать, да, нормально.

    Если да, то как организовывать такие классы в файловой структуре, ведь они будут созданы только в том случае, если возможностей бустрапа не хватит.
    Добавляете файл /assets/css/style.css, подключаете после бутстрап.
    Ответ написан
    Комментировать
  • Как правильно верстать используя bootstrap?

    @alexalexes
    При использовании bootstrap вы не можете мыслить фиксированными шириной.
    У вас есть 12 колонок - 12 долей единиц ширины экрана, и есть с полдюжины разных размеров экранов.
    Самый маленький, малый, средний, большой и очень большой.
    И логика расстановки классов такая:
    "На большом экране и больше у меня слайдер будет шириной 6 из 12 колонок,
    на среднем 8 из 12 колонок,
    от малого и меньше 12 из 12 колонок".
    С этой логикой и навешиваете нужный набор классов на контейнер слайдера.
    JS код не должен фиксировать размер контейнера в пикселях, нужно ему позволить расширяться по bootstrap сетке.
    Ответ написан
    Комментировать
  • Зачем для кеширования использовать Redis, если можно сделать файловое кеширование?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Вы очень узко понимаете понятие кэширования.
    И забываете о том, что из кэша не только читают, но в него еще и пишут.
    в .php файлах эффективнее хранить не кэш, а какую-то статичную информацию, которая редко изменяется (скажем, только при деплое), и при этом общую для всех пользователей. При соблюдении этих условий кэширование в .php файлах вполне себе используется.

    Но понятие кэша гораздо шире. Кэшироваться может и специфичная для конкретного пользователя или запроса информация. В этом случае никаких .php файлов не напасешься.

    Кроме того, перезапись файлов - это не атомарная операция. И получать ошибку синтаксиса, пока файл еще не записался, а его уже инклюдят, никто не хочет.
    Плюс состояние гонки, когда два процесса пытаются записать в один и тот же файл.

    Еще одна причина, не главная, но все равно важная - масштабирование. Один сервис редиса можно использовать с несколькими инстансами РНР. Плюс сам редис можно масштабировать на несколько физических инстансов.
    Ответ написан
    Комментировать
  • Как присвоить класс тегу body?

    Stalker_RED
    @Stalker_RED
    // определяем есть ли элемент с классом .stories-slider-in
    const hasSlider = !!document.querySelector('.stories-slider-in');
    // переключаем .name в зависимости от hasSlider
    document.body.classList.toggle('name', hasSlider);
    Ответ написан
    Комментировать
  • Как перехватить все существующие типы исключений?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Если вы тупо не знаете, какие бывают типы исключений, то это легко исправить, посмотрев в документации.
    Там написано, что объекты исключений имеют иерархическую структуру, и самым общим предком является интерфейс Throwable.

    Отдельно следует отметить, что за использование try catch чтобы тупо написать "Получена ошибка" надо бить по рукам. Так никогда не надо делать. Это глупо и бессмысленно. РНР и сам прекрасно выведет и $e->getFile(), и $e->getLine(), и даже $e->getMessage(), и помогать ему в этом не надо.

    Исключение надо ловить только тогда, когда есть определенный сценарий обработки. Например, в случае, если test() выполнилась с ошибкой, то вызвать test2().
    Но главное - внутри блока catch ничего не выводить пользователю.
    Общением с пользователем должны заниматься только специально предназначенные для этого блоки программы. А не любая строчка, которой вдруг захотелось это сделать.

    Поэтому в данном конкретном случае ваша задача еще больше упрощается - не надо ловить вообще никакое исключение.
    Ответ написан
  • Как сделать минималистичную тему для слабого пк?

    @Drno
    Ничего менять ненадо. Все эти темы бесполезны и только мешают обычно.
    Выставьте как предлагают наилучшие быстродействие
    Ответ написан
    Комментировать
  • Как сделать генерацию страницы на сервере?

    Sanes
    @Sanes
    Установите CMS. Со своим велосипедом вы не скоро реализуете. Т.к. компетенции у вас ноль.
    Ответ написан
    Комментировать
  • Как вынести в отдельный файл кастомную директиву Vue 3?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    export default {
      // Когда привязанный элемент будет примонтирован в DOM...
      mounted(el) {
        // Переключаем фокус на элемент
        el.focus();
      }
    }
    Ответ написан
    Комментировать
  • Фреймворки, действительно ли важно?

    neuotq
    @neuotq
    Прокрастинация
    Самое важное это повторение уже сделанной работы.
    Фреймворки для вас это уже сделанная работа, которую не нужно повторять. Более того, если фреймворк популярный - это качественная работа, с высокой насмотренностью, известными проблемами и тп.
    И вот будет ли у вас такое же качество?
    Почитайте ещё про фактор автобуса - вас сбил грузовик/автобус, вы погибли. Что делать с вашим наследием, копаться в нём? Делать новое? Кто этим займётся?
    Отдельный вопрос что ваши штуки нужно будет другим людям специально изучать, если подключаться к проектам что вы ведёте или вели. И зачем это бизнесу? как найти людей которые знают ваши инструменты ваш подход?
    К примеру даже у крупных компаний проблемы с подобным: например движок EA frostbite, который они мучают и при наёме новых людей их нужно прям обучать обучать всем фишкам, костылям и тп. С UE, Unity таких проблем нет.

    Так что, если делаете лично для себя, само развитие и тп - это круто и праивльно, делать свои костыли, экспериментировать.
    Если вы делаете для кого-то другого - вы подставляете заказчика, подкладываете бомбу под бизнес. Которая может потом сильно затруднить развитие.
    Ответ написан
    7 комментариев
  • Что за формат ответа у ChatGPT по API?

    Maksclub
    @Maksclub
    maksfedorov.ru
    \n\n

    Это перенос строки
    в файле вы когда Enter нажимаете — происходит перенос каретки, а потом как в тексте это сохранить? Для этого используются спецсимволы, например \n для переноса строки. В html для этого есть теги, но не все в мире HTML, например ваш текст в блокноте или терминале или код в файле .py/.php, там переносы строки везде, не в одну строку же пишите

    Пример:
    "Hello!\n\nAre you here?"
    В отображении будет как:
    Hello!
    
    Are you here?


    Подробнее:
    Управляющие символы
    Ответ написан
    Комментировать
  • Как стилизовать список?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    нужно, чтобы строки при переносе начинались с отступом

    В свойстве list-style не нужен inside. Форматирование "с отступом" - это форматирование, которое применяется по умолчанию. Просто не меняйте то, что и так работает.
    Ответ написан
    Комментировать
  • Как проверить, выключены ли компьютеры?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поднята интересная проблема я считаю. Даже после успешного программного выключения надо проверить что какой-то зомби не был поднят своим хозяином в маске Гая Фокса волшебной командой Wake On Lan.

    В идеале надо не только обойти всех и осмотреть статус блока питания но еще и гарантировать что нет возможности его пере-поднять еще раз.

    P.S. Централизованное выключение с рубильника - вобщем-то правильное решение только надо проверить что нигде не пищат UPS-ники и нет ноутбуков на разрядке.
    Ответ написан
    1 комментарий
  • Как проверить, выключены ли компьютеры?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Большой рубильник на общее питание всех моноблоков. Гарантированное выключение одним движением.
    Ответ написан
    2 комментария
  • Как сделать, чтобы высота iframe была равна соотношению 16:9?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    пропорции 16:9

    Ну так:
    .whois-video {
        aspect-ratio: 16 / 9;
    }

    И да, это уже можно делать. Пора уже забыть эти хаки с padding.
    Ответ написан
    Комментировать
  • Есть ли список распространённых и общепринятых слов для именования переменных в PHP?

    vitaly_74
    @vitaly_74
    Может вы имеете ввиду кембриджский словарь существительных?
    Ответ написан
    Комментировать
  • Как Laravel «понимает» аутентифицирован пользователь или нет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Кука, отправленная клиенту, это всего лишь идентификатор сессии. На сервере с этим идентификатором связано хранилище (по умолчанию - файл для каждой сессии). В этом хранилище содержится связанная с сессией информация, в том числе и статус аутентификации/авторизации пользователя.
    Ответ написан
    1 комментарий
  • Laravel Relationships, не использовать left join, как заменить?

    neuotq
    @neuotq
    Прокрастинация
    Это классическая проблема N+1 запроса: при обращении к БД делаем лишних N запросов, хотя можно обойтись одним сразу.
    В Laravel она возникает из-за ленивой загрузки отношений по умолчанию, те при выборке данных модели из БД, отношения не выбираются. Чтобы этого избежать используется with (и его "друзья").
    //Выбрали все посты, данные только по ним
    $posts = Post::orderBy('created_at', 'desc')->limit(20)->get();
    foreach( $posts as $post )
    {
    //обращение к БД за данными по отношению user
      print_r($post->user);
    }
    
    //Два запроса
    // 1.Выбрали все посты, данные только по ним
    // 2. ПО айдишкам из данных таблицы постов, выбрали сразу все нужные из user
    $posts = Post::orderBy('created_at', 'desc')->with('user')->limit(20)->get();
    foreach( $posts as $post )
    {
    //обращение к БД за данными по отношению user НЕ происходит, данные уже есть и скомпонованы
      print_r($post->user);
    }

    Советую читать документацию,
    так же самые распространенные подводные камни с N+1 https://laravel-news.com/laravel-n1-query-problems
    Ответ написан
    1 комментарий