Задать вопрос
  • Хорошее ли решение разделение таблиц юзер и роли?

    @alexalexes
    Вы выделили в системе два класса сущностей. Одна - Пользователь, вторая - Роль.
    Под каждый класс нужна отдельная таблица.
    Как определить какие взаимоотношения между этими классами?
    Нужно примерить следующие коммутативные гипотезы:
    Первая пара гипотез:
    "Один пользователь должен (может) иметь только одну роль."
    "Одна роль должна (может) быть назначена многим пользователям."
    Вторая пара гипотез:
    "Один пользователь должен (может) иметь несколько ролей."
    "Одна роль должна (может) быть назначена многим пользователям."
    Если в вашей архитектуре системы справедлива первая пара гипотез, то вы строите взаимоотношение между классами Роль и Пользователь как "один ко многим". Это значит, что у таблицы Пользователь будет внешний ключ в виде идентификатора роли, тем самым вы каждому пользователю сможете назначить только одну роль. Но сами роли могут повторятся у разных пользователей.
    Если в вашей архитектуре системы справедлива вторая пара гипотез, то вы строите взаимоотношение между классами Роль и Пользователь как "многим ко многим". Для этого нужно создать промежуточную таблицу, например Пользователь_и_роль, в которой будут два внешних ключа - идентификатор пользователя и идентификатор роли пользователя (можно, но технически нужно еще создать еще идентификатор первичного ключа, чтобы можно было корректно обращаться к записям этой таблицы, не путая их). В этом случае каждому пользователю можно выделить целый набор ролей, не ограничиваясь одной ролью.
    Ответ написан
    Комментировать
  • Как правильно верстать используя bootstrap?

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

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

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

    skypatcher
    @skypatcher
    Разработчик РЭА, программист, Data Scientist
    https://immers.cloud/

    Всё что, Вам нужно. Нужно удалять машину, чтобы не списывались денежки, поэтому рекомендую выбирать с виртуальным диском. Пашет хорошо. Цена в зависимости от GPU 20-100р в час.
    Ответ написан
    1 комментарий
  • Как подменить IP-адрес в curl запросе?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так ведь есть-же опция изменения заголовка --header, воспользуйтесь.
    То бишь
    curl --header "Host: sample-host-name.org" "http://1.2.3.4/index.html"
    Ответ написан
    1 комментарий
  • Как сделать поиск который понимает суть запроса?

    2ord
    @2ord
    Для этого необходимо, чтобы анализатор мог производить разбор частей речи языка, как минимум.
    Тогда анализатор будет понимать смысл речи и извлекать нужные компоненты.
    Есть технология NER.
    Ответ написан
    Комментировать
  • Как сделать поиск который понимает суть запроса?

    REZ1DENT3
    @REZ1DENT3
    web-developer
    Смотри в сторону томита парсера, который умеет извлекать семантику из предложения.
    Исходный код открыт: https://github.com/yandex/tomita-parser
    Пример простой семантики: https://github.com/yandex/tomita-parser/blob/maste...
    Ответ написан
    4 комментария
  • Как узнать длительность mp3- файла без чтения всего содержимого файла в Node.js?

    Stalker_RED
    @Stalker_RED
    В некоторых записях ОПЦИОНАЛЬНО может быть длительность в id3 тегах. И вы сами можете туда дописать, если у вас эти файлы не на один раз.

    Для записей с фиксированный битрейтом можно кол-во фреймов перемножить на битрейт.

    Для VBR, которых большинство, придётся смотреть длительность в каждом фрейме и суммировать.
    Ответ написан
    Комментировать
  • Как работать напрямую с базами данных из клиента?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Я делаю злой скрипт и подсовываю его вашему клиенту считываю host, port, name, user, password
    И угадайте в каких извращенных формах я надругаюсь над базой?
    Ответ написан
    2 комментария
  • Как tilda хостит сайты?

    @vitaly_il1
    DevOps Consulting
    Посмотрите на highscalability.com/blog/category/example - там есть разбор реальных архитектур. Tilda там нет, но есть например Wix - правда в эпоху до Docker. Но принципы те же.
    Ответ написан
    Комментировать
  • Как tilda хостит сайты?

    @Drno
    2 или более revers-proxy на входе. 2 записи DNS которые на них ведут
    2 или более одинаковых веб сервера. скорее всего подрубают отдельные конфиги nginx(доп конфиг) для каждого клиента. либо делают lxc контейнер (что может быть накладно)
    2 или более БД Master>Slave или Master>Master
    2 или более реплицируемых независимых хранилища, ceph или s3
    Ответ написан
    Комментировать
  • Есть ли смысл учить Golang если уже хорошо знаешь .NET?

    GavriKos
    @GavriKos
    В том что если завтра вас уволят, то сможете отзываться на более широкий пул вакансий.
    Ну и общий кругозор расширите конечно
    Ответ написан
    2 комментария
  • Есть ли смысл учить Golang если уже хорошо знаешь .NET?

    1. Из коробки компилируется в единственный, сравнительно компактный, бинарь без зависимостей от рантайма и окружения.
    (и без подводных, в отличие от full aot и assembly trimming)

    2. Сможешь рассматривать вакансии, где требуется Golang, если собираешься искать работу.
    3. Сможешь нанимать go-шников со всеми вытекающими, если будешь искать разрабов в свой проект.
    4. Если твой проект должен будет активно взаимодействовать, например, с kubernetes и прочими devops-штуками, то Go может быть чуть удобнее, тк практически все эти инструменты написаны на Go и для работы с ними имеются готовые библиотеки, которые, вероятно, будут лучше, чем их альтернативы для .NET.
    Ответ написан
    3 комментария
  • Какая должна быть нумерация релизов для сервисов?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Если сервис не обновляется, ему не нужно поднимать версию

    В целом версии ведутся по semver, через теги
    Ответ написан
    Комментировать
  • Что за формат ответа у ChatGPT по API?

    Maksclub
    @Maksclub
    maksfedorov.ru
    \n\n

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

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


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

    @alexalexes
    1. На десктопе рулят события мыши: mousedown - эквивалент touchstart, mousemove - эквивалент touchmove, mouseup - эквивалент touchend.
    2. Вместо множества точек касаний (пальцы) у вас одна точка - курсор мыши, поэтому свойства changedTouches в объекте события не будет.
    3. Тестировать, что окружение браузера имеет сенсорный экран, можно проверкой наличием доступного свойства любого события touch в window:
    if("touchstart" in window)
    {
      // работаем с сенсорными обработчиками
    }
    else
    {
      // работаем с мышиными обработчиками
    }

    4. Событие завершения управления элементом (touchend, mouseup) лучше вешать не на сам элемент item, а на его контейнер, который будет занимать всю ширину экрана (идеально, если это будет body). Логика обработки может застрять на обработчике move, если во время движения точка воздействия на объект убежит за пределы объекта.
    В определенных случаях могут выручить события mouseover/mouseout.
    Ответ написан
    Комментировать
  • Материал для изучение Fullstack?

    Sanes
    @Sanes
    Документацию читайте. На курсах не учат, а знакомят с предметом. Как только это поймёте, так сразу всё встанет на свои места.
    Ответ написан
    Комментировать
  • Какие книги либо материалы можно использовать для изучения фреймворка aiogram?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    aiogram - это маленький и примитивный фреймворк сам по себе. Для его изучения достаточно прочесть документацию. Но до этого надо изучить Python, asyncio, принципы работы сетей в целом и протокола http в частности, желательно базы данных, чтобы хранить состояние, алгоритмы, вроде конечного автомата, чтобы управлять состоянием, совсем хорошо ещë и понимать Linux, ведь на каком-то сервере вашему ПО надо будет работать.
    Ответ написан
    Комментировать
  • Зачем продают OEM-процессоры и рискованно ли покупать их?

    Зачем продают OEM-процессоры и рискованно ли покупать их?

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

    Например DNS может себе купить оптом много этих процессоров для собственных сборок, а излишек продать в розницу с небольшим дисконтом, по сравнению с BOX. При этом гарантия продавца будет по сути такая же.

    И нет, риски крайне малы (не больше, чем при покупке боксовых), если покупать у нормального продавца.

    Боксовый кулер мне не нужен

    А его сейчас в BOX и не кладут практически :)

    родная гарантия тоже особо не нужна

    У OEM процессоров гарантия ровно такая же, как и у BOX.

    Из-за чего они появляются и могут ли они быть хуже, чем боксовые?

    Появляются, повторюсь, из-за того что на них есть спрос среди сборщиков. Нет, они ничем не хуже боксовых.
    Intel изначально их и продаёт в крупных лотках. При покупке в магазине тебе даже могут иногда продать процессор с отломленным куском этого лотка, чтобы было удобнее нести)

    На фото лотки от райзена, но для интела примерно что-то похожее.
    119787-amd-ryzen-cpu-pictured-2.jpg
    Ответ написан
    9 комментариев
  • Как посмотреть что лежит в переменной?

    Stalker_RED
    @Stalker_RED
    Можно сделать так
    $dump = var_export($val, true);
    error_log($dump, 3, '/path/to/myLog.txt');

    Ещё лучше - научиться пользоваться дебаггером.
    Ответ написан
    Комментировать