• Построение концептуальной модели автозаправочной станции?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Все уже написано до нас
    https://solutions.1c.ru/catalog/azs-office-mod/mat...

    Ну если хотите конечно то на заправке не так уж и много сущностей.

    Итак есть набор колонок. Есть набор топлива, есть количество цистерн с топливом.
    Есть бонусы.

    Итак ваши таблицы

    Пользователи
    Топливо
    колонки
    скидки
    танки
    Ответ написан
    Комментировать
  • Зачем нужен Null в MySQL?

    Markus_Kane
    @Markus_Kane
    Full-stack developer (Symfony, Laravel, Vue.js)
    Для числового поля разница в том, что 0 может быть результатом арифметической операции, в то время как NULL говорит о том, что значение просто не было указано.
    Аналогично - для пустой строки и других типов данных.
    NULL как свойство поля читается как NULLABLE - т.е. значение для данного столбца необязательно для указания.
    Ответ написан
    2 комментария
  • Как в laravel использовать 2 гуарда для одного маршрута?

    Frostealth
    @Frostealth
    Backend Developer
    Указать нужные guards при указании middleware в параметрах.
    Route::middleware('auth:api,web')->get('/some_page', 'SomeController@api');
    Ответ написан
    1 комментарий
  • Влияет ли различные кодировки таблиц на производительность MySQL?

    @Akina
    Сетевой и системный админ, SQL-программист.
    если в базе mysql (версия 5.7) часть таблиц в utf8mb4_general_ci, а другая в utf8_general_ci

    :facepalm: Это не кодировки! Это COLLATION - набор правил для сравнения строковых значений.

    Хотя справедливости ради следует сказать, что возможные COLLATION определяются использованным CHARACTER SET. А для показанных значений они различны - utf8mb4_general_ci указывает на UTF8MB4, а utf8_general_ci на UTF8, который для этой версии СУБД является алиасом UTF8MB3.

    Влияет ли это как-то на производительность mysql?

    Если выполняется сравнение строковых значений (либо иная обработка таких значений в пределах одного выражения) с указанными CHARSET/COLLATION - несомненно, поскольку перед сравнением как минимум одно из значений должно подвергнуться конвертированию CHARSET, а это ресурсы.

    Если нет - то на производительность именно СУБД это влияет слабо. Заметное влияние будет при прогреве кэшей, а также в случае ну очень объёмных таблиц.

    Плюс гарантированное преобразование финального набора записей при несовпадении CHARSET поля и клиентского соединения.
    Ответ написан
    2 комментария
  • Как постоянно получать данные с БД?

    @rPman
    Использовать базу данных как источник событий - плохая идея, т.е. это возможно, разные базы данных предлагают для этого разные инструменты, типа sqlite notifications, postgres notify, у mysql точно видел как мониторили изменения читая binary logs напрямую, в любом случае это извращения.

    У тебя уже должен быть процесс, обслуживающий websocket и обрабатывающий все действия клиентов, пусть этот процесс и делает необходимые манипуляции на приходящие события либо отправляет сообщения по другим каналам. Т.е. база данных это только место для данных, человек отправил сообщение, бакэнд это сообщение обработал, положил данные в базу данных и дернул метод/послал сообщение что в базе появилось сообщение с таким id (или как тебе удобно), вторая часть бакэнда это сообщение получает, читает данные из базы и обрабатывает дальше (лично я считаю разделять на разные процессы это бессмысленно но мало ли какая у тебя задача)
    Ответ написан
    Комментировать
  • Как получить второй id из url?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    Просто добавьте все параметры которые есть в роуте.
    Используйте биндинг, что бы сразу в параметре получить объект.

    public function productPage(Category $category, Product $product){
        // $currentProduct = Product::find($product); это уже не нужно
        // В переменной $product уже будет объект
        return view('product', compact('product'));
    }
    Ответ написан
    Комментировать
  • Есть ли альтернатива 1С-Битриксу?

    Adamos
    @Adamos
    Нет альтернативы Битриксу.
    Второй такой системы просто нет.
    Это ответ на тот вопрос, который вы задали.

    А вот на тот вопрос, который вы не задали - да на чем угодно можно сделать магазин, Битрикс в этот список вообще включать не стоит.
    Ответ написан
    3 комментария
  • Какой MacBook выбрать для Data Science/Machine Learning/AI?

    Maksim_64
    @Maksim_64
    Data Analyst
    Если речь идет об обучении, так сказать основы первое знакомство, то ты не будешь работать с объемами данных, требующих больших ресурсов. Все обучающие модели, будь то классические алгоритмы или нейронные сети, запускаются на обычных ноутбуках.

    Когда же речь идет о чем то требующем ресурсов (на обучающем этапе), то есть kaggle или colab. Кончено, kaggle получше будет. Тренировка модели будет производится удаленно. Предоставляемых бесплатно ресурсов хватит с головой.

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

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Надо погуглить ошибку.
    И прочесть, что для использования сервиса удаленными компьютерами надо разрешить входящие соединения к этому сервису на файрволле.
    Ответ написан
    Комментировать
  • Почему конфиг Mysql пустой?

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

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    {!! !!}
    Раздел документации называется зе бейсикс aka основы, почему бы вам с ним не ознакомиться?
    Ответ написан
    1 комментарий
  • Как оптимально сделать выборку из БД?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Применительно к данной конкретной задаче:
    • СУБД предназначена для хранения и обработки массивов данных.
    • ЯП предназначен для обеспечения пользовательского интерфейса этого процесса и управления им.


    По-моему, выбор стороны для проведения обработки очевиден.
    Ответ написан
    Комментировать
  • Почему колонка типа date показывает фантастические данные?

    Melkij
    @Melkij
    PostgreSQL DBA
    Ох этот древний ужас не strict режима mysql.

    Вы зачем в поле даты пытаетесь вставить строку NOW()? Какая это дата должна быть и почему вам не нравится 1899 год?
    INSERT INTO messages(name, content, date) VALUES('${user.name}', '${user.content}',NOW())
    Ответ написан
    9 комментариев
  • Почему колонка типа date показывает фантастические данные?

    Потому-что, нужно так:
    INSERT INTO messages(name, content, date) VALUES('${user.name}', '${user.content}', NOW())

    Ну и учтите, что date и datetime - это разные типы.
    Ответ написан
  • Так КАКАЯ математика нужна для работы с базами данных???

    @rPman
    хватит школьных знаний

    Да, когда говорят про реляционную алгебру, мыслят категориями математического анализа, но знаний особых тут не нужно, достаточно просто запомнить (если честно, серьезно углубляться в такую математику нужно разработчикам серверов баз данных, когда начинаешь это дело оптимизировать, не забывая про доказуемую корректность, обывателю же это не надо)
    Ответ написан
    Комментировать
  • Как лучше обращаться к базе?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Если рассматривать аналогию с php, то там каждый запрос отправляется с новым подключением к базе.
    Это не так. Соединение открывается на все время выполнения скрипта, и закрывается автоматически по завершении работы всей цепочки вызовов. В процессе, одно соединение может выполнить стопицот запросов.

    На сколько целесообразно "пытаться" держать соединение, или все же просто по аналогии с php?
    Вот тут точного ответа не дам, однако в пхп стараются избегать персистент соединения, так как пул соединений не бесконечный, и чем быстрее закроется соединение, тем быстрее можно освободить очередь для открытия нового, таким образом с небольшой задержкой можно обслужить очередь из сильно превышающей пул очереди. А с одним соединением начинается жонглирование запросами внутри 1 соединения, что приводит к блокировке кучи пользователей пользующихся 1 соединением с бд, вместо локально тормозящего 1 юзера в случае открытия/закрытия...

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

    Sanes
    @Sanes
    Делать запрос раз в секунду. Например через JS (polling/long polling/sse). Или делать запрос по событию. Например пришли данные, делаем новый запрос.
    Но это костыль. Слишком маленький интервал. Попробуйте осилить вебсокеты.
    Ответ написан
    2 комментария
  • Защита данных в API?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Здравствуйте, существует проблема защиты данных клиентского приложения передаваемых серверу и обратно.
    Какая конкретно проблема?

    как защитить данные?
    От кого?

    Можно ли использовать HTTPS
    Разрешаю, можно.

    и как это сделать
    На сервере ставите сертификат, в клиенте прописываете урл апи с https.

    или же нужно создавать свои модули шифрования под сессии?
    Если приложение передает критические данные (например банковские транзакции или шпиёнские документы), можно использовать сквозное шифрование с какими-нибудь убердлинными ключами, однако перехват ключей при хэндшейке при атаке митм никто не отменял. Впрочем, как и в случае с хттпс.
    Ответ написан
    Комментировать
  • Может ли MySQL глючить?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Все работает в 99% нормально, но иногда проскакивает выдача другой строки, не с таким полем, по которому ищем.
    Это просто значит 99% проблема в коде. Логируйте в файл запрос, параметры и результат выполнения, скорее всего логика работает не так как вы задумали. Как только словите ошибку - смотрите свой лог, наверняка запрос будет отличаться от ожидаемого.
    Ответ написан
    2 комментария