• Правильно ли будет использовать docker в Digital Ocean в продакшне?

    udjin123
    @udjin123
    PHP, Golang, React
    Опишу очевидные для меня преимущества на вскидку
    1. Одинаковое окружение на проде, на тесте и локальное для разработки
    2. Конфигурация окружения и конфиги под git
    3. Легко сменить сервис (php, mysql и т.д.) или запустить несколько разных версий

    На проде рекомендуется использовать volumes на локалке мапинг, случайно можно удалить и /var/lib/mysql, как говориться с дури можно и ч... сломать.
    Ответ написан
    1 комментарий
  • Можно ли выразить алгоритм в виде математической формулы?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Используйте функцию max.

    Значение в каждой ячейке будет
    max(0, (тукущее значение) - max(0, (платеж) - (сумма всех следующих ячеек)))


    Поскольку нужны будут все частичные суммы, то есть смысл в соседних ячейках подсчитать все эти суммы.
    Ответ написан
    Комментировать
  • PHP API & Next.js?

    miraage
    @miraage
    Старый прогер
    next.js из коробки поддерживает API роуты.
    https://nextjs.org/docs/api-routes/introduction
    Ответ написан
    7 комментариев
  • Symfony + React + SSR + SEO?

    crazy_leo
    @crazy_leo
    Frontend Developer
    1) У SPA приложений проблема с SEO присутствует, так как приложение строится не на сервере, а на клиенте. Т.е все приложение, как ты писал выше, находится в js скриптах и сервер - отдает пустую html страницу со скриптами и т.д. Но само содержимое приложения в этой странице нет, так как оно формируется, после того как загрузились скрипты.
    Получается, что поисковики видят пустую страницу без содержимого самого приложения.
    Единственно, пока что google поисковик научился ждать, пока загрузятся скрипты и соответственно пока не построится приложение. Но есть очень много других поисковиков, которые это делать не умеют (Яндекс поисковик, к примеру).
    Также плюс SSR в том, что страница быстрее появляется у клиента, так как оно строится как на клиенте так и на сервере. А без SSR, сначала отобразится пустая страница, потом загрузится скрипт и только потом отобразится само приложение. Но также рендеринг средних React приложений - это много вычислений, что на ноде очень плохо. (Но там можно делать свои хаки чтобы все работало шикарно)

    Поэтому ты должен сравнить плюсы и минусы!

    Если тебе хватает google поисковик и особо не нужно чтобы страница быстрее отображалась у клиента, то да можешь обойтись без SSR. (Конечно можешь использовать платные сервисы или какой либо виртуальный браузер, но это все гавно по сравнению с SSR. В этих решениях очень много минусов)

    Если этого всего необходимо, то придется реализовать SSR. Это не сложно. Главное понять суть React и некоторых его сопутствующих библиотек если они используются (styled-components, redux). (Я реализовал SSR за 60 средних строк. Там много чего предусмотрено)

    2) На нем можно создавать приложения, но я не использовал React Native и точно тебе сказать не могу. Но знаю что там, нету всего из коробки, если нужно будет что-то сложное, которого нет в React Native, то придется писать нативные модули под React Native. А так конечно можно его изучать и использовать.

    3) SPA - тренд, поэтому надо. Также это очень хорошая концепция в перспективе, убедился на практике
    Ответ написан
    Комментировать
  • Symfony + React + SSR + SEO?

    raoffonom
    @raoffonom
    React Native Developer
    1) Лучше SSR, если больше одной страницы. С Next.js SSR из коробки плюс можно использовать React-Native-Web.
    2) Можно и сложные, так как любой нативный модуль можно дописать при потребности и кинуть бридж в JS слой. За 3 года работы с ним не встречал не решаемых задач. React Native лучшее решение на рынке, так как большинство нативных модулей уже написаны и доступны в open source. А хейтят React Native обычно нативщики, которые отстали от жизни и технологичных трендов.
    3) Я понял что лучше не тратить время на сайты, а если и делать, то на react-native-web или еще лучше, но еще не пробывал react-native-dom
    Ответ написан
    4 комментария
  • Google search console странная статистика показов?

    gobananas
    @gobananas
    finishhim.ru
    1) Там же есть детальная статистика по запросам - выберите эту дату где всплеск и посмотрите по каким запросам были показы.
    2) Показы по контекстной рекламе здесь не отображаются.
    3) Для гугла что бы сайт лез в ТОП нужно по прежнему покупать ссылки, ну или получать их бесплатно
    В остальном без запросов сказать что-то нельзя.
    Ответ написан
    3 комментария
  • Проектирование БД электронного журнала?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Откровенно говоря, не совсем понятно чего Вы хотите добиться... Вернее, в чем именно проблема?

    При POST запросе первым делом удалять все данные по id студенту/предмету и потом записывать данные с запроса (получается 2 операции). В таком случае при неудачной записи данных, можно потерять все предыдущие данных об оценках, я думаю.
    Что бы ничего не потерялось "при записи" - есть "транзакции" (рекомендую с ними ознакомиться", но вкратце, суть такая - что либо операция будет выполнена полностью, либо она не будет выполнена вообще, т.е. произойдёт "откат" до того состояния, в котором данные были до начала транзакции).

    Заранее создать "пустые" записи без оценок в таблице для каждой даты с 1/09 по 31/05 (учебный год, 270 дней где-то). Но возникает проблема с оптимальностью использования БД, думаю пустых ячеек с оценками не должно быть.
    Я думаю так же (что пустых записей [про какие ячейки идёт речь - я пока не понял]) - быть не должно. Ещё я думаю, что плодить колонки в БД - тоже плохое решение, если в них нет реальной необходимости. MySQL (как и многие другие) поддерживает механизм "реляций" (по русски - "связей"), то есть позволяет связывать одни данные с другими и контролировать целостность (корректность) таких связей. То есть, Вы можете связать воедино многомерную модель данных, например студента, предмет, преподавателя, дату, оценку и так далее, при том, что предметы хранятся в одной таблице, преподаватели в другой, оценки с датами в третьей (и т.д.) а их совокупности - в N'ой (в данном случае, в 4-ой) таблице.

    Как уже верно заметил г-н. TheLostRoot, не стоит ориентироваться на кол-во операций, Вы пытаетесь оптимизировать что-то, но не с той стороны. Если у Вас много данных которые вставляются (хранятся), но доступ к ним осуществляется редко - есть специальные архивные таблицы, если Вам не нужен контроль целостности, связи, транзакции и т.д., а нужна скорость - есть MyISAM таблицы, если у Вас сервер не выдерживает нагрузку - есть такая штука как "мониторинг ресурсов" с целью выявления узких в его производительности, есть репликация и так далее.

    Оптимизируют обычно сложные запросы, в которых участвует множество таблиц/данных, а не простые INSERT/UPDATE/DELETE'ы. Проблема не в количестве операций как таковом (к тому же, при DELETE - физически данные с диска не удаляются, а отмечаются как "удаленные" [в MySQL и не только]), а в их "сложности" и производительности. Иными словами, не пытайтесь решить проблемы подобного рода "заранее", т.к. они возможно не настанут вообще никогда, гораздо разумнее правильно спроектировать БД, чем "нагородить огород" и "сэкономить 1 (условную) операцию". Ну и не забывайте про то, что InnoDB и его аналоги (а так же некоторые другие типы таблиц в MySQL) поддерживают транзакции.

    P.S. По возможности, всегда передавайте те данные, которые реально изменились, а не всё подряд. Например, данные о добавлении/изменении/удалении какой-то оценки, это сократит и бесполезную нагрузку на БД и позволит избежать "странных" ошибок в будущем (исключения конечно тоже бывают, но это не Ваш случай).
    Ответ написан
    2 комментария
  • Настройка multi-tenant приложения на хостинге?

    @mletov
    На многих шаред хостингах можно сделать так, чтобы несколько доменов ссылались на одну папку. Как правило, через их веб-интерфейс.
    Ну а там уже по ходу дела можно анализировать в коде или в .htaccess и подсовывать нужную логику в завизимости от домена.
    Yii тут особо непричем.
    Ответ написан
    2 комментария
  • Ввод данных из табличной формы в Yii2?

    @BorisKorobkov Куратор тега PHP
    Web developer
    Комментировать
  • Проектирование БД электронного журнала?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    Переписывать весь журнал - та ещё затея. С клиента передавать три массива - добавленные оценки, измененные, удаленные.

    И не помешает научится отмечать верные ответы в качестве решения.
    Ответ написан
    Комментировать
  • Проектирование БД электронного журнала?

    @TheLostRoot
    C# ASP.NET developer
    Не нужно тут ничего мудрить делай 3 операции и все. Не ориентируйся на количество операций. Смотри на стоимость их выполнения.

    При POST запросе первым делом удалять все данные по id студенту/предмету и потом записывать данные с запроса (получается 2 операции).

    Представь сколько за год у студента будет оценок и при каждом редактировании их все удалять? А если много пользователей начнут редактировать одновременно? Ждать пока каждый удалит все свои оценки, а потом опять запишет? Имхо дурацкий подход.
    Ответ написан
    1 комментарий