• Как выделять чекбоксы зажатием на vue.js?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Как можно прикрутить это дело в vue, или как средствами vue подобное реализовать?

    Варианты разные есть - вы бы рассказали, для чего вам такое надо.
    Если совсем в лоб, то

    methods: {
      onMouseOver(e) {
        if (e.buttons) {
          e.target.checked = !e.target.checked;
        }
      },
    },

    <input
      type="checkbox"
      v-for="i in 3000"
      @mouseover="onMouseOver"
    >


    для каждого генерировать модель мне кажется не вариант

    Вполне себе вариант:

    data: () => ({
      checkboxes: Array(3000).fill(false),
    }),
    methods: {
      onMouseOver(e, index) {
        if (e.buttons) {
          this.$set(this.checkboxes, index, !this.checkboxes[index]);
        }
      },
    },

    <input
      type="checkbox"
      v-for="(n, i) in checkboxes"
      v-model="checkboxes[i]"
      @mouseover="onMouseOver($event, i)"
    >

    Работать, правда, будет заметно медленнее, чем без v-model (если чекбоксов много).
    Ответ написан
    2 комментария
  • Как добиться воспроизведения 8K видео в Unity?

    @Quiensabe Автор вопроса
    VR-разработчик
    Для тех кому интересен ответ на вопрос, а не советы сменить архитектуру или упражнения в остроумии - пишу к чему сам пришел на данный момент.

    Из опробованных мной ассетов и библиотек, лучший результат показал AVPro Video.
    Он умеет играть видео больше 4K используя аппаратные средства. На моей системе, 2*4K видео (стерео) - играет без проблем. Загрузка процессора ~40%, видеокарта ~30%.

    Таким образом, производительность этого решения на unity, в протестированном кейсе, - не уступает "нативным" решениям (из тестированных, плеер Virtual desktop, GoPro Player, Steam 360 Player).

    Если кто-то сможет добавить информацию по вопросу (а не о том, почему этот вопрос тупой) - буду очень благодарен. С выходов новых шлемов (например, Pimax) - качественные плеер станет большой проблемой. Так что решение вроде ямочного рендера - в любом случае необходимо, и рано или поздно появиться.

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

    Yertuwernat
    @Yertuwernat
    Кратко о себе: живу в России, не женат, характер
    Да!

    Это называется "веб-приложение"
    Ответ написан
    Комментировать
  • Как реализовать выбор чекбоксов зажатием мыши как в Яндекс Почте?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Зажимайте.

    UPD. Вынесено из комментариев:

    Есть ли способ для снятия чекбоксов таким же способом, если делать по аналогии выходит коряво ?

    вот аналогия и вот почему коряво
    https://codepen.io/sasha1998dmitalex/pen/OZbyYo

    Ну, тут разные варианты есть...

    Можно выставлять чекбокс по левой кнопке, снимать по правой, типа так.

    Можно инвертировать состояние чекбокса по событию mouseover, типа так.

    Можно выставлять чекбоксы по зажатой кнопке мыши, а убирать по зажатой кнопке мыши + зажатой клавише ctrl, типа так.
    Ответ написан
    7 комментариев
  • Как назвать таблицу подписок в базе данных?

    pavelkarinin
    @pavelkarinin
    Full Stack Web Developer
    Буквально два дня назад делал такую же назвал так: subscriptions
    UPD: название должно отражать или как минимум намекать на содержание
    Ответ написан
    1 комментарий
  • Что делать с жалобой на торрент-клиент от хостинг-провайдера?

    hostmaster
    @hostmaster
    DevOps Engineer
    Любой кто участвует в раздаче bittorrent видит IP адреса всех активных участников, это используют компании нанятые правообладателями. Они подключаются с раздаче, собирают IP адреса и/или сохраняют часть сетевого трафика с этих IP для возможного доказательства в суде. Зачем они начинают писать жалобы провайдерам и шантажировать пользователей, так в некоторых европейских странах это грозит серьезным штрафом.

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

    Поэтому внимательно читаем правила использования и проверяем репутацию провайдеров. Проверяем разрешено ли использование bittorrent и что провайдер будет делать при получении DMCA notice. Не гонимся за дешевизной.

    На вопрос что делать. Предположим вы в России, правообладатель скорее всего нет, где провайдер VPN не очень важно. Тогда Вам практически ничего не грозит, вы вне их юрисдикции. Подавать на Вас в местный суд долго дорого и бесперспективно, по этому лучше бы Вам все отрицать. Провайдер может Вас сдать, однако вряд ли будет это делать без решения суда иначе это серьезное нарушение защиты персональных данных. Максимум на что они пойдут это отключат Ваш аккаунт. Поэтому "нет не качал, не знаю, не видел, не в курсе вообще о чем вы"
    Ответ написан
    Комментировать
  • Откуда выскакивает бесконечность?

    @Codebaker
    Всё умею, всё могу!
    var m_1 = 0

    while (m_1 <= 10){
    if (m_1 === 3){
    m_1 = m_1 + 1; // вы забыли изменить значение и оно "замерзло" на 3
    continue;
    }
    console.log (m_1+1)
    m_1 = m_1 + 1
    }
    Ответ написан
    Комментировать
  • Какие выбрать технологии для написания такого интернет магазина?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    html, css, javascript, немного php.
    Ответ написан
    Комментировать
  • Как передать роуты из Laravel в VUE.js?

    @ciedooy
    Ответ написан
    Комментировать
  • Самообразование, веб-разработка. Как выйти из тупика?

    @spaceatmoon
    Скажу прямо - ваш таймер отстой. 300 строк кода непонятно чего. Ну 60 строк, ну 80, но блин 300?

    Изначально я нацелен на серверную часть

    И что вы предприняли
    Ведь по хорошему да же разработчику клиентской части необходимо знать серверную часть.

    Так, мы про вашу цель говорим или про чью то чужую? И если вам так угодно, то вообще ни разу. Вы можете к примеру скачать OpenServer и сделать для каждого запроса отдельный php файлик, который будет вам отдавать статику. К примеру так.
    <?php
    echo json_encode(['firstname => 'Иван', 'lastname' => 'Иванов']);

    Как видишь, тут больше от тебя как фронтендеру ничего не требуется.

    обучаюсь около года. В среднем получается 1.5 часа в сутки

    Не хочу хвастаться, но я php почитал 2 недели на w3school на лавочке в деревне перед работай и всё. А до этого я всего лишь работал верстаком несколько месяцев, тут я конечно дольше попотел. Исходя из этого мне кажется вы просто боитесь идти работать по серьезному. Сколько можно в девках бегать?

    Изначально я нацелен на серверную часть.

    А теперь медленно вдыхаем и выдыхаем frontend из лёгких. Наступает чувство успокоения. Слышишь как куллер бп сервера жужжит? Нет? А он жужжит. Good luck.
    Ответ написан
    Комментировать
  • Какую взять ORM для своего проекта?

    @D3lphi
    Возьмем ORM из двух популярных PHP-фреймворков. Первая будет Eloquent ("Родная" для фреймворка Laravel), а вторая - Doctrine (Одна из доступных ORM в фреймворке Symfony). Кардинальным отличием этих двух "систем" является то, что первая разработана на основе паттерна Active Record, а вторая - с использованием паттерна Data mapper. Чем же они отличаются? Приведу абстрактные примеры кода для первого и второго паттерна:

    Active Record:
    $user = new User(); // Создаем "сущность" нового пользователя.
    $user->login = 'D3lph1'; // Устанавливаем его логин равным 'D3lph1'.
    $user->password = '123456'; // Устанавливаем пароль этому пользователю.
    $user->save(); // Сохраняем пользователя.


    Все, новый пользователь создан и находится в базе данных. Теперь, Data mapper:
    $user = new User();
    $user->login = 'D3lph1'; // Устанавливаем его логин равным 'D3lph1'.
    $user->password = '123456'; // Устанавливаем пароль этому пользователю.
    
    $manager = ... // получаем объект менеджера (Например, из DI контейнера).
    $manager->persist($user); // "Скармливаем" новоиспеченного пользователя нашему менеджеру.
    // $manager->persis($user1); // Мы можем создать еще одного пользователя и уведомить менеджер об этом.
    // $manager->persis($user2); // И еще одного...
    $manager->flush(); // После выполнения этого метода данные отправятся в базу данных.


    Очевидно, первый способ куда проще. Но не все так просто. Дело в том, что паттерн Active Record нарушает принцип единственной ответственности (Single responsibility SOLID). И поэтому, в какой-то степени, может считаться антипаттерном. (Но это ни в коем случае не значит, что его не нужно использовать, для большинства проектов "хватит" за глаза). Наша сущность пользователя делает слишком много. Она не только представляет данные, но и еще работает с ними. В больших проектах это может усложнить поддержку кода. Data mapper, напротив же, разделяет представление данных в сущность (user) и работу с данными (manager, в данном примере. Также, за работу с данными отвечает репозиторий. Вы столкнетесь с ним, как только вам потребуется получить данные из БД (Doctrine)). В небольших проектах вы не заметите особой разницы. Разве что во втором случае увеличится количество классов. Так, в Eloquent вы создаете 1 модель, а в Doctrine - сущность и репозиторий.

    Все современные ORM включают в себя также, так называемые, query builder'ы. Они помогают отказаться от языка запросов, такого как SQL. Вы будете составлять запросы таким образом:
    $result = $qb
          ->select(['id', 'login'])
          ->where('id', '<>', 3)
          ->get();


    Собственно, query builder'ы помогают абстрагироваться от конкретной СУБД. То бишь, вы написали запрос 1 раз, а затем от того, какую СУБД вы используете будет зависеть выходной sql код. Генерация этого кода будет произведена абсолютно прозрачно для вас.

    Обе ORM имеют работать с отношениями. Вам нужно будет указать, как таблицы относятся друг к другу, а затем вы сможете удобно обращаться к связанным сущностям.

    Теперь конкретно. Так как вы только начинаете осваивать ORM, я бы порекомендовал начать с Eloquent. Она гораздо проще, чем Doctrine, да и более производительная, к тому же. Как освоите Eloquent, смело учитесь работать с Doctrine. Она обязательно должна быть "в копилке" ваших скиллов, так как является самой мощной в "мире" PHP.

    Успехов!
    Ответ написан
    2 комментария
  • Где могут оценить дизайн?

    longclaps
    @longclaps
    У Тёмы же.
    Ответ написан
    Комментировать
  • Как правильнее собрать вид с данными из нескольких моделей?

    @Yan-s
    Можно. Нет, не нарушите.
    Ответ написан
    Комментировать
  • Как правильнее собрать вид с данными из нескольких моделей?

    sabramovskikh
    @sabramovskikh
    По мне дак контролер и модель могут быть вообще никак не связанны. Из одного контролера можно вызывать множество моделей и это нормально.
    Ответ написан
    Комментировать
  • Docker, через phpmyadmin не удаётся зайти в mysql?

    xpert13
    @xpert13
    Full Stack Developer
    Проще всего будет пересобрать контейнер, как и советует Максим Федоров. Но так же, перед тем, как собирать контейнер - нужно удалить папку "../data/mysql" (или "../data/mariadb"), так как там хранятся настройки БД (в том числе и пользователей). Стоит учитывать, что в таком случае вы потеряете все данные, которые хранятся в БД.

    Если такой вариант не подходит - тогда нужно восстановить пользователей через консоль и не забыть им дать права на удаленный доступ (в колонке Host у пользователя должен быть %).
    Ответ написан
    3 комментария
  • Где правильнее записать, на какие вопросы уже ответил пользователь(сайт-викторина)?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    куки - доступное пользователю для редактирования хранилище. Хранить в нем какие-либо результаты плохая идея, я себе понапишу что все вопросы ответил верно и - профит, я - Илон Маск.
    В идеале - завести таблицу в бд, куда вносится просто рандомное генерированное число/хеш, этот же хеш хранится в куке пользователя. При заходе проверяется кука - если уже заходил - вытащить все результаты, если что-то решил - записать в базу по ключу из куки.
    Ответ написан
    1 комментарий
  • В каком файле описать добавление комментариев?

    colonel
    @colonel
    Разработчик PHP, Laravel
    Добавлять комментарии лучше через AJAX, без перезагрузки страницы.
    Да, можно в контроллере статьи, а уже метод контроллера должен передать в модель комментария данные.
    И возвращается в ответе сервера json.
    Да, и валидировать данные на сервере нужно обязательно (что не пустые, например, данные), на клиенте валидации недостаточно.
    Ответ написан
    1 комментарий
  • Как правильнее реализовать структуру БД для блога(комментарии)?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    Нормальный вариант, главное не забыть индекс по article_id замутить.
    Ответ написан
    Комментировать
  • Как правильнее передавать необязательные POST параметры в модель?

    Странный запрос на выборку из базы - зачем на каждую статью слать запрос? Можно выбрать все статьи через LIMIT и OFFSET.

    По вопросу - вариант 2
    При отсутствии необязательных параметров заменяем их значениями по умолчанию и передаем в модель.
    И получение параметров лучше убрать из конструктора т.к. зачастую методы экшены контроллера имеют разный набор параметров.
    Ответ написан
    1 комментарий